版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計 報 告</p><p> 開課時間: 2010 至 2011 學(xué)年第 2 學(xué)期</p><p> 設(shè)計名稱:MATLAB課程設(shè)計</p><p> 系 別:</p><p> 學(xué)生姓名:</p><p> 班 級:</p><p> 學(xué) 號:<
2、/p><p> 成 績:</p><p> 指導(dǎo)教師:</p><p> MATLAB語音信號的采集與處理</p><p> 一、實踐的目的和要求</p><p> 1.MATLAB軟件功能簡介</p><p> MATLAB是由美國mathworks公司發(fā)布的主要面對科學(xué)計算、可視化以及
3、交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計算軟件的先進水平?!?</p><p> MATLAB可以進行矩陣運算、繪制函數(shù)和數(shù)
4、據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。 </p><p> MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,使MATLAB成為一個強大的數(shù)學(xué)軟件。</p><p>&l
5、t;b> MATLAB特點:</b></p><p> 1) 高效的數(shù)值計算及符號計算功能,能使用戶從繁雜的數(shù)學(xué)運算分析中解脫出來; </p><p> 2) 具有完備的圖形處理功能,實現(xiàn)計算結(jié)果和編程的可視化; </p><p> 3) 友好的用戶界面及接近數(shù)學(xué)表達式的自然化語言,使學(xué)者易于學(xué)習(xí)和掌握; </p><p
6、> 4) 功能豐富的應(yīng)用工具箱,為用戶提供了大量方便實用的處理工具。</p><p> MATLAB與其他計算機語言相比,它有很多的優(yōu)點:</p><p> 友好的工作平臺和編程環(huán)境</p><p> 簡單易用的程序語言,運算符豐富,語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富。</p><p> 強大的科學(xué)計算機數(shù)據(jù)處理能力,
7、MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán)、while循環(huán)、break語句和if語句),又有面向?qū)ο缶幊痰奶匦浴?lt;/p><p> 應(yīng)用廣泛的模塊集合工具箱</p><p> 語法限制不嚴格,程序設(shè)計自由度大。</p><p> 程序的可移植性很好,基本上不做修改就可以在各種型號的計算機和操作系統(tǒng)上運行。</p><p><
8、b> 出色的圖形處理功能</b></p><p> 實用的程序接口和發(fā)布平臺</p><p><b> 2.本題目的意義</b></p><p> (1)有利于基礎(chǔ)知識的理解</p><p> 通過《MATLAB及在電子信息類(課程中的應(yīng)用)》的學(xué)習(xí),我掌握了MATLAB的一些基本知識和用法,
9、對我以后的學(xué)習(xí)帶來方便。</p><p> ?。?)有利于邏輯思維的鍛煉</p><p> 程序設(shè)計是公認的、最能直接有效地訓(xùn)練學(xué)生的創(chuàng)新思維,培養(yǎng)分析問題、解決問題能力的學(xué)科之一。即使一個簡單的程序,從任務(wù)分析、確定算法、界面布局、編寫代碼到調(diào)試運行,整個過程學(xué)生都需要有條理地構(gòu)思,這中間有猜測設(shè)想、判斷推理的抽象思維訓(xùn)練,也有分析問題、解決問題、預(yù)測目標(biāo)等能力的培養(yǎng)。</p&g
10、t;<p> ?。?)有利于與其他學(xué)科的整合</p><p> 在程序設(shè)計中,我們可以解決其它學(xué)科有關(guān)問題,也利用其它課程的有關(guān)知識來解決MATLAB中比較抽象很難理解的知識。在MATLAB課中整合其它學(xué)科的知識,發(fā)揮MATLAB的優(yōu)勢。</p><p> (4)有利于治學(xué)態(tài)度的培養(yǎng)。</p><p> 課程設(shè)計中,語句的語法和常量變量的定義都有
11、嚴格的要求,有時輸了一個中文標(biāo)點、打錯了一個字母,程序無法正常運行。因此,程序設(shè)計初學(xué)階段,我們經(jīng)常會犯這樣的錯誤,可能要通過幾次乃至十多次的反復(fù)修改、才能成功,但這種現(xiàn)象會隨著學(xué)習(xí)的深入而慢慢改觀。這當(dāng)中就有一個嚴謹治學(xué)、一絲不茍的科學(xué)精神的培養(yǎng),又有一個不怕失敗、百折不撓品格的鍛煉。</p><p><b> 二、實踐內(nèi)容</b></p><p><b&g
12、t; 1.常用信號的實現(xiàn)</b></p><p> 通過編寫MATLAB軟件仿真程序,掌握MATLAB軟件中常用信號的表示方法,繪圖函數(shù)的使用。內(nèi)容如下:</p><p> ?。?)單位階躍信號f(t)= 和單位階躍序列的實現(xiàn)</p><p> ?。?)單位沖激信號和單位脈沖序列的實現(xiàn)</p><p> (3)單邊衰減指數(shù)信
13、號和實指數(shù)序列的實現(xiàn)</p><p> 2.信號的時域基本運算</p><p> 通過調(diào)用MATLAB中的相關(guān)函數(shù),編寫信號的基本運算仿真程序,實現(xiàn)信號的時域基本運算,達到掌握MATLAB相關(guān)運算函數(shù)的調(diào)用格式及功能的目的。</p><p> ?。?)信號的相加,相乘和移位運算</p><p> ?。?)序列的卷積運算</p>
14、<p><b> 3.系統(tǒng)分析</b></p><p> 通過調(diào)用MATLAB相關(guān)函數(shù),實現(xiàn)對LTI系統(tǒng)的時域和頻域進行分析,熟練掌握LTI系統(tǒng)單位沖激響應(yīng)和零狀態(tài)響應(yīng)得MATLAB求解方法。</p><p> ?。?)連續(xù)LTI系統(tǒng)的時域分析</p><p> (2)連續(xù)LTI系統(tǒng)的頻域分析</p><
15、p><b> 4.綜合設(shè)計</b></p><p> 在熟練掌握MATLAB基本的信號處理方法的基礎(chǔ)上,按照要求設(shè)計特定功能的綜合系統(tǒng),掌握MATLAB信號處理系統(tǒng)的仿真程序設(shè)計。綜合系統(tǒng)題目</p><p> ?。?)MATLAB模擬濾波器的實現(xiàn)</p><p> ?。?)MATLAB語音信號的采集與處理</p>&l
16、t;p> 三、實踐仿真程序設(shè)計及結(jié)果分析</p><p><b> 1.常用信號的實現(xiàn)</b></p><p> (1)單位階躍信號f(t)= 和單位階躍序列的實現(xiàn)</p><p> ?、賳挝浑A躍信號f(t)= 的實現(xiàn)程序:</p><p> t0=0;t1=-1;t2=3;</p><
17、p><b> dt=0.01;</b></p><p> t=t1:dt:-t0;</p><p> n=length(t);</p><p> t3=-t0:dt:t2;</p><p> n3=length(t3);</p><p> u=zeros(1,n);</p&
18、gt;<p> u3=ones(1,n3);</p><p> plot(t,u);</p><p><b> hold on;</b></p><p> plot(t3,u3);</p><p> plot([-t0,-t0],[0,1]);</p><p><b&
19、gt; hold off;</b></p><p> axis([t1,t2,-0.2,1.5]);</p><p> >> xlabel('時間(t)');ylabel('幅值(f)');title('單位階躍信號');</p><p><b> 時域波形:</b>
20、;</p><p> ?、趩挝浑A躍序列的實現(xiàn)程序:</p><p> >> k0=0;%單位階躍出現(xiàn)的位置</p><p> >>k1=-3;k2=6;</p><p> >> k=k1:k0-1;</p><p> >> n=length(k);</p&g
21、t;<p> >> k3=-k0:k2;</p><p> >> n3=length(k3);</p><p> >> u=zeros(1,n);</p><p> >> u3=ones(1,n3);</p><p> >> stem(k,u,'fil
22、led');</p><p> >> hold on;</p><p> >> stem(k3,u3,'filled');</p><p> >> hold off;</p><p> >> axis([k1,k2,-0.2,1.5]);</p>&
23、lt;p> >> title('單位階躍序列');</p><p> >> xlabel('時間(k)');ylabel('幅值f(k)');</p><p><b> 時域波形:</b></p><p> (2)單位沖激信號和單位脈沖序列的實現(xiàn)</p&
24、gt;<p> ①單位沖激信號的實現(xiàn)程序:</p><p><b> clear;</b></p><p> t0=0;t1=-1;t2=5;dt=0.1;</p><p> t=t1:dt:t2;</p><p> n=length(t);</p><p> x=zer
25、os(1,n);</p><p> x(1,(t0-t1)/dt+1)=1/dt;</p><p> stairs(t,x);</p><p> axis([t1,t2,0,1/dt]);</p><p> xlabel('時間(t)');ylabel('幅值(f)');title('單位沖激信
26、號');</p><p><b> 時域波形:</b></p><p> ?、趩挝幻}沖序列的實現(xiàn)程序:</p><p><b> >> k1=-3;</b></p><p><b> >> k2=6;</b></p><
27、p> >> k=k1:k2;</p><p> >> n=3;%單位脈沖出現(xiàn)的位置</p><p> >> f=[(k-n)==0];</p><p> >> stem(k,f,'filled');title('單位脈沖序列')</p><p>
28、>> xlabel('時間(k)');ylabel('幅值f(k)');</p><p><b> 時域波形:</b></p><p> ?。?)單邊衰減指數(shù)信號和實指數(shù)序列的實現(xiàn)</p><p> ?、賳芜吽p指數(shù)信號的實現(xiàn)程序:</p><p><b> cl
29、ear </b></p><p> t1=-1;t2=10;dt=0.1;</p><p> t=t1: dt: t2;</p><p><b> A1=1;</b></p><p><b> a1=0.5;</b></p><p> n=A1*exp(
30、-a1*t);</p><p> plot(t,n);</p><p> axis([t1,t2,0,1]);</p><p> xlabel('時間(t)');ylabel('幅值(f)');title('單邊衰減指數(shù)信號');</p><p><b> 時域波形:</
31、b></p><p> ?、趯嵵笖?shù)序列的實現(xiàn)程序:</p><p><b> clf;</b></p><p> k1=-1;k2=10;</p><p><b> k=k1:k2;</b></p><p><b> a=-0.6;</b>
32、</p><p><b> A=1;</b></p><p><b> f=A*a.^k;</b></p><p> stem(k,f,'filled');</p><p> title('');</p><p> xlabel(
33、39;(k)');ylabel('f(k)');</p><p><b> 時域波形:</b></p><p> 2.信號的時域基本運算</p><p> (1)信號的相加,相乘和移位運算</p><p> ?、賹崿F(xiàn)兩個連續(xù)信號的相加,即。</p><p><b
34、> 程序</b></p><p> >> clear all;</p><p> >> t=0:0.0001:3;</p><p><b> >> b=3;</b></p><p><b> >> t0=1;</b><
35、/p><p> >> u=stepfun(t,t0);</p><p> >> n=length(t);</p><p> >> for i=1:n</p><p> u(i)=b*u(i)*(t(i)-t0);</p><p> end %產(chǎn)生一個斜坡信號</p&
36、gt;<p> >> y=sin(2*pi*t); %產(chǎn)生一個正弦信號</p><p> >> f=y+u; %信號相加</p><p> >> plot(t,f);</p><p> >> xlabel('時間(t)');ylabel('幅值f
37、(t)');title('連續(xù)信號的相加');</p><p><b> 時域波形:</b></p><p> ?、趯崿F(xiàn)兩個連續(xù)信號的相乘,即×。</p><p><b> 程序 </b></p><p> clear all;</p>&
38、lt;p> t=0:0.0001:5;</p><p><b> b=3;t0=1;</b></p><p> u=stepfun(t,t0);</p><p> n=length(t);</p><p> for i=1:n</p><p> u(i)=b*u(i)*(t(i
39、)-t0);</p><p><b> end</b></p><p> y=sin(2*pi*t); f=y.*u;</p><p> plot(t,f);xlabel('時間(t)');ylabel('幅值f(t)');title('連續(xù)信號的相乘')</p><p&
40、gt;<b> 時域波形:</b></p><p> ?、蹖崿F(xiàn)兩個連續(xù)信號的移位,即,常數(shù)</p><p><b> 程序: </b></p><p> clear all;</p><p> t=0:0.0001:2;</p><p> y=sin(2*
41、pi*(t));</p><p> yl=sin(2*pi*(t-0.2));</p><p> plot(t,y,'-',t,yl,'--');</p><p> ylabel('幅值f(t)');xlabel('時間(t)');title('信號的位移');</p>
42、<p><b> 時域波形:</b></p><p> (2)序列的卷積運算</p><p> 實現(xiàn)兩個連續(xù)信號的卷積運算, </p><p><b> 程序:</b></p><p><b> %連續(xù)函數(shù)卷積計算</b></p><
43、p><b> a=1000;</b></p><p> t1=-5:1/a:5;</p><p> f1=stepfun(t1,0);</p><p> f2=stepfun(t1,-1/a)-stepfun(t1,1/a);</p><p> subplot(231);</p><p
44、> plot(t1,f1);axis([-5,5,0,1.2]); %xlabel('時間(t)');</p><p> ylabel('f1(t)');title('單位階躍函數(shù)');</p><p> subplot(232);plot(t1,f2);ylabel('f2(t)');</p>&l
45、t;p> title('單位沖激函數(shù)');</p><p> y=conv(f1,f2);r=2*length(t1)-1;t=-10:1/a:10;</p><p> subplot(233);plot(t,y);axis([-5,5,0,1.2]);</p><p> title('f1與f2的卷積');</p
46、><p> ylabel('y(t)');</p><p> f11=conv(f1,f1);f22=conv(f2,f2);</p><p> subplot(234);plot(t,f11);title('f1與f1的卷積');</p><p> ylabel('f11(t)');axi
47、s([-5,5,0,5000]);</p><p> subplot(235);plot(t,f22);title('f2與f2的卷積');ylabel('f22(t)');</p><p><b> 時域波形:</b></p><p><b> 3.系統(tǒng)分析</b></p>
48、;<p> ?。?)連續(xù)LTI系統(tǒng)的時域分析 ?、?求系統(tǒng)y(2)(t)+6y(1)(t)+8y(t)=3x(1)(t)+9x(t)的沖激響應(yīng)和階躍響應(yīng)。</p><p> i 沖激響應(yīng)MATLAB程序:</p><p> clear all;</p><p> a=[1,6,8];b=[3,9];</p><p>
49、 sys=tf(b,a);</p><p> t=0:0.1:10;</p><p> y=impulse(sys,t);</p><p> plot(t,y);xlabel('時間(t)');</p><p> ylabel('y(t)');</p><p> title(
50、'單位沖激響應(yīng)');</p><p> 系統(tǒng)的沖激響應(yīng)圖:</p><p> ii 階躍響應(yīng)MATLAB程序:</p><p> clear all;</p><p> a=[1,6,8];b=[3,9];</p><p> sys=tf(b,a);</p><p>
51、; t=0:0.1:10;</p><p> y=step(sys,t);</p><p> plot(t,y);</p><p> xlabel('時間(t)');</p><p> ylabel('y(t)');</p><p> title('單位階躍響應(yīng)
52、9;);</p><p><b> 系統(tǒng)的階躍響應(yīng)圖:</b></p><p> ② 求系統(tǒng)y(2)(t)+y(t)=costu(t),y(0+)=y(1)(0+)=0的全響應(yīng)。 </p><p> i 系統(tǒng)在正弦激勵下的零狀態(tài)響應(yīng)MATLAB程序b=[1];a=[1 0 1];</p><p> sys=
53、tf(b,a);</p><p> t=0:0.1:10;</p><p><b> x=cos(t);</b></p><p> y=lsim(sys,x,t);</p><p> plot(t,y);</p><p> xlabel('時間(t)');ylabel(&
54、#39;y(t)');title('零狀態(tài)響應(yīng)');系統(tǒng)的零狀態(tài)響應(yīng)如圖所示:</p><p> ii求系統(tǒng)的全響應(yīng)MATLAB程序:</p><p> b=[1];a=[1 0 1];</p><p> [A B C D]=tf2ss(b,a);</p><p> sys=ss(A,B,C,D);<
55、/p><p> t=0:0.1:10;</p><p> x=cos(t);zi=[-1 0];</p><p> y=lsim(sys,x,t,zi);</p><p> plot(t,y);</p><p> xlabel('時間(t)');ylabel('y(t)');tit
56、le('系統(tǒng)的全響應(yīng)');系統(tǒng)的全響應(yīng)如圖所示:</p><p> ?、?已知某LTI系統(tǒng)的激勵為f1=sintε(t),單位沖激響應(yīng)為h(t)=te-2tε(t), 試給出系統(tǒng)零狀態(tài)響應(yīng)yf(t)的數(shù)學(xué)表達式。MATLAB程序:</p><p><b> p=0.1;</b></p><p> k1=0:p:10;
57、</p><p> f1=sin(k1);</p><p><b> k2=k1;</b></p><p> f2=1*exp(-2*k1);</p><p> f=conv(f1,f2);</p><p><b> f=f*p;</b></p>&l
58、t;p> k0=k1(1)+k2(1);</p><p> k3=length(f1)+length(f2)-2;</p><p> k=k0:p:(k3*p+k0);</p><p> subplot(2,2,1);</p><p> plot(k1,f1);</p><p> title('
59、;f1(t)');</p><p> xlabel('t'),ylabel('f1(t)');</p><p> subplot(2,2,2);</p><p> plot(k2,f2);</p><p> title('f2(t)');</p><p>
60、 xlabel('t'),ylabel('f2(t)');</p><p> subplot(2,2,3);</p><p> plot(k,f);</p><p> h=get(gca,'position');</p><p> h(3)=2.5*h(3);</p>&
61、lt;p> set(gca,'position',h); </p><p> title('f(t)=f1(t)*f2(t)');</p><p> xlabel('t'),ylabel('f(t)');</p><p> 系統(tǒng)的零狀態(tài)響應(yīng)如圖所示</p><p
62、><b> ?、?程序設(shè)計實驗</b></p><p> 計算下述系統(tǒng)在指數(shù)函數(shù)激勵下的零狀態(tài)響應(yīng)。</p><p> H(s)= </p><p><b> MATLAB程序:</b></p><p> a=[1 0.996 463 97.8 12131 8.11 0];b
63、=[1.65 -0.331 -576 90.6 19080];</p><p> sys=tf(b,a);</p><p> t=0:0.1:10;</p><p> x=exp(-t);y=lsim(sys,x,t);</p><p> plot(t,y);</p><p> xlabel('時間(
64、t)');ylabel('y(t)');title('零狀態(tài)響應(yīng)')</p><p> 系統(tǒng)的響應(yīng)如圖所示:</p><p> ?。?)連續(xù)LTI系統(tǒng)的頻域分析 ① 編程實現(xiàn)信號的傅里葉變換和傅里葉逆變換 I傅里葉變換。 i 已知連續(xù)時間信號f(t)=e-2|t|,通過程序完成信號f(t)的傅里葉變換</p><
65、p><b> MATLAB程序:</b></p><p><b> syms t</b></p><p> x=exp(-2*abs(t));</p><p> F=fourier(x);</p><p> subplot(2,1,1);</p><p>
66、 ezplot(x);</p><p> subplot(2,1,2) ;</p><p> ezplot(F) ;</p><p> 信號f(t)的傅里葉變換如圖所示:</p><p> ii 試畫出信號f(t)= 的波形及其幅頻特性曲線。MATLAB程序: syms t ;</p>
67、<p> f=2/3*exp(-3*t)*sym('heaviside(t)') ;</p><p> F=fourier(f) ;</p><p> subplot(2,1,1) ;</p><p> ezplot(f) ;</p><p> subplot(2,1,2) ;</p><
68、;p> ezplot(abs(F)) ;</p><p> 信號f(t)= 的波形及其幅頻特性曲線如圖所示</p><p> II 傅里葉逆變換。已知f(jω)= ,求信號F(jω)的逆傅里葉變換。 MATLAB程序</p><p><b> R=0.02;</b></p><p><b&g
69、t; t=-2:R:2;</b></p><p><b> syms t w</b></p><p> ifourier(1/(1+w^2),t)</p><p><b> 運行結(jié)果:</b></p><p> ans =1/2*exp(-t)*heaviside(t)+1/
70、2*exp(t)*heaviside(-t)</p><p> III 傅里葉變換數(shù)值計算。 已知門函數(shù)f(t)=g2(t)=ε(t+1)-ε(t-1),試采用數(shù)值計算方法確定信號的傅里葉變換F(jω)。 MATLAB程序:</p><p> R=0.02 ; %頻譜線寬度</p><p> t=-2 :R :2 ;</p>
71、<p> f=stepfun(t,-1)-stepfun(t,1) ;</p><p> W1=2*pi*5 ; %頻率寬度</p><p> N=500 ; %采樣數(shù)為N</p><p><b> k=0 :N ;</b></p><p> W=k*W1/N ;
72、 %W頻率正半周的采樣點</p><p> F=f*exp(-j*t'*W)*R ; %求F(jw)</p><p> F=real(F) ; %求F(jw)的實部</p><p> W=[-fliplr(W),W(2 :501)] ; %頻譜圖頻率寬度左右對稱</p><p> F
73、=[fliplr(F),F(2 :501)] ; %頻譜圖幅值左右對稱</p><p> subplot(2,1,1) ;plot(t,f) ;</p><p> xlabel('t') ;ylabel('f(t)') ;axis([-2,2,-0.5,2]) ;</p><p> title('f(t)=
74、ε(t+1)-ε(t-1)') ;</p><p> subplot(2,1,2) ;plot(W,F) ;</p><p> title('f(t)傅氏變換') ;</p><p> 信號的傅里葉變換如圖所示:</p><p> IV 傅里葉變換的時移特性 分別繪出信號f(t)= 信號f(t-1)的頻
75、譜圖,并觀察信號時移對信號頻譜的影響。i f(t)= 的頻譜。MATLAB程序:</p><p><b> r=0.02;</b></p><p><b> t=-5:r:5;</b></p><p><b> N=200;</b></p><p><b
76、> W=2*pi;</b></p><p><b> k=-N:N;</b></p><p><b> w=k*W/N;</b></p><p> f1=1/2*exp(-2*t).*stepfun(t,0);</p><p> F=r*f1*exp(-j*t'*
77、w);</p><p> F1=abs(F);</p><p> P1=angle(F);</p><p> subplot(3,1,1);</p><p> plot(t,f1);grid</p><p> xlabel('t');</p><p> ylabel(
78、'f(t)');</p><p> title('f(t)');</p><p> subplot(3,1,2);</p><p> plot(w,F1);</p><p> xlabel('w');</p><p><b> grid;</b&
79、gt;</p><p> ylabel('F(jw)');</p><p> subplot(3,1,3)</p><p> plot(w,P1*180/pi);</p><p><b> grid;</b></p><p> xlabel('w');&l
80、t;/p><p> ylabel('相位(度)');</p><p> 信號f(t)= 傅里葉變換的時頻特性如圖所示:</p><p> ii f(t-1)的頻譜。MATLAB程序:r=0.02;</p><p><b> t=-5:r:5;</b></p><p>
81、;<b> N=200;</b></p><p><b> W=2*pi;</b></p><p><b> k=-N:N;</b></p><p><b> w=k*W/N;</b></p><p> f1=1/2*exp(-2*(t-1)).
82、*stepfun(t,1); %f(t)</p><p> F=r*f1*exp(-j*t'*w); %f(t)的傅里葉變換</p><p> F1=abs(F);</p><p> P1=angle(F);</p><p> subplot(3,1,1);
83、</p><p> plot(t,f1);</p><p><b> hold on;</b></p><p><b> grid</b></p><p> xlabel('t');</p><p> ylabel('f(t)');&
84、lt;/p><p> title('f(t-1)');</p><p> subplot(3,1,2);</p><p> plot(w,F1);</p><p><b> hold on;</b></p><p> xlabel('w');</p>
85、;<p> ylabel('F(jw)');</p><p><b> grid;</b></p><p> subplot(3,1,3);</p><p> plot(w,P1*180/pi);</p><p><b> hold on;</b></p
86、><p><b> grid;</b></p><p> xlabel('w');</p><p> ylabel('相位(度)'); </p><p> 傅里葉變換的時移特性如圖所示:</p><p> V 傅里葉變換的頻移特性</p>
87、<p> 信號f(t)=g2(t)為門函數(shù),試繪出信號f1(t)=f(t) 以及信號f2(t)=f(t) 的</p><p> 頻譜圖,并與原信號頻譜圖進行比較。MATLAB程序:</p><p><b> R=0.02;</b></p><p><b> t=-2:R:2;</b></p&g
88、t;<p> f=stepfun(t,-1)-stepfun(t,1);</p><p> f1=f.*exp(-j*10*t);</p><p> f2=f.*exp(j*10*t);</p><p> W1=2*pi*5;</p><p><b> N=500;</b></p>
89、<p><b> k=-N:N;</b></p><p><b> W=k*W1/N;</b></p><p> F1=f1*exp(-j*t'*W)*R; %f1(t)傅里葉變換</p><p> F2=f2*exp(-j*t'*W)*R;
90、 %f2(t)傅里葉變換</p><p> F1=real(F1);</p><p> F2=real(F2);</p><p> subplot(2,1,1);</p><p> plot(W,F1);hold on;</p><p> xlabel('w');</p&g
91、t;<p> ylabel('F1(jw)');</p><p> title('頻譜F1(jw)');</p><p> subplot(2,1,2);</p><p> plot(W,F2); hold on;</p><p> xlabel('w');</p&
92、gt;<p> ylabel('F2(jw)');</p><p> title('頻譜F2(jw)');</p><p> 傅里葉變換的頻移特性如圖所示:</p><p><b> ?、?程序設(shè)計實驗</b></p><p> I 試確定下列信號的傅里葉變換的數(shù)學(xué)
93、表達式。 (a) f(t)=ε(t+1)-ε(t-1) </p><p><b> MATLAB程序:</b></p><p><b> R=0.02;</b></p><p><b> t=-2:R:2;</b></p><p><b>
94、 syms t;</b></p><p> f=fourier(Heaviside(t+1)-Heaviside(t-1))</p><p><b> 運行結(jié)果:</b></p><p> f =2/w*sin(w)</p><p><b> (b) f(t)=</b></
95、p><p><b> MATLAB程序:</b></p><p><b> R=0.02;</b></p><p><b> T=-2:R:2;</b></p><p><b> syms t;</b></p><p> f=
96、fourier(exp(-3*t)*Heaviside(t))</p><p><b> 運行結(jié)果:</b></p><p> f =1/(3+i*w)</p><p> (2) 試畫出信號f(t)= ,f(t-4)以及信號f(t) 的頻譜圖。</p><p><b> MATLAB程序:</b&
97、gt;</p><p><b> r=0.02 ;</b></p><p> t=-5 :r :5 ;</p><p> f1=exp(-3*t).*stepfun(t,0) ;</p><p> f2=exp(-3*(t-4)).*stepfun(t,4) ;</p><p> sub
98、plot(3,1,1) ;</p><p> plot(t,f1) ;grid ;</p><p> subplot(3,1,2) ;</p><p> plot(t,f2) ;grid </p><p> f3=f1.*exp(-j*4*t);</p><p> subplot(3,1,3);</p&
99、gt;<p> plot(t,f3) ;grid ;</p><p><b> 頻譜圖:</b></p><p><b> 4.綜合設(shè)計</b></p><p> (1)MATLAB模擬濾波器的實現(xiàn)</p><p> I設(shè)計一個butterworth低通濾波器,滿足以下性能指
100、標(biāo):通帶截止頻率w1=10000rad/s,通帶最大衰減Ap=3dB,阻帶截止頻率w2=40000rad/s,阻帶最大衰減As=35dB.MATLAB程序:</p><p><b> w1=10000;</b></p><p><b> w2=40000;</b></p><p><b> Ap=3;&
101、lt;/b></p><p><b> As=35;</b></p><p> [N,Wn]=buttord(w1,w2,Ap,As,'s');</p><p> [z,p,k]=butter(N,Wn,'s');</p><p> [b,a]=zp2tf(z,p,k);&l
102、t;/p><p> w=linspace(1,4000,1000);</p><p> H=freqs(b,a,w);</p><p> magH=abs(H);</p><p> phaH=unwrap(angle(H));</p><p> figure(11);</p><p>
103、plot(w,20*log10(magH),'k');</p><p> xlabel ('頻率/ Hz');</p><p> ylabel('幅度/B');</p><p><b> 濾波器頻率響應(yīng)圖:</b></p><p> I設(shè)計一個butterworth
104、高通濾波器,滿足以下性能指標(biāo):通帶截止頻率w1=40000rad/s,通帶最大衰減Ap=3dB,阻帶截止頻率w2=10000rad/s,阻帶最大衰減As=35dB.w1=40000;</p><p><b> w2=10000;</b></p><p><b> Ap=3;</b></p><p><b>
105、 As=35;</b></p><p><b> Fs=10000;</b></p><p> [N,Wc]=buttord(w1,w2,Ap,As,'s');</p><p> [Z,P,K]=buttap(N);</p><p> [A,B,C,D]=zp2ss(Z,P,K);&
106、lt;/p><p> [AT,BT,CT,DT]=lp2hp(A,B,C,D,Wc);</p><p> [num1,den1]=ss2tf(AT,BT,CT,DT);</p><p> [num2,den2]=bilinear(num1,den1,Fs);</p><p> [H,W]=freqz(num2,den2);</p&g
107、t;<p> plot(W*Fs,abs(H));</p><p> xlabel('頻率(Hz)'),ylabel('幅值');</p><p><b> 濾波器頻率響應(yīng)圖:</b></p><p> ?。?)MATLAB語音信號的采集與處理</p><p> I.
108、用MATLAB對原始語音信號進行分析,畫出它的時域波形和頻譜。</p><p><b> 程序:</b></p><p><b> fs=22050;</b></p><p> [x,fs,Nbits] =wavread('C:\Documents and Settings\Administrator\桌面\
109、07\MATLAB課程設(shè)計\Matlab濾波器程序\Windows XP 登錄音.wav') ;</p><p> t=0:1/22050:(length(x)-1)/22050;</p><p> sound(x,fs) ; %對加載的語音信號進行回放</p><p><b> figure(1)</b>
110、</p><p> plot(x) %做原始語音信號的時域圖形</p><p> title('原始語音信號');</p><p> xlabel('time n');</p><p> ylabel('fuzhi n');</p>&l
111、t;p><b> figure(2)</b></p><p> freqz(x) %繪制原始語音信號的頻率響應(yīng)圖</p><p> title('頻率響應(yīng)圖')</p><p> n=length(x); %求出語音信號的長度</p><
112、p> y1=fft(x,n) ; %傅里葉變換</p><p> y2=fftshift(y1); %對頻譜圖進行平移</p><p> f=0:fs/n:fs*(n-1)/n; %得出頻點</p><p> figure(3) </p><p>
113、; subplot(2,1,1);</p><p> plot(abs(y2)) %做原始語音信號的FFT頻譜圖</p><p> title('原始語音信號FFT頻譜')</p><p> subplot(2,1,2);</p><p> plot(f,abs(y2)); %繪
114、制原始語音信號的頻譜圖</p><p> title('原始語音信號頻譜')</p><p><b> %加噪聲</b></p><p> k=1:1:n; %定義k 值,噪聲與原始語音長度一致</p><p> c1=10*sin(2*pi*5000*k);
115、 %噪聲信號的函數(shù)</p><p> figure(4) </p><p> plot(k,c1)</p><p> title('噪聲信號時域圖'); %繪制噪聲信號的時域波形圖</p><p><b> figure(5)</b></p
116、><p> freqz(c1) %繪制噪聲信號的頻率響應(yīng)圖</p><p> title('噪聲信號頻率響應(yīng)圖')</p><p> s=length(c1); %噪聲信號的長度</p><p> xc=fft(c1,s); %
117、對噪聲信號進行頻譜變換</p><p> xcc=fftshift(xc);</p><p> f=0:fs/s:fs*(s-1)/s;</p><p> figure(6) %繪制噪聲語音的FFT頻譜圖</p><p> plot(f,abs(xcc))</p><p>
118、 title('噪聲信號的頻譜圖');</p><p> 圖 原始語音信號的時域波形</p><p> 圖 原始語音信號的頻率響應(yīng)圖</p><p> 圖 原始語音信號頻譜和FFT頻譜對比</p><p> II. 給原始的語音信號加上一個高頻余弦噪聲,頻率為( Hz。對加噪后的語音進行分析,并畫出其信號
119、時域和頻譜圖。</p><p><b> 程序:</b></p><p> fs=22050; </p><p> x1=wavread('C:\Documents and Settings\Administrator\桌面\splash.wav');</p><p> f=fs*(0:511)/
120、1024;</p><p> t=0:1/fs:(length(x1)-1)/fs;</p><p> Au=0.03;%噪聲幅值</p><p> d=[Au*sin(2*pi*5500*t)]';</p><p><b> x2=x1+d;</b></p><p> soun
121、d(x2,22050);</p><p> y1=fft(x1,1024);</p><p> y2=fft(x2,1024);</p><p> figure(1);</p><p> subplot(2,1,1);</p><p> plot(t,x1);</p><p> ti
122、tle('加噪前的信號');</p><p> xlabel('time n');</p><p> ylabel('fuzhi n');</p><p> subplot(2,1,2);</p><p> plot(t,x2)</p><p> title(&
123、#39;加噪后的信號');</p><p> xlabel('time n');</p><p> ylabel('fuzhi n');</p><p><b> figure(2)</b></p><p> subplot(2,1,1);</p><p
124、> plot(f,abs(y1(1:512)));</p><p> title('原始語音信號頻譜');</p><p> xlabel('Hz');</p><p> ylabel('fuzhi');</p><p> subplot(2,1,2);</p>&
125、lt;p> plot(f,abs(y2(1:512)));</p><p> title('加噪后的信號頻譜');</p><p> xlabel('Hz');</p><p> ylabel('fuzhi'); </p><p> 圖 加噪語音信號的時域波形</p>
126、;<p> 圖 原始語音信號和加噪后的信號頻譜對比</p><p> 與原始信號對比,區(qū)別:</p><p> 從原始語音信號和加噪后的信號頻譜對比圖中我們可以看出:在原始信號的基礎(chǔ)上加噪后,在0-4000Hz的波形趨于平緩,而在5500z時的波形發(fā)生突變,即加了高頻信號的時候,在高頻部分出現(xiàn)了幅值變化。另外縱軸上的數(shù)值范圍也發(fā)生了相應(yīng)的變化。</p>
127、<p><b> 四 心得體會</b></p><p> 一周辦的課程設(shè)計結(jié)束了,我接觸了MATLAB,認識到了MATLAB模擬仿真對于電路設(shè)計的重要性。</p><p> 從看書的那一刻,我就很郁悶,《MATLAB及在電子信息類(課程中的應(yīng)用)》到底事學(xué)什么的,有什么用。剛開始上課時,還在迷茫這門課程是用來做什么的。不過,這些感受都是在對這門課程不了
128、解的情況下產(chǎn)生的。后來慢慢的接觸多了,聽老師講的多了,了解多了,漸漸的產(chǎn)生了興趣。對我們來說這是一個很陌生的軟件,還是全英文環(huán)境,通過讀書,才對MATLAB的概念有所了解。</p><p> 在連續(xù)的接觸中,我意識到MATLAB跟其他語言不一樣,我們用的比較多的編程語言,除了matlab就應(yīng)該是c或c++,如果你抱著把其他語言的思想運用在matlab里面的話,那么我想,即使程序運行不出錯,也很難把握matlab
129、的精髓,也就很難發(fā)揮matlab的作用了。所以,我不在把matlab作為VC的附屬品,認真的了解這個軟件。</p><p> 通過這次課程設(shè)計,我們了解到Matlab是功能強大的科學(xué)及工程計算軟件,它不但具有矩陣計算為基礎(chǔ)的強大數(shù)學(xué)計算和分析功能,而且還具有豐富的可視化圖形表現(xiàn)功能和方便的程序設(shè)計能力。Matlab的應(yīng)用領(lǐng)域極為廣泛,除數(shù)學(xué)計算和分析外,還被廣泛用于自動控制、系統(tǒng)仿真、數(shù)字信號處理、圖形圖像分析
130、、數(shù)理統(tǒng)計、人工智能、虛擬現(xiàn)實技術(shù)、通信工程、金融系統(tǒng)等領(lǐng)域。學(xué)習(xí)這個軟件旨在讓我們利用計算機加深對所學(xué)知識充分理解與掌握,運用所學(xué)的理論與方法進行仿真,解決在學(xué)習(xí)中所遇到的問題。</p><p> 此次課程設(shè)計讓我對我所學(xué)的書本知識進行了鞏固,拓展了專業(yè)知識。運用所學(xué)的知識,發(fā)現(xiàn)、提出、分析、解決問題,這是對我所學(xué)知識的綜合考察。我用此次機會,把自己把知識在實踐中的到了運用,把理論的抽象具體化,使我把知識和實
131、踐得到很好的融合。該課程設(shè)計,全面系統(tǒng)的理解了《信號與系統(tǒng)》的一般原理和基本實現(xiàn)方法。把死板的課本知識變得生動有趣,激發(fā)了學(xué)習(xí)的積極性。MATLAB涉及的知識太多,每個知識里面都有一定的深度,那么對我們在遇到實際問題時,就只能靠自己去摸索。常常是再堅持一兩個小時,就能夠解決你的問題。最大的成就感,就在付出了極大的心血和耐心,才取得一個艱難的小勝利,這也加強了我們、思考和我們的耐心。</p><p> 因而,在單
132、一的書本學(xué)習(xí)中,有這么一次課程設(shè)計是放松中學(xué)習(xí)的一個不可多得的機會。通過這次課程設(shè)計,我們不但獲得了知識和動手能力的提高,掌握了一些實踐技能,我們還培養(yǎng)了獨立思考和變通思維的能力。它還讓我學(xué)到了很多課本上學(xué)不到的道理,開拓視野的同時增加知識。我在這次實踐中不但收獲知識,還收獲了經(jīng)歷,這可以給我以后的學(xué)習(xí)生活帶來不少的啟示。對于一些辛苦,只要自己堅持,一定可以看到成功的果實。</p><p> 當(dāng)然,此次課程設(shè)計
133、有收獲,也有很多遺憾。當(dāng)然主要原因還是自己不夠努力,讓自己的缺點一直保持為缺陷。很多知識也許過于復(fù)雜,自己就不想深究了,對于自己的缺陷,在以后的課程設(shè)計中我要極力的改正,讓自己的課程設(shè)計更加的完美。</p><p><b> 參考文獻:</b></p><p> 1.唐向宏,岳恒立,鄭雪峰編著。MATLAB及在電子信息類課程中的應(yīng)用。電子工業(yè)出版社。</p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- matlab課程設(shè)計--語音信號的采集與處理
- matlab課程設(shè)計報告-語音信號的采集與處理
- matlab課程設(shè)計---基于matlab的語音信號處理
- 基于matlab語音信號采集課程設(shè)計
- matlab課程設(shè)計--基于matlab有噪聲語音信號處理
- 信號處理課程設(shè)計---基于matlab的語音信號處理
- matlab課程設(shè)計報告--基于matlab有噪聲語音信號處理
- 語音信號處理及matlab實現(xiàn)課程設(shè)計
- matlab課程設(shè)計--利用matlab對語音信號進行處理和分析
- 信號處理課程設(shè)計基于matlab的語音信號分析和處理
- 基于 matlab 的語音信號分析與處理的課程設(shè)計
- 數(shù)字信號處理課程設(shè)計---基于matlab的語音信號濾波處理
- 基于matlab的語音信號濾波處理——數(shù)字信號處理課程設(shè)計
- 基于matlab的語音信號濾波處理——數(shù)字信號處理課程設(shè)計
- 數(shù)字信號處理課程設(shè)計--基于matlab有噪聲語音信號處理
- 基于matlab語音信號處理設(shè)計
- 基于matlab的有噪聲的語音信號處理的課程設(shè)計
- 基于matlab的語音信號處理
- 基于matlab的語音信號的采集與處理說明書
- 基于matlab的語音信號的采集與處理說明書
評論
0/150
提交評論