实验三:数字滤波器的设计

(一)实验目的:掌握IIR数字低通滤波器的设计方法。

(三)实验内容:

题一:试用双线性Z变换法设计一低通数字滤波器,给定技术指标是Hz,HzdB dB,抽样频率Hz

提示:首先应该得到角频率,然后再

(1) 将数字滤波器的技术要求转换为模拟滤波器的技术要求。

(2) 设计低通滤波器

由=依次求出,,再求出N,可得

然后由转换成

(3) 由求

设计步骤:

1)求出角频率  

2)对角频率做预畸变 

3)求出模拟低通滤波器的阶次,利用函数[N,Wn]=buttord(Wp,Ws,Rp,Rs’s’)   注意:Wp,Ws应该为(2)中的,。

4)设计模拟低通原型滤波器,其调用格式是  [z,p,k]=buttap(N)。 

N是欲设计的低通原型滤波器的阶次,zpk分别是设计出的的极点、零点及增益。

5)求模拟低通原型滤波器的分子分母系数, [b,a]=zp2tf(z,p,k)。

6)求出的分子、分数系数。[BA]=lp2lp(b,a,Wo)

7)求出的分子、分母系数,利用bilinear函数。

8)求频率响应,利用Freqz函数。

9)画的图 。

clc;
fp=100;fs=300;Rp=3;As=20;Fs=1000;
wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;
omegaP=2*Fs*tan(wp/2);omegaS=2*Fs*tan(ws/2);
[N,omegaC]=buttord(omegaP,omegaS,Rp,As,'s');
[z,p,k]=buttap(N);
[b,a]=zp2tf(z,p,k);
[d,c]=lp2lp(b,a,omegaC);
[bz,az]=bilinear(d,c,Fs);
[H,W]=freqz(bz,az);
figure(1);plot(W,abs(H));grid on;
xlabel('W');ylabel('|H(jw)|');
title('Magnitude Frequency幅频特性');
db=20*log10(abs(H));
[H,W]=freqz(bz,az,1024,'whole',Fs);
figure(2);plot(W,db);grid on;
xlabel('W');ylabel('dB');
title('Magnitude Frequency幅频特性(db)');

结果:



(四)心得体会:

了解函数程序其中字母所代表的含义,统筹全局,再加上自己所拥有的知识,

理清思路,构造好流程图,在步步瓦解,最后不停的调试直至得到满意的结果。


猜你喜欢

转载自blog.csdn.net/CSDNJay/article/details/46628261