*****************实践教学******************兰州理工大学计算机与通信学院2013年春季学期《信号处理》课程设计题目:基于MATLAB的FIR滤波器语音信号去噪专业班级:姓名:学号:指导教师:成绩:摘要本次课程设计是基于MATLAB的FIR滤波器语音信号去噪,在设计过程中,首先录制一段不少于10秒的语音信号,并对录制的信号进行采样;其次使用MATLAB会出采样后的语音信号的时域波形和频谱图;然后在给原始的语音信号叠加上噪声,并绘出叠加噪前后的时域图及频谱图;再次设计FIR滤波器,针对语音信号的性质选取一种适合的窗函数设计滤波器进行滤波;最后对仿真结果进行分析。设计出的滤波器可以满足要求。关键词:FIR滤波器;语音信号;MATLAB仿真目录一FIR滤波器设计的基本原理.......................................................................................................11.1滤波器的相关介绍................................................................................................................11.1.1数字滤波器的概念.......................................................................................................11.1.2IIR和FIR滤波器........................................................................................................11.2利用窗函数法设计FIR滤波器............................................................................................11.2.1窗函数法设计FIR滤波器的基本思想.......................................................................11.2.2窗函数法设计FIR滤波器的步骤...............................................................................21.2.2窗函数法设计FIR滤波器的要求...............................................................................21.2.3常用窗函数的性质和特点...........................................................................................31.2.4语音处理中的采样原理..............................................................................................3二语音信号去噪实现框图................................................................................................................5三详细设计........................................................................................................................................73.1信号的采集...........................................................................................................................73.2语音信号的读入与打开.......................................................................................................73.3语音信号的FFT变换...........................................................................................................83.4含噪信号的合成....................................................................................................................93.5FIR滤波器的设计..............................................................................................................103.6利用FIR滤波器滤波.........................................................................................................113.7结果分析.............................................................................................................................14总结....................................................................................................................................................15参考文献............................................................................................................................................16附录....................................................................................................................................................17致谢....................................................................................................................................................211一FIR滤波器设计的基本原理1.1滤波器的相关介绍1.1.1数字滤波器的概念数字滤波器(DigitalFilter,简称为DF)是指用来对输入信号进行滤波的硬件和软件。所谓数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方式不同,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等优点。一般用两种方法来实现数字滤波器:一是采用通用计算机,把滤波器所要完成的运算编成程序通过计算机来执行,也就是采用计算机软件来实现;二是采用实际专用的数字处理硬件。[1]1.1.2IIR和FIR滤波器数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用。它是通过对采样数据信号进行数学运算处理来达到滤波的目的。数字滤波器从实现的网络结构或者从单位脉冲响应可分为无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。FIR滤波器的设计方法和IIR滤波器的设计方法有很大的不同,FIR滤波器设计任务是选择有限长度的h(n),使传输函数H(ejw)满足技术要求,FIR数字滤波器设计的方法有三种,第一种是窗函数法,第二种是频率采样法,第三种是切比雪夫等波逼近法。从性能上说,IIR滤波器以非线性相位为代价以较低的阶数获得较高的选择性。而FIR滤波器想要获得相同的选择性阶数是IIR滤波器的5-10倍,结果成本较高、信号时延也较大:从结构上说,IIR采用递归结构,FIR采用非递归结构;从设计工具上说;IIR可以借助于模拟滤波器的成果,FIR滤波器一般采用没有封闭形式的设计公式;从使用场合上来看,在对相位要求不敏感的场合,如语音通讯等,选用IIR较为合适,可以充分发挥经济高效的特点。对图像处理、数据传输等以波形携带信息的系统,使用FIR较好。1.2利用窗函数法设计FIR滤波器1.2.1窗函数法设计FIR滤波器的基本思想窗函数法的基本思想是要选取某一种合适的理想频率选择性滤波器,这种滤波器总是有一个非因果,无限长的脉冲响应,然后将它的脉冲响应截断(或加窗)以得到一个线性相位和因果的FIR滤波器,因为必须设计一个因果可实现的FIR滤波器。[1]2需要注意的是,数字滤波器的传输函数H(ejw)都是以2π为周期的,滤波器的低通频带处于2π的整数倍处,而高频频带处于π的奇数被附近,这一点和模拟滤波器是有区别的。因为录制的语音信号是模拟信号,要想使用数字滤波器对叠加了噪声的信号进行滤波,则在设计数字滤波器之前首先要进行模数转换,将模拟信号转换为数字信号。1.2.2窗函数法设计FIR滤波器的步骤主要设计步骤为:(1)根据技术要求确定待求FIR滤波器的单位取样响应hd(n)。如果给出待求FIR滤波器的频率响应为Hd(ejw),那么单位取样响应使用(1-1)[1]的公式求出:Hd(n)=1/2Hd(ejw)ejwdw(1-1)(2)据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1),窗函数类型可根据最小阻带衰减As独立选择,因为窗口长度N对最小阻带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为Δw,它与窗口长度N近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数w(n)。(3)计算滤波器的单位取样响应h(n),使用(1-2)的公式求出:h(n)=hd(n)w(n)(1-2)(4)验算技术指标是否满足要求。[1]1.2.2窗函数法设计FIR滤波器的要求在使用窗函数法设计FIR滤波器时要满足以下两个条件:(1)窗谱主瓣尽可能地窄,以获得较陡的过渡带;(2)尽量减少窗谱的最大旁瓣的相对幅度,也就是使能量尽量集中于主瓣,减小峰肩和纹波,进而增加阻带的衰减。在实际工程中常用的窗函数有五种,即矩形窗(Rectangular)、三角窗(Triangular)、汉宁窗(Hanning)、汉明窗(Hamming)及凯塞窗(Kaiser)。31.2.3常用窗函数的性质和特点(1)矩形窗矩形窗属于时间变量