Android CDD中的麦克风灵敏度

时间:2014-11-09 07:35:06

标签: android microphone android-compatibility

Android兼容性定义文档指出

  1. “音频输入灵敏度应该设置为使得1000 Hz时的90 dB声功率级(SPL)源对16位采样产生2500的RMS”。

  2. “PCM幅度水平应该线性跟踪输入SPL在麦克风上从-18 dB到+12 dB至90 dB SPL的至少30 dB范围内变化。”

  3. 问题:

    (1)是否包含麦克风灵敏度加上Android设备的内部增益以达到2500的RMS?

    (2)仅适用于麦克风最大声级还是包含Android设备内部?

1 个答案:

答案 0 :(得分:2)

你的问题令我困惑。我认为你正在混合不同的水平和收益。

通过麦克风将90dBspl rms的声级转换到电域。麦克风具有不同的声学单元用于转换。它以dBPa或Pa测量声压级。(94dBspl = 0dBPa)指定的-42dBV / Pa意味着如果你有0dBPa或1Pa(这是相同的声压级)那么你将从麦克风中获得-42dBV输出模拟电域。 -42dBV = 7.94mV(0dBV = 1V)

现在,从这一点来看,模拟和数字可以有不同的收益。首先,你可以有一些模拟增益,然后你有一个A / D转换器。之后,您处于数字域,然后您也可以获得数字增益。 Android要求未指定这些收益。它指定了给定声学声压级应该具有的最终数字水平。您当然可以计算声音链中的每一步,但最简单的方法是将所有数字增益设置为0dB,并将模拟增益设置为+ 20dB左右(如果可能),然后尝试获得声音具有适当声压级的声源。你需要一个声压计和一个正弦1kHz的音调,通过一个20厘米距离的扬声器播放,在一个相当无混响的无回音房间。

现在,您可以使用设备录制90dBspl 1kHz音调,并分析数字域中的录音。如果可以,您应该调整模拟域中的增益。然后数字余量将是正确的。如果您不知道自己在做什么,可能会轻易尝试在数字域中进行过多调整,从而导致数字削波或量化噪声。只有当你在模拟域中完成了所有工作时,才能放入数字增益。

如果一切都正确调整,你将在90dBspl均方根声级和-22dBFS rms的记录数字电平之间有很好的匹配,这是16位系统中2500 rms的水平(但这是一种非常奇怪的测量方式) )。在这样的系统中,0dBFS rms是完全饱和的方波。完全饱和的正弦波将具有-3dBFS rms或0dBFS峰值。

请注意,如果您启用了任何自动增益控制,您可能无法满足线性要求。

相关问题