直接FIR滤波器设计
发布时间:2008/12/17 0:00:00 访问次数:521
图所示的直接fir滤波器在vhdl中使用(顺序)process声明或者是加法器和乘法器的“组件实例”来实现。process设计为合成器提供了更多的自由,而组件实例则可以被设计者完全控制。为了说明这一点,下面将要给出一个长度为4的fir滤波器作为process设计。尽管长度为4的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)
图所示的直接fir滤波器在vhdl中使用(顺序)process声明或者是加法器和乘法器的“组件实例”来实现。process设计为合成器提供了更多的自由,而组件实例则可以被设计者完全控制。为了说明这一点,下面将要给出一个长度为4的fir滤波器作为process设计。尽管长度为4的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)
上一篇:4抽头直接FIR滤波器
上一篇:线性相位FIR滤波器
热门点击