2012-10-22 90 views
2

如何從iOS麥克風計算A加權和C加權dB聲級?計算A加權(或B或C)SPL分貝iOS

以下是我已經試過了,但閱讀中,我得到的是遠低於聲級計我旁邊,我的iPhone:

  1. 使用奴佛卡因庫,我稍微修改設置音頻會話模式改爲測量。
  2. 使用Maximilian音頻庫通過FFT運行輸入音頻幀並將幅度轉換爲dB。
  3. 使用Maximilian音頻庫的Octave Analyzer將FFT輸出放置在10hz至20480hz的八度音區中。
  4. 對於每個八度音階,我應用相關dB權重的db增益(例如,將db增益應用於存儲在10hz bin中的db值以獲得A加權dB增益)。
  5. 通過將每個dB bin減小到一個幅度,並將增益減小到一個幅度,從而再次轉換回dB值,從而將每個bin的db值加在一起。

這是在正確的軌道上,我有我的懷疑?有人可以概述一種方法嗎?建議圖書館和/或其他例子(我看過)。

要注意 - 我想要近似dB(A)和dB(C)值,這並不需要科學。不知道如何補償麥克風的頻率響應,如果上述技術能夠補償麥克風的響應,上述技術是否正確?

回答

5

我不認爲你可以測量設備的物理聲壓級。在第2步中,「將幅度轉換爲dB」。但是,您從設備記錄的幅度具​​有任意單位。錄製16-bit audio時,音頻表示爲-32768至+32767範圍內的數字。如果你正在處理浮點數據,那麼這個數據將被標準化爲32768,以便它具有(近似)-1到+1的範圍。

該設備的麥克風必須應對各種各樣的聲級。通常設備將具有適應當前平均聲級的某種形式的Automatic Gain Control。這意味着如果您測量的峯值爲1.0,則無法知道其對應的實際SPL。您可以將錄音轉換爲一系列的dB,但是這會使用dB的不同定義:作爲power ratio。這與SPL測量如dB(A)不相關。

可能有可能產生一個近似分貝(A)的測量,如果你能關閉AGC和校準設備對你的聲音米

編輯:JASA已經發表的一篇論文有詳細比較現有的聲壓級測量應用程序與統計數據,以比較不同代iPhone:Evaluation of smartphone sound measurement applications

+0

我相信可以近似dV(A)和dB(C) - 這足夠好了 - 因爲已經有應用程序應用程序商店這樣做。我將它們與聲級計進行了比較,它們非常接近。在步驟1中,在iOS 6上,我將禁用自動增益控制。 – Ross

+0

這些應用程序很可能已針對特定型號進行了校準。如果你運行在另一代設備上,那麼我想你不會得到相同的結果。 –

+0

另一個考慮是您需要考慮麥克風的頻率響應。聲級計中的麥克風將被選擇爲平坦響應(或將被仔細校準以補償實際響應)。您iPhone中的麥克風不太可能有平坦的響應。你如何比較結果?您是否在特定頻率下使用正弦波發生器? –