我在 MATLAB 中绘制信号的 FFT 功率谱。我在此处的文本文件中上传了 8000 个样本时间序列信号: http ://wikisend.com/download/896484/signal.txt
我正在使用以下代码:
Fs = 500; % sampling frequency
L = length(y); %number of samples
complex = fft(y)/L; % complex signals
f = 0 : Fs/L : Fs/2; % frequency bins
amplitude = 2*abs(complex(1:L/2+1)); % amplitudes
pow = (amplitude).^2/2; % power
semilogy(f,pow,'-ro');
grid on;
令人困惑的是,在我工作的地方,他们正在使用他们自己修改过的 FFT 函数,如果我运行该代码,我会得到以下图:
如果您检查上图中的功率,我的代码和他们的代码之间的线性功率比为 16。对于其他测量,我得到的比率是 60、120 甚至 1。
如果有人可以为我绘制 FFT 并查看我的代码和绘图是否正确,我会感到困惑并需要帮助。