您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > IIR和FIR数字滤波器程序的设计与仿真(18张)
1IIR和FIR数字滤波器程序的设计与仿真2•1、数字滤波器的表示方法•2、IIR数字滤波器DSP程序的设计•3、CCS下对IIR数字滤波器程序的仿真•4、FIR数字滤波器DSP程序的设计•5、CCS下对FIR数字滤波器程序的仿真31、数字滤波器的表示方法•数字滤波器是指输入和输出都是数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。•数字滤波器优点:精度高、稳定、体积小、重量轻、灵活及实现模拟滤波器无法实现的特殊滤波功能。•数字滤波器从功能上可分为低通、高通、带通和带阻等滤波器。从网络结构或者从单位脉冲响应分类,分成无限脉冲响应(IIR)和有限脉冲响应(FIR)滤波器。4数字滤波器的表示方法:•a)差分方程表示:b)系统函数表示:推出结论:MkknxkbNkknykany0)(1)()()()(1)()()(10zAzBzazbZXZYzHNkkkMkkk)()()()(zXzAzBzY52、IIR数字滤波器DSP程序的设计•设计方法:借助模拟滤波器的设计方法。•设计步骤:将所需滤波器的指标转换成模拟低通原型滤波器的指标,求出模拟低通的传输函数Ha(s),然后按照某种方法转换为数字滤波器的系统函数H(z),最后转换成所需要的数字滤波器。•例程:三阶切比雪夫I型低通数字滤波器6•用直接I型结构,IIR滤波器的系统函数表示为:对应的差分方程为:)]()([)(1)(zXzBzAzYNkMknwknykanyknxkbnw10)()()()()()()(例程:三阶切比雪夫I型低通数字滤波器7由差分方程得到信号流图(M=N)Na1Na2a1aNb1z1z1z1z1z1z1Nb2b1bx(n)x(n-1)x(n-2)x(n-N+1)x(n-N)y(n-1)y(n-2)y(n-N+1)y(n-N)1zy(n)8程序流程图:93、CCS下对IIR数字滤波器程序的仿真•在CCS中,基于IIR滤波程序建立工程。将“IIR.ASM”、“vector.asm”和“IIR.cmd”加入该工程,对程序进行编译、链接。•运行程序,按图12.3设置输入信号的时域波形属性,按照图13.6设置输出波形属性,确定后可得到输入/输出信号的时域波形如图13.4和图13.7所示,将图13.3和图13.6设置中的DisplayType属性改成FFTMagnitude,其他不变,可得到输入/输出信号的频域波形如图13.5和图13.8所示。•由图可见,滤波后,250HZ的信号频谱分量明显被削弱。10•图13.3输入信号波形属性图13.6输出信号波形属性11图13.4输入信号的时域波形图13.7输出信号的时域波形图13.5输入信号的频谱图13.8输出信号的频谱124、FIR数字滤波器DSP程序的设计•本程序完成的是一个FIR矩形带通滤波器的设计,对于所构造的滤波器阶数并没有限定(可构造不同阶数N的滤波器),这也是本程序的创新之处。•FIR的输入输出关系:10)()(Niiinxany13FIR滤波器的结构流图:1z1z1z1z)(nx)1(nx)2(nx)2(Nnx)1(Nnx0a1a2a2Na1Nay(n)14•由图得出y(n)=a(0)x(n)+a(1)x(n-1)+a(2)x(n-2)+…+a(N-1)x[n-(N-1)]•运用矩形窗作为滤波器系数:h(n)=1,(nN)N为滤波器阶数。•单位取样信号为:x(n)=(nM)M为取样信号的点数。•定义滤波器阶数为N,单位取样信号长度为M,xi(n)是x(n)向右移位N-1点所得的信号,根据FIR数字滤波器的结构流程图可得:•y(n)=h(0)xi(n)+h(1)xi(n-1)+h(2)xi(n-2)+…+h(N-1)xi[n-(N-1)]•程序的流程图如图3-10,程序代码参见附录A-3。2*)21(2*)21sin(NnNn15FIR程序流程图165、CCS下对FIR数字滤波器程序的仿真•在CCS中,基于FIR滤波器程序建立工程。将“fir8.c”、“fir.cmd”和“rts6200.lib”加入该工程,对程序进行编译、链接。点击File-LoadProgram,加入“fir8.out”文件,并运行程序。•本程序可构造不同阶数的FIR带通数字滤波器,当取M为128,N为16,使用CCS中View菜单下的Graph-〉TimeFrequency观察程序的输出,可以得到如图13.11所示的波形,波形的属性如图13.12和图13.13设置。其中xi(n)的信号波形设置可与x(n)参数相同,只是GraphTitle和StartAddress项改变成xi即可。同样,要看所有信号的频域图形,只需要将该信号GraphPropertyDialog中的DisplayType属性改为FFTMagnitude即可。17图13.13x(n)信号波形时域设置图13.12y(n)信号波形时域设置注:由于CCS在重新ReloadProgram后,并不会自动将存储器里的值清零,所以每次改变阶数N和点数M后,为了防止输出信号的值出错,必须手动将xi所在的存储空间清零。18图13.11FIR数字滤波器的构造上面两幅依次是x(n)信号波形,xi(n)信号波形。xi(n)为x(n)的波形向右移动N-1位。底部的两幅分别是输出y(n)的时域及频域波形。由图可见,输出信号y(n)近似一个矩形的带通滤波器。关于x(n),y(n)可分别参看图13.12和13.13。
本文标题:IIR和FIR数字滤波器程序的设计与仿真(18张)
链接地址:https://www.777doc.com/doc-2877226 .html