声明:该文为本人学习音频所记的笔记,所有内容均摘录自网上
我们通常说话都会说大概是多少多少分贝的,比如经常会说,安静的轻声絮语为 20-40dB 左右,正常室内说话为 40-60dB 左右,那么声音的分贝是如何度量的呢?
| 声源 | SPL(dB) | 声压 (Pa) |
|---|---|---|
| 喷气式飞机起飞 50m | 140 | 200 |
| 痛阈 | 130 | 63.2 |
| 不舒服的阈值 | 120 | 20 |
| 电锯 1m | 110 | 6.3 |
| 舞厅扬声器 1m | 100 | 2 |
| 柴油机卡车 10m | 90 | 0.63 |
| 繁忙道路人行路 5m | 80 | 0.2 |
| 吸尘器 1m | 70 | 0.063 |
| 对话 1m | 60 | 0.02 |
| 普通家庭 | 50 | 0.0063 |
| 安静的图书馆 | 40 | 0.002 |
| 晚上安静的卧室 | 30 | 0.00063 |
| 电视演播室背景噪音 | 20 | 0.0002 |
| 远处沙沙声 | 10 | 0.000063 |
| 听阈 | 0 | 0.00002 |
SPL(Sound Pressure Level) 即声压级。
声音本质是一种波,通过空气传播到达人耳引起鼓膜震动,所以声音的大小其实就是反映震动的强烈。由于空气的振动会引起大气压强的变化,可以使用压强变化的程度来表示声音的大小,这就是声压 SPL 的概念,单位为 Pa。
比如 1 米外步枪射击的声音大概是 7000Pa,10 米外开过的汽车大概为 0.2Pa。
RMS(Root mean square) 即均方根。
在物理上经常用某一个数学公式来带入实际物理意义,我们一般用 RMS 来指代有效值
均方根常见的定义一般用于离散序列,具体为 n 个项的平方和除以 n 再开方,即
rms=x02+x12+...+xn−12n=∑i=0n−1xi2nrms = \sqrt{\frac{x^2_0 + x^2_1 +...+x^2_{n-1}}{n}} = \sqrt{\frac{\sum_{i=0}^{n-1} x^2_i}{n}} rms=nx02+x12+...+xn−12=n∑i=0n−1xi2
而把它改成连续性方程就是
rms=∫0Tx(t)2dxTrms = \sqrt{\frac{\int_0^T{x(t)^2}dx} {T}} rms=T∫0Tx(t)2dx
为了区别于均方根的纯数学概念,我们一般称电流均方根的值为电流有效值, 同理电压的也叫电压有效值
正弦信号峰值和有效值 (均方根) 换算公式
Irms=Imax2≈0.707ImaxI_{rms} = \frac{I_{max}}{\sqrt{2}} ≈ 0.707I_{max}Irms=2Imax≈0.707Imax
分贝 (dB) 是一个对数单位(logarithm unit),与常见的千克、秒、米、升的物理单位不同,不能直接拿来描述一个物理量的大小或多少,表示的是两个相同物理单位量的比值。分贝常用来描述声音,如超过 50dB 会影响人的睡眠,但是分贝不仅仅用语描述声音,也可以用来描述电子等其他领域的物理量,如描述无线信号的发射强度或接收强度等。分贝描述的是两个相同单位物理量的比值,分母通常是一个标准的基准值(standard reference value),分贝就是分子所表示的物理量相对于基准值的大小,分贝计算公式如下
dB=10∗log10valuevaluerefdB = 10*log_{10}{\frac{value}{value_{ref}}}dB=10∗log10valuerefvalue
在使用分贝表示物理量基准值是非常重要的,基准值用分贝表示的话是 0dB
在工程中 dB 的计算公式通常有很多的变体,但是主要分为下面两类
两个同类功率量或可与功率类比的量之比值的常用对数乘以 10
公式如下
dB=10∗log10P1P0dB = 10*log_{10}{\frac{P_1}{P_0}} dB=10∗log10P0P1
例如:A 的电功率为 20 瓦,B 的电功率为 10 瓦,则
dB=10∗log10PAPB=10∗log102≈3dB = 10 * log_{10}\frac{P_A}{P_B} = 10 * log_{10}{2} ≈ 3dB=10∗log10PBPA=10∗log102≈3
也就是说 A 的电功率比 B 的电功率大 3dB
两个同类电压量或可与电压类比的量之比值的常用对数乘以 20
公式如下
dB=20∗log10U1U0dB = 20 * log_{10}{\frac{U_1}{U_0}}dB=20∗log10U0U1
电压类的计算公式其实可从功率类的公式推导而出,推导过程如下
功率 P=UIP = UIP=UI 又 I=URI = \frac URI=RU,所以 P=U2RP = \frac{U^2}{R}P=RU2,根据功率类的计算公式有如下推导
dB=10∗log10P1P0=10∗log10(U12R)(U02R)=10∗log10U12U02=20∗log10U1U0dB = 10*log_{10}{\frac{P_1}{P_0}} = 10*log_{10}{\frac{(\frac{U^2_1}{R})}{(\frac{U^2_0}{R})}} = 10*log_{10}{\frac{U_1^2}{U_0^2}} = 20 * log_{10}{\frac{U_1}{U_0}}dB=10∗log10P0P1=10∗log10(RU02)(RU12)=10∗log10U02U12=20∗log10U0U1
例如:A 的电压为 20V,B 的电压为 10V,则
dB=20∗log10UAUB=20∗log102≈6dB = 20 * log_{10}\frac{U_A}{U_B} = 20 * log_{10}{2} ≈ 6dB=20∗log10UBUA=20∗log102≈6
描述声音的物理单位有很多:声压、功率、产生声音信号的电压等,用不同的物理量表示声音所对应的分贝大小也不同
声学领域,dB 经常用作为表征声压级 SPL(Sound Pressure Level)的大小,前面说过声音本质是一种波,声音的传播会引起压强的变化,使用声压作为作为测量量的分贝单位为 dBSPL,通常所说的声音大小 dB 即为 dBSPL。
声音和声压的大小关系如下:
I=P2pI = \frac{P^2}{p} I=pP2
分贝的计算还需要选择一个基准值 (0dB),该值是固定的,有了该值之后,带入分贝的计算公式
I(dB)=10∗log10P2pPref2p=10∗log10P2Pref2=20∗log10PPrefI(dB) = 10 * log_{10} \frac{\frac{P^2}{p}}{\frac{P^2_{ref}}{p}} = 10 * log_{10}\frac{P^2}{P^2_{ref}} = 20 * log_{10}\frac{P}{P_{ref}}I(dB)=10∗log10pPref2pP2=10∗log10Pref2P2=20∗log10PrefP
这里选择的声压标准值为 2×10−5Pa2 × 10^{−5}Pa2×10−5Pa,即 20 μPa 是人耳在 1KHz 这个频率下能听到的最小的声音,大致相当于 3 米外一只蚊子在飞的声音
将标准值带入上面的公式中
I(dBSPL)=20∗log10P2∗10−5I(dBSPL) = 20 * log_{10}\frac{P}{2 * 10^{-5}}I(dBSPL)=20∗log102∗10−5P
dBSPL(A) 简称 dBA,其中 A 是 A-weight filter(一种滤波算法)。
声音不仅仅可以通过振动传播,还可以通过电信号传播。dBm 是使用产生声音信号的功率当作被测物理量,选择 1mW(毫瓦) 当作基准值,所以其公式为
dB=10∗log10PPref=10∗log10P1∗10−3dB = 10*log_{10}{\frac{P}{P_{ref}}} = 10*log_{10}{\frac{P}{1 * 10^{-3}}} dB=10∗log10PrefP=10∗log101∗10−3P
dBw 中的基准值把 dBm 中的 1mW 改成 1W。
dB=10∗log10PPref=10∗log10P1dB = 10*log_{10}{\frac{P}{P_{ref}}} = 10*log_{10}{\frac{P}{1}} dB=10∗log10PrefP=10∗log101P
使用电压作为测量量,计算声音的分贝值,得到的分贝单位为 dBu。
功率 P 可以由电压 V 和电阻 R 计算得到
P=U2RP = \frac{U^2}{R}P=RU2
根据上面的电压类计算方法
dB=20∗log10U1U0dB = 20 * log_{10}{\frac{U_1}{U_0}}dB=20∗log10U0U1
19 世纪 30 年代,音频设备的输入电阻都为 600Ω,即 R = 600,在 dBm 中,1mW 作为基准值,那么在 R = 600Ω 时可以得到测试的电压 U=P∗R=1∗10−3∗600=0.6=0.7746VU = \sqrt{P * R} = \sqrt{1 * 10^{-3} * 600} = \sqrt{0.6} = 0.7746VU=P∗R=1∗10−3∗600=0.6=0.7746V
所以 dBu 是以电压为测量量计算声音分贝值,选择的基准电压为 0.775V,其计算公式为:
dB=20∗log10U0.775dB = 20 * log_{10}{\frac{U}{0.775}}dB=20∗log100.775U
上世纪实际音频设备的输入阻抗都是 600 欧姆,是固定不变的。但是到了现代,就有了更高阻抗的设备,例如 1000 欧姆,这样再选择 0.775 作为电压的基准值,显然是不合理的。所以,就有了一个新基准值 1V。本质上 dBu 和 dBV 是没有区别的,都是选择电压作为被测单位,只是选择的基准值不同罢了。dBV 仍然是以电压作为被测量,计算声音的分贝值,选择 1V 作为基准值,计算公式如下:
dB=20∗log10U1dB = 20 * log_{10}{\frac{U}{1}}dB=20∗log101U
dBSPL、dBA、dBm、dBw、dBu、dBV 中被测量量都是模拟量,在数字时代更多的音频分贝表示的是 dBFS。dBFS 的全称是 decibel Full Scale,全分贝刻度,是数字音频分贝值表示方法。dBFS 的基准值是最大的那个值。也就是说 0dBFS 是数字设备能达到的最大值,其他的值都是负值。
以数字音频的采样分辨率 16bits 为例,最大能表示的值为 65535,因此 dBFS 的计算公式为:
dB=20∗log10sample65535dB = 20 * log_{10}{\frac{sample}{65535}}dB=20∗log1065535sample
这样,最小的 dBFS=20∗log10165535=−96dBFSdBFS = 20 * log_{10}{\frac{1}{65535}} = -96dBFSdBFS=20∗log10655351=−96dBFS。也就是说 16 位无符号音频的动态范围是 0~-96dBFS
dBu 是度量模拟信号的,而 dBFS 是度量数字信号的,并且 dBFS 不会用于度量模拟信号,所以没有在 dBu 和 dBFS 之间没有统一的转换公式,依赖于具体的数字设备。在 dBu 和 dBFS 转换时,需要规定一个峰值电压,该电压下产生的音频信号经过 AD 转换后得到的 sample 为 0dBFS。例如,+18dBu 对应于 0dBFS,在该条件下 求 xdBu 对应于 ydBFS,那么就有 y = x − 18
dBSPL,通常所说的 dB,使用声压作为被测量,选择 20μPa 作为基准值。
dBA,dBSPL 使用 A-weight filter 滤波。
dBm,使用功率作为被测量,选择 1mW 作为基准值。
dBu,使用电压作为被测量,选择 0.775V 作为基准值。
dBV,和 dBu 一样,使用电压作为被测量,选择 1V 作为基准值。
dBFS,和上面的量都不相同,上面的量都是测量模拟值的,dBFS 是测量数字音频的,其选择的基准值为 sample 的最大值为 0dBFS,其他的值都为负值。
dBFS 和模拟量之间的转换,例如 dBu,需要规定一个基础的对应关系。例如 + 18dBu 对应于 0dBFS,则 ydBFS = x - 18,两者时钟相差 18
https://blog.csdn.net/landing_guy_/article/details/121955134
https://andy-fighting.blog.csdn.net/article/details/117568164
https://blog.csdn.net/weixin_43847179/article/details/113623618