直接FIR滤波器设计

时间:2008-12-16

  图所示的直接FIR滤波器在VHDL中使用(顺序)PROCESS声明或者是加法器和乘法器的“组件实例”来实现。PROCESS设计为合成器提供了更多的自由,而组件实例则可以被设计者完全控制。为了说明这一点,下面将要给出一个长度为4的FIR滤波器作为PROCESS设计。尽管长度为4的FIR对于大多数实际应用来讲都太短了,但是它可以很容易地扩展到更高阶,并且其优点在于编辑时间比较短。线性相位(也就是对称)FIR脉冲响应假定如下:

直接FIR滤波器

  这些系数可以直接编码成4位分数。注意:通常仅仅实现正CSD系数时会更有效,因为正CSD系数具有更少的非零项,当计算乘积的累加时可以将系数的符号考虑进来。

  在实际情况中,FIRR可以从计算机设计工具中得到,是以浮点数形式提供给设计者的。建立在浮点数系数基础之上的定点数FIR的实现,需要通过仿真或者代数分析进行确认,以保证设计规范仍然是令人满意的。在上述例子中,浮点数是3.75和1.0,它们都是用定点数来地表示的,所以这种核查就可以跳过。

  当用定点数设计时需要提出的另一个问题就是保护系统不要动态范围溢出。幸运的是,第L阶FIR的动态范围级数G的坏情况可以很容易地计算出来,就是:

  总位宽就是输入位宽与级数G的位宽之和。对于上面中的滤波器G=1092(9.5)<4,这说明系统内部数据寄存器需要至少比输入数据多4个以上的整数位以保证不溢出。如果采用的是8位内部运算,输入数据就应该限制在±128/9.5=±13之内。
  欢迎转载,信息来源维库电子市场网(www.dzsc.com


  
上一篇:触摸屏软硬件设
下一篇:硬件电路板设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料