我有一个(来自CsCore),这是我FFT的结果。来自fft结果c的功率谱密度#
Complex
有一个float real
和一个float imaginary
。
由此我计算出以下
- 频率:
(double)index * sampleRate/FftSize;
- 幅度/幅度:
Math.Sqrt(Math.Pow(real, 2) + Math.Pow(imaginary, 2));
- 阶段:
Math.Atan(imaginary/real);
如果这些都错了,请大家指正。
根据我的理解,这是频域信息,它允许我查看哪些频率在我的示例中最常见。现在我想看看随着时间的推移功率密度。 Matlab documentation显示的例子,但我不明白,因为我不知道Matlab。有人可以解释关于这个主题的Matlab文档,或者帮助我用C#实现吗?
编辑:
This answer建议简单地广场幅度。那是对的吗?
根据[CsCore'Complex'代码](https://github.com/filoe/cscore/blob/master/CSCore/Utils/Complex.cs),它具有'float real'和'float imaginary' ,不是'double' ... – JHBonarius