根據LMS最小均方誤差法的語音降噪北工大_第1頁
根據LMS最小均方誤差法的語音降噪北工大_第2頁
根據LMS最小均方誤差法的語音降噪北工大_第3頁
根據LMS最小均方誤差法的語音降噪北工大_第4頁
根據LMS最小均方誤差法的語音降噪北工大_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、信號處理與分析課程設計報告項目名稱:基于LMS最小均方誤差法的語音降噪姓名:07021102臺斯瑤07021106 王金泊指導教師:李如瑋目錄 TOC o 1-5 h z HYPERLINK l bookmark4 o Current Document 一、課題背景和簡介 4 HYPERLINK l bookmark6 o Current Document 二、訓練目的 5 HYPERLINK l bookmark8 o Current Document 三、訓練內容 6四、 最小均方差LMS實現自適應濾波器的方法介紹 61、濾波器結構設計 2、高斯白噪聲的實現方法 113、LMS算法的實現

2、HYPERLINK l bookmark14 o Current Document 六、實驗結果分析14 HYPERLINK l bookmark16 o Current Document 七、從實驗中分析LMS算法的缺點 19 HYPERLINK l bookmark18 o Current Document 八、實驗完整程序20 HYPERLINK l bookmark20 o Current Document 九、參考文獻 27十、特別鳴謝一、課題背景和簡介本課題是根據電子信息類本科生信號處理和分析課程的學習內容和語音信 號處理的實際應用相結合而設計的實踐性訓練。課程訓練以數字信號處理為

3、基 礎,在掌握基本原理的同時,理解語音信號的相關知識并結合實際應用實現對語 音信號的分析和處理。濾波是一種數字信號處理操作,其目的是為了處理某個信號,以便提取出輸 入信號中所包含的期望信息。在數字信號處理課程中,我們基本掌握了一些線性 濾波器的設計方法,有固定的規(guī)范可遵循。 而在我們的實際生活中,充滿了偶然 和隨機,時不變?yōu)V波器已不能夠滿足更好效果的濾波。在這種情況下, 我們就需 要自適應濾波器??梢钥吹?,隨著數字超大規(guī)模集成技術的發(fā)展,自適應濾波技術在很多領域得到了廣泛應用最小均方算法是一種搜索算法,他通過對目標函數進行適當的調整, 簡化了 對梯度相量的計算。由于其計算簡單性,LMS算法以及

4、其它一些相關算法已廣泛應用于自適應濾波的各種應用中。而 LMS算法是自適應濾波理論中應用最廣 泛的算法。這主要歸因于其地計算復雜度、在平穩(wěn)環(huán)境中的收斂性、其均值無偏地收斂到維納解以及利用有限精度算法實現時的穩(wěn)定特性等等。對LMS最小均方算法的學習,將加深我們對數字信號處理課程的理解,同時對我們今后濾波技術的應用奠定了鞏固的基礎。二、訓練目的通過利用c程序實現數字信號處理的相關功能,鞏固對信號處理原理知 識的理解,提高實際編程和處理數據的綜合能力,初步培養(yǎng)在解決信號處理實際 應用問題中所應具備的基本素質和要求。培養(yǎng)研發(fā)能力,通過設計實現不同的信號處理問題,初步掌握在給定條 件和功能的情況下,實現

5、合理設計算法結構的能力。提高文獻整理和資料查詢的能力。通過課下對相關語音知識的學習和理 解,培養(yǎng)快速解決實際問題的能力,并在文獻整理的過程中學會科技文獻的寫作, 提咼語言表達能力三、訓練內容根據語音信號的特點,利用不同信噪比的高斯白噪聲對語音進行加噪,利用 LMS最小均方誤差法設計實現自適應濾波器,并討論語音狀態(tài)變化下的收斂情 況。四、最小均方差LMS實現自適應濾波器的方法介紹自適應濾波器 是符合某種準則的最佳濾波器。它是通過對環(huán)境進行學習,逐 漸達到或逼近最優(yōu)濾波器。由于學習過程中有“導師”存在,因此它是一種具有 監(jiān)督學習功能的過程。當濾波器的應用環(huán)境發(fā)生緩慢變化時, 相當于濾波器應用 于非

6、平穩(wěn)環(huán)境,但環(huán)境變化比學習速度更緩慢時,自適應濾波器能夠自適應地跟蹤這種非平穩(wěn)變化用1自謹直牡渭*原理圖開始時,給FIR濾波器賦予任意的初始權系數,在每個時刻,用當前權系數對輸入信號進行濾波運算,產生輸出信號,輸出信號與期望響應的差定義為誤差信號,由誤差信號與輸入信號矢量一起構造一個校正量,自適應地調整權矢量, 使誤差信號趨于降低的趨勢,從而使濾波器逐漸達到或接近最優(yōu)LMS最小均方誤差的方法是由最速下降法推導而出。最速下降法需要求出其梯度的精確值,要求輸入信號和期望信號平穩(wěn),且2RxxW 2 Rdx (Rak=抽頭輸入向量u(n)與期望響應d(n)的互相關向量;Rxx=抽頭輸入向量u(n)的相

7、關 矩陣;W=抽頭權向量)要首先估計Rxx和Rdx,這給具體實現帶來很大困難,因 此該算法還不是真正意義的自適應濾波算法,但討論最陡下降法是有意義,由最陡下降法可以很直觀地導出一類自適應濾波算法-LMS算法。LMS算法的基本思想:調整濾波器自身參數,使濾波器能夠自適應地跟蹤這種輸入信號的變化,實現最優(yōu)濾波。當橫向濾波器運行在實數據的情況下,該算法大體上可描述為:抽頭權向量更新值=老的抽頭權向量值+學習速率參數*抽頭輸入向量*誤差信號其中誤差信號定義為期望向量與抽頭輸入向量所產生的橫向濾波器的實際向量 之差設輸入信號為u( n) ,LMS算法理論推導過程如下:N 1濾波器輸出 y(n)為:y(n

8、)WkU(n k) n 0,1,2(1)k 0由誤差定義得:e(n) d(n )-y( n)使用最小均方誤差法,得代價函數為均方誤差為:2J Ee (n)( 3)式中J是濾波器的系數k w (k = 0,1,2,)的函數。通過選擇最優(yōu)的系數,使J達到最小值定義梯度向量為? J,血 2E型e(n)2Eu(n k)e(n) k 0,1,2(4)另外,最陡下降迭代方程為:w(n +1) = w(n) - ii? ? J(n)LMS是直接利用單次采樣數據獲得的e2 (n)來代替均方誤差J (n),從而進行梯度估計,J(n)遜2w( n)每次迭代時計梯度估計為:2TTTd (n) w (n)u(n)u

9、(n)w(n) 2d(n)u (n)w(n) w( n)2u( n)uT (n) w( n) 2d (n)u( n)2d(n) uT(n)w(n)u(n)2 e(n)u(n)式(6)代入式(5),得到系數向量自適應迭代法:w(n +1) = w(n) - i? ? J (n) = w(n) + 2 pe(n)u(n)式(7 )稱最小均方自適應算法LMS五、實驗設計及實施過程自適應濾波器的基本原理:所謂自適應濾波,就是利用前一時刻已經獲得的 濾波器參數的結果,自動的調節(jié)顯示課的濾波器的參數, 以適應信號和噪聲未知 的或隨時間變化的統(tǒng)計特性,從而實現最優(yōu)濾波。自適應濾波器實質上就是一種 能調節(jié)器自

10、身傳輸特性已達到最優(yōu)的維納濾波器。 自適應濾波器不需要關于輸入 信號的先驗知識,計算量小,特別是用于實時處理。由于無法預知信號和噪聲的特性,必須設計自適應濾波器,以跟蹤信號和噪 聲的變化。自適應濾波器的特性變化是由自適應算法通過調整濾波器系數來實現的。一般而言,自適應濾波器有兩部分組成,已是濾波器的結構,二是調整濾波器系數的自適應算法。本實驗的濾波結構采用FIR濾波器設計,自適應算法采用LMS最小均方差算法??傮w結構圖如圖11、濾波器結構設計FIR濾波器原理FIR濾波器的數學表達式為y(ff) =禍(8)式中:N為FIR濾波器的抽頭數;x(n)為第n時刻的輸入樣本;h(i)為FIR濾波 器第i

11、級抽頭系數。在本實驗中,即為 w(n);其相應的z變換為:n- 1(9) 式中:z-i為N-1階多項式。普通的直接型FIR濾波器結構如圖2所示兩 r1 r1圖2FIR濾波器直線型結構在本實驗中,抽頭系數會根據每一次的輸出進行自適應修改。程序實現對輸入信號xi和濾波系數wi進行時域的卷積和,求出輸出信號 y.for(i=0;iBUFLEN;i+)y=y+xi*wi;/實際輸出信號的合成2、高斯白噪聲的實現方法高斯白噪聲的原理高斯白噪聲:具有高斯分布的噪聲就成為高斯噪聲,而它的功率譜密度又是均勻分布的,則稱它為高斯白噪聲。在本實驗中,我組針對高斯白噪聲的特點進行了程序的設計。首先確定的我們需要的白

12、噪聲的期望值、方差、和噪聲數組的長度,通過一個專門產生白噪聲的種子文件進行設計,利用如下公式,最終得到 了所需要的白噪聲信號。根據定理:設口, .片(0,1)為n個相互獨立的均勻分布的隨機數,其期望為E(rJ,方差為D(rJ,有中心極限定理可知(如果 n個獨立隨機變量的分布式相 同的,并且具有有限的數學期望和方差,當n無窮大時,它們之和的分布趨近于 高斯分布;即使n個獨立隨機變量不是相同分布的,當 n無窮大時,如果滿足 任意一個隨機變量都不占優(yōu)或對和的影響足夠小, 那么它們之和的分布仍然趨于 高斯分布),當n充分大時,有xD(rJni irinE(rJ(10)程序實現方法for(k=0;k=n

13、-1;k+)t=0.0;for(i=1;i=12;i+)*r=(*r)*w+v;/ 取 D(ri)=1/ 12 次/ 求 r,s=65536.0;w=2053.0;v=13849.0;*r=*r-m*s; t=t+(*r)/s;ak=u+g*(t-6.0);/求整數后余下的數/累加到t中/放到ak中,產生高斯白噪聲過程信噪比的改變?yōu)榱藴y試噪聲信號的改變對LMS算法最終效果的影響,我組對噪聲信號進行了信號能量強度處理。處理方法即使通過給已產生的信號乘上一個系數,通過系數值的改變來調節(jié)信號的能量。系數值得計算方法為snrate |esSNR( 11)Yn s*10_10式中,SNR為信噪比,es為

14、原始聲音的均值,ns為噪聲的均值。程序實現:snrate=sqrt(es/ns/pow(10,SNR/10);/ 開根號 pow 計算 10 的(14)SNR/10次方的值,求能量,為了達到信噪比 20DB而乘上的系數,SNR為信噪比3、LMS算法的實現LMS最小均方差算法的原理已在前文給出。本實驗就以該原理為基礎進行設 計。在此不多贅述。需要注意幾點:LMS的收斂性LMS算法的收斂因子必須在如下范圍內選?。簃ax(12)0嚴2/(MS max)其中Smax是抽頭輸入U(n)的功率譜密度的最大值,而濾波器長度M為中到大(13)W。在滿足收斂條件下,才有即,值得合理選取確保了系數向量的平均值接近

15、于最優(yōu)系數向量實際中,通常選得很小,選1NE x2在實驗中,選定N=10實驗程序為:mu=mu+s n*sn;mu=1/(10*(mu);sn為加噪信號,即為式(14 )中x抽頭系數的自適應改變抽頭系數的自適應改變是LMS算法中的一個重要部分,沒有他的改變,自適應也就無從談起。我們設計的濾波器權系數控制電路如圖3圖3 FIR 濾波器中第i個權系數的控制電路圖根據權系數的計算方法 Wj Li Wji 2 ejXjii 1,2,川小(15) 我們得到程序設計:for(i=0;iBUFLEN;i+)/做下一信號的權值wi=wi+e*xi*mu;初始化抽頭權向量為0六、實驗結果分析圖4原始聲音信號頻譜

16、圖圖5 高斯白噪聲頻譜圖0圖6加噪聲之后的頻譜圖圖7濾波后的語譜圖4x 10500Map1Map2Map3圖8 matlab 仿真圖Map1原始聲音Map2加了噪聲后的語音Map3降噪后的語音七、從實驗中分析LMS算法的缺點LMS保證算法收斂并減少失調系數,通常把收斂因子取得比較小,這樣使 它存在收斂慢的缺點;如果卩值取的過大,可以快速達到收斂,但是很大程度上 影響系統(tǒng)穩(wěn)定度。另外,在具體實現權系數調整時,運算精度非常重要,因為該算法對抽頭輸入相關矩陣條件數(矩陣的條件數定義為最大特征值與最小特征值之比)的變化比較敏感。要求所用的乘法器和加法器有很高的精度, 這樣增加了成本,降低 了運算速度,

17、針對這些問題,國內外提出了一些改進算法。如LMS2算法、LMSQ 算法、MLMS(修正的LMS)算法、TDO和LMF算法等。并且,LMS算法是對誤差的一種跟蹤,所以對于處理比較嘈雜的語音信號 的時候,誤差誤差隨時在變,所以并不是能做到很好的跟蹤。 而對于誤差變化不 大的信號,如正弦波等,就能做到很好的無差跟蹤,幾乎可以全部復原原信號。 因為作為自適應濾波器,對輸出有一個學習以及追蹤的功能, 但是條件是外部環(huán) 境變化要比學習速度緩慢。當處理連續(xù)變化的語音信號時,LMS算法并不能很好的應用,在于誤差e2(n)在不斷的變化。從MATLAB時域圖中我們可以看到降 噪效果很好,但是用COOLEDITOR

18、進行頻譜分析的時候就可以看出,對于連續(xù) 變化的語音部分,LMS并不是能很好的降噪八、實驗完整程序LMS (主函數)部分:#in elude math.h#i nclude stdio.h#define SNR 20/ 信噪比#defi ne BUFLEN 50#defi ne RNSLEN 50000void grn s(double,double,double *,i nt,double *);mai n()FILE *fp, *fps,*fpx, *fpy, *fpe1,*fpe2,*fpes,*fpxs,*fpys;short s1=0;double s=0.0;double sn=0.

19、0;double u=0;double g=1.0;double r=1.0;double ran=0;double es=0.0;double sn rate=0.0;double n s=0.0;double xBUFLEN=0.0;double dBUFLEN=0.0;short xs=0;short ys=0;double wBUFLEN=0.0;double y=0.0;double mu=1e-8;/ 初始化double e=0.0;/ 初始化double rnsbuffRNSLEN=0.0;int i=0,j=0;int nu mp=0;/打開文件fp=fope n(ton e.

20、dat,rb);fpes=fope n(t on e.dat,rb);fps=fope n( s.dat,wb);fpx=fope n(x.dat,wb);nu mp=fread(&s1,sizeof(short),1,fp);/把fp所指的數據讀i=i+1;nu mp=fread(&s1,sizeof(short),1,fpes);/指針自動加1fpy=fope n( y.dat,wb); fpe仁fope n( e1.dat,wb); fpe2=fope n(e2.dat,wb); fpxs=fope n( xs.dat,wb); fpys=fope n( ys.dat,wb);nu mp

21、=fread(&s1,sizeof(short),1,fpes);/sizeof(short)長度運算符&s1取地址fread從fpes所指向的文件的位 置讀取長度為sizeof(short)的1個數據項,存到s1所指向的內存單兀,返回所讀的數據項個數,文件結束或出錯返回0es=0.0;i=0;while( nu mp=1)es=es+s1*s1;/平方后相加es=es/i;grns(u,g,&r,RNSLEN,rnsbuff); ns=O.O;for(i=0;i0;i-)xi=xi-1;di=di-1;mu=mu+xi*xi;/ 算一個數就往后擠一個數再算 d0=s;fwrite(&ys,sizeof(short),1,fpys);/整形的降噪輸出信號mu=mu+s n*sn;mu=1/(10*(mu);xi是合成信號,di是純凈語音信號/求步長,通過ExA2來求,y=0.0;for(i=0;iBUFLEN;i+)y=y+xi*wi;e=d0-y;/實際輸出信號的合成/真實信號和實際輸出信號

溫馨提示

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

評論

0/150

提交評論