我是相當新的振動和使用matalb fft.I給了一組數據(1D數組)的長度15000(不知道這是否相關),我想弄清楚是否有任何波埋在此數據。我被指示可能使用matlab fft。這是正確的方式嗎?我期望看到什麼?我真的不確定如何解釋我會得到的結果。 請讓我知道你們都在想什麼。 謝謝,如果需要更多細節,我會提供給他們。 例子:給定一組數據,用fft提取可能的頻率,如何?
% Df=[array is given to me and it is of size 15000];
% t=[time used for the above array, and if it is of the same size, also provided to me]
N_0= length(t);
fs_0=length(Dfxz);
Y_0=fft(Dfxz,N_0);
k_0=-N_0/2:N_0/2-1;
%Find the phase angle
p_0 = (angle(Y_0));
R_0 = norm(Y_0);
ff_0 = (0:length(Y_0)-1)'/length(Y_0)*100; % Frequency vector
FT_power1_0 = abs(Y_0);
plot(k_0*fs_0/N_0,fftshift(abs(Y_0)))
我只看到在頻率= 0 1偷看,但我相信,有非零頻率,我究竟做錯了什麼? 謝謝! PS:我不確定如何選擇採樣頻率?任何提示請(請記住,我不知道原來的頻率)
請告訴我們你試過了什麼? – Vikram
您可以使用FFT來計算離散傅里葉變換,但不知道更多關於數據的信息(特別是採樣頻率),這與物理意義上的頻率沒有任何關係。 – Tobold
如果您不知道數據的採樣頻率,您將無法得到「埋藏在信號中的正弦波的頻率是多少」的有意義的答案。如果您的信號在您的觀察時間內表現出振盪行爲,您只能定性地說出(通過查看週期圖中是否有峯)。如果您在解釋結果時遇到問題,我會建議發佈到http://dsp.stackexchange.com/,因爲這與編程無關。順便說一句:採樣頻率是在't'的時間點給你的... – Tobold