0

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 だと思います。では、どこが間違っているのでしょうか?

4

0 に答える 0