MT2502模組上如何實現echo loop功能

SZX511發表於2018-12-11

[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吹氣,聲音從喇叭出來。此種測試方案可能會引入嘯叫聲,可以透過如下方案改善:

    資料地址:

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部落格 ” ,連結:http://blog.itpub.net/31529038/viewspace-2284840/,如需轉載,請註明出處,否則將追究法律責任。

相關文章