首页 > 其他 > 详细

AK5703的ALC

时间:2019-06-10 18:23:30      阅读:99      评论:0      收藏:0      [点我收藏+]

AKM5703是一款音频ADC,具有自动增益(ALC)功能,它的自动增益功能具体是指:当音量大于设定的界限时,ALC会把音量值往下拉,使之不破音(如下图所示),而当音量小于某个界限时,ALC会把音量值往上拉,

技术分享图片

这里的最大值界限和最小值界限时可以设置的,如下图所示,一共有四个范围值可以选择

技术分享图片

这里重点介绍下当音量值小于某个范围ALC往上拉的具体过程.因为当初在调试ALC时,由于对这个不太理解,寄存器配置错误,导致用了ALC之后底噪特别大.

首先看下图中的两个寄存器,IVAL和REF,IVAL就是数字增益,而REF是参考增益,当我们用ALC之后,首先5703会根据IVAL对音量进行放大,然后把放大后的值和我们的设定的最低界限进行比较,如果这个值大于我们设定的最低界限,那么

这时候我们的ALC就不会对音量进行上拉,但是如果放大了IVAL倍之后,音量值小于我们设定的最小的界限,那么ALC就会对音量进行上拉,上拉的倍数为:REF-IVAL,例如如果我们的IVAL设置的是10dB,而我们的REF设置的是30dB,那么我们的ALC就会

上拉20dB,所以有一个问题就是,如果我们不接入音频,而如果我们的设备底噪本来可能并不大,但是如果用了ALC之后,它检测到音量值没有到我们设定的最小的界限,那么就会把底噪进行放大,这个问题解决的方法就是把我们的IVAL和我们的REF的值设置成一样的,

这样当检测到音量值小于我们设定的界限之后,它也不会上拉,因为这时候REF-IVAL=0.

技术分享图片

另外,还有一个问题就是,当检测到我们的音量值小于我们设定的界限,然后ALC对音量进行上拉时,它只管上拉(REF-IVAL)dB,不一定能拉到我们设定的界限,例如我们的IVAL设置的是10dB,而如果我们的REF设置的是11dB,那么ALC只会上拉1dB,这样的

上拉幅度不一定能达到我们设定的最小界限.

AK5703的ALC

原文:https://www.cnblogs.com/cumtchw/p/10999291.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!