用窗函数法设计FIR数字滤波器(00002)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用窗函数法设计FIR数字滤波器
实验五用窗函数法设计FIR数字滤波器
一、实验目的:
1.掌握用窗函数法设计FIR数字滤波器的原理和方法
2.熟悉线性相位FIR数字滤波器特性。
3.了解各种窗函数对滤波特性的影响。
二、实验原理
线性相位特点在实际应用中非常重要,如在数据通信、图像处理、语音信号处理等领域,往往要求系统具有线性相位特性,因而常采用容易设计成线性相位的有限冲激响应FIR数字滤波器来实现。
1.常用窗函数:
1)矩形窗
10 []
0k M
w k
≤≤⎧
=⎨
⎩其他
(5.21)
2) H ann (汉纳)窗
0.5-0.5cos(2/)0[]0
k M k M w k π≤≤⎧=⎨
⎩
其他
(5.22)
3) H amming (汉明)窗 0.54-0.46cos(2/)0[]0
k M k M w k π≤≤⎧=⎨
⎩其他
(5.23)
4) B lackman (布莱克曼)窗
0.42-0.5cos(2/)0.08cos(4/)0[]0
k M k M k M w k ππ+≤≤⎧=⎨
⎩
其他
(5.24)
5) K aiser (凯泽)窗 200(1(12?))
[]0I k M w k k M
β--=
≤≤
(5.25)
其中
2
201(/2)()1!n x I x n ∞
=⎡⎤
=+⎢
⎥⎣⎦
∑
下面介绍用窗函数设计FIR 滤波器的步骤: a) 根据技术要求确定待求滤波器的单位取样响应
[]
d h k 。
b) 根据对过渡带和阻带衰减的要求,选择窗函数的形式,并估计窗函数长度/N A w ≈∆,A 决定于窗口的形式, w ∆表示滤波器的过渡带。
c) 利用选好的窗函数计算滤波器的单位取样响应
[][][]
d h k h k w k =。
d) 验算技术指标是否满足要求。设计出来的滤波器的频率响应用1
()[]N j j n
n H e
h k e -Ω
-Ω==∑来计算。
2. M atlab 数字信号处理工具箱中常用的FIR 数字滤波器设计函数
hanning 汉纳窗函数。 hamming 汉明窗函数。 blackman 布莱克曼窗函数。 kaiser 凯泽窗函数。
kaiserord 凯泽窗函数设计法的阶数估计。 fir1 窗函数法FIR 数字滤波器设计:低通、高通、带通、带阻、多频率滤波。 fir2 频率抽样法FIR 数字滤波器设计:
任意频率响应。
三、实验内容
1. 分别用矩形窗、hann 窗,hamming 窗设计一个阶数为9的FIR 低通数字滤波器,截止频率3
c
rad
π
Ω
=
。
1) 画出各种方法设计的数字滤波器的单位脉冲响应。 2) 画出它们的幅频响应,并比较各滤波器的通带纹波和阻带纹波,有何结论?
3) 若当输入[]12cos()cos()42
x k k k ππ
=++,计算各滤波器的输出并画出其波形。
程序过程:
clc;clear all ;
%阶数为M=9,数字截止频率为 pi/3;设计II 型低通线性相位滤波器 M=9;Wc=pi/3;k=0:M;
hd=Wc*sinc(Wc*(k-0.5*M))/pi; xk=1+2*cos(pi*k/4)+cos(pi*k/2); figure(1); %以下是矩形窗截断 wk=ones(1,M+1);
hk=hd.*wk;[H,w]=freqz(hk,1);
subplot(311);
stem(k,hk,'.');
title('矩形窗截断的单位脉冲响应');
%以下是hann窗截断
wk=hanning(M+1);
hk=hd.*wk';[H,w]=freqz(hk,1); subplot(312);stem(k,hk,'.');
title('hanniing窗截断的单位脉冲响应'); %以下是hamming窗截断
wk=hamming(M+1);
hk=hd.*wk';[H,w]=freqz(hk,1); subplot(313);stem(k,hk,'.');
title('hamming窗截断的单位脉冲响应');
figure(2);
%以下是矩形窗截断
wk=ones(1,M+1);
hk=hd.*wk;[H,w]=freqz(hk,1);
subplot(311);
plot(w,20*log10(abs(H)));grid;
title('矩形窗截断的幅频响应');
%以下是hann窗截断
wk=hanning(M+1);
hk=hd.*wk';[H,w]=freqz(hk,1); subplot(312);
plot(w,20*log10(abs(H)));grid; title('hanniing窗截断的幅频响应'); %以下是hamming窗截断
wk=hamming(M+1);
hk=hd.*wk';[H,w]=freqz(hk,1); subplot(313);
plot(w,20*log10(abs(H)));grid; title('hamming窗截断的幅频响应');
figure(3);
subplot(221);
stem(k,xk,'.');
title('输入x[k]');
%以下是矩形窗截断
wk=ones(1,M+1);
hk=hd.*wk;
subplot(222);
stem(k,xk.*hk,'.');
title('矩形窗滤波后输出');
%以下是hann窗截断
wk=hanning(M+1);
hk=hd.*wk';
subplot(223);
stem(k,xk.*hk,'.');
title('hanniing窗滤波后输出');