快速傅立叶变换

发布于 2024-10-21 01:39:14 字数 415 浏览 6 评论 0原文

我需要将两个多项式相乘,每个多项式都有小的积分系数。我需要一个 C/C++ 中的快速 FFT 例程来对它们进行卷积。我见过几个库,但它们似乎太大了,分布在多个文件中。重要的是我需要的代码不太长,并且可以很容易地在单个 .c/.cpp 文件中使用和编译。

  1. FFT 至少应该针对实际输入进行优化(如果不是小整数的话)。
  2. Radix 4 实现(如果可用)也可以。
  3. 编译它不应该采用特殊的编译标志,因为程序的编译必须在我无法控制的外部环境中完成。

此处非常符合我的需求。但我需要两倍的速度。

I need to multiply two polynomials each having small integral coefficients. I need a fast FFT routine in C/C++ which can convolve them. I have seen several libraries but they seem to be too large spread over multiple files. What is important is I need code which is not too long and can be very easily used and compiled in a single .c/.cpp file.

  1. FFT should be optimized for real inputs at least if not small integers.
  2. Radix 4 implementation if available would be fine too.
  3. Compiling it should take no special compilation flags as compilation of program has to be done in external environment which I can't control.

One that very well matches my needs is here. But I need something twice as fast.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

怎樣才叫好 2024-10-28 01:39:14

对于直接且易于使用的 FFT 实现,请尝试 KissFFT。如果您需要绝对的最高性能,并且不介意一点复杂性,那么它必须是 FFTW

For a straightforward and easy to use FFT implementation try KissFFT. If you need absolute maximum performance though, and don't mind a little complexity, then it has to be FFTW.

静赏你的温柔 2024-10-28 01:39:14
且行且努力 2024-10-28 01:39:14

我已将 DspDimension 上的示例中的 smbFft 函数改编为我的过去的需要。

I've adapted the smbFft function from this example on DspDimension to my needs in the past.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文