2014-11-09 155 views
2

Android的兼容性定義文件闡明麥克風靈敏度

  1. 「音頻輸入靈敏度應該被設置成使得一個90分貝聲功率級(SPL)源以2500 16 1000個赫茲產量RMS位樣本「。

  2. 「PCM幅度級別應該至少在麥克風的-18 dB至+12 dB和90 dB SPL範圍內的至少30 dB範圍內線性跟蹤輸入SPL變化。

問題:

是否(1)包括麥克風靈敏度加機器人裝置的內部增益,實現2500的RMS?

是(2)僅適用於Mic最大聲級還是包含Android設備的內部?

+0

這個問題與編程的連接在哪裏? CDD似乎更像是一個使_hardware_兼容的指南,而不是_software_。 – 2014-11-09 07:55:50

+0

@CGT:你是在問作爲一名聲學工程師試圖優化設備的過濾器設置,還是作爲應用程序開發人員?在前一種情況下,Android CTS是否包含此測試?在後一種情況下,你究竟想要做什麼? – Michael 2014-11-09 08:03:58

+1

我的不好,如果不是在正確的類別。我的第一篇文章。確實CDD更硬件。我們正在Android上製作語音錄製設備。我不清楚CDD中的ADC部分。話筒靈敏度爲-42 dB。它與2500的RMS有什麼關係? – CGT 2014-11-09 08:56:18

回答

2

你的問題令我困惑。我認爲你正在混合不同的水平和收益。

90dBspl rms的聲級通過麥克風傳輸到電子域。麥克風具有用於轉換的不同聲學單元。它測量以dBPa或Pa爲單位的聲壓級(94dBspl = 0dBPa)。指定的-42dBV/Pa表示如果您有0dBPa或1Pa(這是相同的聲壓級),那麼您將從麥克風輸出-42dBV模擬電域。 -42dBV = 7.94mV(0dBV = 1V)

現在,從這一點可以得到不同的增益模擬和數字。首先你可以得到一些模擬增益,然後你就有一個A/D轉換器。之後,您處於數字領域,然後您可以獲得數字增益。 Android要求並未指定這些收益。它規定了在給定的聲學聲壓級下應該具有的最終數字水平。當然,你可以計算聲音鏈中的每一步,但最簡單的方法是將所有數字增益設置爲0dB,並將模擬增益設置爲+ 20dB左右(如果可能),然後嘗試獲得聲音來源與適當的聲壓級。您需要一個聲壓級計,並在距離20cm距離的揚聲器中播放一個正弦1kHz音調,並在非混響回聲室中播放。

現在您用設備記錄90dBspl 1kHz音調並分析數字域中的錄音。如果可以,您應該調整模擬域的增益。那麼數字淨空將是正確的。如果您不知道自己在做什麼,那麼您可以輕鬆地嘗試在數字領域調整太多,導致數字削波或量化噪聲。只有在模擬域中完成了所有可以完成的工作時,數字增益才應放入。

如果一切正確調整,你將有一個90dBspl均方根聲級和-22dBFS均方根值之間的良好匹配,這是16位系統中2500 rms的水平(然而這是一種非常奇怪的方式測量)。在這樣的系統中,0dBFS rms是完全飽和的方波。完全飽和的正弦曲線將具有-3dBFS rms或0dBFS峯值。

請注意,如果您啓用了任何自動增益控制,您可能無法遵守線性要求。