![語音信號的盲分離[知識分析]_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-11/10/f46331d5-d3d7-4474-bc84-694cccaf9875/f46331d5-d3d7-4474-bc84-694cccaf98751.gif)
![語音信號的盲分離[知識分析]_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-11/10/f46331d5-d3d7-4474-bc84-694cccaf9875/f46331d5-d3d7-4474-bc84-694cccaf98752.gif)
![語音信號的盲分離[知識分析]_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-11/10/f46331d5-d3d7-4474-bc84-694cccaf9875/f46331d5-d3d7-4474-bc84-694cccaf98753.gif)
![語音信號的盲分離[知識分析]_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-11/10/f46331d5-d3d7-4474-bc84-694cccaf9875/f46331d5-d3d7-4474-bc84-694cccaf98754.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程設計任務書學生姓名: 專業班級: 通信1103 指導教師: 許建霞 工作單位: 信息學院 題 目: 語音信號的盲分離 初始條件:Matlab軟件、PC機要求完成的主要任務: (包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求)設計任務根據盲信號分離原理,用matlab采集兩路以上的語音信號,選擇合適的混合矩陣生成若干混合信號。選取合適的盲信號分離算法(如獨立成分分析ICA等)進行訓練學習,求出分離矩陣和分離后的語音信號。設計要求(1) 用matlab做出采樣之后語音信號的時域和頻域波形圖(2) 選擇合適的混合矩陣,得到混合信號,并做出其時域波形和頻譜圖(3) 采用混合聲音信號進行訓
2、練學習,求出分離矩陣,編寫出相應的確matlab代碼。(4) 用求出的分離矩陣從混合信號中分離出原語音信號,并畫出各分離信號的時域波形和頻譜圖。(5) 對結果進行對比分析。時間安排: 序號設 計 內 容所 用 時 間1根據課題的技術指標,確定整體方案,并進行參數設計計算2天2根據實驗條件進行全部或部分程序的編寫與調試,并完成基本功能7天3總結編寫課程設計報告1天合 計2周指導教師簽名: 2014年 6 月 10 日系主任(或責任教師)簽名: 2014 年 6 月 10 日谷風書苑#摘 要 盲信號處理(Blind Signal Processing,BSP)是指從觀測到的混合信號中,在沒有任何先
3、驗條件的情況下,恢復出未知的源信號過程。盲信號分離已成為信號處理學界和通信工程學界共同感興趣的一個極富挑戰性的研究熱點問題,并獲得了迅速的發展。 盲分離根據信號源的不同可以分為確定信號盲分離、語音信號盲分離和圖像盲分離等,本設計主要討論語音信號的盲分離。語音信號的盲分離主要是利用盲源分離(Blind Signal Separation,BSS)技術對麥克風檢測到的一段語音信號進行處理,本文重點研究了以語音信號為背景的盲處理方法,在語音和聽覺信號處理領域中,如何從混有噪聲的的混疊語音信號中分離出各個語音源信號,來模仿人類的語音分離能力,成為一個重要的研究問題。根據盲信號分離原理,本設計用matl
4、ab采集3路語音信號,選擇合適的混合矩陣生成若干混合信號。具體實現主要結合獨立分量分析ICA技術,選取混合矩陣對3個語音信號進行混合,并從混合信號中分離出原語音信號,最后畫出各分離信號的時域波形和頻譜圖和原來的信號進行比較。此外還運用PCA算法進行了混合語音信號的分離實現,最終對兩種算法進行比較。關鍵字:盲信號處理;語音信號;盲源分離BSS;獨立分量分析ICA技術 Abstract Blind Signal Processing (Blind Signal Processing, BSP) from the observed mixed-signal, to recover the unkno
5、wn source signal process without any prior conditions. Blind signal separation has become a signal processing academia and communication engineering communities of common interest a challenging research focus and rapid development. Blind source separation based on the signal source can be divided to
6、 determine the blind signal separation, blind separation of speech signals and Blind Image Separation, the design focuses on the blind separation of speech signal. Blind separation of speech signal using blind source separation (Blind the Signal Separation, BSS) detected by the microphone a voice si
7、gnal processing, the paper focuses on the blind approach to speech signal as the background in voice and acoustic signal processing in the field, how isolated from a mixture of noise aliasing voice signal voice source signal to mimic the human voice separation ability, become an important research q
8、uestion. Blind signal separation principle, the design collection of three-way voice signal using matlab, select the appropriate mixing matrix to generate a number of mixed-signal. Concrete realization of the combination of independent component analysis ICA technology, select the mixing matrix of t
9、hree speech signals mixed and separated from the mixed signal to the original speech signal, and finally draw the separation of signals in time domain waveform and frequency spectrum and the original signal . In addition, use of the PCA algorithm for the separation of mixed speech signals to achieve
10、 the final two algorithms.Keywords: blind signal processing;speech signal ; blind source separation BSS independent ; component analysis ICA technology 目錄 摘要Abstract摘 要2Abstract31盲信號處理BSP21.1盲信號處理簡介21.1.1盲信號處理方法31.1.2盲分離的數學模型41.2盲源分離的發展51.3盲源分離的應用61.3.1 語音處理領域61.3.2 圖像處理領域71.3.3 生物醫信號處理學領域72 Matlab語
11、音信號的采集92.1語音信號的采集方法92.2三路語音信號的采集102.3三路原始語音信號的分析102.3.1語音信號時域波形102.3.2語音信號FFT頻譜113盲信號分離的兩種算法介紹133.1 獨立分量分析ICA133.1.1 Fast-ICA算法簡介143.1.2 基于負熵最大的快速ICA143.2 主分量分析PCA173.2.1 主成分分析原理173.2.2 PCA算法原理183.3 主分量分析PCA和ICA194語音信號的盲分離實現204.1 語音信號的混合204.2 語音信號的分離實現214.2.1 FAST-ICA算法分離214.2.2 主分量分析算法分離224.2.3 分離語
12、音頻譜分析234.2.4 FAST-ICA和PCA分離比較255總結26參考文獻27附錄1 原始語音的時頻matlab程序28附錄2 預處理部分matlab程序29附錄3 算法的matlab程序30附錄4 錄音的matlab程序331盲信號處理BSP 盲信號處理作為計算機智能學的核心研究的內容,是20世紀最后的10年迅速發展起來的一個新的研究領域,沒事人工神經網絡、統計信號處理、信息理論結合的產物,已經成為一些領域研究與發展的重要課題,特別是在生物醫學、醫療圖像、圖像增強、遠程傳感、雷達與通信系統、地震勘測等方面均具有突出的作用。1.1盲信號處理簡介 在現實生活中及自然界中存在大量的信息,人們
13、通過傳感器檢測獲取含有信息的數據或信號,并處理這些數據來獲取相應的信息,這信息進一步加紅來獲得知識和改造自然的能力。然而,傳感器檢測往往是多個成分(包括噪聲、無用的信號)混合在一起的信號,而且是未知的,又由于信號傳輸信道的特性復雜未知,給信號處理帶來了很大的困難。 雖然各種信號處理的方法,如濾波器、時頻分析、小波理論神經網絡信號處理等,二盲信號處理 (Blind Signal Processing, BSP)與傳統的信號處理方完全不同,它是對源信號和傳輸通道幾乎沒有可利用的信息的情況下,僅從觀測的混合信號中提取或恢復出源信號的一種處理方法。盲處理的工作原理框圖如圖1-1所示:混合矩陣H分離系統
14、W源向量噪聲向量觀測向量輸出向量圖1-1 盲處理的工作原理框圖 其中,是未知源的信號向量,是混合信號向量(或觀測信號、傳感器檢測信號),是噪聲信號向量,混合信號向量經過分離系統可以得到分離的信號,可與原信號比較。在圖1-1中,源信號的個數、有用源信號的分量和無用信號的分量、源信號的特性、源信號的傳輸混合通道特性、噪聲特性都是未知的,觀測信號是傳感器檢測信號,被認為是已知量,中含有未知源信號和未知混合系統的特性。處理具有盲信號特性的信號,以估計出盲信號或辨識相互混合系統特性就是盲信號要處理的任務。有上述的簡述可知,盲信號處理的實質及主要的任務就是對于未知的混合系統在其輸入信號完全未知或者僅有少量
15、的先驗知識情況下,僅有系統的輸出信號(即混合信號)來重構輸入信號。順便指出,盲處理前的信號預處理常常很重要,這些預處理包括去均值、幅值歸一化或單位化、限制帶寬、信號分解、白化解相關及主分量提取等。另外,盲分離的算法的計算量通常很大,常常限制了實時實現,提高算法效率和高速的硬件是有效的技術途徑。1.1.1盲信號處理方法盲號理中,就源信號經過傳輸通道的混合方式而言,其處理的方法可以分為線性瞬時混合信號的盲處理、線性卷積混合信號的盲處理和非線性混合信號盲處理三類;根據通道的傳輸特性中是否含有噪聲、噪聲特性、噪聲混合形式、可以分為有噪聲、無噪聲,盲處理,含加性噪聲和乘性噪聲和乘性噪聲混合信號盲處理等。
16、目前,盲信號的分離算法大部分集中在針對加性白噪聲或有色高斯噪聲等,含噪聲的盲處理算法通常稱為文件算法。盲處理的目的可以分為盲辨識和盲源分離兩大類。盲辨識的目的就是求得傳輸混合矩陣。盲源分離的目的是求得源信號的最佳估計。當盲源分離各分量相互獨立時,就成為獨立分量分析,即獨立分量分析是盲源分離的一種特殊情況。當盲源分離是逐個分離并緊縮實現時稱為盲抽取。盲處理的方法大部分是依據一定的理論構造目標函數的無監督學習方法。盲處理采用的目標函數主要是負熵、高斯累積量、互信息量、最大似然估計等。確定了目標之后就要用一定的算法尋優處理,實現算法的主要是各種自適應的優化算法。 下面簡介盲辨識(BI)、盲源分離、獨
17、立分量分析(ICA)的概念。 盲辨識:盲辨識是針對輸入信號傳輸通道混合特性辨識問題提出的。盲辨識是針對輸入信號傳輸通道混合特性辨識問題提出的。在傳統的系統辨識方法中,需同時已知系統的輸入信號和輸出信號,再利用經典的辨識算法就可以精確的估算出系統的特性參數,從而完成系統的辨識任務。而對于盲辨識而言,系統的輸入信號是未知的,僅僅已知系統的輸出,要由輸出信號確定傳輸通道的模型結構及特性參數,從而完成系統的辨識任務。盲源分離:盲源分離是針對從檢測的混合信號中估計后恢復源信號的問題提出的。盲源分離(BSS)是指源信號、傳輸通道特性未知的情況系,僅有觀測信號和源信號的一些先驗知識估計出先好的各個分量的過程
18、。一個典型的例子就是“雞尾酒會”問題,僅根據多個麥克風檢測信號的分離恢復出某語音信號的源信號。1.1.2盲分離的數學模型盲分離的早期研究始于二十世紀八十年代中后期,短短的十幾年里,有關盲分離理論和算法研究得到了較快的發展,包括盲分離問題本身的可解性以及求解原理等方面的基本理論問題已經在一定的程度上部分得到了解決,并提出了一些在分離能力、內存需求、計算量等方面性能各異的盲分離算法。一般認為,對盲分離問題的最早研究是由法國HeraultJutten于1985年左右開始的,1991年發表論文1,現在通常稱他們的方法為H-J算法,H-J算法中提出了一種針對兩個源信號和兩個混疊信號的遞歸連接人工神經網絡
19、,利用梯度下降算法調整網絡權值對網絡輸出信號的殘差最小化實現盲分離。 Herault和Jutten之后,不少學者對H-J算法的收斂性進行了系統的研究,在只存在兩個源信號和兩個混疊信號的最簡單情況下,收斂性問題得到了完滿的解決。此后盲分離問引起了神經網絡領域和信號處理領域的廣泛研究興趣,盛況空前。瞬時線性混疊盲分離相對而然最為簡單目前為止,研究成果也最為豐富。瞬時線性混疊數學模型如下: (1-1) (1-2)其中(1)式為混疊模型,(2)式為分離模型;為源信號,AW為未知的的混疊矩陣,源信號也是未知的,W為分離矩陣。瞬時線性混疊盲分離的目的就是通過調節分離矩陣W(或混疊矩陣A),使得分離信號與對
20、應的源信號的波形保持一致,即: (1-3)其中P為置換矩陣,D為對角矩陣。是對源信號的估計,瞬時線性混疊盲分離問題允許存在兩個方面的不確定性:(1)排列順序的不確定性,無法了解所抽取的信號應是源信號為哪一個分量。 (2)信號幅度的不確定性,即無法知道源信號的真實幅值。由于信號的信息很大一部分隱含在波形中,所以很多時候這兩種不確定性并不影響盲分離技術的應用。瞬時線性盲分離實現的數學模型如圖1-2所示,其中LA表示學習算法(LearningAlgorithm)。 混合矩陣A分離矩陣WLA 圖1-2 瞬時線性盲分離實現的數學模型圖 對于這樣一個模型,如果沒有關于A和源信號的任何先驗信息,僅從觀測的信
21、號恢復出時,一般對模型做如下的假設:(1) 信號源的各個分量之間相互統計獨立;(2) 至少有一個獨立源滿足高斯分布;(3) 沒有噪聲或者噪聲能量很小。上述的假設是實現盲信號分離即盲分離的獨立分量分析方法的先決條件。盲分離的核心問題是求解分離矩陣,其基本思想是抽取統計獨立的特征作為輸入的表示,而又不丟失任何信息。 一般情況下借助獨立分量分析求解信號盲分離,兩者等價。1.2盲源分離的發展 1986年4月,法國學者Jeanny Herault和Christian Jutten提出了遞歸神經網絡模型和基于Hebb學習律的學習算法,以實現2個獨立源信號混合的分離。這一開創性的論文在信號處理領域中揭開了新
22、的一章,即盲源分離問題的研究。 在盲信號分離問題研究中,學者們提出了很多的算法,每種算法都在一定程度上取得了成功。從算法的角度而言,BSS算法可分為批處理算法和自適應算法;從代數函數和準則而言,又分為基于神經網絡的方法、基于高階統計量的方法、基于互信息量的方法、基于非線性函數的方法等。 盡管國內對盲信號分離問題的研究相對較晚,但在理論和應用方面也取得很大的進展。清華大學的張賢達教授在其1996年出版的時間序列分析高階統計量方法一書中,介紹了有關盲分離的理論基礎,其后關于盲分離的研究才逐漸多起來。近年來國內各類基金支持了盲信號處理理論和應用的項目,也成立了一些研究小組。 雖然盲源分離理論方法在近
23、幾年已經取得了長足的發展,但是還有許多問題有待進一步研究和解決。首先是理論體系有待完善。實際采用的處理算法或多或少都帶有一些經驗知識,對于算法的穩定性和收斂性的證明不夠充分。盲源分離尚有大量的理論和實際問題有待解決,例如多維ICA問題、帶噪聲信號的有效分離方法、如何更有效地利用各種先驗知識成功分離或提取出源信號、一般性的非線性混合信號的盲分離、如何與神經網絡有效地結合、源信號的數目大于觀察信號的數目時ICA方法等。另外,盲源分離可同其他學科有機結合,如模糊系統理論在盲分離技術中的應用可能是一個有前途的研究方向;盲源分離技術與遺傳算法相結合,可以減少計算復雜度,提高收斂速度。如何有效提高算法對源
24、信號統計特性的學習和利用也需要進行深入研究。1.3盲源分離的應用近年來,盲信號處理逐漸成為當今信息處理領域中熱門的課題之一,并且已經在尤其在、地震探測、移動通信、語音處理、陣列信號處理及生物醫學工程領域展現出誘人的應用前景。下面介紹盲處理應用中的三個主要方面。1.3.1 語音處理領域語音信號分離、語音識別是盲處理應用的一個重要領域。最典型的應用就是聲控計機,計算機所接受到的語音指令肯定是肯定是帶有各種環境噪聲的,還可能存在其他的語音信號(如有其他人說話),而且這些信號源與接收器的相對位置也未知,計算機需要在這種情況下識別出正確的語音命令。在移動通信中,往往存在通信質量問題,極大的影響了通話效果
25、,而盲源分離或盲均衡技術能夠消除噪聲、抑制干擾及增強語音,提高通話質量。如圖1-3所示的是4段語音信號的混合信號,用忙信號處理算法可以將源語音信號分離出來,雖然不知道源語音信號的類型。圖1-3 4段混合語音信號 如圖只知道混合的語音信號,其他的未知,要分離出源語音信號就是語音信號盲分離要做的工作,也是本次設計的主要目的。1.3.2 圖像處理領域盲信號分離同樣應用于二維數據,如圖像濾波、圖像增強等處理。在圖像恢復和重構問題中,主要的任務就是從被污染的圖像中恢復出圖像的原來面目,消除獲取圖像時各種因素如相機抖動、鏡頭變形、傳輸噪聲疊加等造成的圖像質量問題,可用盲處理的方法獲得比較滿意的效果。1.3
26、.3 生物醫信號處理學領域 在生物醫學領域,盲信號處理可應用于心電圖(ECG)、腦電圖(EEG)信號分離、聽覺信號分析、功能磁共振圖像(FMRI)分析等。例如人們常常需要從肌電圖中確定神經元細胞信號的觸發模式,而EMG信號通常由多個特殊的傳感器在人體表處測得,從信號源到傳感器之間的信號傳輸介質參數是未知的,而人們之間各不相同。目前已經有一些學者將盲源分離技術成功地夠應用于腦電圖等信號的數據處理。 此外,盲分離技術還應用于陣列信號的處理領域。在陣列傳感器中,各傳感器接收到的混合信號,而源信號及混合特性完全未知,這是典型的盲信號處理應用問題。在軍事領域中,近年來發展起來的雷達由于只接受信號而不發出
27、任何信號受到廣泛的重視,這種雷達的工作原理就是盲信號處理技術。2 Matlab語音信號的采集2.1語音信號的采集方法在Matlab環境中,主要可以通過以下幾種方法驅動聲卡,采集語音信號: 1.將聲卡作為對象處理采集語音信號Matlab將聲卡作為對象處理,其后的一切操作都不與硬件直接相關,而是通過對該對象的操作來作用于硬件設備(聲卡)。操作時首先要對聲卡產生一個模擬輸入對象,給對象添加一個通道設置采樣頻率后,就可以啟動設備對象,開始采集數據,采集完成后停止對象并刪除對象。2.調用wavrecord功能函數采集語音信號。wavrecord功能函數只適用windows95/98/N平臺,它使用win
28、dows聲音輸入設備錄制聲音。函數調用方式:wavrecord(N,fs,ch,nbits),其中N采集的樣本數據量,fs是樣本采集頻率有8000Hz、11025Hz、22050Hz和44100Hz幾個選項,默認值為11025Hz;ch是樣本采集通道,1為單聲道,2為雙聲道,默認值為單聲道;nbits是每個樣本的位數(或稱解析度),double、single或int16、uint8。3 運用audiorecorder對象采集語音信號audiorecorder(fs,nbits,ch)可以創設一個audiorecorder對象。fs是樣本采集頻率,為8000Hz、11025Hz、22050Hz和
29、44100Hz之一,默認值為8000Hz;nbits是每個樣本的位數,8位或16位,默認值為8位;ch:樣本采集通道,1為單聲道,2為雙聲道,默認值為1(單聲道);audiorecorder對象創設后,就可以進行相應的錄音、暫停、停止、播放以及數據讀取等操作。在這次的設計中,利用windows自帶的錄音機錄制語音文件,圖2-1是基于PC機的語音信號采集過程,聲卡可以完成語音波形的A/D轉換,獲得WAVE文件,為后續的處理儲備原材料。調節錄音機保存界面的“更改”選項,可以存儲各種格式的WAVE文件。麥克風聲卡濾波采樣A/D轉換Wav 聲音 圖2-1 基于PC機的語音信號采集過程2.2三路語音信號
30、的采集這次設計用Matlab程序采集三路語音信號,基本步驟如下:創建工程文件-編寫程序-調試-運行-錄音,程序如下。在干擾噪聲很小的環境下用麥克風錄制進行3段不同的語音文件,保存成*.wav文件。為了便于語音信號的盲分離要將這3段語音用軟件進行處理使其文件大小一樣,仿真時所用的3段語音是gequ1 gequ2, gequ3,時間是5秒,單通道。在matlab中對上述語音信號進行分析,接下來對3段語音信號進行的時域分析、頻譜分析。2.3三路原始語音信號的分析利用MATLAB中的wavread命令來讀入(采集)語音信號,將它賦值給某一向量。再將該向量看作一個普通的信號,對其進行FFT變換實現頻譜分
31、析,再依據實際情況對它進行濾波。對于波形圖與頻譜圖(包括分離前后的對比圖)都可以用 MATLAB畫出。我們還可以通過sound命令來對語音信號進行回放,以便在聽覺上來感受聲音的變化,格式如下:;用于讀取語音,采樣值放在向量y中,fs表示采樣頻率(Hz),bits表示采樣位數。N1 N2表示讀取從N1點到N2點的值(若只有一個N的點則表示讀取前N點的采樣值); 用于對聲音的回放。向量y則就代表了一個信號(也即一個復雜的“函數表達式”)也就是說可以像處理一個信號表達式一樣處理這個聲音信號。2.3.1語音信號時域波形在 MATLAB中畫出gequ1.wav、gequ2.wav、gequ3.wav這三
32、段語音信號的時域波形如圖圖2-2所示。程序見附錄1:圖2-2 三段原始信號時域波形 在時域內,語音信號具有“短時性”的特點,即在總體上,語音信號的特征是隨著時間而變化的,但在一段較短的時間間隔內,語音信號保持平穩。在濁音段表現出周期信號的特征,在清音段表現出隨機噪聲的特征。2.3.2語音信號FFT頻譜在頻域內,語音信號的頻譜分量主要集中在3003400Hz的范圍內。利用這個特點,可以用一個防混迭的帶通濾波器將此范圍內的語音信號頻率分量取出,然后按8kHz的采樣率對語音信號進行采樣,就可以得到離散的語音信號。 函數FFT用于序列快速傅立葉變換,一種調用格式為:式中,x,y意義同前,N為正整數。函
33、數執行N點的FFT。若x為向量且長度小于N,則函數將x補零至長度N。若x的長度大于N,則函數截短x使之長度為N。在 MATLAB中畫出gequ1.wav、gequ2.wav、gequ3.wav這三段語音信號的時域波形和頻譜如圖2-3所示。程序見附錄1:圖2-3 原始語音1、2、3的時域和FFT頻譜圖從上面的頻譜可以看出,語音信號大部分分布于低頻部分,這三路語音信號的時域波形形狀、信號幅度差別明顯,這給分離出來的信號做一個衡量的標準。3盲信號分離的兩種算法介紹盲源分離在許多領域中都有成功的應用,近十幾年來,受到了越來越多的重視,已經有大量的算法不斷地提出。其算法可以大致的分為基于高階累積量的盲源
34、分離、基于信息理論的盲源分離和基于神經網絡的盲源分離三種類型。這三類也包含很多不同類型的算法,下面主要介紹本次設計要用到的ICA算法和PCA算法。3.1 獨立分量分析ICA 對于盲源分離問題,獨立分量分析(Independent Component Analy2sis,ICA)是指在只知道混合信號,而不知道源信號、噪聲以及混合機制的情況下,分離或近似地分離出源信號的一種分析過程。 假設源信號若干個統計上相互獨立的信號組成的,它們在空間中形成交疊,獨立分量分析(Independent Component Analysis,ICA)是借助于多個信道同步觀察交疊信號,將觀察信號經過解混分解成若干獨立
35、成分,作為對源信號的一組估計,如圖3-1所示:圖3-1 獨立分量分析法 可以假設:A是線性系統可用矩陣表示,實際仿真時是隨機陣。且信道對信號無影響,觀察信道數與信號數相同(A,B方陣)。獨立分量分析ICA有多種算法,如基于代數結構的AMUSE,SOBI,JADE以及基于信息論的Fast-ICA和Info-max。其中,Fast-ICA的收斂速度快,且有一定的精度保證。 Fast-ICA算法能夠更科學的去除元素組合之間的相關性,得到的元素組合比傳統方法更具有說服力。從處理技術上看,依據獨立性分解勢必涉及概論密度函數或高階統計量,而處理過程常常要引入非線性環節。而地球化學數據從本質上將也是非線性的
36、,所以應用該技術來對地球化學數據進行處理是合理的、可行的。從這一意義上看,Fast-ICA技術優越于常用的只建立在二階統計量的線性處理技術,接下來的小節對Fast-ICA原理進行闡述。 3.1.1 Fast-ICA算法簡介Fast-ICA算法是一種快速而數值穩定的方法,采用擬牛頓算法實現尋優,具有超線性收斂速度,通常收斂速度較梯度下降尋優算法快得多;矩陣特征值分解盲分離方法通過對矩陣進行特征分解或者廣義特征分解估計分離矩陣,是一種解析方法,可直接找到閉形式解,沒有迭代尋優過程,因此運行速度很快。快速ICA算法,由于采用了定點迭代的思想,所以又稱固定點(Fixed-Point)算法或定點算法,是
37、一種快速尋優神經網絡算法。與普通的神經網絡算法不同的是這種算法采用了牛頓迭代的思想對采樣點采用批處理的方式,在每一步迭代中有大量的樣本數據參與運算。基于目標函數的選擇不同,從而產生了FastICA算法的基于負熵最大、峭度、互信息最小、最大似然估計等的多種形式。FastICA算法的優點如下:1.收斂速度快,FastICA收斂速度為2次以上,普通的ICA算法收斂僅為1次。2.能利用任何的非線性函數直接找出任何非高斯分布的獨立分量,而對于其他的算法來說,概率密度函數的估計不得不首先進行。3.獨立分量可被逐個估計出來,類似于做投影追蹤,這在僅需要估計幾個(不是全部)獨立分量的情況下,能減小計算量。4.
38、Fast-ICA算法有許多神經算法的優點,它是并行、分布式的且計算簡單,內存要求很少,它的性能能夠通過選擇適當的非線性函數來最佳化。然而FastICA算法也有其自身的缺點,首先是它對初值的選擇較自然梯度算法敏感,當初值的選擇不是很合適的時候,算法的分離性能急劇的下降,其次算法的迭代步長有待進行自適應的優化。3.1.2 基于負熵最大的快速ICAFast-ICA算法有基于峭度、基于似然最大、基于負熵最大等形式,這里,我們介紹基于負熵最大的FastICA算法。它以負熵最大作為一個搜尋方向,可以實現順序地提取獨立源,充分體現了投影追蹤(Projection Pursuit)這種傳統線性變換的思想。由信
39、息論理論可知:在所有等方差的隨機變量中,高斯變量的熵最大,因而我們可以利用熵來度量非高斯性,常用熵的修正形式,即負熵。根據中心極限定理,若一隨機變量由許多相互獨立的隨機變量之和組成,只要具有有限的均值和方差,則不論其為何種分布,隨機變量較更接近高斯分布。換言之,較的非高斯性更強。因此,在分離過程中,可通過對分離結果的非高斯性度量來表示分離結果間的相互獨立性,當非高斯性度量達到最大時,則表明已完成對各獨立分量的分離。負熵的定義: (3-1)式中,是一與具有相同方差的高斯隨機變量,為隨機變量的微分熵 (3-2) 根據信息理論,在具有相同方差的隨機變量中,高斯分布的隨機變量具有最大的微分熵。當具有高
40、斯分布時,;的非高斯性越強,其微分熵越小,值越大,所以可以作為隨機變量非高斯性的測度。由于根據式(3.6)計算微分熵需要知道的概率密度分布函數,這顯然不切實際,于是采用如下近似公式: (3-3)其中,為均值運算;為非線性函數,可取,或或等非線性函數,這里,通常我們取。快速ICA學習規則是找一個方向以便具有最大的非高斯性。這里,非高斯性用式(3.7)給出的負熵的近似值來度量,的方差約束為1,對于白化數據而言,這等于約束的范數為1。FastICA算法的推導如下。首先,的負熵的最大近似值能通過對進行優化來獲得。根據Kuhn-Tucker條件,在的約束下,的最優值能在滿足下式的點上獲得。 (3-4)這
41、里,是一個恒定值, ,是優化后的值。下面我們利用牛頓迭代法解方程(3.4)。用表示式(3.4)左邊的函數,可得的雅可比矩陣如下: (3-5)為了簡化矩陣的求逆,可以近似為(3.9)式的第一項。由于數據被球化,,所以,。因而雅可比矩陣變成了對角陣,并且能比較容易地求逆。因而可以得到下面的近似牛頓迭代公式: 這里,是的新值,規格化能提高解的穩定性。簡化后就可以得到FastICA算法的迭代公式: (3-6)實踐中,FastICA算法中用的期望必須用它們的估計值代替。最好的估計是相應的樣本平均。對于Fast-ICA算法,數據預處理是一個最基本、最必要的過程。該過程包括去均值和白化(或球化)。去均值過程
42、起到了簡化ICA算法的作用,白化也是信號源盲分離算法中一個經常用到的預處理方法,對于某些盲分離算法,白化還是一個必須的預處理過程。對混合信號的白化實際上就是去除信號各個分量之間的相關性。從圖3-2是Fast-ICA算法流程圖可以看出,通常先對數據進行初步的白化或球化處理,白化處理可去除各觀測信號之間的相關性,從而簡化了后續獨立分量的提取過程。這是由于一般情況下,所獲得的數據都具有相關性。通過去均值和白化等預處理在對其進行真正的算法分離。通常情況下,數據進行白化處理與不對數據進行白化處理相比,算法的收斂性比較好,快速ICA算法一般的步驟如下: 1. 對觀測數據進行中心化,使它的均值為0; 2.
43、對數據進行白化,; 3. 選擇需要估計的分量的個數,設迭代次數 ; 4. 選擇一個初始權矢量(隨機的) ; 5. 令,非線性函數的選取見前文; 6. ; 7. 令。 8. 假如不收斂的話,返回第5步; 9令,如果,返回第4步。觀測信號x去均值對去均值后的觀測信號x進行白化基于負熵最大化理論確定目標函數應用牛頓迭代算法求目標函數的最大值,即分離矩陣w收斂?由獲得信號源是否圖3-2 Fast-ICA算法流程圖概括來說,Fast-ICA算法主要包含兩部分:預處理部分和核心算法部分。預處理部分主要包括去均值化和白化處理;核心算法部分是基于擬牛頓算法,具體的實現見附錄程序。3.2 主分量分析PCA3.2
44、.1 主成分分析原理 主成分分析(Principal Component Analysis,PCA)是一種掌握事物主要矛盾的統計分析方法,它可以從多元事物中解析出主要影響因素,揭示事物的本質,簡化復雜的問題。計算主成分的目的是將高緯數據投影到較低維空間。 給定n個變量的m個觀察值,形成一個n *m的數據矩陣,n通常比較大。對于一個由多個變量描述的復雜事物,認識難度會很大,于是我們可以抓住事物主要方面進行重點分析,如果事物的主要方面剛好體現在幾個主要變量上,那么我們只需要將體現事物主要方面的較少的幾個主要變量分離出來,對此進行詳細分析。但是,在一般情況下,并不能直接找出這樣的關鍵變量。這時我們可
45、以用原有變量的線性組合來表示事物的主要方面,PCA 就是這樣一種分析方法。 PCA主要用于數據降維,對于由一系列特征組成的多維向量,其中某些元素本身沒有區分性,比如某個元素在所有的樣本中都相等,或者彼此差距不大,那么這個元素本身就沒有區分性,如果用它做特征來區分,貢獻會非常小。所以我們的目的是找那些變化大的元素,即方差大的那些維,而去除掉那些變化不大的維,從而使特征留下的都是“精品”,使得計算量也相應變小。 對于一個k維的特征來說,相當于它的每一維特征與其他維都是正交的(相當于在多維坐標系中,坐標軸都是垂直的),那么我們可以變化這些維的坐標系,從而使這個特征在某些維上方差大,而在某些維上方差很
46、小。所以我們的做法就是求得一個k維特征的投影矩陣,這個投影矩陣可以將特征從高維降到低維。投影矩陣也可以叫做變換矩陣。新的低維特征必須每個維都正交,特征向量都是正交的。通過求樣本矩陣的協方差矩陣,然后求出協方差矩陣的特征向量,這些特征向量就可以構成這個投影矩陣了。3.2.2 PCA算法原理 令x為表示環境的m維隨機向量。假設x均值為零,即:Ex=O。令w表示為m維單位向量,x在其上投影。這個投影被定義為向量x和w的內積,表示為: (3-7)滿足約束條件: (3-8)而主成分分析的目的就是尋找一個權值向量w使得表達式Ey2的值最大化: (3-9) 根據線性代數的理論,可以知道滿足式子值最大化的訓應
47、該滿足下式: (3-10) 即使得上述式子最大化的w是矩陣Cx的最大特征值所對應的特征向量。特征向量的選擇取決于協方差矩陣的特征值的大小。經過 PCA 分析,一個多變量的復雜問題被簡化為低維空間的簡單問題。可以利用這種簡化方法進行作圖,形象地表示和分析復雜問題。3.3 主分量分析PCA和ICA主分量分析(ICA)的目的在于降低向量的維數,取出隨機信號間的線性相關性,找出原始信號中隱含的內在能量較大的信號。但是由于PCA方法在實際的計算式只涉及到輸入數據概率分布函數的二階統計特性(僅利用到信號的協方差矩陣),所以分解出的各分量相互正交,主分量之間并不一定不相關,所以并不滿足ICA方法對輸入信號的
48、獨立要求。從數理統計的角度來說,實際信號的大部分重要的信息往往包含在高階的統計特性中,因此只有當多變量觀測數據是由高斯分布的源信號構成時,PCA方法才能用來實現信號的分離,這是由于服從正態分布的隨機過程的不相關性和統計獨立是等價的,用一階、二階統計特性就可以完全描述信號。然而,在實際的問題中,真正滿足正態分布的隨機信號很少,絕大部分的隨機信號(如自然景物圖像、語音信號和腦電波等等)都不是高斯的。此外,ICA方法往往需要高階量,也就是在學習階段需要使用一定的非線性,然而非線性的使用并不影響輸入和輸出的線性映射關系。許多情況下ICA能夠提供比PCA更有意義的數據,而PCA僅在源信號為高斯分布時才能
49、實現ICA。盡管如此,在信號的預處理階段,PCA方法可以實現數據的預白化,為后續的工作提供了方便。4語音信號的盲分離實現 本設計用matlab采集3路語音信號,選擇合適的混合矩陣生成若干混合信號。然后結合語音信號的分離算法對混合信號進行分離出原始信號。具體實現主要結合獨立分量分析ICA技術,選取混合矩陣對3個語音信號進行混合,并從混合信號中分離出原語音信號,最后畫出各分離信號的時域波形和頻譜圖和原來的信號進行比較。此外還運用PCA算法進行了混合語音信號的分離實現,最終對兩種算法進行比較。4.1 語音信號的混合有題目要求根據盲信號分離原理,用matlab采集兩路以上的語音信號,選擇合適的混合矩陣
50、生成若干混合信號,接下來在 MATLAB中實現gequ1.wav、gequ2.wav、gequ3.wav的混合,具體的程序先進行初始化、然后去均值,白化,用隨機矩陣對這三路語音信號進行混合,具體的程序代碼見附錄,運行的結果如圖4-1所示:圖4-1 三路混合語音信號波形及頻譜上圖的混合采用的隨機混合3*3矩陣是Sweight = 0.6449 0.3420 0.5341 0.8180 0.2897 0.7271 0.6602 0.3412 0.30934.2 語音信號的分離實現4.2.1 FAST-ICA算法分離 獨立分量分析的含義是把信號分解成若干個互相獨立的成分,它是為了解決盲信號分離的問題
51、而發展起來的。如果信號本來就是由若干獨立信源混合而成的,ICA就能恰好把這些信源分解開來。故在一般的文獻中通常把ICA等同于BSS,ICA不同于主分量分析把目光投注于信號的二階統計量,研究信號間的相關關系,而是基于信號的高階統計量,研究信號間的獨立關系。獨立分量分析中Fast-ICA算法是一種快速而數值穩定的方法,采用擬牛頓算法實現尋優,具有超線性收斂速度,通常收斂速度較梯度下降尋優算法快得多用FAST-ICA快速主成分分析算法實現混合信號的分離,我們可以借鑒下面的波形,原始的語言信號及用FAST-ICA算法分離的語音信號圖形如圖4-2所示: 圖4-2 原始的語言信號FAST-ICA算法分離的
52、語音號將原始3路語音信號與分離出來的語音信號作對比,發現分離出來的語音信號和原來的信號的形狀一樣,不同的是順序不一樣,信號的幅度也減少了,這恰好說明了盲分離算法中允許存在兩個方面的不確定性: (1)排列順序的不確定性,無法了解所抽取的信號應是源信號為哪一個分量. (2)信號幅度的不確定性,即無法知道源信號的真實幅值。4.2.2 主分量分析算法分離 當多變量觀測數據是由高斯分布的源信號構成時,PCA方法也可以用來實現信號的分離,同樣用FAST-ICA快速主成分分析算法實現混合信號的分離,我們可以借鑒下面的波形,原始的語言信號級PCA算法分離的語音信號圖如圖4-3示: 圖4-3 原始的語言信號及P
53、CA算法分離的語音號同樣,將原始3路語音信號與分離出來的語音信號作對比,發現分離出來的語音信號和原來的信號的形狀基本一樣,不同的是順序不一樣,信號的幅度也減少了,這恰好說明了盲分離算法中允許存在兩個方面的不確定性:排列順序的不確定性和信號幅度的不確定性, 還有一點可以看到,gequ1和gequ3的語音信號恢復的效果更好,gequ2的恢復波形有些失真,但總體上達到分離效果。4.2.3 分離語音頻譜分析在 MATLAB中畫出gequ1.wav、gequ2.wav、gequ3.wav這三段語音信號經過混合,并對FAST-ICA快速主成分分析算法成功實現混合信號的分離的信號進行頻域分析,其時域波形和頻譜如圖4-4所示,原始信號的時域和頻域圖如圖4-5所示,具體程序見附錄1。對比可以發現,不管是從時域波形來看還是頻譜來看,FAST-ICA算法分離的效果很好,PCA算法分離頻域分析和FAST-I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外貿快遞銷毀方案范本
- 浙江移動充電樁施工方案
- 2024年項目管理盲點的識別與應對試題及答案
- 項目管理流程優化的試題及答案
- 2025年證券從業資格考試概覽試題及答案
- 文物鑒定估價方案范本
- 證券投資的風險管理與控制考題及答案
- 2024年秘書證考試學習經驗分享試題及答案
- 2024年項目管理專業考題及答案
- 2025年家庭理財規劃知識試題及答案
- Unit 3 What would you like單元作業設計
- 竣工結算審計服務投標方案
- 人機工程培訓(推行團隊版)-課件
- GB/T 20899.1-2019金礦石化學分析方法第1部分:金量的測定
- 太陽能光伏發電原理及其應用
- GB 150-1998鋼制壓力容器
- 工程聯系單(模板)
- 2023年海南省財金集團有限公司招聘筆試模擬試題及答案解析
- 公司獎項申請表(個人)
- 機油濾清器工作原理剖析
- 工程施工資源配置計劃施工資源配置計劃
評論
0/150
提交評論