用窗函数法设计FIR数字滤波器Word文档格式.docx
《用窗函数法设计FIR数字滤波器Word文档格式.docx》由会员分享,可在线阅读,更多相关《用窗函数法设计FIR数字滤波器Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
(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'
;
subplot(312);
hanniing窗截断的单位脉冲响应'
%以下是hamming窗截断
wk=hamming(M+1);
subplot(313);
hamming窗截断的单位脉冲响应'
figure
(2);
plot(w,20*log10(abs(H)));
grid;
矩形窗截断的幅频响应'
hanniing窗截断的幅频响应'
hamming窗截断的幅频响应'
figure(3);
subplot(221);
stem(k,xk,'
输入x[k]'
subplot(222);
stem(k,xk.*hk,'
矩形窗滤波后输出'
subplot(223);
hanniing窗滤波后输出'
subplot(224);
hamming窗滤波后输出'
(1)
(2)
(3)
2.分别用blackman窗和kaiser窗法设计一个满足下列指标的线性相位的FIR低通滤波器,画出所设计的滤波器的幅频响应。
简单评述两种窗的设计结果。
实现过程:
%分别用blackman窗和kaiser窗法设计一个满足下列指标的线性相位的FIR低通滤波器
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;
wk=blackman(N);
subplot(211);
plot(w/pi,20*log10(abs(H)));
xlabel('
Normalizedfrequency'
ylabel('
GainindB'
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)));
kaiser窗设计的FIR滤波器'
比较:
kaiser窗的过渡带较长,在阻带的衰减波动逐渐减小;
利用blackman窗设计出的低通滤波器阻带衰减最大。
3.用频率取样法设计一个的Ⅰ型线性相位带通FIR滤波器。
带通滤波器的通带截止频率分别为。
%用频率取样法设计一个M=44的Ⅰ型线性相位带通FIR滤波器。
%带通滤波器的通带截止频率分别为
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));
频率取样法设计的FIR滤波器'
4.已知理想低通滤波器为,矩形窗函数
1)求理想低通滤波器的单位脉冲响应,并画出。
2)当时,画出矩形窗函数的幅频响应。
3),画出加窗处理以后的低通滤波器的幅频响应。
OmegaC=0.5*pi;
M=15;
hd=OmegaC*sinc(OmegaC*(k-0.5*M))/pi;
stem(k,hd,'
理想低通滤波器的单位脉冲响应'
w=linspace(-pi,pi,1000);
Wm=freqz(wk,1,w);
plot(w/pi,abs(Wm));
矩形窗函数的幅频响应N=16'
加窗处理以后的低通滤波器的幅频响应'
四、思考题
1.FIR滤波器是否需要考虑稳定性问题?
为什么?
答:
不需要;
FIR滤波器的单位脉冲响应是有限长的,系统总是稳定的
2.窗函数法和频率抽样法的优缺点是什么?
窗函数法是利用有限长的单位脉冲响应h[k]逼近无限长的理想滤波器的hd[k],从而使设计的FIR滤波器的频率响应逼近理想滤波器的频率响应
频率取样法是使设计的M阶FIR滤波器的频率响应在M+1个取样点上与理想滤波器的频率响应相等,不足的是设计出的FIR滤波器的幅度函数在通带边界存在过冲,在阻带也有较大波动。
窗函数设计FIR数字滤波器是傅里叶变换的典型运用,而频率采样法设计的指导思想是频域采样定理和内插公式,其阻带衰减的改善是通过增加过渡采样点实现的,为了保证过渡带宽的不变,滤波器的采样点数也要相应增加,计算复杂度也随之增加。
3.结合实验内容4,谈谈你对泄漏现象与Gibbs(吉伯斯)现象的理解。