MATLAB語言實(shí)現(xiàn)對(duì)模擬信號(hào)的處理_第1頁
MATLAB語言實(shí)現(xiàn)對(duì)模擬信號(hào)的處理_第2頁
MATLAB語言實(shí)現(xiàn)對(duì)模擬信號(hào)的處理_第3頁
MATLAB語言實(shí)現(xiàn)對(duì)模擬信號(hào)的處理_第4頁
MATLAB語言實(shí)現(xiàn)對(duì)模擬信號(hào)的處理_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、*大學(xué)課程設(shè)計(jì)題目要求: 1.錄制一段自己的語音信號(hào),并對(duì)錄制的信號(hào)進(jìn)行采樣; 2.畫出采樣后的語音信號(hào)的時(shí)域波形和頻譜圖; 3.給定濾波器的性能指標(biāo),采用窗函數(shù)法和雙線性變換法設(shè)計(jì)濾波器, 并劃出濾波器的頻域響應(yīng); 4.用該濾波器對(duì)采集的信號(hào)進(jìn)行濾波,畫出濾波后信號(hào)的時(shí)域波形和頻譜, 并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化; 5.回放語音信號(hào); 6.設(shè)計(jì)一個(gè)信號(hào)處理系統(tǒng)界面。 報(bào)告要求:根據(jù)自己錄制的語音信號(hào)選擇合適的濾波器,并按照題目要求完成報(bào)告;程序1:用matlab對(duì)原始語音信號(hào)進(jìn)行分析,畫出它的時(shí)域波形和頻譜fs=22050; %語音信號(hào)采樣頻率為22050x1=wavread(

2、c:teng.wav); %讀取語音信號(hào)的數(shù)據(jù),賦給變量x1sound(x1,22050); %播放語音信號(hào)y1=fft(x1,1024); %對(duì)信號(hào)做1024點(diǎn)fft變換f=fs*(0:511)/1024;figure(1)plot(x1) %做原始語音信號(hào)的時(shí)域圖形title(原始語音信號(hào));xlabel(time n);ylabel(fuzhi n);figure(2)freqz(x1) %繪制原始語音信號(hào)的頻率響應(yīng)圖title(頻率響應(yīng)圖)figure(3)subplot(2,1,1);plot(abs(y1(1:512) %做原始語音信號(hào)的fft頻譜圖title(原始語音信號(hào)fft頻

3、譜)subplot(2,1,2);plot(f,abs(y1(1:512);title(原始語音信號(hào)頻譜)xlabel(hz);ylabel(fuzhi);程序2:給原始的語音信號(hào)加上一個(gè)高頻余弦噪聲,頻率為5khz。畫出加噪后的語音信號(hào)時(shí)域和頻譜圖,與原始信號(hào)對(duì)比,可以很明顯的看出區(qū)別。fs=22050; x1=wavread(c:teng.wav);f=fs*(0:511)/1024;t=0:1/22050:(size(x1)-1)/22050;%將所加噪聲信號(hào)的點(diǎn)數(shù)調(diào)整到與原始信號(hào)相同au=0.03;d=au*cos(2*pi*5000*t);%噪聲為5khz的余弦信號(hào)x2=x1+d;s

4、ound(x2,22050);%播放加噪聲后的語音信號(hào)y2=fft(x2,1024);figure(1)plot(t,x2)title(加噪后的信號(hào));xlabel(time n);ylabel(fuzhi n);figure(2)subplot(2,1,1);plot(f,abs(y1(1:512);title(原始語音信號(hào)頻譜);xlabel(hz);ylabel(fuzhi);subplot(2,1,2);plot(f,abs(y2(1:512);title(加噪后的信號(hào)頻譜);xlabel(hz);ylabel(fuzhi);程序3:雙線性變換法設(shè)計(jì)butterworth濾波器fs=2

5、2050;x1=wavread(h:課程設(shè)計(jì)2shuzi.wav);t=0:1/22050:(size(x1)-1)/22050;au=0.03;d=au*cos(2*pi*5000*t);x2=x1+d;wp=0.25*pi;ws=0.3*pi;rp=1;rs=15;fs=22050;ts=1/fs;wp1=2/ts*tan(wp/2); %將模擬指標(biāo)轉(zhuǎn)換成數(shù)字指標(biāo)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,

6、k);b,a=lp2lp(bap,aap,wn); bz,az=bilinear(b,a,fs); %用雙線性變換法實(shí)現(xiàn)模擬濾波器到數(shù)字濾波器的轉(zhuǎn)換h,w=freqz(bz,az); %繪制頻率響應(yīng)曲線figure(1)plot(w*fs/(2*pi),abs(h)gridxlabel(頻率hz)ylabel(頻率響應(yīng)幅度)title(butterworth)f1=filter(bz,az,x2);figure(2)subplot(2,1,1)plot(t,x2) %畫出濾波前的時(shí)域圖title(濾波前的時(shí)域波形);subplot(2,1,2)plot(t,f1); %畫出濾波后的時(shí)域圖tit

7、le(濾波后的時(shí)域波形);sound(f1,22050); %播放濾波后的信號(hào)f0=fft(f1,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x2,1024);subplot(2,1,1);plot(f,abs(y2(1:512); %畫出濾波前的頻譜圖title(濾波前的頻譜)xlabel(hz);ylabel(fuzhi);subplot(2,1,2)f1=plot(f,abs(f0(1:512); %畫出濾波后的頻譜圖title(濾波后的頻譜)xlabel(hz);ylabel(fuzhi);程序4:窗函數(shù)法設(shè)計(jì)濾波器:fs=22050;x1=wavr

8、ead(h:課程設(shè)計(jì)2shuzi.wav);t=0:1/22050:(size(x1)-1)/22050;au=0.03;d=au*cos(2*pi*5000*t);x2=x1+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(濾波前的時(shí)域

9、波形);subplot(2,1,2)plot(t,f2);title(濾波后的時(shí)域波形);sound(f2,22050); %播放濾波后的語音信號(hào)f0=fft(f2,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x2,1024);subplot(2,1,1);plot(f,abs(y2(1:512);title(濾波前的頻譜)xlabel(hz);ylabel(fuzhi);subplot(2,1,2)f2=plot(f,abs(f0(1:512);title(濾波后的頻譜)xlabel(hz);ylabel(fuzhi);目錄一、 緒論2二、 正文31 設(shè)計(jì)

10、思路32 流程圖 12三、小結(jié)13五、參考文獻(xiàn)14六、謝辭14七、附錄14 緒論本次課程設(shè)計(jì)是利用matlab對(duì)信號(hào)進(jìn)行采樣、分析以及根據(jù)信號(hào)的特點(diǎn)設(shè)計(jì)出合適的數(shù)字濾波器對(duì)信號(hào)進(jìn)行濾波。matlab名字是由matrix和laboratory兩個(gè)詞的前三個(gè)字母組合而成的。它是mathworks公司于982年推出的一套高性能的數(shù)值計(jì)算和可視化數(shù)學(xué)軟件。它一般用于數(shù)值分析、矩陣運(yùn)算、數(shù)字信號(hào)處理、建模和系統(tǒng)控制和優(yōu)化等應(yīng)用程序,并集應(yīng)用程序和圖形于一便于使用的集成環(huán)境中。由于matlab不需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專門的庫函數(shù),使之在求解諸如信號(hào)處理、建模、系統(tǒng)識(shí)別、控制、優(yōu)化等領(lǐng)域

11、的問題時(shí),顯得大為簡捷、高效、方便,這是其它高級(jí)語言所不能比擬的。matlab中包括了被稱作工具箱(toolbox)的各類應(yīng)用問題的求解工具。工具箱實(shí)際上是對(duì)matlab進(jìn)行擴(kuò)展應(yīng)用的一系列matlab函數(shù)(稱為m文件),它可用來求解各類學(xué)科的問題,包括信號(hào)處理、圖象處理、控制系統(tǒng)辨識(shí)、神經(jīng)網(wǎng)絡(luò)等。其主要內(nèi)容涉及了從波形產(chǎn)生到濾波器設(shè)計(jì)和參量建模以及信號(hào)譜分析的范圍,核心領(lǐng)域?yàn)闉V波器設(shè)計(jì)和頻譜分析。工具箱除去提供了用于信號(hào)處理的命令函數(shù)外,還提供了一組基于cpu開發(fā)的借口工具。隨著matlab版本的不斷升級(jí),其所含的工具箱的功能也越來越豐富,因此,應(yīng)用范圍也越來越廣泛,成為涉及數(shù)值分析的各類工

12、程師不可不用的工具。 matlab5.3中包括了圖形界面編輯gui,改變了以前單一的“在指令窗通過文本形的指令進(jìn)行各種操作”的狀況。這可讓使用者也可以象vb vc vj delphi等那樣進(jìn)行一般的可視化的程序編輯。在命令窗口(matlab command window)鍵入simulink,就出現(xiàn)(simulink) 窗口。以往十分困難的系統(tǒng)仿真問題,用simulink只需拖動(dòng)鼠標(biāo)即可輕而易舉地解決問題,這也是近來受到重視原因所在。本次課程設(shè)計(jì)主要涉及的內(nèi)容是,離散時(shí)間信號(hào)與系統(tǒng)的時(shí)域、頻域表示,以及信號(hào)通過系統(tǒng)的時(shí)域、頻域分析及其變換域分析。matlab數(shù)據(jù)庫中提供了與之相對(duì)應(yīng)的函數(shù),如f

13、ilter、fftfilt、 freqz 。課設(shè)過程中最重要的部分是濾波器的設(shè)計(jì),數(shù)字濾波器設(shè)計(jì)和頻譜分析是數(shù)字信號(hào)處理的兩個(gè)主要應(yīng)用。數(shù)字濾波器設(shè)計(jì)包括了無限沖擊響應(yīng)(iir)和有限沖擊響應(yīng)(fir)濾波器設(shè)計(jì),在這一方面,matlab的這一工具庫提供了極為豐富的設(shè)計(jì)工具。頻譜分析又可進(jìn)一步分為線性頻譜分析和非線性頻譜分析。其中,線性頻譜分析的理論基礎(chǔ)為傅立葉變換,因此所使用的matlab函數(shù)主要為fft,ifft,此外,工具箱中還給出了各種窗函數(shù)。對(duì)于非線性頻譜分析,matlab也提供了多種成熟算法的相應(yīng)函數(shù)。一 設(shè)計(jì)思路本次課設(shè)題目是用matlab語言實(shí)現(xiàn)對(duì)模擬信號(hào)的處理。根據(jù)課程設(shè)計(jì)的

14、任務(wù)和要求,設(shè)計(jì)思路如下:首先利用電腦windows自帶的錄音機(jī)錄制一段幾秒鐘自己的語音信號(hào),如圖:錄制的語音信號(hào)音頻格式pcm,平均數(shù)據(jù)速率 8.00kb/秒,采樣速率 8.00kb/秒,音頻采樣大小為8位,頻道為單聲道,從音頻參數(shù)可以得出對(duì)錄制的信號(hào)采樣的頻率為8000kz,本人錄制的語音信號(hào)命名為 teng.wav錄制號(hào)后將teng.wav文件放在c盤,其路徑為c:teng.wav.然后利用matlab語句wavread進(jìn)行采樣:y,fs,n=wavread(c:teng.wav); %將采樣后的語音信號(hào)賦給變量y再對(duì)采樣后的語音信號(hào)y做2048點(diǎn)的fft變換,利用如下語句:y=fft(

15、y,2048) 根據(jù)設(shè)計(jì)要求畫出語音信號(hào)時(shí)域圖plot(y),以及頻譜圖plot(abs(y)。如圖用sound(y,fs,n)語句播放語音。分析采樣后語音信號(hào)的頻譜圖,任意選取一段噪聲信號(hào),本人選擇了幅值為0.5,1.8k的余弦噪聲信號(hào),為了使噪聲信號(hào)能加入道語音信號(hào)中,則所加噪聲信號(hào)的點(diǎn)數(shù)調(diào)整到與原始信號(hào)相同,否則不能相加,f=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號(hào)的點(diǎn)數(shù)調(diào)整到與原始信號(hào)相同則噪聲信號(hào)表達(dá)式為d=au*cos(2*pi*1800*t); 畫出噪聲時(shí)域波形plot(t,d)和頻譜plot(f,abs(y2(1

16、:512),如下圖:只有噪聲信號(hào)與語音信號(hào)的點(diǎn)數(shù)相同才可以將噪聲加入語音信號(hào)中x2=y+d; %將噪聲加入到語音信號(hào)中畫出加入噪聲后的語音信號(hào)時(shí)域圖plot(t,x2)然后畫出加入噪聲后語音信號(hào)頻譜圖并與原語音信號(hào)頻譜圖比較:根據(jù)加入噪聲以后的語音信號(hào)的頻譜圖,選定濾波器的類型。通常分fir濾波器和iir濾波器,再根據(jù)分析結(jié)果得出濾波器的性能指標(biāo)。根據(jù)本次課程設(shè)計(jì)的要求采用雙線性變換法和窗函數(shù)法來設(shè)計(jì)濾波器。雙線性變換法是先設(shè)計(jì)一個(gè)模擬iir濾波器,然后映射成一個(gè)等效的數(shù)字濾波器。雙線性變換法有巴特沃思濾波器和切貝雪夫?yàn)V波器。窗函數(shù)法有矩形窗,三角窗,漢寧窗,海明窗,布拉克曼窗。本人采用了巴特

17、沃思濾波器和海明窗來進(jìn)行濾波器的設(shè)計(jì)。下面就巴特沃思濾波器和海明窗設(shè)計(jì)濾波器詳細(xì)介紹:(一)巴特沃思濾波器屬于iir濾波器,需要用到的有關(guān)語句如下:(1) n,wn=buttord(wp,ws,rp,rs)(2) n,wn=buttord(wp,ws,rp,rs,s)格式(1)對(duì)應(yīng)數(shù)字濾波器,式中wp,ws分別使通帶和阻帶的截至頻率,實(shí)際上它們是歸一化頻率,其值在01之間,1對(duì)應(yīng)抽樣頻率的一半。對(duì)低通和高通濾波器,wp,ws都是標(biāo)量,對(duì)帶通和帶阻濾波器,wp,ws都是12的向量。rp,rs分別是通帶和阻帶的衰減,單位為db。n是求出的相應(yīng)低通濾波器的階次,wn是求出的3db頻率,它和wp稍有不

18、同。格式(2)對(duì)應(yīng)模擬濾波器,式中各個(gè)變量含義和格式(1)相同,但wp,ws及wn的單位為rad/s,因此,它們實(shí)際上是頻率。(3) z,p,k=buttap(n)此語句是用來設(shè)計(jì)模擬低通原型濾波器g(p),n是欲設(shè)計(jì)的低通原型濾波器的階次,z,p和k分別是設(shè)計(jì)出的g(p)的極點(diǎn)、零點(diǎn)及增益。(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)換為實(shí)際的低通、高通、帶通及帶阻濾波器。式中b,a分別是模擬低通原型濾波器g(p)的分子、

19、分母多項(xiàng)式的系數(shù)向量,b,a分別是轉(zhuǎn)換后的h(s)的分子、分母多項(xiàng)式的系;在(4)中,wo是低通或高通濾波器的截至頻率;在(5)中,wo是帶通或帶阻濾波器的中心頻率,bw是其帶寬。本次課程的設(shè)計(jì)的巴特沃思濾波器是低通濾波器,故用到式子b,a=lp2lp(b,a,wo).(6) bz,az=bilinear(b,a,fs)上式語句是實(shí)現(xiàn)雙線性變換,即由模擬濾波器h(s)得到數(shù)字濾波器h(z).式中b,a 分別是h(s)的分子、分母多項(xiàng)式的系數(shù)向量,bz,az分別是h(z)的分子、分母多項(xiàng)式的系數(shù)向量,fs是抽樣頻率。在這里fs=8000.根據(jù)含有噪聲的語音信號(hào)頻譜圖分析,本人設(shè)置wp=0.25*

20、pi;ws=0.3*pi;rp=1;rs=15進(jìn)行設(shè)計(jì)巴特沃思低通濾波器。(二)海明窗濾波器屬于fir型濾波器; 海明(hamming)窗(又稱為改進(jìn)的升余弦窗)窗函數(shù): (n)= rn(n)其頻率響應(yīng)的幅度函數(shù)為w()=0.54wr()+0.23 0.54wr()+0.23 ,(當(dāng)n1)主瓣寬度為42/n=8/n,過渡帶寬3.32/n。(7) b=fir1(n,f,m)上式中f是頻率向量,其值在01之間,m是與f相對(duì)應(yīng)的所希望的幅頻響應(yīng),不指定窗函數(shù)類型時(shí),則自動(dòng)選擇海明窗。本次課程設(shè)計(jì)用到類似語句為:n=ceil(6.6*pi/wdelta); %濾波器長度wn=(0.2+0.3)*pi/

21、2;b=fir1(n,wn/pi,hamming(n+1); %選擇窗函數(shù),并歸一化截止頻率根據(jù)含有噪聲的語音信號(hào)頻譜圖分析,選取wp=0.25*pi; ws=0.3*pi;濾波器設(shè)計(jì)好后,畫出兩種濾波器的頻率響應(yīng)圖:巴特沃思濾波器海明窗濾波器然后用已設(shè)計(jì)出來的濾波器對(duì)采集的語音信號(hào)進(jìn)行濾波,畫出濾波后信號(hào)的時(shí)域波形和頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比。經(jīng)過巴特沃思濾波器濾波的時(shí)域波形圖和頻譜圖分別如下:經(jīng)過海明窗濾波器濾波濾波前后時(shí)域波形圖及頻譜圖分別如下:分析信號(hào)的變化,根據(jù)兩種濾波器濾波前后頻譜圖可發(fā)現(xiàn),在1200hz后的信號(hào)基本被濾除掉了,回放語音信號(hào):sound(x2,8000); %

22、播放含有噪聲的語音信號(hào)sound(f1,8000); %播放經(jīng)過巴特沃思濾波器濾波后的語音信號(hào)sound(f2,8000); %播放經(jīng)過海明窗濾波器濾波后的語音信號(hào)濾波后的語音效果有明顯的沉悶的感覺,其原因是濾除噪聲的同時(shí)也濾除了一部分的語音信號(hào),但總體上其濾波后的語音與原語音信號(hào)相差無幾,也徹底的把噪聲濾除掉了。最后用 matlab 設(shè)計(jì)一信號(hào)處理系統(tǒng)界面。首先在matlab工作區(qū)鍵入guide,回車,出現(xiàn)一窗口,選擇blank gui(default)。如界面圖1界面圖1點(diǎn)擊ok確定后彈出一運(yùn)行窗口,如界面圖2界面圖2菜單設(shè)置:選擇名為menu editor的圖標(biāo)后,出現(xiàn)另一窗口,添加新的

23、菜單,在label框中鍵入菜單名,子菜單還需在callback中鍵入連接的文件名,如界面圖3界面圖3界面圖4二 流程圖錄音噪聲播放原音導(dǎo)入語音文件 時(shí)域波形和頻譜信號(hào)時(shí)域波形和頻譜信號(hào)窗函數(shù)法雙線性變化法海明窗濾波器加入噪聲的語音信號(hào)信號(hào)巴特沃思濾波器時(shí)域波形和頻譜信號(hào)頻率響應(yīng)頻率響應(yīng)濾波語音重放濾波濾波前后時(shí)域及頻譜圖比較濾波前后時(shí)域及頻譜圖比較三 小結(jié)本次課程設(shè)計(jì)是以數(shù)字信號(hào)處理為理論基礎(chǔ),利用matlab對(duì)信號(hào)進(jìn)行分析,處理語音信號(hào)以及設(shè)計(jì)濾波器。課程設(shè)計(jì)題目是matlab語言實(shí)現(xiàn)對(duì)模擬信號(hào)的處理課程設(shè)計(jì),需要對(duì)語音信號(hào)進(jìn)行采樣、分析并濾波。從這次課程設(shè)計(jì)中,我認(rèn)識(shí)到了書上的理論知識(shí)很好

24、的和實(shí)際結(jié)合到了一起,首先要采集一段語音信號(hào),因?yàn)樵嫉恼Z音信號(hào)是模擬的,所以要對(duì)原始的語音信號(hào)進(jìn)行采樣,是通過函數(shù)wavread()來實(shí)現(xiàn)的,使我很好的掌握了這個(gè)函數(shù)的用法。數(shù)字濾波器設(shè)計(jì)包括了無限沖擊響應(yīng)(iir)和有限沖擊響應(yīng)(fir)濾波器設(shè)計(jì),在本次課設(shè)中,iir濾波器本人設(shè)計(jì)了一種:巴特沃思低通濾波器,fir濾波器本人設(shè)計(jì)了海明窗低通濾波器。它們的性能指標(biāo)是根據(jù)含有噪聲的語音信號(hào)頻譜圖的特點(diǎn)設(shè)計(jì)的。在平時(shí)的理論學(xué)習(xí)中我們學(xué)習(xí)了數(shù)字濾波器的基本結(jié)構(gòu),無限長單位沖激響應(yīng)數(shù)字濾波器的設(shè)計(jì)方法和有限長單位沖激響應(yīng)數(shù)字濾波器的設(shè)計(jì)方法,著重學(xué)習(xí)了利用模擬濾波器設(shè)計(jì)iir數(shù)字濾波器,從理論知識(shí)

25、可知利用模擬濾波器設(shè)計(jì)數(shù)字濾波器就是要把s平面映射到z平面,使模擬系統(tǒng)函數(shù)h(s)變換成所需的數(shù)字濾波器的系統(tǒng)函數(shù)h(z),一般是利用沖激響應(yīng)不變法、階躍響應(yīng)不變法、雙線性變換法來實(shí)現(xiàn)模擬濾波器到數(shù)字濾波器的映射。在純理論的學(xué)習(xí)中,我們學(xué)生對(duì)濾波器的設(shè)計(jì)還不了解。通過這次課設(shè),使我對(duì)濾波器的設(shè)計(jì)有了更深層次的的認(rèn)識(shí)。在整個(gè)程序中,多次使用了matlab的繪圖功能,畫出了低通濾波器的頻率響應(yīng)圖,濾波前后的語音信號(hào)的時(shí)域圖和頻譜圖,使我感受到了其強(qiáng)大的繪圖功能,使得可以很直觀的看出信號(hào)的種種特性,從而可以更加容易的判斷出對(duì)信號(hào)的處理是否達(dá)到了預(yù)期的目的。總的來說,這次課程設(shè)計(jì)幫助我鞏固了平常所學(xué)習(xí)

26、的理論知識(shí),使我對(duì)所學(xué)的理論知識(shí)有了一個(gè)更深層次的理解和掌握,同時(shí)加強(qiáng)了我對(duì)matlab的運(yùn)用能力,從而能夠借助軟件來更好的分析,處理信號(hào)和設(shè)計(jì)濾波器。在整個(gè)課程設(shè)計(jì)過程中,編寫程序與調(diào)試程序中出現(xiàn)了一系列的問題經(jīng)過日夜認(rèn)真琢磨分析后,最終改正了錯(cuò)誤,把課程設(shè)計(jì)順利完成,下面就主要碰到的問題分析:錄音為雙聲道,未轉(zhuǎn)換為單聲道,以至于將噪聲怎么也加不進(jìn)語音信號(hào)中,后經(jīng)老師提點(diǎn),又經(jīng)過認(rèn)真分析發(fā)現(xiàn)原來錄音為雙聲道,而噪聲卻是單聲道,所以最后將錄制的聲音信號(hào)轉(zhuǎn)換為單聲道。最后終于把這個(gè)問題解決了。參考文獻(xiàn)1、數(shù)字信號(hào)處理教程 程佩青 清華大學(xué)出版社2、數(shù)字信號(hào)處理及matlab實(shí)現(xiàn) 余成波 楊菁 楊

27、如民 清華大學(xué)出版社謝辭本次數(shù)字信號(hào)處理課程設(shè)計(jì)能順利的完成,首先得要感謝李偉平老師的指導(dǎo),同時(shí)也要感謝在課程設(shè)計(jì)中給予我?guī)椭耐瑢W(xué)們,是大家大量查閱資料,共享資料,然后有一個(gè)很好的交流。在本次課程設(shè)計(jì)中,認(rèn)識(shí)到一個(gè)團(tuán)隊(duì)的力量是無窮的,每個(gè)人貢獻(xiàn)一點(diǎn)點(diǎn)微薄之力,合在一起就是一股強(qiáng)大的力量。同時(shí)我認(rèn)識(shí)到數(shù)字信號(hào)處理的理論知識(shí)是非常重要的,是本次課程設(shè)計(jì)的基石,所以在此要特別謝謝余慧娟老師在平時(shí)教學(xué)過程中對(duì)我們嚴(yán)格要求,使我們有一個(gè)比較扎實(shí)的理論基礎(chǔ),同時(shí)能熟練運(yùn)用matlab語言也是本次課程設(shè)計(jì)的關(guān)鍵所在,也為這次順利完成課設(shè)提供了保證。附錄附錄一:主程序(1). 原始信號(hào)的采樣將錄制的語音信號(hào)

28、與所有的程序放置在同一個(gè)文件夾,在程序中通過wavread()函數(shù)來讀取這段原始信號(hào),并繪出采樣后其時(shí)域波形圖和頻譜圖。程序如下:y,fs,n=wavread(c:teng.wav); %將采樣后的語音信號(hào)賦給變量yy=fft(y,2048) %對(duì)采樣后的語音信號(hào)做2048點(diǎn)fft變換 figure(1);subplot(211);plot(y); %采樣后語音信號(hào)的波形 title(原始信號(hào)波形);xlabel(時(shí)間n);ylabel(幅值n);subplot(212);plot(abs(y); %采樣后語音信號(hào)的頻譜 title(原始信號(hào)頻譜);xlabel(hz);ylabel(幅值n)

29、;圖1.原始信號(hào)時(shí)域波形及頻譜(2). 噪聲y,fs,n=wavread(c:teng.wav); f=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號(hào)的點(diǎn)數(shù)調(diào)整到與原始信號(hào)相同au=0.5; %噪聲幅值d=au*cos(2*pi*1800*t); %噪聲為1khz的余弦信號(hào)y2=fft(d,2048); %對(duì)噪聲信號(hào)做2048點(diǎn)fft變換 figure(2)subplot(2,1,1);plot(t,d)title(噪聲信號(hào)時(shí)域圖);xlabel(時(shí)間n);ylabel(幅值n);subplot(2,1,2);plot(f,abs(y

30、2(1:512);title(噪聲信號(hào)頻譜);xlabel(hz);ylabel(幅值n);圖2.噪聲信號(hào)頻譜(3).將噪聲信號(hào)加入原始信號(hào)中 y,fs,n=wavread(c:teng.wav); %將采樣后的語音信號(hào)賦給變量yf=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號(hào)的點(diǎn)數(shù)調(diào)整到與原始信號(hào)相同au=0.5; %噪聲幅值d=au*cos(2*pi*1800*t); %噪聲為1.8khz的余弦信號(hào)x2=y+d; %將噪聲加入到語音信號(hào)中y1=fft(y,2048); %對(duì)信號(hào)做2048點(diǎn)fft變換y2=fft(x2,2048)

31、; %對(duì)加入噪聲以后的語音信號(hào)做2048點(diǎn)fft變換 figure(1)plot(t,x2)title(加噪后的信號(hào));xlabel(時(shí)間n);ylabel(幅值n);figure(2)subplot(2,1,1);plot(f,abs(y1(1:512);title(原始語音信號(hào)頻譜);xlabel(hz);ylabel(幅值n);subplot(2,1,2);plot(f,abs(y2(1:512);title(加噪后的信號(hào)頻譜);xlabel(hz);ylabel(幅值n);圖3.加噪聲后的信號(hào)圖圖4.原始語音信號(hào)頻譜圖及加入噪聲后的信號(hào)頻譜圖(4). 濾波器的類型雙線性變換法設(shè)計(jì)巴特沃

32、思低通濾波器y,fs,n=wavread(c:teng.wav); %將采樣后的語音信號(hào)賦給變量yf=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號(hào)的點(diǎn)數(shù)調(diào)整到與原始信號(hào)相同au=0.5; %噪聲幅值d=au*cos(2*pi*1800*t); %噪聲為1.8khz的余弦信號(hào)x2=y+d; %將噪聲加入到語音信號(hào)中wp=0.25*pi;ws=0.3*pi;rp=1;rs=15;fs=8000;ts=1/fs;wp1=2/ts*tan(wp/2); %將模擬指標(biāo)轉(zhuǎn)換成數(shù)字指標(biāo)ws1=2/ts*tan(ws/2); n,wn=buttor

33、d(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); %用雙線性變換法實(shí)現(xiàn)模擬濾波器到數(shù)字濾波器的轉(zhuǎn)換h,w=freqz(bz,az); %繪制頻率響應(yīng)曲線figure(1)plot(w*fs/(2*pi),abs(h)gridxlabel(頻率hz)ylabel(頻率響應(yīng)幅度)title(butterworth)f1=filter(bz,az,x2);figure(2)subplo

34、t(2,1,1)plot(t,x2) %畫出濾波前的時(shí)域圖title(濾波前的時(shí)域波形);subplot(2,1,2)plot(t,f1); %畫出濾波后的時(shí)域圖title(濾波后的時(shí)域波形);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(濾波后的頻譜)

35、xlabel(hz);ylabel(幅值); 圖5巴特沃斯低通濾波器 圖6濾波前后時(shí)域波形圖 圖7濾波前后頻譜圖窗函數(shù)法設(shè)計(jì)濾波器:y,fs,n=wavread(c:teng.wav); %將采樣后的語音信號(hào)賦給變量yf=fs*(0:511)/2048;t=0:1/8000:(size(y)-1)/8000; %將所加噪聲信號(hào)的點(diǎn)數(shù)調(diào)整到與原始信號(hào)相同au=0.5; %噪聲幅值d=au*cos(2*pi*1800*t); %噪聲為1.8khz的余弦信號(hào)x2=y+d; %將噪聲加入到語音信號(hào)中wp=0.25*pi;ws=0.3*pi;wdelta=ws-wp;n=ceil(6.6*pi/wdel

36、ta); %濾波器長度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(濾波前的時(shí)域波形);subplot(2,1,2)plot(t,f2);title(濾波后的時(shí)域波形);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

37、);title(濾波前的頻譜)xlabel(hz);ylabel(幅值);subplot(2,1,2)f2=plot(f,abs(f0(1:512);title(濾波后的頻譜)xlabel(hz);ylabel(幅值);圖8海明窗濾波器圖9濾波前后時(shí)域波形圖圖10濾波前后頻譜圖(5). 用sound函數(shù)播放語音信號(hào)程序如下:y,fs,n=wavread(c:teng.wav); %將采樣后的語音信號(hào)賦給變量ysound(y,fs,n); %播放語音信號(hào)sound(d,8000) %播放噪聲信號(hào)sound(x2,8000); %播發(fā)加入噪聲以后的語音信號(hào)sound(f1,8000); %播放經(jīng)過

38、巴特沃思濾波器濾波后的信號(hào)sound(f2,8000); %播放經(jīng)過海明窗濾波器濾波后的語音信號(hào)附錄二:界面設(shè)計(jì)的程序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,event

39、data,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

40、 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 t

41、o 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 nar

42、gin & 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 st

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論