我需要一些帮助来理解FFT的输出。
我正在使用GNU电台。我有一个输出为Float类型的信号源,经过FFT变换后,数据将通过UDP发送到我的应用程序。
我的应用程序接收字节数组中的数据,然后将其转换为float数组。所以现在我得到了FFT输出复杂的格式:
floatArr = {real,img,real,img .....}。
然后我从FFT输出计算PSD值,并渲染图表。
但问题是我的图表不正确,与GNU显示完全不同
这是我的GNU图
我用这个公式计算PSD值;
1:幅度= 2 * sqrt(re ^ 2 + img ^ 2)/ N
2: PSDx = 10 * Log10(幅度^ 2)
但我的图表看起来与GNU完全不同:
请帮助,我目前对FFT / PSD(以及英语)知之甚少。我试图将这个图表渲染数周,实际上我只是盲目地应用公式。