語(yǔ)音信號(hào)的盲分離課程設(shè)計(jì)正文-大學(xué)論文_第1頁(yè)
語(yǔ)音信號(hào)的盲分離課程設(shè)計(jì)正文-大學(xué)論文_第2頁(yè)
語(yǔ)音信號(hào)的盲分離課程設(shè)計(jì)正文-大學(xué)論文_第3頁(yè)
語(yǔ)音信號(hào)的盲分離課程設(shè)計(jì)正文-大學(xué)論文_第4頁(yè)
語(yǔ)音信號(hào)的盲分離課程設(shè)計(jì)正文-大學(xué)論文_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGE學(xué)號(hào):0121209320323課程設(shè)計(jì)題目語(yǔ)音信號(hào)的盲分離學(xué)院信息工程學(xué)院專業(yè)通信工程班級(jí)姓名指導(dǎo)教師2015年7月1日

《課程設(shè)計(jì)任務(wù)書》學(xué)生姓名:專業(yè)班級(jí):指導(dǎo)教師工作單位:信息工程學(xué)院題目:語(yǔ)音信號(hào)的盲分離初始條件:Matlab軟件,計(jì)算機(jī),信息處理相關(guān)知識(shí)要求完成的主要任務(wù):用matlab做出采樣之后語(yǔ)音信號(hào)的時(shí)域和頻域波形圖選擇合適的混合矩陣,得到混合信號(hào),并做出其時(shí)域波形和頻譜圖采用混合聲音信號(hào)進(jìn)行訓(xùn)練學(xué)習(xí),求出分離矩陣,編寫出相應(yīng)的確matlab代碼。(4)用求出的分離矩陣從混合信號(hào)中分離出原語(yǔ)音信號(hào),并畫出各分離信號(hào)的時(shí)域波形和頻譜圖。(5)對(duì)結(jié)果進(jìn)行對(duì)比分析。時(shí)間安排:1、理論講解,老師布置課程設(shè)計(jì)題目,學(xué)生根據(jù)選題開始查找資料;2、課程設(shè)計(jì)時(shí)間為2周。(1)理解相關(guān)技術(shù)原理,確定技術(shù)方案,時(shí)間2天;(2)選擇仿真工具,進(jìn)行仿真設(shè)計(jì)與分析,時(shí)間6天;(3)總結(jié)結(jié)果,完成課程設(shè)計(jì)報(bào)告,時(shí)間2天。指導(dǎo)教師簽名:2015年6月10日系主任(或責(zé)任教師)簽名:2015年6月10日武漢理工大學(xué)《信息處理課群綜合訓(xùn)練與設(shè)計(jì)》報(bào)告目錄TOC\o"1-3"\h\u摘要 1Abstract 21緒論 32盲信號(hào)處理BSP 42.1盲信號(hào)處理 42.2盲分離處理 42.3Matlab語(yǔ)音信號(hào)的采集 52.3.1語(yǔ)音信號(hào)的采集方法 52.3.2三路語(yǔ)音信號(hào)的采集 62.4盲信號(hào)分離的兩種算法介紹 72.4.1PCA算法原理 72.4.2獨(dú)立分量分析ICA 83語(yǔ)音信號(hào)的分離方案設(shè)計(jì) 93.1FAST-ICA算法分離 93.1.1基于負(fù)熵最大的快速ICA 93.2主分量分析PCA 133.2.1主成分分析原理 133.2.2PCA算法原理 143.3主分量分析PCA和ICA比較 144語(yǔ)音信號(hào)的分離方案實(shí)現(xiàn) 164.1語(yǔ)音信號(hào)的混合 164.2語(yǔ)音信號(hào)的分離實(shí)現(xiàn) 174.2.1FAST-ICA算法分離 174.2.2主分量分析算法分離 184.2.3分離語(yǔ)音頻譜分析及比較 185總結(jié) 20參考文獻(xiàn) 21附錄原始語(yǔ)音Matlab信號(hào)頻譜程序 22附錄2預(yù)處理部分matlab程序 27附錄3算法的matlab程序 29(1)FAST-ICA算法 29(2)PCA算法分離 31PAGEPAGE33摘要了解盲信號(hào)處理(BlindSignalProcessing,BSP)的概念,并掌握語(yǔ)音盲分離技術(shù)和Matlab的運(yùn)用。本文重點(diǎn)研究了以語(yǔ)音信號(hào)為背景的盲處理方法,從混有噪聲的的混疊語(yǔ)音信號(hào)中分離出各個(gè)語(yǔ)音源信號(hào),來(lái)模仿人類的語(yǔ)音分離能力。本設(shè)計(jì)用matlab采集3路語(yǔ)音信號(hào),選擇合適的混合矩陣生成若干混合信號(hào)。結(jié)合獨(dú)立分量分析ICA技術(shù),選取混合矩陣對(duì)3個(gè)語(yǔ)音信號(hào)進(jìn)行混合,并從混合信號(hào)中分離出原語(yǔ)音信號(hào),畫出各分離信號(hào)的時(shí)域波形和頻譜圖和原來(lái)的信號(hào)進(jìn)行比較。此外還運(yùn)用PCA算法進(jìn)行了混合語(yǔ)音信號(hào)的分離實(shí)現(xiàn),最終對(duì)兩種算法進(jìn)行比較。關(guān)鍵字:盲信號(hào)處理語(yǔ)音信號(hào)盲源分離BSS獨(dú)立分量分析ICA技術(shù)

AbstractUnderstandingtheconceptofblindsignalprocessing(BlindSignalProcessing,BSP),andmasterthevoiceofblindseparationtechnologyandtheuseofMatlab.Thispaperfocusesonthebackgroundtothespeechsignalblindapproach,mixedwiththenoisefromthespeechsignalaliasingisolatedindividualvoicesourcesignal,tomimicthehumanvoiceseparationability.The3-waydesignwithmatlabvoicesignalacquisition,selecttheappropriatemixingmatrixtogenerateanumberofmixedsignals.ICAtechnologycombinedwithindependentcomponentanalysistoselectthemixingmatrixforthreevoicesignalsaremixedandseparatedfromthemixedsignalsoutoftheoriginalspeechsignal,draweachseparatedsignaltime-domainwaveformandfrequencyspectrumandcomparetheoriginalsignal.Inaddition,theuseofPCAalgorithmtoachievetheseparationofmixedspeechsignals,andultimatelythetwoalgorithmswerecompared.Keywords:blindsignalprocessingspeechsignalsblindsourceseparationBSSindependentcomponentanalysisICAtechnology1緒論近年來(lái),盲信號(hào)處理逐漸成為當(dāng)今信息處理領(lǐng)域中熱門的課題之一,并且已經(jīng)在尤其在、地震探測(cè)、移動(dòng)通信、語(yǔ)音處理、陣列信號(hào)處理及生物醫(yī)學(xué)工程領(lǐng)域展現(xiàn)出誘人的應(yīng)用前景。盲處理應(yīng)用中的三個(gè)主要方面:語(yǔ)音處理,圖片處理,生物醫(yī)信號(hào)處理。本文主要學(xué)習(xí)的是語(yǔ)音的處理。語(yǔ)音信號(hào)分離、語(yǔ)音識(shí)別是盲處理應(yīng)用的一個(gè)重要領(lǐng)域。也是本文學(xué)習(xí)研究的重點(diǎn)。最典型的應(yīng)用就是聲控計(jì)機(jī),計(jì)算機(jī)所接受到的語(yǔ)音指令肯定是帶有各種環(huán)境噪聲的,還可能存在其他的語(yǔ)音信號(hào)(如有其他人說(shuō)話),而且這些信號(hào)源與接收器的相對(duì)位置也未知,計(jì)算機(jī)需要在這種情況下識(shí)別出正確的語(yǔ)音命令。此次實(shí)踐主要目的在掌握matlab對(duì)語(yǔ)音的采集,了解盲處理的相關(guān)知識(shí),掌握盲分離的原理,從而確定盲分離的方法,根據(jù)盲信號(hào)分離原理,用matlab采集兩路以上的語(yǔ)音信號(hào),選擇合適的混合矩陣生成若干混合信號(hào)。選取合適的盲信號(hào)分離算法(如獨(dú)立成分分析ICA等)進(jìn)行訓(xùn)練學(xué)習(xí),求出分離矩陣和分離后的語(yǔ)音信號(hào)。為達(dá)到良好的學(xué)習(xí)效果,此次實(shí)踐有如下要求:(1)用matlab做出采樣之后語(yǔ)音信號(hào)的時(shí)域和頻域波形圖(2)選擇合適的混合矩陣,得到混合信號(hào),并做出其時(shí)域波形和頻譜圖(3)采用混合聲音信號(hào)進(jìn)行訓(xùn)練學(xué)習(xí),求出分離矩陣,編寫出相應(yīng)的matlab代碼。(4)用求出的分離矩陣從混合信號(hào)中分離出原語(yǔ)音信號(hào),并畫出各分離信號(hào)的時(shí)域波形和頻譜圖。(5)對(duì)結(jié)果進(jìn)行對(duì)比分析。通過(guò)此次實(shí)踐,加深的對(duì)Matlab功能的認(rèn)識(shí),掌握了Matlab對(duì)語(yǔ)音信號(hào)的采集及處理,了解了盲分離的原理及運(yùn)用,運(yùn)用了合適的矩陣得到了混合信號(hào),減少了計(jì)算量,同時(shí)達(dá)到了將得到的混合信號(hào)分離的目的,將前后信號(hào)進(jìn)行對(duì)比,了解了Matlab的處理效率。2盲信號(hào)處理BSP2.1盲信號(hào)處理盲信號(hào)處理作為計(jì)算機(jī)智能學(xué)的核心研究的內(nèi)容,在生物醫(yī)學(xué)、醫(yī)療圖像、圖像增強(qiáng)、遠(yuǎn)程傳感、雷達(dá)與通信系統(tǒng)、地震勘測(cè)等方面均具有突出的作用。盲處理的工作原理框圖如圖2-1所示:圖2-1盲處理的工作原理框圖其中,s(k)是未知源的信號(hào)向量,x(k)是混合信號(hào)向量(或觀測(cè)信號(hào)、傳感器檢測(cè)信號(hào)),n(k)是噪聲信號(hào)向量,混合信號(hào)向量經(jīng)過(guò)分離系統(tǒng)可以得到分離的信號(hào),可與原信號(hào)比較。2.2盲分離處理盲分離的算法比較多,此次選擇較為簡(jiǎn)單的瞬時(shí)線性混疊盲分離,瞬時(shí)線性混疊數(shù)學(xué)模型如下:x(t)=As(t)(公式2-1)y(t)=Wx(t)(公式2-2)其中(1)式為混疊模型,(2)式為分離模型;s(t)=(s1(t),s2(t),…,Sn(t))T為源信號(hào)未知的m×n的混疊矩陣,源信號(hào)s(t)也是未知的,W為分離矩陣。瞬時(shí)線性混疊盲分離的目的就是通過(guò)調(diào)節(jié)分離矩陣W(或混疊矩陣A),使得分離信號(hào)與對(duì)應(yīng)的源信號(hào)的波形保持一致,即:y(t)=PDs(t)(公式2-3)其中P為置換矩陣,D為對(duì)角矩陣。y(t)是對(duì)源信號(hào)s(t)的估計(jì),瞬時(shí)線性混疊盲分離問(wèn)題允許存在兩個(gè)方面的不確定性:(1)排列順序的不確定性,無(wú)法了解所抽取的信號(hào)應(yīng)是源信號(hào)s(t)為哪一個(gè)分量.(2)信號(hào)幅度的不確定性,即無(wú)法知道源信號(hào)的真實(shí)幅值。瞬時(shí)線性盲分離實(shí)現(xiàn)的數(shù)學(xué)模型如圖2-2所示,其中LA表示學(xué)習(xí)算法(LearningAlgorithm)。圖2-2瞬時(shí)線性盲分離實(shí)現(xiàn)的數(shù)學(xué)模型圖2.3Matlab語(yǔ)音信號(hào)的采集2.3.1語(yǔ)音信號(hào)的采集方法在Matlab環(huán)境中,主要可以通過(guò)以下幾種方法驅(qū)動(dòng)聲卡,采集語(yǔ)音信號(hào):1.將聲卡作為對(duì)象處理采集語(yǔ)音信號(hào)Matlab將聲卡作為對(duì)象處理,其后的一切操作都不與硬件直接相關(guān),而是通過(guò)對(duì)該對(duì)象的操作來(lái)作用于硬件設(shè)備(聲卡)。操作時(shí)首先要對(duì)聲卡產(chǎn)生一個(gè)模擬輸入對(duì)象,給對(duì)象添加一個(gè)通道設(shè)置采樣頻率后,就可以啟動(dòng)設(shè)備對(duì)象,開始采集數(shù)據(jù),采集完成后停止對(duì)象并刪除對(duì)象。2.調(diào)用wavrecord功能函數(shù)采集語(yǔ)音信號(hào)。wavrecord功能函數(shù)只適用windows95/98/N平臺(tái),它使用windows聲音輸入設(shè)備錄制聲音。函數(shù)調(diào)用方式:wavrecord(N,fs,ch,nbits),其中N采集的樣本數(shù)據(jù)量,fs是樣本采集頻率有8000Hz、11025Hz、22050Hz和44100Hz幾個(gè)選項(xiàng),默認(rèn)值為11025Hz;ch是樣本采集通道,1為單聲道,2為雙聲道,默認(rèn)值為單聲道;nbits是每個(gè)樣本的位數(shù)(或稱解析度),double、single或int16、uint8。運(yùn)用audiorecorder對(duì)象采集語(yǔ)音信號(hào)audiorecorder(fs,nbits,ch)可以創(chuàng)設(shè)一個(gè)audiorecorder對(duì)象。fs是樣本采集頻率,為8000Hz、11025Hz、22050Hz和44100Hz之一,默認(rèn)值為8000Hz;nbits是每個(gè)樣本的位數(shù),8位或16位,默認(rèn)值為8位;ch:樣本采集通道,1為單聲道,2為雙聲道,默認(rèn)值為1(單聲道);audiorecorder對(duì)象創(chuàng)設(shè)后,就可以進(jìn)行相應(yīng)的錄音、暫停、停止、播放以及數(shù)據(jù)讀取等操作。2.3.2三路語(yǔ)音信號(hào)的采集這次設(shè)計(jì)用Matlab程序采集三路語(yǔ)音信號(hào),基本步驟如下:創(chuàng)建工程文件-編寫程序-調(diào)試-運(yùn)行-錄音,程序如下。在干擾噪聲很小的環(huán)境下用麥克風(fēng)錄制進(jìn)行3段不同的語(yǔ)音文件,保存成*.wav文件。為了便于語(yǔ)音信號(hào)的盲分離要將這3段語(yǔ)音用軟件進(jìn)行處理使其文件大小一樣,仿真時(shí)所用的3段語(yǔ)音是1,2,,3,時(shí)間是5秒,單通道。clc;fs=8000;channel=1;t=5;fprintf('按任意鍵后開始%d秒錄音:',t);Pause;fprintf('錄音中...');%文字提示y=wavrecord(t*fs,fs,channel,'double');%錄制語(yǔ)音信號(hào)fprintf('錄音結(jié)束\n');%文字提示wavwrite(y,fs,'D:\Documents\Desktop\gequ3.wav');%存儲(chǔ)錄音信號(hào),先創(chuàng)建文件在matlab中對(duì)上述語(yǔ)音信號(hào)進(jìn)行分析,接下來(lái)對(duì)3段語(yǔ)音信號(hào)進(jìn)行的時(shí)域分析、頻譜分析。2.4盲信號(hào)分離的兩種算法介紹盲源分離在許多領(lǐng)域中都有成功的應(yīng)用,近十幾年來(lái),受到了越來(lái)越多的重視,已經(jīng)有大量的算法不斷地提出。其算法可以大致的分為基于高階累積量的盲源分離、基于信息理論的盲源分離和基于神經(jīng)網(wǎng)絡(luò)的盲源分離三種類型。這三類也包含很多不同類型的算法,下面主要介紹本次設(shè)計(jì)要用到的ICA算法和PCA算法。2.4.1PCA算法原理令x為表示環(huán)境的m維隨機(jī)向量。假設(shè)x均值為零,即:E[x]=O。令w表示為m維單位向量,x在其上投影。這個(gè)投影被定義為向量x和w的內(nèi)積,表示為:而主成分分析的目的就是尋找一個(gè)權(quán)值向量w使得表達(dá)式E[y2]的值最大化。根據(jù)線性代數(shù)的理論,可以知道滿足式子值最大化的訓(xùn)應(yīng)該滿足下式:即使得上述式子最大化的w是矩陣Cx的最大特征值所對(duì)應(yīng)的特征向量。特征向量的選擇取決于協(xié)方差矩陣的特征值的大小。經(jīng)過(guò)PCA分析,一個(gè)多變量的復(fù)雜問(wèn)題被簡(jiǎn)化為低維空間的簡(jiǎn)單問(wèn)題??梢岳眠@種簡(jiǎn)化方法進(jìn)行作圖,形象地表示和分析復(fù)雜問(wèn)題。2.4.2獨(dú)立分量分析ICA對(duì)于盲源分離問(wèn)題,獨(dú)立分量分析(IndependentComponentAnaly2sis,ICA)是指在只知道混合信號(hào),而不知道源信號(hào)、噪聲以及混合機(jī)制的情況下,分離或近似地分離出源信號(hào)的一種分析過(guò)程。假設(shè)源信號(hào)若干個(gè)統(tǒng)計(jì)上相互獨(dú)立的信號(hào)組成的,它們?cè)诳臻g中形成交疊,獨(dú)立分量分析(IndependentComponentAnalysis,ICA)是借助于多個(gè)信道同步觀察交疊信號(hào),將觀察信號(hào)經(jīng)過(guò)解混分解成若干獨(dú)立成分,作為對(duì)源信號(hào)的一組估計(jì),如圖2-3所示:圖2-3獨(dú)立分量分析法可以假設(shè):A是線性系統(tǒng)可用矩陣表示,實(shí)際仿真時(shí)是隨機(jī)陣。且信道對(duì)信號(hào)無(wú)影響,觀察信道數(shù)與信號(hào)數(shù)相同(A,B方陣)。獨(dú)立分量分析ICA有多種算法,如基于代數(shù)結(jié)構(gòu)的AMUSE,SOBI,JADE以及基于信息論的Fast-ICA和Info-max。其中,F(xiàn)ast-ICA的收斂速度快,且有一定的精度保證。Fast-ICA算法能夠更科學(xué)的去除元素組合之間的相關(guān)性,得到的元素組合比傳統(tǒng)方法更具有說(shuō)服力。

3語(yǔ)音信號(hào)的分離方案設(shè)計(jì)3.1FAST-ICA算法分離Fast-ICA算法是一種快速而數(shù)值穩(wěn)定的方法,采用擬牛頓算法實(shí)現(xiàn)尋優(yōu),具有超線性收斂速度,通常收斂速度較梯度下降尋優(yōu)算法快得多;矩陣特征值分解盲分離方法通過(guò)對(duì)矩陣進(jìn)行特征分解或者廣義特征分解估計(jì)分離矩陣,是一種解析方法,可直接找到閉形式解,沒有迭代尋優(yōu)過(guò)程,因此運(yùn)行速度很快??焖買CA算法,由于采用了定點(diǎn)迭代的思想,所以又稱固定點(diǎn)(Fixed-Point)算法或定點(diǎn)算法,是一種快速尋優(yōu)神經(jīng)網(wǎng)絡(luò)算法。FastICA算法的優(yōu)點(diǎn)如下:1.收斂速度快,F(xiàn)astICA收斂速度為2次以上,普通的ICA算法收斂?jī)H為1次。2.能利用任何的非線性函數(shù)直接找出任何非高斯分布的獨(dú)立分量,而對(duì)于其他的算法來(lái)說(shuō),概率密度函數(shù)的估計(jì)不得不首先進(jìn)行。3.獨(dú)立分量可被逐個(gè)估計(jì)出來(lái),類似于做投影追蹤,這在僅需要估計(jì)幾個(gè)(不是全部)獨(dú)立分量的情況下,能減小計(jì)算量。4.Fast-ICA算法有許多神經(jīng)算法的優(yōu)點(diǎn),它是并行、分布式的且計(jì)算簡(jiǎn)單,內(nèi)存要求很少,它的性能能夠通過(guò)選擇適當(dāng)?shù)姆蔷€性函數(shù)來(lái)最佳化。3.1.1基于負(fù)熵最大的快速ICAFast-ICA算法有基于峭度、基于似然最大、基于負(fù)熵最大等形式,這里,我們介紹基于負(fù)熵最大的FastICA算法。它以負(fù)熵最大作為一個(gè)搜尋方向,可以實(shí)現(xiàn)順序地提取獨(dú)立源,充分體現(xiàn)了投影追蹤(ProjectionPursuit)這種傳統(tǒng)線性變換的思想,由信息論理論可知:在所有等方差的隨機(jī)變量中,高斯變量的熵最大,因而我們可以利用熵來(lái)度量非高斯性,常用熵的修正形式,即負(fù)熵。根據(jù)中心極限定理,若一隨機(jī)變量由許多相互獨(dú)立的隨機(jī)變量之和組成,只要具有有限的均值和方差,則不論其為何種分布,隨機(jī)變量較更接近高斯分布。換言之,較的非高斯性更強(qiáng)。因此,在分離過(guò)程中,可通過(guò)對(duì)分離結(jié)果的非高斯性度量來(lái)表示分離結(jié)果間的相互獨(dú)立性,當(dāng)非高斯性度量達(dá)到最大時(shí),則表明已完成對(duì)各獨(dú)立分量的分離。負(fù)熵的定義:(公式3-1)式中,是一與具有相同方差的高斯隨機(jī)變量,為隨機(jī)變量的微分熵(公式3-2)根據(jù)信息理論,在具有相同方差的隨機(jī)變量中,高斯分布的隨機(jī)變量具有最大的微分熵。當(dāng)具有高斯分布時(shí),;的非高斯性越強(qiáng),其微分熵越小,值越大,所以可以作為隨機(jī)變量非高斯性的測(cè)度。由于根據(jù)式(3.6)計(jì)算微分熵需要知道的概率密度分布函數(shù),這顯然不切實(shí)際,于是采用如下近似公式:(公式3-3)其中,為均值運(yùn)算;為非線性函數(shù),可取,或或等非線性函數(shù),這里,,通常我們?nèi)???焖買CA學(xué)習(xí)規(guī)則是找一個(gè)方向以便具有最大的非高斯性。這里,非高斯性給出的負(fù)熵的近似值來(lái)度量,的方差約束為1,對(duì)于白化數(shù)據(jù)而言,這等于約束的范數(shù)為1。FastICA算法的推導(dǎo)如下。首先,的負(fù)熵的最大近似值能通過(guò)對(duì)進(jìn)行優(yōu)化來(lái)獲得。根據(jù)Kuhn-Tucker條件,在的約束下,的最優(yōu)值能在滿足下式的點(diǎn)上獲得。(公式3-4)這里,是一個(gè)恒定值,,是優(yōu)化后的值。下面我們利用牛頓迭代法解方程(3.4)。用表示式(3.4)左邊的函數(shù),可得的雅可比矩陣如下:(公式3-5)為了簡(jiǎn)化矩陣的求逆,可以近似為(3.5)式的第一項(xiàng)。由于數(shù)據(jù)被球化,,所以,因而雅可比矩陣變成了對(duì)角陣,并且能比較容易地求逆。簡(jiǎn)化后就可以得到FastICA算法的迭代公式:實(shí)踐中,F(xiàn)astICA算法中用的期望必須用它們的估計(jì)值代替。最好的估計(jì)是相應(yīng)的樣本平均。對(duì)于Fast-ICA算法,數(shù)據(jù)預(yù)處理是一個(gè)最基本、最必要的過(guò)程。該過(guò)程包括去均值和白化(或球化)。去均值過(guò)程起到了簡(jiǎn)化ICA算法的作用,白化也是信號(hào)源盲分離算法中一個(gè)經(jīng)常用到的預(yù)處理方法,對(duì)于某些盲分離算法,白化還是一個(gè)必須的預(yù)處理過(guò)程。對(duì)混合信號(hào)的白化實(shí)際上就是去除信號(hào)各個(gè)分量之間的相關(guān)性。從圖3-1是Fast-ICA算法流程圖可以看出,通常先對(duì)數(shù)據(jù)進(jìn)行初步的白化或球化處理,白化處理可去除各觀測(cè)信號(hào)之間的相關(guān)性,從而簡(jiǎn)化了后續(xù)獨(dú)立分量的提取過(guò)程。這是由于一般情況下,所獲得的數(shù)據(jù)都具有相關(guān)性。通過(guò)去均值和白化等預(yù)處理在對(duì)其進(jìn)行真正的算法分離。通常情況下,數(shù)據(jù)進(jìn)行白化處理與不對(duì)數(shù)據(jù)進(jìn)行白化處理相比,算法的收斂性比較好,快速ICA算法一般的步驟如下:1.對(duì)觀測(cè)數(shù)據(jù)進(jìn)行中心化,使它的均值為0;2.對(duì)數(shù)據(jù)進(jìn)行白化,;3.選擇需要估計(jì)的分量的個(gè)數(shù),設(shè)迭代次數(shù);4.選擇一個(gè)初始權(quán)矢量(隨機(jī)的); 5.令,非線性函數(shù)的選取見前文;6.;7.令。8.假如不收斂的話,返回第5步;9.令,如果,返回第4步。圖3-1Fast-ICA算法流程圖概括來(lái)說(shuō),F(xiàn)ast-ICA算法主要包含兩部分:預(yù)處理部分和核心算法部分。預(yù)處理部分主要包括去均值化和白化處理;核心算法部分是基于擬牛頓算法,具體的實(shí)現(xiàn)見附錄程序。 3.2主分量分析PCA3.2.1主成分分析原理主成分分析(PrincipalComponentAnalysis,PCA)是一種掌握事物主要矛盾的統(tǒng)計(jì)分析方法,它可以從多元事物中解析出主要影響因素,揭示事物的本質(zhì),簡(jiǎn)化復(fù)雜的問(wèn)題。計(jì)算主成分的目的是將高緯數(shù)據(jù)投影到較低維空間。給定n個(gè)變量的m個(gè)觀察值,形成一個(gè)n*m的數(shù)據(jù)矩陣,n通常比較大。對(duì)于一個(gè)由多個(gè)變量描述的復(fù)雜事物,認(rèn)識(shí)難度會(huì)很大,于是我們可以抓住事物主要方面進(jìn)行重點(diǎn)分析,如果事物的主要方面剛好體現(xiàn)在幾個(gè)主要變量上,那么我們只需要將體現(xiàn)事物主要方面的較少的幾個(gè)主要變量分離出來(lái),對(duì)此進(jìn)行詳細(xì)分析。但是,在一般情況下,并不能直接找出這樣的關(guān)鍵變量。這時(shí)我們可以用原有變量的線性組合來(lái)表示事物的主要方面,PCA就是這樣一種分析方法。PCA主要用于數(shù)據(jù)降維,對(duì)于由一系列特征組成的多維向量,其中某些元素本身沒有區(qū)分性,比如某個(gè)元素在所有的樣本中都相等,或者彼此差距不大,那么這個(gè)元素本身就沒有區(qū)分性,如果用它做特征來(lái)區(qū)分,貢獻(xiàn)會(huì)非常小。所以我們的目的是找那些變化大的元素,即方差大的那些維,而去除掉那些變化不大的維,從而使特征留下的都是“精品”,使得計(jì)算量也相應(yīng)變小。對(duì)于一個(gè)k維的特征來(lái)說(shuō),相當(dāng)于它的每一維特征與其他維都是正交的(相當(dāng)于在多維坐標(biāo)系中,坐標(biāo)軸都是垂直的),那么我們可以變化這些維的坐標(biāo)系,從而使這個(gè)特征在某些維上方差大,而在某些維上方差很小。所以我們的做法就是求得一個(gè)k維特征的投影矩陣,這個(gè)投影矩陣可以將特征從高維降到低維。投影矩陣也可以叫做變換矩陣。新的低維特征必須每個(gè)維都正交,特征向量都是正交的。通過(guò)求樣本矩陣的協(xié)方差矩陣,然后求出協(xié)方差矩陣的特征向量,這些特征向量就可以構(gòu)成這個(gè)投影矩陣了。3.2.2PCA算法原理令x為表示環(huán)境的m維隨機(jī)向量。假設(shè)x均值為零,即:E[x]=O。令w表示為m維單位向量,x在其上投影。這個(gè)投影被定義為向量x和w的內(nèi)積,表示為:而主成分分析的目的就是尋找一個(gè)權(quán)值向量w使得表達(dá)式E[y2]的值最大化:根據(jù)線性代數(shù)的理論,可以知道滿足式子值最大化的訓(xùn)應(yīng)該滿足下式:即使得上述式子最大化的w是矩陣Cx的最大特征值所對(duì)應(yīng)的特征向量。特征向量的選擇取決于協(xié)方差矩陣的特征值的大小。經(jīng)過(guò)PCA分析,一個(gè)多變量的復(fù)雜問(wèn)題被簡(jiǎn)化為低維空間的簡(jiǎn)單問(wèn)題??梢岳眠@種簡(jiǎn)化方法進(jìn)行作圖,形象地表示和分析復(fù)雜問(wèn)題。3.3主分量分析PCA和ICA比較主分量分析(ICA)的目的在于降低向量的維數(shù),取出隨機(jī)信號(hào)間的線性相關(guān)性,找出原始信號(hào)中隱含的內(nèi)在能量較大的信號(hào)。但是由于PCA方法在實(shí)際的計(jì)算式只涉及到輸入數(shù)據(jù)概率分布函數(shù)的二階統(tǒng)計(jì)特性(僅利用到信號(hào)的協(xié)方差矩陣),所以分解出的各分量相互正交,主分量之間并不一定不相關(guān),所以并不滿足ICA方法對(duì)輸入信號(hào)的獨(dú)立要求。從數(shù)理統(tǒng)計(jì)的角度來(lái)說(shuō),實(shí)際信號(hào)的大部分重要的信息往往包含在高階的統(tǒng)計(jì)特性中,因此只有當(dāng)多變量觀測(cè)數(shù)據(jù)是由高斯分布的源信號(hào)構(gòu)成時(shí),PCA方法才能用來(lái)實(shí)現(xiàn)信號(hào)的分離,這是由于服從正態(tài)分布的隨機(jī)過(guò)程的不相關(guān)性和統(tǒng)計(jì)獨(dú)立是等價(jià)的,用一階、二階統(tǒng)計(jì)特性就可以完全描述信號(hào)。然而,在實(shí)際的問(wèn)題中,真正滿足正態(tài)分布的隨機(jī)信號(hào)很少,絕大部分的隨機(jī)信號(hào)(如自然景物圖像、語(yǔ)音信號(hào)和腦電波等等)都不是高斯的。此外,ICA方法往往需要高階量,也就是在學(xué)習(xí)階段需要使用一定的非線性,然而非線性的使用并不影響輸入和輸出的線性映射關(guān)系。許多情況下ICA能夠提供比PCA更有意義的數(shù)據(jù),而PCA僅在源信號(hào)為高斯分布時(shí)才能實(shí)現(xiàn)ICA。盡管如此,在信號(hào)的預(yù)處理階段,PCA方法可以實(shí)現(xiàn)數(shù)據(jù)的預(yù)白化,為后續(xù)的工作提供了方便。

4語(yǔ)音信號(hào)的分離方案實(shí)現(xiàn)本設(shè)計(jì)用matlab采集3路語(yǔ)音信號(hào),選擇合適的混合矩陣生成若干混合信號(hào)。然后合語(yǔ)音信號(hào)的分離算法對(duì)混合信號(hào)進(jìn)行分離出原始信號(hào)。具體實(shí)現(xiàn)主要結(jié)合獨(dú)立分量分析ICA技術(shù),選取混合矩陣對(duì)3個(gè)語(yǔ)音信號(hào)進(jìn)行混合,并從混合信號(hào)中分離出原語(yǔ)音信號(hào),最后畫出各分離信號(hào)的時(shí)域波形和頻譜圖和原來(lái)的信號(hào)進(jìn)行比較。此外還運(yùn)用PCA算法進(jìn)行了混合語(yǔ)音信號(hào)的分離實(shí)現(xiàn),最終對(duì)兩種算法進(jìn)行比較。4.1語(yǔ)音信號(hào)的混合有題目要求根據(jù)盲信號(hào)分離原理,用matlab采集三路語(yǔ)音信號(hào),其語(yǔ)音信號(hào)如圖4-1所示。選擇合適的混合矩陣生成若干混合信號(hào),接下來(lái)在MATLAB中實(shí)現(xiàn)yy1.wav、yy2.wav、yy3.wav的混合,具體的程序先進(jìn)行初始化、然后去均值,白化,用隨機(jī)矩陣對(duì)這三路語(yǔ)音信號(hào)進(jìn)行混合,具體的程序代碼見附錄,運(yùn)行的結(jié)果如圖4-2所示:4-1原始語(yǔ)音信號(hào)和頻譜圖4-2語(yǔ)音混合信號(hào)和頻譜4.2語(yǔ)音信號(hào)的分離實(shí)現(xiàn)4.2.1FAST-ICA算法分離獨(dú)立分量分析的含義是把信號(hào)分解成若干個(gè)互相獨(dú)立的成分,它是為了解決盲信號(hào)分離的問(wèn)題而發(fā)展起來(lái)的。如果信號(hào)本來(lái)就是由若干獨(dú)立信源混合而成的,ICA就能恰好把這些信源分解開來(lái)。故在一般的文獻(xiàn)中通常把ICA等同于BSS,ICA不同于主分量分析把目光投注于信號(hào)的二階統(tǒng)計(jì)量,研究信號(hào)間的相關(guān)關(guān)系,而是基于信號(hào)的高階統(tǒng)計(jì)量,研究信號(hào)間的獨(dú)立關(guān)系。獨(dú)立分量分析中Fast-ICA算法是一種快速而數(shù)值穩(wěn)定的方法,采用擬牛頓算法實(shí)現(xiàn)尋優(yōu),具有超線性收斂速度,通常收斂速度較梯度下降尋優(yōu)算法快得多用FAST-ICA快速主成分分析算法實(shí)現(xiàn)混合信號(hào)的分離,,用FAST-ICA算法分離的語(yǔ)音信號(hào)圖形如圖4-3所示:圖4-3fastICA三路分離信號(hào)將原始3路語(yǔ)音信號(hào)與分離出來(lái)的語(yǔ)音信號(hào)作對(duì)比,發(fā)現(xiàn)分離出來(lái)的語(yǔ)音信號(hào)和原來(lái)的信號(hào)的形狀一樣,不同的是順序不一樣,信號(hào)的幅度也減少了,這恰好說(shuō)明了盲分離算法中允許存在兩個(gè)方面的不確定性:(1)排列順序的不確定性,無(wú)法了解所抽取的信號(hào)應(yīng)是源信號(hào)s(t)為哪一個(gè)分量.(2)信號(hào)幅度的不確定性,即無(wú)法知道源信號(hào)的真實(shí)幅值。4.2.2主分量分析算法分離當(dāng)多變量觀測(cè)數(shù)據(jù)是由高斯分布的源信號(hào)構(gòu)成時(shí),PCA方法也可以用來(lái)實(shí)現(xiàn)信號(hào)的分離,同樣用FAST-ICA快速主成分分析算法實(shí)現(xiàn)混合信號(hào)的分離,我們可以借鑒下面的波形,原始的語(yǔ)言信號(hào)是圖4-1中的信號(hào),用FAST-ICA算法分離的語(yǔ)音信號(hào)圖如圖4-4示:圖4-4PCA分離語(yǔ)音信號(hào)同樣,將原始3路語(yǔ)音信號(hào)與分離出來(lái)的語(yǔ)音信號(hào)作對(duì)比,發(fā)現(xiàn)分離出來(lái)的語(yǔ)音信號(hào)和原來(lái)的信號(hào)的形狀基本一樣,不同的是順序不一樣,信號(hào)的幅度也減少了,這恰好說(shuō)明了盲分離算法中允許存在兩個(gè)方面的不確定性:排列順序的不確定性和信號(hào)幅度的不確定性,還有一點(diǎn)可以看到,1、2、3的恢復(fù)波形有些失真,但總體上達(dá)到分離效果。4.2.3分離語(yǔ)音頻譜分析及比較在MATLAB中畫出1.wav、2.wav、3.wav這三段語(yǔ)音信號(hào)原始信號(hào)的時(shí)域和頻域圖,經(jīng)過(guò)混合,并對(duì)FAST-ICA、PCA快速主成分分析算法成功實(shí)現(xiàn)混合信號(hào)的分離的信號(hào)進(jìn)行頻域分析。以上對(duì)3路語(yǔ)音信號(hào)gequ1.wav、gequ2.wav、gequ3.wav,選取混合矩陣對(duì)語(yǔ)音信號(hào)進(jìn)行混合,并從混合信號(hào)中分離出原語(yǔ)音信號(hào),分別使用了FAST-ICA和PCA分離算法,最后畫出各分離信號(hào)的時(shí)域波形和頻譜圖和原來(lái)的信號(hào)進(jìn)行比較。此外還運(yùn)用PCA算法進(jìn)行了混合語(yǔ)音信號(hào)的分離實(shí)現(xiàn),下面對(duì)兩種算法進(jìn)行比較。對(duì)比可以發(fā)現(xiàn),不管是從時(shí)域波形來(lái)看還是頻譜來(lái)看,F(xiàn)AST-ICA算法分離的效果很好,PCA算法分離頻域分析和FAST-ICA算法分離類似。由上面的分離效果可以看出兩種算法都能夠?qū)旌闲盘?hào)進(jìn)行分離,發(fā)現(xiàn)分離出來(lái)的語(yǔ)音信號(hào)和原來(lái)的信號(hào)的形狀大體一樣,順序和原來(lái)的都不一樣,信號(hào)的幅度有的增大了,有的減少了。這些情況都比較符合盲分離算法中允許存在的排列順序的不確定性和信號(hào)幅度的不確定性值這兩種不確定性。從波形分離效果來(lái)說(shuō),在這次語(yǔ)音盲分離中FAST-ICA算法比PCA分離算法分離效果好。

5總結(jié)這次的設(shè)計(jì)主要對(duì)是忙語(yǔ)音分離,這方面在課程學(xué)習(xí)中均沒有涉及,但是在圖像處理以及Matlab使用基礎(chǔ)上是這一次的學(xué)習(xí)更加有意義,在查找資料到進(jìn)入語(yǔ)音信號(hào)分離課題的設(shè)計(jì)過(guò)程中對(duì)相關(guān)的領(lǐng)域有新的認(rèn)識(shí),掌握了簡(jiǎn)單的語(yǔ)音分離方法。在設(shè)計(jì)過(guò)程中,感受到算法在類似“雞尾酒會(huì)”語(yǔ)音信號(hào)中起到的作用,尤其是獨(dú)立分量分析方法,大量的算法均是在ICA算法的基礎(chǔ)上發(fā)展改進(jìn)而來(lái)的,這次的設(shè)計(jì)是一個(gè)入門,盲信號(hào)分離是一個(gè)廣闊的領(lǐng)域,不僅包括語(yǔ)音信號(hào),還有確定信號(hào)方面,圖像處理方面等等,在這些領(lǐng)域以后可以進(jìn)一步了解。語(yǔ)音信號(hào)是一種非平穩(wěn)信號(hào),本文研究了快速定點(diǎn)(FastICA)算法以及主分量分析算法(PCA),利用這兩種算法能夠有效地實(shí)現(xiàn)3路語(yǔ)音信號(hào)中的分離問(wèn)題,設(shè)計(jì)的Matlab實(shí)現(xiàn)得到良好的分離效果。這次設(shè)計(jì)中也遇到一些問(wèn)題,這些問(wèn)題的解決使我對(duì)盲信號(hào)處理有更全面的認(rèn)識(shí)。語(yǔ)音信號(hào)的盲分離中涉及大量的概率論、高數(shù)等數(shù)學(xué)基礎(chǔ),是各科知識(shí)的一個(gè)綜合,在接下來(lái)的學(xué)習(xí)中,希望在復(fù)習(xí)舊的知識(shí)點(diǎn),學(xué)習(xí)新的知識(shí)點(diǎn),繼續(xù)了解學(xué)習(xí)盲信號(hào)處理BSP這個(gè)領(lǐng)域。

參考文獻(xiàn)[1]馬建倉(cāng).《盲信號(hào)處理》.國(guó)防工業(yè)出版社,2006.6[2]趙艷.《盲源分離與盲信號(hào)提取問(wèn)題研究》.西安:西安理工大學(xué).2004.3[3]馬建芬.《語(yǔ)音信號(hào)分離與增強(qiáng)算法的研究》.電子工業(yè)出版社.2012.3[4]楊福生.《獨(dú)立分量分析的原理與應(yīng)用嗍》.北京:清華大學(xué)出版社,2003.[5]楊行峻《人工神經(jīng)網(wǎng)絡(luò)與盲信號(hào)處理》.清華大學(xué)出版社,2003.5附錄原始語(yǔ)音Matlab信號(hào)頻譜程序%(1)預(yù)處理clc;clearall;closeall;%讀入混合前的原始語(yǔ)音信號(hào)I1=wavread('yy1.wav')';I2=wavread('yy2.wav')';I3=wavread('yy3.wav')';S1=I1(1:150000);S2=I2(1:150000);S3=I3(1:150000);S=[S1;S2;S3];%3x176401矩陣Sweight=rand(size(S,1));%取一隨機(jī)3*3矩陣,作為信號(hào)混合的權(quán)矩陣MixedS=Sweight*S;%得到三個(gè)信號(hào)的混合信號(hào)3x176401矩陣fs=52050;%語(yǔ)音信號(hào)采樣頻率為52050y1=fft(S1,1024);%對(duì)信號(hào)做1024點(diǎn)FFT變換y2=fft(S2,1024);y3=fft(S3,1024);f=fs*(0:511)/1024;figure(1)subplot(4,3,1),plot(S1),title('原始語(yǔ)音信號(hào)yy1')subplot(4,3,2),plot(S2),title('原始語(yǔ)音信號(hào)yy2')subplot(4,3,3),plot(S3),title('原始語(yǔ)音信號(hào)yy3')%將混合矩陣重新排列并輸出subplot(4,3,4),plot(MixedS(1,:)),title('混合語(yǔ)音信號(hào)1'),subplot(4,3,5),plot(MixedS(2,:)),title('混合語(yǔ)音信號(hào)2'),subplot(4,3,6),plot(MixedS(3,:)),title('混合語(yǔ)音信號(hào)3'),MixedS_bak=MixedS;%將混合后的數(shù)據(jù)備份,以便在恢復(fù)時(shí)直接調(diào)用fs=52050;%語(yǔ)音信號(hào)采樣頻率為52050y1=fft(MixedS(1,:),1024);%對(duì)信號(hào)做1024點(diǎn)FFT變換y2=fft(MixedS(2,:),1024);y3=fft(MixedS(3,:),1024);f=fs*(0:512)/1024;subplot(4,3,7),plot(abs(y1)),title('混合語(yǔ)音信號(hào)1FFT頻譜'),subplot(4,3,8),plot(abs(y2)),title('混合語(yǔ)音信號(hào)2FFT頻譜'),subplot(4,3,9),plot(abs(y3)),title('混合語(yǔ)音信號(hào)3FFT頻譜'),%(2)歸一化處理MixedS_mean=zeros(3,1);%3*1矩陣fori=1:3MixedS_mean(i)=mean(MixedS(i,:));end%計(jì)算MixedS的均值fori=1:3forj=1:size(MixedS,2)%返回矩陣的列數(shù)MixedS(i,j)=MixedS(i,j)-MixedS_mean(i);endend%(3)白化處理MixedS_cov=cov(MixedS');%cov為求協(xié)方差的函數(shù)[E,D]=eig(MixedS_cov);%對(duì)矩陣的協(xié)方差函數(shù)進(jìn)行特征值分解Q=inv(sqrt(D))*(E)';%Q為白化矩陣MixedS_white=Q*MixedS;%MixedS_white為白化后的矩陣IsI=cov(MixedS_white');%IsI應(yīng)為單位陣 %(1)FAST-ICA算法X=MixedS_white;%以下算法將對(duì)X進(jìn)行操作[VariableNum,SampleNum]=size(X);numofIC=VariableNum;%在此應(yīng)用中,獨(dú)立元個(gè)數(shù)等于變量個(gè)數(shù)B=zeros(numofIC,VariableNum)%初始化列向量w的寄存矩陣,B=[b1b2...bd]forr=1:numofICi=1;maxIterationsNum=100;%設(shè)置最大迭代次數(shù)(即對(duì)于每個(gè)獨(dú)立分量而言迭代均不超過(guò)此次數(shù))IterationsNum=0;b=rand(numofIC,1)-.5;%隨機(jī)設(shè)置b初值b=b/norm(b);%對(duì)b標(biāo)準(zhǔn)化norm(b):向量元素平方和開根號(hào)whilei<=maxIterationsNum+1ifi==maxIterationsNum%循環(huán)結(jié)束處理fprintf('\n第%d分量在%d次迭代內(nèi)并不收斂。',r,maxIterationsNum);break;endbOld=b;a2=1;u=1;t=X'*b;g=t.*exp(-a2*t.^2/2);dg=(1-a2*t.^2).*exp(-a2*t.^2/2);b=((1-u)*t'*g*b+u*X*g)/SampleNum-mean(dg)*b;%核心公式b=b-B*B'*b;%對(duì)b正交化b=b/norm(b);ifabs(abs(b'*bOld)-1)<1e-9%如果收斂,則B(:,r)=b;%保存所得向量bbreak;endi=i+1;endB(:,r)=b;%保存所得向量bend%fastICA算法語(yǔ)音分離ICAedS=B'*Q*MixedS_bak%計(jì)算ICA后的矩陣%fastICA分離語(yǔ)音信號(hào)subplot(4,3,10),plot(ICAedS(1,:)),title('fastICA分離語(yǔ)音信號(hào)1')subplot(4,3,11),plot(ICAedS(2,:)),title('fastICA分離語(yǔ)音信號(hào)2')subplot(4,3,12),plot(ICAedS(3,:)),title('fastICA分離語(yǔ)音信號(hào)3')%(2)PCA算法分離[V,D]=eig(MixedS_cov);%協(xié)方差矩陣對(duì)角化Vtmp=zeros(size(V,1),1);forj=1:2%選擇最大的主元向量并排序fori=1:2ifD(i,i)<D(i+1,i+1)tmp=D(i,i);Vtmp=V(:,i);D(i,i)=D(i+1,i+1);V(:,i)=V(:,i+1);D(i+1,i+1)=tmp;V(:,i+1)=Vtmp;endendend%PCA算法語(yǔ)音分離t1=(MixedS'*V(:,1))';t2=(MixedS'*V(:,2))';t3=(MixedS'*V(:,3))';figure(2)subplot(3,3,1),plot(t1),title('PCA分離語(yǔ)音信號(hào)1')subplot(3,3,2),plot(t2),title('PCA分離語(yǔ)音信號(hào)2')subplot(3,3,3),plot(t3),title('PCA分離語(yǔ)音信號(hào)3')%分離后語(yǔ)音信號(hào)時(shí)域波形圖和頻域頻譜fs=52050;%語(yǔ)音信號(hào)采樣頻率為52050y11=fft(ICAedS(1,:),1024);%對(duì)信號(hào)做1024點(diǎn)FFT變換f=fs*(0:511)/1024;subplot(3,3,4);plot(ICAedS(1,:))%做分離語(yǔ)音信號(hào)1的時(shí)域圖形title('fastICA分離語(yǔ)音信號(hào)1');subplot(3,3,5);plot(abs(y11(1:512)))%做分離語(yǔ)音信號(hào)1的FFT頻譜圖title('fastICA分離語(yǔ)音信號(hào)1的FFT頻譜')y12=fft(ICAedS(2,:),1024);%對(duì)信號(hào)做1024點(diǎn)FFT變換subplot(3,3,6);plot(ICAedS(2,:))%做分離語(yǔ)音信號(hào)2的時(shí)域圖形title('fastICA分離語(yǔ)音信號(hào)2');subplot(3,3,7);plot(abs(y12(2:512)))%做分離語(yǔ)音信號(hào)2的FFT頻譜圖title('fastICA分離語(yǔ)音信號(hào)2的FFT頻譜')y13=fft(ICAedS(2,:),1024);%對(duì)信號(hào)做1024點(diǎn)FFT變換subplot(3,3,8);plot(ICAedS(3,:))%做分離語(yǔ)音信號(hào)3的時(shí)域圖形title('fastICA分離語(yǔ)音信號(hào)3');subplot(3,3,9);plot(abs(y13(1:512)))%做分離語(yǔ)音信號(hào)3的FFT頻譜圖title('fastICA分離語(yǔ)音信號(hào)3的FFT頻譜')sound(ICAedS(1,:),52050)附錄2預(yù)處理部分matlab程序混合、算法分離部分matlab的代碼:%(1)預(yù)處理clc;clearall;closeall;%讀入混合前的原始語(yǔ)音信號(hào)S1=wavread('yy1.wav')';S2=wavread('yy2.wav')';S3=wavread('yy3.wav')';S=[S1;S2;S3];%3x176401矩陣Sweight=rand(size(S,1));%取一隨機(jī)3*3矩陣,作為信號(hào)混合的權(quán)矩陣MixedS=Sweight*S;%得到三個(gè)信號(hào)的混合信號(hào)3x176401矩陣fs=52050;%語(yǔ)音信號(hào)采樣頻率為52050y1=fft(S1,1024);%對(duì)信號(hào)做1024點(diǎn)FFT變換y2=fft(S2,1024);y3=fft(S3,1024);f=fs*(0:511)/1024;figure(1)subplot(4,3,1),plot(S1),title('原始語(yǔ)音信號(hào)yy1')subplot(4,3,2),plot(S2),title('原始語(yǔ)音信號(hào)yy2')subplot(4,3,3),plot(S3),title('原始語(yǔ)音信號(hào)yy3')%將混合矩陣重新排列并輸出subplot(4,3,4),plot(MixedS(1,:)),title('混合語(yǔ)音信號(hào)1'),subplot(4,3,5),plot(MixedS(2,:)),title('混合語(yǔ)音信號(hào)2'),subplot(4,3,6),plot(MixedS(3,:)),title('混合語(yǔ)音信號(hào)3'),MixedS_bak=MixedS;%將混合后的數(shù)據(jù)備份,以便在恢復(fù)時(shí)直接調(diào)用fs=52050;%語(yǔ)音信號(hào)采樣頻率為52050y1=fft(MixedS(1,:),1024);%對(duì)信號(hào)做1024點(diǎn)FFT變換y2=fft(MixedS(2,:),1024);y3=fft(MixedS(3,:),1024);f=fs*(0:512)/1024;subplot(4,3,7),plot(abs(y1)),title('混合語(yǔ)音信號(hào)1FFT頻譜'),subplot(4,3,8),plot(abs(y2)),title('混合語(yǔ)音信號(hào)2FFT頻譜'),subplot(4,3,9),plot(abs(y3)),title('混合語(yǔ)音信號(hào)3FFT頻譜'),%(2)歸一化處理MixedS_mean=zeros(3,1);%3*1矩陣fori=1:3MixedS_mean(i)=mean(MixedS(i,:));end%計(jì)算MixedS的均值fori=1:3forj=1:size(MixedS,2)%返回矩陣的列數(shù)MixedS(i,j)=MixedS(i,j)-MixedS_mean(i);endend%(3)白化處理MixedS_cov=cov(MixedS');%cov為求協(xié)方差的函數(shù)[E,D]=eig(MixedS_cov);%對(duì)矩陣的協(xié)方差函數(shù)進(jìn)行特征值分解Q=inv(sqrt(D))*(E)';%Q為白化矩陣MixedS_white=Q*MixedS;%MixedS_white為白化后的矩陣IsI=cov(MixedS_white');%IsI應(yīng)為單位陣 附錄3算法的matlab程序(1)FAST-ICA算法X=MixedS_white;%以下算法將對(duì)X進(jìn)行操作[VariableNum,SampleNum]=size(X);numofIC=VariableNum;%在此應(yīng)用中,獨(dú)立元個(gè)數(shù)等于變量個(gè)數(shù)B=zeros(numofIC,VariableNum)%初始化列向量w的寄存矩陣,B=[b1b2...bd]forr=1:numofICi=1;maxIterationsNum=100;%設(shè)置最大迭代次數(shù)(即對(duì)于每個(gè)獨(dú)立分量而言迭代均不超過(guò)此次數(shù))IterationsNum=0;b=rand(numofIC,1)-.5;%隨機(jī)設(shè)置b初值b=b/norm(b);%對(duì)b標(biāo)準(zhǔn)化norm(b):向量元素平方和開根號(hào)whilei<=maxIterationsNum+1ifi==maxIterationsNum%循環(huán)結(jié)束處理fprintf('\n第%d分量在%d次迭代內(nèi)并不收斂。',r,maxIterationsNum);break;end

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論