基于MATLAB的語音信號采集與處理_第1頁
基于MATLAB的語音信號采集與處理_第2頁
基于MATLAB的語音信號采集與處理_第3頁
基于MATLAB的語音信號采集與處理_第4頁
基于MATLAB的語音信號采集與處理_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 工程設計論文 題 目:基于MATLAB的語音信號采集與處理 姓 名:班 級:學 號:指導老師:1. 選題背景 1、實踐意義: 語音信號是一種非平穩的時變信號,它攜帶著各種信息。在語音編碼、語音合成、語音識別和語音增強等語音處理中無一例外需要提取語音中包含的各種信息。語音信號分析的目的就在于方便有效地提取并表示語音信號所攜帶的信息。所以理解并掌握語音信號的時域和頻域特性是非常重要的。 通過語音相互傳遞信息是人類最重要的基本功能之一.語言是人類特有的功能.聲音是人類常用工具,是相互傳遞信息的最重要的手段.雖然,人可以通過多種手段獲得外界信息,但最重要,最精細的信息源只有語言,圖像和文字三種.與用

2、聲音傳遞信息相比,顯然用視覺和文字相互傳遞信息,其效果要差得多.這是因為語音中除包含實際發音內容的話言信息外,還包括發音者是誰及喜怒哀樂等各種信息.所以,語音是人類最重要,最有效,最常用和最方便的交換信息的形式.另一方面,語言和語音與人的智力活動密切相關,與文化和社會的進步緊密相連,它具有最大的信息容量和最高的智能水平。 語音信號處理是研究用數字信號處理技術對語音信號進行處理的一門學科,處理的目的是用于得到某些參數以便高效傳輸或存儲;或者是用于某種應用,如人工合成出語音,辨識出講話者,識別出講話內容,進行語音增強等.   語音信號處理是一門新興的學科,同時又是綜合性的多學科

3、領域,是一門涉及面很廣的交叉學科.雖然從事達一領域研究的人員主要來自信息處理及計算機等學科.但是它與語音學,語言學,聲學,認知科學,生理學,心理學及數理統計等許多學科也有非常密切的聯系. 語音信號處理是許多信息領域應用的核心技術之一,是目前發展最為迅速的信息科學研究領域中的一個.語音處理是目前極為活躍和熱門的研究領域,其研究涉及一系列前沿科研課題,巳處于迅速發展之中;其研究成果具有重要的學術及應用價值.數字信號處理是利用計算機或專用處理設備,以數值計算的方法對信號進行采集、抽樣、變換、綜合、估值與識別等加工處理,借以達到提取信息和便于應用的目的。它在語音、雷達、圖像、系統控制、通信、

4、航空航天、生物醫學等眾多領域都獲得了極其廣泛的應用。具有靈活、精確、抗干擾強、度快等優點。數字濾波器, 是數字信號處理中及其重要的一部分。隨著信息時代和數字技術的發展,受到人們越來越多的重視。數字濾波器可以通過數值運算實現濾波,所以數字濾波器處理精度高、穩定、體積小、重量輕、靈活不存在阻抗匹配問題,可以實現模擬濾波器無法實現的特殊功能。數字濾波器種類很多,根據其實現的網絡結構或者其沖激響應函數的時域特性,可分為兩種,即有限沖激響應( FIR,Finite Impulse Response)濾波器和無限沖激響應( IIR,Infinite Impulse Response)濾波器。FIR濾波器結

5、構上主要是非遞歸結構,沒有輸出到輸入的反饋,系統函數H (z)在處收斂,極點全部在z = 0處(因果系統),因而只能用較高的階數達到高的選擇性。FIR數字濾波器的幅頻特性精度較之于IIR數字濾波器低,但是線性相位,就是不同頻率分量的信號經過fir濾波器后他們的時間差不變,這是很好的性質。FIR數字濾波器是有限的單位響應也有利于對數字信號的處理,便于編程,用于計算的時延也小,這對實時的信號處理很重要。 FIR濾波器因具有系統穩定,易實現相位控制,允許設計多通帶(或多阻帶)濾波器等優點收到人們的青睞1。IIR濾波器采用遞歸型結構,即結構上帶有反饋環路。IIR濾波器運算結構通常由延時、乘以系數和相加

6、等基本運算組成,可以組合成直接型、正準型、級聯型、并聯型四種結構形式,都具有反饋回路。同時,IIR數字濾波器在設計上可以借助成熟的模擬濾波器的成果,如巴特沃斯濾波器等。2、 語音信號在國內外研究現狀語音信號處理是研究用數字信號處理技術和語音學知識對語音信號進行處理的新興的學科,是目前發展最為迅速的信息科學研究領域的核心技術之一。 60年代之前的發展主要有:1876年Bell發明電話,1939年H.Dudley研制成功第一個聲碼器,1942年Bell實驗室發明了語譜儀,1948年美國Haskin實驗室研制成功“語圖回放機”,1952年Bell實驗室研制成能識別十個英語數字的識別器。60

7、年代以后,隨著計算機技術的發展,語音信號處理技術獲得了長足的進步,計算機模擬實驗取代了硬件研制的傳統做法。各種突破性的思想不斷涌現。20世紀60年代中期形成的一系列數字信號處理的理論和算法,如數字濾波器、快速傅立葉變換(FFT)等是語音信號數字處理的理論和技術基礎,主要的有Martin等人為郵局研制了郵政編碼閱讀機。隨著信息科學技術的飛速發展,語音信號處理取得了重大的進展:進入70年代之后,提出了用于語音信號的信息壓縮和特征提取的線性預測技術(LPC),并已成為語音信號處理最強有力的工具,廣泛應用于語音信號的分析、合成及各個應用領域,以及用于輸入語音與參考樣本之間時間匹配的動態規劃方法;

8、60; 20世紀80年代,由于矢量量化,隱馬爾可夫模型和人工神經網絡(ANN)的研究取得了迅速發展,并相繼被應用與語音信號處理,經過不斷的改進與完善,使得語音信號處理技術產生了突破型的進展。進入20世紀90年代以來,語音信號的采集與分析在實用化這一方面取得了很多的實質性的進展。語音信號處理的各項課題是促進其發展的重要動力之一,同時,它的許多成果也體現在有關語音信號處理的各項技術之中。3、軟件支持:      MATLAB是matrix和laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。是由美國mathworks公

9、司發布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。它是一種科學計算軟件,專門以矩陣的形式處理數據。MATLAB將高性能的數值計算和可視化集成在一起,并提供了大量的內置函數,從而被廣泛的應用于科學計算、控制系統和信息處理等領域的分析、仿真和設計工作。MATLAB軟件包

10、括五大通用功能,數值計算功能(Nemeric)、符號運算功能(Symbolic)、數據可視化功能(Graphic)、數字圖形文字統一處理功能(Notebook)和建模仿真可視化功能(Simulink)。其中,符號運算功能的實現是通過請求MAPLE內核計算并將結果返回到MATLAB命令窗口。該軟件有三大特點,一是功能強大;二是界面友善、語言自然;三是開放性強。目前,Mathworks公司已推出30多個應用工具箱。MATLAB在線性代數、矩陣分析、數值及優化、數值統計和隨機信號分析、電路與系統、系統動力學、次那好和圖像處理、控制理論分析和系統設計、過程控制、建模和仿真、通信系統以及財政金融等眾多領

11、域的理論研究和工程設計中得到了廣泛應用。MATLAB在信號與系統中的應用主要包括符號運算和數值計算仿真分析。由于信號與系統課程的許多內容都是基于公式演算,而MATLAB借助符號數學工具箱提供的符號運算功能,能基本滿足信號與系統課程的需求。例如解微分方程、傅里葉正反變換、拉普拉斯正反變換和z正反變換等。MATLAB在信號與系統中的另一主要應用是數值計算與仿真分析,主要包括函數波形繪制、函數運算、沖擊響應與階躍響應仿真分析、信號的時域分析、信號的頻譜分析、系統的S域分析和零極點圖繪制等內容。數值計算仿真分析可以幫助學生更深入地理解理論知識,并為將來使用MATLAB進行信號處理領域的各種分析和實際應

12、用打下基礎。 MATLAB和Mathematica、Maple并稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。  MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優點,使MATLAB成為一個強大的數學軟件。在新的版本中也加入

13、了對C,FORTRAN,C+,JAVA的支持。可以直接調用,用戶也可以將自己編寫的實用程序導入到MATLAB函數庫中方便自己以后調用,此外許多的MATLAB愛好者都編寫了一些經典的程序,用戶可以直接進行下載就可以用。2、 實踐原理1、采樣定理:          在進行模擬與數字信號的轉換過程中,當采樣大于最高頻率的2倍時,則采樣之后的數字信號完整的保留了原始信號中的信息,一般實際應用中保證采樣頻率為信號最高頻率的510倍。 2、采樣頻率:    

14、;      采樣頻率是指計算機每秒鐘采樣多少個聲音樣本,是描述聲音文件的音質、音頻、衡量聲卡、聲音文件的質量標準。采樣頻率越高,即采樣的時間間隔越短,則在單位時間內計算機得到的聲音樣本數據越多,對聲音波形的表示也越準確。  3、采樣位數與采樣頻率:  采樣位數即采樣值或取樣值,用來衡量聲音波動變化的參數,是指聲卡在采集和播放聲音文件時所使用數字聲音信號的二進制位數。采樣頻率是指錄音設備在一秒鐘內對聲音信號的采樣次數,采樣頻率越高聲音的還原就越真實越自然。采樣位數和采樣率對于音頻接口來說是最為重

15、要的兩個指標。無論采樣頻率如何,理論上來說采樣的位數決定了音頻數據最大的力度范圍。采樣位數越多則捕捉到的信號越精確。4、 仿真原理 利用MATLAB對語音信號進行分析和處理,采集語音信號后,利用MATLAB軟件平臺進行頻譜分析;并對所采集的語音信號加入干擾噪聲,對加入噪聲的信號進行頻譜分析,設計合適的濾波器濾除噪聲,恢復原信號。語音信號的“ 短時譜”對于非平穩信號, 它是非周期的, 頻譜隨時間連續變化, 因此由傅里葉變換得到的頻譜無法獲知其在各個時刻的頻譜特性。如果利用加窗的方法從語音流中取出其中一個短斷, 再進行傅里葉變換, 就可以得到該語音的短時譜。MATLAB在信號與系統中的應用主要包括

16、符號運算和數值計算仿真分析。由于信號與系統課程的許多內容都是基于公式演算,而MATLAB借助符號數學工具箱提供的符號運算功能,能基本滿足信號與系統課程的需求。例如解微分方程、傅里葉正反變換、拉普拉斯正反變換和z正反變換等。MATLAB在信號與系統中的另一主要應用是數值計算與仿真分析,主要包括函數波形繪制、函數運算、沖擊響應與階躍響應仿真分析、信號的時域分析、信號的頻譜分析、系統的S域分析和零極點圖繪制等內容。數值計算仿真分析可以幫助學生更深入地理解理論知識,并為將來使用MATLAB進行信號處理領域的各種分析和實際應用打下基礎3。濾波器的設計可以通過軟件或設計專用的硬件兩種方式來實現。隨著MAT

17、LAB軟件及信號處理工具箱的不斷完善,MATLAB很快成為應用學科等領域不可或缺的基礎軟件。它可以快速有效地實現數字濾波器的設計、分析和仿真,極大地減輕了工作量,有利于濾波器設計的最優化。 利用MATLAB中的隨機函數產生噪聲加入到語音信號中,模仿語音信號被污染,并對其進行頻譜分析;設計巴特沃斯濾波器, 并對被噪聲污染的語音信號進行濾波, 對濾波前后信號進行時域分析。5、相關的信號知識:傅里葉變換在信號處理中具有十分重要的作用,它通常能使信號的某些特性變得很明顯,而在原始信號中這些特性可能含糊不清或至少不明顯.在語音信號處理中,傅里葉表示在傳統上一直起主要作用.其原因一方面在于穩態語音的生成模

18、型由線性系統組成,此系統被一隨時間作周期變化或隨機變化的源所激勵.因而系統輸出頻譜反映了激勵與聲道頻率響應特性.另一方面,語音信號的頻譜具有非常明顯的語音聲學意義,可以獲得某些重要的語音特征(如共振峰頻率和帶寬等)根據語音信號的產生模型,可以將其用一個線性非時變系統的輸出表示,即看作是聲門激勵信號和聲道沖激響應的卷積.在語音信號數字處理所涉及的各個領域中,根據語音信號求解聲門激勵和聲道響應具有非常重要的意義.例如,為了求得語音信號的共振蜂就要知道聲道傳遞函數(共振峰就是聲道傳遞函數的各對復共軛極點的頻率).又如,為了判斷語音信號是清音還是濁音以及求得濁音情況下的基音頻率,就應知道聲門激勵序列.

19、在實現各種語音編碼,合成,識別以及說話人識別時無不需要由語音信號來求得聲門激勵序列和聲道沖激響應.三、具體流程利用MATLAB對語音信號進行分析和處理,采集語音信號后,利用MATLAB軟件平臺進行頻譜分析;并對所采集的語音信號加入干擾噪聲,對加入噪聲的信號進行頻譜分析,設計合適的濾波器濾除噪聲,恢復原信號。語音信號的濾波示意圖:4、 具體分工與實踐步驟此課題主要分為兩部分:加噪與消噪,我做的是消噪部分,實踐步驟如下:1、語音信號的采集與分析 (1)利用 PC機上的聲卡和 WINDOWS操作系統可以進行數字信號的采集。將話筒插入計算機的語音輸入插口上,啟動錄音機。按

20、下錄音按鈕,對話筒念一段課文,說完后停止錄音。(2)以文件名 “錄音” 保存入C盤中。可以看到 ,文件存儲器的后綴默認為.wav。要保存文件時,利用了計算機上的A/D轉換器,把模擬的聲音信號變成了離散的量化了的數字信號,放音時,它又通過D/A轉換器,把保存的數字數據恢復為原來的模擬的聲音信號。之后將該語音文件放入MATLAB文件夾中。3) 在 Matlab軟件平臺下可以利用函數audioread對語音信號進行采樣,得到了聲音數據變量name,name,fs0=audioread('luyin.m4a',100,namex);同時把name

21、的采樣頻率fs0和數據放進了MATALB的工作空間,同時用fft(name)函數繪制原始語音信號的頻率響應圖。圖figure 1為原始語音信號的時域圖形和頻域圖形。2、利用余弦函數構造一個高頻噪聲  在Matlab中人為設計一固定頻率1500Hz的噪聲干擾信號。噪聲信號通常為隨機序列,在本設計中用余弦序列代替。干擾信號構建命令函數為noise=0.05*sin(2*pi*f0*t);Noise=zeros(N,2);Noise(:,1)=noise'Noise(:,2)=noise'Y=name+Noise;若帶噪信號y(m)是純凈語音信號s(m)

22、和平穩加性高斯白噪聲n(m)構成的,即:y(m) =x(m) +n(m);則在頻域中表示為Y()=X()+N();其中Y(),X(),N()分別是y(m),x(m),n(m)的傅里葉變換。X()=Y()-N();只要從帶噪信號中減去噪聲信號即可估計出語音信號,再進行傅里葉反變換就可得到增強的語音。3、設計濾波器對加噪語音濾波 計算濾波器的性能指標,設計濾波器,用自己設計的濾波器對采集的信號進行濾波,得出濾波后信號的時域波形和頻譜,并對濾波前后的信號進行對比,分析信號的變化,并回放語音信號,感覺濾波前后的聲音有變化。5、 程序設計及仿真圖源程序:clear allc

23、lcnamex=4e5;name,fs0=audioread('luyin.m4a',100,namex);N=length(name);figure(1)subplot(1,2,1);x=0:N-1/fs0;plot(x,abs(name);title('原始音頻信號時域')subplot(1,2,2);x=0:(N-1)*fs0/N;plot(x,abs(fft(name);title('原始音頻信號頻域')sound(name,fs0)t=0:(1/fs0):(N-1)/fs0;f0=1.5e4;noise=0.05*sin(2*pi*f0

24、*t);Noise=zeros(N,2);Noise(:,1)=noise'Noise(:,2)=noise'Y=name+Noise;Yf=fft(Y);figure(2)subplot(1,2,1);x=0:N-1/fs0;plot(x,abs(Y);title('混雜音頻信號時域')subplot(1,2,2);x=0:(N-1)*fs0/N;plot(x,abs(Yf);title('混雜音頻信號頻域')sound(Y,fs0);%設計濾波器?取N=30;截止頻率為1.4248。n=0:29;hd=sin(1.4248*(n-29/2).

25、/(pi*(n-29/2);figure(3)subplot(1,2,1)plot(abs(hd);title('濾波器時域')x=fs0/10000*0:(10000-1);hdf=fft(hd,10000);subplot(1,2,2)plot(x,db(abs(hdf)title('濾波器頻域')YA=filter(hd,1,Y);sound(YA,fs0)N=length(YA);figure(4)%plot(x,abs(fft(YA);subplot(1,2,1);x=0:N-1/fs0;plot(x,abs(YA);title('濾波后音頻信

26、號時域')subplot(1,2,2);x=0:(N-1)*fs0/N;plot(x,abs(fft(YA);title('濾波后音頻信號頻域')程序運行結果: 6、 心得體會 通過這一個星期的工程設計,我學到了很多的東西,不僅鞏固了我以前所學過的知識, 還讓我學到很多在書本上所沒有學到過的知識。 同時進一步加深了對語音信號的了解和熟練了對Matlab的使用, 讓我對數字信號處理這門課程有了更加濃厚的興趣。 因為以前都是基于課本上所學的理論知識,然而通過這次課程設計之后才能真正理解其意義。 在整個設計過程中我懂得了許多東

27、西,也培養了獨立思考和設計的能力,樹立了對知識應用的信心,相信會對今后的學習工作和生活有非常大的幫助,并且提高了自己的動手實踐操作能力, 使自己充分體會到了在設計過程中的成功喜悅。雖然這個設計做的不怎么好,但是在設計過程中所學到的東西是這次課程設計的最大收獲和財富,使我終身受益。在沒有做課程設計以前,覺得工程設計只是對知識的單純總結,但是通過這次課程設計發現自己的看法有點太片面,課程設計不僅是對前面所學知識的一種檢驗,也是對自己能力的一種提高,通過這次課程設計使自己明白了原來的那點知識是非常欠缺的,要學習的東西還很多,通過這次課程設計,明白學習是一個長期積累的過程,在以后的工作和生活中都應該不

28、斷的學習,努力提高自己的知識和綜合素質。 在這次工程設計的過程中,我遇到不少的問題,比如剛開始要畫頻譜圖時,不知道其頻率軸應該怎么表示,經過進一步對課本的學習之后,才明白它是怎樣的變換關系。只有把所學的理論知識與實踐相結合起來,才能更好的理解理論。總的來說,通過這次的工程設計我對語音信號有了全面的認識,對Matlab的知識又有了深刻的理解, 讓我感受到只有在充分理解課本 知識的前提下,才能更好的應用這個工具。而熟練的掌握這門工具也是我們必不可少的技能。 在工程設計過程中,我們不斷發現錯誤,不斷改正,不斷領悟,本身就是在踐行“過而能改,善莫大焉”的知行觀。這次工程設計終于順利完成了,在設計中遇到了很多問題,最后在老師的指導下,終于游逆而解。在今后社會的發展和學習實踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發現問題所在,然后一一進行解決,只有這樣,才能成功的做成想做

溫馨提示

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

評論

0/150

提交評論