2014-01-08 252 views
0

我想問一下振幅波紋管的公式。我正在使用Fast Fourier Transform。所以它返回真實和複雜的數字。之後,我必須搜索每個頻率的幅度。使用FFT的公式振幅

我的公式是

amplitude = 10 * log (real*real + imagined*imagined) 

我想請教一下這個公式。它是什麼來源?我一直在搜索,但我沒有找到任何消息來源。有人可以告訴我關於這個來源嗎?

+0

通常'幅度'是2D矢量(複數)的長度。所以它應該是sqrt(re^2 + im^2)。 – Archie

+0

的確如此。請參閱下面的答案 - sqrt取消。 – marko

回答

2

這兩個方程的組合:

1:尋找magnitude of a complex number(所述的FFT的結果在特定的倉) - 的方程是 米= sqrt(r^2 + i ^2)

2: Calculating relative power in decibels從幅度值 - 其中p =10 * log10(A^2/Aref^2) == 20 log10(A/Aref)其中Aref是一些參考值。

通過與ARef = 1由式(1)插入到ma式(2)我們得到:

p = 10 log(r^2 + i^2)

請注意,這給你相對信號的測量功率而不是幅度。

+0

thx回答我的問題。我現在知道了。你知道均方根幅度? –

0

式的第一部分可能來自分貝的definition,與參考P0設定爲1,用log假設你指具有底座10

第二部分對數,即,在所述P1=real^2 + imagined^2上面的鏈接是你正在考慮的第二個頻率的傅里葉係數cn模數的平方。

傅立葉係數通常是一個複數(見DFT here的定義),P1通過定義其模數的平方。您提到的FFT只是計算DFT的一種方法。在你的情況下,你所指的實數和複數實際上可能是這個係數的實數和虛數部分cn

  • sqrt(P1)是傅立葉係數的信號的cn的在n-個頻率的模量。
  • sqrt(P1)/N,是信號的傅立葉分量n-個頻率的振幅(即,信號的在該頻率諧波成分的振幅),與N是在你的信號樣本的數量。要說服自己,你需要除以N,見this等式。但是,除法系數取決於您使用的傅里葉變換的定義/約定,請參閱here上方的註釋和here的討論。
+0

thx回答。我有點迷惑。我正在使用JTransform。它使用分割基數和混合基數。所以我需要除以N? –

+0

是的,你是。並且對於某個頻率,均方根振幅是「sqrt(P1)/ N = sqrt(real^2 + imagined^2)/ N'。 – gg349