#Webrtc AGC 算法原理介绍(五)

本文深入探讨WebRTC的自动增益控制(AGC)算法,包括WebRtcAgc_AddFarend的远端信号处理、WebRtcAgc_SaturationCtrl的饱和控制、WebRtcAgc_ZeroCtrl的静音检测和WebRtcAgc_ExpCurve的音量曲线调整。这些功能确保了在不同环境下的声音质量。
摘要由CSDN通过智能技术生成

Webrtc AGC 算法原理介绍(五)


零、前言

本系列介绍Webrtc的agc算法。webrtc的agc算法对各种情况作了较为详尽的考虑,而且使用了的定点数的方法来实现,因此内容比较多。尽量在这几篇文章中描述清楚。

一、WebRtcAgc_AddFarend

该函数调用了WebRtcAgc_AddFarToDigital函数,其中仅仅是对远端使用WebRtcAgc_ProcessVad函数。该函数的目的是计算远端信号的VAD可信度,用于在Process_Digital中使用,保证远端信号出现的地方信号增益有所减弱。这么做的原因是相信,远端信号出现出很可能出现回声信号。
这里默认信号与近端信号已经做了延时估计对齐处理,然而在Webrtc的程序中,调用WebRtcAgc_AddFarToDigital与调用WebRtcAgc_Process处的信号显然没有严格对齐,此处存在一定的误差。

二、WebRtcAgc_SaturationCtrl

该判断信号是否饱和,注意到在Webrtc_AddMic中计算了包络env的值,16khz采样的数据,10ms的数据是160个samples,分成10块,每块是16个。求每块16个点中平方值最大的点作为包络。

    /* compute envelope */
    if ((M == 
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值