音響系統(tǒng)回波抵消研究
摘要:針對(duì)音響系統(tǒng)在室內(nèi)產(chǎn)生的回波干擾,采用基于頻域回波抵消算法,結(jié)合DSP芯片TMS320VC5416硬件的處理方法,設(shè)計(jì)了RS232串口通訊的人機(jī)界面控制程序,從而有效地消除了干擾噪音。該方法可用于多種音頻設(shè)備、會(huì)議系統(tǒng),以抵消回波產(chǎn)生的干擾。
關(guān)鍵詞:音響系統(tǒng);回波抵消;頻域;干擾
0 引言
在許多音頻設(shè)備(如視頻會(huì)議系統(tǒng))中,揚(yáng)聲器播放出來(lái)的聲音被麥克風(fēng)拾取后要發(fā)回遠(yuǎn)端,使得遠(yuǎn)端談話(huà)者能聽(tīng)到自己的聲音(經(jīng)一個(gè)聲路徑延遲的聲音),從而干擾語(yǔ)音傳輸,稱(chēng)為聲學(xué)回波。
聲學(xué)回波抵消器(Acoustic Echo cancellor,AEC),是對(duì)揚(yáng)聲器信號(hào)與由它產(chǎn)生的多路徑回波的相關(guān)性為基礎(chǔ)建立的遠(yuǎn)端信號(hào)語(yǔ)音模型。利用它可對(duì)回波進(jìn)行估計(jì),并不斷地修改濾波器的系數(shù),使得估計(jì)值更加逼近真實(shí)的回波;然后再將回波估計(jì)值從話(huà)筒的輸入信號(hào)中減去,從而達(dá)到消除回波的目的。AEC還會(huì)將話(huà)筒的輸入與揚(yáng)聲器過(guò)去的值相比較,從而消除延長(zhǎng)延遲的多次反射的聲學(xué)回波。根椐存儲(chǔ)器存放的過(guò)去的揚(yáng)聲器輸出值的大小,通過(guò)AEC可以消除各種延遲的回波。
1 回波抵消算法
聲學(xué)回波抵消算法(簡(jiǎn)稱(chēng)AEC算法)采用一種成熟的商用頻域算法模塊,由美國(guó)的SPIRIT Corp設(shè)計(jì),遵循國(guó)際電信聯(lián)盟(IUT)G.167標(biāo)準(zhǔn),可用來(lái)去除由揚(yáng)聲器到麥克風(fēng)的聲音反饋所引起的回波,用戶(hù)可設(shè)的最大回波路徑延遲達(dá)508 ms,該算法的原理框圖如圖1所示。
圖1中的CNG(Comfort noise generator)為舒適噪聲產(chǎn)生器,DT(Double talk)detector為雙端回話(huà)檢測(cè)器,ERL(Echoreturn loss)為回聲傳播損失,NLP(Non-linear processor)為非線(xiàn)性處理器,NS(Noise suppressor)為噪聲抑制器,Tonedetector為音調(diào)檢測(cè)器,Sub-band adaptive subtractors為子帶自適應(yīng)減法器,Sub-band noise suppressor為子帶噪聲抑制器,Anti-howling control為抗嘯叫控制單元,Convergence monitor為算法收斂檢測(cè)器。Feinput為遠(yuǎn)端參考信號(hào)輸入,F(xiàn)eoutput為經(jīng)過(guò)AEC算法處理后的近端參考信號(hào)輸出,稱(chēng)為接收回路:Neinput為回波信號(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ì)背景噪聲和回波路徑改變,非線(xiàn)性失真都非常強(qiáng),所以不會(huì)再轉(zhuǎn)向半雙工方式,這樣就能保證在任何條件下的全雙工通訊。因?yàn)槠渥訋ЫY(jié)構(gòu),AEC僅處理32個(gè)輸入緩沖區(qū)的樣本,并在內(nèi)部有96個(gè)樣本的延遲。
AEC具有強(qiáng)大雙端會(huì)話(huà)檢測(cè)器,因而允許AEC算法在本地語(yǔ)音存在的條件下收斂,并且在雙端會(huì)話(huà)期間不會(huì)帶來(lái)殘余回波增大。雙端會(huì)話(huà)檢測(cè)器可以在信噪比大于6 dB的噪聲條件下工作,雙端會(huì)話(huà)檢測(cè)器可控制自適應(yīng)濾波器、NLP和CNG,以防止它們不收斂。當(dāng)雙端會(huì)話(huà)開(kāi)始被檢測(cè)到后,發(fā)送回路中的NLP關(guān)閉,并以確定速度逐漸增加其傳輸增益,直到達(dá)到其最大值1(16位時(shí)為32 767)。當(dāng)雙端會(huì)話(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ì)免提電話(huà)特別有用。AEC還具有抗嘯叫控制單元,可用來(lái)避免因?yàn)槁曇粼邴溈孙L(fēng)和揚(yáng)聲器問(wèn)反饋引起的嘯叫(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)的立體聲輸入部分,一路接Neinput近端語(yǔ)音與回波信號(hào)的混合信號(hào),另一路接Feinput遠(yuǎn)端參考信號(hào),即遠(yuǎn)端說(shuō)話(huà)人語(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á)到最佳的抑制效果。
本回波抵消器硬件平臺(tái)采用+5 V單電源供電,可與PC機(jī)提供的+5 V電源連接,并具有外部手動(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ī)制采用查詢(xún)方式?;夭ǖ窒髦鞒绦蛏想娺\(yùn)行時(shí),對(duì)兩個(gè)輸入通道采樣32個(gè)樣本,在AEC算法處理前應(yīng)查詢(xún)—下串口有無(wú)控制參數(shù)發(fā)出。如沒(méi)有,則按默認(rèn)參數(shù)運(yùn)行;如果串口有控制參數(shù),則保存并按新的控制參數(shù)執(zhí)行。VB具有面向?qū)ο蟮脑O(shè)計(jì)方法,并具有簡(jiǎn)單方便的串行通訊和實(shí)用性強(qiáng)等優(yōu)點(diǎn)。利用串行端口控件Mscomm可以實(shí)現(xiàn)簡(jiǎn)單的串行通信,該控件屏蔽了通信過(guò)程中的底層操作,用戶(hù)可以設(shè)置、監(jiān)視Mscomm控件的屬性和事件,并可結(jié)合Timer控件完成對(duì)串行口的初始化和數(shù)據(jù)的輸入輸出工作。
串口控件Mscomm的使用和設(shè)置非常簡(jiǎn)單,通過(guò)以下代碼即可完成該控件相應(yīng)屬性的初始化:
這里將控制參數(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)。
用戶(hù)使用時(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)用十分廣泛。