我正在开发一种用于移动平台的音频应用程序的算法。在我看来,目前许多移动处理器上的浮点计算支持并不是普遍存在的,并且在固定点上开发将是一个更安全的选择。
我已经用浮点形式写了一些FFT例程,现在已经有一定程度的成功了,但是在一个固定点写一个例程变得相当困难。也就是说,我很乐意提高精度,并找到一种方法来处理潜在的溢出。问题是,与浮点FFT不同,在互联网上很难得到定点FFT算法的描述。
有没有人有过开发此类算法的经验?
答案 0 :(得分:3)
我已阅读有关http://anthonix.com/ffts/index.html的精彩内容 - 这在移动平台上效果很好 - 该网站包含基准
答案 1 :(得分:3)
您的首选应该是使用原生优化的FFT。在便携式C(或任何可能的语言)中难以有效表达的定点FFT的处理要求:饱和算法可能是最大的障碍。汇编库倾向于利用特定于处理器的指令。
如果您仍然需要便携式ANSI C定点FFT,我只知道一个选择:kissfft。 (免责声明:我写了)
答案 2 :(得分:2)
我一直在研究一种自动化工具,它将浮点C代码转换为定点,并提供各种选项,用于在准确性和执行时间之间进行权衡。我用许多算法都取得了很好的效果,包括2D 8x8离散余弦变换。我的目标平台通常是ARM Cortex-M处理器,但在其他平台上应该可以实现类似的结果。你有兴趣让我对你的FFT进行破解吗?