吉首大学信息科学与工程学院课程设计报告书课程通信系统设计与仿真课题:基于MATLAB的低通FIR滤波器设计姓名:何其兵杨冰清岳裕旭学号:201240550662012405506720124055068专业:通信工程(物联网方向)年级:2012级指导教师:雷可君2015年11月2一、项目介绍与设计目的1.项目介绍FIR数字滤波器的设计方法有很多,比较常用的有窗函数设计法、频率采样设计法、等波纹逼近法等。本课题通过运用窗函数设计FIR数字低通滤波器,并实现对给定的信号进行滤波。窗函数设计法是最基本的数字滤波方法,是利用傅里叶反变换(IDTFT)计算给定的频响的理想单位脉冲响应,再加以窗函数进行截断和平滑[2]。Matlab软件的信号处理工具箱提供了FIR数字滤波器设计的子函数,运用Matlab软件设计可以避免繁杂的数学运算,而且具有丰富的绘图功能,可以方便地查看所设计的数字滤波器的幅度响应和相位响应是否满足设计要求。因此,本课题在理论分析各种FIR数字滤波器设计方法的基础上,运用Matlab软件进行仿真分析。随着信息科学和计算机技术的不断发展,数字信号处理(DSP,DigitalSignalProcessing)的理论和技术也得到了飞速的发展,并逐渐成为一门重要的学科,它的重要性在日常通信、图像处理、遥感、声纳、生物医学、地震、消费电子、国防军事、医疗方面等显得尤为突出。在我们面临的信息革命中,数字信号处理几乎涉及了所有的工程技术领域[1]。2.设计目的(1)增进对MATLAB的认识,加深对数字信号处理理论方面的理解;(2)掌握数字信号处理中IIR和FIR滤波器的设计;(3)了解和掌握用MATLAB实现IIR和FIR滤波器的设计方法、过程,为以后的设计打下良好基础。3二、设计方案1.项目环境要求MATLAB7.0一台PC2.设计目的(1)增进对MATLAB的认识,加深对数字信号处理理论方面的理解;(2)掌握数字信号处理中IIR和FIR滤波器的设计;(3)了解和掌握用MATLAB实现IIR和FIR滤波器的设计方法、过程,为以后的设计打下良好基础。3.设计内容窗函数法的Matlab实现Matlab信号处理工具箱提供了基于加窗的线性相位FIR滤波器设计函数fir1。(1)fir1函数介绍fir1调用格式为:b=fir1(n,Wc,'ftype',window)函数参数说明如下:1.n表示滤波器的阶数2.Wc为滤波器的归一化截止频率,它是一个大于0小于1的一个数3.'ftype'表示所设计滤波器的类型,如果ftype=high,则表示高通滤波器,如果ftype=stop,则表示带阻滤波器,如果此时没有参数,就表示低通滤波器4.window表示的是指定的窗函数,如矩形窗为rectwin(n),三角窗为bartlett(n),如果缺省window参数,则fir1默认为是哈明窗hamming(n)(2)基于fir1函数的窗函数法FIR滤波器设计下面给出利用fir1函数的窗函数法数字低通滤波器。利用fir1函数进行设计,这种设计方法只需要给出滤波器的阶数、截止频率、窗函数等参数,Matlab即可自行完成设计,并可通过freqz函数查看滤波器的幅频响应和相频响应,以验证滤波器是否满足设计要求。设计程序如下:n=27;%设滤器的阶数为27Wn=0.2;%归一化截止频率为0.24window=rectwin(28);%矩形窗b=fir1(n,Wn,window);freqz(b);运行结果如下3-1所示:从幅频响应上看,通带波动约为1dB且带内有过冲现象,0.2π截止频率处的衰减为6.5dB,即截止频率发生了漂移,3dB截止频率为0.182π;阻带波纹较大,因而阻带特性较不理想,阻带最小衰减约为21dB;相频响应曲线在通带内为直线,效果较好,信号失真小。00.10.20.30.40.50.60.70.80.91-600-400-2000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-100-50050NormalizedFrequency(rad/sample)Magnitude(dB)图3-1矩形窗FIR滤波器幅频和相频特性曲线利用三角窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用triang(n)函数生成三角窗,程序运行结果如图3-2所示:500.10.20.30.40.50.60.70.80.91-2500-2000-1500-1000-5000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-100-50050NormalizedFrequency(rad/sample)Magnitude(dB)图3-2三角窗设计的FIR滤波器幅频和相频特性曲线从幅频响应上看,通带平坦没有波动,阻带最小衰减约为25dB;相频响应曲线在整个频率范围内为直线,满足线性相位要求。利用哈明窗进行设计时,原理与矩形窗相同,只不过生成窗函数时采用hamming(n)函数生成三角窗,程序运行结果如下:00.10.20.30.40.50.60.70.80.91-800-600-400-2000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-150-100-50050NormalizedFrequency(rad/sample)Magnitude(dB)图3-3哈明窗设计的FIR滤波器幅频和相频特性曲线利用布莱克曼窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用blackman(n)函数生成布莱克曼窗,程序运行结果如下:600.10.20.30.40.50.60.70.80.91-1500-1000-5000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-200-150-100-500NormalizedFrequency(rad/sample)Magnitude(dB)图3-4布莱克曼窗设计的FIR滤波器幅频和相频特性曲线利用凯塞窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用kaiser(n,beta)函数生成凯塞窗,程序运行结果:00.10.20.30.40.50.60.70.80.91-800-600-400-2000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-150-100-50050NormalizedFrequency(rad/sample)Magnitude(dB)图3-5凯塞窗设计的FIR滤波器幅频和相频特性曲线7三、总结和分析窗函数设计法对信号加窗之后会使不连续点处边沿加宽形成过渡带,其宽度(两肩峰之间的宽度)等于窗函数频率响应的主瓣宽度。在2/cN处出现肩峰值,两侧形成起伏振荡,振荡的幅度和多少取决于旁瓣的幅度和多少,改变N只能改变窗谱的主瓣宽度,但不能改变主瓣与旁瓣的相对比例,其相对比例由窗函数形状决定。窗函数设计法设计FIR数字滤波器是傅里叶变换的典型运用,而频率采样法设计的指导思想是通过频域采样点实现的,同时为了保证过渡带宽的不变,滤波器的采样点数也要相应增加,这就要求在用频率采样法设计滤波器时综合考虑阻带衰减和滤波器长度的要求,从而达到设计的最优化。频率采样设计的优点是直接从频域出发,设计比较直观,也适用于设计任何幅度特性的滤波器,但这种设计法边界频率不易控制,频率采样法设计低通滤波器相对简单,但是阻带衰减值较大,增加采样点数N不能改善阻带的最小衰减,改善阻带衰减的唯一方法就是增加过渡带宽度。设计一个FIR滤波器不管是哪种方法,需要完成大量的计算和图形绘制工作,而且从上面的设计过程中可以看到,设计中只用到两个技术指标,也就是通过截止频率和阻带截止频率,其他指标:带内允许最大衰减,带外允许最小衰减指标,无法体现在设计过程中来,所以,设计结果通常不可能一次计算得到,往往需要反复多次处理,对比才能最终得到符合各项技术指标的设计结果,利用Matlab软件,可以减少设计中的工作量,从而使FIR滤波器的设计变得简单快捷。8指导老师评语:成绩评定:指导老师签名:基地指导老师签名:年月日教研室意见教研室主任签章年月日学院意见分管院长签章年月日