简体   繁体   English

快速傅立叶变换

[英]Fast Fourier Transform

I need to multiply two polynomials each having small integral coefficients. 我需要将两个多项式相乘,每个多项式具有小的积分系数。 I need a fast FFT routine in C/C++ which can convolve them. 我需要一个C / C ++中的快速FFT例程,它可以对它们进行卷积。 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. 重要的是我需要的代码不会太长,并且可以很容易地在单个.c/.cpp文件中使用和编译。

  1. FFT should be optimized for real inputs at least if not small integers. FFT应针对实际输入进行优化,至少即使不是小整数也是如此。
  2. Radix 4 implementation if available would be fine too. Radix 4实现(如果可用)也可以。
  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. 但我需要两倍的速度。

For a straightforward and easy to use FFT implementation try KissFFT . 要获得简单易用的FFT实现,请尝试KissFFT If you need absolute maximum performance though, and don't mind a little complexity, then it has to be FFTW . 如果你需要绝对的最大性能,并且不介意一点复杂性,那么它必须是FFTW

我已经根据smbFft这个例子调整了smbFft函数,以满足我过去的需求。

I've collected some of my top search results that fit or mostly fit the question (C/C++ FFT), and I've generally organized them from simple to complex: 我收集了一些适合或大部分符合问题的顶级搜索结果(C / C ++ FFT),我通常将它们从简单到复杂组织起来:

Feel free to add to or update the list. 随意添加或更新列表。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 GSL快速傅立叶变换-无意义输出 - GSL Fast-Fourier Transform - Nonsense Output 逆快速傅里叶变换:不同的阶段 - Inverse fast fourier transform: different phases C++ 图像 2D 快速傅立叶变换 - C++ Image 2D Fast Fourier Transform 使用FFTW3库进行二维快速傅里叶余弦变换 - Fast Fourier cosine transform in two dimension by using FFTW3 library 如何使用快速傅立叶变换计算数组元素的乘积之和? - How to calculate a sum of products of array elements using a fast Fourier transform? 尝试计算2张图像的FFT(快速傅立叶变换)时发生访问冲突 - Access violation while trying to compute FFT (fast Fourier transform) of 2 images OpenCV / C ++-将图像转换为双精度向量以进行FFT(快速傅立叶变换) - OpenCV / C++ - Convert image to vector of doubles for FFT (Fast Fourier Transform) 如何执行FFT2D(快速傅立叶变换2D)R,G,B颜色分量 - How to perform FFT2D (Fast Fourier Transform 2D) R, G, B color component 快速傅立叶变换:即使标题和.cpp文件匹配,也使用模板化派生类“未定义引用”错误 - Fast Fourier Transform: using templated derived classes 'undefined reference' error even though header and .cpp file match 如何在 OpenVX 框架中创建节点以查找图像的 FFT(快速傅立叶变换)? - How do i create a node in OpenVX Framework to find the FFT(Fast fourier transform) of an image?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM