需要做個音頻的PPM表,看着一堆的音頻術語真是懵了,苦苦在網上扒了幾天的文檔,終於有了點收獲,下面關於聲音的分貝做個總結。
分貝 Decibel
分貝(dB)是一個對數單位(logarithmic unit), 它和很多常見的單位如“米”,“秒”或者“千克”等物理單位是不同的,它並不能直接用來描述一個物理量的大小或者多少,它表示的是兩個相同單位物理量的比值。分貝經常用來描述聲音,如超過50dB的噪聲就會影響人的睡眠和休息,但分貝不僅僅用來描述聲音,它還被用來描述電子學等其他領域的物理量,如描述信號強度的衰減 、信噪比等等。
前面提到分貝表示的是兩個物理量的比值,作為分母的那個量通常是一個標准的基准值(standard reference value),分貝描述的就是作為分子的物理量相對於這個基准值的大小,分貝的計算公式如下:
\[ dB = 10 \times \log_{10}(\frac{value}{value_{ref}}) \]
其中,\(value_{ref}\)是基准值。在使用分貝表示物理量基准值是非常重要的,基准值用分貝表示的話是0dB。
描述聲音的分貝
分貝可以描述很多的物理量,本文主要介紹分貝來描述聲音的信號的強弱。
用來描述聲音強度的物理量有很多:聲壓,功率,產生聲音信號的電壓等,使用不同的物理量來表示聲音的強度,其得到的分貝也是不同的。
dB(dBSPL)
聲音本質上來說是一種波,通過空氣傳播,傳到人耳朵里引發鼓膜的振動。所以,聲音的大小,實際就是對這種振動強度的反映。而由於空氣的振動會引起大氣壓強的變換,可以使用壓強變化的程度來描述聲音的大小,這就是“聲壓(SPL,Sound Pressure Levels)”概念,其單位是Pa。例如:1米外步槍射擊的聲音大約是7000Pa;10米外開過汽車大約是0.2Pa。
使用聲壓作為測量量的分貝就是dBSPL,通常用來表示聲音大小的dB多說指的就是dBSPL。聲壓和聲音大小的關系,可以使用如下公式表示
\[I = \frac{P^2}{\rho} \]
其中,I是聲音的強度;P是聲壓;\(\rho\)是空氣阻力,通常在室溫下,空氣阻力大約是400。
分貝的計算還需要一個選擇一個特定的聲壓值作為“標准值”(0分貝),該值是固定的。有了這個基准值后代入上面的公式:
\[I(dB) = 10 \times \log_{10}(\frac{P^2}{P_{ref}^2}) = 20 \times \log_{10}\frac{P}{P_{ref}} \]
其中,P是聲壓測量值;\(P_{ref}\)是標准值(0dBSPL)。這里選擇的聲壓標准值為\(2 \times 10^{-5}Pa,20\mu Pa\),是人耳在1KHz這個頻率下能聽到的最小的聲音,大致相當於3米外一只蚊子在飛的聲音。將標准值代入上式:
\[I(dBSPL) = 20 \times \log_{10}(\frac{P}{2 \times 10^{-5}}) \]
dBm,dBu,dBV
前面根據聲音的振動,在傳播的過程引起大氣壓強的變化,使用聲壓作為測量量來計算聲音的分貝值。除了自然產生的聲音外,現在大多數的聲音都是使用電信號作為存儲和傳播的載體的,例如電視廣播,各種音頻文件等。dBm,dBu,dBV是使用和電信號相關的物理量作為被測物理量,計算其產生聲音的分貝值。
dBm是使用產生聲音信號的功率作為被測物理量,選擇1毫瓦(1mW)作為基准值,計算分貝值。計算公式:
\[dBm = 10 \times \log_{10}(\frac{P}{1 \times 10^{-3}}))$$。 在物理,功率P可以有電壓V和電阻R計算得到 \]
P = \frac{V^2}{R}
\[由上面的公式可以得到**dBu**,使用電壓作為測量量,計算聲音的分貝值。在十九世紀三十年代,音頻設備的輸入電阻都是600歐姆,也就上面公式中的R = 600 歐姆。在dBm中,使用1mW作為基准值,那么在 R = 600 歐姆時就可以得到此時的電壓為**0.775V**。 所以,**dBu**是以電壓作為測量量,計算聲音的分貝值,選擇的基准電壓為0.775V。計算公式: \]
dBu = 20 \times \log_{10}(\frac{V}{0.775}),V是被測電壓
\[**dBV**又是咋回事呢。在上上個實際音頻設備的輸入阻抗都是600歐姆,是固定不變的。但是到了現代,就有了更高阻抗的設備,例如1000歐姆,這樣再選擇0.775作為電壓的基准值,顯然是不合理的。所以,就有了一個新基准值1V。本質上dBu和dBV是沒有區別的,都是選擇電壓作為被測單位,只是選擇的基准值不同罷了。 **dBV**仍然是以電壓作為被測量,計算聲音的分貝值,選擇1V作為基准值。計算公式: \]
dBV = 20 \times \log_{10}(\frac{V}{1})
\[ ### dBFS 前面的幾個被測量都是模擬量,在數字時代更多的音頻分貝表示是**dBFS**。dBFS的全稱為Decibels Full Scale,全分貝刻度,是數值音頻分貝值的表示方法。和前面幾個不一樣的時,dBFS的基准並不是最小的或者是中間的某一個值,是最大的那個值!也就是說0dBFS是數字設備能達到的最大值,除了最大值外都是負值。 以數字音頻的sample為16位無符號為例,16位的無符號的最大值為65536,因此dBFS的計算公式: \]
dBFS = 20 \times \log_{10}(\frac{sample}{65536})
\[這樣,最小的dBFS = $20 \times \log_{10}{\frac{1}{65536}} = -96dBFS$。也就是說16位無符號音頻的動態范圍為0 ~ -96dBFS。 ### dBFS 和 dBu之間的轉換 dBu是度量模擬信號的,而dBFS是度量數字信號的,並且dBFS不會用於度量模擬信號,所以沒有在dBu和dBFS之間沒有統一的轉換公式,依賴於具體的數字設備。在dBu和dBFS轉換時,需要規定一個峰值電壓,該電壓下產生的音頻信號經過AD轉換后得到的sample為0dBFS。例如,+18dBu對應於0dBFS,在該條件下 求 xdBu對應於ydBFS,那么就有 $y = x - 18$ ## 總結 本文主要介紹和聲音相關的分貝概念,分貝不同於其他的物理單位,表示的是相同物理量的比值,其具體的值依賴於選擇的被測量。 * dBSPL,通常所說的dB,使用聲壓作為被測量,選擇$20\mu Pa$作為基准值。 * dBm,使用功率作為被測量,選擇1mW作為基准值。 * dBu,使用電壓作為被測量,選擇0.775V作為基准值。 * dBV,和dBu一樣,使用電壓作為被測量,選擇1V作為基准值。 * dBFS,和上面的量都不相同,上面的量都是測量模擬值的,dBFS是測量數字音頻的,其選擇的基准值為sample的最大值為0dBFS,其他的值都為負值。 dBFS和模擬量之間的轉換,例如dBu,需要規定一個基礎的對應關系。例如+18dBu 對應於0dBFS,則ydBFS = x - 18。\]