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

问题描述:

如何从maxAmplitude计算分贝,我编写了一个android应用程序以定期获得maxAmplitude,我需要以分贝为单位向用户显示o/p。从幅度计算分贝 - Android媒体记录器

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

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

power_db = 20 * log10(amp/amp_ref); 

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

还要注意,最大振幅通常不是一个非常好的响度指标(甚至功率)。更典型的是,您应该测量信号的RMS power,然后将其转换为dB。

+0

这个公式中的amp_ref是什么? – Sharj

+1

@Sharj:你的参考幅度。分贝是一个相对单位,不是绝对的。他们表示相对于某个参考水平的比率。这取决于你选择参考水平。 –

+0

如果单位是振幅乘数是20.如果单位是功率乘数是10。 – EJP

普通电话话筒没有经过校准来测量绝对响度,所以如果没有声音电平表来初始校准电话,这是不可能的。正如Oli提到的,​​您可能可以计算响度的相对变化,但我希望您想要复制真实的声级计。