音響系統(tǒng)回波抵消研究
引言
在許多音頻設(shè)備(如視頻會(huì)議系統(tǒng))中,揚(yáng)聲器播放出來(lái)的聲音被麥克風(fēng)拾取后要發(fā)回遠(yuǎn)端,使得遠(yuǎn)端談話者能聽(tīng)到自己的聲音(經(jīng)一個(gè)聲路徑延遲的聲音),從而干擾語(yǔ)音傳輸,稱(chēng)為聲學(xué)回波。
聲學(xué)回波抵消器(AcousticEchoCancellor,AEC),是對(duì)揚(yáng)聲器信號(hào)與由它產(chǎn)生的多路徑回波的相關(guān)性為基礎(chǔ)建立的遠(yuǎn)端信號(hào)語(yǔ)音模型。利用它可對(duì)回波進(jìn)行估計(jì),并不斷地修改濾波器的系數(shù),使得估計(jì)值更加逼近真實(shí)的回波;然后再將回波估計(jì)值從話筒的輸入信號(hào)中減去,從而達(dá)到消除回波的目的。AEC還會(huì)將話筒的輸入與揚(yáng)聲器過(guò)去的值相比較,從而消除延長(zhǎng)延遲的多次反射的聲學(xué)回波。根椐存儲(chǔ)器存放的過(guò)去的揚(yáng)聲器輸出值的大小,通過(guò)AEC可以消除各種延遲的回波。
1回波抵消算法
聲學(xué)回波抵消算法(簡(jiǎn)稱(chēng)AEC算法)采用一種成熟的商用頻域算法模塊,由美國(guó)的SPIRITCorp設(shè)計(jì),遵循國(guó)際電信聯(lián)盟(IUT)G.167標(biāo)準(zhǔn),可用來(lái)去除由揚(yáng)聲器到麥克風(fēng)的聲音反饋所引起的回波,用戶可設(shè)的最大回波路徑延遲達(dá)508ms,該算法的原理框圖如圖1所示。
圖1中的CNG(Comfortnoisegenerator)為舒適噪聲產(chǎn)生器,DT(Doubletalk)detector為雙端回話檢測(cè)器,ERL(Echoreturnloss)為回聲傳播損失,NLP(Non-linearprocessor)為非線性處理器,NS(Noisesuppressor)為噪聲抑制器,Tonedetector為音調(diào)檢測(cè)器,Sub-bandadaptivesubtractors為子帶自適應(yīng)減法器,Sub-bandnoisesuppressor為子帶噪聲抑制器,Anti-howlingcontrol為抗嘯叫控制單元,Convergencemonitor為算法收斂檢測(cè)器。Felnput為遠(yuǎn)端參考信號(hào)輸入,F(xiàn)eoUtpUt為經(jīng)過(guò)AEC算法處理后的近端參考信號(hào)輸出,稱(chēng)為接收回路;Nemput為回波信號(hào)與近端語(yǔ)音的混合信號(hào),Neoutput為去除回波的近端語(yǔ)音信號(hào),稱(chēng)為發(fā)送回路。
在AEC開(kāi)始處理時(shí),采用半雙工方式可以避免AEC算法收斂時(shí)殘余回波被聽(tīng)到,收斂監(jiān)控器用于跟蹤當(dāng)前回波返回?fù)p失并檢測(cè)收斂。一旦收斂AEC轉(zhuǎn)向全雙工方式,而且因?yàn)樗鼘?duì)背景噪聲和回波路徑改變,非線性失真都非常強(qiáng),所以不會(huì)再轉(zhuǎn)向半雙工方式,這樣就能保證在任何條件下的全雙工通訊。因?yàn)槠渥訋ЫY(jié)構(gòu),AEC僅處理32個(gè)輸入緩沖區(qū)的樣本,并在內(nèi)部有96個(gè)樣本的延遲。
AEC具有強(qiáng)大雙端會(huì)話檢測(cè)器,因而允許AEC算法在本地語(yǔ)音存在的條件下收斂,并且在雙端會(huì)話期間不會(huì)帶來(lái)殘余回波增大。雙端會(huì)話檢測(cè)器可以在信噪比大于6dB的噪聲條件下工作,雙端會(huì)話檢測(cè)器可控制自適應(yīng)濾波器、NLP和CNG,以防止它們不收斂。當(dāng)雙端會(huì)話開(kāi)始被檢測(cè)到后,發(fā)送回路中的NLP關(guān)閉,并以確定速度逐漸增加其傳輸增益,直到達(dá)到其最大值1(16位時(shí)為32767)。當(dāng)雙端會(huì)話結(jié)束被檢測(cè)到時(shí),NLP打開(kāi)并逐漸降低其增益,直到定義的最小值,這樣就增加了回波抵消。
發(fā)送回路和接收回路中的NLP在半雙工模式下都支持開(kāi)關(guān)切換。CNG在NLP打開(kāi)時(shí)工作產(chǎn)生與背景噪聲幅度相適應(yīng)的適度噪聲,但其幅度小于設(shè)定的最大值。AEC具有內(nèi)部音調(diào)檢測(cè)器,可以防止AEC收斂在如撥號(hào)音或振鈴音的正弦信號(hào),這種收斂可能造成AEC運(yùn)行錯(cuò)誤。特別是在AEC收斂在這類(lèi)信號(hào)的開(kāi)始處,這一點(diǎn)對(duì)免提電話特別有用。AEC還具有抗嘯叫控制單元,可用來(lái)避免因?yàn)槁曇粼邴溈孙L(fēng)和揚(yáng)聲器間反饋引起的嘯叫(Larsen效應(yīng)),這種情況只有在遠(yuǎn)端和近端運(yùn)行在全雙工模式下才會(huì)發(fā)生。
2回波抵消器硬件構(gòu)成
本文的回波抵消器硬件平臺(tái)主要基于TI公司TMS320VC5416高性能DSP芯片來(lái)進(jìn)行設(shè)計(jì),其硬件平臺(tái)結(jié)構(gòu)如圖2所示。
平臺(tái)的工作原理:以DSP芯片TMS320VC5416作為主處理器完成算法的調(diào)用處理和音頻數(shù)據(jù)流的控制調(diào)度;SRAM作為外擴(kuò)存儲(chǔ)器,用來(lái)存放中間運(yùn)算結(jié)果;FLASH存儲(chǔ)器用來(lái)固化算法和應(yīng)用程序模塊,使回波抵消器系統(tǒng)在外界環(huán)境固定,并使其在不需要調(diào)整控制參數(shù)時(shí),能作為一個(gè)獨(dú)立系統(tǒng)脫機(jī)工作。
codec采用高度集成的立體聲音頻編解碼芯片TLV320AIC23B來(lái)處理音頻輸入和輸出。系統(tǒng)的立體聲輸入部分,一路接Ne’nput近端語(yǔ)音與回波信號(hào)的混合信號(hào),另一路接Femput遠(yuǎn)端參考信號(hào),即遠(yuǎn)端說(shuō)話人語(yǔ)音信號(hào);而立體聲輸出部分的一路接Neoutput,即經(jīng)過(guò)AEC處理的近端語(yǔ)音信號(hào)輸出,另一路接FeOutput,即遠(yuǎn)端參考信號(hào)經(jīng)過(guò)AEC處理的輸出。AEC的控制參數(shù)可通過(guò)串口通訊來(lái)實(shí)現(xiàn),由PC機(jī)向回波抵消系統(tǒng)發(fā)送AEC調(diào)控參數(shù),可以達(dá)到最佳的抑制效果。
MCBSP
圖2回波抵消器硬件平臺(tái)結(jié)+構(gòu)示意圖
本回波抵消器硬件平臺(tái)采用+5V單電源供電,可與PC機(jī)提供的+5V電源連接,并具有外部手動(dòng)復(fù)位鍵,操作簡(jiǎn)單方便。
3串口通訊規(guī)則
為了方便調(diào)整AEC算法運(yùn)行參數(shù),本系統(tǒng)采用了RS232串口通訊方式。串口通訊的編程分為兩部分:一部分采用匯編與C混合編程的方式,在TMS320C5416上運(yùn)行;另一部分則采用VB6.0的人機(jī)控制界面設(shè)計(jì)図。
通訊機(jī)制采用查詢方式?;夭ǖ窒髦鞒绦蛏想娺\(yùn)行時(shí),對(duì)兩個(gè)輸入通道采樣32個(gè)樣本,在AEC算法處理前應(yīng)查詢一下串口有無(wú)控制參數(shù)發(fā)出。如沒(méi)有,則按默認(rèn)參數(shù)運(yùn)行;如果串口有控制參數(shù),則保存并按新的控制參數(shù)執(zhí)行[6]。VB具有面向?qū)ο蟮脑O(shè)計(jì)方法,并具有簡(jiǎn)單方便的串行通訊和實(shí)用性強(qiáng)等優(yōu)點(diǎn)。利用串行端口控件Mscomm可以實(shí)現(xiàn)簡(jiǎn)單的串行通信,該控件屏蔽了通信過(guò)程中的底層操作,用戶可以設(shè)置、監(jiān)視Mscomm控件的屬性和事件,并可結(jié)合Timer控件完成對(duì)串行口的初始化和數(shù)據(jù)的輸入輸出工作。
串口控件Mscomm的使用和設(shè)置非常簡(jiǎn)單,通過(guò)以下代碼即可完成該控件相應(yīng)屬性的初始化:
strset="19200,n,8,1"
Form1.MSComm1.InBufferSize=512‘定義輸入緩沖區(qū)大小
Form1.MSComm1.OutBufferSize=512‘定義輸出緩沖區(qū)大小
Form1.MSComm1.CommPort=1‘設(shè)置串行端口號(hào)
Form1.MSComm1.Settings=strset,設(shè)置數(shù)據(jù)格式
Form1.MSComm1.PortOpen=True'打開(kāi)串口
這里將控制參數(shù)分類(lèi)并排序,發(fā)送和接收都應(yīng)當(dāng)嚴(yán)格按次序執(zhí)行,以確保通訊過(guò)程的正確。控制參數(shù)主要分為三類(lèi),圖3所示是回波抵消器的人機(jī)控制界面圖。其中,量化參數(shù)位于圖3左側(cè),該類(lèi)參數(shù)有具體數(shù)值,對(duì)于超過(guò)8位二進(jìn)制數(shù)的參數(shù),可采用分高低字節(jié)發(fā)送,并使用Slider控件來(lái)實(shí)現(xiàn);AEC開(kāi)關(guān)量為圖3中間部分的參數(shù),該類(lèi)參數(shù)表示AEC算法中某些運(yùn)算模塊的打開(kāi)和關(guān)閉,可采用Checkbox控件實(shí)現(xiàn);選控參量為圖3右側(cè)的參數(shù),該類(lèi)參數(shù)表示AEC算法中某些參量數(shù)值的選擇,如采樣率、回波延遲設(shè)置等,主要采用
ComboBox控件實(shí)現(xiàn)。
圖3回波抵消器人機(jī)控制界面圖
用戶使用時(shí),在設(shè)置相應(yīng)參數(shù)完畢后,點(diǎn)擊“應(yīng)用”即可完成參數(shù)傳遞過(guò)程,也可點(diǎn)擊“復(fù)位”加載算法本身提供的默認(rèn)參數(shù)??刂茀?shù)一旦根據(jù)音頻設(shè)備使用環(huán)境設(shè)置完畢,則不需頻繁修改,參數(shù)設(shè)置過(guò)程不影響算法的實(shí)時(shí)運(yùn)行。
4結(jié)語(yǔ)
通過(guò)語(yǔ)音數(shù)據(jù)文件的仿真分析及實(shí)際會(huì)場(chǎng)環(huán)境檢測(cè)證明,該回波抵消系統(tǒng)具有較好的回波抑制效果,而且算法收斂速度快,性能穩(wěn)定,因而應(yīng)用十分廣泛。
20211012_6165a60b73ee6__音響系統(tǒng)回波抵消研究