尝试对随机但离散的时域信号进行傅里叶变换,以便我可以查看主导频率等,但我正在努力正确地绘制它。
我的手机上的振动传感器应用程序收集了数据,也可以在内部使用FT(我假设相当准确),所以我一直在将应用程序中的FT与来自MATLAB的FT进行比较。这些线的形状相似,但是MATLAB镜像是镜像的,可能是拉伸的,并且缩放完全关闭。
有没有人知道有关如何正确显示FFT的指南或教程?
这是我的代码到目前为止,xls文件只是一个加速列。什么看起来特别错?
任何帮助都会很棒!
clc
clear
T = 5.57; % Sampling time (s)
L = 512; % Length of signal (No. samples taken)
Fs = L/T; % Sampling frequency (Hz)
a = xlsread ('Randomshake19.02.xlsx', 'X-Time'); % X-plane accelerations (m/s^2)
t = linspace (0, T, L); % Time vector
NFFT = 2^nextpow2(L); % Number of points used to form FFT. Next power of 2 from length of y
X = linspace (1, Fs, L);
Y = fft(a, NFFT);
subplot (1, 2, 1) % Time domain plot
plot (t, a)
xlabel('Time (s)')
ylabel('Magnitude of Acceleration (m/s^2)')
subplot (1, 2, 2) % Frequency domain plot
plot (X,abs(Y))
xlabel('Frequency (Hz)')
ylabel('Magnitude of Acceleration (m/s^2)')
答案 0 :(得分:0)
对于简单的fft理解和一些情节,以及 MATLAB 'spectrogram' params
用于matlab中的光谱图。我猜那就是你想要的。