fftw_plan_dft_r2c_1d
接受一个实数数组并生成一个复数数组,其大小为输入数组 + 1 的 1/2。
根据 fftw 的网站:
由于这种对称性,输出 Y 的一半是冗余的(作为另一半的复共轭),因此 1d r2c 仅转换 Y 的输出元素 0...n/2(n/2+1 复数字),其中除以 2 向下舍入。
当我归一化时,我是否按 fft 的大小或生成的 fft_size / 2 进行归一化
// normalize the fft
for (unsigned int x = 0; x <(fftSize/2); x++)
array[x] = array[x] / complex<double>((fftSize/2), 0); <<<<<
或者
// normalize the fft
for (unsigned int x = 0; x <(fftSize/2); x++)
array[x] = array[x] / complex<double>(fftSize, 0); <<<<<