基于MATLAB的語(yǔ)音信號(hào)采集與處理課程設(shè)計(jì)_第1頁(yè)
基于MATLAB的語(yǔ)音信號(hào)采集與處理課程設(shè)計(jì)_第2頁(yè)
基于MATLAB的語(yǔ)音信號(hào)采集與處理課程設(shè)計(jì)_第3頁(yè)
基于MATLAB的語(yǔ)音信號(hào)采集與處理課程設(shè)計(jì)_第4頁(yè)
基于MATLAB的語(yǔ)音信號(hào)采集與處理課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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)介

1、 成績(jī) 課程設(shè)計(jì)報(bào)告 題 目:基于MATLAB的語(yǔ)音信號(hào)采集與處理學(xué)生姓名: 學(xué)生學(xué)號(hào): 系 別: 電氣信息工程學(xué)院 專 業(yè): 電子信息工程 屆 別: 2013 指導(dǎo)教師: 基于MATLAB的語(yǔ)音信號(hào)采集與處理學(xué)生:指導(dǎo)教師:電氣信息工程學(xué)院電子與通信工程系1 課程設(shè)計(jì)的任務(wù)與要求1.1 課程設(shè)計(jì)的任務(wù) 利用MATLAB對(duì)語(yǔ)音信號(hào)進(jìn)行分析和處理,采集語(yǔ)音信號(hào)后,利用MATLAB軟件平臺(tái)進(jìn)行頻譜分析;并對(duì)所采集的語(yǔ)音信號(hào)加入干擾噪聲,對(duì)加入噪聲的信號(hào)進(jìn)行頻譜分析,設(shè)計(jì)合適的濾波器濾除噪聲,恢復(fù)原信號(hào)。語(yǔ)音信號(hào)的“ 短時(shí)譜”對(duì)于非平穩(wěn)信號(hào), 它是非周期的, 頻譜隨時(shí)間連續(xù)變化, 因此由傅里葉變換得

2、到的頻譜無(wú)法獲知其在各個(gè)時(shí)刻的頻譜特性。如果利用加窗的方法從語(yǔ)音流中取出其中一個(gè)短斷, 再進(jìn)行傅里葉變換, 就可以得到該語(yǔ)音的短時(shí)譜。1.2 課程設(shè)計(jì)的要求本次課程設(shè)計(jì)的課題為基于MATLAB的語(yǔ)音信號(hào)采集與處理,學(xué)會(huì)運(yùn)用MATLAB的信號(hào)處理功能,采集語(yǔ)音信號(hào),并對(duì)語(yǔ)音信號(hào)進(jìn)行濾波及變換處理,觀察其時(shí)域和頻域特性,加深對(duì)信號(hào)處理理論的理解,并為今后熟練使用MATLAB進(jìn)行系統(tǒng)的分析仿真和設(shè)計(jì)奠定基礎(chǔ)。此次實(shí)習(xí)課程主要是為了進(jìn)一步熟悉對(duì)matlab軟件的使用,以及學(xué)會(huì)利用matlab對(duì)聲音信號(hào)這種實(shí)際問(wèn)題進(jìn)行處理,將理論應(yīng)用于實(shí)際,加深對(duì)它的理解。1.3 課程設(shè)計(jì)的研究基礎(chǔ)信號(hào)與系統(tǒng)、Matl

3、ab程序設(shè)計(jì)及應(yīng)用2基于MATLAB的語(yǔ)音信號(hào)采集與處理方案的制定(1). 語(yǔ)音信號(hào)的采集及分析基于聲卡進(jìn)行數(shù)字信號(hào)的采集。將話筒插入計(jì)算機(jī)的語(yǔ)音輸入插口上,啟動(dòng)錄音機(jī)。按下錄音按鈕,對(duì)話筒說(shuō)話,說(shuō)完后停止錄音。要保存文件時(shí),利用了計(jì)算機(jī)上的A/D轉(zhuǎn)換器,把模擬的聲音信號(hào)變成了離散的量化了的數(shù)字信號(hào),放音時(shí),它又通過(guò)D/A轉(zhuǎn)換器,把保存的數(shù)字?jǐn)?shù)據(jù)恢復(fù)為原來(lái)的模擬的聲音信號(hào)。在 Matlab軟件平臺(tái)下可以利用函數(shù)wavread對(duì)語(yǔ)音信號(hào)進(jìn)行采樣,得到了聲音數(shù)據(jù)變量x1,同時(shí)把x1的采樣頻率fs=22050Hz和數(shù)據(jù)位Nbits=16Bit放進(jìn)了MATALB的工作空間。圖figure 1為原始語(yǔ)音

4、信號(hào)的時(shí)域圖形。從圖中可以看出在時(shí)域環(huán)境下,信號(hào)呈現(xiàn)出6不規(guī)則的信號(hào)峰值。通過(guò)freqz函數(shù)繪制原始語(yǔ)音信號(hào)的頻率響應(yīng)圖figure 2 。然后對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析,在Matlab中可以利用函數(shù)fft對(duì)信號(hào)行快速傅里葉變換,得到信號(hào)的頻譜圖figure 3,從圖中可以看出對(duì)各個(gè)頻點(diǎn)上的隨機(jī)信號(hào)在頻域進(jìn)行抽樣 ,抽樣頻率為 22050Hz。(2). 給原始信號(hào)加上一個(gè)高頻噪聲在Matlab中人為設(shè)計(jì)一個(gè)固定頻率5500Hz的噪聲干擾信號(hào)。噪聲信號(hào)通常為隨機(jī)序列,在本設(shè)計(jì)中用正弦序列代替,干擾信號(hào)構(gòu)建命令函數(shù)為d=Au*sin(2*pi*5500*t)',給出的干擾信號(hào)為一個(gè)正弦信號(hào),針

5、對(duì)上面的語(yǔ)音信號(hào) ,采集了其中一段。再對(duì)噪音信號(hào)進(jìn)行頻譜變換得到其頻譜圖,從圖中可以看出干擾信號(hào),在4000Hz和 6000Hz頻點(diǎn)處有一高峰 ,其中 5500Hz 正是本設(shè)計(jì)所要利用的。(3). 設(shè)計(jì)一個(gè)濾波器,濾除高頻噪聲由模擬濾波器變換為數(shù)字濾波器時(shí),采用的是雙線性變換法, 它保留的是從模擬到數(shù)字域的系統(tǒng)函數(shù)表示。在濾波器的選取時(shí), 由于設(shè)計(jì)方法的側(cè)重點(diǎn)不同, 作出比較是困難的。如果FIR濾波器情況下,最優(yōu)的設(shè)計(jì)將是橢圓濾波器。本設(shè)計(jì)是用雙線性變換法設(shè)計(jì)BW帶阻型濾波器的。在 MATLAB中 ,可以利用函數(shù) butterworth,設(shè)計(jì)FIR濾波器,利用 MATLAB 中的函數(shù)freqz

6、 畫出各濾波器的頻率響應(yīng)。用設(shè)計(jì)好的帶阻濾波器對(duì)含噪語(yǔ)音信號(hào)進(jìn)行濾波,在Matlab中 FIR濾波器利用函數(shù)fftfilt對(duì)信號(hào)進(jìn)行濾波,FIR濾波器利用函數(shù)filter對(duì)信號(hào)進(jìn)行濾波。在一個(gè)窗口同時(shí)畫出濾波前后的波形及頻譜。從圖中可以看出 ,5500Hz看到的高峰消失了 ,語(yǔ)音信號(hào)與開(kāi)始的一樣 ,濾波器成功的濾除了干擾信號(hào)。利用MATLAB對(duì)語(yǔ)音信號(hào)進(jìn)行分析和處理,采集語(yǔ)音信號(hào)后,利用MATLAB軟件平臺(tái)進(jìn)行頻譜分析;并對(duì)所采集的語(yǔ)音信號(hào)加入干擾噪聲,對(duì)加入噪聲的信號(hào)進(jìn)行頻譜分析,設(shè)計(jì)合適的濾波器濾除噪聲,恢復(fù)原信號(hào)。3 基于MATLAB的語(yǔ)音信號(hào)采集與處理方案的設(shè)計(jì)設(shè)計(jì)步驟:1)打開(kāi)Mat

7、lab軟件;2)點(diǎn)擊File新建M文件;3)在編輯框內(nèi)寫入系統(tǒng)Matlab程序;4)點(diǎn)擊保存并運(yùn)行程序,顯示仿真圖形。4 基于MATLAB的語(yǔ)音信號(hào)采集與處理的仿真與調(diào)試4.1 仿真軟件介紹Matlab是一種交互式的、以矩陣為基礎(chǔ)的軟件開(kāi)發(fā)環(huán)境,它用于科學(xué)和工程的計(jì)算與可視化。Matlab的編程功能簡(jiǎn)單,并且很容易擴(kuò)展和創(chuàng)造新的命令與函數(shù)。應(yīng)用Matlab可方便地解決復(fù)雜數(shù)值計(jì)算問(wèn)題。Matlab具有強(qiáng)大的Simulink動(dòng)態(tài)仿真環(huán)境,可以實(shí)現(xiàn)可視化建模和多工作環(huán)境間文件互用和數(shù)據(jù)交換。Simulink支持連續(xù)、離散及兩者混合的線性和非線性系統(tǒng),也支持多種采樣速率的多速率系統(tǒng);Simulink

8、為用戶提供了用方框圖進(jìn)行建模的圖形接口,它與傳統(tǒng)的仿真軟件包用差分方程和微分方程建模相比,更直觀、方便和靈活。用戶可以在Matlab和Simulink兩種環(huán)境下對(duì)自己的模型進(jìn)行仿真、分析和修改。用于實(shí)現(xiàn)通信仿真的通信工具包(Communication toolbox,也叫Commlib,通信工具箱)是Matlab語(yǔ)言中的一個(gè)科學(xué)性工具包,提供通信領(lǐng)域中計(jì)算、研究模擬發(fā)展、系統(tǒng)設(shè)計(jì)和分析的功能,可以在Matlab環(huán)境下獨(dú)立使用,也可以配合Simulink使用。另外,Matlab的圖形界面功能GUI(Graphical User Interface)能為仿真系統(tǒng)生成一個(gè)人機(jī)交互界面,便于仿真系統(tǒng)的

9、操作。因此,Matlab在通信系統(tǒng)仿真中得到了廣泛應(yīng)用,本文也選用該工具對(duì)數(shù)字調(diào)制系統(tǒng)進(jìn)行仿真。4.2 系統(tǒng)仿真實(shí)現(xiàn) 1用MATLAB對(duì)原始語(yǔ)音信號(hào)進(jìn)行分析,畫出它的時(shí)域波形和頻譜程序:fs=22050; %語(yǔ)音信號(hào)采樣頻率為22050x1=readwav('c.wav'); %讀取語(yǔ)音信號(hào)的數(shù)據(jù),賦給變量x1,sound(x1,22050); %播放語(yǔ)音信號(hào)y1=fft(x1,1024); %對(duì)信號(hào)做1024點(diǎn)FFT變換f=fs*(0:511)/1024; %將0到511,步長(zhǎng)為1的序列的值與fs相乘并除以1024的值,賦值給ffigure(1) %創(chuàng)建圖形窗1plot(x1

10、) %做原始語(yǔ)音信號(hào)的時(shí)域圖形title('原始語(yǔ)音信號(hào)');xlabel('time n'); %x軸的名字是“time n”ylabel('fuzhi n'); %y軸的名字是“fuzhi n”figure(2)freqz(x1) %繪制原始語(yǔ)音信號(hào)的頻率響應(yīng)圖title('頻率響應(yīng)圖')figure(3)subplot(2,1,1); %創(chuàng)建兩行一列繪圖區(qū)間的第1個(gè)繪圖區(qū)間 plot(abs(y1(1:512) %做原始語(yǔ)音信號(hào)的FFT頻譜圖title('原始語(yǔ)音信號(hào)FFT頻譜')subplot(2,1,2)

11、;plot(f,abs(y1(1:512); %abs是絕對(duì)值,plot是直角坐標(biāo)下線性刻度曲線title('原始語(yǔ)音信號(hào)頻譜')xlabel('Hz');ylabel('幅值');時(shí)域波形和頻譜:圖1 原始語(yǔ)音信號(hào)圖2 語(yǔ)音信號(hào)頻率響應(yīng)圖圖3 原始語(yǔ)音信號(hào)FFT與信號(hào)頻譜2. 給原始的語(yǔ)音信號(hào)加上一個(gè)高頻余弦噪聲,頻率為5500hz。對(duì)加噪后的語(yǔ)音進(jìn)行分析,并畫出其信號(hào)時(shí)域和頻譜圖。程序:fs=22050; x1=wavread('c.wav'); %讀取語(yǔ)音信號(hào)的數(shù)據(jù),賦給變量x1f=fs*(0:511)/1024; %將0到

12、511,步長(zhǎng)為1的序列的值與fs相乘并除以1024的值,賦值給ft=0:1/fs:(length(x1)-1)/fs; %將0到x1的長(zhǎng)度減1后的值除以fs的值,且步長(zhǎng)為1/fs的值,的序列的值,賦予tAu=0.03; %噪聲幅值d=Au*sin(2*pi*5500*t)' %所加的噪聲是正弦信號(hào)x2=x1+d; %將正弦信號(hào)噪聲加在語(yǔ)音信號(hào)上sound(x2,22050); %播放語(yǔ)音信號(hào)y1=fft(x1,1024); %對(duì)信號(hào)y1做1024點(diǎn)FFT變換y2=fft(x2,1024); %對(duì)信號(hào)y2做1024點(diǎn)FFT變換figure(1); %創(chuàng)建圖形窗1plot(t,x2); %

13、做加噪后的信號(hào)時(shí)域圖形(繪出t對(duì)x2的線性圖)title('加噪后的信號(hào)');xlabel('time n'); %x軸的名字是“time n”ylabel('fuzhi n'); %y軸的名字是“fuzhi n”figure(2) %創(chuàng)建圖形窗2subplot(2,1,1); % 創(chuàng)建兩行一列繪圖區(qū)間的第1個(gè)繪圖區(qū)間plot(f,abs(y1(1:512); %做原始語(yǔ)音信號(hào)的頻譜圖title('原始語(yǔ)音信號(hào)頻譜');xlabel('Hz'); %x軸的名字是“time n”ylabel('fuzhi&#

14、39;); % y軸的名字是“fuzhi”subplot(2,1,2); %創(chuàng)建兩行一列繪圖區(qū)間的第2個(gè)繪圖區(qū)間plot(f,abs(y2(1:512); %做加噪后的語(yǔ)音信號(hào)的頻譜圖(abs是絕對(duì)值,plot是直角坐標(biāo)下線性刻度曲線)title('加噪后的信號(hào)頻譜');xlabel('Hz'); %x軸的名字是“time n”ylabel('fuzhi'); % y軸的名字是“fuzhi”時(shí)域波形和頻譜: 圖4 加噪后的信號(hào)時(shí)域圖圖5 原始信號(hào)與加噪后信號(hào)頻譜對(duì)比與原始信號(hào)對(duì)比,區(qū)別:先原始信號(hào)沒(méi)加噪音之前0到2000有幅值,在4000到600

15、0之間沒(méi)有幅值,但是在加了噪音之后4000到6000之間出現(xiàn)最大幅值12,超出正常值。如圖5原始信號(hào)與加噪后信號(hào)頻譜對(duì)比圖所示。3. 設(shè)計(jì)合適的濾波器,濾除高頻噪聲,繪出濾波后的信號(hào)頻域和時(shí)域波形:程序:fs=22050;x,fs,Nbit=readwav('c.wav');sound(x,fs);t=0:1/22050:(length(x)-1)/22050;figure(1)plot(x)title('原始語(yǔ)音信號(hào)');xlabel('time n');ylabel('fuzhi');figure(2)freqz(x);tit

16、le('頻率響應(yīng)圖');n=length(x);y1=fft(x,n);y2=fftshift(x);f=0:fs/n:fs*(n-1)/n;figure(3)subplot(2,1,1);plot(abs(y2);title('原始語(yǔ)音信號(hào)FFT頻譜');subplot(2,1,2)plot(f,abs(y2);title('原始語(yǔ)音信號(hào)頻譜'); %加噪聲k=1:1:n;c1=10*sin(2*pi*2000*k);figure(4)plot(k,c1)title('噪聲時(shí)域圖');figure(5)freqz(c1);tit

17、le('噪聲信號(hào)頻率響應(yīng)')s=length(c1);xc=fft(c1,s);xcc=fftshift(xc);f=0:fs/s:fs*(s-1)/s;figure(6)plot(f,abs(xcc)title('噪聲信號(hào)頻譜圖'); %噪聲與原始信號(hào)疊加z=x'+c1;y3=fft(z,s);y4=fftshift(y3);f=0:fs/s:fs*(s-1)/s;figure(7)plot(f,abs(y4);axis(0 8000 0 400);title('含語(yǔ)音信號(hào)的頻譜');figure(8)subplot(2,1,1);pl

18、ot(f,abs(y4)title('加噪音后的語(yǔ)音頻譜')%用雙線性變換法設(shè)計(jì)巴特沃思低通濾波器wp=0.25*pi; %通帶截止頻率ws=0.3*pi; %阻帶截止頻率Rp=1; %通帶最大衰減(db)Rs=15; %阻帶最大衰減(db)Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2); %將模擬指標(biāo)轉(zhuǎn)換成數(shù)字指標(biāo)ws1=2/Ts*tan(ws/2); %將模擬指標(biāo)轉(zhuǎn)換成數(shù)字指標(biāo)N,Wn=buttord(wp1,ws1,Rp,Rs,'s'); %選擇濾波器的最小階數(shù)(估算得到Butterworth低通濾波器的最小階數(shù)N和3dB截止頻率W

19、c)Z,P,K=buttap(N); %創(chuàng)建Butterworth低通濾波器原型Bap,Aap=zp2tf(Z,P,K); %將零極點(diǎn)增益轉(zhuǎn)換為普遍分子,分母b,a=lp2lp(Bap,Aap,Wn); %將普遍的分子和分母轉(zhuǎn)換為以Wn為截止頻率bz,az=bilinear(b,a,Fs); %用雙線性變換法實(shí)現(xiàn)模擬濾波器到數(shù)字濾波器的轉(zhuǎn)換(模擬轉(zhuǎn)換為數(shù)字)H,W=freqz(bz,az); %求頻率響應(yīng)figure(9)plot(W*Fs/(2*pi),abs(H) %繪制Butterworth低通濾波器頻率響應(yīng)曲線grid %添加圖格xlabel('頻率Hz')ylabel

20、('頻率響應(yīng)幅度')title('Butterworth')f1=filter(bz,az,z); %利用上面已做好的濾波器(已bz和az為特征的濾波器)對(duì)x2信號(hào)進(jìn)行濾波,賦值給f1figure(10)subplot(2,1,1) %創(chuàng)建兩行一列繪圖區(qū)間的第1繪圖區(qū)間plot(t,z) %做加噪后的信號(hào)時(shí)域圖形title('濾波前的時(shí)域波形');subplot(2,1,2) %創(chuàng)建兩行一列繪圖區(qū)間的第2繪圖區(qū)間plot(t,f1); title('濾波后的時(shí)域波形');sound(f1,22050); %播放語(yǔ)音信號(hào)p=leng

21、th(f1);F0=fft(f1,p);f=0:fs/p:fs*(s-1)/p;figure(11)y2=fft(z,1024); %對(duì)信號(hào)y2做1024點(diǎn)FFT變換subplot(2,1,1); %創(chuàng)建兩行一列繪圖區(qū)間的第1繪圖區(qū)間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&#

22、39;);ylabel('fuzhi')時(shí)域波形和頻譜: 圖6 低通濾波器頻率響應(yīng)曲線圖7 濾波前后時(shí)域波形圖 圖8 濾波前后頻譜圖與原噪音信號(hào)對(duì)比,區(qū)別:通過(guò)對(duì)比分析可知,濾波后的輸出波形和原始語(yǔ)音加噪聲信號(hào)的圖形發(fā)生了一些變化,在3000-6000Hz之間的信號(hào)消失,出現(xiàn)0-1000和7000-8000之間的信號(hào)。濾波后的輸出波形明顯在對(duì)應(yīng)時(shí)間幅度比原語(yǔ)音加噪聲信號(hào)的要小,而且濾波的效果也與,已很接近原來(lái)的聲音,人耳幾乎辨別不出 。從頻譜圖中我們還可以看出聲音的能量信號(hào)主要集中在低頻部分,說(shuō)明高頻語(yǔ)音信號(hào)被濾出,濾波器達(dá)到既定要求。5 總結(jié) 5.1 設(shè)計(jì)小結(jié) 利用MATLAB對(duì)語(yǔ)音信號(hào)進(jìn)行分析和處理,采集語(yǔ)音信號(hào)后,利用MATLAB軟件平臺(tái)進(jìn)行頻譜分析;并對(duì)所采集的語(yǔ)音信號(hào)加入干擾噪聲,對(duì)加入噪聲的信號(hào)進(jìn)行頻譜分析,設(shè)計(jì)合適的濾波器濾除噪聲,恢復(fù)原信號(hào)。 5.2 收獲體會(huì) 通過(guò)MATLAB課程設(shè)計(jì),我對(duì)MATLAB這個(gè)仿真軟件有了更進(jìn)一步的認(rèn)識(shí)和了解。在設(shè)計(jì)過(guò)程中,我通過(guò)自己摸索,查閱資料,并且在老師的指導(dǎo)下完成了:語(yǔ)音信號(hào)的采集及分析;給原始信號(hào)加上一個(gè)高頻噪聲;設(shè)計(jì)一個(gè)濾波器,濾除高頻噪聲;并最終將課程設(shè)計(jì)報(bào)告總結(jié)完畢。在整個(gè)設(shè)計(jì)過(guò)程

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論