【发布时间】:2015-04-07 01:51:42
【问题描述】:
我试图在 R 中的频域中绘制时间序列数据。我有一个 csv 文件,其中包含 x、y 和 z 的列/信号。信号已以 50 Hz 的频率采样。数据长度为N=651。
我为列/信号x做了以下步骤:
-
信号
x的FFT:y <- fft(data$x) -
计算信号
x的幅值:mag <- sqrt(Re(y)^2+Im(y)^2) -
绘制数据:
plot(mag, xlab="Samples",ylab="Strength", type="l", col="blue", xlim=c(0,60), main="Spectrum",t="h",lwd=2)
我想要的是在频率(Hz)而不是样本数中获得 x 轴。最后,我想得到一个 y 轴(强度)与 x 轴(Hz)的图。
我想要这样的频率轴:10Hz、20Hz、30Hz、40Hz、50Hz 等。
我需要做什么才能获得以 Hz 为单位的频率轴而不是样本数?
【问题讨论】:
-
请绘制您的最终 fft 频谱,以便我们尝试确定您的频谱是否正确,我感觉您可能不了解 FFT 分箱。
标签: r plot fft frequency-analysis