DSP设计滤波器报告姓名:张胜男班级:07级电信(1)班学号:078319120一·低通滤波器的设计(一)实验目的:掌握IIR数字低通滤波器的设计方法。(二)实验原理:1、滤波器的分类滤波器分两大类:经典滤波器和现代滤波器。经典滤波器是假定输入信号)(nx中的有用成分和希望取出的成分各自占有不同的频带。这样,当)(nx通过一个线性系统(即滤波器)后可讲欲去除的成分有效的去除。现代滤波器理论研究的主要内容是从含有噪声的数据记录(又称时间序列)中估计出信号的某些特征或信号本身。经典滤波器分为低通、高通、带通、带阻滤波器。每一种又有模拟滤波器(AF)和数字滤波器(DF)。对数字滤波器,又有IIR滤波器和FIR滤波器。IIRDF的转移函数是:NkkkMrrrzazbzXzYzH101)()()(FIRDF的转移函数是:10)()(NnnznhzHFIR滤波器可以对给定的频率特性直接进行设计,而IIR滤波器目前最通用的方法是利用已经很成熟的模拟滤波器的设计方法进行设计。2、滤波器的技术要求低通滤波器:p:通带截止频率(又称通带上限频率)s:阻带下限截止频率p:通带允许的最大衰减s:阻带允许的最小衰减(p,s的单位dB)p:通带上限角频率s:阻带下限角频率(sppT,sssT)即CppF2CssF23、IIR数字滤波器的设计步骤:1)按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。2)根据转换后的技术指标设计模拟低通滤波器)(sG;3)再按一定的规则将)(sG转换成)(zH。4)若是高通、带通或带阻数字滤波器则将它们的技术指标先转化为低通模拟滤波器的技术指标,然后按上述步骤2)设计出低通)(sG,再将)(sG转换为所需的)(zH。4.几种不同类型的滤波器的介绍:因为我们设计的滤波器的冲击响应一般都为实数,所以有2*)()()()()(sjsjGsGsGsGsG这样,如果我们能由p,p,s,s求出2)(jG,那么就容易得到所需要的)(sG。不同类型的2)(jG的表达式,代表了几种不同类型的滤波器。(1)巴特沃思(Butterworth)滤波器:nCjG)(11)(222C为待定常数,N为待定的滤波器阶次。(2)切比雪夫I型(Chebyshev–I)滤波器:)(11)(222nCjG5.巴特沃思模拟低通滤波器的设计由于每一个滤波器的频率范围将直接取决于设计者的应用目的,因此必然是千差万别。为了使设计规范化,我们需要将滤波器的频率参数作归一化处理。设所给的实际频率为(或f),归一化后的频率为,对低通模拟滤波器,令=p/显然,1p,pss/。又令归一化复数变量为p,jp,显然ppsjjp//所以巴特沃思模拟低通滤波器的设计可按以下三个步骤来进行。(1)将实际频率规一化(2)求C和N11010/2PCspsNlg110110lg10/10/这样C和N可求。若令p=3dB,则C=1,这样巴特沃思滤波器的设计就只剩一个参数N,这时NpNjG222)/(1111)((3)确定)(sG因为jp,根据上面公式有NNNpjppGpG22)1(11)/(11)()(由0)1(12NNp解得)2212exp(NNkjpk,k=1,2,···,2N这样可得1)212cos(21))((1)(21NNkpppppppGkNkk求得)(pG后,用ps/代替变量p,即得实际需要得)(sG。6.用双线性Z变换法设计IIR数字低通滤波器s平面到z平面的映射关系112zzTss称为双线性Z变换,由此关系求出sTsTzss)2/(1)2/(1及)2/cos()2/sin(2sTjj即)2/tan(2sT)2/arctan(2sT因为设计滤波器时系数sT2会被约掉,所以又有ssz11)2/tan(arctan2(三)实验内容题一:试用双线性Z变换法设计一低通数字滤波器,给定技术指标是100pfHz,300sfHz,3pdB,20sdB,抽样频率1000sFHz。提示:首先应该得到角频率,然后再(1)将数字滤波器的技术要求转换为模拟滤波器的技术要求。(2)设计低通滤波器)(sG由=p/依次求出p,s,再求出N,可得)(pG然后由psppGsG)()(转换成)(sG(3)由)(sG求)(zH源程序:fp=100;fs=300;ap=3;%通带最大衰减as=20;%阻带最小衰减Fs1=1000;%抽样频率wp=2*pi*fp/Fs1;ws=2*pi*fs/Fs1;%数字角频率Fs=Fs1/Fs1;T=1/Fs;Op=2/T*tan(wp/2);Os=2/T*tan(ws/2);%角频率畸变[NWn]=buttord(Op,Os,ap,as,'s');%N代表滤波器阶数,Wn代表滤波器的截止频率。简单来说就是在wp处,通带内波纹系数或者说是通带内达到最大衰减为Rp,如(3db),而在Ws处,阻带达到最小衰减为Rs(如40db),而我们默认求得的Wn是在(-3db)时的频率[zpk]=buttap(N);%G(p)的零点,极点,增益用于计算N阶归一化(3dB截止频率Ωc=1)模拟低通原型滤波器系统函数的零、极点和增益因子。[ba]=zp2tf(z,p,k);%G(p)的分子、分数系数从零、极点模型得到系统函数的分子、分母多项式系数向量ba、aa[BA]=lp2lp(b,a,Op);%H(s)的分子、分数系数改变低通模拟滤波器的截止频率,原滤波器是以多项式系数Bap,Aap给出的,改后的滤波器是带截止频率Wn的[BzAz]=bilinear(B,A,Fs*T/2);%H(z)的分子、分数系数[Hw]=freqz(Bz,Az,256,Fs*Fs1);%H频率响应plot(w,abs(H),'r');title('低通滤波器');gridon;实验结果:05010015020025030035040045050000.20.40.60.811.2低通滤波器同理可以设计出低通滤波器和带通及带阻滤波器。MATLAB参考程序和仿真内容%*******************************************************************%function[x]=ffts(mode,M)Nfft=2^M;x=zeros(1,Nfft);%定义一个长度为Nfft的一维全0数组ifmode==1forn=0:Nfft-1x(n+1)=sin(2*pi*n/Nfft);endend%定义一个长度为Nfft的单周期正弦序列ifmode==2forn=0:Nfft-1x(n+1)=sin(4*pi*n/Nfft);endend%定义一个长度为Nfft的双周期正弦序列ifmode==3forn=0:Nfft/2-1x(n+1)=sin(4*pi*n/Nfft);endend%定义一个长度为Nfft/2的正弦序列,后面一半为0序列。ifmode==4forn=0:Nfft-1x(n+1)=square(2*pi*n/Nfft);endendifmode==5forn=0:Nfft-1x(n+1)=square(2*pi*n/Nfft);endendifmode==6forn=0:Nfft/2-1x(n+1)=square(4*pi*n/Nfft);endendn=0:Nfft-1;subplot(2,1,1);stem(n,x);axis([0Nfft-11.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([0Nfft-11.1*min(X)1.1*max(X)]);xlabel('frequency--');ylabel('!X(k)!');图二图三