WebRTC AGC (автоматический контроль усиления)

Я тестирую WebRTC AGC, но, должно быть, я делаю что-то не так, потому что сигнал просто проходит без изменений.

Вот как я создаю и инициализирую AGC:

agcConfig.compressionGaindB = 9;
agcConfig.limiterEnable = 1;
agcConfig.targetLevelDbfs = 9;   /* 9dB below full scale */

WebRtcAgc_Create(&agc);
WebRtcAgc_Init(agc, minLevel, maxLevel, kAgcModeFixedDigital, 8000);
WebRtcAgc_set_config(agc, agcConfig);

И затем для каждого образца блока 10 мс я делаю следующее:

WebRtcAgc_Process(agc, micData, NULL, 80, micData, NULL, micLevelIn, &micLevelOut, 0, &saturationWarning);

кудаmicLevelIn установлен на 0.

Может кто-нибудь сказать мне, что я делаю не так?

Я ожидал, что полный синусоидальный тон будет ослаблен до целевого уровня DBFS; и синусоидальный сигнал низкого уровня (то есть -30dBFS) будет усилен, чтобы соответствовать целевому уровню DBFS. Но это не то, что я вижу.

Ответы на вопрос(2)

Ваш ответ на вопрос