您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 实验三IIR数字滤波器的设计
实验三IIR数字滤波器的设计一、实验目的掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。熟悉Butterworth滤波器、Chebyshev滤波器和椭圆滤波器的频率特性。二、实验原理与方法(1)脉冲响应不变法用数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),让h(n)正好等于ha(t)的采样值,即h(n)=ha(nT)其中T为采样间隔,如果以Ha(S)及H(z)分别表示ha(t)的拉式变换及h(n)的Z变换(2)双线性变换法以低通数字滤波器为例,将设计步骤归纳如下:确定数字滤波器的性能指标:通带临界频率fp、阻带临界频率fr;通带内的最大衰减Ap;阻带内的最小衰减Ar;采样周期T;确定相应的数字角频率,ωp=2πfpT;ωr=2πfrT;计算经过预畸的相应模拟低通原型的频率根据Ωp和Ωr计算模拟低通原型滤波器的阶数N,并求得低通原型的传递函数Ha(s);用上面的双线性变换公式代入Ha(s),求出所设计的传递函数H(z);分析滤波器特性,检查其指标是否满足要求。)2wtan(T2Ω三、实验内容及步骤(1)、fp=0.3KHz,Ap=0.8dB,fr=0.2KHz,Ar=20dB,T=1ms;设计一Chebyshev高通滤波器;观察其通带损耗和阻带衰减是否满足要求。方法一:采用双线性变换法参考源程序如下:wc=2*1000*tan(2*pi*300/(2*1000))wr=2*1000*tan(2*pi*200/(2*1000));[N,wn]=cheb1ord(wc,wr,0.8,20,'s')[B,A]=cheby1(N,0.8,wn,'high','s');[num,den]=bilinear(B,A,1000);[h,w]=freqz(num,den);f=w/(2*pi)*1000;plot(f,20*log10(abs(h)),'r');axis([0,500,-80,10]);grid;xlabel('频率/Hz')ylabel('幅值/dB')方法二:用matlab函数设计数字滤波器%方法:利用matlab提供的cheby1函数直接设计数字滤波器,源程序如下:wc=300/500wr=200/500;[N,wn]=cheb1ord(wc,wr,0.8,20)[B1,A1]=cheby1(N,0.8,wn,'high')[h1,w]=freqz(B1,A1);f=w/(2*pi)*1000;plot(f,20*log10(abs(h1)),'r');axis([0,500,-80,10]);grid;xlabel('频率/Hz')ylabel('幅值/dB')(2)、fp=0.2KHz,Ap=1dB,fr=0.3KHz,Ar=25dB,T=1ms;分别用脉冲响应不变法及双线性变换法设计一Butterworth数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。比较这两种方法的优缺点。%上机实验内容(2)分别用脉冲响应不变法和双线性变换法设计巴特沃思数字低通滤波器T=0.001;fs=1000;fc=200;fr=300;wp1=2*pi*fcwr1=2*pi*fr[N1,wn1]=buttord(wp1,wr1,1,25,'s')[B1,A1]=butter(N1,wn1,'s');[num1,den1]=impinvar(B1,A1,fs);[h1,w]=freqz(num1,den1);wp2=2*fs*tan(2*pi*fc/(2*fs))wr2=2*fs*tan(2*pi*fr/(2*fs))[N2,wn2]=buttord(wp2,wr2,1,25,'s')[B2,A2]=butter(N2,wn2,'s');[num2,den2]=bilinear(B2,A2,fs);[h2,w]=freqz(num2,den2);f=w/(2*pi)*fs;plot(f,20*log10(abs(h1)),'-.',f,20*log10(abs(h2)),'-');axis([0,500,-80,10]);grid;xlabel('频率/Hz')ylabel('幅值/dB')(3)、利用双线性变换法分别设计满足下列指标的Butterworth型、Chebyshev型和椭圆型数字低通滤波器,并作图验证设计结果。fp=1.2kHz,Ap≤0.5dB,fr=2KHz,Ar≥40dB,fs=8KHz%上机实验内容(3)巴特沃思低通滤波器%方法:采用双线性变换法fs=8000;wc=2*fs*tan(2*pi*1200/(2*fs))wr=2*fs*tan(2*pi*2000/(2*fs));[N,wn]=buttord(wc,wr,0.5,40,'s')[B,A]=butter(N,wn,'s');[num,den]=bilinear(B,A,fs);[h,w]=freqz(num,den);f=w/(2*pi)*fs;plot(f,20*log10(abs(h)),'r');axis([0,fs/2,-80,10]);grid;xlabel('频率/Hz')ylabel('幅值/dB')%上机实验内容(3)切比雪夫低通滤波器%方法:采用双线性变换法fs=8000;wc=2*fs*tan(2*pi*1200/(2*fs))wr=2*fs*tan(2*pi*2000/(2*fs));[N,wn]=cheb1ord(wc,wr,0.5,40,'s')[B,A]=cheby1(N,0.5,wn,'s');[num,den]=bilinear(B,A,fs);[h,w]=freqz(num,den);f=w/(2*pi)*fs;plot(f,20*log10(abs(h)),'r');axis([0,fs/2,-80,10]);grid;xlabel('频率/Hz')ylabel('幅值/dB')%上机实验内容(3)椭圆低通滤波器%方法:采用双线性变换法fs=8000;wc=2*fs*tan(2*pi*1200/(2*fs))wr=2*fs*tan(2*pi*2000/(2*fs));[N,wn]=ellipord(wc,wr,0.5,40,'s')[B,A]=ellip(N,0.5,40,wn,'s');[num,den]=bilinear(B,A,fs);[h,w]=freqz(num,den);f=w/(2*pi)*fs;plot(f,20*log10(abs(h)),'r');axis([0,fs/2,-80,10]);grid;xlabel('频率/Hz')ylabel('幅值/dB')四、实验思考双线性变换法中Ω和ω之间的关系是非线性的,在实验中你注意到这种非线性关系了吗?从哪几种数字滤波器的幅频特性曲线中可以观察到这种非线性关系?五、实践题要求用matlab求解和设计。1、用脉冲响应不变法将模拟滤波器H(s)=(3s+2)/(2s2+3s+1)变为数字滤波器H(z),采样周期Ts=0.1s2、设计一个巴特沃思高通数字滤波器,通带边界频率为300Hz,阻带边界频率为200Hz,通带波纹小于1db,阻带衰减大于20db,采样频率为1000Hz。(方法一采用matlab直接设计数字滤波器,方法二用双线性变换法)实践题参考答案1、H(z)分子多项式系数bz1=[0.3000-0.2807],分母多项式系数za1=[2.0000-3.71211.7214]2、设计结果见下页图
本文标题:实验三IIR数字滤波器的设计
链接地址:https://www.777doc.com/doc-2531013 .html