信号处理 Matlab 仿真
作业四
专业班级:
学生姓名:
学 号:
(1)f c 0 .3 kHz , 0 .8dB , f r 0.2kHz , At 20 dB , T 1ms ;设计一
切比雪夫高通 滤波器,观察其通带损耗和阻带衰减是否满足要求。
程序:
clear;
fc=300;fr=200;fs=1000;rp=0.8;rs=20;
wc=2*fs*tan(2*pi*fc/(2*fs));
wt=2*fs*tan(2*pi*fr/(2*fs));
[N,wn]=cheb1ord(wc,wt,rp,rs,'s');
[B,A]=cheby1(N,rp,wn,'high','s');
[bz,az]=bilinear(B,A,fs);
[h,w]=freqz(bz,az);
f=w*fs/(2*pi);
plot(f,20*log10(abs(h)));
axis([0,fs/2,-80,10]);
grid;
xlabel('频率/Hz');
ylabel(' 幅度/dB');
结果:
0 50 100 150 200 250 300 350 400 450 500
频率
/Hz
-80
-70
-60
-50
-40
-30
-20
-10
0
10
幅度 /dB
分析: f=200Hz 时阻带衰减大于 30dB,通过修改 axis([0,fs/2,-80,10]) 为
axis([200,fs/2,-1,1]) 发现通带波动 rs 满足<0.8
bz =[0.0262 -0.1047 0.1570 -0.1047 0.0262]
az =[1.0000 1.5289 1.6537 0.9452 0.2796]
可求出系统函数。
(2)
f kHz c 0 .2 , 1dB , f r 0.3kHz , At 25 dB , T 1ms ;分别用脉冲响应
不变 法及双线性变换法设计一巴特沃思数字低通滤波器,观察所设计数字滤波
器的幅频特性曲 线,记录带宽和衰减量,检查是否满足要求。比较这两种方法
的优缺点。
程序:
clear;
fs=1000;fc=200;fr=300;rp=1;rs=25;
%脉冲响应不变法
wp=2*pi*fc;
ws=2*pi*fr;
[N, wn] = buttord(wp, ws, rp, rs, 's');
[b1 a1]=butter(N,wn,'s');
[bz1,az1]=impinvar(b1,a1,fs);
[h1,w]=freqz(bz1,az1);
%双线性变换法
wp=2*fs*tan(2*pi*fc/fs/2);
ws=2*fs*tan(2*pi*fr/fs/2);
[N, wn] = buttord(wp, ws, rp, rs, 's');
[b2 a2]=butter(N,wn,'s');
[bz2,az2]=bilinear(b2,a2,fs);
[h2,w]=freqz(bz2,az2);
f=w/(2*pi)*fs;
figure; plot(f,abs(h1),'-.r',f,abs(h2),'-b');
grid; xlabel('频率/Hz'); ylabel(' 幅度 ');
legend('脉冲响应不变法',' 双线性变换法');
title(' 巴特沃斯低通滤波器,线性幅度谱');