您好,欢迎访问三七文档
实验方法与数字信号分析处理大作业题目:基于MATLAB的数字滤波器设计及仿真姓名:刘海军学号:13S008136班级:13S0812院系:机电工程学院11.前言数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应IIR滤波器和有限长冲激响应FIR滤波器。IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。FIR滤波器具有严格的相位特性,这对于语音信号处理和数据传输是和重要的。2.设计要求1.输入信号为:x=sin(2*π*5*t)+sin(2*π*50*t)+sin(2*π*300*t);根据输入信号,完成以下内容:(1)离散化(△t),画出{xk}曲线。(2)用卷积滤波器滤波:a.低通:保留5Hz信号,b.带通:保留50Hz信号。(3)用递推滤波器滤波:低通:保留5Hz信号。2.上述信号加上白噪声(0.2rand(1,u)),再滤波。3.FIR数字滤波器的设计方法有限长脉冲响应FIR滤波器的系统函数只有零点,除原点外,没有极点,因而FIR滤波器总是稳定的。如果他的单位脉冲响应是非因果的,总能够方便的通过适当的移位得到因果的单位脉冲响应,所以FIR滤波器不存在稳定性和是否可实现的问题。它的另一个突出的优点是在满足一定的对称条件时,可以实现严格的线性相位。由于线性相位滤波器不会改变输入信号的形状,而只是在时域上使信号延时,因此线性相位特性在工程实际中具有非常重要的意义,如在数据通信、图像处理等应用领域,往往要求信号在传输和处理过程中不能有明显的相位失真,因而线性相位FIR滤波器得到了广泛的应用。长度为M的因果有限冲激响应滤波器由传输函数H(z)描述:10()()MkkHzhkz(1)它是次数为M-1的z-1的一个多项式。在时域中,上述有限冲激响应滤波器的输入输出关系为:10()()()Mkynhkxnk(2)其中y(n)和x(n)分别是输出和输入序列。有限冲激响应滤波器的一种直接型实现,可由式(2)生成。24.IIR数字滤波器的设计方法目前,IIR数字滤波器设计最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便,IIR数字滤波器的设计步骤是:(1)按一定规则将给出数字滤波器的技术指标转换为模拟滤波器的技术指标;(2)根据转换后的技术指标设计模拟低通滤波器H(s);(3)在按一定规则将H(s)转换为H(z)。若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤:(4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤(2)设计出模拟低通滤波器H(s),再由冲击响应不变法或双线性变换将H(s)转换为所需的H(z)。s-z映射的方法有:冲激响应不变法、阶跃响应不变法、双线性变换法等。下面讨论双线性变换法。双线性变换法是指首先把s平面压缩变换到某一中介平面s1的一条横带(宽度为2πT,即从-πT到πT),然后再利用Tsez1的关系把s1平面上的这条横带变换到整个z平面。这样s平面与z平面是一一对应关系,消除了多值变换性,也就消除了频谱混叠现象。s平面到z平面的变换可采用)2tan(1T(3)22221111TjTjTjTjeeeej(4)令sj,11sj有:TsTsTsTsTsTseeeeees111111112222(5)从s1平面到z平面的变换,即Tsez1(6)代入上式,得到:1111zzs(7)3一般来说,为使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,可引入代定常数c,得)2tan(1Tc(8)则1111zscz(9)这种s平面与z平面间的单值映射关系就是双线性变换。有了双线性变换,模拟滤波器的数字化只须用进行置换。5.设计程序及仿真结果5.1FIR数字滤波器设计及仿真(1)FIR低通及带通滤波器设计程序如下:clearall;N=100;F=15;k=[0:1000];x=sin(0.01*pi*k)+sin(0.1*pi*k)+sin(0.6*pi*k);fi=zeros(1,2*N+1);omega=zeros(1,2*N+1);fori=1:2*N+1ifi==N+1fi(i)=2*F*0.001;elsefi(i)=sin(2*pi*F*(i-N-1)*0.001)/(pi*(i-N-1));endendfori=1:2*N+1omega(i)=0.54-0.46*cos(2*pi*i/(2*N));endfori=1:2*N+1fi(i)=fi(i)*omega(i);endy=conv(x,fi);plot(x)plot(y)clearall;N=100;F1=30;F2=70;k=[0:1000];x=sin(0.01*pi*k)+sin(0.1*pi*k)+sin(0.6*pi*k);4fi=zeros(1,2*N+1);omega=zeros(1,2*N+1);fori=1:2*N+1ifi==N+1fi(i)=2*(F2-F1)*0.001;elsefi(i)=2*sin(pi*(F2-F1)*(i-N-1)*0.001)*cos(pi*(F2+F1)*(i-N-1)*0.001)/(pi*(i-N-1));endendfori=1:2*N+1omega(i)=0.54-0.46*cos(2*pi*i/(2*N));endfori=1:2*N+1fi(i)=fi(i)*omega(i);endy=conv(x,fi);plot(x)plot(y)(2)仿真结果如下:原信号5Hz信号原信号50Hz信号55.2IIR数字滤波器设计及仿真(1)IIR低通滤波器设计程序如下:clearall;k=[0:1000];x=sin(0.01*pi*k)+sin(0.1*pi*k)+sin(0.6*pi*k);omega=tan(pi*8*0.001);f0=(omega*omega)/(1+sqrt(2)*omega+omega*omega);f1=(2*omega*omega)/(1+sqrt(2)*omega+omega*omega);f2=(omega*omega)/(1+sqrt(2)*omega+omega*omega);g1=(2*(omega*omega-1))/(1+sqrt(2)*omega+omega*omega);g2=(1-sqrt(2)*omega+omega*omega)/(1+sqrt(2)*omega+omega*omega);f=[f0,f1,f2];g=[1,g1,g2];y=filter(f,g,x);plot(x)plot(y)(2)仿真结果如下:原信号5Hz信号5.3加上白噪声的数字滤波器设计及仿真(1)FIR及IIR低通及带通滤波器设计程序如下clearall;N=100;F=15;k=[0:1000];x=sin(0.01*pi*k)+sin(0.1*pi*k)+sin(0.6*pi*k)+0.2*randn(1,1001);fi=zeros(1,2*N+1);omega=zeros(1,2*N+1);fori=1:2*N+1ifi==N+1fi(i)=2*F*0.001;elsefi(i)=sin(2*pi*F*(i-N-1)*0.001)/(pi*(i-N-1));6endendfori=1:2*N+1omega(i)=0.54-0.46*cos(2*pi*i/(2*N));endfori=1:2*N+1fi(i)=fi(i)*omega(i);endy=conv(x,fi);clearall;N=100;F1=30;F2=70;k=[0:1000];x=sin(0.01*pi*k)+sin(0.1*pi*k)+sin(0.6*pi*k)+0.2*randn(1,1001);fi=zeros(1,2*N+1);omega=zeros(1,2*N+1);fori=1:2*N+1ifi==N+1fi(i)=2*(F2-F1)*0.001;elsefi(i)=2*sin(pi*(F2-F1)*(i-N-1)*0.001)*cos(pi*(F2+F1)*(i-N-1)*0.001)/(pi*(i-N-1));endendfori=1:2*N+1omega(i)=0.54-0.46*cos(2*pi*i/(2*N));endfori=1:2*N+1fi(i)=fi(i)*omega(i);endy=conv(x,fi);clearall;k=[0:1000];x=sin(0.01*pi*k)+sin(0.1*pi*k)+sin(0.6*pi*k)+0.2*randn(1,1001);omega=tan(pi*8*0.001);f0=(omega*omega)/(1+sqrt(2)*omega+omega*omega);f1=(2*omega*omega)/(1+sqrt(2)*omega+omega*omega);f2=(omega*omega)/(1+sqrt(2)*omega+omega*omega);g1=(2*(omega*omega-1))/(1+sqrt(2)*omega+omega*omega);g2=(1-sqrt(2)*omega+omega*omega)/(1+sqrt(2)*omega+omega*omega);7f=[f0,f1,f2];g=[1,g1,g2];y=filter(f,g,x);(2)仿真结果如下:卷积滤波器低通5Hz信号卷积滤波器带通50Hz信号递推滤波器5Hz信号
本文标题:数字信号处理作业1
链接地址:https://www.777doc.com/doc-2387673 .html