我想使用 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。那么错在哪里呢?