2014-01-08 217 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