用双线性变换法设计IIR数字滤波器
[实验目的]
熟悉模拟巴特沃茨滤波器设计和用双线性变换法设计IIR数字滤波器的方法。
[实验原理]
利用双线性变换设计IIR数字滤波器,首先要设计出满足指标要求的模拟滤波器的传递函数Ha(S),然后由Ha(S)通过双线性可得所要设计的IIR数字滤波器的系统函数H(Z)。
[实验内容及要求]
用双线性变换法设计IIR滤波器是IIR滤波器设计的经典方法,首先根据模拟滤波器的指标设计出来相应的模拟滤波器,然后将设计好的模拟滤波器转换为满足给定技术指标的数字滤波器。在MATLAB的数字信号处理工具箱中提供了相应的设计函数,常用的有:
butterworth数字和模拟
零极点增益模型到传递函数模型的转换函数
低通到低通模拟滤波器的转换函数
双线性变换函数
Butterworth数字和模拟滤波器设计函数
计算butterworth低通原型模拟滤波器的极点和增益函数
计算离散时间系统的频率响应函数
用双线性变换法设计BUTTERWORTH低通IIR数字滤波器,要求使用buttord,butter,biliner。
滤波器技术指标:取样频率1HZ,,通带内衰减小于1db,,阻带内衰减大于25DB。
解:
wp=*2*pi;
ws=*2*pi;
rp=1;
rs=25;
fs=1;
ts=1/fs;
wp2=2*fs*tan(wp/2*ts);
ws2=2*fs*tan(ws/2*ts);
[n,wn]=buttord(wp2,ws2,rp,rs,'s')
[z,p,k]=buttap(n)
[bap,aap]=zp2tf(z,p,k)
[b,a]=lp2lp(bap,aap,wn)
[bz,az]=bilinear(b,a,fs);
[h,w]=freqz(bz,az);
subplot(2,1,1);
plot(w/pi,abs(h));
grid on
xlabel('频率');
ylabel('幅度');
subplot(2,1,2);
实验十二 用双线性变换法设计IIR数字滤波器 来自淘豆网www.taodocs.com转载请标明出处.