EDN China > 设计实例 > 微处理器与DSP > DSP应用 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

用DSP实现FIR数字滤波器

21ic?? 2011年01月24日 ?? 收藏0

  一、 引 言

  在许多信息处理过程中,如对信号的过滤、检测、预测等,都要广泛地用到滤波器,而数字滤波器则因其设计灵活、实现方便等特点而广为接受。

  所谓数字滤波器就是具有某种选择性的器件、网络或以计算机硬件支持的计算程序。其功能本质是按事先设计好的程序,将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列,从而改变信号的形式和内容,达到对信号加工或滤波以符合技术指标的要求。

  二、 数字滤波器的两种类型

  对于一般的数字滤波器,按照单位冲激响应可分为无限长冲激响应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-jωk,其中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点序列,即0≤n≤N-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)相乘。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

DSP? FIR? 滤波器? TMS320C203?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈