用DSP实现FIR数字滤波器.doc_第1页
用DSP实现FIR数字滤波器.doc_第2页
用DSP实现FIR数字滤波器.doc_第3页
用DSP实现FIR数字滤波器.doc_第4页
用DSP实现FIR数字滤波器.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用DSP实现FIR数字滤波器2011-01-01 16:52:23 来源:与非网 关键字: IIR Infinite Impulse Response FIR Finite Impulse Response DSP 滤波器 FIR滤波器具有幅度特性可随意设计、线性相位特性可严格精确保证等优点,因此在要求相位线性信道的现代电子系统,如图像处理、数据传输等波形传递系统中,具有很大吸引力。本文简单介绍了其线性相位条件和设计方法,并且提供了一种用DSP实现的方法。一、 引言在许多信息处理过程中,如对信号的过滤、检测、预测等,都要广泛地用到滤波器,而数字滤波器则因其设计灵活、实现方便等特点而广为接受。所谓数字滤波器就是具有某种选择性的器件、网络或以计算机硬件支持的计算程序。其功能本质是按事先设计好的程序,将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列,从而改变信号的形式和内容,达到对信号加工或滤波以符合技术指标的要求。二、 数字滤波器的两种类型对于一般的数字滤波器,按照单位冲激响应可分为无限长冲激响应IIR(Infinite Impulse Response)系统和有限长冲激响应FIR(Finite Impulse Response)系统。在IIR系统中,用有理分式表示的系统函数来逼近所需要的频率响应,即其单位冲激响应h(n)是无限长的;而在FIR系统中,则用一个有理多项式表示的系统函数去逼近所需要的频率响应,即其单位冲激响应h(n)在有限个n值处不为零。IIR滤波器由于吸收了模拟滤波器的结果,有大量的图表可查,可以方便、简单、有效地完成设计,效果很好,但是其相位特性不好控制,必须用全通网络进行复杂的相位较正,才能实现线性相位特性的要求。FIR滤波器则可在幅度特性随意设计的同时,保证精确、严格的线性相位特性。这在要求相位线性信道的现代电子系统,如图像处理、数据传输等波形传递系统中,是具有很大吸引力的。而且,其单位冲激响应是有限长的,不存在不稳定的因素,并且可用因果系统来实现。下面着重讨论具有线性相位特性的FIR滤波器。三、 FIR滤波器线性相位特性的条件及设计方法1.线性相位条件为保证滤波器带内输出信号的形状保持不变,常常要求滤波器单位冲激响应h(n)的频率响应H(ej)应具有线性的相频特性,即H(ej)=H()e-jk,其中H()为幅频特性,k为正整数。由傅氏变换的特性可知,线性相位滤波器只是将信号在时域上延迟了k个采样点,因此不会改变输入信号的形状。可以证明,如果滤波器单位冲激响应h(n)为实数,且满足:偶对称即h(n)=h(N-1-n)或奇对称h(n)=-h(N-1-n)时,则其相频特性一定是线性的。2.设计方法(1) 窗函数设计法从时域出发,把理想的无限长的hd(n)用一定形状的窗函数截取成有限长的h(n),以此h(n)来逼近hd(n),从而使所得到的频率响应H(ej)与所要求的理想频率响应Hd(ej)相接近。优点是简单、实用,缺点是截止频率不易控制。(2) 频率抽样设计法从频域出发,把给定的理想频率响应Hd(ej)加以等间隔抽样,所得到的H(k)作逆离散傅氏变换,从而求得h(n) ,并用与之相对应的频率响应H(ej)去逼近理想频率响应Hd(ej)。优点是直接在频域进行设计,便于优化,缺点是截止频率不能自由取值。(3) 等波纹逼近计算机辅助设计法前面两种方法虽然在频率取样点上的误差非常小,但在非取样点处的误差沿频率轴不是均匀分布的,而且截止频率的选择还受到了不必要的限制。因此又由切比雪夫理论提出了等波纹逼近计算机辅助设计法。它不但能准确地指定通带和阻带的边缘,而且还在一定意义上实现对所期望的频率响应实行最佳逼近。四、 FIR滤波器的实现不论是窗函数设计法,还是频率抽样设计法,都要求出滤波器的单位冲激响应h(n),然后才能在时域中实现频域中的滤波。1.滤波系统的差分方程在频域,当其输入信号为X(ej)时,如滤波器的频率响应为H(ej),则其输出信号为Y(ej)=X(ej)H(ej)。在时域,设滤波器的单位冲激响应h(n)为一N点序列,即0nN-1时h(n)的值不为零,根据离散傅氏变换的性质,则可以将滤波器的输入序列x(n)的响应y(n)表示为x(n)与h(n)的卷积和,即:这就是滤波系统的差分方程,它给滤波器的实现奠定了理论基础。即求出时域的h(n)后,便可通过卷积来实现频域的滤波。2.卷积和运算的实现(1) h(n)序列N个点数值的存储由于h(n)是根据滤波性能要求已经设计好的有限长单位冲激响应,故其N个点的数值是已知的,因此可以存放在ROM或RAM当中,且对应着N个不同的地址,便于寻址。(2) 输入序列x(n)的移位寄存输入序列x(n)是不断变化的,因此只能对其进行移位寄存,寄存器的个数为N,即N个寄存器中分别存放着x(n)、x(n-1)x(n-N+1),它们都随着n的变化而变化。(3) 乘法器用以完成两个数值的乘法,即h(m)x(n-m),也就是将存储器中N地址所对应的N个固定数值h(m)分别与N个移位寄存器中的不断变化的N个变化数值x(n-m)相乘。(4) 累加器用以实现N个乘积的累加,即将当前x(n)所对应的N个乘积进行累加,所得到的和就是y(n)。当滤波器的下一个输入值即x(n +1)到来时,累加器清零,并重新将下一组x(n +1)所对应的N个乘积进行累加,所得到的和就是y(n +1)。3.DSP的支持DSP作为信号处理应用,与一般微处理器有很大的区别。(1) 哈佛结构:采用多个并行存储器块结构,使得能够访问的存储器个数增加,从而减少在一个指令周期中所需存储器操作周期数。(2) 乘加流水线为核心的数据通路:卷积和运算的基本操作就是乘法与加法,DSP则将相乘及累加统一考虑,构成以乘法器、加法器流水线为中心的运算部件。(3) 特殊的指令:指令RPT由数据存储器指定重复次数,指令MACD可以一次完成相乘并带数据移位的累加,因此使得每一级FIR滤波器只需一个指令周期。(4) 指令系统的多级流水线:采用多级流水线操作方式,可以把指令周期减小到最小值,同时也就增加了数字信号处理器的吞吐量。五、 具体电路框图及程序流程图图 1为FIR滤波器DSP实现的电路方框图,其核心部分为TI公司生产的DSP芯片TMS320C203 ,EP2ROM和RAM是其外围电路。DSP送给A/D抽样时钟,对输入的模拟信号抽样,即将模拟信号转换成数字信号,然后读取每一次的抽样值,并对抽样值进行卷积运算(FIR数字滤波),最后将运算结果(滤波后的数字信号)送至D/A ,转换成模拟信号进行输出。图 1电路框图 图 2为程序流程图,说明如下:图 2程序流程图(1) 对DSP进行初始化,定义DSP的一些向量和工作模式;(2) 为数字滤波作准备,将预先设计好的有N个抽头的FIR数字滤波器的冲激响应序列h(n)中的N个数值放入存储单元B1BN;(3) 作好滤波准备工作后,开始进行抽样,并读入抽样值,放入存储单元A1中;(4) 之后便对抽样值进行运算处理:(a) 将累加器清零,并设置两个准备相乘的存储单元A与B的初始值K和L;(b) 将第K个抽样值AK与冲激响应序列的第L个数值BL相乘(K+L=N+1),并将乘积送入累加器进行累加;(c) 将第K-1个抽样值AK-1放入AK,此时AK中原数值被覆盖;(d) 重复

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论