我想问下波幅的公式。我正在使用Fast Fourier Transform。所以它返回真实和复杂的数字。 之后我必须搜索每个频率的幅度。
我的公式是
amplitude = 10 * log (real*real + imagined*imagined)
我想问一下这个公式。它的来源是什么?我一直在搜索,但我找不到任何来源。谁能告诉我这个消息来源?
答案 0 :(得分:2)
这是两个方程式的组合:
1:找到magnitude of a complex number(特定区间的FFT结果) - 其等式为
m = sqrt(r^2 + i ^2)
2:来自幅度值的Calculating relative power in decibels - 其等式为p =10 * log10(A^2/Aref^2) == 20 log10(A/Aref)
,其中Aref
是某个参考值。
通过m
将等式1中的a
插入等式2中的ARef = 1
,我们得到:
p = 10 log(r^2 + i ^ 2)
请注意,这可以衡量相对信号功率而非振幅。
答案 1 :(得分:0)
公式的第一部分可能来自Decibel的definition,参考P0设置为1,假设log
表示基数为10的对数。
第二部分,即上面链接中的P1=real^2 + imagined^2
,是您正在考虑的cn
频率的傅里叶系数n-
的模数的平方。
傅立叶系数通常是一个复数(在DFT here的情况下见其定义),P1
定义为其模数的平方。你提到的FFT只是计算DFT的一种方法。在您的情况下,您所引用的实数和复数实际上可能是该系数cn
的实部和虚部。