《基于dsp的数字滤波器设计-学位论文.doc》由会员分享,可在线阅读,更多相关《基于dsp的数字滤波器设计-学位论文.doc(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、xx大学学士学位论文基于DSP的数字滤波器设计摘要21世纪是数字化的时代,随着信息处理技术的飞速发展,数字信号处理技术逐渐发展成为一门主流技术,它在电子信息、通信、软件无线电、自动控制、仪表技术、信息家电等高科技领域得到了越来越广泛的应用。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用越来越广泛。同时DSP(数字信号处理器)的出现和FPGA的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。DSP 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、
2、快速地实现各种数字信号处理算法。用DSP 芯片实现FIR 数字滤波器,不仅具有精确度高、不受环境影响等优点,而且因DSP 芯片的可编程性,可方便地修改滤波器参数,从而改变滤波器的特性,设计十分灵活。本课题主要应用MATLAB软件设计FIR数字滤波器,并对所设计的滤波器进行仿真;应用DSP集成开发环境CCS调试汇编程序,用TMS320C5416来实现了FIR数字滤波。具体工作包括:对FIR数字滤波器的基本理论进行了分析和探讨;采用MATLAB软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对FIR低通数字滤波器进行前期的设计和仿真;系统介绍了TI公司TMS320C54x系
3、列数字信号处理器的硬件结构、性能特点和DSP的集成开发环境CCS;应用DSP集成开发环境CCS调试汇编程序,用TMS320C5416来实现了FIR数字滤波。关键词数字滤波器;DSP;FIR(有限长单位脉冲响应);MATLABDesign of The Digital Filter Based on DSP Abstract21century is the era of digitalization. With the rapid development of information processing technology, digital signal processing technol
4、ogy has developed as a kind of main technology gradually. It has been widely applied in the high-tech fields of electronic information, communication, software radio, automatic control, instrument technology and information electrical household appliances, Relative to analogue filter, digital filter
5、 can process low frequency signal without excursion. Frequency response property can be made very close to ideal property; its precision can reach very high, easy to be integrated and so on. These advantages determine the application of digital filter more and more widely. Meanwhile, the appearance
6、of digital signal processor(DSP) and the rapid development of FPGA also stimulate the development of digital filter, and provide more choices for the hardware realization of digital filter.DSP chips is a particularly suitable for digital signal processing computing microprocessors, mainly used for r
7、eal-time, the rapid realization of a variety of digital signal processing algorithms. DSP chips used to achieve FIR digital filter, not only has high accuracy, without the advantages of environmental impact, but also because of the programmable DSP chips, can be easily modified filter parameters, th
8、us changing the filter characteristics of the design is very flexible.This project mainly applies the MATLAB software to design FIR digital filter; imitates the designed filter; applies DSP integrated developing surroundings-CCS to debug assembler; uses TMS320C5416 to realize FIR digital filter. The
9、 specific works include: analyzing and discussing basic theories of FIR digital filter; using the MATLAB software to learn basic knowledge of digital filter: calculating the coefficient of digital filter; studying the feasibility of the way of calculation; designing and imitating the earlier stage o
10、f FIR digital filter; introducing in a systematic way the hardware structure and characteristics of TI Companys TMS320C54x series of digital signal processor, and the integrated developing surroundings CCS of DSP: applying DSP integrated developing surroundings-CCS to debug assembler and using TMS32
11、OC54l6 to rea1ize FIR digital filter.Keywords Digital Filter;DSP;FIR;MATLAB不要删除行尾的分节符,此行不会被打印II- -目录摘要IAbstractII第1章 绪论11.1 数字滤波器的优越性11.2 国内外相关领域的相关进展21.3 数字滤波器的实现方法31.4 主要研究内容3第2章 FIR滤波器基础42.1 FIR滤波器的特点42.2 FIR滤波器的设计方法42.2.1 利用窗函数法设计FIR滤波器42.2.2 用频率抽样法设计FIR滤波器72.2.3 利用切比雪夫逼近法设计FIR滤波器72.3 FIR滤波器的实现方
12、法92.3.1 FIR滤波器的实现结构92.3.2 FIR滤波器的实现方法132.4 本章小结14第3章 基于MATLAB的FIR滤波器的设计153.1 MATLAB简介153.2 基于MATLAB的FIR滤波器的设计163.2.1 设计要求163.2.2 滤波器指标163.2.3 设计过程163.2.4 设计结果183.3 FIR滤波器的MATLAB仿真203.4 本章小结22第4章 数字滤波器的DSP实现234.1 DSP的基本特征234.2 TMS320C54xDSP的硬件结构244.2.1 总线结构244.2.2 中央处理单元254.2.3 内部存储器264.2.4 片内外设274.3
13、 DSP系统的设计与开发274.3.1 DSP系统的特点284.3.2 DSP系统的设计流程284.3.3 DSP系统的开发工具284.4 FIR滤波器的DSP实现294.4.1 系数量化294.4.2 量化误差304.4.3 FIR数字滤波器的实现结构314.4.4 FIR汇编程序及CCS调试314.4.5 FIR滤波器的DSP实现344.5 本章小结35结论36致谢37参考文献38附录A40附录B47千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“Abstract”这一行后加一空行- IV -第1章 绪论1.1 数字滤波器的
14、优越性21世纪是数字化的时代,随着越来越多的电子产品将数字信号处理(DSP)作为技术核心,DSP已经成为推动数字化进程的动力。作为数字化最重要的技术之一,DSP无论在其应用的深度还是广度,正在以前所未有的速度向前发展。数字信号处理器,也称DSP芯片,是针对数字信号处理需要而设计的一种具有特殊结构的微处理器,它是现代电子技术、计算机技术和数字信号处理技术相结合的产物。随着信息处理技术的飞速发展,数字信号处理技术逐渐发展成为一门主流技术,它在电子信息、通信、软件无线电、自动控制、仪表技术、信息家电等高科技领域得到了越来越广泛的应用。数字信号处理由于运算速度快,具有可编程特性和接口灵活的特点,使得它
15、在许多电子产品的研制、开发和应用中,发挥着重要的作用。采用DSP芯片来实现数字信号处理系统是当前发展的趋势。近年来,DSP技术在我国也得到了迅速的发展,不论是在科学技术研究,还是在产品的开发等方面,其应用越来越广泛,并取得了丰硕的成果。在数字信号处理中,数字滤波占有极其重要的地位。数字滤波是语音和图象处理、模式识别、谱分析等应用中的一个基本处理算法。在许多信号处理应用中用数字滤波器替代模拟滤波器具有许多优势。数字滤波器容易实现不同的幅度和相位频率特性指标,克服了与模拟滤波器器件性能相关的电压漂移、温度漂移和噪声问题。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响外,还具有灵活
16、性好的特点。用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便的改变滤波器的特性。几乎每一科学和工程领域例如声学、物理学、通信、数据通信、控制系统和雷达等都涉及信号。在许多应用中都希望根据期望的指标把一个信号的频谱加以修改、整形或运算。这些过程都可能包含衰减一个频率范围,阻止或隔离一些频率成分,用数字滤波器来实现这些功能是方便、有效、可行的3。数字滤波器又分为无限冲激响应滤波器(IIR)和有限冲激响应滤波器(FIR)。FIR滤波器具有不含反馈环路、结构简单以及可以实现的严格线性相位等优点,因而在对相位要求比较严格的条件下,采用FIR数字滤波器。同时,由于在许多场合下,需要对信号进行实
17、时处理,因而对于单片机的性能要求也越来越高。由于DSP控制器具有许多独特的结构,例如采用多组总线结构实现并行处理,独立的累加器和乘法器以及丰富的寻址方式,采用 DSP控制器就可以提高数字信号处理运算的能力,可以对数字信号做到实时处理。而普通的单片机例如MCS-51难以满足这一要求。用可编程DSP芯片实现数字滤波的又一优势是:通过修改滤波器的参数十分方便的改变滤波器的特性。有限长单位冲激响应(FIR)数字滤波器,与传统的通过硬件电路实现的模拟滤波器相比有以下优点21:1简化了硬件电路的设计,提高了硬件电路的集成度和可靠性。2对干扰信号的抑制能力有了明显提高,这对系统的控制精度和稳定性的提高起到了
18、促进作用。3数字滤波器的参数调节比起模拟滤波器来更加方便、灵活。4数字滤波器可以实现数据的并行处理,提高了系统运行速度。1.2 国内外相关领域的相关进展自20世纪70年代末80年代初DSP芯片诞生以来DSP芯片得到了飞速的发展。在20多年时间里DSP芯片已经在信号处理、通信、自动控制、仪表技术、信息家电等许多领域得到广泛的应用。1978年AMI公司生产出世界上第一片DSP芯片S2811。1979年美国Intel公司发布的商用可编程器S2920是DSP芯片的一个重要里程碑。1980年日本NEC公司推出的PD7720是第一个具有乘法器的商用DSP芯片。在这之后,最成功的DSP芯片当数美国德州仪器公
19、司(Texas Instruments,简称TI)的一系列产品,其DSP市场份额占全世界份额近的50%。目前DSP芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。经过20年的发展,DSP器件在高速度,可编程,小型化,低功耗等方面都有了长足的发展,单片DSP芯片最快每秒可完成16亿次(1600MIPS)的运算,生产DSP器件的公司也不断壮大。在国内外的研究中,设计FIR滤波器所涉及的乘法运算方式有:并行乘法、位串行乘法和采用分布式算法的乘法。并行乘法运行速度快,但占用的硬件资源极大。如果滤波器的阶数增加,乘法器位数也将变大,硬件规模将变得十分庞大。位串行乘法器的实现方法主要是通过对乘
20、法运算进行分解,用加法器来完成乘法的功能,也即无乘法操作的乘法器。位串行乘法器使得乘法器的硬件规模达到了最省,但是由于是串行运算,使得它的运算周期过长,运算速度与硬件规模综合考虑时不是最优的。分布式算法(distributed arithmetic,DA)的主要特点是巧妙的利用ROM查找表将固定系数的乘累加(Multiply-accumulator,MAC)运算转化为查表操作,它与传统算法实现乘累加运算的不同在于执行部分积运算的先后顺序不同。分布式算法在完成乘累加功能时是通过将各输入数据每一对应位产生的部分积预先进行相加形成相应的部分积,然后再对各个部分积累加形成最终结果,而传统算法是等到所有
21、乘积已经产生之后再来相加来完成乘累加运算的。DA算法设计的FIR滤波器的速度可以显著的超过基于MAC的设计。相对于前两种方法,DA算法既可以全并行实现,又可以全串行实现,还可以串并行结合实现,可以在硬件规模和滤波器速度之间作适当的折中,是数字滤波器的主要研究课题。1.3 数字滤波器的实现方法目前数字滤波器的主要实现方法有:1在通用的微型计算机上用软件实现。软件可以是自己编写的,也可以使用现成的软件包,这种方法的缺点是速度太慢,不能用于实时系统,只能用于教学和算法的仿真研究。比如用MATLAB就几乎可以实现所有数字滤波器的仿真。而且在MATLAB下的部分仿真程序还可以通过转化为C语言,再通过DS
22、P的C编译器直接在DSP硬件上运行。2用 DSP(Digital Signal Processing)处理器实现DSP处理器是专为数字信号处理而设计的,如TI公司的TMS320C54x系列,AD公司的ADSP2IX,ADSP210X系列等。它的主要数字运算单元是一个乘累加器(Multiply-accumulator,MAC),能够在一个机器周期内完成一次乘累加运算,配有适合于信号处理的指令,具备独特的循环寻址和倒序寻址能力。这些特点都非常适合数字信号处理中的滤波器设计的有效实现,并且它速度快、稳定性好、编程方便。3用固定功能的专用信号处理器实现专用信号处理器采用专用集成电路ASIC(Appli
23、cation Specific Integrated Circuits)实现,适用于过程固定而又追求高速的信号处理任务,是以指定的算法来确定它的结构,使用各种随机逻辑器件组成的信号处理器。它们体积小、保密性好,具有极高的性能,但灵活性差。4用FPGA等可编程器件来开发数字滤波算法。由于FPGA产品的迅速发展,人们可以利用Atera、Xilinx等产品,使用其相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理器,还是作为DSP芯片的协处理器,目前都是比较活跃的研究领域。比较以上方法可见
24、:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对数字滤波器进行前期的设计和仿真。而后,用DSP处理器或FPGA进行数字滤波的硬件实现。本课题设计的FIR数字滤波器就是用MATLAB进行设计和仿真,用DSP处理器来实现。1.4 主要研究内容本课题主要应用MATLAB软件设计FIR数字滤波器,并对所设计的滤波器进行仿真:应用DSP集成开发环境CCS调试汇编程序,用TMS320C5416来实现了FIR数字滤波。具体工作包括:对FIR数字滤波器的基本理论进行了分析和探讨;采用MATLAB软件来学习数字滤波器的基本知识,对FIR低通数字滤波器进行前期的设
25、计和仿真;系统介绍了TI公司TMS320C54x系列数字信号处理器的硬件结构、性能特点和DSP的集成开发环境CCS;应用DSP集成开发环境CCS调试汇编程序,用TMS320C5416来实现了FIR数字滤波。第2章 FIR滤波器基础2.1 FIR滤波器的特点在数字信号处理应用中往往需要设计线性相位的滤波器,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。FIR滤波器不断地对输入样本x(n)延时后,再作乘法累加算法,将滤波结果y(n)输出,因此,FIR实际上是一种乘法累加运算。在数字滤波器中,FIR滤波器的最主要的特点是没有反馈回路,故不存在不稳定的问题;同时,可以在幅
26、度特性是随意设置的同时,保证精确的线性相位。稳定和线性相位特性是FIR滤波器的突出优点。另外,它还有以下特点:设计方式是线性的;硬件容易实现;滤波器过渡过程具有有限区间;相对IIR滤波器而言,阶次较高,其延迟也要比同样性能的IIR滤波器大得多l2。2.2 FIR滤波器的设计方法FIR滤波器的设计方法主要有窗函数设计法和频率抽样设计法等,其中窗函数设计法是最基本的设计方法。在设计FIR滤波器中,一个最重要的计算就是加窗,采用矩形窗是最直接和简便的方法,但采用矩形窗存在较大的Gibbis效应,且矩形窗的第一旁瓣与主瓣相比仅衰减 13dB,因此实际设计中一般采用其他窗函数。本小节主要介绍几种常用的窗
27、函数和频率抽样设计法等。2.2.1 利用窗函数法设计FIR滤波器1窗函数法的基本思想窗函数设计的基本思想是要选取某一种合适的理想频率选择性滤波器,然后将它的脉冲响应截断以得到一个线性相位和因果的FIR滤波器。因此这种方法的重点在于选择某种合适的窗函数和一种理想滤波器。对于给定的滤波器技术指标,选择滤波器长度和具有最窄主瓣宽度和尽可能小的旁瓣衰减的某个窗函数。任何数字滤波器的频率响应都是的周期函数,它的傅立叶级数展开式为: (21)其中 (22)其中的为滤波器的归一化的截止频率。傅立叶系数实际上就是理想数字滤波器的冲激响应。获得有限冲激响应数字滤波器的一种可能方法就是把无穷级数截取为有限项级数来
28、近似,而吉布斯(Gibbs)现象使得直接截取法不甚令人满意1。窗函数法就是用被称为窗函数的有限加权系列来修正式(22)的傅立叶级数,以求得要求的有限冲激响应序列,即有: (23)是有限长序列,当及时,。2几种常用的窗函数工程中比较常用的窗函数有l3:矩形窗函数、三角形 (Bartlett)窗函数、汉宁(Hanning)窗函数、海明(Hamming)窗函数、布莱克曼(Blackman)窗函数和凯塞(Kaiser)窗函数。这几种窗函数的比较见表2-1所示。表2-1 几种常用窗函数对比窗函数旁瓣峰值衰减(db)过渡带()阻带最小衰减(db)矩形窗-134/N-21三角形-278/N-25汉宁窗-31
29、8/N-44海明窗-418/N-53布莱克曼窗-5712/N-74凯塞窗-5710/N-80窗函数的选择原则是:1具有较低的旁瓣幅度,尤其是第一旁瓣幅度;2旁瓣幅度下降速度要大,以利增加阻带衰减;3主瓣的宽度要窄,以获得较陡的过渡带。通常上述三点很难同时满足。当选用主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加:当选用最小的旁瓣幅度时,虽能得到匀滑的幅度响应和较小的阻带波动,但过渡带加宽。因此,实际选用的窗函数往往是它们的折衷。在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。1汉宁(Hanning)窗汉宁窗又称升余弦窗。 (24)利用傅里叶变换特性,
30、可得 (25)当时,所以窗函数的幅频函数为 (26)这三部分之和,使旁瓣互相抵消,能量更集中在主瓣,它的最大旁瓣值比主瓣值约低31dB。但是代价是主瓣宽度比矩形窗的主瓣宽度增加一倍,即为 。2海明(Hamming)窗海明窗又称改进的升余弦窗。把升余弦窗加以改进,可以得到旁瓣更小的效果,窗形式为 (27)的频率响应的幅度特性为 (28)与汉宁窗相比,主瓣宽度相同,为,但旁瓣又被进一步压低,结果可将99.963%的能量集中在窗谱的主瓣内,它的最大旁瓣值比主瓣值约低41dB。3布莱克曼(Blackman)窗布莱克曼窗又称二阶升余弦窗。为了进一步抑制旁瓣,对升余弦窗函数再加上一个二次谐波的余弦分量,变
31、成布拉克曼窗,故又称二阶升余弦窗。 (29)的频率响应的幅度特性为 (210)4凯塞(Kaiser)窗这是一种适应性较强的窗,是一种最优和最有用的窗。它是在给定阻带衰减下给出一种大的主瓣宽度意义上的最优结果,这本身就内含着最陡峭的过渡带。其公式为: (211)式中,是第一类变形零阶贝塞尔函数,是一个可自由选择的参数。凯塞窗的优点:1凯塞窗可提供变化的过渡带宽,通过改变的值可达到最陡的过渡带;2凯塞窗具有与海明窗相匹敌的特性,通过调整的值,可将凯塞窗完全等价于海明窗;3凯塞窗最大旁瓣值比主瓣约低80dB,在所有的窗函数中旁瓣抑制度最高。综合以上窗函数特点,选用最优和适应性较强的凯塞窗来设计FIR
32、滤波器。2.2.2 用频率抽样法设计FIR滤波器所谓频率抽样法就是从频域出发,根据频域的采样定理,对给定的理想滤波器的频域响应进行等间隔采样45 (212)把当作待设计的滤波器频率响应的采样值,通过下式可求出滤波器的系统函数和频率响应: (213) (214)其中,是一个内插函数: (215)由于频谱的有限个采样值恢复出来的频率响应实际上是对理想频率响应的逼近,因此,这种方法必然有一定的逼近误差。若被逼近的频率响应比较平滑,则各采样点之间的逼近误差较小;反之,则逼近误差较大。为了提高逼近的质量,可以采用人为的扩展过渡带的方法,即在频率相应的过渡带内插入一个或多个比较连续的采样点,使过渡带比较连
33、续,从而通带和阻带之间变化比较缓慢,使得设计得到的滤波器对理想滤波器的逼近误差较小。2.2.3 利用切比雪夫逼近法设计FIR滤波器上述两种方法设计的FIR滤波器的频率响应都不很理想,即通带不够平,阻带衰减不够大,过渡带过宽,频率边缘不能精确指定。Chebyshev方法是最佳一致逼近法。该方法在数字信号处理中占有重要的定位,是设计FIR滤波器最理想的方法。但是,该方法的原理较为复杂67。数字滤波器频域设计的最优方法等波纹切比雪夫法,是采用最大误差最小准则得到最优数字滤波器,而且其最优解唯一。最优设计实际上是调节FIR滤波器Z域零点的分布,使得实际滤波器的频域响应和理想滤波器的频域响应之间的最大绝
34、对误差最小。对于I型FIR数字滤波器,其频响可表示为: (216)其中,为滤波器系数,M为滤波器阶数。我们将研究对于设计具有广义线形相位的FIR滤波器特别有效且广泛使用的算法Parks-McClellan11算法。该算法的基础是将滤波器的设计问题用公式表示成多项式逼近问题。该算法将滤波器阶数L、带沿频率和,以及通带阻带最大误差比固定,令或为变量,有效而系统的改变(L+l)个非限制的脉冲响应值,从而达到满足设计指标的目的。 (216)式中的项可表示为不同幂次之和,形式为,这里是n次切比雪夫多式,。 故,可改写 (217)其中,是与相关的常数。我们定义逼近误差函数为: (218)其中,为加权函数,
35、要求、及只在区间有定义。最大误差最小准则即是在所要求频域上找出使 (218)式的最大加权逼近误差达最小的频响。即最佳逼近就是在意义上所求得的逼近。这里F是的闭子集。使给定阶次的多项式的最大加权误差为最小的充要条件由交替定理给出。其表达式为8 (219) (220)为最优误差。(219)、(220)式说明逼近误差至少要有L+2交错点,从而使最小,唯一。由(217)、(219)式可以解出系数组和。另一种更为有效的方法是多项式内插公式,可求得 (221)其中,也即若由满足(217)、(219)式确定的并且由(221)式给出,则误差函数就会通过(L+2)个频率上的处。而为避免求解复杂方程组(217)、
36、(219)来得出系数,Parks-McClellan采用Lagrange多项式内插公式,有 (222)其中,这里令,。通过(222)式可计算通带和阻带中多处频域的和值。若对通带和阻带中的所有,都有,则说明已达到最佳逼近。否则,需计算出新的极值频率。2.3 FIR滤波器的实现方法本小节主要介绍FIR滤波器的基本结构和常用的滤波器的硬件实现方法。2.3.1 FIR滤波器的实现结构FIR滤波器的传递函数一般有如下形式: (223)其基本结构有以下几种:直接型,级联型,线性相位型,频率采样型l3。1直接型直接型也称卷积型或横截型,称为卷积型,是因差分方程是信号的卷积形式;称为横截型,是因为滤波器是一条
37、输入延时链的横向结构。直接由差分方程可画出对应的网络结构。其结构图如图21所示。 (224)式中,为实数;为输入序列,为输出序列,单位采样响应。图2-1(a) FIR滤波器的直接型结构图2-1(b) FIR滤波器的直接型结构直接型结构的特点是:优点:简单直观,乘法运算量较少;缺点:调整零点较难。2级联型(串联型)当需要控制滤波器的传输零点时,可将传递函数分解为二阶实系数因子的形式: (225)式中,为的变换;,为实数。级联型结构如图2-2所示。图2-2 FIR滤波器的级联型结构该结构的缺点是:所需要的系数比直接型的多;需要进行因式分解,而且较直接型需要更多的乘法器,乘法运算多于直接型。3线性相
38、位型FIR滤波器的重要特点是可设计成具有严格线性相位的滤波器,此时满足偶对称或奇对称条件。其单位冲击响应有如下特性: (226)当N为偶数时, (227)其网络结构(信号流图)如图2-3(a)所示当N为奇数, (228)其网络结构(信号流图)如图2-3(b)所示(a) N为偶数(b) N为奇数图2-3 线性相位FIR滤波器的直接型结构该结构的优点是:简化网络结构。4频率采样型频率采样型结构是一种用系数将滤波器参数化的一种实现结构。一个有限长序列可以由相同长度频域采样值唯一确定。系统函数在单位圆上作N等分取样就是单位取样响应的离散傅里叶变换。与系统函数之间的关系可用内插公式表示: (229)其中
39、,由上看出,FIR系统可用一子FIR系统和一子IIR系统级联而成。其网络结构(信号流图)如图2-4所示图2-4 FIR滤波器的频率采样型结构频率采样型结构的特点有:优点:1选频性好,适于窄带滤波,这时大部分为零,只有较少的二阶子网络;2不同的FIR滤波器,若长度相同,可通过改变系数用同一个网络实现;3复用性好。缺点:1具体实现时难免存在误差,零、极点可能不能正好抵消,造成系统不稳定;2结构复杂,采用的存贮器多。FIR滤波器常表示为直接型和转置型两种结构,两种结构的功能是等效的。从实现的难易程度上来分析,两种结构的表现是不一样的。直接型结构的优点有两个,一是移位寄存器存储的是位宽较小的输入数据;
40、二是当FIR滤波器为线性相位时,可以利用其系数对称的特点,将乘法器个数减半,加法器个数不变。事实上,线性相位FIR滤波器是用得最多的FIR滤波器,过去用资源有限的ASIC、FPGA设计阶数不多的对称系数FIR滤波器时就采用直接型结构。直接型的缺点是需要一个多输入加法器,当FIR阶数较多时,多输入加法器的实现复杂、迟延较大,直接型结构也不便于多个FIR滤波器级连扩展。转置型结构的优点是乘法器和加法器排列规则,特别便于大规模集成电路来设计实现,且多个FIR滤波器可直接级联扩展来扩展阶数。缺点是要存储各级乘加器的输出,这些输出的位宽较大,也无法利用线性相位FIR滤波器系数对称的特点。目前用资源丰富的
41、FPGA等硬件设计长阶数FIR滤波器时,几乎都采用转置型结构,数据格式都是定点型的。2.3.2 FIR滤波器的实现方法数字滤波器的实现方法一般有以下几种9:1用计算机软件实现软件实现方法即是在通用的微型计算机上用软件实现。利用计算机的存储器、运算器和控制器把滤波所要完成的运算编成程序通过计算机来执行,软件可由使用者自己编写,也可以使用现成的。国内外的研究机构、公司已经推出了不同语言的信号滤波处理软件包。但是这种方法速度慢,难以对信号进行实时处理,虽然可以用快速傅立叶变换算法来加快计算速度,但要达到实时处理要付出很高的代价,因而该方法多用于教学与科研。2采用 DSP(Digital Signal
42、 Processing)处理器来实现DSP处理器是专为数字信号处理而设计的,如TI公司的TMS320CX系列,AD公司的ADSP2IX,ADSP210X系列等。它的主要数字运算单元是一个乘累加器(Multiply-accumulator, MAC),能够在一个机器周期内完成一次乘累加运算,配有适合于信号处理的指令,具备独特的循环寻址和倒序寻址能力。这些特点都非常适合数字信号处理中的滤波器设计的有效实现,并且它速度快,成本低,在过去的20多年的时间里,软件可编程的DSP器件几乎统治了商用数字信号处理硬件的市场。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响外,还具有灵活性好的特
43、点。用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便的改变滤波器的特性。3采用固定功能的专用信号处理器实现专用信号处理器采用专用集成电路ASIC(Application Specific Integrated Circuits)来实现,适用于过程固定而又追求高速的信号处理任务,是以指定的算法来确定它的结构,使用各种随机逻辑器件组成的信号处理器。它们体积小、保密性好,具有极高的性能,然而灵活性差。4用FPGA等可编程器件实现使用相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号
44、处理,还是作为DSP芯片的协作处理器都是比较活跃的研究领域。通过比较这些方法可见:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对数字滤波器进行前期的仿真。可以采用DSP或FPGA来实现硬件电路。本课题研究的重点集中在利用DSP来实现数字滤波的硬件电路。2.4 本章小结本章主要介绍了FIR滤波器设计的理论基础,分别介绍了FIR滤波器的定义与分类、FIR滤波器的几种设计方法和实现方法,为后面FIR滤波器的设计奠定理论基础。第3章 基于MATLAB的FIR滤波器的设计3.1 MATLAB简介 MATLAB语言是当今国际上科学界最具影响力、也是最有活力
45、的软件之一。它起源于矩阵运算,并己经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言在教学及科学研究起着重大的作用。MATLAB语言由美国 The MathWorks开发10,2003年推出了其全新的MATLAB6.5.l正式版。2004年9月正式推出 Release 14(MATLAB7.0)的ServicePack 1。MATLAB语言中提供了数字信号处理工具箱,使数字信号处理较以前更简洁方便且效果更好。在MATLAB中提供了一些滤波器的函数,使FIR滤波器的运算更加方便和快速。在MATLAB中提供的滤波函数有,此函数以经典的方法实现加窗线性相位FIR数字滤波器设计,可以设计出低通、高通、带通和带阻滤波器;函数设计的FIR滤波器,其滤波器的频率特性由矢量和决定,分别为滤波器的期望幅频响应的频率相量和幅值相量。和的基本格式用于设计I型和型线性相立FIR滤波器,是偶对称滤波器,I型和型的区别在于滤波器的阶数是偶数还是奇数。用于设计具有光滑,正弦过渡带的低通线性相位滤波器。用于实现IIR和FIR滤波器对数据的滤波,常用来计算滤波器对输入配响应。利用效率高灼基于FFT重叠相加算法实现对数据滤波,该函数只适用FIR滤波器。用于求数字滤波器的频率响
限制150内