实验三 FIR滤波器的设计

时间:2025-04-20

实验三 FIR滤波器的设计

37022403 牟雪曼

一、实验目的:

FIR滤波器的设计,通常有窗函数设计法、频率抽样设计法和最佳逼近设计法。我们在本实验中,研究前两种设计方法。

通过第一道上机题,掌握利用窗函数设计FIR滤波器的方法,了解阶数不同时,滤波器的指标有何变化,了解矩形窗和哈明窗在主瓣宽度、旁瓣峰值、旁瓣衰减速度方面的差异。通过第二道上机题的练习,掌握设计凯泽而窗时各参数的计算和凯泽而窗的设计,了解凯泽而窗的特点,及其与其它窗在主瓣宽度、旁瓣峰值、旁瓣衰减速度等方面的异同。通过第三道上机题的练习,掌握并了解在过渡带加过渡点对逼近滤波器的实际响应的影响,掌握频率抽样定理及其内插公式.

二、实验程序

1、当N=11,41,81,和121时,用矩形窗设计一个低通FIR滤波器,其剪切频率

出其幅度响应H( ),用哈明窗重复上述设计,比较两个窗。

function[]=fir1(n);

i=1;

while i~=5

n=input('输入FIR滤波器阶数N=');

z1=fir1(n,0.3,rectwin(n+1));

z2=fir1(n,0.3,hamming(n+1));

[h1,w1]=freqz(z1);

[h2,w2]=freqz(z2);

subplot(2,2,i);plot(w1,abs(h1),'r');

hold on;

plot(w2,abs(h2),'-- b');

legend('采用矩形窗','采用汉明窗');

xlabel('角频率 w (rad)');

ylabel('幅度 |H(jw)|');

title(strcat('N=',num2str(n),'阶FIR滤波器'))

grid on;

axis([0 3.5 0 1.5]);i=i+1;

end

2、用凯泽而窗、哈明窗、矩形窗设计一个具有以下指标的滤波器:

fs 20kHz,fpass 4kHz,fstop 5kHz,Apass 0.1dB,Astop 80dB,画出它们的幅频响 c 0.3 .画

应.然后,再用三种窗设计一个具有下列指标的高通滤波器

fs 20kHz,fpass 5kHz,fstop 5kHz,Apass 0.1dB,Astop 80dB。

function[]=fir2()

i=1;

while i~=3;

Rs=input('rs=');i=i+1;

a=[1 0];

dev=Rs*ones(1,length(a));

f=[0.2 0.25];

[M,Wc,beta,ftype]=Kaiserord(f,a,dev);

M=mod(M,2)+M;

z0=fir1(M,Wc,kaiser(M+1,beta));

z1=fir1(M,Wc,hamming(M+1));

z2=fir1(M,Wc,rectwin(M+1));

[h0,w0]=freqz(z0);

[h1,w1]=freqz(z1);

[h2,w2]=freqz(z2);

subplot(1,2,i-1);

plot(w0,abs(h0),'r');

hold on;

plot(w1,abs(h1),'-- g');

plot(w2,abs(h2),'-. b');

legend('采用Kaiser窗','采用Hamming窗','采用rectwin窗');

xlabel('角频率 w (rad)');

ylabel('幅度 |H(jw)|');

title(strcat('Rs=',num2str(Rs),'dB','FIR滤波器'));

grid on;

axis([0 3.5 0 1.3]);

end

3、. 用频率抽样法设计一个理想低通滤波器,该低通滤波器的通带截止频率为3 /8,阻带截止频率为4 /8.

a.不加过渡点.b.加一个过渡点.c.加两个过渡点.

function[]=fir3()

a=[1 0];

dev=[0.01 0.01];

f=[0.375 0.5];

Wp=0.5*pi;

[M,Wc,beta,ftype]=Kaiserord(f,a,dev);

%无过渡点

z=fir1(M,Wc,kaiser(M+1,beta));

[h0,w0]=freqz(z);

%加一个过渡点

m1=0:M/2;

Wm1=2*pi*m1./(M+1);

mtr1=ceil(Wp*(M+1)/(2*pi));

Ad1=[Wm1<=Wp];Ad(mtr1)=0.28;

Hd1=Ad1.*exp(-j*0.5*M*Wm1);

Hd1=[Hd1 conj(fliplr(Hd1(2:M/2+1)))];

u1=real(ifft(Hd1));

[h1,w1]=freqz(u1);

%加2个过渡点

m2=0:(M+1)/2;

Wm2=2*pi*m2./(M+1);

mtr2=floor(Wp*(M+1)/(2*pi))+2;

Ad2=[Wm2<=Wp];

Ad2(mtr2)=0.38;

Hd2=Ad2.*exp(-j*0.5*M*Wm2);

Hd2=[Hd2 conj(fliplr(Hd2(2:(M+1)/2)))];

u2=real(ifft(Hd2));

[h2,w2]=freqz(u2);

plot(w0,abs(h0),'r');

hold on;

plot(w1,abs(h1),'-- g');

plot(w2,abs(h2),'-. b');

xlabel('归一化角频率 w (rad)');

ylabel('幅度 |H(jw)|');

title('频率抽样法设计FIR滤波器');

grid on;

axis([0 3.5 0 1.3]);

三、实验结果和结果分析

1、用矩形窗设计一个低通FIR滤波器

阶数越大,滤波器逼近效果越好,但下降沿的吉布斯效应越明显。

经对比,采用矩形窗比采用哈明窗逼近效果更好,但纹波比较大,不如哈明窗平坦。

2、用凯泽而窗、哈明窗、矩形窗设计低通、高通滤波器:

Kaiser窗设计的FIR滤波器在各带的波动是相等的,所以kaiserord是利用最小的波动值来估计滤波器的阶数。当取通带内纹波系数为0.1dB时,发现Kaiser窗和矩形窗效果相同。但当Rs=0.01dB时,采用Kaiser窗比采用矩形窗逼近效果更好。所以在纹波系数要求较高时,采用Kaiser窗设计Fir滤波器。

采用Kaiser窗和矩形窗都不如采用Hamming窗逼近的效果平坦,但是边沿更陡峭。

3、没有过渡点、有1个过渡点、有2个过渡点的幅频特性如下图所示

过渡带[ p, s]之间加入一个幅度在0和1之间的过渡点来设计滤波器,则过渡点的幅度值T1的大小将影响设计出的滤波器性能。能使滤波器阻带衰减达到最大的过渡点幅度值T1称为最优值,最优值可通过优化算法或实验得出。增加两个过渡点可以进一步增加阻带衰减可考虑。

…… 此处隐藏:846字,全部文档内容请下载后查看。喜欢就下载吧 ……
实验三 FIR滤波器的设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219