【发布时间】:2018-06-11 21:15:38
【问题描述】:
以下 C# NAudio 代码与 MATLAB 产生的结果相差 4 倍。为什么会发生这种情况,其中一个是不正确的?
Complex[] tmp = new Complex[4];
tmp[0].X = 1.0f;
tmp[1].X = 0.5f;
tmp[2].X = 1.0f;
tmp[3].X = 0.25f;
tmp[0].Y = 0.0f;
tmp[1].Y = 0.0f;
tmp[2].Y = 0.0f;
tmp[3].Y = 0.0f;
FastFourierTransform.FFT(true, 2, tmp);
音频输出:
0.6875 + 0.0000i
0.0000 - 0.0625i
0.3125 + 0.0000i
0.0000 + 0.0625i
MATLAB 输出:
2.7500 + 0.0000i
0.0000 - 0.2500i
1.2500 + 0.0000i
0.0000 + 0.2500i
【问题讨论】:
-
我相信 matlab 的实现。要找到问题,也许您可以使用具有特定频率的较长信号,然后观察频谱。