怎样量化滤波器系数?

您好,请问怎样才能把滤波器系数量化后应用到FPGA设计中呢?怎么在MATLAB中将滤波器系数量化为指定位宽呢?这一步我不会,help

在MATLAB中将滤波器系数量化为指定位宽,会改变滤波器的频率特性,因此需要做好仿真,确定量化后的系数也能满足FIR的设计需求。可以参考下这篇文章,希望对你有帮助:

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

滤波器系数为带小数的浮点数。由于FPGA只能处理二进制数据, MATLAB设计出的滤波器系数需要转换成二进制数据才能完成FPGA电路实现。

传统的滤波器系数量化方法可分解为3个步骤: (1) 找出滤波器系数中最大的绝对值数M; (2) 以M为基准, 对所有滤波系数进行归一化处理, 即对所有系数除以M; (3) 对所有滤波器系数乘以 (2Q-1-1) , 并对处理后的系数取整形成整数系数; (4) 将整数滤波器系数转换成二进制补码数据。

量化滤波器系数后, 输出有效位宽所能表示信号的信噪比下降, 是由于滤波输出信号达不到满量程状态。为此, 优化滤波器系数量化方法, 采用基于滤波器增益的方法对系数进行量化。结合前述的滤波器实例, 具体步骤为: (1)对所有滤波器系数乘以2Qa=216=65 536, 并对处理后的系数取整形成整数系数; (2) 将整数滤波器系数转换成二进制补码数据。

经过改进的量化处理后, 相当于对滤波增益直接增加了65 536倍 (常规方法仅增加了32 963倍) , 滤波输出的数据幅值能够达到输出数据有效位宽所能表示的满量程值, 实现了输出位宽一定的条件下, 输出信号信噪比的最大化。

——电子技术应用. 2019,45(04)
一种新的FIR滤波器系数量化方法
杜勇
四川工商学院电子信息工程学院