最近一直在思考一个转换问题,就是在语音信号方面关于
dB⟺采样值(振幅)
的转换究竟是什么公式?
公式
废话不多说, 结论先行
原始版本
NdB=20lgPrefPrms
以下是我总结的白话公式:
dB=20log10带符号位的(16or8or32)bit的单边最大值采样值(振幅)
解释下里面的各个参数
- 带符号位的(16or8or32)bit的单边最大值: 就是我们pcm数据, 或者wav格式的量化的位深
比如语音中常用的带符号的(包含正负)16bit位深单边最大值就是
单边16bit位深=22(16−去除最高符号位=15)−1=32767
实践
使用Audition进行转换
采样值5k, 对应的dB=20log10327675038 = -16.26dB
还有一个问题需要思考
我们常用的分贝仪中测试的db值比如(50db, 60db, 70db) 对应到AD软件中的幅值是多少呢?
其实计算公式也是:
NdB=20lgPrefPrms
只是Pref不一样而已,