目录1技术要求.................................................................12基本原理.................................................................12.1FIR滤波器简介......................................................12.2窗函数法原理........................................................23建立模型描述.............................................................43.1MATLAB常用函数.....................................................43.1.1矩形窗函数.....................................................43.1.2三角窗函数.....................................................53.1.3广义余弦窗.....................................................53.1.4汉宁窗(升余弦窗).............................................63.1.5fir1函数......................................................73.1.6freqz函数.....................................................73.1.7其他函数与命令.................................................83.2方案设计与论证......................................................83.3程序流程图..........................................................94模块功能分析或源程序代码.................................................95调试过程及结论..........................................................125.1实验结果............................................................125.2结果分析............................................................156思考题..................................................................157心得体会................................................................168参考文献................................................................17武汉理工大学《专业课程设计3(数字信号处理)》课程设计说明书1FIR带通滤波器的设计1技术要求用窗函数法设计FIR带通滤波器。要求低端阻带截止频率ωls=0.2π,低端通带截止频率ωlp=0.35π,高端通带截止频率ωhp=0.65π,高端阻带截止频率ωhs=0.8π。绘出h(n)及其幅频响应特性曲线。2基本原理2.1FIR滤波器简介数字滤波器包括FIR(有限单位脉冲响应)滤波器与IIR(无限单位脉冲响应)滤波器两种。在现代信号处理技术中,例如数据传输、雷达接收以及一些要求较高的电子系统,都越来越多地要求信道具有线性的相位特性。在这方面,FIR滤波器具有独到的优点,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位特性。FIR滤波器的单位脉冲响应h(n)是有限长的(0≤n≤N-1),其z变换为1z的(N-1)阶多项式:10)()()()(NnnznhzXzYzH可得FIR滤波器的系统差分方程为:10)()()()()1()1()1()1()()0()(NmnxnbmnxmbNnxNbnxbnxbny因此,FIR滤波器又称为卷积滤波器。FIR滤波器的频率响应表达式为:10)()(NnnjjenheH信号通过FIR滤波器不失真条件是在通带内具有恒定的幅频特性和线性相位特性。理论上可以证明:当FIR滤波器的系数满足下列中心对称条件:)1()(nNhnh或者)1()(nNhnh时,滤波器设计在逼近平直幅频特性的同时,还能获得严格的线性相位特性。线性相位FIR武汉理工大学《专业课程设计3(数字信号处理)》课程设计说明书2滤波器的相位滞后和群延迟在整个频带上是相等且不变的。对于一个N阶的线性相位FIR滤波器,群延迟为常数,即滤波后的信号简单地延迟常数个时间步长。这一特性使通带频率内信号通过滤波器后仍保持原有波形形状而无相位失真。FIR滤波器的设计任务是选择有限长度的h(n),使传输函数)(jeH满足技术要求。FIR滤波器的设计方法有多种,如窗函数法、频率采样法及其它各种优化设计方法,本次设计使用窗函数法设计FIR带通滤波器。2.2窗函数法原理数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。FIR滤波器具有严格的相位特性,这对于语音信号处理和数据传输是和重要的。目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。因此设计FIR滤波器的方法之一可以从时域出发,截取有限长的一段冲击响应作为H(z)的系数,冲击响应长度N就是系统函数H(z)的阶数。只要N足够长,截取的方法合理,总能满足频域的要求。一般这种时域设计、频域检验的方法要反复几个回合才能成功。要设计一个线性相位的FIR数字滤波器,首先要求理想频率响应)(jwdeH。)(jwdeH是w的周期函数,周期为2,可以展开成傅氏级数:njwndjwdenheH)()((公式1-1)使用上述的传递函数去逼近)(jwdeH,一个理想的频率响应)(jwdeH的傅立叶反变换:武汉理工大学《专业课程设计3(数字信号处理)》课程设计说明书3ddeHnhnjjwdd)(21)(20(公式1-2)其中)(nhd是与理想频响对应的理想单位抽样响应序列。但不能用来作为设计FIRDF用的h(n),因为)(nhd一般都是无限长、非因果的,物理上无法实现。为了设计出频响类似于理想频响的滤波器,可以考虑用)(nh来近似)(nhd。窗函数的基本思想:先选取一个理想滤波器(它的单位抽样响应是非因果、无限长的),再截取(或加窗)它的单位抽样响应得到线性相位因果FIR滤波器。这种方法的重点是选择一个合适的窗函数和理想滤波器。设x(n)是一个长序列,w(n)是长度为N的窗函数,用w(n)截断x(n),得到N点序列(n)xn,即)()()(nwnxnxn(公式1-3)在频域上则有ππjjjdeπ21eWeXXN(公式1-4)由此可见,窗函数w(n)不仅仅会影响原信号x(n)在时域上的波形,而且也会影响到频域内的形状。MATLAB信号工具箱主要提供了以下几种窗函数,如表1表1MATLAB窗函数窗窗函数矩形窗Boxcar三角窗Triang海明窗Hamming汉宁窗Hanning布莱克曼Blackman切比雪夫窗Chebyshev凯塞窗Kaiser加矩形窗后的频谱和理想频谱可得到以下结论:武汉理工大学《专业课程设计3(数字信号处理)》课程设计说明书4加窗使过渡带变宽,过渡带的带宽取决于窗谱的主瓣宽度。矩形窗情况下的过渡带宽是N/4。N越大,过渡带越窄、越陡;过渡带两旁产生肩峰,肩峰的两侧形成起伏振荡。肩峰幅度取决于窗谱主瓣和旁瓣面积之比。矩形窗情况下是8.95%,与N无关。工程上习惯用相对衰耗来描述滤波器,相对衰耗定义为:])0(/)(lg[20])(/)(lg[20)(0HwHeHeHwAjjw(公式1-5)这样两个肩峰点的相对衰耗分别是0.74dB和-21dB。其中(-0.0895)对应的点的值定义为阻带最小衰耗。以上的分析可见,滤波器的各种重要指标都是由窗函数决定,因此改进滤波器的关键在于改进窗函数。窗函数谱的两个最重要的指标是:主瓣宽度和旁瓣峰值衰耗。旁瓣峰值衰耗定义为:旁瓣峰值衰耗=20lg(第一旁瓣峰值/主瓣峰值)(公式1-6)为了改善滤波器的性能,需使窗函数谱满足:(1)主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带。(2)尽量减少最大旁瓣的相对幅度,也就是能量集中于主瓣,以减小带内、带外波动的最大幅度,增大阻带衰减。一般来说,以上两点很难同时满足。当选取主瓣宽度很窄时,旁瓣的分量势必增加,从而带内、带外的波动也增加了;当选取最小的旁瓣幅度时,降低了带内、带外的波动,但是过渡带的陡度减小了。所以实际采用的窗函数其特性往往是它们的折中,在保证主瓣宽度达到一定要求的前提下,适当牺牲主瓣宽度来换取旁瓣波动的减小3建立模型描述3.1MATLAB常用函数3.1.1矩形窗函数矩形窗(RectangularWindow)函数的时域形式可以表示为:,010,1)()(NnnRnwN(公式2-1)武汉理工大学《专业课程设计3(数字信号处理)》课程设计说明书5它的频域特性为2sin2sinee21jjNWNR(公式2-2)Boxcar函数:生成矩形窗调用方式w=boxcar(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。从功能上讲,该函数又等价于w=ones(n,1)。3.1.2三角窗函数三角窗(BartlettWindow)函数时域形式可表示为:1)1(21,122)1(21012)(NnNNnNnNnnwRB(公式2-3)窗谱为:2122122sin4sin22sin41sin12NjNjjeNNeNNeW(公式2-4)式中,当N远大于1时,此时,窗谱主瓣宽度为8/N。3.1.3广义余弦窗汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。这些窗都是广义余弦窗的特例,汉宁窗又被称为余弦平方窗或升余弦窗,海明窗又被称为改进的升余弦窗,而布莱克曼窗又被称为二阶升余弦窗。采用这些窗可以有效地降低旁瓣的高度,但是同时会增加主瓣的宽度。这些窗都是频率为0、2π/(N–1)和4π/(N–1)的余弦曲线的合成,其中N为窗的长武汉理工大学《专业课程设计3(数字