我想使用袖口执行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。那么哪里错了?