IIR数字滤波器设计-在FPGA上实现任意阶IIR数字滤波器

[11-20 16:13:34]   来源:http://www.88dzw.com  FPGA   阅读:8724

文章摘要:IIR数字滤波器设计-在FPGA上实现任意阶IIR数字滤波器摘 要:本文介绍了一种采用级联结构在FPGA上实现任意阶IIR数字滤波器的方法。此设计扩展性好,便于调节滤波器的性能,可以根据不同的要求在不同规模的FPGA上加以实现。 IIR数字滤波器在很多领域中有着广阔的应用。与FIR数字滤波器相比,它可以用较低的阶数获得高选择性,所用存储单元少,经济而效率高,在相同门级规模和相同时钟速度下可以提供更好的带外衰减特性。下面介绍一种在FPGA上实现IIR数字滤波器的方法。 IIR数字滤波器的结构 任意阶的IIR滤波器可通过数学分解,表示为: 其中为如下的二阶形式: 这样就可以将任意阶

IIR数字滤波器设计-在FPGA上实现任意阶IIR数字滤波器,标签:fpga是什么,fpga教程,http://www.88dzw.com

IIR数字滤波器设计-在FPGA上实现任意阶IIR数字滤波器

摘 要:本文介绍了一种采用级联结构在FPGA上实现任意阶IIR数字滤波器的方法。此设计扩展性好,便于调节滤波器的性能,可以根据不同的要求在不同规模的FPGA上加以实现。

   IIR数字滤波器在很多领域中有着广阔的应用。与FIR数字滤波器相比,它可以用较低的阶数获得高选择性,所用存储单元少,经济而效率高,在相同门级规模和相同时钟速度下可以提供更好的带外衰减特性。下面介绍一种在FPGA上实现IIR数字滤波器的方法。
   IIR数字滤波器的结构 任意阶的IIR滤波器可通过数学分解,表示为:
 
其中为如下的二阶形式:
 
    这样就可以将任意阶的IIR滤波器通过若干二阶网络(也称为滤波器的二阶基本节)级联起来构成,其结构如图1所示。其中,代表第i级的二阶网络。
 
    对于每一个二阶基本节,可以转置直接II型结构加以实现,如图2所示。
 
    采用这种级联结构实现IIR滤波器的优点是每一个基本节只是关系到滤波器的某一对极点和一对零点,调整系数a0i、a1i、a2i,只单独地调整了滤波器第i对零点而不影响其他任何零、极点。同样,调整b1i、b2i系数、也只单独调整了第i对极点。因此,这种结构便于准确地实现滤波器的零、极点,也便于调整滤波器的频率响应性能。这种结构的另一个优点是存储单元需要较少,在硬件实现时,可以用一个二阶节进行时分复用,从而降低对FPGA硬件资源的要求。

IIR数字滤波器的设计
      利用MATLAB信号处理工具箱中的滤波器设计和分析工具(EDATool)可以很方便地设计出符合应用要求的未经量化的IIR滤波器。需要将MATLAB设计出的IIR滤波器进一步分解和量化,从而获得可用FPGA实现的滤波器系数。
     由于采用了级联结构,因此如何将滤波器的每一个极点和零点相组合,从而使得数字滤波器输出所含的噪声最小是个十分关键的问题。为了产生最优的量化后的IIR数字滤波器,采用如下步骤进行设计:

  1. 首先计算整体传递函数的零极点;
  2. 选取具有最大幅度的极点以及距离它最近的零点,使用它们组成一个二阶基本节的传递函数;
  3. 对于剩下的极点和零点采用与(2)相类似的步骤,直至形成所有的二阶基本节。

   通过上面三步法进行的设计可以保证IIR数字滤波器中N位乘法器产生的量化舍入误差最小。 为了设计出可用FPGA实现的数字滤波器,需要对上一步分解获得的二阶基本节的滤波器系数进行量化,即用一个固定的字长加以表示。量化过程中由于存在不同程度的量化误差,由此会导致滤波器的频率响应出现偏差,严重时会使IIR滤波器的极点移到单位圆之外,系统因而失去稳定性。为了获得最优的滤波器系数,采用以下步骤进行量化:

  1. 计算每个系数的绝对值;
  2. 查找出每个系数绝对值中的最大值;
  3. 计算比此绝对值大的最小整数;
  4. 对(3)的结果取反获得负整数;
  5. 计算需要表示此整数的最小位数;
  6. 计算用于表示系数值分数部分的余下位数。

[1] [2]  下一页


Tag:FPGAfpga是什么,fpga教程FPGA
分类导航
最新更新
热门排行