基于-窗函数法设计的数字带通FIR滤波器_第1页
基于-窗函数法设计的数字带通FIR滤波器_第2页
基于-窗函数法设计的数字带通FIR滤波器_第3页
基于-窗函数法设计的数字带通FIR滤波器_第4页
基于-窗函数法设计的数字带通FIR滤波器_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 26/26 目录TOC o 1-3 h z uHYPERLINK l _Toc247900225目录 PAGEREF _Toc247900225 h 1HYPERLINK l _Toc247900226中文摘要 PAGEREF _Toc247900226 h 2HYPERLINK l _Toc2479002281 窗函数设计法原理 PAGEREF _Toc247900228 h 4HYPERLINK l _Toc2479002292 常见窗函数简介 PAGEREF _Toc247900229 h 7HYPERLINK l _Toc2479002302.1 基本窗函数 PAGEREF _Toc

2、247900230 h 7HYPERLINK l _Toc2479002312.1.1 矩形窗函数 PAGEREF _Toc247900231 h 7HYPERLINK l _Toc2479002322.1.2 三角窗函数 PAGEREF _Toc247900232 h 7HYPERLINK l _Toc2479002332.1.3 巴特利特窗函数 PAGEREF _Toc247900233 h 8HYPERLINK l _Toc2479002342.2 广义余弦窗 PAGEREF _Toc247900234 h 9HYPERLINK l _Toc2479002352.2.1 汉宁窗函数 PA

3、GEREF _Toc247900235 h 9HYPERLINK l _Toc2479002362.2.2 海明窗函数 PAGEREF _Toc247900236 h 10HYPERLINK l _Toc2479002372.2.3 布莱克曼窗函数 PAGEREF _Toc247900237 h 11HYPERLINK l _Toc2479002382.2.4 凯塞窗 PAGEREF _Toc247900238 h 11HYPERLINK l _Toc2479002392.2.5 切比雪夫窗 PAGEREF _Toc247900239 h 12HYPERLINK l _Toc247900240

4、3 方案设计与论证 PAGEREF _Toc247900240 h 13HYPERLINK l _Toc2479002413.1 fdatool设计法 PAGEREF _Toc247900241 h 13HYPERLINK l _Toc2479002423.2 程序设计法 PAGEREF _Toc247900242 h 15HYPERLINK l _Toc2479002434 窗函数仿真结果分析 PAGEREF _Toc247900243 h 17HYPERLINK l _Toc2479002444.1 矩形窗函数仿真结果 PAGEREF _Toc247900244 h 17HYPERLINK

5、 l _Toc2479002454.2三角形窗函数仿真结果 PAGEREF _Toc247900245 h 18HYPERLINK l _Toc2479002464.3 巴特利特窗函数仿真结果 PAGEREF _Toc247900246 h 19HYPERLINK l _Toc2479002474.4 汉宁窗函数仿真结果 PAGEREF _Toc247900247 h 20HYPERLINK l _Toc2479002484.5 海明窗函数仿真结果 PAGEREF _Toc247900248 h 21HYPERLINK l _Toc2479002494.6布莱克曼窗函数仿真结果 PAGEREF

6、 _Toc247900249 h 22HYPERLINK l _Toc2479002504.7 凯塞窗函数仿真结果 PAGEREF _Toc247900250 h 23HYPERLINK l _Toc2479002514.8 切比雪夫窗函数仿真结果 PAGEREF _Toc247900251 h 24HYPERLINK l _Toc2479002524.9 所有带通滤波器的比较 PAGEREF _Toc247900252 h 25HYPERLINK l _Toc2479002535 总结与体会 PAGEREF _Toc247900253 h 26HYPERLINK l _Toc24790025

7、46参考文献 PAGEREF _Toc247900254 h 27中文摘要现代图像、语声、数据通信对线性相位的要普遍的。正是此原因,使得具有线性相位的FIR数字滤波器得到大力发展和广泛应用。在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权

8、抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见,窗函数加权技术在数字信号处理中的重要地位。1 窗函数设计法原理数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(iir)滤波器和有限长

9、冲激响应(fir)滤波器。iir数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以iir滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。fir数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。因此设计FIR滤波器的方法之一可以从时域出发,截取有限长的一段冲击响应作为H(z)的系数,冲击响应长度N就是系统函数H(z)的阶数。只要N足够长,截取的方法合理,总能满足频域的要求。一般这种时域设计、频域检验的方法要反复几个回合才能成功。要设计一个线性相位的FIR数字滤波器,

10、首先要求理想频率响应。是w的周期函数,周期为,可以展开成傅氏级数:(公式1-1)其中是与理想频响对应的理想单位抽样响应序列。但不能用来作为设计FIR DF用的h(n),因为一般都是无限长、非因果的,物理上无法实现。为了设计出频响类似于理想频响的滤波器,可以考虑用h(n)来近似。窗函数的基本思想:先选取一个理想滤波器(它的单位抽样响应是非因果、无限长的),再截取(或加窗)它的单位抽样响应得到线性相位因果FIR滤波器。这种方法的重点是选择一个合适的窗函数和理想滤波器。设x(n)是一个长序列,w(n)是长度为N的窗函数,用w(n)截断x(n),得到N点序列xn(n),即xn(n) = x(n) w(

11、n)(公式1-2)在频域上则有 (公式1-3)由此可见,窗函数w(n)不仅仅会影响原信号x(n)在时域上的波形,而且也会影响到频域的形状。MATLAB信号工具箱主要提供了以下几种窗函数,如表1-1所示:表1-1 MATLAB窗函数窗窗函数矩形窗Boxcar巴特利特窗Barlett三角窗Triang布莱克曼窗Blackman海明窗Hamming汉宁窗Hanning凯塞窗Kaiser切比雪夫窗Chebwin加矩形窗后的频谱和理想频谱可得到以下结论:加窗使过渡带变宽,过渡带的带宽取决于窗谱的主瓣宽度。矩形窗情况下的过渡带宽是。N越大,过渡带越窄、越陡;过渡带两旁产生肩峰,肩峰的两侧形成起伏振荡。肩峰

12、幅度取决于窗谱主瓣和旁瓣面积之比。矩形窗情况下是8.95,与N无关。工程上习惯用相对衰耗来描述滤波器,相对衰耗定义为(公式1-4)这样两个肩峰点的相对衰耗分别是0.74dB和-21dB。其中(-0.0895)对应的点的值定义为阻带最小衰耗。以上的分析可见,滤波器的各种重要指标都是由窗函数决定,因此改进滤波器的关键在于改进窗函数。窗函数谱的两个最重要的指标是:主瓣宽度和旁瓣峰值衰耗。旁瓣峰值衰耗定义为: 旁瓣峰值衰耗20lg(第一旁瓣峰值主瓣峰值) (公式1-5)为了改善滤波器的性能,需使窗函数谱满足:主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带;第一副瓣面积相对主瓣面积尽可能小,即能量尽可

13、能集中在主瓣,外泄少,使设计出来的滤波器的肩峰和余振小。但上面两个条件是相互矛盾的,实际应用中,折衷处理,兼顾各项指标。2 常见窗函数简介2.1 基本窗函数数字信号处理领域中所用到的基本窗函数主要有:矩形窗函数、三角窗函数和巴特利特窗函数。下面就对这些窗函数展开介绍。2.1.1矩形窗函数矩形窗(Rectangular Window)函数的时域形式可以表示为: (公式2-1)它的频域特性为 公式(2-2)Boxcar函数:生成矩形窗调用方式w = boxcar (n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。从功能上讲,该函数又等价于w = ones(n,1)。2.1.

14、2三角窗函数三角窗是最简单的频谱函数为非负的一种窗函数。三角窗函数的时域形式可以表示为:当n为奇数时 公式(2-3)当n为偶数时公式(2-4)它的频域特性为: (公式2-5)三角窗函数的主瓣宽度为,比矩形窗函数的主瓣宽度增加了一倍,但是它的旁瓣宽度却小得多。Triang函数:生成三角窗调用方式w = triang(n);输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。三角窗也是两个矩形窗的卷积。三角窗函数的首尾两个数值通常是不为零的。当n是偶数时,三角窗的傅立叶变换总是非负数。2.1.3巴特利特窗函数巴特利特窗函数的时域形式可以表示为当n为奇数时(公式2-6)当n为偶数时(公

15、式2-7)Bartlett函数:生成巴特利特窗调用方式w = bartlett(n):(1)输入参数n是窗函数的长度;(2)输出参数w是由窗函数的值组成的n阶向量。(3)巴特利特窗是两个矩形窗的卷积。(4)此函数生成的巴特利特窗的两端总是0。(5)该函数与三角窗函数非常类似。当n是奇数时,则有bartlett(n+2)的中间部分等于triang(n);当n是偶数时,巴特利特窗的傅立叶变换是负数。2.2 广义余弦窗汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。这些窗都是广义余弦窗的特例,汉宁窗又被称为余弦平方窗或升余弦窗,海明窗又被称为改进的升余弦窗,而布莱克曼窗又被

16、称为二阶升余弦窗。采用这些窗可以有效地降低旁瓣的高度,但是同时会增加主瓣的宽度。这些窗都是频率为0、2/(N1)和4/(N1)的余弦曲线的合成,其中为窗的长度。通常采用下面的命令来生成这些窗: (公式2-8)(公式2-9)其中,A、B、C适用于自己定义的常数。根据它们取值的不同,可以形成不同的窗函数,分别是:汉宁窗 A=0.5,B=0.5,C=0;海明窗 A=0.54,B=0.54,C=0;布莱克曼窗 A=0.5,B=0.5,C=0.08;2.2.1汉宁窗函数汉宁窗函数的时域形式可以表示为:(公式2-10)它的频域特性为: (公式2-11)其中,为矩形窗函数的幅度频率特性函数。汉宁窗函数的最大

17、旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8/N。hanning函数:生成汉宁窗调用方式(1) w = hanning(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。注意:此函数不返回是零点的窗函数的首尾两个元素。(2) w = hanning(n,symmetric):与上面相类似。(3) w = hanning(n,periodic):此函数返回包括为零点的窗函数的首尾两个元素。2.2.2海明窗函数海明窗函数的时域形式可以表示为(公式2-12)它的频域特性为(公式2-13)其中,为矩形窗函数的幅度频率特性函数。海明窗函数的最大旁瓣值

18、比主瓣值低41dB,但它和汉宁窗函数的主瓣宽度是一样大的。Hamming函数:生成海明窗调用方式(1)w = hamming(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。(2) w = hamming(n,sflag):参数sflag用来控制窗函数首尾的两个元素值;其取值为symmetric或periodic;默认值为symmetric。2.2.3布莱克曼窗函数布莱克曼窗函数的时域形式可以表示为(公式2-14)它的频域特性为(公式2-15)其中,为矩形窗函数的幅度频率特性函数。布莱克曼窗函数的最大旁瓣值比主瓣值低57dB,但是主瓣宽度是矩形窗函数的主瓣宽度的3倍,为

19、12/N。Blackman函数:生成海明窗调用方式(1)w = blackman (n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。(2) w = blackman (n,sflag):参数sflag用来控制窗函数首尾的两个元素值;其取值为symmetric或periodic;默认值为symmetric。2.2.4凯塞窗上面所讨论的几种窗函数,在获得旁瓣抑制的同时却增加了主瓣的宽度。而凯塞窗定义了一组可调的窗函数,它是由零阶贝塞尔函数构成的,其主瓣能量和旁瓣能量的比例是近乎最大的。而且,这种窗函数可以在主瓣宽度和旁瓣高度之间自由选择它们的比重,使用户的设计变得非常灵活。

20、凯塞窗函数的时域形式可表示为(公式2-16)其中,是第1类变形零阶贝塞尔函数,是窗函数的形状参数,由下式确定:(公式2-17)其中,为凯塞窗函数的主瓣值和旁瓣值之间的差值(dB)。改变的取值,可以对主瓣宽度和旁瓣衰减进行自由选择。的值越大,窗函数频谱的旁瓣值就越小,而其主瓣宽度就越宽。Kaiser函数:生成凯塞窗调用方式w = kaiser(n,beta):输入参数n是窗函数的长度;输入参数beta用于控制旁瓣的高度;输出参数w是由窗函数的值组成的n阶向量。n一定时,beta越大,其频谱的旁瓣就越小,但主瓣宽度相应的增加;当beta一定时,n发生变化,其旁瓣高度不会发生变化。2.2.5切比雪夫

21、窗对于给定的旁瓣高度,切比雪夫窗的主瓣宽度最小。这是因为它的旁瓣具有相同的高度,也就是具有等波纹性。切比雪夫窗在边沿的采样点有尖峰。Chebwin函数:生成切比雪夫窗调用方式w = chebwin(n,r):输入参数n是窗函数的长度;输入参数r用于控制旁瓣的峰值低于主瓣的分贝数。3 方案设计与论证用窗函数法设计一个FIR带通滤波器。指示如下:低端阻带截止频率 wls = 0.2*pi; 低端通带截止频率 wlp = 0.35*pi; 高端通带截止频率 whp = 0.65*pi;高端阻带截止频率whs = 0.8*pi3.1 fdatool设计法fdatool(filter design &

22、analysis tool)是matlab信号处理工具箱里专用的滤波器设计分析工具,matlab6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox)。fdatool可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单,方便灵活。图3-1fdatool设计界面fdatool界面总共分两大部分,一部分是design filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。design filter部分主要分为:filter type(滤波器类型)选项,包括lowpass

23、(低通)、highpass(高通)、bandpass(带通)、bandstop(带阻)和特殊的fir滤波器。design method(设计方法)选项,包括iir滤波器的butterworth(巴特沃思)法、chebyshev type i(切比雪夫i型)法、 chebyshev type ii(切比雪夫ii型)法、elliptic(椭圆滤波器)法和fir滤波器的equiripple法、least-squares(最小乘方)法、window(窗函数)法。filter order(滤波器阶数)选项,定义滤波器的阶数,包括specify order(指定阶数)和minimum order(最小阶数

24、)。在specify order中填入所要设计的滤波器的阶数(n阶滤波器,specify ordern-1),如果选择minimum order则matlab根据所选择的滤波器类型自动使用最小阶数。frenquency specifications选项,可以详细定义频带的各参数,包括采样频率fs和频带的截止频率。它的具体选项由filter type选项和design method选项决定,例如bandpass(带通)滤波器需要定义fstop1(下阻带截止频率)、fpass1(通带下限截止频率)、fpass2 (通带上限截止频率)、fstop2(上阻带截止频率),而lowpass(低通)滤波器只

25、需要定义fstop1、fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。magnitude specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义wstop1(频率fstop1处的幅值衰减)、wpass (通带围的幅值衰减)、wstop2(频率fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。window specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。3.2 程序设计法程序法只以Bartl

26、ett窗为示例,其他窗函数的程序大体相同,只是在window=bartlett(N)和hn = fir1(N-1,wc,bartlett(N)处要调自己的窗函数即可。Bartlett窗设计程序示例:wls = 0.2*pi; wlp = 0.35*pi; whp = 0.65*pi; wc = wlp/pi,whp/pi; B = wlp-wls; N = ceil(8/0.15); n=0:N-1; window=bartlett(N); h1,w=freqz(window,1); figure; stem(window); xlabel(n); title(bartlett窗函数); fi

27、gure; plot(w/pi,20*log(abs(h1)/abs(h1(1); grid; xlabel(w/pi); ylabel(幅度(dB); title(bartlett窗函数的频谱); hn = fir1(N-1,wc,bartlett(N); h2,w=freqz(hn,1,512); figure stem(n,hn); xlabel(n); ylabel(h(n); title(bartlett窗函数的单位脉冲响应); figure; plot(w/pi,20*log(abs(h2)/abs(h2(1); grid; xlabel(w/pi); ylabel(幅度(dB);

28、 title(bartlett带通滤波器的幅度特性); 根据调试结果,2种设计法所出的结果没有什么大的区别,本次课程设计2种方法都使用,后面所附图片均来自这2种方法所处的仿真结果。4 窗函数仿真结果分析4.1 矩形窗函数仿真结果图 4-1 矩形窗函数波形图图4-2 矩形窗函数的频谱图图4-3 用矩形窗设计带通滤波器的幅频响应图图4-4 用矩形窗设计带通滤波器的相频响应图图4-5 用矩形窗设计带通滤波器的冲击响应图图4-6 用矩形窗设计带通滤波器的零极点图4.2三角形窗函数仿真结果图4-7 三角形窗函数波形图图4-8 三角形窗函数频谱图图4-9 用三角形窗设计带通滤波器的幅频响应图图4-10 用

29、三角形设计带通滤波器的相频响应图图4-11 用三角形窗设计带通滤波器的冲击响应图图4-12 用三角形窗设计带通滤波器的零极点图4.3 巴特利特窗函数仿真结果图4-13 Bartlett窗函数波形图图4-14 Bartlett窗函数频谱图图4-15Bartlett窗设计带通滤波器的幅频响应图图4-16 Bartlett窗设计带通滤波器的相频响应图图4-17 Bartlett窗设计带通滤波器的冲击响应图图4-18 Bartlett窗设计带通滤波器的冲击响应图4.4 汉宁窗函数仿真结果图4-19 汉宁窗函数波形图图4-20 汉宁窗函数频谱图图4-21 用汉宁窗设计带通滤波器的幅频响应图图4-22 用

30、汉宁窗设计带通滤波器的相频响应图图4-23 用汉宁窗设计带通滤波器的冲击响应图图4-24 用汉宁窗设计带通滤波器的零极点图4.5 海明窗函数仿真结果图4-25 海明窗函数波形图图4-26 海明窗函数频谱图图4-27 用海明窗设计带通滤波器的幅频响应图图4-28 用海明窗设计带通滤波器的相频响应图图4-29 用海明窗设计带通滤波器的冲击响应图图4-30 用海明窗设计带通滤波器的幅频响应图4.6布莱克曼窗函数仿真结果图4-31 布莱克曼窗函数波形图图4-32 布莱克曼窗函频谱形图图4-33布莱克曼窗设计带通滤波器的幅频响应图图4-34 布莱克曼窗设计带通滤波器的相频响应图图4-35 布莱克曼窗设计带通滤波器的冲击响应图图4-36 用布莱克曼窗设计带通滤波器的零极点图4.7 凯塞窗函数仿真结果图4-37凯塞窗函数波形图图4-38 凯塞窗函数频谱图图4-39 用凯塞窗设计带通滤波器的幅频响应图图4-40 用凯塞窗设计带通滤波器的相频响应图图4-41 用凯塞窗设计带通滤波器的冲击响应图图4-42 用凯塞窗设计带通滤波器的零极点图4.8 切比雪夫窗函数仿真结果图4-43切比雪夫窗函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论