从幅度计算分贝 - 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。
答
普通电话话筒没有经过校准来测量绝对响度,所以如果没有声音电平表来初始校准电话,这是不可能的。正如Oli提到的,您可能可以计算响度的相对变化,但我希望您想要复制真实的声级计。
这个公式中的amp_ref是什么? – Sharj
@Sharj:你的参考幅度。分贝是一个相对单位,不是绝对的。他们表示相对于某个参考水平的比率。这取决于你选择参考水平。 –
如果单位是振幅乘数是20.如果单位是功率乘数是10。 – EJP