我正在使用C++函数来查找逆傅立叶变换。逆傅立叶变换FFT3W
int inYSize = 170; int inXSize = 2280;
float* outData = new float[inYSize*inXSize];
fftwf_plan mReverse = fftwf_plan_dft_c2r_2d(inYSize, inXSize,(fftwf_complex*)temp, outdata,
FFTW_ESTIMATE);
fftwf_execute(mReverse);
我的输入是二维数组温度复数。所有的元素都有实数1和虚数0.
所以我期待这样一个数组的InverseFFT
应该是具有实数值的二维数组。输出数组应该具有SPIKE为0,0并且保留所有值为0.但是,即使在使用数组的总大小规范化之后,我仍然会在输出数组中获得所有不同的值。可能是什么原因?
好宝贵的意见,但我却不会和你+/- INF件事同意:如果它本来不是DFT DTFT我们有持续的频率和离散时间,我们会得到INF。但由于DFT在两个轴上都是离散的,所以我们最大将获得数组的总大小而不是+ inf。无论如何,它是更多的DSP,我基本上要求C + +相关的帮助,你的前两个点将帮助我。谢谢 – MShah 2013-04-25 00:48:25
没有任何意图:)。您可能还想检查您使用的数据类型是否可以处理输出,即使10^+ 38似乎没问题,双打可能会给出不同的行为(?) – Pascail 2013-04-25 08:10:07
如果您认为我的答案以某种方式帮助了您,接受它会真的很好:) – Pascail 2013-05-03 12:03:41