《基于matlab的FIR滤波器设计与仿真_毕业设计论文(28页).docx》由会员分享,可在线阅读,更多相关《基于matlab的FIR滤波器设计与仿真_毕业设计论文(28页).docx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于matlab的FIR滤波器设计与仿真_毕业设计论文-第 22 页郑州轻工业学院课程设计说明书题目: 基于MATLAB的FIR滤波器设计院 (系): 电气信息工程学院 专业班级: 电子信息工程10-01 郑州轻工业学院课 程 设 计 任 务 书题目 基于MATLAB的FIR数字滤波器的设计 专业、班级 电子信息工程10级1班 学号 541001030136 姓名 。 主要内容、基本要求、主要参考资料等:主要内容:采用窗函数法,分别利用五种窗函数(矩形窗、汉明窗、汉宁窗、三角形窗、布拉克曼窗),进行FIR数字滤波器的设计。基本要求:根据给定的各类滤波器的技术指标,分别设计实现数字高通滤波器、
2、数字带通滤波器和数字带阻滤波器,并据此进行分析总结:1、在相同的技术指标要求下,用不同的窗函数实现有何异同。2、在相同的技术指标要求下,用FIR和IIR数字滤波器实现有何异同。主要参考资料:1、数字信号处理教程(第三版),程佩青著,清华大学出版社,2007。2、数字信号处理教程MATLAB释义与实现(第2版),陈怀琛著,电子工业出版社,2008。完 成 期 限: 2013.6.242013.6.28 指导教师签名: 课程负责人签名: 目 录摘 要I1概述11.1课题背景及意义11.2 数字滤波器概述11.2.1 数字滤波器简介11.2.2 数字滤波器分类21.2.3 FIR滤波器概述22 FI
3、R数字滤波器设计方法研究42.1 FIR滤波器的设计原理42.2 几种常见的窗函数52.2.1 矩形窗52.2.2 汉宁窗52.2.3 海明窗52.2.4 三角形窗函数62.2.5 布拉克曼窗62.3 五种窗函数基本参数比较72.4 窗函数设计FIR过程83 FIR滤波器设计93.1 要用到的两个主要MATLAB函数93.1.1 fir1函数介绍93.1.2 freqz函数介绍93.2 高通FIR滤波器设计93.2.1 基于矩形窗高通FIR滤波器103.2.2 基于海明窗高通FIR滤波器113.2.3 基于汉宁窗高通FIR滤波器123.2.4 基于三角形窗高通FIR滤波器133.2.5 基于布
4、拉克曼窗高通FIR滤波器153.3 带通FIR滤波器设计163.3.1 基于矩形窗带通FIR滤波器163.3.2 基于海明窗带通FIR滤波器173.3.3 基于汉宁窗带通FIR滤波器193.3.4 基于三角形窗带通FIR滤波器203.3.5基于布拉克曼窗带通FIR滤波器213.4 带阻FIR滤波器设计223.4.1 基于矩形窗带阻FIR滤波器233.4.2 基于海明窗带阻FIR滤波器243.4.3 基于汉宁窗带阻FIR滤波器253.4.4 基于三角形窗带阻FIR滤波器263.4.5 基于布拉克曼窗带阻FIR滤波器284 结论305 总结31致谢32参考文献33基于MATLAB 的FIR数字滤波
5、器设计摘 要滤波器的设计是信号处理的核心问题之一。本设计根据FIR滤波器的原理,简要介绍了利用各种窗函数设计FIR数字滤波器的方法,并且分析了不同窗函数形式对滤波器性能的影响。采用Matlab软件对FIR数字滤波器进行仿真设计,简化了设计中繁琐的计算。本文采用窗函数法通过调用Matlab函数设计FIR数字滤波器。分析表明所用的矩形窗,海明窗,汉宁窗,三角窗,布拉克曼窗,五种窗函数中布拉克曼窗性能最好。最后运用matlab进行了仿真。关键词:matlab 数字信号处理 FIR滤波器I1概述1.1课题背景及意义随着数字化时代的到来, 数字信号处理已经成为当今一门极其重要的技术, 并且在通信、语音、
6、图像、自动控制等众多领域得到了广泛的应用。而滤波器在实际的信号处理中起到了重要的作用,它是去除信号中噪声的基本手段,因此在数字信号的处理中滤波是一个基本问题。FIR滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限的,其在通信、图像处理、模式识别等领域都有着广泛的应用。几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。信号处理的目的一般是对信号进行分析、变换、综合、估值与识别等。如何在较强的噪声背景下提取出真正的信号或信号的特征,并将其应用于工程实际是信号处理的首要任务。数字信号
7、处理中一个非常重要且应用普遍的技术就是数字滤波。数字滤波器有FIR数字滤波器和IIR数字滤波器,IIR数字滤波器的设计方法是利用模拟滤波器成熟的理论及设计图表进行设计的,因而保留了一些典型模拟滤波器优良的幅度特性,但设计中只考虑了幅度特性,没考虑相位特性,所设计的滤波器一般是某种确定的非线性相位特性。为了得到线性相位特性,对IIR滤波器必须另外加相位校正网络,使滤波器设计变得复杂,成本也高,又难以得到严格的线性相位特性。而FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性,同时为了使FIR数字滤波器的设计更优化,因而研究FIR数字滤波器的优化设计具有重要的理论意义。M
8、ATLAB 是一种面向科学和工程计算的语言, 它集数值分析、矩阵运算、信号处理和图形显示于一体,功能强大、使用方便。相比传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,利用matlab信号处理工具箱(signal processing toolbox)可以快速有效的设计由软件组成的常规数字滤波器的设计方法,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量。1.2 数字滤波器概述1.2.1 数字滤波器简介数字滤波在DSP中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR滤波器和F
9、IR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。 数字滤波器精确度高,使用灵活,可靠性高,具有模拟设备没有的许多优点,已广泛地应用与各个科学技术领域,例如数字电视,语音,通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门及其重要的科学和技术领域。以往的滤波器大多采用模拟电路技术,但是模拟电路技术存在很多难以解决的问题,而采用数字则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前
10、的发展方向。数字滤波在通信。图像编码,语音编码,雷达等许多领域有着十分广泛的应用。目前,数字信号滤波器的设计在图像处理,数据压缩等方面的应用取得了令人瞩目的 进展和成就。近年来迅速发展。1.2.2 数字滤波器分类按功能分:低通、高通、带通、带阻、全通滤波器。按实现的网络结构或单位抽样响应分:无限脉冲响应滤波器(IIR滤波器)、有限脉冲响应滤波器(FIR滤波器),其中 FIR数字滤波器网络不存在反馈支路,其单位冲激响应为有限长。IIR数字滤波器网络存在反馈支路,即信号流图中存在环路,其单位冲激响应为无限长。另外,按线性系统它可以被分为线性与非线性,按因果性分因果与非因果等。其中,线性时不变的数字
11、滤波器是最基本的类型;而由于数字系统可以对延时器加以利用,因此可以引入一定程度的非因果性,获得比传统的因果滤波器更灵活强大的特性;相对于IIR滤波器,FIR滤波器有着易于实现和系统绝对稳定的优势,因此得到广泛的应用。 1.2.3 FIR滤波器概述根据冲激响应的时域特性, 数字滤波器可分为无限长冲激响应滤波器(IIR) 和有限长冲激响应滤波器(FIR) 。相比于IIR滤波器,FIR的突出优点是: (1)具有精确的线性相位(2)总是稳定的(3)硬件容易实现(4)滤波器的过渡过程具有有限区间但其在满足同样阻带衰减的情况下需要的阶数较高。滤波器的阶数越高, 占用的运算时间越多, 因此在满足指标要求的情
12、况下应尽量减少滤波器的阶数。FIR 滤波器的基本结构可以理解为一个分节的延时线, 把每一节的输出加权累加, 可得到滤波器的输出。FIR 滤波器的冲激响应h (n) 是有限长的, 数学上M阶FIR滤波器可以表示为: (1-1) 其系统函数为: (1-2) 由于FIR滤波器的单位冲激响应是一个有限长序列,系统函数Hz是的次多项式,它在Z平面有个零点,同时在原点有阶重极点。因此,H(z)永远稳定。2 FIR数字滤波器设计方法研究2.1 FIR滤波器的设计原理FIR滤波器的系统输入输出差分方程为:yn= (2-1)所以FIR滤波器的系统函数为: (2-2)由于FIR滤波器的单位脉冲响应是一个有限长序列
13、,Hz是的次多项式,它在Z平面上有个零点,同时在原点有阶重极点。因此,Hz永远稳定。FIR滤波器设计的任务是选择有限长度的,使传输函数满足一定的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。FIR滤波器目前常用的设计方法有窗函数法和频率采样法,窗函数法是从时域进行设计,而频率采样法是从频域进行设计。窗函数法由于简单、物理意义清晰,因而得到了较为广泛的应用。窗函数法设计的基本思想是:首先根据技术指标要求,选取合适的阶数 N 和窗函数的类型,使其幅频特性逼近理想滤波器幅频特性。其次,因为理想滤波器的是
14、无限长的,所以需要对进行截断,数学上称这种方法为窗函数法。 (2-3) (2-4) (2-5) 其中是希望逼近的滤波器的单位脉冲响应,是希望逼近的滤波器的幅频特性,是所设计的滤波器的单位脉冲响应,是一个矩阵序列,长度为N。在截断的过程中要保证FIR滤波器的稳定性与线性相位的特性。由于截断效应使所设计滤波器的幅频特性存在误差,称之为吉布斯效应。最后,验证所设计的滤波器是否满足要求,若不满足,重新设计。常用的窗函数有矩形窗、三角窗、汉宁窗和凯塞窗等。窗函数的选择一般要满足以下三个条件:(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。(2)旁瓣幅度下降速度要快,以利于增加阻带衰减。(3)主瓣宽度要窄,
15、以获得较陡的过渡带。2.2 几种常见的窗函数2.2.1 矩形窗矩形窗函数的时域形式可以表示为: (2-6)它的频域特性为: (2-7)矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。2.2.2 汉宁窗汉宁窗函数的时域形式可以表示为: (2-8)它的频域特性为: (2-9)其中为矩形窗函数的幅度频率特性函数。汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为。汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗。但汉宁窗主瓣加
16、宽,相当于分析带宽加宽,频率分辨率下降。2.2.3 海明窗海明窗函数的时域形式可以表示为: (2-10)它的频域特性为: (2-11)其中,为矩形窗函数的幅度频率特性函数。海明窗函数的最大旁瓣值比主瓣值低41dB,但它和汉宁窗函数的主瓣宽度是一样大的,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小。2.2.4 三角形窗函数三角窗是最简单的频谱函数为非负的一种窗函数。三角窗函数的时域形式可以表示为:当n为奇数时: (2-12)当n为偶数时: (2-13)它的频域特性为: (2-14) 三角窗函数的主瓣宽度为,比矩形窗函数的主瓣宽度增加了一倍,但是它的旁瓣宽度却小得多。2.2.5 布拉克曼窗
17、(2-15) 增加一个二次谐波余弦分量,可进一步降低旁瓣,但主瓣宽度进一步增加,增加N可减少过渡带。 频谱的幅度函数为: +0.04WRw-4蟺N-1+WRw+4蟺N-1 (2-16) 2.3 五种窗函数基本参数比较表2-1 五种窗函数参数比较窗函数窗谱性能指标加窗后滤波器性能指标旁瓣峰值/dB主瓣宽度过渡带宽阻带最小衰减/dB矩形窗-1320.9-21三角形窗-2543.05-25汉宁窗-3143.1-44海明窗-4143.3-53布拉克曼窗-5765.5-74从表中可以看出当所加窗函数形式确定时,对应FIR滤波器的阻带最小衰减也就确定了。不同的窗函数主瓣频宽和第一旁瓣相对主瓣衰减都不一样,
18、不同窗函数在这两方面的特点是不同的,因此应根据具体的问题进行选择。此外,主旁瓣频率宽度还与窗函数长度N有关。增加窗函数长度N将减小窗函数的主瓣宽度,但不能减小旁瓣幅值衰减的相对值(分贝数),这个值是由窗函数决定的。例如:绘制矩形窗函数的幅频响应,窗长度分别为:(1)N=10;(2)N=20; (3)N=50;(4)N=100时的图形如下:图2-1 不同长度矩形窗函数的幅频响应由上图可以看出,随着N的增大,主瓣和旁瓣都变窄,但第一旁瓣相对主瓣的幅值下降分贝数相同,第二旁瓣相对第一旁瓣幅值下降的分贝数也相同。然而,随着N的增大,旁瓣数也增多,减少主瓣宽度和抑制旁瓣是一对矛盾,不可兼得,只能根据不同
19、用途折衷处理。2.4 窗函数设计FIR过程1、首先是给定所要求的频率响应函数;2、其次,求单位冲激响应;3、再次,有过渡带宽及阻带最小衰减的要求,查表选定窗函数及N的大小,一般N的大小要通过几次试探而后确定;4、求得所设计的FIR滤波器的单位冲激响应如下;5、求,检验是否满足设计要求,如不满足,则需要重新设计。用框图表示如下:加窗得到结果单位冲激响应频率响应函数Hdejw窗函数类型,N的大小图2-2 用窗函数设计FIR滤波器的步骤3 FIR滤波器设计3.1 要用到的两个主要MATLAB函数3.1.1 fir1函数介绍fir1:功能:基于窗函数的FIR滤波器设计标准频率响应形状。格式:b=fir
20、1(N,wc,ftype,window).说明:标准频率响应指所设计的滤波器预期特性为理想频率响应,包括低通,带通,高通,带阻。Ftype和window可以缺省。b=fir1(N,wc)可以得到截止频率为wc且满足线性相位条件的N阶FIR低通滤波器,window默认选用hamming窗.当wc=wc1,wc2时,得到的是带通滤波器。当ftype=high时,设计高通FIR滤波器。当ftype=stop时,设计带阻FIR滤波器。应当注意在设计高通和带阻滤波器时,阶数N只能取偶数,即h(n)的长度为奇数。3.1.2 freqz函数介绍MATLAB提供了专门用于求离散系统频响特性的函数freqz()
21、,调用freqz()的格式有以下两种:(1)H,w=freqz(B,A,N)(2)H,w=freqz(B,A,N,whole)(1)中B和A分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H则包含了离散系统频响在0到范围内N个频率等分点的值(其中N为正整数),w则包含了范围内N个频率等分点。调用默认的N时,其值是512。本设计采用第一种。3.2 高通FIR滤波器设计要求如下:数字高通滤波器:,通带最大衰减为1dB,阻带最小衰减为100dB。3.2.1 基于矩形窗高通FIR滤波器由要求知过渡带为0.6蟺-0.4蟺=0.2蟺,由表2-1分析知:当选用矩形窗时,窗宽,则滤波器阶次为N-1=
22、8。Matlab源程序如下:clear;close all;N=9;wc=0.6*pi; %冲击响应长度9,即滤波器阶数为8b=fir1(N-1,wc/pi,high,boxcar(N);n=0:1:8; %调用fir1函数subplot(1,2,1);stem(n,b,.) %输出单位脉冲冲击响应axis(0,8,-0.4,1); grid;xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应subplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0,1,-100,10)
23、;xlabel(w/pi);ylabel(幅度dB);title(幅频特性);滤波器冲激响应及幅频特性输出图形如下: 图3-1 基于矩形窗高通FIR滤波器特性由前面分析知基于矩形窗的FIR滤波器阻带最小衰减是一定的,为-21dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大衰减-1dB符合预期要求。3.2.2 基于海明窗高通FIR滤波器同理利用表2-1求得滤波器阶数为32.MATLAB源程序如下:%以下采用海明窗设计clear;close all;N=33;wc=0.6*pi; %冲击响应长度33,即滤波器级数为32b=fir1(N-1,wc/p
24、i,high,hamming(N);n=0:1:32; %调用fir1函数subplot(1,2,1);stem(n,b,.) %输出单位脉冲冲击响应axis(0,32,-0.4,1); grid;xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应subplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0,1,-100,10);xlabel(w/pi);ylabel(幅度dB);title(幅频特性);滤波器冲激响应及幅频特性图形如下:图3-2 基于海明窗高通FIR滤波器
25、特性由前面分析知基于海明窗的FIR滤波器阻带最小衰减是一定的,为-53dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大衰减-1dB符合预期要求。3.2.3 基于汉宁窗高通FIR滤波器同理利用图2-1可知滤波器阶次选为30。源程序如下:%以下采用汉宁窗设计clear;close all;N=31;wc=0.6*pi; %冲击响应长度31,即滤波器级数为30b=fir1(N-1,wc/pi,high,hanning(N);n=0:1:30; %调用fir1函数subplot(1,2,1);stem(n,b,.) %输出单位脉冲冲击响应axis(0,
26、30,-0.4,1); grid;xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应subplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0,1,-100,10);xlabel(w/pi);ylabel(dB);title(幅频特性);滤波器冲激响应及幅频特性图形如下:图3-3 基于汉宁窗高通FIR滤波器特性由前面分析知基于汉宁窗的FIR滤波器阻带最小衰减是一定的,为-44dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大
27、衰减-1dB符合预期要求。3.2.4 基于三角形窗高通FIR滤波器分析知滤波器阶数为31,原理同上。MATLAB源程序如下:%以下采用三角形窗设计clear;close all;N=31;wc=0.6*pi; %冲击响应长度31,即滤波器级数为30b=fir1(N-1,wc/pi,high,triang(N);n=0:1:30; %调用fir1函数subplot(1,2,1);stem(n,b,.) %输出单位脉冲冲击响应axis(0,30,-0.4,1); grid;xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响
28、应subplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0,1,-100,10);xlabel(w/pi);ylabel(幅度dB);title(幅频特性);滤波器冲激响应及幅频特性图形如下: 图3-4 基于三角形窗高通FIR滤波器特性由前面分析知基于三角形窗的FIR滤波器阻带最小衰减是一定的,为-25dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大衰减-1dB符合预期要求。3.2.5 基于布拉克曼窗高通FIR滤波器分析知滤波器阶数为54,原理同上。MATLAB源程序如下:%以下采用布拉克曼窗设计
29、clear;close all;N=55;wc=0.6*pi; %冲击响应长度55,即滤波器级数为54b=fir1(N-1,wc/pi,high,blackman(N);n=0:1:54; %调用fir1函数subplot(1,2,1);stem(n,b,.) %输出单位脉冲冲击响应axis(0,54,-0.4,1);xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应subplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0,1,-140,10);xlabel(w/pi)
30、;ylabel(幅度dB);line(0,0.6,-1,-1);line(0.4,0.4,-100,0);line(0.6,0.6,-100,0)%划线观察通带波纹与阻带衰减是否符合要求title(幅频特性);滤波器冲激响应及幅频特性图形如下: 图3-5 基于布拉克曼窗高通FIR滤波器特性由前面分析知基于布拉克曼窗的FIR滤波器阻带最小衰减是一定的,为-74dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大衰减-1dB符合预期要求。3.3 带通FIR滤波器设计要求如下:数字带通滤波器:,通带最大衰减为1dB,阻带最小衰减为100dB。3.3.1
31、基于矩形窗带通FIR滤波器由要求知过渡带为0.3蟺-0.2蟺=0.1蟺,由图2-1,窗宽度 此处取滤波器阶数为18. %以下采用矩形窗设计clear;close all;N=19;wc=0.3*pi,0.7*pi; %冲击响应长度19,即滤波器级数为18b=fir1(N-1,wc/pi,boxcar(N);n=0:1:18; %调用fir1函数subplot(1,2,1);stem(n,b,.);grid; %输出单位脉冲冲击响应axis(0,18,-0.4,1);xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应s
32、ubplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0,1,-100,10);xlabel(w/pi);ylabel(幅度dB);title(幅频特性);滤波器冲激响应及幅频特性图形如下: 图 3-6 基于矩形窗带通FIR滤波器特性由前面分析知基于矩形窗的FIR滤波器阻带最小衰减是一定的,为-21dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大衰减-1dB符合预期要求。3.3.2 基于海明窗带通FIR滤波器同理可计算出滤波器阶数为66.源程序如下:%以下采用海明窗设计clear;close all
33、;N=67;wc=0.3*pi,0.7*pi; %冲击响应长度67,即滤波器级数为66b=fir1(N-1,wc/pi,hamming(N);n=0:1:66; %调用fir1函数subplot(1,2,1);stem(n,b,.) ;grid; %输出单位脉冲冲击响应axis(0,66,-0.4,1);xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应subplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0,1,-100,10);xlabel(w/pi);ylabel
34、(幅度dB);title(幅频特性);滤波器冲激响应及幅频特性图形如下: 图 3-7 基于海明窗带通FIR滤波器特性由前面分析知基于海明窗的FIR滤波器阻带最小衰减是一定的,为-53dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大衰减-1dB符合预期要求。3.3.3 基于汉宁窗带通FIR滤波器同理求得滤波器阶数为62.源程序如下:%以下采用汉宁窗设计clear;close all;N=63;wc=0.3*pi,0.7*pi; %冲击响应长度63,即滤波器级数为62b=fir1(N-1,wc/pi,hanning(N);n=0:1:62; %调用
35、fir1函数subplot(1,2,1);stem(n,b,.);grid; %输出单位脉冲冲击响应axis(0,62,-0.4,1);xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应subplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0,1,-100,10);xlabel(w/pi);ylabel(幅度dB);title(幅频特性);滤波器冲激响应及幅频特性图形如下:图 3-8 基于汉宁窗带通FIR滤波器特性由前面分析知基于汉宁窗的FIR滤波器阻带最小衰减是一定的
36、,为-44dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大衰减-1dB符合预期要求。3.3.4 基于三角形窗带通FIR滤波器同理求得滤波器阶数为60.源程序如下:%以下采用三角窗设计clear;close all;N=61;wc=0.3*pi,0.7*pi; %冲击响应长度61,即滤波器级数为60b=fir1(N-1,wc/pi,triang(N);n=0:1:60; %调用fir1函数subplot(1,2,1);stem(n,b,.) ;grid; %输出单位脉冲冲击响应axis(0,60,-0.4,1);xlabel(n);ylabel(
37、h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应subplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0,1,-100,10);xlabel(w/pi);ylabel(幅度dB);title(幅频特性);滤波器冲激响应及幅频特性图形如下: 图3-9 基于三角形窗带通FIR滤波器特性由前面分析知基于三角形窗的FIR滤波器阻带最小衰减是一定的,为-25dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大衰减-1dB符合预期要求。3.3.5基于布拉克曼窗带通FI
38、R滤波器同理求得滤波器阶数为110.源程序如下:%以下采用布拉克曼窗设计clear;close all;N=111;wc=0.3*pi,0.7*pi; %冲击响应长度111,即滤波器级数为110b=fir1(N-1,wc/pi,blackman(N);n=0:1:110; %调用fir1函数subplot(1,2,1);stem(n,b,.) ;grid; %输出单位脉冲冲击响应axis(0,110,-0.4,1);xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应subplot(1,2,2);plot(w/pi,2
39、0*log10(abs(h);grid;axis(0,1,-120,10);xlabel(w/pi);ylabel(幅度dB);title(幅频特性);滤波器冲激响应及幅频特性图形如下: 图 3-10 基于布拉克曼窗带通FIR滤波器特性由前面分析知基于布拉克曼窗的FIR滤波器阻带最小衰减是一定的,为-74dB,是无法达到题设要求的-100dB的。观察幅频特性图形可知实际仿真结果验证了这一结论。通带最大衰减-1dB符合预期要求。3.4 带阻FIR滤波器设计要求如下:数字带阻滤波器:,通带最大衰减为1dB,阻带最小衰减为100dB。3.4.1 基于矩形窗带阻FIR滤波器由要求知过渡带为0.3蟺-0
40、.2蟺=0.1蟺,由图2-1,窗宽度 因设计的是带阻滤波器,故窗宽只能为奇数,取N=19,即滤波器阶数只能为偶数,取滤波器阶数为18.源程序如下:%以下采用矩形窗设计clear;close all;N=19;wc=0.3*pi,0.7*pi; %冲击响应长度19,即滤波器级数为18b=fir1(N-1,wc/pi,stop,boxcar(N);n=0:1:18; %调用fir1函数subplot(1,2,1);stem(n,b,.);grid; %输出单位脉冲冲击响应axis(0,18,-0.4,1);xlabel(n);ylabel(h(n);title(冲激响应);h,w=freqz(b,1,512) %调用函数求解频率响应subplot(1,2,2);plot(w/pi,20*log10(abs(h);grid;axis(0