我有一个来自加速度计的 m/s^2 数据的 <1,000,000x1 double> 向量。我想创建这个数据的功率谱密度图(功率/赫兹与频率)。我可以通过频谱图运行矢量以查找频率,但我可能错误地使用了窗口。我得到一个 <131073x8 complex double> 返回,但我不知道它的内容是什么。我可以简单地使用矢量上的函数周期图来绘制功率/赫兹与频率的关系吗?我试过了,matlab 返回一个空白图。
对此的支持将不胜感激。谢谢你,亚历克斯
我有一个来自加速度计的 m/s^2 数据的 <1,000,000x1 double> 向量。我想创建这个数据的功率谱密度图(功率/赫兹与频率)。我可以通过频谱图运行矢量以查找频率,但我可能错误地使用了窗口。我得到一个 <131073x8 complex double> 返回,但我不知道它的内容是什么。我可以简单地使用矢量上的函数周期图来绘制功率/赫兹与频率的关系吗?我试过了,matlab 返回一个空白图。
对此的支持将不胜感激。谢谢你,亚历克斯
如果您只想绘制功率谱密度图,则可以运行
periodogram(x)
你会得到一个功率谱密度(以 dB 为单位)在归一化频率上的图。如果您想要实际频率上的密度(以 Hz 为单位),则需要指定数据的采样率。语法是
periodogram(x, [], [], Fs)
其中Fs
是采样频率(Hz)。然后,您会得到一个水平轴从 0 到Fs / 2
(奈奎斯特频率)的图。
as 给出的两个参数[]
可用于指定周期图方法的窗口长度和用于基础 FFT 的数据点的数量。您可以使用这些参数,尤其是窗口长度,来调节频谱的频率分辨率与估计功率谱密度的精度之间的权衡。
使用这些语法都不会periodogram
返回任何输出。但是,您可以使用语法
[P, f] = periodogram(x, [], [], fs);
P
它返回 中的功率谱密度和相应的频率(以 Hz 为单位)的估计值f
。从这里你可以生成一个类似于periodogram
没有输出的图,使用
semilogy(f, P)
P
即用f
对数刻度绘制垂直轴。