Webrtc AGC 알고리즘 원리 소개 (1)
2803 단어 자동 이득 제어
탭 (빈 칸 구분): 오디 오 알고리즘
제로
이 시 리 즈 는 Webrtc 의 agc 알고리즘 을 소개 합 니 다.webrtc 의 agc 알고리즘 은 여러 가지 상황 에 대해 비교적 상세 하 게 고려 했 고 포 인 트 를 정 하 는 방법 으로 이 루어 졌 기 때문에 내용 이 비교적 많다.가능 한 한 이 몇 편의 문장 에서 분명하게 묘사 해라.
1. AGC 모듈 의 구조 와 소개
새로운 웹 rtc 는 기 존의 agc 모듈 을 legacy 라 는 폴 더 로 이동 시 켰 습 니 다.이것 은 나중에 다시 글 을 써 서 상세 하 게 소개 하 겠 습 니 다.나 는 여전히 낡은 agc 알고리즘 부터 말 하 겠 다.Webrtc 의 AGC 알고리즘 구 조 는 다음 과 같 습 니 다 | – \ include | – gaincontrol.h agc—|–analog_agc.c |–analog_agc.h |–digital_agc.c |–digital_agc.h
gain_control. h 는 포 장 된 헤더 파일 로 apm 에서 gaincontrol_impl 호출.주로 인터페이스 정의 함수 와 매개 변수 설정 을 포함한다.이 파일 에 대해 미리 설정 의 의 미 를 말 합 니 다.
enum
{
kAgcModeUnchanged,
kAgcModeAdaptiveAnalog,
kAgcModeAdaptiveDigital,
kAgcModeFixedDigital
};
typedef struct
{
int16_t targetLevelDbfs; // default 3 (-3 dBOv)
int16_t compressionGaindB; // default 9 dB
uint8_t limiterEnable; // default kAgcTrue (on)
} WebRtcAgc_config_t;
매 거 진 것 은 agc 의 사용 모델 이 고 하 나 는 kAgc ModeAdaptive Analog, kAgc ModeAdaptive Digital 과 kAgc ModeFixed Digital 은 자주 사용 하 는 세 가지 모델 이다.kAgc ModeAdaptiveAnalog 는 아 날로 그 볼 륨 조절 기능 을 가지 고 있 습 니 다.kAgc Mode Adaptive Digital 은 가 변 이득 agc 이지 만 시스템 볼 륨 을 조절 하지 않 습 니 다.kAgc ModeFixed Digital 은 고정 이득 의 agc 입 니 다.WebRtcAgc_config_t 는 targetLevelDbfs 와 compression GaindB 를 설정 하여 agc 의 동적 범 위 를 조절 합 니 다.
analog_agc. h 는 아 날로 그 agc 구조 체 성명 을 포함 하고 gaincontrol. h 의 인터페이스 함 수 는 analogagc. c 에서 실현.
함수.
기능.
WebRtcAgc_AddFarend
원 격 신호 의 음성 활성 VAD 를 계산 합 니 다.
WebRtcAgc_AddMic
마이크 입력 의 음성 활성 도 를 계산 하면 아주 작은 신호 에 이득 계 수 를 곱 할 수 있다.
WebRtcAgc_VirtualMic
가상 마이크 볼 륨 으로 폭 조절.
WebRtcAgc_Process
vad 핵심 처리
WebRtcAgc_set_config
VAD 파라미터 설정
그리고 analogagc. c 는 다음 과 같은 함수 도 포함한다.
함수.
기능.
WebRtcAgc_UpdateAgcThresholds
대략.
WebRtcAgc_SaturationCtrl
대략.
WebRtcAgc_ZeroCtrl
대략.
WebRtcAgc_SpeakerInactiveCtrl
대략.
WebRtcAgc_ExpCurve
대략.
WebRtcAgc_ProcessAnalog
대략.
digital_agc. h 는 숫자 를 포함 한 agc 구조 체 성명, Vad 구조 성명, gaincontrol. h 의 인터페이스 함 수 는 analogagc. c 에서 실현.
함수.
기능.
WebRtcAgc_ProcessDigital
대략.
WebRtcAgc_AddFarendToDigital
대략.
WebRtcAgc_InitVad
대략.
WebRtcAgc_ProcessVad
대략.
WebRtcAgc_CalculateGainTable
대략.