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