转自:https://www.cnblogs.com/wangguchangqing/p/5947659.html

分贝 Decibel

分贝(dB)是一个对数单位(logarithmic unit), 它和很多常见的单位如“米”,“秒”或者“千克”等物理单位是不同的,它并不能直接用来描述一个物理量的大小或者多少,它表示的是两个相同单位物理量的比值。分贝经常用来描述声音,如超过50dB的噪声就会影响人的睡眠和休息,但分贝不仅仅用来描述声音,它还被用来描述电子学等其他领域的物理量,如描述信号强度的衰减 、信噪比等等。
前面提到分贝表示的是两个物理量的比值,作为分母的那个量通常是一个标准的基准值(standard reference value),分贝描述的就是作为分子的物理量相对于这个基准值的大小,分贝的计算公式如下:

dB=10×log(value/valueref)

其中,valuerefv是基准值。在使用分贝表示物理量基准值是非常重要的,基准值用分贝表示的话是0dB。

描述声音的分贝

分贝可以描述很多的物理量,本文主要介绍分贝来描述声音的信号的强弱。
用来描述声音强度的物理量有很多:声压,功率,产生声音信号的电压等,使用不同的物理量来表示声音的强度,其得到的分贝也是不同的。

dB(dBSPL)

声音本质上来说是一种波,通过空气传播,传到人耳朵里引发鼓膜的振动。所以,声音的大小,实际就是对这种振动强度的反映。而由于空气的振动会引起大气压强的变换,可以使用压强变化的程度来描述声音的大小,这就是“声压(SPL,Sound Pressure Levels)”概念,其单位是Pa。例如:1米外步枪射击的声音大约是7000Pa;10米外开过汽车大约是0.2Pa。
使用声压作为测量量的分贝就是dBSPL,通常用来表示声音大小的dB多说指的就是dBSPL。声压和声音大小的关系,可以使用如下公式表示

I=P^2/ρ

其中,I是声音的强度;P是声压;ρρ是空气阻力,通常在室温下,空气阻力大约是400。
分贝的计算还需要一个选择一个特定的声压值作为“标准值”(0分贝),该值是固定的。有了这个基准值后代入上面的公式:

其中,P是声压测量值;Pref是标准值(0dBSPL)。这里选择的声压标准值为2×10^−5Pa,(20μPa),是人耳在1KHz这个频率下能听到的最小的声音,大致相当于3米外一只蚊子在飞的声音。将标准值代入上式:

dBFS

在数字时代更多的音频分贝表示是dBFS。dBFS的全称为Decibels Full Scale,全分贝刻度,是数值音频分贝值的表示方法。

dBFS的基准并不是最小的或者是中间的某一个值,是最大的那个值!也就是说0dBFS是数字设备能达到的最大值,除了最大值外都是负值。
以数字音频的sample为16位无符号为例,16位的无符号的最大值为65536,因此dBFS的计算公式:

dBFS=20×log10(sample/65536)dBFS

这样,最小的dBFS = 20×log(1/65536)=−96dBFS。也就是说16位无符号音频的动态范围为0 ~ -96dBFS。

最新文章

  1. Hibernate的性能优化问题
  2. bianma 水平 技巧
  3. 在Navicat for MySQL中打开视图时,提示视图没有主键的问题
  4. static初始化问题探究
  5. OK335xS PMIC(TPS65910A3A1RSL) reset
  6. 获取客户端访问的ip地址
  7. Gradle 2.0用户手册——总览(译)(转)
  8. JavaScript模板引擎原理
  9. Duplicate entry 'xxx' for key 'xxx'
  10. js cookie 工具
  11. day 6 元组、字典、字符串
  12. linux位数查看
  13. Linux下Vim使用备忘
  14. Fiddler模拟post四种请求数据
  15. python-项目流程分析及优化查询方法
  16. Hibernate JavaBean.hbm.xml配置
  17. vue 配置环境遇到的问题总结
  18. debian配置ftp
  19. BZOJ 2226 【SPOJ 5971】 LCMSum
  20. jQuery分页小插件

热门文章

  1. 咸鱼的ACM之路:动态规划(DP)学习记录
  2. 【你不知道的javaScript 中卷 笔记1】javaScript中的类型与值
  3. mysql错误:Column count doesn't match value count at row 1解决办法
  4. Redis是什么? —— Redis实战经验
  5. 解决并发问题的CAS思想及原理
  6. 【C语言】【欢哥TV】冒泡法排序视频演示
  7. @RendSection{"scripts",require:false}的作用
  8. C++——指针4
  9. 18家大厂Java面试题整理了350道(分布式+微服务+高并发)
  10. Java基础知识点总结笔记