use*_*325 64 c++ signal-processing webrtc
我正在测试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);
Run Code Online (Sandbox Code Playgroud)
然后对于每个10ms样本块,我执行以下操作:
WebRtcAgc_Process(agc, micData, NULL, 80, micData, NULL, micLevelIn, &micLevelOut, 0, &saturationWarning);
Run Code Online (Sandbox Code Playgroud)
其中micLevelIn
设置为0.
谁能告诉我我做错了什么?
我预计全量级正弦音将衰减到目标DBFS级别; 并且将放大低电平正弦音(即-30dBFS)以匹配目标DBFS电平.但那不是我所看到的.
尝试这个:
agcConfig.compressionGaindB = 9; agcConfig.limiterEnable = 1; agcConfig.targetLevelDbfs = 9; /* 低于满量程 9dB */ WebRtcAgc_Create(&agc); WebRtcAgc_Init(&agc, minLevel, maxLevel, kAgcModeFixedDigital, 8000); WebRtcAgc_set_config(&agc, &agcConfig);