视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
实验五 FIR数字滤波器的设计
2025-09-25 14:10:14 责编:小OO
文档


班    级09电本一班学号 2009041501姓  名陈丽琼 同组人       

实验日期2011.12.27   室温           大气压       成  绩      

实验题目:  实验五  FIR数字滤波器的设计

一、实验目的

(1)掌握用窗函数法、频率采样法及优化设计法设计 FIR 滤波器的原理及方法,熟悉

相应的 MATLAB 编程。 

    (2)熟悉线性相位 FIR 滤波器的幅频特性和相频特性。 

    (3)了解各种不同窗函数对滤波器性能的影响。

二、实验原理:

(一)线性相位实系数 FIR 滤波器按其 N 值奇偶和 h(n)的奇偶对称性分为四种: 

1、h(n)为偶对称,N 为奇数;H(ejω)的幅值关于 ω=0,π,2π 成偶对称。 

2、h(n)为偶对称,N 为偶数;H(ejω)的幅值关于 ω=π 成奇对称,不适合作高通。

3、h(n)为奇对称,N 为奇数;H(ejω)的幅值关于 ω=0,π,2π 成奇对称,不适合作高

通和低通。 

4、h(n)为奇对称,N 为偶数;H(ejω) ω=0、2π=0,不适合作低通。 

 (二) 窗口法

 窗函数法设计线性相位 FIR 滤波器步骤 

1、确定数字滤波器的性能要求:临界频率{ωk},滤波器单位脉冲响应长度 N; 2、根据性能要求,合理选择单位脉冲响应 h(n)的奇偶对称性,从而确定理想频率响应 Hd(ejω)的幅频特性和相频特性;

3、求理想单位脉冲响应 hd(n),在实际计算中,可对 Hd(ejω)按 M(M 远大于 N)点等距离采样,并对其求 IDFT 得 hM(n),用 hM(n)代替 hd(n);

4、选择适当的窗函数 w(n),根据 h(n)= hd(n)w(n)求所需设计的 FIR 滤波器单位脉冲响应;

5、求 H(ejω),分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度 N,重复上述设计过程, 以得到满意的结果。

 窗函数的傅式变换 W(ejω)的主瓣决定了 H(ejω)过渡带宽。W(ejω)的旁瓣大小和多少决定了 H(ejω)在通带 和阻带范围内波动幅度,常用的几种窗函数有:

(1)矩形窗(Rectangle Window) w( n) = R N ( n) 

(2)汉宁(Hanning)窗,又称升余弦窗 

(3)汉明窗,又称改进的升余弦窗

(4)布莱克曼(Blankman)窗,又称二阶升余弦窗

(5)凯塞(Kaiser)窗

 其中:β是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,β越大,过渡带越宽,阻带 越小衰减也越大。I0(·)是第一类修正零阶贝塞尔函数。 

若阻带最小衰减表示为,β的确定可采用下述经验公式: 

 

(三)频率采样法 

 频率采样法是从频域出发,将给定的理想频率响应 Hd(e )加以等间隔采样,然后以此 Hd(k)作为实际 FIR 数字滤波器的频率特性的采样值 H(k),由 H(k)通过 IDFT 可得有限长序列 h(n) , 然后进行 DTFT 或 Z 变换即可得 H (e jω) 

(四)FIR 滤波器的优化设计

 FIR 滤波器的优化设计是按照最大误差最小化准则,使所设计的频响与理想频响之间的最大误差,在 通带和阻带范围均为最小,而且是等波动逼近的。

 为了简化起见,在优化设计中一般将线性相位 FIR 滤波器的单位脉冲响应 h(n) 的对称中心置于 n=0 处,此时,线性相位因子 α=0。令 N=2M+1,则

 

如希望逼近一个低通滤波器,这里 M, ω c 和 ω r 固定为某个值。在这种情况下有

 

定义一逼近误差函数: E (ω ) = W (ω )[ H d (e jω ) -H (e jω )] 

E(ω)为在希望的滤波器通带和阻带内算出的误差值,W(ω)为加权函数,K 应当等于比值 δ1/δ2,δ1 为通带波动,δ2 为阻带波动。在这种情况下,设计过程要求|E(ω)|在区间 0 ≤ ω ≤ ω c 和 ω r ≤ ω ≤ π 的最大值为最小, 它等效于求最小 δ2。 根据数学上多项式逼近连续函数的理论, 用三角多项式逼近连续函数,在一定条件下存在最佳逼近的三角多项式,而且可以证明这个多项式是唯 一的。这一最佳逼近定理通常称作交替定理。 

在逼近过程中,可以固定 K,M,ω c 和 ω r ,而改变 δ2,按照交替定理,首先估计出(M+2)个误差函 数的极值频率 ω i ,i=0,1,...,M+1,共计可以写出(M+2)个方程 

 

 式中 ρ 表示峰值误差。一般仅需求解出 ρ,接着便可用三角多项式找到一组新的极值频率点,并求出新 的峰值误差 ρ。依此反复进行,直到前、后两次 ρ 值不变化为止,最小的 ρ 即为所求的 δ2。

 这一算法通常称作雷米兹(Remez)交替算法。

三、实验内容:

(1) N=45,计算并画出矩形窗、汉明窗、布莱克曼窗的归一化的幅度谱,并比较各自的主要特点。 

主要代码如下:

n=45;

y1=boxcar(n);

[h1,w1]=freqz(y1,n);

subplot(3,1,1);

plot(w1/pi,20*log(abs(h1)));

grid;

title('boxcar');

y2=hamming(n);

[h2,w2]=freqz(y2,n);

subplot(3,1,2);

plot(w2/pi,20*log(abs(h2)));

grid;

title('hamming'); 

y3=blackman(n);

[h3,w3]=freqz(y3,n);

subplot(3,1,3);

plot(w3/pi,20*log(abs(h3)));

grid;

title('blackman');

 

运行结果如图: 

分析: 矩形窗函数具有最窄的主瓣宽度,但有最大的旁瓣峰值;汉明窗函数的主瓣稍宽,而旁瓣较小;布莱克 曼窗函数则更甚之。 矩形窗设计的滤波器过渡带最窄,但是阻带最小衰减也最差; 布莱克曼窗设计的滤波器阻带衰减最好,过度带最宽,约为矩形窗设计的的三倍。 汉明窗设计的滤波器处于矩形窗和布莱克曼窗之间。 

(2) N=15,带通滤波器的两个通带边界分别是 ω1 = 0.3π , ω 2 = 0.5π 。用汉宁(Hanning)窗设计此线 性相位带通滤波器,观察它的实际 3dB 和 20dB 带宽。N=45,重复这一设计,观察幅频和相位特 性的变化,注意长度 N 变化的影响。 

程序如下:

n=15;

wn=[0.3,0.5]

b=fir1(n,wn,Hanning(n+1));

[h,w]=freqz(b,1,512);

freqzplot(h,w);

title('n=15 Hanning');

figure;

n=45;

wn=[0.3,0.5]

b=fir1(n,wn,Hanning(n+1));

[h,w]=freqz(b,1,512);

freqzplot(h,w);

title('n=45 Hanning');

运行结果如图: 所设计滤波器的 h(n): 相应的幅频相频特性曲线: 

分析: 观察它的实际 3dB 和 20dB 带宽,发现 N=15 时,其 3DB 带宽约为 0.2pi,20db 带宽约为 0.45pi; N=45 时,其 3DB 带宽约为 0.16pi,20db 带宽约为 0.3pi 5 DSP 试验 04008012 可见 N 增大,其 3db 带宽和 20db 带宽分别减小,滤波器特性变好,过渡带变陡,幅频曲线显示其通 带较平缓,波动小,阻带衰减大。相频特性曲线显示其相位随频率变化也变大。

(3) 分别改用矩形窗和 Blackman 窗,设计(2)中的带通滤波器,观察并记录窗函数对滤波器幅频特 性的影响,比较三种窗的特点。

 程序如下: 

n=15;

wn=[0.3,0.5]

b=fir1(n,wn,boxcar(n+1));

[h,w]=freqz(b,1,512);

freqzplot(h,w);

title('n=15 boxcar');

figure;

n=45;

b=fir1(n,wn,boxcar(n+1));

[h,w]=freqz(b,1,512);

freqzplot(h,w);

title('n=45 boxcar');

figure;

n=15;

b=fir1(n,wn,blackman(n+1));

[h,w]=freqz(b,1,512);

freqzplot(h,w);

title('n=15 blackman');

figure;

n=45;

b=fir1(n,wn,blackman(n+1));

[h,w]=freqz(b,1,512);

freqzplot(h,w);

title('n=45 blackman');

 相应的幅频曲线如图: 

分析:从以上图可见: 同一 N 值,分别用矩形窗,汉宁窗,汉明窗,布莱克曼窗设计滤波器时,主瓣宽度逐渐增大,过渡带 变宽,但阻带衰减性能变好;N 增加,主瓣变窄,旁瓣的分量增加,过渡带变陡,起伏震荡变密。 加窗处理对滤波器的频率响应会产生以下主要影响: (1)使理想特性不连续的边沿加宽,形成一过渡带,过渡带的宽度取决于窗函数频谱的主瓣宽度。 (2)在过渡带两旁产生肩峰和余振,它们取决于窗函数频谱的旁瓣;旁瓣越多,余振也越多;旁瓣相 对值越大,肩峰则越强。 (3)增加截断长度 N ,只能缩小窗函数频谱的主瓣宽度而不能改变旁瓣的相对值;旁瓣与主瓣的相对 关系只决定于窗函数的形状。因此增加 N,只能相对应减小过渡带宽。而不能改变肩峰值。肩峰值的大 小直接决定通带内的平稳和阻带的衰减,对滤波器性能有很大关系。 

(4) 用 Kaiser 窗设计一专用线性相位滤波器,N=40, H d (e jω ) 如图,当 β=4、6、10 时,分别设计、 比较它们的幅频和相频特性,注意 β 取不同值时的影响。 

程序如下:

n=40;wn=[0.2,0.4,0.6,0.8];

b=fir1(n,wn,kaiser(n+1,4));

[h,w]=freqz(b,1,512);

freqzplot(h,w);

title('kaiser beta=4');figure; 

b=fir1(n,wn,kaiser(n+1,6));

[h,w]=freqz(b,1,512);

freqzplot(h,w);

title('kaiser beta=6');figure;

b=fir1(n,wn,kaiser(n+1,10));

[h,w]=freqz(b,1,512); 

freqzplot(h,w);

title('kaiser beta=10');

    运行结果如图:

分析: β 越大,w(n)窗越窄,频谱的旁瓣越小,但主瓣宽度也相应增加,过渡带变宽,相位特性变好。

(5) 用频率采样法设计(4)中的滤波器,过渡带分别设一个过渡点,令 H(k)=0.5。比较两种不同方法的结果。

程序如下:

n=40;

w=[0 0.175 0.2 0.225 0.375 0.4 0.425  0.575 0.6 0.625 0.775 0.8 0.825 1];

m=[0 0 0.5  1 1  0.5 0 0 0.5  1 1  0.5 0 0];

b=fir2(n,w,m);

[h,w]=freqz(b,1,512);

freqzplot(h,w);

title('频率采样法'); 

 运行结果如右图所示:

分析: 

四:实验思考题

1.定性地说明用本实验程序设计的 FIR 滤波器的 3dB 截止频率在什么位置?它等于理想频率响应 Hd(ejω) 的截止频率吗? 

答:三分贝截止频率在主瓣内,幅度为最大幅度的一半的位置。它理论上不等于理想频率响应的截止频率,因为加了窗函数,频域上相当于是理想频率响应乘以窗函数,因此不一样。实验中读出的3dB带宽刚好和给的数值一样只是因为读数的误差,由图读得的比较不精确。

2.如果没有给定 h(n)的长度 N, 而是给定了通带边缘截止频率 ωc 和阻带临界频率 ωp, 以及相应的衰减, 你能根据这些条件用窗函数法设计线性相位 FIR 低通滤波器吗? 

答:可以,先根据不同窗函数的最小阻带衰减不同来选择适合(有不同的选择方法,只要符合条件即可)的窗函数,再利用主瓣宽,计算出N的值,下面就可以按前面的方法进行设计了。

六、实验总结

通过本实验FIR滤波器的设计,采用窗函数法,进一步熟悉了滤波器的设计,掌握了用窗函数设计FIR数字滤波器的原理及方法,熟悉了相应的计算机高级语言编程,从所做的图中也更熟悉了FIR滤波器的幅频和相频响应,也更清楚地知道了各种窗函数的不同。主瓣宽度和旁瓣高度是互相矛盾的两方面,主瓣宽度反映的是滤波器的通带频率和阻带频率,旁瓣高度则反映了滤波器的阻带衰减特性,设计时要兼顾双方,根据滤波器的要求相互协调。下载本文

显示全文
专题