1、DSP设计滤波器报告姓名:张胜男 班级:07 级电信(1)班 学号:078319120一低通滤波器的设计(一)实验目的:掌握 IIR 数字低通滤波器的设计方法。(二)实验原理:1、滤波器的分类滤波器分两大类:经典滤波器和现代滤波器。经典滤波器是假定输入信号 )(nx中的有用成分和希望取出的成分各自占有不同的频带。这样,当 )(通过一个线性系统(即滤波器)后可讲欲去除的成分有效的去除。现代滤波器理论研究的主要内容是从含有噪声的数据记录(又称时间序列)中估计出信号的某些特征或信号本身。经典滤波器分为低通、高通、带通、带阻滤波器。每一种又有模拟滤波器(AF)和数字滤波器(DF) 。对数字滤波器,又有
2、 IIR 滤波器和 FIR 滤波器。IIR DF 的转移函数是: NkkMrrzabzXYH10)(FIR DF 的转移函数是: 10)()(NnnzhzFIR 滤波器可以对给定的频率特性直接进行设计,而 IIR 滤波器目前最通用的方法是利用已经很成熟的模拟滤波器的设计方法进行设计。2、滤波器的技术要求低通滤波器: p:通带截止频率(又称通带上限频率) s:阻带下限截止频率 p:通带允许的最大衰减 s:阻带允许的最小衰减 ( p,s的单位 dB) p:通带上限角频率 s:阻带下限角频率( spT, ssT)即 CppF2CssF23、IIR 数字滤波器的设计步骤:1)按一定规则将给出的数字滤波
3、器的技术指标转换为模拟低通滤波器的技术指标。2)根据转换后的技术指标设计模拟低通滤波器 )(sG;3)再按一定的规则将 )(sG转换成 )(zH。4)若是高通、带通或带阻数字滤波器则将它们的技术指标先转化为低通模拟滤波器的技术指标,然后按上述步骤 2)设计出低通 )(s,再将)(sG转换为所需的 )(z。4几种不同类型的滤波器的介绍:因为我们设计的滤波器的冲击响应一般都为实数,所以有 2* )()()( sjsjGs这样,如果我们能由 p, , s, s求出2)(j,那么就容易得到所需要的 )(sG。不同类型的2)(j的表达式,代表了几种不同类型的滤波器。(1)巴特沃思(Butterworth
4、)滤波器: nCj)(1)(22C 为待定常数,N 为待定的滤波器阶次。(2)切比雪夫 I 型(Chebyshev I )滤波器:)(1)(22njG5巴特沃思模拟低通滤波器的设计由于每一个滤波器的频率范围将直接取决于设计者的应用目的,因此必然是千差万别。为了使设计规范化,我们需要将滤波器的频率参数作归一化处理。设所给的实际频率为 (或 f) ,归一化后的频率为 ,对低通模拟滤波器,令 p/显然, 1p, s。又令归一化复数变量为 p, j,显然ppsj/所以巴特沃思模拟低通滤波器的设计可按以下三个步骤来进行。(1)将实际频率 规一化(2)求 C 和 N 10/2Pspslglg10/这样 C
5、 和 N 可求。若令 p3dB,则 C1,这样巴特沃思滤波器的设计就只剩一个参数 N,这时NpNjG222 )/()(3)确定 s因为 jp,根据上面公式有 NNpjpG22)1()/(1)(由 0解得)2exp(kjk, k1,2,2N这样可得 1)2cos(1)()( 21 NkppGkNkk求得 (p后,用 ps/代替变量 ,即得实际需要得 (sG。6用双线性 Z 变换法设计 IIR 数字低通滤波器s 平面到 z 平面的映射关系 12zTs称为双线性 Z 变换,由此关系求出sz)2/(1及 )2/cos(inTj即)2/tan(sT/rcts因为设计滤波器时系数 sT2会被约掉,所以又有
6、z1)2/tan(rc(三)实验内容题一:试用双线性Z变换法设计一低通数字滤波器,给定技术指标是 10pfHz, 30sfHz, 3pdB, 20s dB,抽样频率 10sFHz。提示:首先应该得到角频率 ,然后再(1) 将数字滤波器的技术要求转换为模拟滤波器的技术要求。(2) 设计低通滤波器 )(sG由 p/依次求出 p, s,再求出N,可得 )(pG然后由 pss)(转换成 )((3) 由 G求 zH源程序:fp=100; fs=300;ap=3; %通带最大衰减as=20; %阻带最小衰减Fs1=1000; %抽样频率wp=2*pi*fp/Fs1; ws=2*pi*fs/Fs1; %数字
7、角频率Fs=Fs1/Fs1;T=1/Fs;Op=2/T*tan(wp/2); Os=2/T*tan(ws/2); %角频率畸变N Wn=buttord(Op,Os,ap,as,s); %N 代表滤波器阶数,Wn 代表滤波器的截止频率。简单来说就是在 wp 处,通带内波纹系数或者说是通带内达到最大衰减为Rp,如(3db),而在 Ws 处,阻带达到最小衰减为 Rs(如 40db),而我们默认求得的 Wn 是在(-3db) 时的频率z p k=buttap(N); %G(p)的零点,极点,增益用于计算 N 阶归一化(3dB 截止频率 c=1)模拟低通原型滤波器系统函数的零、极点和增益因子。b a=z
8、p2tf(z,p,k); %G(p)的分子、分数系数从零、极点模型得到系统函数的分子、分母多项式系数向量 ba、aaB A=lp2lp(b,a,Op); %H(s)的分子、分数系数改变低通模拟滤波器的截止频率,原滤波器是以多项式系数 Bap,Aap 给出的,改后的滤波器是带截止频率 Wn 的Bz Az=bilinear(B,A,Fs*T/2); %H(z)的分子、分数系数H w=freqz(Bz,Az,256,Fs*Fs1); %H 频率响应plot(w,abs(H),r);title(低通滤波器);grid on;实验结果:0 50 100 150 200 250 300 350 400 4
9、50 50000.20.40.60.811.2 低低低低低同理可以设计出低通滤波器和带通及带阻滤波器。MATLAB 参考程序和仿真内容%*%functionx=ffts(mode,M)Nfft=2M;x=zeros(1,Nfft); %定义一个长度为 Nfft 的一维全 0 数组if mode= =1 for n=0:Nfft-1 x(n+1)=sin(2*pi*n/Nfft); end end %定义一个长度为 Nfft 的单周期正弦序列if mode= =2 for n=0:Nfft-1 x(n+1)=sin(4*pi*n/Nfft); end end %定义一个长度为 Nfft 的双周期
10、正弦序列if mode= =3 for n=0:Nfft/2-1 x(n+1)=sin(4*pi*n/Nfft); end end %定义一个长度为 Nfft/2 的正弦序列,后面一半为 0 序列。if mode= =4 for n=0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end endif mode= =5 for n=0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end endif mode= =6 for n=0:Nfft/2-1 x(n+1)=square(4*pi*n/Nfft); end endn=0:Nfft-1;subplot(2,1,1);stem(n,x);axis(0 Nfft-1 1.1*min(x) 1.1*max(x);xlabel(Points);ylabel(x(n);X=abs(fft(x,Nfft);subplot(2,1,2);stem(n,X);axis(0 Nfft-1 1.1*min(X) 1.1*max(X);xlabel(frequency);ylabel(!X(k)!);图二图三