郭一豪
(浙江省富陽(yáng)中學(xué),浙江杭州,311401)
隨著以語(yǔ)音業(yè)務(wù)為主的現(xiàn)代通信網(wǎng)絡(luò)的大力推廣和普及,語(yǔ)音通信廣泛應(yīng)用于各個(gè)場(chǎng)所,為人們提供便利生活。但是系統(tǒng)受到通信環(huán)境的影響,語(yǔ)音信號(hào)常常被各種噪聲干擾,甚至被其完全淹沒(méi),降低了語(yǔ)音通信質(zhì)量,大大影響用戶的使用體驗(yàn)。因此出于抑制噪聲干擾和提高語(yǔ)音質(zhì)量的目的,通信系統(tǒng)往往加入自適應(yīng)濾波器來(lái)增強(qiáng)語(yǔ)音。在本文中本設(shè)計(jì)采用LMS算法作為語(yǔ)音降噪的基本原理,通過(guò)設(shè)計(jì)自適應(yīng)濾波的仿真方法實(shí)現(xiàn)抑制噪聲和增強(qiáng)語(yǔ)音的目標(biāo)。
自適應(yīng)濾波器的工作原理依據(jù)外部信號(hào)特性動(dòng)態(tài)地改變其濾波器相關(guān)參數(shù),來(lái)實(shí)現(xiàn)動(dòng)態(tài)變化濾波器的中心頻率來(lái)實(shí)現(xiàn)最佳的濾波狀態(tài)。因此自適應(yīng)濾波器的關(guān)鍵就是系通過(guò)自適應(yīng)算法來(lái)實(shí)現(xiàn)最佳濾波效果,它可以根據(jù)的外界輸入信號(hào)變化情況來(lái)實(shí)時(shí)地改變?yōu)V波器的相關(guān)參數(shù)來(lái)達(dá)到最佳濾波。其中本文提到的LMS算法是匹配自適應(yīng)濾波器的自適應(yīng)算法中最為常用的的算法,它是通過(guò)依據(jù)外界輸入信號(hào)不斷調(diào)整濾波器的權(quán)值參數(shù),最終使得濾波器的輸出信號(hào)與期望信號(hào)之間的均方誤差最小?;贚MS的語(yǔ)音增強(qiáng)算法具備了運(yùn)算計(jì)算量少,系統(tǒng)易于實(shí)現(xiàn)等優(yōu)點(diǎn),因此基于LMS的語(yǔ)音增強(qiáng)算法廣泛應(yīng)用到語(yǔ)音通信中。其結(jié)構(gòu)如圖1所示。

圖1 自適應(yīng)濾波器原理圖
在本文中自適應(yīng)濾波一般分為濾波過(guò)程部分及濾波器參數(shù)調(diào)整部分。其中x(n)為輸入信號(hào),y(n)為輸出信號(hào),d(n)為參考信號(hào), e(n)為y(n)與d(n)的誤差信號(hào)。自適應(yīng)濾波器的濾波系數(shù)受誤差信號(hào)e(n)控制。本文采用自適應(yīng)橫向FIR濾波器的結(jié)構(gòu),如圖2所示。
在這里假設(shè)系統(tǒng)的輸入脈沖響應(yīng)為
輸入采樣信號(hào)為:
誤差信號(hào)為:

整個(gè)系統(tǒng)的優(yōu)化主要是對(duì)最小化性能指標(biāo)J(k)進(jìn)行優(yōu)化:

求J(k)的極值,可以對(duì)J(k)求導(dǎo)

把J(k)的表達(dá)式代入,得:

和

由此得出濾波器系數(shù)的最優(yōu)向量:

在這里構(gòu)建輸入信號(hào)自相關(guān)矩陣 Cxx(x)和輸入信號(hào)與參考信號(hào)的相關(guān)矩陣 Cyx(k),如下所示,維數(shù)都為(n,n):

系數(shù)最優(yōu)向量也可以寫(xiě)成如下形式:

那么輸入信號(hào)自相關(guān)矩陣 Cxx(x)和輸入信號(hào)與參考信號(hào)的相關(guān)矩陣 Cyx(k)的遞歸表達(dá)式如下:

把 Cxx(x)遞歸表達(dá)式代入系數(shù)向量表達(dá)式,得:

考慮到

可以記

用前面得到的表達(dá)式求出cxx(k-1),并代入上式:

則濾波器系數(shù)的遞歸關(guān)系式可以記作:

其中

在這里e(k)表示的是先驗(yàn)誤差??紤]到先驗(yàn)誤差e(k)是通過(guò)前一時(shí)刻的采樣系數(shù)推算出來(lái)的,因此必須考慮到在實(shí)際應(yīng)用的h(k)計(jì)算的復(fù)雜程度。用δ,I代換 cxx(k),其中:δ為自適應(yīng)梯度,I為辨識(shí)矩陣(n,n)。
這時(shí)

這就是一組最小均方準(zhǔn)則問(wèn)題。
LMS算法的工作原理是依據(jù)最小均方誤差準(zhǔn)則對(duì)濾波器系數(shù)依據(jù)外界輸入信號(hào)而不斷進(jìn)行修正,從而實(shí)現(xiàn)自動(dòng)達(dá)到最佳的濾波狀態(tài)。由于考慮到LMS算法是從濾波器的初始化值隨著輸入信號(hào)的狀態(tài)動(dòng)態(tài)調(diào)整來(lái)獲得系統(tǒng)最佳的濾波系數(shù),因此必須考慮到系統(tǒng)進(jìn)入最佳狀態(tài)前的調(diào)整時(shí)間。調(diào)整時(shí)間可以通過(guò)LMS算法步長(zhǎng)因子μ進(jìn)行有效控制,μ的最大取值在這里選擇為R的跡。權(quán)系數(shù)更新公式為:

結(jié)合上述LMS算法的原理及公式,本文設(shè)計(jì)的基于LMS自適應(yīng)濾波器步驟如下所示:
(1)設(shè)置LMS濾波器的初始化權(quán)系數(shù) W(0) = 0,將收斂因子設(shè)置為u;
(2)計(jì)算輸入序列經(jīng)過(guò)濾波器后的實(shí)際輸出值:
(3)計(jì)算估計(jì)誤差 e(n ) =xd(n ) ?out(n);
(4)計(jì)算n+1階的濾波器系數(shù)

(5)重復(fù)(2)--(4)過(guò)程。
語(yǔ)音增強(qiáng)的主要目標(biāo)是通過(guò)對(duì)含噪語(yǔ)音信號(hào)進(jìn)行降噪處理,在增強(qiáng)目標(biāo)語(yǔ)音的質(zhì)量的同時(shí)還要消除語(yǔ)音信號(hào)中噪聲干擾。在語(yǔ)音處理應(yīng)用過(guò)程中最常見(jiàn)方法是用LMS自適應(yīng)濾波算法來(lái)對(duì)語(yǔ)音進(jìn)行處理。本章節(jié)利用以上相關(guān)知識(shí)并對(duì)語(yǔ)音增強(qiáng)進(jìn)行仿真,并對(duì)仿真結(jié)果進(jìn)行相關(guān)研究和分析。
在本文中仿真設(shè)計(jì)中,選取的含噪語(yǔ)音信號(hào)是由目標(biāo)語(yǔ)音信號(hào)和高斯噪聲信號(hào)疊加組成的。在本文設(shè)計(jì)的程序按照上述LMS算法進(jìn)行語(yǔ)音增強(qiáng)程序的編程工作,在編程設(shè)計(jì)過(guò)程中有以下幾點(diǎn)需要注意:
(1)濾波器的初始化。因?yàn)長(zhǎng)MS算法濾波器的權(quán)系數(shù)是依據(jù)輸入語(yǔ)音信號(hào)序列來(lái)實(shí)現(xiàn)自動(dòng)更新,因此必須考慮因?yàn)V波器存儲(chǔ)器中的數(shù)值與系統(tǒng)更新數(shù)之間的關(guān)系,避免因輸入序列長(zhǎng)度過(guò)短而造成系統(tǒng)未達(dá)到穩(wěn)定而造成較大誤差。
(2)注意輸入語(yǔ)音信號(hào)的長(zhǎng)度。考慮到自適應(yīng)濾波器達(dá)到穩(wěn)定狀態(tài)前是需要一定的時(shí)間,因此必須考慮到輸入序列的長(zhǎng)度要大于濾波器的激勵(lì)時(shí)間,否則該濾波器無(wú)法達(dá)到目標(biāo)要求。
(3)要求系統(tǒng)輸出在lms算法中是在循環(huán)程序內(nèi)實(shí)現(xiàn)的。
由LMS語(yǔ)音算法可知,收斂因子直接影響到濾波器階數(shù),收斂因子對(duì)于整個(gè)程序結(jié)果運(yùn)行起到非常重要的作用。在本文設(shè)計(jì)的LMS語(yǔ)音算法程序中,設(shè)計(jì)的濾波器階數(shù)在這里設(shè)置為20,并且將收斂因子設(shè)置為0.05。
在這里,本文將程序運(yùn)行的結(jié)果展示如圖3-圖5所示。
將混入噪聲的樣本語(yǔ)音信號(hào)添加到本文程序中作為測(cè)試樣本。在程序開(kāi)始運(yùn)行的時(shí)候,播放出的語(yǔ)音中能夠明顯聽(tīng)到混雜在語(yǔ)音信號(hào)的噪聲雜音。但是隨著播放的進(jìn)行,語(yǔ)音中的噪聲越來(lái)越小。當(dāng)進(jìn)行一段段時(shí)間后,此時(shí)播放的語(yǔ)音中的噪聲幾乎消失,可以清晰地聽(tīng)到聲音,直至語(yǔ)音播放結(jié)束。本次語(yǔ)音增強(qiáng)實(shí)驗(yàn)實(shí)現(xiàn)了本文的設(shè)計(jì)目標(biāo)。

圖3 信號(hào)波形圖

圖4 頻譜分析圖

圖5 期望信號(hào)與頻譜
圖3展示了含噪語(yǔ)音信號(hào)、噪聲信號(hào)及濾波后輸出信號(hào)的頻譜圖,分別展示了在不同時(shí)間階段下三種信號(hào)的頻譜變化情況。可以看出經(jīng)過(guò)濾波后輸出信號(hào)相較于原始的含噪信號(hào),濾波后輸出信號(hào)的噪聲信號(hào)幾乎被消除掉。在這里可以認(rèn)為本文設(shè)計(jì)的程序基本實(shí)現(xiàn)了論文的設(shè)計(jì)要求。
從圖4可以得知,輸出信號(hào)與輸入信號(hào)在頻譜域上的范圍幾乎相同,只是輸出信號(hào)要比輸入信號(hào)的平均功率要低一些。在對(duì)濾波后輸出信號(hào)中的噪聲信號(hào)進(jìn)行觀察分析,可以得知輸出信號(hào)中的噪聲信號(hào)功率幾乎為零,即噪聲已經(jīng)幾乎被完全消除。因此可以得知基于LMS算法濾波的語(yǔ)音降噪已經(jīng)達(dá)成了本文的設(shè)計(jì)目標(biāo)。
在整個(gè)調(diào)試過(guò)程中。本文可以通過(guò)以下方法可以有效改善LMS濾波器的濾波性能。
(1)在保證收斂速度的前提下,可以通過(guò)恰當(dāng)降低收斂因子的大小,其目的就是提高濾波器的階數(shù)可以改善濾波器輸出波的平滑型。
(2)考慮到過(guò)小的收斂因子會(huì)在濾波器達(dá)到平衡之前會(huì)經(jīng)歷很長(zhǎng)的時(shí)間,這會(huì)造成收斂速度和濾波效果之間的矛盾。因此在選擇收斂因子的大小是必須要考慮到達(dá)到穩(wěn)態(tài)的時(shí)間。
在本文課題的設(shè)計(jì)過(guò)程中,本文工作先從LMS語(yǔ)音降噪的工作原理及算法研究等內(nèi)容入手,利用Matla仿真工具對(duì)LMS語(yǔ)音降噪算法進(jìn)行仿真設(shè)計(jì),同時(shí)并對(duì)仿真結(jié)果進(jìn)行頻譜及功率的相關(guān)分析。同時(shí)結(jié)合輸入含噪信號(hào)、噪聲信號(hào)及濾波后輸出信號(hào)等信號(hào)的頻譜及功率等方面分析語(yǔ)音增強(qiáng)算法原理,這將有助于了解含噪信號(hào)進(jìn)行語(yǔ)音增強(qiáng)過(guò)程中在LSM自適應(yīng)濾波過(guò)程的頻譜變化情況。
在對(duì)本文仿真結(jié)果分析,可以得知輸出信號(hào)中仍存在這少量的噪聲。這是因?yàn)楸疚姆抡娌捎玫恼Z(yǔ)音文件不具備代表性,而設(shè)計(jì)的程序設(shè)置的收斂因子過(guò)小,導(dǎo)致了程序迭代次數(shù)較多而沒(méi)有達(dá)到最佳的迭代結(jié)果??傮w來(lái)說(shuō)本文的仿真結(jié)果基本符合設(shè)計(jì)目標(biāo),基本實(shí)現(xiàn)了LMS語(yǔ)音降噪算法對(duì)語(yǔ)音增強(qiáng)的目標(biāo)。