逆フーリエ変換を見つけるために C++ 関数を使用しています。
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);
私の入力は、複素数の 2D 配列 temp です。すべての要素は、実数が 1 で虚数が 0 です。
したがってInverseFFT
、そのような配列は実際の値を持つ2D配列である必要があると期待しています。出力配列には 0,0 の SPIKE があり、残りの値はすべて 0 である必要があります。しかし、配列の合計サイズで正規化した後でも、出力配列ですべての異なる値を取得しています。その理由は何ですか?