用窗函数法设计FIR数字滤波器(00002)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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窗滤波后输出');

相关文档
最新文档