+50dB/ 您所在的位置:网站首页 声音db是什么意思 +50dB/

+50dB/

2023-12-13 18:31| 来源: 网络整理| 查看: 265

+50dB/-50dB 是什么概念.

在阅读ffmpeg 代码时遇到的一个概念. 声音降低-50dB 为静音. 对于S16格式的音频, 音量最大值是7fff = 32767

-50dB 是什么概念呢? 它是一个比值 先把分贝化成贝尔, 声音要除以20, 故 -50dB/20 = -2.5贝尔. 这个比值是以10为底,贝尔为幂, 故数值为10的-2.5次方,为1/316=0.003

同样,+50dB就是10^2.5=316

有一个口算方法, 对于功率, 3db就是一倍, 对于电压,6db算一倍, 声压也是6db算一倍. 它们分别对应着10log(10)N 和 20log(10)N

因为10的0.3次幂为一倍. 50dB=48dB+2dB = (6*8)dB+2dB > 2倍的8次幂 = 256倍. 就是说48db 是 256倍       54db 是 512倍 50db  又比48多了2db 实际是316倍

ffmpeg中计算倍数实际上是采用了2的N次幂来计算的. 来一段代码吧,留个纪念.

将'dB'换算成数值就是计算10的多少次幂. 下面是相关代码  

d_out = ff_exp10(db_in / 20); //10的n次幂由下面函数定义 static av_always_inline double ff_exp10(double x) { return exp2(M_LOG2_10 * x); // 2的n次幂为库函数 } #define M_LOG2_10 3.32192809488736234787 /* log_2 10 */

10的多少次幂是用2的多少次幂来计算的 2的3.32次方就是10

分贝的神秘性解除了, 我们还是考虑通常意义下10log 功率的计算方法. 记住下面几个常数.

0分贝就是它自己. 10的0次方=1

1分贝: 10^0.1 = 1.26      //1分贝多出的0.26比3分之1小,比4分之一(0.25)略大.

2分贝 10^0.2 = 1.58    //2分贝多出0.58比3分之2小,比二分之一(0.5)略大

3分贝 10^0.3 = 2.00  //3 分贝就会多出1倍了.

原来分贝就是考察我指数运算来了!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有