您的位置:首页 > 其它

二阶IIR滤波器结构与FPGA实现分析

2017-04-16 09:25 661 查看


IIR滤波器系数都会经过量化,a1一般量化为2的整数次方



一般滤波器整体增益都会设置为1,举例:输入X:20位,增益Gain量化为无符号数gain:18位,系数b1,b2,b3,a1,a2,a3量化18位,16位小数,表示范围+-2;输出Y:20位;
Section 1:X(z) * Gain / 2^20,对输入X进行增益Gain缩放,只需要一个20X18位乘法器,经过移位操作,Section 1输出20位;
Section 2 :b1,b2,b3需要3个20x18乘法器,为保证输出不溢出,加法器输出位宽40位,Section 2输出40位。
Section 3:a2,a3需要2个20x18乘法器,a1系数通过移位操作实现。
直接I型IIR滤波器结构在Section1和Section2都是全精度计算,没有误差积累,在Section1和Section2输入数据经过了放大,只在Section3有降低精度的除法和截尾操作,总体来说,直接I型结构更适合有限字长计算。输入数据经过缩放处理,计算过程中不会出现溢出。
直接II型IIR滤波器相当于先经过Section3,再经过Section 2,20位的输入数据经过除法和截尾操作,精度变得更加低,不适合FPGA实现。在Matlab仿真和硬件仿真中得到验证。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  fpga filter 结构 IIR