jjzjj

c - FFTW 计划例程返回 null

我需要有使用FFTW经验的人我正在编写一个程序,需要执行从实数到复杂的转换,但我的计划例程返回null,我不确定为什么。我正在为大小传递有效的整数参数,为数组传递非NULL指针。我已经查阅了文档,但它只是说,如果它不能制定计划,它会返回NULL,但除了与我上面提到的相反,它没有列出我的计划失败的任何其他原因。下面是一段示例代码intsize={64,128,256};float*spatial=malloc(size[1]*size[1]*sizeof(float));fftwf_complex*fourier=fftwf_alloc_complex(size[1]*size[1]);

c++ - C/C++ 中固定长度实数输入数据的高效二维 FFT

我正在开发一种多次调用FFT函数的算法。我有几个时间限制(需要实时),所以我需要尽量减少每次FFT调用所花费的时间。我正在使用OpenCV库,我已经用两种不同的方法实现了我的代码:使用FFTW库。数据/内存管理+FFT(8ms)=14ms(平均,FFT_MEASURE标志)。使用OpenCVfft函数。数据/内存管理+FFT(21ms)=23ms(平均值)。由于我的输入数据总是固定为512x512像素的真实图像,你认为如果我自己实现基于DFT数学定义的FFT算法,存储正弦/余弦表,我可以获得更好的性能还是FFTW库真的很优化吗?有更好的想法吗?所有想法和建议将不胜感激。到目前为止,我不