当前位置:文档之家› 数字信号处理课程设计

数字信号处理课程设计

数字信号处理课程设计院系:电子信息与电气工程学院专业:电子信息工程专业班级:电信班姓名:学号:组员:摘要滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。

利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。

课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。

通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现。

在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。

通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。

关键词数字滤波器MATLAB 窗函数法巴特沃斯目录摘要 (1)1 引言 (1)1.1课程设计目的 (1)1.2 课程设计内容及要求 (1)1.3课程设计设备及平台 (1)1.3.1 数字滤波器的简介及发展 (1)1.3.2 MATLAB软件简介 (2)2 课程设计原理及流程 (4)3.课程设计原理过程 (4)3.1 语音信号的采集 (4)3.2 语音信号的时频分析 (5)3.3合成后语音加噪声处理 (7)3.3.1 噪声信号的时频分析 (7)3.3.2 混合信号的时频分析 (9)3.4滤波器设计及消噪处理 (10)3.4.1 设计IIR和FIR数字滤波器 (10)3.4.2 合成后语音信号的消噪处理 (13)3.4.3 比较滤波前后语音信号的波形及频谱 (13)3.4.4回放语音信号 (15)3.5结果分析 (15)4 结束语 (15)5 参考文献 (16)1 引言1.1课程设计目的(1)学会MATLAB的使用,掌握MATLAB的程序设计方法;(2)掌握在Windows环境下语音信号采集的方法;(3)掌握数字信号处理的基本概念、基本理论和基本方法;(4)掌握MATLAB设计IIR滤波器和FIR滤波器;(5)学会用MATLAB对信号进行分析和处理。

1.2 课程设计内容及要求选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计IIR和FIR数字滤波器,并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。

1.3课程设计设备及平台1.3.1 数字滤波器的简介及发展数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。

因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。

从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。

滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。

相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。

同时DSP处理器的出现和FPGA的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。

数字滤波器具有以下显著优点:精度高:模拟电路中元件精度很难达到10-3,以上,而数字系统17位字长就可以达到10-5精度。

因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。

[1]灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。

可靠性高:因为数字系统只有两个电平信号:“1”和“0”,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。

并且数字滤波器多采用大规模集成电路,如用CPLD或FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。

易于大规模集成:因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格。

因此产品的成品率高,价格也日趋降低。

相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。

比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。

并行处理数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理器来实现并行处理。

在很多实际应用中如语音和音频信号处理中,数字滤波器来实现选频功能。

因此,指标的形式应为频域中的幅度和相位响应。

1.3.2 MATLAB软件简介20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。

1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB 推向市场。

到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。

MATLAB是矩阵实验室(Matrix Laboratory)之意。

除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,工具包又可以分为功能性工具包和学科工具包。

功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。

学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

MATLAB具有许多的优点比如:语言简洁紧凑,使用方便灵活,库函数极其丰富;MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性;程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行,等等优点。

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。

附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。

(1)MATLAB常用基本数学函数:abs(x):纯量的绝对值或向量的长度、angle(z):复数z的相角(Phase angle)、sqrt(x):开平方、real(z):复数z的实部、imag(z):复数z的虚部、conj(z):复数z的共轭复数、round(x):四舍五入至最近整数、fix(x):无论正负,舍去小数至最近整数、floor(x):地板函数,即舍去正小数至最近整数、ceil(x):天花板函数,即加入正小数至最近整数、rat(x):将实数x化为多项分数展开、rats(x):将实数x化为分数表示、sign(x):符号函数(Signum function)。

当x<0时,sign(x)=-1;当x=0时,sign(x)=0;当x>0时,sign(x)=1。

rem(x,y):求x除以y的馀数gcd(x,y):整数x和y的最大公因数、lcm(x,y):整数x和y的最小公倍数、exp(x) :自然指数pow2(x):2的指数、log(x):以e为底的对数,即自然对数或、log2(x):以2为底的对数、log10(x):以10为底的对数sin(x):正弦函数、cos(x):余弦函数、tan(x):正切函数。

[3](2)MATLAB作图语句:一维数组即一个行向量或列向量的作图用“plot”命令画。

这时横轴表示数组中各数的序号。

“plot”还可以用指定的自变量数组和对应的函数数组来作图。

如果是二维数组,则横、纵轴分别表示第1个向量和第2个向量。

函数subplot可以把一个图形窗分为几个区域,在每个区域中分别绘图。

此外,还可以绘制三维图形(mesh)、直方图(hist)、等值线图(contour)等。

(3)控制语句:MATLAB有和其他高级语言相类似的控制语句,如循环(for)、中止循环(break)、条件(if,while)等。

(4)用于数字信号处理的工具箱——Signal它包含数字信号处理常用的滤波器设计、傅里叶变换、z变换等。

2 课程设计原理及流程课程设计具体流程如下:(1)语音信号的采集;(2)语音信号的频谱分析;要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解;(3)数字滤波器的设计;低通滤波器性能指标wp=0.2*pi,ws=0.5*pi,rs=50dB,rp=1 dB。

在MATLAB 中,可以用双线性变换法设计IIR数字滤波器,利用函数fir1设计FIR数字滤波器。

(4)对语音信号进行滤波处理;(5)对滤波前后的语音信号频谱进行对比分析。

3.课程设计原理过程3.1 语音信号的采集要求利用windows下的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KHz,8位,单声道)或其他软件,录制一段自己的话音,时间控制在1秒左右。

然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。

通过wavread函数的使用,要求理解采样频率、采样位数等概念。

3.2 语音信号的时频分析利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。

再对其进行采样,记住采样频率和采样点数。

下面介绍Wavread 函数几种调用格式。

(1)y=wavread(file)功能说明:读取file所规定的wav文件,返回采样值放在向量y中。

(2)[y,fs,nbits]=wavread(file)功能说明:采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。

(3)y=wavread(file,N)功能说明:读取钱N点的采样值放在向量y中。

相关主题