語(yǔ)音信號識別基于盲源信號分離的實(shí)現
摘要:為了識別兩路頻譜混疊語(yǔ)音信號,多采用盲信號分離的方法。但是該方法在工程實(shí)踐中實(shí)現較困難。因此給出了一種利用盲源信號分離的原理及特點(diǎn)的實(shí)現方法,具體說(shuō)明了用FastICA算法在A(yíng)DSP_BF533平臺上實(shí)現盲源信號分離時(shí)的具體流程。該設計方案所需時(shí)間短,效率高,而且占用內存較少。
關(guān)鍵詞:盲信號分離;DSP;FastICA;ADSP_BF533平臺
0 引言
近年來(lái),許多學(xué)者都針對盲信號分離不斷地提出新的理論算法,盲信號分離(BSS)發(fā)展也日趨完善。而用DSP器件實(shí)現這種技術(shù)具有很大意義。本文提出了盲源信號分離的實(shí)現原理、算法和實(shí)現步驟,并對利用DSP實(shí)現時(shí)經(jīng)常出現的問(wèn)題提出了解決方案。
盲信號分離是指在傳輸信道特性和輸入信息未知或者僅有少量先驗知識的情況下,只由觀(guān)測到的輸出信號來(lái)辨識系統,以達到對多個(gè)信號分離的目的,從而恢復原始信號或信號源。它是一種在神經(jīng)網(wǎng)絡(luò )和統計學(xué)基礎上發(fā)展起來(lái)的技術(shù),并在近十年來(lái)獲得了飛速發(fā)展。盲源信號分離對很多領(lǐng)域的多信號處理與識別提供了很大方便。該技術(shù)在通信、生物醫學(xué)信號處理、語(yǔ)音信號處理、陣列信號處理以及通用信號分析等方面有著(zhù)廣泛的應用前景。它不僅對信號處理的研究,而且也對神經(jīng)網(wǎng)絡(luò )理論的發(fā)展起著(zhù)積極的推動(dòng)作用。
1 盲源信號分離的數學(xué)模型及常見(jiàn)算法
1.1 數學(xué)模型
盲分離問(wèn)題的研究?jì)热荽篌w上可以劃分為瞬時(shí)線(xiàn)性混疊盲分離、卷積混疊盲分離,非線(xiàn)性混疊盲分離以及盲分離的應用四部分。當混疊模型為非線(xiàn)性時(shí),一般很難從混疊數據中恢復源信號,除非對信號和混疊模型有進(jìn)一步的先驗知識。圖1所示是瞬時(shí)線(xiàn)性混疊盲分離信號模型示意圖。
圖1中,S=[s1(t),s2(t),…,sN(t)]T是未知的N維源信號向量,A是未知的混合矩陣,n=[n1(t),n2(t),…,nN(t)]T是M維噪聲向量,X=[x1(t),x2(t),…,xM(t)]T是傳感器輸出的M維觀(guān)測信號向量,有X=AS+n,盲源分離算法要求只知道X來(lái)確定S或A。獨立分量分析(Independent ComponentAnalysis,ICA)是BSS的一種,其基本含義是把信號分解成若干個(gè)互相獨立的成分。圖1中,ICA的目標就是尋找一個(gè)分離矩陣W,使X經(jīng)過(guò)變換后得到的新矢量Y=[y1(t),y2(t),…,yN(t)]T的各分量盡可能的獨立。Y=WX為待求的分離信號向量,也就是源信號S的估計值。
1.2 盲信號預處理常見(jiàn)算法
在盲信號處理過(guò)程中,為了減少計算量,提高系統效率,通常需要經(jīng)過(guò)預處理。預處理一般包括中心化和白化。中心化是使信號的均值為零。由于在一般情況下所獲得的數據都具有相關(guān)性,所以通常都要求對數據進(jìn)行初步的白化處理,因為白化處理可去除各觀(guān)測信號之間的相關(guān)性,從而簡(jiǎn)化后續獨立分量的提取過(guò)程。而且,通常情況下,對數據進(jìn)行白化處理與不對數據進(jìn)行白化處理相比,其算法的收斂性較好、工作量少、效率高。
線(xiàn)性混疊盲分離信號模型一般都采用獨立分量分析的方法。ICA的主要依據和前提是假設源信號是獨立的,因此,自然就可以設想ICA算法的第一步是建立目標函數來(lái)表征分離結果的獨立程度。目標函數確定后,可通過(guò)各種不同的優(yōu)化算法進(jìn)行優(yōu)化,進(jìn)而確定分離矩陣W,其中有代表性的算法主要有最大信息量(Infomax)法、自然梯度法、快速獨立元分析算法(FastICA)、矩陣特征值分解法等。盲分離中經(jīng)常要用到優(yōu)化運算,就優(yōu)化手段而言,Infomax算法、自然梯度算法屬于梯度下降(上升)尋優(yōu)算法,收斂速度是線(xiàn)性的,速度略慢一些,但屬于自適應方法,且具有實(shí)時(shí)在線(xiàn)處理能力;FastICA算法是一種快速而數值穩定的方法,采用擬牛頓算法實(shí)現尋優(yōu),具有超線(xiàn)性收斂速度,通常收斂速度較梯度下降尋優(yōu)算法快得多;矩陣特征值分解方法一般通過(guò)對矩陣進(jìn)行特征分解或者廣義特征分解來(lái)估計分離矩陣,這是一種解析方法,可直接找到閉形式解(Closed Form Soutions),由于其沒(méi)有迭代尋優(yōu)過(guò)程,因此運行速度最快。
2 盲源信號分離的DSP實(shí)現方法
2.1 實(shí)現原理
由于FastICA算法和其他的ICA算法相比,具有許多人們期望的特性:如收斂速度快、無(wú)需選步長(cháng)參數、能夠通過(guò)選擇適當的非線(xiàn)性函數g來(lái)最佳化、能減小計算量等。同時(shí)也有許多神經(jīng)算法的優(yōu)點(diǎn),如并行、分布式且計算簡(jiǎn)單,內存要求很少等。因此,FastICA得到了廣泛的應用。本文就采樣了這種算法。
2.2 實(shí)現方法
基于負熵最大的FastICA算法的基本原理是基于中心極限定理。即:若一隨機變量X由許多相互獨立的隨機變量Si(i=1,2,…,N)之和組成,那么,只要Si具有有限的均值和方差,則不論其為何種分布,隨機變量X較Si更接近高斯分布。由信息論理論可知;在所有等方差的隨機變量中,高斯變量的熵最大,因而可以利用熵來(lái)度量非高斯性,常用熵的修正形式,即負熵。因此,在分離過(guò)程中,可通過(guò)對分離結果的非高斯性度量來(lái)表示分離結果間的相互獨立性,當非高斯性度量達到最大時(shí),表明已完成對各獨立分量的分離。
評論