0

我有一个 512*1024*127(rho,列页)的数组 A,当我创建 FFTW 平面时,我想对每一页进行 2D FFT,例如:

fftwf_plan mFFTPalen = fftwf_plan_dft_r2c_2d(1024, 512, in, out, FFTW_ESTIMATE);

我想用这个平面完成所有的 2D fft,也就是 127 次 2D fft,我必须将数据复制到“in”数组中 127 次,并从“out”数组中复制 fft 结果 127 次,我认为这是浪费时间,

for(int plane=0; plane<127; plane++)
{
memcpy(in, A[plane*512*1024], sizeof(float)*512*1024);
fftwf_execute(mFFTPalen);
memcpy(complexData,out,sizeof(float)*513*512*2);
}

谁能告诉我我做的是对的吗?

4

1 回答 1

0

使用高级界面保存所有这些复制fftwf_plan_many_dft。仅当您确定自己有性能问题时才这样做,否则只会浪费精力。

于 2013-11-13T11:14:44.157 回答