资源描述:
《实验六_用双线性变换法设计iir数字滤波器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、电信类课程试验报告学院:基础信息工程系别:电子信息工程课程名称:数字信号处理姓名:学号:日期:实验六实验名称:用双线性变换法设计IIR数字滤波器一、实验目的熟悉模拟巴特沃兹(Batterworth)滤波器设计和用双线性变换去设计IIR数字滤波器的方法.二、主要函数简介用双线性变换法设计IIR滤波器是IIR的滤波器设计的经典方法,首先根据模拟滤波器的指标设计出相应的模拟滤波器,然后将设计好的模拟滤波器转换成满足给技术指标的数字拨器。在MATLAB的数字信号处理工具箱中提供了相应的设计函数,常用的有:1.Butterwo
2、rth数字和模拟[N,Wn]=buttord()输入参数:是对归一化后的通带截止频率,是对归一化后的阻带截止频率,Rp是通带最大衰减,Rs是阻带最小衰减,且Rp,Rs的单位为分贝(dB)。输出参数:N是符合要求的数字滤波器的最小阶数,Wn为Butterworth滤波器的3dB。[N,Wn]=buttord()输入参数:是模拟滤波器的通带截止频率,是模拟滤波器的阻带截止频率,它们的单位是弧度/秒;Rp是通带最大衰减,Rs是阻带最小衰减。输出参数:N是符合要求的模拟滤波器的最小阶数,Wn是Butterworth滤波器的3
3、dB。2.零极点增益模型到传递函数模型的转换函数[num,den]=zp2tf(z,p,k)输入参数:z,p,k分别边式零极点增益模型的零点矢量,极点矢量和增益。输出参数:num,den分别为传递函数分子和分母的多项式系数。3.低通到低通模拟滤波器的转换函数[b,a]=lp2lp(Bap,Aap,Wn)输入参数Bap和Aap分别是低通原形模拟滤波器系统函数的分子和分母多项式系数输出参数:b和a分别是截止频率为Wn的低通模拟滤波器传递函数的分子分母多项式系数。功能:把模拟滤波器原形转换成截止频率为Wn的低通模拟滤波器。
4、4.双线性变换函数[bz,az]=bilenear(b,a,,Fs);输入参数:b,a分别是模拟滤波器传递函数的分子和分母的多项式系数,Fs是取样频率。输出参数:bz,az,分别是数字滤波器系统函数的分子和分母的多项式系数。功能:把模拟滤波器的零极点模型转换成数字滤波器的零极点模型。5.Butterworth数字和模拟滤波器设计函数[b,a]=butter(n,Wn,’ftype’)输入参数:n和Wn分别是所要设计的数字Butterworth滤波器阶数和截止频率参数。参数ftype确定了滤波器的形式;ftype缺省时
5、,Wn为一个元素,则为低通,Wn为两个元素的矢量,则为带通;ftype为high时,则为高通;ftype为stop时,则为带阻。输出参数:b,a分别是所要设计的滤波器系统函数的分子和分母的多项式系数。功能:设计一个阶数为n,截止频率参数为Wn的数字滤波器[b,a]=butter(n,Wn,’ftype’,’s’)输入参数:n和Wn分别是所要设计的模拟滤波器阶数和截止频率参数,Wn的单位为弧度/秒;参数ftype同上。输出参数:b,a分别是所要设计的模拟滤波器传递函数的分子和分母的多项式系数。功能:设计一个阶数为n,截
6、止频率为Wn的模拟滤波器。6.计算buttworth低通原型模拟滤波器的零极点和增益函数[z,p,k]=buttap(N)输入参数:N边式Butterworth低通原型模拟滤波器的阶数。输出参数:z,p,k分别是N阶Butterworth低通滤波器的零极点增益模型的零极点矢量,极点矢量和增益。三、实验程序实验内容:(1)编写用双性变换法设计巴特沃兹低通IIR数字滤波器的程序,要求通带内频率低于0.2rad时,容许幅度误差在1dB之内,频率在rad到rad之间的阻带衰减大于1dB。(2)用双线性变换法设计Butterw
7、orth低通IIR数字滤波器,要求使用buttord,butter和bilinear函数。滤波器技术指标:取样频率1Hz,通带内临界频率0.2Hz,通带内衰减小于1dB;阻带临界频率0.3Hz,阻带内衰减大于25dB。(3)以为取样间隔,在屏幕上打印出数字滤波器的频率区间[]上的幅频响应特性曲线或。(4)在屏幕上打印出H(z)的分子,分母多项式系数。实验程序:1wp=2*pi*0.3*pi;ws=2*pi*pi;Ap=0.2*pi;As=1;[N,wc]=cheb2ord(wp,ws,Ap,As,'s')[num,d
8、en]=cheby2(N,As,wc,'s')omega1=linspace(0,wp,500);omega2=linspace(wp,ws,200);omega3=linspace(ws,5*1000*pi*2,500);H1=20*log10(abs(freqs(num,den,omega1)));H2=20*log10(abs(freqs