为了账号安全,请及时绑定邮箱和手机立即绑定

为什么16bit可以表示96分贝的动态范围?

为什么16bit可以表示96分贝的动态范围?

函数式编程 2019-03-30 09:34:07
书上说CD每个采样点大小为16比特,这样就能够表示96分贝的动态范围.这一范围的下限是刚好能听到的声音的阈值,上限是人们承受最大负荷声音的极限阈值.96是怎么算出来的?
查看完整描述

2 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

20*log(2^16)=96
                            
查看完整回答
反对 回复 2019-03-30
?
慕少森

TA贡献2019条经验 获得超9个赞

百度百科……我能呵呵吗?
这里的96dB指的是信噪比(SNR),信噪比的公式很简单:
SNR=Ps/Pa,P是功率。
如果换成幅度(比如声音的振幅),那么公式则是平方之比:
SNR=(As/Aa)^2
dB记单位的SNR(dB)与SNR的关系是:
SNR(dB)=10*log10(SNR)
所以以声音振幅表示的信噪比分贝是:
SNR(dB)=10*log10((As/Aa)^2)=10*2*log10(As/Aa)=20*log10(As/Aa)
A/D转换时,假设源信号在整个范围内均匀分布,那么平均量化误差为+/-半个bit,也就是1个bit的误差范围。
量化范围取决于bit数,对于Q位的A/D转换,范围是2^Q,也就是说,As/Aa=(2^Q)/1,带入上面的公式则有:
SNR(dB)=20*log10(2^Q)=20*log10(2)*Q≈6.02*Q
对于16bit的CD,SNR(dB)≈6.02*16≈96dB,这个数字就是这么来的。
不过这个数字代表的是信噪比,和动态范围那个90dB之间的关系类似于雷锋与雷峰塔……
                            
查看完整回答
反对 回复 2019-03-30
  • 2 回答
  • 0 关注
  • 1936 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信