(完整word版)数字滤波器的设计实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二IIR数字滤波器的设计
实验内容及步骤:
数字滤波器的性能指标:通带临界频率fp、阻带临界频率fr;通带内的最大衰减Ap;阻带内的最小衰减Ar;采样周期T;
(1)、fp=0.3KHz,Ap=0.8dB, fr=0.2KHz,Ar=20dB,T=1ms;设计一Chebyshev高通滤波器;观察其通带损耗和阻带衰减是否满足要求。
程序如下:
fp=300; fr=200;
Ap=0.8; Ar=20;
T=0.001;fs=1/T;
wp=2*pi*fp*T;
wr=2*pi*fr*T;
Wp=2/T*tan(wp/2);
Wr=2/T*tan(wr/2);
[N,Wn]=cheb1ord(Wp,Wr,Ap,Ar,'s');
[B,A] = cheby1(N,Ap,Wn,'high','s');
[num,den]=bilinear(B,A,1/T);
[h,w]=freqz(num,den);
plot(w*fs/(2*pi),20*log10(abs(h))); %衰减及频率都用归一化的1为单位显示axis([0,500,-30,0]);
title('Chebyshev高通滤波器');
xlabel('频率');
ylabel('衰减');
grid on;
根据下图知道通带损耗与阻带衰减满足要求
(2)、fp=0.2KHz,Ap=1dB, fr=0.3KHz,Ar=25dB,T=1ms;分别用脉冲响应不变法及双线性变换法设计一Butterworth数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。比较这两种方法的优缺点。
程序如下:
fp=200; fr=300;
Ap=1;Ar=25;
T=0.001;fs=1/T;
wp=2*pi*fp*T;
wr=2*pi*fr*T;
Wp=2/T*tan(wp/2);
Wr=2/T*tan(wr/2);
[N,Wn]=buttord(Wp,Wr,Ap,Ar,'s');
[B,A] = butter(N,Wn,'s');
[num1,den1]=impinvar(B,A,1/T); %脉冲响应不变法得出设计的传递函数
[num2,den2]=bilinear(B,A,1/T); %双线性变换法得出设计的传递函数[h1,w]=freqz(num1,den1);
plot(w*fs/(2*pi),20*log10(abs(h2)),w*fs/(2*pi),20*log10(abs(h1)), 'r.');grid on; %衰减及频率都用归一化的1为单位显示
axis([0,500,-30,0]);
title('Butterworth低通滤波器(红线—脉冲响应不变法蓝线—双线性变换法)');
xlabel('ƵÂÊ');
ylabel('Ë¥¼õ');
grid on;
优缺点:
采用脉冲响应不变法
优点:1.h(n)完全模仿模拟滤波器的单位抽样响应时域逼近良好
2线性相位模拟滤波器转变为线性相位数字滤波器
缺点:1.对时域的采样会造成频域的“混叠效应”,故有可能使所设计数字滤波器的频率响应与原来模拟滤波器的频率响应相差很大
2不能用来设计高通和带阻滤波器。只适用于限带的低通、带通滤波器
采用双线性变换法
优点:1避免了频率响应的混迭失真现象
2在特定数字滤波器和特定模拟滤波器处,频率响应是严格相等的,它可以较准确地控制截止频率的位置。
3它是一种简单的代数关系,设计十分方便。
缺点:1除了零频率附近,w与W之间严重非线性,即线性相位模拟滤波器变为非线性相位数字滤波器
2要求模拟滤波器的幅频响应为分段常数型,不然会产生畸变
3对于分段常数型AF滤波器,经双线性变换后,仍得到幅频特性为分段常数的DF.
但在各个分段边缘的临界频率点产生畸变,这种频率的畸变,可通过频率预畸变加以校正
(3)、利用双线性变换法分别设计满足下列指标的Butterworth型和Chebyshev型数字低通滤波器,并作图验证设计结果。f p=1.2kHz, A p≤0.5dB, f r=2KHz, A r≥40dB, f s=8KHz
程序如下:
fp=1200;fr=2000; Ap=0.5; Ar=40;
fs=8000; T=1/fs; wp=2*pi*fp*T; wr=2*pi*fr*T;
Wp=2/T*tan(abs(wp/2));Wr=2/T*tan(abs(wr/2));
[N,Wn]=buttord(Wp,Wr,Ap,Ar,'s');
[B,A] = butter(N,Wn,'s');
[num2,den2]=bilinear(B,A,1/T); %双线性变换法得到设计的传递函数[h2,w]=freqz(num2,den2);
figure(1);
subplot(2,1,1)
plot(w/pi*fs/2,10*log10(abs(h2).^2));
axis([0 fs/2 -50 0]);
title('Butterworth低通滤波器');
xlabel('频率 Hz');ylabel('衰减 dB');grid on;
subplot(2,1,2)
[N,Wn]=cheb1ord(Wp,Wr,Ap,Ar,'s');
[B,A] = cheby1(N,Ap,Wn,'s');
[num,den]=bilinear(B,A,1/T);
[h1,w]=freqz(num,den);
plot(w/pi*fs/2,10*log10(abs(h1).^2));
axis([0 fs/2 -50 0]);
title('chebyshev低通滤波器');
xlabel('频率 Hz'); ylabel('衰减 dB');grid on;