Xilinx是按照如下公式给出输出位宽的:
outputwidth = coefwidth + inputwidth + ceil(log2(tap))
其中,outputwidth即为输出位宽,coefwidth为抽头系数位宽,inputwidth为输入位宽,tap为滤波器阶数,ceil为向上取整。
有效位截取方法:
如果输入信号是周期的,可以通过仿真来看输入信号通过滤波器得到的最大值占多少位。
如果已知输入信号的最大绝对值,max(output) = max(input) * sum(abs(coef))。
总之,就是通过预测输出最大值来确定的。