概述
WebRTC AGC(自动增益控制)
我正在testingWebRTC AGC,但是我必须做一些错误的事情,因为信号只是未经修改而通过。
以下是我如何创build和初始化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);
然后,对于每个10ms的示例块,我执行以下操作:
WebRtcAgc_Process(agc, micData, NULL, 80, micData, NULL, micLevelIn, &micLevelOut, 0, &saturationWarning);
其中micLevelIn设置为0。
有人能告诉我我做错了什么吗?
我预计全面的正弦音调将被削弱到目标DBFS的水平; 和低级正弦波(即-30dBFS)将被放大以匹配目标DBFS级别。 但是,这不是我所看到的。
以下是Webrtc_AGC使用的操作顺序:
创buildAGC: WebRtcAgc_Create
初始化AGC: WebRtcAgc_Init
设置configuration: WebRtcAgc_set_config
初始化capture_level = 0
对于kAgcModeAdaptiveDigital ,调用VirtualMic: WebRtcAgc_VirtualMic
具有capture_level进程缓冲区: WebRtcAgc_Process
获取从WebRtcAgc_Process返回的捕获级别并将其设置为capture_level
对audio buffers重复5到7
销毁AGC: WebRtcAgc_Free
检查webrtc / modules / audio_processing / gain_control_impl.cc以供参考。
尝试这个:
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);
最后
以上就是忧心棒棒糖为你收集整理的webrtc agc matlab,WebRTC AGC(自动增益控制)的全部内容,希望文章能够帮你解决webrtc agc matlab,WebRTC AGC(自动增益控制)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复