实验目的
本实验结合理论教材IIR数字滤波器设计中有关模拟滤波器的数字化的教学内容, 学习和学握将IIR模拟滤波器变换成IIR数字滤波器的基本原理和实现步骤, 学习MATLAB中将模拟滤波器数字化设计IIR数字滤波器的相关函数, 掌握使用MATLAB设计IIR数字滤波器的过程与方法。
所使用的主要函数
impinvar:冲激响应变换法函数
bilinear:双线性变换法函数
buttord:数字/模拟巴特沃斯滤波器阶数选择函数
buttap:创巴特沃斯低通模拟滤波器函数
butter:设计N阶巴特沃斯数字滤波器函数
cheblap:N阶I型切比雪夫滤波器
cheb2ap:N阶II型切比雪夫滤波器
ellipap:N阶椭圆滤波器的零点向量
实验内容
设计低通数字滤波器,要求通带内频率低于0.2Πrad时,允许幅度误差在1dB之内;频率在0.3Π到Π之间的阻带衰减大于10dB。试采用巴特沃斯模拟滤波器进行设计,用冲激响应不变法进行转换,采样间隔T=1ms。
实验代码和数据分析
clc;clear;close all;
T=0.001;fc=1/T;
ap=1;as=10;wp=0.2*pi;ws=0.3*pi;
Wanp=wp*fc;
Wans=ws*fc;
[N,Wanc]=buttord(Wanp,Wans,ap,as,'s');%求模拟滤波器阶数N与Ωc
[b,a]=butter(N,Wanc,'s');%求低通模拟滤波器传递函数的分子分母多项式系数向量
[B1,A1]=impinvar(b,a,fc);%冲激响应变换法求数字滤波器系统函数的分子分母多项式系数向量
[H1,w1]=freqz(B1,A1,'whole');
figure(1)
X=w1/pi;
Y=20*log10(abs(H1));
plot(X,Y);
xlabel('w/\pi');ylabel('H/dB');
title('冲激响应不变法设计的低通数字滤波器');
x1=0.2;x2=0.3;x3=1;
y1=interp1(X,Y,x1);
y2=interp1(X,Y,x2);
y3=interp1(X,Y,x3);
hold on;
plot(x1,y1,'-o');
plot(x2,y2,'-o');
plot(x3,y3,'-o');
如图所示,各指标符合题目要求
评价
脉冲响应不变法的优缺点。
脉冲响应不变法的优点:模拟频率到数字频率的转换是线性的。
缺点:会产生频谱混叠现象,只适合带限滤波器。