y(0)Re y(nx/2)im → DC and Nyquist
y(1)Re y(1)Im
y(2)Re y(2)Im
….
y(nx/2)Re y(nx/2)Im
Complex numbers are stored in Re-Im format
这个格式实际上是只存了256/2+1个复数,不是简单的交织,你需要按照实数序列FFT的共轭对称性来扩展成256个复数之后再按你那个sqrt来求模。
你如果有matlab工具,试试下面的例子:
>> a = [1,2,3,4,5,6,7,8];
>> b=fft(a)
b =
Columns 1 through 5
36.0000 + 0.0000i -4.0000 + 9.6569i -4.0000 + 4.0000i -4.0000 + 1.6569i -4.0000 + 0.0000i
Columns 6 through 8
-4.0000 - 1.6569i -4.0000 - 4.0000i -4.0000 - 9.6569i
按那个文档的描述,实际FFT的输出只有下面这些复数,也就是开始的8/2+1个复数:
36.0000 + 0.0000i -4.0000 + 9.6569i -4.0000 + 4.0000i -4.0000 + 1.6569i -4.0000 + 0.0000i
但不是很理解文档描述:
y(0)Re y(nx/2)im → DC and Nyquist
实际上对长度为nx的实数序列,其FFT的结果y(0)的虚部, y(nx/2)的虚部总是0,可以参考上面的例子!
|