【发布时间】:2012-12-03 20:47:17
【问题描述】:
plot(abs(fft(ecg)))
我也试过了
fvtool(x_vals)
这给了我:
但是我想要以赫兹为单位的 x 轴。所以本质上我想看到这个信号的频谱,以赫兹为单位。
谢谢!
【问题讨论】:
-
原始信号的持续时间(秒)是多少? FFT 将秒转换为
1/2pi或弧度/秒单位。为了将其转换为 Hz,您需要乘以2*pi。
plot(abs(fft(ecg)))
我也试过了
fvtool(x_vals)
这给了我:
但是我想要以赫兹为单位的 x 轴。所以本质上我想看到这个信号的频谱,以赫兹为单位。
谢谢!
【问题讨论】:
1/2pi 或弧度/秒单位。为了将其转换为 Hz,您需要乘以 2*pi。
function [f amp] = getspectrum( Mdata, Mf )
% Mdata data
% Mf sampling rate / frequency (Hz)
NFFT = 2 ^ nextpow2(length(Mdata));
Y = fft(double(Mdata), NFFT) / length(Mdata);
f = (double(Mf) / 2 * linspace(0, 1, NFFT / 2))'; % Vector containing frequencies in Hz
amp = 2 * abs(Y(1:(NFFT / 2))); % Vector containing corresponding amplitudes
我希望这可能会有所帮助。
【讨论】: