管海清
【摘要】 為了解決低速CVSD編碼量化噪聲較大、話音質(zhì)量較差的問(wèn)題,提出了一種基于LMS自適應(yīng)濾波的CVSD話音降噪方法。首先分析了CVSD編碼量化噪聲的統(tǒng)計(jì)特性,然后在傳統(tǒng)雙通道LMS自適應(yīng)濾波器的基礎(chǔ)上,利用話音的短時(shí)相關(guān)性和量化噪聲的非相關(guān)性,構(gòu)造了一個(gè)采用話音延時(shí)信號(hào)作為參考輸入的單通道LMS自適應(yīng)濾波器。仿真實(shí)驗(yàn)表明,該方法可以有效濾除量化噪聲,提高話音質(zhì)量,具有一定的工程應(yīng)用參考價(jià)值。
【關(guān)鍵詞】 增量調(diào)制 最小均方誤差 自適應(yīng)濾波 量化噪聲 降噪
一、引言
連續(xù)可變斜率增量調(diào)制CVSD (Continuously Variable Slope Delta Modulation)是一種常用的話音編碼方式,具有實(shí)現(xiàn)簡(jiǎn)單、抗誤碼能力強(qiáng)等優(yōu)點(diǎn)[1],廣泛應(yīng)用于衛(wèi)星通信、移動(dòng)通信和軍事通信等領(lǐng)域。當(dāng)CVSD編碼速率為32kbps及以上時(shí),解碼后的話音具有較好的清晰度和可懂度,可以滿足一般無(wú)線通信的要求。但當(dāng)CVSD編碼速率為16kbps及以下時(shí),解碼后的話音中量化噪聲較大,話音質(zhì)量較差,通話效果不太令人滿意。
為了提高低速CVSD編碼的話音質(zhì)量,需要降低話音中的量化噪聲。文獻(xiàn)[2]提出了一種多徑搜索編碼算法,克服了雙積分器引起的性能不穩(wěn)定的問(wèn)題,減小了編碼失真。但仿真表明,相對(duì)于單積分編碼器,采用雙積分編碼器和多徑搜索并沒(méi)有明顯提高CVSD的話音質(zhì)量,同時(shí)增加了編碼復(fù)雜度。
文獻(xiàn)[3]提出了一種改進(jìn)的譜減法對(duì)CVSD解碼后的信號(hào)進(jìn)行話音增強(qiáng),降低量化噪聲,但在實(shí)際應(yīng)用中往往因?qū)α炕肼暪β使烙?jì)不準(zhǔn)確而產(chǎn)生較大的殘留噪聲。文獻(xiàn)[4]提出了一種時(shí)變量化噪聲的估計(jì)方法和增強(qiáng)方法,但該方法基于離線分析的結(jié)果,不能進(jìn)行實(shí)時(shí)信號(hào)處理。
針對(duì)上述問(wèn)題,本文首先分析了CVSD量化噪聲的產(chǎn)生機(jī)理和統(tǒng)計(jì)特性,提出了一種基于LMS自適應(yīng)濾波的降噪方法,通過(guò)對(duì)輸入解碼話音信號(hào)進(jìn)行自適應(yīng)濾波來(lái)減小量化噪聲,從而達(dá)到提高話音質(zhì)量的目的。
自適應(yīng)濾波器可在量化噪聲統(tǒng)計(jì)特性未知或變化的情況下,自動(dòng)跟蹤量化噪聲的變化,并不斷調(diào)整自身的系數(shù),來(lái)達(dá)到最佳的濾波效果。
二、CVSD量化噪聲產(chǎn)生機(jī)理
CVSD是一種自適應(yīng)增量調(diào)制方式,屬于差分波形編碼技術(shù)[5]。CVSD編碼的原理框圖如圖1所示。輸入的話音信號(hào)s(n)與預(yù)測(cè)器輸出的預(yù)測(cè)信號(hào)p(n)相減得到誤差信號(hào)e(n),e(n)經(jīng)過(guò)量化器進(jìn)行一比特量化后得到編碼輸出信號(hào)c(n)。
與此同時(shí),量階調(diào)整器檢測(cè)c(n)中連1或連0的情況,自適應(yīng)地調(diào)整量階d(n),逆量化器根據(jù)c(n)和d(n)進(jìn)行逆量化,得到差值量化信號(hào)d(n)。預(yù)測(cè)器根據(jù)d(n)重建本地信號(hào),得到下一時(shí)刻的預(yù)測(cè)信號(hào)p(n+1)。CVSD解碼是編碼的逆過(guò)程。CVSD編碼中其實(shí)已經(jīng)包含了解碼過(guò)程,預(yù)測(cè)信號(hào)p(n)可以看作解碼輸出,而誤差信號(hào)e(n)就是量化噪聲。
在CVSD編碼過(guò)程中,會(huì)引入兩類量化噪聲,一類是過(guò)載噪聲(Overload Noise),另一類是顆粒噪聲(Granular Noise)。當(dāng)話音信號(hào)的幅度變化比較劇烈時(shí),量階的變化跟不上信號(hào)幅度的變化,就會(huì)產(chǎn)生過(guò)載噪聲。出現(xiàn)過(guò)載噪聲時(shí),CVSD編碼輸出c(n)中會(huì)出現(xiàn)較多的連1或連0。當(dāng)話音信號(hào)的幅度變化小于量階時(shí),量階將不能反映信號(hào)的變化,由此產(chǎn)生顆粒噪聲。
顆粒噪聲表現(xiàn)為預(yù)測(cè)信號(hào)p(n)圍繞著輸入信號(hào)s(n)的波形上下波動(dòng),同時(shí)CVSD編碼輸出c(n)中出現(xiàn)隨機(jī)交替變化的‘0和‘1。
如果要減小過(guò)載噪聲,需要增大量階。但增大量階,會(huì)導(dǎo)致顆粒噪聲變大。所以,這是一對(duì)無(wú)法調(diào)和的矛盾。另外,由于話音信號(hào)是非平穩(wěn)信號(hào),信號(hào)幅度隨著時(shí)間在不斷變化,在量階調(diào)整過(guò)程中,不可避免的會(huì)產(chǎn)生過(guò)載噪聲。而顆粒噪聲則是一直存在于編碼的全過(guò)程中,尤其是當(dāng)信號(hào)幅度較大時(shí),顆粒噪聲會(huì)變得更明顯。
通過(guò)上面的分析可以看出,CVSD編碼產(chǎn)生的量化噪聲中,過(guò)載噪聲與話音信號(hào)之間存在一定的相關(guān)性,而顆粒噪聲與話音信號(hào)不相關(guān)。因此,量化噪聲可以建模為
式中,c為非零常數(shù),表示過(guò)載噪聲與原始信號(hào)s(n)之間的相關(guān)程度;g(n)為顆粒噪聲。所以,從本質(zhì)上來(lái)看,降低CVSD量化噪聲,主要是降低其中與話音信號(hào)不相關(guān)的顆粒噪聲g(n)。由于顆粒噪聲的功率與量階的大小有關(guān),而量階的大小由話音信號(hào)的平均幅度決定,所以顆粒噪聲的功率受話音信號(hào)幅度的影響。
三、基于LMS自適應(yīng)濾波的CVSD話音降噪原理
由于CVSD話音中量化噪聲的統(tǒng)計(jì)特性不確定,噪聲功率隨著話音幅度變化,所以常規(guī)的話音降噪方法,如譜減法[6]、對(duì)數(shù)譜幅度-最小均方誤差法[7]等,由于對(duì)量化噪聲的功率估計(jì)不準(zhǔn)確,從而導(dǎo)致降噪效果不理想。而自適應(yīng)濾波器可以自動(dòng)跟蹤量化噪聲的變化,通過(guò)不斷調(diào)整自身的系數(shù),從而達(dá)到最佳的濾波效果。自適應(yīng)濾波器的工作原理是依賴某一準(zhǔn)則的約束,以實(shí)現(xiàn)對(duì)參考信號(hào)的最佳估計(jì)。常用算法有最陡下降法、最小均方誤差算法(LMS)、遞推最小二乘算法(RLS)等。在這一系列的算法中,LMS算法以其運(yùn)算簡(jiǎn)單,易于實(shí)現(xiàn)及穩(wěn)定性好等優(yōu)點(diǎn)成為自適應(yīng)濾波技術(shù)的首選算法。
常規(guī)的LMS自適應(yīng)濾波器需要兩個(gè)輸入通道,其中主通道輸入含噪話音,副通道輸入?yún)⒖荚肼?。但在CVSD話音中,只有一路話音信號(hào),沒(méi)有參考噪聲信號(hào)可以利用。但可以利用話音信號(hào)的相關(guān)性和量化噪聲的非相關(guān)性,取話音信號(hào)的延時(shí)量來(lái)作為自適應(yīng)濾波器的參考輸入,構(gòu)造一個(gè)單通道的LMS自適應(yīng)濾波器,從而簡(jiǎn)化設(shè)計(jì)。單通道的LMS自適應(yīng)濾波器的結(jié)構(gòu)形式如圖2所示。
圖中,延時(shí)的作用是使量化噪聲失去相關(guān)性,而保留語(yǔ)音信號(hào)的相關(guān)性。期望輸入d(n)為解碼后CVSD含噪語(yǔ)音,參考輸入x(n)為d(n)延時(shí)后的信號(hào)。由于話音信號(hào)具有較好的短時(shí)自相關(guān)性,所以可以利用之前的數(shù)據(jù)來(lái)預(yù)測(cè)當(dāng)前的數(shù)據(jù),并根據(jù)預(yù)測(cè)誤差e(n)來(lái)自適應(yīng)的調(diào)整預(yù)測(cè)濾波器的系數(shù)。LMS自適應(yīng)濾波器主要是利用話音的相關(guān)性以及量化噪聲的不相關(guān)性,來(lái)加強(qiáng)含噪語(yǔ)音的相關(guān)部分,同時(shí)削弱其不相關(guān)的部分。
四、基于LMS自適應(yīng)濾波的話音降噪實(shí)現(xiàn)
基于LMS自適應(yīng)濾波的CVSD話音降噪的實(shí)現(xiàn)框圖如圖3所示。圖中,x(n)為CVSD譯碼后的含噪話音。x(n)作為L(zhǎng)MS濾波器的期望信號(hào),x(n)延時(shí)一個(gè)采樣周期的信號(hào)x(n-1)作為自適應(yīng)濾波器的參考輸入。
自適應(yīng)濾波器采用N階系數(shù)可調(diào)的FIR濾波器,其系數(shù)向量可以表示為
式中,Px為輸入信號(hào)x(n)的平均功率。
五、 仿真及實(shí)驗(yàn)結(jié)果
本節(jié)對(duì)所提的基于LMS自適應(yīng)濾波的CVSD話音降噪方法進(jìn)行了計(jì)算機(jī)Matlab仿真實(shí)驗(yàn)。實(shí)驗(yàn)中選取了三段采樣率為16ksps的話音樣本進(jìn)行CVSD編解碼和LMS自適應(yīng)濾波,用于驗(yàn)證降噪方法的有效性和適用性。仿真環(huán)境為 Matlab R2011b。
CVSD話音降噪實(shí)驗(yàn)框圖如圖4所示。實(shí)驗(yàn)步驟是先對(duì)輸入話音s(n)進(jìn)行CVSD編碼,然后通過(guò)信道模塊,引入千分之一的隨機(jī)誤碼,接著進(jìn)行CVSD解碼。解碼后的話音信號(hào),先進(jìn)行LMS自適應(yīng)濾波,然后進(jìn)行音頻帶通濾波。先進(jìn)行LMS自適應(yīng)濾波,再進(jìn)行音頻帶通濾波,其目的是保留量化噪聲的隨機(jī)性和非相關(guān)性,從而可以取得較好的降噪效果。音頻濾波器的帶寬設(shè)為0.3kHz~3.4kHz,可以進(jìn)一步濾除話音帶外的殘留噪聲。
CVSD編解碼的具體參數(shù)為:采用3連碼檢測(cè)、量階調(diào)整器的積分時(shí)間常數(shù)為4ms,預(yù)測(cè)器采用單積分器,積分時(shí)間常數(shù)為1ms。
CVSD編解碼仿真結(jié)果如圖5所示。圖中顯示了時(shí)間長(zhǎng)度為4s的原始話音波形、解碼后的話音波形以及量化噪聲的波形。
從圖中可以看出,解碼后的話音波形與原始話音波形之間存在一定的差異,而量化噪聲的包絡(luò)與原始信號(hào)的包絡(luò)比較接近,這也證明了量化噪聲的功率受話音幅度的影響。
LMS自適應(yīng)濾波器的參數(shù)設(shè)置為:FIR濾波器階數(shù)為64,收斂因子m取0.075。通過(guò)主觀試聽(tīng)降噪后的話音,發(fā)現(xiàn)量化噪聲得到了明顯的抑制。為了評(píng)估LMS自適應(yīng)濾波器的降噪效果,本文采用ITU-T推薦的P.862中的PESQ算法作為話音質(zhì)量客觀評(píng)估標(biāo)準(zhǔn)。PESQ是客觀話音質(zhì)量評(píng)估的有效算法,PESQ得分與平均意見(jiàn)得分(MOS分)之間有很高的相關(guān)度。
下面采用PESQ算法分別對(duì)降噪前后的三段話音信號(hào)進(jìn)行打分,結(jié)果如表1所示。
從表中可以看出,MOS分最高有0.27的提高,這說(shuō)明話音質(zhì)量得到了較大的提高。
同時(shí),對(duì)其它降噪算法進(jìn)行了性能的對(duì)比仿真,對(duì)比結(jié)果如表2所示。
從表中可以看出,本文算法的降噪性能優(yōu)于常用的改進(jìn)譜減法和LSA-MMSE法。
六、結(jié)束語(yǔ)
本文提出了一種基于LMS自適應(yīng)濾波的CVSD話音降噪方法,利用話音的短時(shí)相關(guān)性和量化噪聲的非相關(guān)性,構(gòu)造一個(gè)單通道的LMS自適應(yīng)濾波器,通過(guò)自適應(yīng)的調(diào)整系數(shù),來(lái)達(dá)到對(duì)量化噪聲的最佳抑制。計(jì)算機(jī)仿真實(shí)驗(yàn)驗(yàn)證了該方法的有效性。
本文提供了一種實(shí)際可行的CVSD話音降噪解決思路,可直接應(yīng)用于采用了CVSD編解碼的通信系統(tǒng)中。
參 考 文 獻(xiàn)
[1] 董津生,孫耀杰,賈靜蕾,等. CVSD語(yǔ)音編解碼的DSP實(shí)現(xiàn). 河北工業(yè)大學(xué)學(xué)報(bào)[J],2009,38(3):56~58
[2] 張向東,楊俊,唐昆.CVSD多徑搜索編碼算法研究.電子科學(xué)學(xué)刊[J],1994,16(4):337~344
[3] 黃建軍,曹鐵勇,張雄偉. CVSD算法研究及其語(yǔ)音增強(qiáng)[J]. 軍事通信技術(shù),2009,30(2):90-94.
[4] Z.Goh, K.-C.Tan, B.T.G.Tan. Estimating time-varying noise introduced by CVSD for speech enhancement [J]. Vision, Image and Signal Processing, IEE Proceedings,1998,145(1):23-29.
[5] 黃建軍,張雄偉,張亞非,等. 一種CVSD丟包隱藏方法[J]. 解放軍理工大學(xué)學(xué)報(bào)(自然科學(xué)版), 2011,12(4):307-311.
[6] 劉志坤,唐小明,朱洪偉. 基于改進(jìn)譜減法的語(yǔ)音增強(qiáng)研究[J]. 計(jì)算機(jī)仿真, 2009,26(6):363-366.
[7] 陳琪,郭英,張群,等. 基于聽(tīng)覺(jué)感知的LSA-MMSE改進(jìn)型語(yǔ)音增強(qiáng)方法[J]. 信號(hào)處理, 2008,24(6):1037-1040.
[8] 李英,汪航. FIR自適應(yīng)濾波的語(yǔ)音增強(qiáng)算法[J]. 電聲技術(shù),2004(6):42-44.