劉 豪
(廣州海格通信集團股份有限公司,廣東 廣州 510663)
終端通信系統的音頻質量直接影響用戶的體驗,好的產品設計可以優化處理音頻噪聲和回聲,本文主要研究硬件回聲消除和軟件音頻降噪兩方面的技術[1]。良好的硬件設計可使得音頻軟件算法處理效果事半功倍,達到高質量語音通話效果。反之,若是硬件設計存在缺陷,那么軟件后期處理會非常棘手。本文的目標是在硬件和軟件算法處理的基礎上提供舒適的半雙工和全雙工語音通話,實現良好的音頻性能。
為了保證良好的語音通話質量,整機產品需要滿足以下性能要求。
上、下行鏈路的耦合性對終端整體的回聲性能影響非常大。對比回聲和近端語音信號,為了能夠達到最佳回聲處理的效果,最大回聲信號至少比近端語音信號低6 dB[2,3]。回聲信號和近端語音對比如圖1所示,其中近端語音在-15 dB左右,回聲信號在-21 dB左右,相差大概6 dB,該耦合性能是合格的,且差值越大效果更佳。音頻耦合性能評價如表1所示。

圖1 回聲信號和近端語音對比圖

表1 近端語音和回聲信號差值評價表
音頻信號的回聲,其諧波能量最大值要比基頻小25 dB[4]。大部分回聲消除技術均假設回聲鏈路是線性系統,保證回聲鏈路的線性可使得回聲消除處理干凈。音頻線性性能差主要有以下幾個因素。一是器件本身線性性能差,器件太輕或者發音系統太緊湊導致音腔無法發出足夠大的聲音;二是電池電壓太低,無法線性驅動音頻放大器;三是前端存在自動增益放大器;四是喇叭破音,喇叭和麥克風之間存在機械振動。
保證每次通話之間主信號和參考信號延時是相對穩定的,浮動值不超過100個樣點。主信號和參考信號時延如圖2所示,下行語音從喇叭通過反射被麥克風采集作為參考信號,上行語音作為主信號,兩者之間的間隔稱為主信號和參考信號時延,簡稱RPD。

圖2 主信號和參考信號時延
RPD在以下兩種情況造成的影響較大。一是在一次通話過程中RPD不穩定,頻繁的改變;二是每次通話RPD差異過大,相差100個采樣點以上。
為了消除音頻回聲,在硬件上選用Fortemedia公司的FM1288芯片。FM1288是新一代移動終端語音性能優化ASIC芯片,支持的主要功能包括上行與下行音頻的噪音削減功能和全雙工回音消除功能。支持線性與非線性系統的回音消除和快速收斂,支持GUI調試工具快速調試音頻性能[5]。
FM1288內部原理框圖如圖3所示,采用SAMTuner工具GUI界面進行相應的音頻性能的配置。音頻回聲消除相關的配置參數在Liner AEC和Non-Liner AEC模塊中,線性回聲參數配置主要包括回聲時延和回聲門限檢測,需要根據產品使用的具體場景進行相應的配置。

圖3 FM1288內部原理框圖
FM1288芯片對回聲消除有重要的作用,同時音頻質量也跟音頻器件的選型及硬件結構布局關系密切。音頻設計要點如下,一是喇叭盡量選擇頻響、一致性較好且失真較小的正規廠家器件,安裝時確保接觸良好、牢固,避免機械振動。音腔獨立設計,密封性要好,喇叭帶獨立的音腔和接觸面的密封墊,可保證喇叭發音效果并防止其漏音。二是麥克風盡量選擇正規廠家頻響和一致性較好的器件(靈敏度浮動在±2 dB),采音孔暢通,無彎曲。此外,麥克風要與音腔孔朝向一致,遠離喇叭,保證兩者不在同一平面上。
音頻降噪技術在移動終端應用廣泛,目前多采用軟件算法技術進行音頻降噪。本文主要研究Speex開源音頻降噪算法的實現原理、代碼實現以及降噪效果。
第1步預處理,信號輸入、加窗、交疊,時頻傅立葉變換,第2步計算頻域能量和基于臨界頻帶內的帶噪信號能量,第3步固定迭代因子平滑算法,更新噪聲能量,第4步計算后驗信噪比并進行先驗信噪比更新,第5步計算臨界頻帶內的EM算法增益和線性頻域上的EM算法增益,第6步進行反傅立葉變換、加合成窗函數以及交疊相加,最終得到去噪以后的時域信號[6]。
Speex進行音頻去噪需要準確設置音頻采樣率和幀長度[7]。噪聲消除模塊需設置一個噪聲抑制閾值參數,默認為-25 dB,此值可控制噪聲削弱強度,噪聲抑制閾值越小噪聲去除效果越好,但同時正常語音失真度也越大,因此需要根據實際音頻應用場景進行配置[8,9]。語音噪聲消除關鍵函數為:

圖4為Speex音頻降噪前后波形對比圖,圖中上半部為人聲疊加了噪音的波形,下半部是通過Speex降噪后處理后的人聲波形,可以看出其對人聲疊加噪聲抑制效果較好[10]。

圖4 Speex音頻降噪前后波形對比
音頻降噪和回聲消除技術在音頻領域應用廣泛,需要結合硬件和軟件進行優化和處理才能達到高品質的語音。基于FM1288芯片的回聲消除技術的優點是實時性較高,易于實現近端語音信號和遠端參考信號的同步。采用軟件算法處理噪聲的優點是針對不同場景的噪聲可以靈活進行算法參數的選型和匹配,找到最佳解決方案,兩者相結合對音頻進行處理將大大提升音頻質量。