1、电信类课程试验报告学 院:基础信息工程 系 别:电子信息工程 课程名称:数字信号处理姓 名: 学 号: 日 期:实验六 实验名称:用双线性变换法设计 IIR 数字滤波器一、实验目的熟悉模拟巴特沃兹(Batterworth)滤波器设计和用双线性变换去设计 IIR 数字滤波器的方法.二、主要函数简介用双线性变换法设计 IIR 滤波器是 IIR 的滤波器设计的经典方法 ,首先根据模拟滤波器的指标设计出相应的模拟滤波器,然后将设计好的模拟滤波器转换成满足给技术指标的数字拨器。在 MATLAB 的数字信号处理工具箱中提供了相应的设计函数,常用的有:1.Butterworth 数字和模拟N,Wn=butt
2、ord( )spsRw,输入参数: 是对 归一化后的通带截止频率, 是对 归一化后的阻带截止频率,Rp 是通带最大衰减,pswRs 是阻带最小衰减,且 Rp,Rs 的单位为分贝(dB) 。输出参数:N 是符合要求的数字滤波器的最小阶数,Wn 为 Butterworth 滤波器的 3d B。N,Wn=buttord( ),sRwp输入参数: 是模拟滤波器的通带截止频率, 是模拟滤波器的阻带截止频率,它们的单位是弧度/秒;p sRp 是通带最大衰减,Rs 是阻带最小衰减。输出参数:N 是符合要求的模拟滤波器的最小阶数,Wn 是 Butterworth 滤波器的 3dB。2.零极点增益模型到传递函数
3、模型的转换函数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.双线性变换函数bz,az=bilenear(b,a,,Fs) ;输入参数:b,a 分别是模
4、拟滤波器传递函数的分子和分母的多项式系数,Fs 是取样频率。输出参数:bz,az,分别是数字滤波器系统函数的分子和分母的多项式系数。功能:把模拟滤波器的零极点模型转换成数字滤波器的零极点模型。5.Butterworth 数字和模拟滤波器设计函数b,a=butter(n,Wn, ftype)输入参数:n 和 Wn 分别是所要设计的数字 Butterworth 滤波器阶数和截止频率参数。参数 ftype 确定了滤波器的形式;ftype 缺省时,Wn 为一个元素,则为低通,Wn 为两个元素的矢量,则为带通;ftype 为 high 时,则为高通;ftype 为 stop 时,则为带阻。输出参数:b,
5、a 分别是所要设计的滤波器系统函数的分子和分母的多项式系数。功能:设计一个阶数为 n,截止频率参数为 Wn 的数字滤波器b,a=butter(n,Wn, ftype, s)输入参数:n 和 Wn 分别是所要设计的模拟滤波器阶数和截止频率参数,Wn 的单位为弧度/秒;参数 ftype同上。输出参数:b,a 分别是所要设计的模拟滤波器传递函数的分子和分母的多项式系数。功能:设计一个阶数为 n,截止频率为 Wn 的模拟滤波器。6.计算 buttworth 低通原型模拟滤波器的零极点和增益函数z,p,k=buttap(N)输入参数:N 边式 Butterworth 低通原型模拟滤波器的阶数。输出参数:
6、z,p,k 分别是 N 阶 Butterworth 低通滤波器的零极点增益模型的零极点矢量,极点矢量和增益。三、实验程序实验内容:() 编写用双性变换法设计巴特沃兹低通数字滤波器的程序,要求通带内频率低于 0.2 rad 时,容许幅度误差在 1dB 之内,频率在 rad 到 rad 之间的阻带衰减大于 1dB。3.0() 用双线性变换法设计 Butterworth 低通 IIR 数字滤波器,要求使用 buttord,butter 和 bilinear 函数。滤波器技术指标:取样频率 1Hz,通带内临界频率 0.2Hz,通带内衰减小于 1dB;阻带临界频率 0.3Hz,阻带内衰减大于 25dB。
7、() 以 为取样间隔,在屏幕上打印出数字滤波器的频率区间 上的幅频响应特性曲线 或 64 ,0|)(|jweH。|)(|log201jweH() 在屏幕上打印出 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,den=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(a
8、bs(freqs(num,den,omega1);H2=20*log10(abs(freqs(num,den,omega2);H3=20*log10(abs(freqs(num,den,omega3);fprintf(Ap = %.4fn,max(-H1)fprintf(As = %.4fn,min(-H3);plot(omega1,omega2,omega3/(2*pi),H1,H2,H3)结果及图形:N =1wc =7.6374num = 0 15.0091den =1.0000 15.0091Ap = 0.6283As = 4.36102.3.4wp=0.2*2*pi ws=0.3*2*
9、pi;Rp=1;Rs=25;Fs=1;Ts=1/Fs;wp1=wp*Ts; ws1=ws*Ts;wp2=2*Fs*tan(wp1/2); ws2=2*Fs*tan(ws1/2); 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);gridXlabel(频率)Ylabel(幅度)Subplot(2,1,2);plot(W/pi,
10、20*log10(abs(H);grid;Xlabel(频率)Ylabel(幅度(dB)wp=0.2*2*pi ws=0.3*2*pi;Rp=1;Rs=25;Fs=1;Ts=1/Fs;wp1=wp*Ts; ws1=ws*Ts;wp2=2*Fs*tan(wp1/2); ws2=2*Fs*tan(ws1/2); 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);gridXlabel(频率)Ylabel(幅度)Subplot(2,1,2);plot(W/pi,20*log10(abs(H);grid;Xlabel(频率)Ylabel(幅度(dB)结果及图形:wp =1.2566四、实验小结五、教师评语教师签字: 年 月 日