从幅度计算分贝 - 安卓媒体记录器

San*_*nne 1 audio android decibel

如何从maxAmplitude计算分贝,我写了一个android应用程序来定期获取maxAmplitude,我需要以分贝为用户显示o/p.

Oli*_*rth 7

分贝是一个相对单位,它们表示信号相对于某些参考功率的功率.

如果您正在使用振幅,则公式为:

power_db = 20 * log10(amp / amp_ref);
Run Code Online (Sandbox Code Playgroud)

(见http://en.wikipedia.org/wiki/Decibel#Field_quantities).

另请注意,最大振幅通常不是响度(甚至是功率)的非常好的指示.更典型的是,您应该测量信号的RMS功率,并将其转换为dB.

  • 这个公式中的 amp_ref 是什么? (2认同)
  • @Sharj:您的参考幅度。分贝是一个相对单位,不是绝对单位。它们表示相对于某个参考水平的比率。由您来选择参考水平。 (2认同)

Nic*_*ick 6

普通电话麦克风未经过校准以测量绝对响度,因此如果没有声级计来初始校准电话,则无法进行校准.正如Oli所提到的,你可能能够计算出响度的相对变化,但我希望你能复制一个真正的声级计.