【问题标题】:formula Amplitude using FFT使用 FFT 的公式幅度
【发布时间】:2023-03-26 05:11:01
【问题描述】:

我想问下振幅的公式。我正在使用Fast Fourier Transform。所以它返回实数和复数。 之后,我必须搜索每个频率的幅度。

我的公式是

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

我想问一下这个公式。它的来源是什么?我一直在搜索,但我没有找到任何来源。谁能告诉我那个来源?

【问题讨论】:

  • 通常“幅度”是二维向量的长度(复数)。所以应该是 sqrt(re^2 + im^2)。
  • 确实如此。请参阅下面的答案 - sqrt 取消了。

标签: audio real-time signal-processing fft amplitude


【解决方案1】:

这是两个等式的组合:

1:找到magnitude of a complex number(在特定 bin 处 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 是某个参考值。

通过将公式 1 中的 m 插入公式 2 中的 aARef = 1,我们得到:

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

请注意,这为您提供了相对信号功率而非幅度的度量。

【讨论】:

  • 谢谢回答我的问题。我现在知道了。你知道均方根振幅吗?
【解决方案2】:

公式的第一部分可能来自分贝的definition,参考 P0 设置为 1,假设 log 表示以 10 为底的对数。

第二部分,即上面链接中的P1=real^2 + imagined^2,是您正在考虑的n-th 频率处傅立叶系数cn 的模的平方。

傅立叶系数通常是一个复数(参见 DFT 的定义here),而P1 的定义是其模数的平方。您提到的 FFT 只是计算 DFT 的一种方法。在您的情况下,您所指的实数和复数实际上可能是该系数cn 的实部和虚部。

  • sqrt(P1) 是信号在n-th 频率处的傅立叶系数 cn 的模数。
  • sqrt(P1)/N,是信号在n-th 频率处的傅立叶分量的幅度(即该频率处信号的谐波分量的幅度),N 是信号中的样本数。要说服自己,您需要除以N,请参阅this 等式。但是,除法因子取决于您使用的傅立叶变换的定义/约定,请参阅上面的注释here,以及讨论here

【讨论】:

  • 谢谢回答。我有点困惑。我正在使用 JTransform。它使用拆分基数和混合基数。所以我需要除以 N 吗?
  • 是的,你是。对于某个频率,均方根幅度为sqrt(P1)/N=sqrt(real^2 + imagined^2)/N
猜你喜欢
  • 2020-08-25
  • 1970-01-01
  • 2011-02-04
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-15
  • 1970-01-01
相关资源
最近更新 更多