基于DSP窗函数法实现的有限单位冲激响应printf直接输出数字FIR数字滤波器
作者:李想 姜以涛
来源:《科技经济市场》2011年第06
        要:利用FIRDSP各自的特点,将两者有机地组合成一个整体系统。基于DSP实现FIR数字滤波器,具有准确度高、稳定性好,易移植使用,有较强的实用性与灵活性的特点。重点利用窗函数法实现FIR数字滤波器。通过反复修改参数得到优化结果,并出进一步改进的措施。
        关键词:数字信号处理;有限单位冲击响应;DSPFIR
        0 引言
        有限单位冲击响应(Finite Impulse Response,简称FIR)滤波器的实现,是以微处理器和半导体元器件为核心,横跨多学科领域,并广泛应用于控制领域,FIR滤波器具有幅度特性可随意设计、线性相位特性可严格精确保证等优点,因此在要求相位线性信道的现代电子系统,如图像处理、数据传输等波形传递系统中,具有很大吸引力。本课题为基于DSP窗函数法实现的FIR数字滤波器,其中涉及到DSPFIR这两个专有名词。其中DSPDigital Signal Pro
cessor(数字信号微处理器)的简写,发展至今其以功能强大、高速度、可编程、低功耗著称,其中最著名DSP生产商为美国德州仪器(TI)公司。
        1 数字滤波器的功能
        一个数字滤波器可以用系数函数表示为
       
       
       
        直接由此式可得出表示输入输出关系的常系数线性差分方程为
       
        数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列。可以用以下两种方法来实现数字滤波器:一种方法是把滤波器所要完成的运算编成程序并让计算机执行,也就
是采用计算机软件来实现;另一种方法是设计专用的数字硬件、专用的数字信号处理器或采用通用的数字信号处理器来实现。
        2 有限单位冲激响应(FIR)数字滤波器基本网络结构
        有限单位冲激响应滤波器有以下几个特点;
        1)系统的单位冲激响应hn)在有限个n值处不为零;
        2)系统函数Hz)在|z|>0处收敛,在|z|
        3)全部极点都在z0处(因果系统);
        FIR滤波器的单位冲激响应hn)为一个N点序列,0≤n≤N1,则滤波器的系统函数为
       
       
        就是说,它有(N1)阶极点在z0处,有(N1)个零点位于有限z平面的任何位置。
        FIR滤波器的线性相位是非常重要的,因为数据传输以及图像处理都要求系统具有线性相位,而FIR滤波器由于它的冲激响应是有限长的,因而有可能做成严格线性相位的。
        3 有限长单位冲激响应(F1R)数字滤波器的窗函数设计方法
        FIR滤波器的单位冲激响应hn)是有限长的(0≤n≤N-1),其z变换为
       
       
        这是z-1的(N-1)阶多项式,在有限z平面(o|z|=有(N-1)个零点,而位于z平面原点z0处,则有(N-1)阶极点。
        一般是先给所要求的理想的滤波器频率响应Hdejω),要求设计一个FIR滤波器频率响应Hejω)= 来逼近Hdejω)。但是设计是在时域进行的,因而先由Hdejω)的傅里
叶反变换导出hdn),即
       
        因而窗函数序列的形状及长度的选择就很关键。当截取长度N增加时,只会减小过渡带宽N,而不会改变肩峰的相对值。例如在矩形窗情况下,最大相对肩峰值为8.95%,N增加时,N减小,故起伏振荡变密,最大肩峰则总是8.95%,这种现象称为吉布斯(Gibbs)效应。
        窗函数法的优点是简单,有闭合形式的公式可循,因而很实用。其缺点是通带、阻带的截止频率不易控制。
        4 窗函数法的设计步骤以及系统硬件电路设计和软件电路设计
        1)首先是给定所要求的频率响应函数Hdejω);
        2)其次,求hdn)=IDTFT[Hdejω]
        3)再次,由过渡带宽及阻带最小衰减的要求,选定窗ωn)的形状及N的大小,
        1FIR滤波器DSP实现的电路方框图,其核心部分为TI公司生产的DSP芯片TMS320C203,EP2ROMRAM是其外围电路。DSP送给A/D抽样时钟,对输入的模拟信号抽样,即将模拟信号转换成数字信号,对抽样值进行卷积运算(FIR数字滤波),最后将运算结果送至D/A,转换成模拟信号进行输出。
       
       
       
        1 硬件电路框图
        2为程序流程图,说明如下 :
       
       
        2 程序流程图
        5 用窗函数法设计FIR数字滤波器的部分实用程序
        #include"math.h"
        main()
        {float int();
        ---------------
        switchm
        {case 1:printf"retangular window function.\n";
        fori=0;i
        w[i]=1.0;
        break;
        ------------------
        case 5:printf"blackman window function.\n;
        fori=0;i
        w[i]=0.42-0.5*cos2.0*pi*i/
        n-1))+0.08*cos4.0*pi*ii/n-1));
        break;
        float x;
        {-------------------
        fori=1;i
        {de=de*y/I;sde=de*de;e=e+sde;
        ife*t
        else z=e;}
        returnz;
        6 结论
        本课题研究意义在于FIR滤波器具有严格的线性相位,且是可物理实现的因果系统,因此被广泛地应用在现代通信技术当中,如解调器中的位同步与位定时提取、自适应均衡去码间串扰以及话音的自适应编码等。可见对基于DSP实现FIR滤波器的研究是具有非常重要的现实意义的。
       
        参考文献:
        [1] DSP系统构成技术的进展.专家论坛,20028.
        [2] TI公司.TLC320AD50C/I DATA MANUAL.2000.
        [3] TI公司.TMS320C203 DSP CPU AND PERIPHERALS.2001.
        [4] 李刚.数字信号微处理器的原理及其应用.天津大学出版社,2000.
        [5] 程佩青.数字信号处理教程(第2版).2001.