ITPub博客

首页 > IT职业 > IT生活 > MT2502模块上如何实现echo loop功能

MT2502模块上如何实现echo loop功能

IT生活 作者:SZX511 时间:2018-12-11 15:24:36 0 删除 编辑

[FAQ13975]MT2502上如何实现echo loop功能


 在MT2502上如何实现echo loop功能,以达到测试MIC的功能?


答:

在2502上实现echo loop功能,需要借助native端的接口,具体如下:


  1. 请参考fcatoryModeAudio.c中函数MMI_fm_set_echo_loop()的实现,来完成echo loop功能。其调用的子接口L1SP_SetAfeLoopback()和L1SP_Afe_On()就是实现AFE LOOPBACK功能的重要接口。

  2. 此种方式是沿用功能机工厂模式测试mic的方案,功能机默认测试现象如下:对着mic吹气,声音从听筒出来。但是由于2502手表项目一般只有喇叭,所以要完成mic和speaker的echo loop功能,需要将mmi_fm_set_echo_loop()中调用到的代码:FM_SendSetAudioModeReq(AUD_MODE_MORMAL),改为FM_SendSetAudioModeReq(AUD_MODE_LOUDSPK)。

  3. 经过上述修改后,测试步骤为:从mic吹气,声音从喇叭出来。此种测试方案可能会引入啸叫声,可以通过如下方案改善:

    资料地址:http://bbs.16rd.com/thread-467025-1-1.html

1)请在调用echo loop函数之前,调用void L1SP_SetMicrophoneVolume( uint8 mic_volume )将mic的值调小,看啸叫声是否有改善,这里的参数mic_volume值在0~255之间,请贵司取一个较小的值测试下。


2)如果改善不明显,请在上面调用基础上,请同时调用void L1SP_SetOutputVolume( uint8 volume1, int8 digital_gain_index )然后再调用echo loop的函数开启echo loop,这里的参数1 volume1也是0~255之间,参数2 digital_gain_index设为0。

3)这里的参数值越小,理论上啸叫声也越小,同时loop back的声音也会越小,所以请贵司根据实
际测试情况,在这两者折衷处理,使得loop back的声音尽量大,同时啸叫声尽量小。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31529038/viewspace-2284840/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: MT2502充电电流
请登录后发表评论 登录
全部评论
AR产品,VR产品定制,全息投影,裸眼3D,体感互动,投影互动,真人大屏互动,unity定制等

注册时间:2018-03-29

  • 博文量
    291
  • 访问量
    695252