位反转算法
Last edited by
AI summary
位反转算法在FFT算法中至关重要,主要有三种实现方法:低内存的魔数方法、使用查找表的最快方法,以及简单和递归版本。查找表方法通过预先计算的256个字节实现快速反转,而魔数方法通过位运算实现低内存消耗。递归版本则通过递归调用实现位反转,适用于不同位数的整数。
Tags
BitReversalAlgorithm
FastBitReversal
MemoryEfficientMethod
Last edited time
Sep 23, 2024 02:42 PM
实现下面转换最快的算法是什么:
位反转算法在FFT算法中的倒位序实现是必需的。因此很有用,本文翻译自http://stackoverflow.com/questions/746171/best-algorithm-for-bit-reversal-from-msb-lsb-to-lsb-msb-in-c,自己做了些简单的修改。
下面不特殊说明默认的反转数据都是是32位int类型。当然,虽然也可以扩展到64bit,但大多数DSP处理器还是32bit的。
1 魔数(低内存)
2 查找表(最快)
3 其它方案
简单
快一些 (32-bit processor)
快一些 (64-bit processor)
上面仅是对8bit的位反转,如果想用于32bit,则只要将32bit拆成4字节,然后每字节单独反转,最后将4字节反转后组合。
递归版本
上面的输出结果是:
Loading...