FIR定点提高精度的trick_02
发布日期:2021-08-24 18:36:03 浏览次数:40 分类:技术文章

本文共 1274 字,大约阅读时间需要 4 分钟。

作者:桂。

时间:2018-02-05  19:36:08

链接: 


一、概述

  本文简要记录FIR的小trick,主要参考:

Shen, Zhi. “Improving FIR Filter Coefficient Precision [DSP Tips & Tricks].” IEEE Signal Processing Magazine 27 (2010): 120-124.

全文主要分两种实现结构:

  1)serial method.主要借助标志位flag,结合依次递减的无效位,利用移位寄存器实现。

  2)parallel method. serial method需要借助额外的标志位flag,增加了开销,parallel 则仅借助输出的幅度范围进行移位,一方面无需标志位,另一方面也不必逐一递减,增大了无效位宽,进一步提高滤波器精度。

 

二、算法简述

  A-serial method

 传统FIR滤波器:

可以看到越到两边,滤波器的幅值越小,从而无效位越多。剔除一部分无效位,结合FLAG:

具体实现结构:

不增加位宽、不增加滤波器阶数,性能还不错,idea不错!

  B-parallel method

 滤波器系数压缩:

可以看出系数是越来越小,利用这个特性:

具体操作流程:

Step 1 ■ : Repeatedly multiply an original b k floating-point coefficient (the upper left side of Figure 5) by two until the magnitude of the result resides in the optimum magnitude range R. Denote the number of necessary multiply-by-two operations as Q.

Step 2 ■ : Multiply the original bfloating-point coefficient by 2 B+Q-1 (the minus one in the exponent accounts for the final coefficient’s sign bit) and round the result to the nearest integer. That integer is our final value saved in ROM.
Step 3 ■ : Repeat Steps 1 and 2 for all the remaining original bk floating-point coefficients.

 符合预期,效果进一步提升:

 

对于传统FPGA,25x15的DSP48精度足够,该算法对于微芯片可能起一定作用,对于快速处理的FPGA平台个人认为意义不大。

转载于:https://www.cnblogs.com/xingshansi/p/8419182.html

转载地址:https://blog.csdn.net/weixin_33831196/article/details/93260416 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:微信公众号环境搭建
下一篇:酸奶小妹升级成酸奶妈妈了!

发表评论

最新留言

不错!
[***.144.177.141]2024年04月02日 15时32分15秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章