




已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
*大學課程設計課程設計(論文)任務書 學院 專業(yè) 班 一、課程設計(論文)題目基于 matlab 的語音信號分析與處理的課程設計二、課程設計(論文)工作自 年 月 日起至 年 月 日止。三、課程設計(論文) 地點: 四、課程設計(論文)內(nèi)容要求:1本課程設計的目的綜合運用數(shù)字信號處理的理論知識進行頻譜分析和濾波器設計,通過理論推導得出相應結論,再利用 matlab 作為編程工具進行計算機實現(xiàn),從而加深對所學知識的理解,建立概念。 2課程設計的任務及要求1)基本要求: 學會 matlab 的使用,掌握 matlab 的程序設計方法。 掌握在 windows 環(huán)境下語音信號采集的方法。 掌握數(shù)字信號處理的基本概念、基本理論和基本方法。 掌握 matlab 設計 fir 和iir 數(shù)字濾波器的方法。 學會用 matlab 對信號進行分析和處理。 2)創(chuàng)新要求: 在基本要求達到后,可進行創(chuàng)新設計,如界面優(yōu)化等。3)課程設計報告要求(1)要課程設計目的及要求(2)要課程設計詳細設計過程及調(diào)試分析(3)要結果分析與體會(4)要按照書稿的規(guī)格打印課程設計(5)課程設計包括目錄、緒論、正文、小結、參考文獻、謝辭、附錄等(6)要按照書稿的規(guī)格打印課程設計,裝訂按學校的統(tǒng)一要求完成4)答辯與評分標準: (1)完成原理分析:20分; (2)完成設計過程:40分; (3)完成調(diào)試:20分;(4)回答問題:20分。5)參考文獻: 1胡廣書 數(shù)字信號處理理論、算法與實現(xiàn)(第二版) 清華出版社 2陳桂明 應用matlab語言處理數(shù)字信號與數(shù)字圖像 科技出版社 3程佩青 數(shù)字信號處理(第三版) 清華出版社 4 5劉敏,魏玲matlab通信仿真與應用m 國防工業(yè)出版社 6陳懷琛、吳大正 matlab及在電子信息課中的應用 電子工業(yè)出版社 6)課程設計進度安排內(nèi)容 天數(shù)地點構思及收集資料 1圖書館編程與調(diào)試 3實驗室撰寫論文 1圖書館、實驗室學生簽名: 2008年12月29日課程設計(論文)評審意見(1)完成原理分析(20分):優(yōu)()、良()、中()、一般()、差(); (2)設計分析(40分):優(yōu)()、良()、中()、一般()、差(); (3)完成調(diào)試(20分):優(yōu)()、良()、中()、一般()、差();(4)回答問題(20分):優(yōu)()、良()、中()、一般()、差();(5)格式規(guī)范性及考勤是否降等級:是()、否()評閱人: 職稱: 講師 2009年 月 日目錄緒論4第1章 設計的過程511 語音信號的采集512 語音信號的頻譜分析6(一)巴特沃思濾波器屬于iir濾波器8(二)海明窗濾波器屬于fir型濾波器914 用濾波器對信號進行濾波1025 比較濾波前后語音信號的波形及頻譜1126 回放語音信號1227 設計系統(tǒng)界面1328 作者介紹及謝辭15第2章 設計的思想流程圖16第3章 課程設計的心得體會16第4章 附錄程序及相應的波形圖18附錄一:主程序18(1).用matlab對原始語音信號進行分析,畫出它的時域波形和頻譜18(2).給原始的語音信號加上一個高頻余弦噪聲,頻率為1800hz19(3).將噪聲信號加入原始信號中程序19(4).濾波器的類型設計程序21(5).用sound函數(shù)播放語音信號程序25附錄二:界面設計的程序26謝辭29參考文獻30緒論本次的課程設計是利用matlab對信號進行采樣、分析以及根據(jù)信號的特點設計出合適的數(shù)字濾波器對信號進行濾波。matlab名字是由matrix和laboratory兩個詞的前三個字母組合而成的。它是mathworks公司于982年推出的一套高性能的數(shù)值計算和可視化數(shù)學軟件。它一般用于數(shù)值分析、矩陣運算、數(shù)字信號處理、建模和系統(tǒng)控制和優(yōu)化等應用程序,并集應用程序和圖形于一便于使用的集成環(huán)境中。由于matlab不需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專門的庫函數(shù),使之在求解諸如信號處理、建模、系統(tǒng)識別、控制、優(yōu)化等領域的問題時,顯得大為簡捷、高效、方便,這是其它高級語言所不能比擬的。matlab中包括了被稱作工具箱(toolbox)的各類應用問題的求解工具。工具箱實際上是對matlab進行擴展應用的一系列matlab函數(shù)(稱為m文件),它可用來求解各類學科的問題,包括信號處理、圖象處理、控制系統(tǒng)辨識、神經(jīng)網(wǎng)絡等。其主要內(nèi)容涉及了從波形產(chǎn)生到濾波器設計和參量建模以及信號譜分析的范圍,核心領域為濾波器設計和頻譜分析。工具箱除去提供了用于信號處理的命令函數(shù)外,還提供了一組基于cpu開發(fā)的借口工具。隨著matlab版本的不斷升級,其所含的工具箱的功能也越來越豐富,因此,應用范圍也越來越廣泛,成為涉及數(shù)值分析的各類工程師不可不用的工具。 matlab5.3中包括了圖形界面編輯gui,改變了以前單一的“在指令窗通過文本形的指令進行各種操作”的狀況。這可讓使用者也可以象vb vc vj delphi等那樣進行一般的可視化的程序編輯。在命令窗口(matlab command window)鍵入simulink,就出現(xiàn)(simulink) 窗口。以往十分困難的系統(tǒng)仿真問題,用simulink只需拖動鼠標即可輕而易舉地解決問題,這也是近來受到重視原因所在。因此,選擇用matlab進行數(shù)字信號處理課程設計。本次課程設計主要涉及的內(nèi)容是,離散時間信號與系統(tǒng)的時域、頻域表示,以及信號通過系統(tǒng)的時域、頻域分析及其變換域分析。matlab數(shù)據(jù)庫中提供了與之相對應的函數(shù),如filter、fftfilt、 freqz 。課設過程中最重要的部分是濾波器的設計,數(shù)字濾波器設計和頻譜分析是數(shù)字信號處理的兩個主要應用。數(shù)字濾波器設計包括了無限沖擊響應(iir)和有限沖擊響應(fir)濾波器設計,在這一方面,matlab的這一工具庫提供了極為豐富的設計工具。頻譜分析又可進一步分為線性頻譜分析和非線性頻譜分析。其中,線性頻譜分析的理論基礎為傅立葉變換,因此所使用的matlab函數(shù)主要為fft,ifft,此外,工具箱中還給出了各種窗函數(shù)。對于非線性頻譜分析,matlab也提供了多種成熟算法的相應函數(shù)。第1章 設計的過程本次課設題目是用matlab語言實現(xiàn)對模擬信號的處理。根據(jù)課程設計的任務和要求,設計思路如下:11 語音信號的采集首先利用電腦windows自帶的錄音機錄制一段幾秒鐘自己的語音信號,如圖:然后在matlab軟件平臺下利用函數(shù)wavread對語音信號進行采樣,記住采樣頻率和采樣點數(shù)。通過wavread函數(shù)的使用學生很快理解了采樣頻率、采樣位數(shù)等概念。該實驗以研究者本人的聲音為分析樣本。在matlab 中使用wavread 函數(shù), 可得出聲音的采樣頻率fs 為22 050hz, 且聲音是單通道的。利用sound函數(shù), 可清晰地聽到讀音為: “*學院*班”。聲音信號及屬性如下所示: 錄制的一段語音 語音的屬性錄制的語音信號音頻格式pcm,平均數(shù)據(jù)速率 352kbps,采樣級別 22khz,音頻采樣大小為16位,頻道為單聲道,從音頻參數(shù)可以得出對錄制的信號采樣的頻率為8000kz,本人錄制的語音信號命名為 huang.wav錄制號后將huang.wav文件放在d盤,其路徑為d:my documentsmatlabhuang.wav.12 語音信號的頻譜分析然后利用matlab語句wavread進行采樣:y,fs,n=wavread( d:my documentsmatlabhuang.wav ); %將采樣后的語音信號賦給變量y再對采樣后的語音信號y做2048點的fft變換,利用如下語句:y=fft(y,2048) 根據(jù)設計要求畫出語音信號時域圖plot(y),以及頻譜圖plot(abs(y)。如圖要求我們首先畫出語音信號的時域波形;然后對語音信號進行頻譜分析,在matlab中可以利用函數(shù)fft對信號進行快速傅里葉變換,得到信號的頻譜特性,加深我們對頻譜特性的理解。用sound(y,fs,n)語句播放語音,可清晰地聽到讀音為: “華東交通大學軟件學院06信息工程2班”。分析采樣后語音信號的頻譜圖,任意選取一段噪聲信號,本人選擇了幅值為0.5,1.8k的余弦噪聲信號,為了使噪聲信號能加入道語音信號中,則所加噪聲信號的點數(shù)調(diào)整到與原始信號相同,否則不能相加,f=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號的點數(shù)調(diào)整到與原始信號相同則噪聲信號表達式為d=au*cos(2*pi*1800*t); 畫出噪聲時域波形plot(t,d)和頻譜plot(f,abs(y2(1:512),如下圖:只有噪聲信號與語音信號的點數(shù)相同才可以將噪聲加入語音信號中x2=y+d; %將噪聲加入到語音信號中畫出加入噪聲后的語音信號時域圖plot(t,x2)然后畫出加入噪聲后語音信號頻譜圖并與原語音信號頻譜圖比較:根據(jù)加入噪聲以后的語音信號的頻譜圖,選定濾波器的類型。通常分fir濾波器和iir濾波器,再根據(jù)分析結果得出濾波器的性能指標。根據(jù)本次課程設計的要求采用雙線性變換法和窗函數(shù)法來設計濾波器。雙線性變換法是先設計一個模擬iir濾波器,然后映射成一個等效的數(shù)字濾波器。雙線性變換法有巴特沃思濾波器和切貝雪夫濾波器。窗函數(shù)法有矩形窗,三角窗,漢寧窗,海明窗,布拉克曼窗。本人采用了巴特沃思濾波器和海明窗來進行濾波器的設計。13 設計數(shù)字濾波器和畫出其頻率響應下面就巴特沃思濾波器和海明窗設計濾波器詳細介紹:(一)巴特沃思濾波器屬于iir濾波器需要用到的有關語句如下:(1) n,wn=buttord(wp,ws,rp,rs)(2) n,wn=buttord(wp,ws,rp,rs,s)格式(1)對應數(shù)字濾波器,式中wp,ws分別使通帶和阻帶的截至頻率,實際上它們是歸一化頻率,其值在01之間,1對應抽樣頻率的一半。對低通和高通濾波器,wp,ws都是標量,對帶通和帶阻濾波器,wp,ws都是12的向量。rp,rs分別是通帶和阻帶的衰減,單位為db。n是求出的相應低通濾波器的階次,wn是求出的3db頻率,它和wp稍有不同。格式(2)對應模擬濾波器,式中各個變量含義和格式(1)相同,但wp,ws及wn的單位為rad/s,因此,它們實際上是頻率。(3) z,p,k=buttap(n)此語句是用來設計模擬低通原型濾波器g(p),n是欲設計的低通原型濾波器的階次,z,p和k分別是設計出的g(p)的極點、零點及增益。(4) b,a=lp2lp(b,a,wo) 或 b,a=lp2hp(b,a,wo)(5) b,a=lp2bp(b,a,wo,bw)或b,a=lp2bs(b,a,wo,bw)上式功能是將模擬低通原型濾波器g(p)分別轉(zhuǎn)換為實際的低通、高通、帶通及帶阻濾波器。式中b,a分別是模擬低通原型濾波器g(p)的分子、分母多項式的系數(shù)向量,b,a分別是轉(zhuǎn)換后的h(s)的分子、分母多項式的系;在(4)中,wo是低通或高通濾波器的截至頻率;在(5)中,wo是帶通或帶阻濾波器的中心頻率,bw是其帶寬。本次課程的設計的巴特沃思濾波器是低通濾波器,故用到式子b,a=lp2lp(b,a,wo).(6) bz,az=bilinear(b,a,fs)上式語句是實現(xiàn)雙線性變換,即由模擬濾波器h(s)得到數(shù)字濾波器h(z).式中b,a 分別是h(s)的分子、分母多項式的系數(shù)向量,bz,az分別是h(z)的分子、分母多項式的系數(shù)向量,fs是抽樣頻率。在這里fs=8000.根據(jù)含有噪聲的語音信號頻譜圖分析,本人設置wp=0.25*pi;ws=0.3*pi;rp=1;rs=15進行設計巴特沃思低通濾波器。(二)海明窗濾波器屬于fir型濾波器 海明(hamming)窗(又稱為改進的升余弦窗)窗函數(shù): (n)= rn(n)其頻率響應的幅度函數(shù)為w()=0.54wr()+0.23 0.54wr()+0.23 ,(當n1)主瓣寬度為42/n=8/n,過渡帶寬3.32/n。(7) b=fir1(n,f,m)上式中f是頻率向量,其值在01之間,m是與f相對應的所希望的幅頻響應,不指定窗函數(shù)類型時,則自動選擇海明窗。本次課程設計用到類似語句為:n=ceil(6.6*pi/wdelta); %濾波器長度wn=(0.2+0.3)*pi/2;b=fir1(n,wn/pi,hamming(n+1); %選擇窗函數(shù),并歸一化截止頻率根據(jù)含有噪聲的語音信號頻譜圖分析,選取wp=0.25*pi; ws=0.3*pi;濾波器設計好后,畫出兩種濾波器的頻率響應圖:巴特沃思濾波器海明窗濾波器14 用濾波器對信號進行濾波要求我們用自己設計的各濾波器分別對采集的信號進行濾波,在matlab中fir濾波器利用函數(shù)fftfih對信號進行濾波,iir濾波器利用函數(shù)filter對信號進行濾波。因此我們用自已設計出來的濾波器對采集的語音信號進行濾波,畫出濾波后信號的時域波形和頻譜,并對濾波前后的信號進行對比。經(jīng)過巴特沃思濾波器濾波的時域波形圖和頻譜圖分別如下:分析信號的變化,根據(jù)兩種濾波器濾波前后頻譜圖可發(fā)現(xiàn),在1200hz后的信號基本被濾除掉了,回放語音信號:sound(x2,8000); %播放含有噪聲的語音信號sound(f1,8000); %播放經(jīng)過巴特沃思濾波器濾波后的語音信號sound(f2,8000); %播放經(jīng)過海明窗濾波器濾波后的語音信號濾波后的語音效果有明顯的沉悶的感覺,其原因是濾除噪聲的同時也濾除了一部分的語音信號,但總體上其濾波后的語音與原語音信號相差無幾,也徹底的把噪聲濾除掉了。25 比較濾波前后語音信號的波形及頻譜要求我們在一個窗口同時畫出濾波前后的波形及頻譜。其程序如下:x=filter(b,a,y);xfft(x4096);subplot(223);plot(x);title( 濾波后信號波形 );subplot(224);plot(abs(x);title( 濾波后信號頻譜 ); 經(jīng)過海明窗濾波器濾波濾波前后時域波形圖及頻譜圖分別如下:26 回放語音信號在matlab中,函數(shù)sound可以對聲音進行回放。其調(diào)用格式:sound(x,fs,bits);可以感覺濾波前后的聲音有變化。27 設計系統(tǒng)界面為了使編制的程序操作方便,要求我們有能力的學生,設計處理系統(tǒng)的用戶界面。在所設計的系統(tǒng)界面上可以選擇濾波器的類型,輸入濾波器的參數(shù),顯示濾波器的頻率響應,選擇信號等。首先在matlab工作區(qū)鍵入guide,回車,出現(xiàn)一窗口,選擇blank gui(default)。如界面圖1界面圖1點擊ok確定后彈出一運行窗口,如界面圖2界面圖2菜單設置:選擇名為menu editor的圖標后,出現(xiàn)另一窗口,添加新的菜單,在label框中鍵入菜單名,子菜單還需在callback中鍵入連接的文件名,如界面圖3界面圖3界面圖4 為了使設計的更加友好的matlab界面,我采用了如下的程序?qū)肓藞D片界面圖528 作者介紹及謝辭對于一篇優(yōu)秀的論文,對作者進行一下介紹情況是必不可少的,我在matlab語言中調(diào)用helpdlg函數(shù)實現(xiàn)了其功能,效果很不錯。如下所示:helpdlg(作者:*班 * 學號:*,關于作者);helpdlg(感謝*老師這一學年對我的課程指導!,謝辭);第2章 設計的思想流程圖錄音噪聲播放原音導入語音文件時域波形和頻譜信號時域波形和頻譜信號窗函數(shù)法雙線性變化法海明窗濾波器加入噪聲的語音信號信號巴特沃思濾波器頻率響應時域波形和頻譜信號頻率響應濾波語音重放濾波濾波前后時域及頻譜圖比較濾波前后時域及頻譜圖比較第3章 課程設計的心得體會在設計之前,在圖書館參考了許多相關的資料,同時也從網(wǎng)絡上查看和下載了一些有關的程序。在設計前又回顧了matlab的操作和濾波器的有關知識,從而有了基本的思路。本次課程設計是以數(shù)字信號處理為理論基礎,利用matlab對信號進行分析,處理語音信號以及設計濾波器。課程設計題目是matlab語言實現(xiàn)對模擬信號的處理課程設計,需要對語音信號進行采樣、分析并濾波。從這次課程設計中,我認識到了書上的理論知識很好的和實際結合到了一起,首先要采集一段語音信號,因為原始的語音信號是模擬的,所以要對原始的語音信號進行采樣,是通過函數(shù)wavread()來實現(xiàn)的,使我很好的掌握了這個函數(shù)的用法。數(shù)字濾波器設計包括了無限沖擊響應(iir)和有限沖擊響應(fir)濾波器設計,在本次課設中,iir濾波器本人設計了一種:巴特沃思低通濾波器,fir濾波器本人設計了海明窗低通濾波器。它們的性能指標是根據(jù)含有噪聲的語音信號頻譜圖的特點設計的。在平時的理論學習中我們學習了數(shù)字濾波器的基本結構,無限長單位沖激響應數(shù)字濾波器的設計方法和有限長單位沖激響應數(shù)字濾波器的設計方法,著重學習了利用模擬濾波器設計iir數(shù)字濾波器,從理論知識可知利用模擬濾波器設計數(shù)字濾波器就是要把s平面映射到z平面,使模擬系統(tǒng)函數(shù)h(s)變換成所需的數(shù)字濾波器的系統(tǒng)函數(shù)h(z),一般是利用沖激響應不變法、階躍響應不變法、雙線性變換法來實現(xiàn)模擬濾波器到數(shù)字濾波器的映射。在純理論的學習中,我們學生對濾波器的設計還不了解。通過這次課設,使我對濾波器的設計有了更深層次的的認識。在整個程序中,多次使用了matlab的繪圖功能,畫出了低通濾波器的頻率響應圖,濾波前后的語音信號的時域圖和頻譜圖,使我感受到了其強大的繪圖功能,使得可以很直觀的看出信號的種種特性,從而可以更加容易的判斷出對信號的處理是否達到了預期的目的。 “看花容易,繡花難”,我剛開始以為題目比較簡單,所以就開始進行設計,但出現(xiàn)了許多未預料到的問題,首先便是語音信號的選取,這不僅僅是通過電腦中windows下的錄音機錄制一段信號便可,好的語音能使設計更加清晰簡單,在該錄制中要求錄制的語音必須為8位單聲道的,且語音的清晰度越高越好,錄制時間不應過長,光這一項便花費了很長一段時間。錄音完成后利用函數(shù)wavread對語音信號進行采樣,在采樣時采樣頻率為8hz,但在做程序時發(fā)現(xiàn)可以使用其它的采樣頻率,但采樣后聲音與原聲明顯不同,在設計中選擇不同點數(shù)進行fft變換時所得出的結果不同,我在設計中嘗試了很多種情況。在繪制原始信號的時域波形和頻譜圖遇到的困難不是很多,但在添加噪聲信號時卻出現(xiàn)了很多問題,例如開始時始終無法將兩個信號加在一塊,后來在老師的解說下才發(fā)現(xiàn)錄音的格式不符合,即所錄的音必須為單聲道的,這樣才能和一維的高頻余弦信號相加,解決完這點后又發(fā)現(xiàn)加噪聲的程序會出現(xiàn)警告,這點會影響到m文件的使用,即到了后面設計界面時無法進行,后經(jīng)過自己的檢查和同學的指導最后還是解決了這一問題。在加完噪聲后開始確定各參數(shù)設計濾波器時,這時需要前面學到的知識再次應用,根據(jù)具體的參數(shù)選擇設計合適的濾波器對加噪后的信號進行濾波,在該設計中我選擇的是巴特沃思低通濾波器和漢明窗濾波器,在設計這兩種濾波器時要求對它們的原理都要有一定的了解,這同時給了我們復習課程的機會,通過學到的和課本最終還是按要求得出了合適的濾波器,通過對比濾波前后的頻譜特性圖發(fā)現(xiàn)濾波后的信號不能完全達到原來信號那么完整和清晰,這也許是誤差,也許是濾波器的選擇還是存在一定的問題,但我認為這應該是誤差吧!在設計界面的時要將文件分別保存到m文件中,發(fā)現(xiàn)漢字不能顯示在最外層,設計完界面后利用界面來調(diào)取程序感覺簡潔了好多,使人很容易就可以了解設計的思路??偟膩碚f,這次課程設計幫助我鞏固了平常所學習的理論知識,使我對所學的理論知識有了一個更深層次的理解和掌握,同時加強了我對matlab的運用能力,從而能夠借助軟件來更好的分析,處理信號和設計濾波器。在整個課程設計過程中,編寫程序與調(diào)試程序中出現(xiàn)了一系列的問題經(jīng)過日夜認真琢磨分析后,最終改正了錯誤,把課程設計順利完成,總的來說,通過這次的數(shù)字信號處理課程設計,收獲還是很大的,可以把我們課本上的理論知識應用到實驗中。 第4章 附錄程序及相應的波形圖附錄一:主程序(1).用matlab對原始語音信號進行分析,畫出它的時域波形和頻譜將錄制的語音信號與所有的程序放置在同一個文件夾,在程序中通過wavread()函數(shù)來讀取這段原始信號,并繪出采樣后其時域波形圖和頻譜圖。程序如下:y,fs,n=wavread(d:my documentsmatlabhuang.wav); %將采樣后的語音信號賦給變量yy=fft(y,2048) %對采樣后的語音信號做2048點fft變換 figure(1);subplot(211);plot(y); %采樣后語音信號的波形 title(原始信號波形);xlabel(時間n);ylabel(幅值n);subplot(212);plot(abs(y); %采樣后語音信號的頻譜 title(原始信號頻譜);xlabel(hz);ylabel(幅值n);圖1.原始信號時域波形及頻譜(2).給原始的語音信號加上一個高頻余弦噪聲,頻率為1800hzy,fs,n=wavread(d:my documentsmatlabhuang.wav); f=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號的點數(shù)調(diào)整到與原始信號相同au=0.5; %噪聲幅值d=au*cos(2*pi*1800*t); %噪聲為1khz的余弦信號y2=fft(d,2048); %對噪聲信號做2048點fft變換 figure(2)subplot(2,1,1);plot(t,d)title(噪聲信號時域圖);xlabel(時間n);ylabel(幅值n);subplot(2,1,2);plot(f,abs(y2(1:512);title(噪聲信號頻譜);xlabel(hz);ylabel(幅值n);圖2.噪聲信號頻譜(3).將噪聲信號加入原始信號中程序 y,fs,n=wavread(d:my documentsmatlabhuang.wav); %將采樣后的語音信號賦給變量yf=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號的點數(shù)調(diào)整到與原始信號相同au=0.5; %噪聲幅值d=au*cos(2*pi*1800*t); %噪聲為1.8khz的余弦信號x2=y+d; %將噪聲加入到語音信號中y1=fft(y,2048); %對信號做2048點fft變換y2=fft(x2,2048); %對加入噪聲以后的語音信號做2048點fft變換 figure(1)plot(t,x2)title(加噪后的信號);xlabel(時間n);ylabel(幅值n);figure(2)subplot(2,1,1);plot(f,abs(y1(1:512);title(原始語音信號頻譜);xlabel(hz);ylabel(幅值n);subplot(2,1,2);plot(f,abs(y2(1:512);title(加噪后的信號頻譜);xlabel(hz);ylabel(幅值n);圖3.加噪聲后的信號圖圖4.原始語音信號頻譜圖及加入噪聲后的信號頻譜圖(4).濾波器的類型設計程序雙線性變換法設計巴特沃思低通濾波器y,fs,n=wavread(d:my documentsmatlabhuang.wav); %將采樣后的語音信號賦給變量yf=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號的點數(shù)調(diào)整到與原始信號相同au=0.5; %噪聲幅值d=au*cos(2*pi*1800*t); %噪聲為1.8khz的余弦信號x2=y+d; %將噪聲加入到語音信號中wp=0.25*pi;ws=0.3*pi;rp=1;rs=15;fs=8000;ts=1/fs;wp1=2/ts*tan(wp/2); %將模擬指標轉(zhuǎn)換成數(shù)字指標ws1=2/ts*tan(ws/2); n,wn=buttord(wp1,ws1,rp,rs,s);%選擇濾波器的最小階數(shù)z,p,k=buttap(n); %創(chuàng)建butterworth模擬濾波器bap,aap=zp2tf(z,p,k);b,a=lp2lp(bap,aap,wn); bz,az=bilinear(b,a,fs); %用雙線性變換法實現(xiàn)模擬濾波器到數(shù)字濾波器的轉(zhuǎn)換h,w=freqz(bz,az); %繪制頻率響應曲線figure(1)plot(w*fs/(2*pi),abs(h)gridxlabel(頻率hz)ylabel(頻率響應幅度)title(butterworth)f1=filter(bz,az,x2);figure(2)subplot(2,1,1)plot(t,x2) %畫出濾波前的時域圖title(濾波前的時域波形);subplot(2,1,2)plot(t,f1); %畫出濾波后的時域圖title(濾波后的時域波形);f0=fft(f1,2048);f=fs*(0:511)/2048;figure(3)y2=fft(x2,2048);subplot(2,1,1);plot(f,abs(y2(1:512); %畫出濾波前的頻譜圖title(濾波前的頻譜)xlabel(hz);ylabel(幅值);subplot(2,1,2)f1=plot(f,abs(f0(1:512); %畫出濾波后的頻譜圖title(濾波后的頻譜)xlabel(hz);ylabel(幅值); 圖5巴特沃斯低通濾波器 圖6濾波前后時域波形圖 圖7濾波前后頻譜圖窗函數(shù)法設計濾波器:y,fs,n=wavread(d:my documentsmatlabhuang.wav); %將采樣后的語音信號賦給變量yf=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號的點數(shù)調(diào)整到與原始信號相同au=0.5; %噪聲幅值d=au*cos(2*pi*1800*t); %噪聲為1.8khz的余弦信號x2=y+d; %將噪聲加入到語音信號中wp=0.25*pi;ws=0.3*pi;wdelta=ws-wp;n=ceil(6.6*pi/wdelta); %濾波器長度wn=(0.2+0.3)*pi/2;b=fir1(n,wn/pi,hamming(n+1); %選擇海明窗函數(shù),并歸一化截止頻率figure(1)freqz(b,1,512)f2=filter(bz,az,x2)figure(2)subplot(2,1,1)plot(t,x2)title(濾波前的時域波形);subplot(2,1,2)plot(t,f2);title(濾波后的時域波形);f0=fft(f2,2048);f=fs*(0:511)/2048;figure(3)y2=fft(x2,2048);subplot(2,1,1);plot(f,abs(y2(1:512);title(濾波前的頻譜)xlabel(hz);ylabel(幅值);subplot(2,1,2)f2=plot(f,abs(f0(1:512);title(濾波后的頻譜)xlabel(hz);ylabel(幅值);圖8海明窗濾波器圖9濾波前后時域波形圖圖10濾波前后頻譜圖(5).用sound函數(shù)播放語音信號程序在matlab中,函數(shù)sound可以對聲音進行回放。其調(diào)用格式:sound(x,fs,bits);可以感覺濾波前后的聲音有變化。實現(xiàn)程序1:y,fs,bits=wavread(d:matlab6p5work12);%讀取wav文件y=wavread(d:matlab6p5work12);subplot(211);plot(y);title(波形);%生成時域波形subplot(212);plot(abs(y);title(頻譜圖);%生成頻譜圖%用雙線性變換法設計低通fp=1000;fc=1200;as=100;ap=1;fs=22050;wc=2*fc/fs;wp=2*fp/fs;n,wn=ellipord(wp,wc,ap,as);b,a=ellip(n,ap,as,wn);figure(2);freqz(b,a,512,fs);%聲音回放sound(y,fs,bits)%x=filter(b,a,y);%x=fft(x,4096);%subplot(223);plot(x);title(濾波后信號的波形);%subplot(224);plot(abs(x);title(濾波后信號的頻譜);實現(xiàn)程序2:y,fs,n=wavread(d:my documentsmatlabhuang.wav); %將采樣后的語音信號賦給變量ysound(y,fs,n); %播放語音信號sound(d,8000) %播放噪聲信號sound(x2,8000); %播發(fā)加入噪聲以后的語音信號sound(f1,8000); %播放經(jīng)過巴特沃思濾波器濾波后的信號sound(f2,8000); %播放經(jīng)過海明窗濾波器濾波后的語音信號附錄二:界面設計的程序function varargout = dsp(varargin)% dsp m-file for dsp.fig% dsp, by itself, creates a new dsp or raises the existing% singleton*.% h = dsp returns the handle to a new dsp or the handle to% the existing singleton*.% dsp(callback,hobject,eventdata,handles,.) calls the local% function named callback in dsp.m with the given input arguments.% dsp(property,value,.) creates a new dsp or raises the% existing singleton*. starting from the left, property value pairs are% applied to the gui before dsp_openingfunction gets called. an% unrecognized property name or invalid value makes property application% stop. all inputs are passed to dsp_openingfcn via varargin.% *see gui options on guides tools menu. choose gui allows only one% instance to run (singleton).% see also: guide, guidata, guihandles% edit the above text to modify the response to help dsp% last modified by guide v2.5 10-jan-2008 15:24:46% begin initialization code - do not editgui_singleton = 1;gui_state = struct(gui_name, mfilename, . gui_singleton, gui_singleton, . gui_openingfcn, dsp_openingfcn, . gui_outputfcn, dsp_outputfcn, . gui_layoutfcn, , . gui_callback, );if nargin & isstr(varargin1) gui_state.gui_callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_state, varargin:);else gui_mainfcn(gui_state, varargin:);end% end initialization code - do not edit% - executes just before dsp is made visible.function dsp_openingfcn(hobject, eventdata, handles, varargin)% this function has no output args, see outputfcn.% hobject handle to figure% eventdata reserved - to be defined in a future version of matlab% handles structure with handles and user data (see guidata)% varargin command line arguments to dsp (see varargin)% choose default command line output for dsphandles.output = hobject;% update handles structureguidata(hobject, handles);% uiwait makes dsp wait for user response (see uiresume)% uiwait(handles.figure1);% - outputs from this function are returned to the command l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 望舌苔試題及答案
- 網(wǎng)絡員考試試題及答案
- 土木識圖試題及答案
- 2025年機械設備維護與保養(yǎng)協(xié)議書
- 規(guī)避環(huán)保問題對企業(yè)運營的影響
- 2025年合作方分手協(xié)議書范文
- 事業(yè)單位房屋管理的現(xiàn)狀及總體形勢
- 推進綠色發(fā)展助力經(jīng)開區(qū)可持續(xù)發(fā)展
- 土壤改良對油菜產(chǎn)量的影響
- 贛州市章貢區(qū)三年級2024-2025學年上學期英語期末試卷:詞匯拼寫與語法綜合能力挑戰(zhàn)2025
- 小區(qū)裝修工程安全協(xié)議書
- 陜西省西安市碑林區(qū)鐵一中學2024-2025學年下學期七年級第二次月考數(shù)學試卷
- 人教版小學數(shù)學3三年級下冊(全冊)教案
- ktv包房公主協(xié)議書
- 公路應急搶險協(xié)議書
- 【MOOC】老子的人生智慧-東北大學 中國大學慕課MOOC答案
- 科研倫理與學術規(guī)范(研究生)期末試題
- 成都市2022級(2025屆)高中畢業(yè)班摸底測試(零診)數(shù)學試卷(含答案)
- 經(jīng)濟學思維方式智慧樹知到期末考試答案2024年
- (高清版)DZT 0145-2017 土壤地球化學測量規(guī)程
- 基于html5外文參考文獻
評論
0/150
提交評論