-1
試圖對隨機但離散的時域信號做傅里葉變換,以便我可以查看主頻率等,但我很難正確繪製它。如何顯示簡單的FFT?
我的手機上的振動傳感器應用程序收集到的數據也可以在FT內進行(我認爲這相當準確),所以我一直在比較FT從應用程序到FT MATLAB。這些線的形狀相似,但是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)')
請添加您獲得的圖像(或圖像的鏈接)和所需的輸出。 –
查看fftshift()命令,它將正確地重新排序傅里葉變換。然後可以縮放頻率軸,使其從-Fs/2運行到Fs/2。 – ewz
爲什麼不按照'fft'文檔中提供的示例進行操作? – bdecaf