对滤波器的输出位宽进行限制可以节省资源,FIR 核提供了一些策略供用户选择以实现精度与资源之间的折中处理。
在下面的描述中,x表示被舍入的小数,n表示输出位宽,m表示LSB(累加器位宽与输出位宽之差);
(1)全精度 m=0 默认选项
(2)截断
在累加器的输出结果上舍弃m位,效果类似matlab中的floor函数,但是舍入偏差可以达到0.5;
(3) 正向非对称舍入
在累加器的输出结果上加0.5再舍弃m位,缺点是会引入正向偏差;
(4)负向非对称舍入
在累加器的输出结果上先减去0.499...,缺点是会引入负向偏差,偏差精度如上;
(5)向最大绝对值对称舍入
非对称舍入总是会引入固定方向的偏差 ,在对称舍入下,将0.499加到累加器输出结果上,但是在舍去m位之前将表示累加器输出结果的符号位翻转并加到结果上,这样在两个方向都不会有偏差,这种方法类似于matlab中的round函数;
(6)向零舍入
向零舍入的好处是不会发生溢出;
(7)收敛舍入