需要做个音频的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。

声音分贝的概念,dBSPL.dBm,dBu,dBV,dBFS的更多相关文章

  1. 转载:声音分贝的概念,dBSPL.dBFS

    转自:https://www.cnblogs.com/wangguchangqing/p/5947659.html 分贝 Decibel 分贝(dB)是一个对数单位(logarithmic unit) ...

  2. 分贝单位的本质(下半篇),dBm、dBFS、dBV的妙处你想象不到

    上半篇讲到了声音分贝的概念, 对于声音的单位:dB SPL和dB SIL,有兴趣了解并推算的朋友,可以点击以下链接(PC端效果更佳) http://www.sengpielaudio.com/calc ...

  3. 声卡(Sound Card)基本概念

    声卡 (Sound Card)是实现声音的模拟/数字信号相互转换.信号处理的一种硬件. 声卡的基本功能是把来自话筒.磁带.光盘的原始声音信号加以转换(模数转换或者数模转换),输出到耳机.扬声器.扩音机 ...

  4. 用swift实现自动录音器

    基本介绍 自动录音与一般录音区别在:不用像微信那样按下录音-松手结束,而是根据说话声音的大小自动判断该录音和该停止的点,然后可以做到结束录音之后马上播放出来.类似于达到会说话的汤姆猫那样的效果. 在自 ...

  5. speex进行音频去噪

    应用speex进行音频去噪,speex功能很强大,因为opus的出现,用speex进行编码/解码的人几乎没有了,但是用speex来进行降噪,去除回声,增益还是很多. 这里用speex进行音频去噪,主要 ...

  6. Android - 基于 Speex 的高度封装语音库,0 耦合使用

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  7. I2S音频总线学习

    IIS音频总线学习(一)数字音频技术 一.声音的基本概念 声音是通过一定介质传播的连续的波. 图1 声波 重要指标: 振幅:音量的大小 周期:重复出现的时间间隔 频率:指信号每秒钟变化的次数 声音按频 ...

  8. 录音器 AudioRecorder

    实现录音器有两种方式可以选择: 1.AudioRecord(基于字节流录音) 优点:可以实现语音的实时处理,进行边录边播,对音频的实时处理. 缺点:输出的是PCM的语音数据,如果保存成音频文件是不能被 ...

  9. Android 基于 Speex 的高度封装语音库,0 耦合,没三方jar包

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

随机推荐

  1. 【.net 深呼吸】细说CodeDom(5):类型成员

    前文中,老周已经厚着脸皮介绍了类型的声明,类型里面包含的自然就是类型成员了,故,顺着这个思路,今天咱们就了解一下如何向类型添加成员. 咱们都知道,常见的类型成员,比如字段.属性.方法.事件.表示代码成 ...

  2. 札记:Fragment基础

    Fragment概述 在Fragment出现之前,Activity是app中界面的基本组成单位,值得一提的是,作为四大组件之一,它是需要"注册"的.组件的特性使得一个Activit ...

  3. Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持

    Jexus 是一款运行于 Linux 平台,以支持  ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大 ...

  4. 搞个这样的APP要多久?

    这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...

  5. 一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino

    大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说 ...

  6. Java学习之反射机制及应用场景

    前言: 最近公司正在进行业务组件化进程,其中的路由实现用到了Java的反射机制,既然用到了就想着好好学习总结一下,其实无论是之前的EventBus 2.x版本还是Retrofit.早期的View注解框 ...

  7. 【NLP】十分钟快览自然语言处理学习总结

    十分钟学习自然语言处理概述 作者:白宁超 2016年9月23日00:24:12 摘要:近来自然语言处理行业发展朝气蓬勃,市场应用广泛.笔者学习以来写了不少文章,文章深度层次不一,今天因为某种需要,将文 ...

  8. php注册审核

    通过注册审核,判断刚创建的账户是否可以使用. 后台管理员审核通过后,账号可以使用. 通过session 设置只能通过登录入口进入网页. 原理:通过数据库设置账号的一个字段状态,例: isok:1, i ...

  9. Html.DropDownLis绑定数据库

    效果: 方法一: View: <div class="col-md-md-4"> <div class="input-group"> & ...

  10. 利用Select2优化@Html.ListBoxFor显示,学会用MultiSelectList

    最近需要用到多选框,Asp.Net MVC自带的@Html.ListBox或@Html.ListBoxFor的显示效果太差,于是找到了Select2进行优化,并正式了解了多选框的操作方法. 首先介绍多 ...