2011-10-26 223 views
1

我已經在這個給定的方式在Matlab中的FFT。Matlab,FFT和質心頻率

X=fft(t); % Take Fourier Transform 
T=abs(X); % Take real parts of transform 
T=T(1:n/2); 

我很想找到這個圖的質心頻率。據我所知,該質心freuency被給定爲:

enter image description here

其中x(n)表示的加權頻率值或幅度的箱數n,並且f(n)表示該倉的中心頻率。

現在我很想說我的腳本中f(n)是來自T的值,但這些是FFT的虛部和實部的絕對值,所以我不知道如何找到x(n)這應該是一個加權頻率。

回答

2

你說f(n)是第n個倉的中心頻率;這與您的數據無關。它只是你的採樣頻率的函數:

f(n) = n * fs/N 

你當然可以,在你上面的方程係數這一點:

centroid = (fs/N) * SUM { n x(n) }/SUM { x(n) } 

這聽起來像x是你已經在你的代碼叫什麼T

+0

謝謝你的澄清! – Abid

+0

@奧利弗·查爾斯沃思,請問什麼是N?信號的長度是多少? – Sam

+1

@Sam - 是...... –