用窗函数法设计FIR数字滤波器00002.docx
- 文档编号:10691282
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:12
- 大小:118.13KB
用窗函数法设计FIR数字滤波器00002.docx
《用窗函数法设计FIR数字滤波器00002.docx》由会员分享,可在线阅读,更多相关《用窗函数法设计FIR数字滤波器00002.docx(12页珍藏版)》请在冰豆网上搜索。
用窗函数法设计FIR数字滤波器00002
用窗函数法设计FIR数字滤波器
实验五用窗函数法设计FIR数字滤波器
一、实验目的:
1.掌握用窗函数法设计FIR数字滤波器的原理和方法
2.熟悉线性相位FIR数字滤波器特性。
3.了解各种窗函数对滤波特性的影响。
二、实验原理
线性相位特点在实际应用中非常重要,如在数据通信、图像处理、语音信号处理等领域,往往要求系统具有线性相位特性,因而常采用容易设计成线性相位的有限冲激响应FIR数字滤波器来实现。
1.常用窗函数:
1)矩形窗
(5.21)
2)Hann(汉纳)窗
(5.22)
3)Hamming(汉明)窗
(5.23)
4)Blackman(布莱克曼)窗
(5.24)
5)Kaiser(凯泽)窗
(5.25)
其中
下面介绍用窗函数设计FIR滤波器的步骤:
a)根据技术要求确定待求滤波器的单位取样响应
。
b)根据对过渡带和阻带衰减的要求,选择窗函数的形式,并估计窗函数长度
,
决定于窗口的形式,
表示滤波器的过渡带。
c)利用选好的窗函数计算滤波器的单位取样响应
。
d)验算技术指标是否满足要求。
设计出来的滤波器的频率响应用
来计算。
2.Matlab数字信号处理工具箱中常用的FIR数字滤波器设计函数
hanning汉纳窗函数。
hamming汉明窗函数。
blackman布莱克曼窗函数。
kaiser凯泽窗函数。
kaiserord凯泽窗函数设计法的阶数估计。
fir1窗函数法FIR数字滤波器设计:
低通、高通、带通、带阻、多频率滤波。
fir2频率抽样法FIR数字滤波器设计:
任意频率响应。
三、实验内容
1.分别用矩形窗、hann窗,hamming窗设计一个阶数为9的FIR低通数字滤波器,截止频率
。
1)画出各种方法设计的数字滤波器的单位脉冲响应。
2)画出它们的幅频响应,并比较各滤波器的通带纹波和阻带纹波,有何结论?
3)若当输入
,计算各滤波器的输出并画出其波形。
程序过程:
clc;clearall;
%阶数为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窗滤波后输出');
%以下是hamming窗截断
wk=hamming(M+1);
hk=hd.*wk';
subplot(224);
stem(k,xk.*hk,'.');
title('hamming窗滤波后输出');
(1)
(2)
(3)
2.分别用blackman窗和kaiser窗法设计一个满足下列指标的线性相位的FIR低通滤波器
,画出所设计的滤波器的幅频响应。
简单评述两种窗的设计结果。
实现过程:
%分别用blackman窗和kaiser窗法设计一个满足下列指标的线性相位的FIR低通滤波器
clc;clearall;
Wp=0.4*pi;Ws=0.6*pi;Ap=0.5;As=45;
Wc=(Wp+Ws)/2;
%Blackman窗的近似过渡带宽度为11.4pi/N;窗函数的长度N
N=ceil(11.4*pi/(Ws-Wp));
%N=58,滤波器阶次M=N-1=57可以设计II型低通线性相位系统
M=N-1;k=0:
M;
hd=Wc*sinc(Wc*(k-0.5*M))/pi;
wk=blackman(N);
hk=hd.*wk';
[H,w]=freqz(hk,1);
subplot(211);
plot(w/pi,20*log10(abs(H)));grid;
xlabel('Normalizedfrequency');ylabel('GainindB');
title('blackman窗设计的FIR滤波器');
%kaiser窗设计
subplot(212);
f=[Wp/pi,Ws/pi];a=[1,0];dev=[1-10^(-0.05*Ap),10^(-0.05*As)];
[M1,Wc1,beta,ftype]=kaiserord(f,a,dev);
wk1=kaiser(M1+1,beta);
hk1=fir1(M1,Wc1,ftype,wk1);
[H1,w1]=freqz(hk1,1);
plot(w1/pi,20*log10(abs(H1)));grid;
xlabel('Normalizedfrequency');ylabel('GainindB');
title('kaiser窗设计的FIR滤波器');
比较:
kaiser窗的过渡带较长,在阻带的衰减波动逐渐减小;
利用blackman窗设计出的低通滤波器阻带衰减最大。
3.用频率取样法设计一个
的Ⅰ型线性相位带通FIR滤波器。
带通滤波器的通带截止频率分别为
。
%用频率取样法设计一个M=44的Ⅰ型线性相位带通FIR滤波器。
%带通滤波器的通带截止频率分别为
clc;clearall;
Wp1=0.3*pi;Wp2=0.5*pi;M=44;
m=0:
M/2;
Wm=2*pi.*m/(M+1);
%设计理想滤波器的幅度函数Ad[m]
mtr1=floor(Wp2*(M+1)/(2*pi))+2;
Ad1=double([Wm<=Wp2]);
mtr2=ceil(Wp1*(M+1)/(2*pi));
Ad2=double([Wp1<=Wm]);
Ad=Ad1.*Ad2;Ad(mtr1)=0.38;Ad(mtr2)=0.28;
Hd_1=Ad.*exp(-j*Wm*M/2);
Hd_2=conj(fliplr(Hd_1(2:
M/2)));
Hd=[Hd_1,Hd_2];
hk=real(ifft(Hd));
w=linspace(0,pi,1000);
H=freqz(hk,1,w);
%归一化频率下的幅频响应
plot(w/pi,abs(H));grid;
xlabel('Normalizedfrequency');ylabel('GainindB');
title('频率取样法设计的FIR滤波器');
4.已知理想低通滤波器为
,矩形窗函数
1)求理想低通滤波器的单位脉冲响应
,并画出
。
2)当
时,画出矩形窗函数的幅频响应
。
3)
,画出加窗处理以后的低通滤波器
的幅频响应
。
实现过程:
clc;clearall;
OmegaC=0.5*pi;M=15;k=0:
M;
hd=OmegaC*sinc(OmegaC*(k-0.5*M))/pi;
subplot(311);stem(k,hd,'.');grid;
title('理想低通滤波器的单位脉冲响应');
wk=ones(1,M+1);
w=linspace(-pi,pi,1000);
Wm=freqz(wk,1,w);
subplot(312);
plot(w/pi,abs(Wm));grid;
title('矩形窗函数的幅频响应N=16');
hk=hd.*wk;
w=linspace(-pi,pi,1000);
H=freqz(hk,1,w);
subplot(313);
plot(w/pi,abs(H));grid;
title('加窗处理以后的低通滤波器的幅频响应');
四、思考题
1.FIR滤波器是否需要考虑稳定性问题?
为什么?
答:
不需要;FIR滤波器的单位脉冲响应是有限长的,系统总是稳定的
2.窗函数法和频率抽样法的优缺点是什么?
答:
窗函数法是利用有限长的单位脉冲响应h[k]逼近无限长的理想滤波器的hd[k],从而使设计的FIR滤波器的频率响应逼近理想滤波器的频率响应
频率取样法是使设计的M阶FIR滤波器的频率响应在M+1个取样点上与理想滤波器的频率响应相等,不足的是设计出的FIR滤波器的幅度函数在通带边界存在过冲,在阻带也有较大波动。
窗函数设计FIR数字滤波器是傅里叶变换的典型运用,而频率采样法设计的指导思想是频域采样定理和内插公式,其阻带衰减的改善是通过增加过渡采样点实现的,为了保证过渡带宽的不变,滤波器的采样点数也要相应增加,计算复杂度也随之增加。
3.结合实验内容4,谈谈你对泄漏现象与Gibbs(吉伯斯)现象的理解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 设计 FIR 数字滤波器 00002
![提示](https://static.bdocx.com/images/bang_tan.gif)