




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《MATLAB課程設計》報告DOC《MATLAB課程設計》報告DOC/《MATLAB課程設計》報告DOC《MATLAB課程設計》報告設計題目:鑒于MATLAB的語音信號收集與辦理學生姓名:學生學號:專業班級:光信息科學與技術辯論時間:2013年12月指導教師:馮明庫廣東技術師范學院電子與信息學院一、設計目的及意義1.MATLAB
軟件功能簡介MATLAB的名稱源自
MatrixLaboratory,1984
年由美國
Mathworks
企業推向市場。它是一種科學計算軟件,特意以矩陣的形式辦理數據。MATLAB將高性能的數值計算和可視化集成在一同,并供給了大批的內置函數,進而被寬泛的應用于科學計算、控制系統和信息辦理等領域的剖析、仿真和設計工作。MATLAB軟件包含五大通用功能,數值計算功能(Nemeric)、符號運算功能(Symbolic)、數據可視化功能(Graphic)、數字圖形文字一致辦理功能(Notebook)和建模擬真可視化功能(Simulink)。此中,符號運算功能的實現是經過懇求MAPLE內核計算并將結果返回到MATLAB命令窗口。該軟件有三大特色,一是功能強盛;二是界面友好、語言自然;三是開放性強。當前,Mathworks企業已推出30多個應用工具箱。MATLAB在線性代數、矩陣剖析、數值及優化、數值統計和隨機信號剖析、電路與系統、系統動力學、次那好和圖像辦理、控制理論剖析和系統設計、過程控制、建模和仿真、通訊系統以及財政金融等眾多領域的理論研究和工程設計中獲得了寬泛應用。MATLAB在信號與系統中的應用主要包含符號運算和數值計算仿真剖析。因為信號與系統課程的很多內容都是鑒于公式演算,而MATLAB借助符號數學工具箱供給的符號運算功能,能基本知足信號與系統課程的需求。比如解微分方程、傅里葉正反變換、拉普拉斯正反變換和z正反變換等。MATLAB在信號與系統中的另一主要應用是數值計算與仿真剖析,主要包含函數波形繪制、函數運算、沖擊響應與階躍響應仿真剖析、信號的時域剖析、信號的頻譜剖析、系統的S域剖析和零極點圖繪制等內容。數值計算仿真剖析能夠幫助學生更深入地理解理論知識,并為未來使用MATLAB進行信號辦理領域的各樣剖析和實質應用打下基礎。此題目的意義本次課程設計的課題為《鑒于MATLAB的語音信號收集與辦理》,學會運用MATLAB的信號辦理功能,收集語音信號,并對語音信號進行濾涉及變換辦理,察看其時域和頻域特征,加深對信號辦理理論的理解,并為此后嫻熟使用MATLAB進行系統的剖析仿真和設計確立基礎。此次實習課程主假如為了進一步熟習對matlab軟件的使用,以及學會利用matlab對聲音信號這類實質問題進行辦理,將理論應用于實質,加深對它的理解。二、設計任務及指標利用MATLAB對語音信號進行剖析和辦理,收集語音信號后,利用MATLAB軟件平臺進行頻譜剖析;并對所收集的語音信號加入擾亂噪聲,對加入噪聲的信號進行頻譜剖析,設計適合的濾波器濾除噪聲,恢還原信號。語音信號的“短時譜”關于非安穩信號,它是非周期的,頻譜隨時間連續變化,所以由傅里葉變換獲得的頻譜沒法獲知其在各個時刻的頻譜特征。假如利用加窗的方法從語音流中拿出此中一個短斷,再進行傅里葉變換,就能夠獲得該語音的短時譜。。三、設計過程(1).語音信號的收集及剖析鑒于聲卡進行數字信號的收集。將話筒插入計算機的語音輸入插口上,啟動錄音機。按下錄音按鈕,對話筒說話,說完后停止錄音。要保存文件時,利用了計算機上的A/D變換器,把模擬的聲音信號變為了失散的量化了的數字信號,放音時,它又經過D/A變換器,把保存的數字數據恢復為本來的模擬的聲音信號。在Matlab軟件平臺下能夠利用函數wavread對語音信號進行采樣,獲得了聲音數據變量x1,同時把x1的采樣頻次fs=22050Hz和數據位Nbits=16Bit放進了MATALB的工作空間。圖figure1為原始語音信號的時域圖形。從圖中能夠看出在時域環境下,信號體現出6不規則的信號峰值。經過freqz函數繪制原始語音信號的頻次響應圖figure2。而后對語音信號進行頻譜剖析,在Matlab中能夠利用函數fft對信號行迅速傅里葉變換,獲得信號的頻譜圖figure3,從圖中能夠看出對各個頻點上的隨機信號在頻域進行抽樣,抽樣頻次為22050Hz。(2).給原始信號加上一個高頻噪聲在Matlab中人為設計一個固定頻次5500Hz的噪聲擾亂信號。噪聲信號往常為隨機序列,在本設計頂用正弦序列取代,擾亂信號建立命令函數為d=[Au*sin(2*pi*5500*t)]',給出的擾亂信號為一個正弦信號,針對上邊的語音信號,收集了此中一段。再對噪音信號進行頻譜變換獲得其頻譜圖,從圖中能夠看出擾亂信號,在4000Hz和6000Hz頻點處有一頂峰,此中5500Hz正是本設計所要利用的。(3).設計一個濾波器,濾除高頻噪聲由模擬濾波器變換為數字濾波器時,采納的是雙線性變換法,它保存的是從模擬到數字域的系統函數表示。在濾波器的選用時,因為設計方法的重視點不一樣,作出比較是困難的。假如FIR濾波器狀況下,最優的設計將是橢圓濾波器。用雙線性變換法設計低通濾波器。的本設計是用雙線性變換法設計BW帶阻型濾波器。在MATLAB中,能夠利用函數butterworth,設計FIR濾波器,利用MATLAB中的函數freqz畫出各濾波器的頻次響應。用設計好的帶阻濾波器對含噪語音信號進行濾波,在Matlab中FIR濾波器利用函數fftfilt對信號進行濾波,FIR濾波器利用函數filter對信號進行濾波。在一個窗口同時畫出濾波前后的波形及頻譜。從圖中能夠看出,5500Hz看到的頂峰消逝了,語音信號與開始的同樣,濾波器成功的濾除了擾亂信號。利用MATLAB對語音信號進行剖析和辦理,收集語音信號后,利用MATLAB軟件平臺進行頻譜剖析;并對所收集的語音信號加入擾亂噪聲,對加入噪聲的信號進行頻譜剖析,設計適合的濾波器濾除噪聲,恢還原信號。四、結論及剖析.用MATLAB對原始語音信號進行剖析,畫出它的時域波形和頻譜程序:fs=22050;
%
語音信號采樣頻次為
22050x1=wavread('C:\Documents
and
桌面
聲音文件.wav');%讀取語音信號的數據,賦給變量x1,sound(x1,22050);%播放語音信號y1=fft(x1,1024);%對信號做1024點FFT變換f=fs*(0:511)/1024;%將0到511,步長為1的序列的值與fs相乘并除以1024的值,賦值給ffigure(1)%創立圖形窗1plot(x1)%做原始語音信號的時域圖形title('原始語音信號');xlabel('timen');
%x
軸的名字是“
timen
”ylabel('fuzhin');
%y
軸的名字是“
fuzhin
”figure(2)freqz(x1)
%
繪制原始語音信號的頻次響應圖title('頻次響應圖')figure(3)subplot(2,1,1);plot(abs(y1(1:512)))
%
%
創立兩行一列畫圖區間的第1個畫圖區間做原始語音信號的FFT頻譜圖title('原始語音信號FFT頻譜')subplot(2,1,2);plot(f,abs(y1(1:512)));%abs是絕對值,plot是直角坐標下線性刻度曲線title('原始語音信號頻譜')xlabel('Hz');ylabel('幅值');時域波形和頻譜:圖1原始語音信號圖2語音信號頻次響應圖圖3原始語音信號FFT與信號頻譜給原始的語音信號加上一個高頻余弦噪聲,頻次為5500hz。對加噪后的語音進行剖析,并畫出其信號時域和頻譜圖。程序:fs=22050;x1=wavread('C:\Documentsand桌面聲音文件.wav');%讀取語音信號的數據,賦給變量x1f=fs*(0:511)/1024;%將0到511,步長為1的序列的值與fs相乘并除以1024的值,賦值給ft=0:1/fs:(length(x1)-1)/fs;%將0到x1的長度減1后的值除以fs的值,且步長為1/fs的值,的序列的值,給予tAu=;%噪聲幅值d=[Au*sin(2*pi*5500*t)]';%所加的噪聲是正弦信號x2=x1+d;%將正弦信號噪聲加在語音信號上sound(x2,22050);%播放語音信號y1=fft(x1,1024);%對信號y1做1024點FFT變換y2=fft(x2,1024);%對信號y2做1024點FFT變換figure(1);%創立圖形窗1plot(t,x2);%做加噪后的信號時域圖形(繪出t對x2的線性圖)title('加噪后的信號');xlabel('timen');%x軸的名字是“timen”ylabel('fuzhin');%y軸的名字是“fuzhin”figure(2)%創立圖形窗2subplot(2,1,1);%創立兩行一列畫圖區間的第1個畫圖區間plot(f,abs(y1(1:512)));%做原始語音信號的頻譜圖title('原始語音信號頻譜');xlabel('Hz');ylabel('fuzhi');subplot(2,1,2);plot(f,abs(y2(1:512)));
%x%y%%
軸的名字是“timen”軸的名字是“fuzhi”創立兩行一列畫圖區間的第2個畫圖區間做加噪后的語音信號的頻譜圖(abs是絕對值,plot是直角坐標下線性刻度曲線)title('加噪后的信號頻譜');xlabel('Hz');ylabel('fuzhi');
%x%y
軸的名字是“軸的名字是“
timenfuzhi
””時域波形和頻譜:圖4加噪后的信號時域圖圖5原始信號與加噪后信號頻譜對照與原始信號對照,差別:先原始信號沒加噪音從前0到2000有幅值,在4000到6000之間沒有幅值,可是在加了噪音以后4000到6000之間出現最大幅值12,高出正常值。如圖5原始信號與加噪后信號頻譜對照圖所示。設計適合的濾波器,濾除高頻噪聲,繪出濾波后的信號頻域和時域波形:程序:%用雙線性變換法設計巴特沃思低通濾波器wp=*pi;%通帶截止頻次ws=*pi;%阻帶截止頻次Rp=1;%通帶最大衰減(db)Rs=15;%阻帶最大衰減(db)Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2);%將模擬指標變換成數字指標ws1=2/Ts*tan(ws/2);%將模擬指標變換成數字指標[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%選擇濾波器的最小階數(估量獲得Butterworth低通濾波器的最小階數N和3dB截止頻次Wc)[Z,P,K]=buttap(N);%創立Butterworth低通濾波器原型[Bap,Aap]=zp2tf(Z,P,K);%將零極點增益變換為廣泛分子,分母[b,a]=lp2lp(Bap,Aap,Wn);%將廣泛的分子和分母變換為以Wn為截止頻次[bz,az]=bilinear(b,a,Fs);%用雙線性變換法實現模擬濾波器到數字濾波器的變換(模擬變換為數字)[H,W]=freqz(bz,az);%求頻次響應figure(9)plot(W*Fs/(2*pi),abs(H))%繪制Butterworth低通濾波器頻次響應曲線grid%增添圖格xlabel('頻次/Hz')ylabel('頻次響應幅度')title('Butterworth')f1=filter(bz,az,z);%利用上邊已做好的濾波器(已bz和az為特色的濾波器)對x2信號進行濾波,賦值給f1figure(10)subplot(2,1,1)%創立兩行一列畫圖區間的第1畫圖區間plot(t,z)%做加噪后的信號時域圖形title('濾波前的時域波形');subplot(2,1,2)%創立兩行一列畫圖區間的第2畫圖區間plot(t,f1);title('濾波后的時域波形');sound(f1,22050);%播放語音信號p=length(f1);F0=fft(f1,p);f=0:fs/p:fs*(s-1)/p;figure(11)y2=fft(z,1024);%對信號y2做1024點FFT變換subplot(2,1,1);%創立兩行一列畫圖區間的第1畫圖區間plot(f,abs(y4));title('濾波前的頻譜')xlabel('Hz');%x軸的名字是“Hz”ylabel('fuzhi');%y軸的名字是“fuzhi”subplot(2,1,2)F1=plot(f,abs(F0));title('濾波后的頻譜')xlabel('Hz');ylabel('fuzhi');時域波形和頻譜:圖6低通濾波器頻次響應曲線圖7濾波前后時域波形圖圖8濾波前后頻譜圖與原噪音信號對照,差別:經過對照剖析可知,濾波后的輸出波形和原始語音加噪聲信號的圖形發生了一些變化,在3000-6000Hz之間的信號消逝,出現0-1000和7000-8000之間的信號。濾波后的輸出波形顯然在對應時間幅度比原語音加噪聲信號的要小,并且濾波的成效也與濾波器的選擇相關,能夠看出濾波器的性能差別以及參數的調理會對濾波器產生必定的影響,并且經過回放能夠發現濾波前后的聲音有變化.低通濾波后,已很靠近本來的聲音,人耳幾乎鑒別不出。從頻譜圖中我們還能夠看出聲音的能量信號主要集中在低頻部分,說明高頻語音信號被濾出,濾波器達到既定要求。五、設計領會正所謂“紙上得來終覺淺,覺知此事要躬行。”學習任何知識,僅從理論上去求知,而不去實踐、探究是不夠的。所以在學期末到臨之際,我們迎來了MATLAB課程設計。經過為期一周半的MATLAB課程設計,我對MATLAB這個仿真軟件有了更進一步的認識和認識。在這一周半時間里,我經過自己探究,查閱資料,并且在老師的指導下達成了:語音信號的收集及剖析;給原始信號加上一個高頻噪聲;設計一個濾波器,濾除高頻噪聲;并最后將課程設計報告總結完成。在整個設計過程中我懂得了很多東西,也培育了獨立思慮和設計的能力,建立了對知識應用的信心,相信會對此后的學習工作和生活有特別大的幫助,并且提升了自己的著手實踐操作能力,使自己充分領會到了在設計過程中的成功愉悅。固然這個設計做的不怎么好,可是在設計過程中所學到的東西是此次課程設計的最大收獲和財產,使我終生得益。在沒有做課程設計從前,感覺課程設計不過對知識的純真總結,可是經過此次課程設計發現自己的見解有點太片面,課程設計不單是對前面所學知識的一種查驗,也是對自己能力的一種提升,經過此次課程設計使自己理解了本來的那點知識是特別短缺的,要學習的東西還好多,經過此次課程設計,理解學習是一個長久累積的過程,在此后的工作和生活中都應當不停的學習,努力提升自己的知識和綜合素質。希望此后像這樣的課程設計在多一點。參照文件:姚東.MATLAB及在電子信息課程中的應用[M].第二版.北京:北京電子工業第一版社,2000張智星.MATLAB程序設計與應用.北京:清華大學第一版社,2002陳懷琛.MATLAB及其在理工課程中的應用指南.西安:西安電子科技大學第一版社,肖偉、劉忠.MATLAB程序設計與應用[M].北京:清華大學第一版社2005程序清單:fs=22050;%語音信號采樣頻次為22050x1=wavread('C:\Documentsand桌面聲音文件.wav');%讀取語音信號的數據,賦給變量x1,sound(x1,22050);%播放語音信號y1=fft(x1,1024);%對信號做1024點FFT變換f=fs*(0:511)/1024;%將0到511,步長為1的序列的值與fs相乘并除以1024的值,賦值給ffigure(1)%創立圖形窗1plot(x1)%做原始語音信號的時域圖形title('原始語音信號');xlabel('timen');
%x
軸的名字是“
timen
”ylabel('fuzhin');
%y
軸的名字是“
fuzhin
”figure(2)freqz(x1)%繪制原始語音信號的頻次響應圖title('頻次響應圖')figure(3)subplot(2,1,1);
%
創立兩行一列畫圖區間的第
1個畫圖區間plot(abs(y1(1:512)))
%
做原始語音信號的
FFT頻譜圖title('原始語音信號FFT頻譜')subplot(2,1,2);plot(f,abs(y1(1:512)));%abs是絕對值,plot是直角坐標下線性刻度曲線title('原始語音信號頻譜')xlabel('Hz');ylabel('幅值');fs=22050;x1=wavread('C:\Documentsand桌面聲音文件.wav');%讀取語音信號的數據,賦給變量x1f=fs*(0:511)/1024;%將0到511,步長為1的序列的值與fs相乘并除以1024的值,賦值給ft=0:1/fs:(length(x1)-1)/fs;%將0到x1的長度減1后的值除以fs的值,且步長為1/fs的值,的序列的值,給予tAu=;%噪聲幅值d=[Au*sin(2*pi*5500*t)]';%所加的噪聲是正弦信號x2=x1+d;%將正弦信號噪聲加在語音信號上sound(x2,22050);%播放語音信號y1=fft(x1,1024);%對信號y1做1024點FFT變換y2=fft(x2,1024);%對信號y2做1024點FFT變換figure(1);%創立圖形窗1plot(t,x2);%做加噪后的信號時域圖形(繪出t對x2的線性圖)title('加噪后的信號');xlabel('timen');%x軸的名字是“timen”ylabel('fuzhin');%y軸的名字是“fuzhin”figure(2)%創立圖形窗2subplot(2,1,1);%創立兩行一列畫圖區間的第1個畫圖區間plot(f,abs(y1(1:512)));%做原始語音信號的頻譜圖title('原始語音信號頻譜');xlabel('Hz');ylabel('fuzhi');subplot(2,1,2);plot(f,abs(y2(1:512)));
%x%y%%
軸的名字是“timen”軸的名字是“fuzhi”創立兩行一列畫圖區間的第2個畫圖區間做加噪后的語音信號的頻譜圖(abs是絕對值,plot是直角坐標下線性刻度曲線)title('加噪后的信號頻譜');xlabel('Hz');ylabel('fuzhi');
%x%y
軸的名字是“軸的名字是“
timenfuzhi
””%用雙線性變換法設計巴特沃思低通濾波器wp=*pi;%通帶截止頻次ws=*pi;%阻帶截止頻次Rp=1;%通帶最大衰減(db)Rs=15;%阻帶最大衰減(db)Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2);%將模擬指標變換成數字指標ws1=2/Ts*tan(ws/2);%將模擬指標變換成數字指標[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%選擇濾波
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 付費會員特色活動方案
- 仙桃拍照活動方案
- 代發薪單位活動方案
- 代表先行活動方案
- 代賬公司轉介紹活動方案
- 以往節日促銷活動方案
- 企業中秋晚會活動方案
- 企業下沉活動方案
- 企業公司團建策劃方案
- 企業減重達人活動方案
- 2024年攀枝花市仁和區向招考社區工作者真題
- 2024-2025學年人教版數學一年級下學期期末模擬試卷(含答案)
- 安徽省合肥一中2025屆高三最后一卷英語試題及答案
- 有關工廠實習心得體會模版
- 2025年組織行為學專業考試試題及答案
- 智能化汽車中的專利戰略布局-洞察闡釋
- 不寐的中醫護理常規
- 天津市兩學校2025屆生物七下期末達標檢測試題含解析
- 創新設計思維
- 2024年新疆維吾爾自治區、新疆生產建設兵團中考語文試卷(含答案與解析)
- 客訴處理培訓課件
評論
0/150
提交評論