基于DSP的音頻會(huì)議信號(hào)合成算法研究
隨著在數(shù)字信號(hào)處理(DSP)算法和芯片處理能力以及通信網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化等方面的不斷發(fā)展,現(xiàn)代化通信已經(jīng)迅速普及。音頻會(huì)議是眾多通信系統(tǒng)的必備功能。有多個(gè)用戶參與的音頻會(huì)議,最簡(jiǎn)單的模式可以使用令牌控制下的互斥模式,使只有擁有發(fā)言權(quán)的那個(gè)與會(huì)者才可以講話。在這種模式下,每個(gè)與會(huì)者某一時(shí)刻只能聽到一路音頻信號(hào),這種“半雙工”模式對(duì)于音頻會(huì)議是不方便和不實(shí)際的。
本文引用地址:http://2s4d.com/article/83866.htm真正的電話會(huì)議應(yīng)當(dāng)仿真多個(gè)與會(huì)者在一個(gè)會(huì)議室進(jìn)行對(duì)話的情形。但是由于與會(huì)終端在物理上并不在一起,而每個(gè)終端只有一套音頻輸出設(shè)備(功放+音箱),要同時(shí)傳送給每個(gè)終端的音頻流也只能使用一路信道。為使每個(gè)終端同時(shí)接收多個(gè)與會(huì)者的聲音,必須采取多路音頻合成方案。電話會(huì)議的特點(diǎn)是會(huì)場(chǎng)使用麥克風(fēng)和揚(yáng)聲器,這種方式很容易造成回波干擾和嘯叫。一般會(huì)議信號(hào)處理算法主要關(guān)注的也是這個(gè)方面,通常采用回波抵消的方法。但是這種方式對(duì)于會(huì)議信號(hào)的處理并不是最完善和有效的[1]。經(jīng)過研究,采用有無聲檢測(cè)、歸一化定標(biāo)、自適應(yīng)回波抵消算法合成技術(shù)則能夠很真實(shí)地實(shí)現(xiàn)會(huì)議仿真效果。
1 會(huì)議信號(hào)合成實(shí)現(xiàn)方案
1.1 會(huì)議信號(hào)合成的合理性和必要性
音頻流不象典型的視頻流一樣在空間/時(shí)間域占有惟一的位置,在同一時(shí)間和位置的信號(hào)元素疊加是沒有任何意義的。但人耳可以感知在同一空間/時(shí)間播放多個(gè)音頻流。這就是會(huì)議信號(hào)合成的合理性和必要性。通過會(huì)議信號(hào)的合成,將多路音頻流的輸入經(jīng)過處理后,提供一個(gè)單輸出信道輸出合成音頻。
1.2 會(huì)議信號(hào)合成的關(guān)鍵因素
當(dāng)多個(gè)音頻源在一個(gè)空間播放時(shí),人耳聽到的聲波是各個(gè)聲源聲波的線性疊加,這正是模擬音頻信號(hào)合成的基礎(chǔ)。該事實(shí)表明數(shù)字化后的語音進(jìn)行合成也應(yīng)當(dāng)使用線性疊加的方式。假設(shè)有n路輸入音頻流進(jìn)行混音,Xi(t)是t時(shí)刻的第i路輸入語音的線性樣本,則t時(shí)刻的混音值為:
語音信號(hào)是連續(xù)的、時(shí)間要求嚴(yán)格的一種流媒體信號(hào),它在時(shí)域上具有短時(shí)平穩(wěn)的特征。對(duì)語音信號(hào)進(jìn)行處理的一個(gè)基本概念就是對(duì)語音信號(hào)進(jìn)行采樣,得到的語音樣本以緩沖區(qū)為單位進(jìn)行處理,即對(duì)語音樣本分幀。語音處理的很多概念都是基于語音幀的,比如有聲/無聲、能量、自相關(guān)等。語音幀的長(zhǎng)度一般采用10~20ms。 數(shù)字音頻的重要參數(shù)是采樣率,各路輸入音頻流合成的前提應(yīng)當(dāng)是使用相同的采樣率。
隨著需要合成的語音信道數(shù)量的增加,在不采取任何附加預(yù)防措施的情況下,一些并非會(huì)議有效信號(hào)(如聲反饋和噪音)就會(huì)累積起來導(dǎo)致質(zhì)量劣化,讓人無法接受。特別是由本地?cái)U(kuò)聲系統(tǒng)產(chǎn)生的電聲反饋引起的回音造成了再生混響,其結(jié)果嚴(yán)重地影響了語音的清晰度。更為致命的是當(dāng)聲反饋非常嚴(yán)重時(shí)會(huì)產(chǎn)生自激,使整個(gè)通信系統(tǒng)無法正常工作。所以必須對(duì)每個(gè)終端的輸入音頻進(jìn)行有無聲檢測(cè)和聲反饋抑制處理。
語音合成時(shí)應(yīng)注意求和樣本的動(dòng)態(tài)范圍,這引出了歸一化定標(biāo)問題。數(shù)字音頻波形理論定義,定標(biāo)就是檢查某個(gè)選定的幀,找到振幅峰值,并由此調(diào)整被選幀整體的音量,以便使允許的振幅值最大,且不會(huì)溢出。語音合成是對(duì)數(shù)字波形進(jìn)行的一種編輯,尤其需要解決歸一化定標(biāo)問題。
2 會(huì)議信號(hào)合成關(guān)鍵技術(shù)研究
2.1 自適應(yīng)回波抵消算法
數(shù)字回波抵消器的理論基礎(chǔ)是自適應(yīng)濾波器技術(shù)。隨著DSP的快速發(fā)展,數(shù)字回波抵消器已能很好地在DSP上加以應(yīng)用。在電話會(huì)議中產(chǎn)生回波的最主要原因是遠(yuǎn)端會(huì)議信號(hào)經(jīng)本地?fù)P聲系統(tǒng)在室內(nèi)產(chǎn)生的聲場(chǎng)回饋至傳聲器引起回音造成的再生混響。
回波抵消器必須精確地估計(jì)回波路徑特性并快速適應(yīng)其變化,根據(jù)電話會(huì)議的特點(diǎn),使用干涉抵消模型是最佳的方式。該模型是一個(gè)具有二個(gè)輸入端的自適應(yīng)濾波器,如圖1所示。它將本地的傳聲器輸出作為原始信號(hào),而將本地?fù)P聲器的輸入作為參考信號(hào)。經(jīng)過自適應(yīng)回波抵消處理后,能有效地抑制本地傳聲器的輸出經(jīng)室內(nèi)聲場(chǎng)饋至傳聲器的電聲反饋(回音),從而實(shí)現(xiàn)自適應(yīng)聲反饋(回音)的抵消。
回波抵消的核心就是自適應(yīng)濾波器算法。常見的算法包括SDA算法和LMS算法。由于SDA算法中梯度的計(jì)算涉及到矩陣,并不適合實(shí)際應(yīng)用。通過其派生的LMS算法簡(jiǎn)單實(shí)用,計(jì)算效率高。TI公司的DSP芯片TMS320C54X有專門的LMS指令用于加速自適應(yīng)濾波算法。在實(shí)際應(yīng)用中,還可以在LMS算法的基礎(chǔ)上得到修改濾波器系數(shù)的算法:
詳細(xì)的自適應(yīng)回波抵消算法計(jì)算步驟如下:
(1) 采樣值;
(2) 根據(jù)前一次的計(jì)算值和濾波器系數(shù)修改算法,進(jìn)行系數(shù)調(diào)整;
(3) 計(jì)算遠(yuǎn)端估計(jì)能量;
(4) 進(jìn)行FIR濾波計(jì)算, 求得濾波器的輸出y(n)和誤差信號(hào)e(n);
(5) 數(shù)據(jù)輸出;
(6) 跳轉(zhuǎn)到第一步。
評(píng)論