cufft を使用して FFT を実行したい場合、配列 [1,2,3,4,5,6,7,8] を作成し、使用します
cufftPlan1d(&plan 8, CUFFT_C2C,1)
計画を作成してから使用します
cufftExecC2C(plan, (cufftComplex *)d_signal, (cufftComplex *)d_signal, CUFFT_FORWARD)
FFT を実行します。使用する前に、配列を画像部分が0の複素数配列に変換しました。私はそのような結果を得ました:
first : 1.000000 0.000000 after 4.500000 0.000000
first : 2.000000 0.000000 after -0.500000 1.207107
first : 3.000000 0.000000 after -0.500000 0.500000
first : 4.000000 0.000000 after -0.500000 0.207107
first : 5.000000 0.000000 after -0.500000 0.000000
first : 6.000000 0.000000 after -0.500000 -0.207107
first : 7.000000 0.000000 after -0.500000 -0.500000
first : 8.000000 0.000000 after -0.500000 -1.207107
最初は元のデータ要素で、その後は cufftExecC2C が計算した結果です。この結果が正しいか知りたいです。最初の出力結果要素は 36=1+2+3+4+5+6+7+8 で、4.5 だと思います。では、どこが間違っているのでしょうか?