【发布时间】:2017-08-06 00:33:48
【问题描述】:
我有一个Complex[](来自 CsCore),这是我的 FFT 的结果。
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 建议简单地平方幅度。对吗?
【问题讨论】:
-
根据the CsCore
Complexcode,有float real和float imaginary,不是double...
标签: c# matlab signal-processing fft spectral-density