資源描述:
《實(shí)驗(yàn)一、MATLAB編程基礎(chǔ)及典型實(shí)例》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實(shí)驗(yàn)九連續(xù)信號(hào)時(shí)域分析的MATLAB實(shí)現(xiàn)實(shí)驗(yàn)九連續(xù)信號(hào)時(shí)域分析的MATLAB實(shí)現(xiàn)一.實(shí)驗(yàn)?zāi)康?.熟悉MATLAB軟件平臺(tái);2.掌握MATLAB編程方法、常用語句和可視化繪圖技術(shù);3.編程實(shí)現(xiàn)常用信號(hào)及其運(yùn)算MATLAB實(shí)現(xiàn)方法。二.實(shí)驗(yàn)原理連續(xù)信號(hào)是指自變量的取值范圍是連續(xù)的,且對(duì)于一切自變量的取值,除了有若干個(gè)不連續(xù)點(diǎn)之外,信號(hào)都有確定的值與之對(duì)應(yīng)。嚴(yán)格來說,MATLAB并不能處理連續(xù)信號(hào),而是用等時(shí)間間隔點(diǎn)的樣值來近似表示連續(xù)信號(hào)。當(dāng)取樣時(shí)間間隔足夠小時(shí),這些離散的樣值就能較好地近似連續(xù)信號(hào)。矩陣是MATLAB進(jìn)行數(shù)據(jù)處理的基本單元,矩陣運(yùn)算是MATLAB最重要的運(yùn)算。通常意義上的數(shù)
2、量(也稱為標(biāo)量)在MATLAB系統(tǒng)中是作為1×1的矩陣來處理的,而向量實(shí)際上是僅有一行或者一列的矩陣。通常用向量表示信號(hào)的時(shí)間取值范圍,如n=-5:5,但信號(hào)x(n)、向量n本身的下標(biāo)都是從1開始的,因此必須用一個(gè)與向量x等長(zhǎng)的定位時(shí)間變量n,以及向量x,才能完整地表示序列x(n)。在MATLAB可視化繪圖中,對(duì)于以t為自變量的連續(xù)信號(hào),在繪圖時(shí)統(tǒng)一用plot函數(shù);而對(duì)n為自變量的離散序列,在繪圖時(shí)統(tǒng)一用stem函數(shù)。1.單位階躍信號(hào)e(t)和單位沖激信號(hào)d(t)的m文件在自己的工作目錄中創(chuàng)建如下兩個(gè)m文件。(1)單位階躍信號(hào)e(t)functionf=heaviside(t)%階躍信號(hào)
3、f=(t>0);(2)單位沖激信號(hào)d(t)functionchongji(t1,t2,t0)%沖激信號(hào)d(t-t0),t1和t2分為起始時(shí)間和終止時(shí)間dt=0.01;t=t1:dt:t2;52實(shí)驗(yàn)九連續(xù)信號(hào)時(shí)域分析的MATLAB實(shí)現(xiàn)n=length(t);x=zeros(1,n);x(1,(t0-t1)/dt+1)=1/dt;stairs(t,x);%以階梯方式繪畫axis([t1,t2,0,1.1/dt])2.連續(xù)信號(hào)的相加、相乘、時(shí)移、反轉(zhuǎn)和尺度變換等基本運(yùn)算(1)兩個(gè)連續(xù)信號(hào)的相加在MATLAB中要實(shí)現(xiàn)兩個(gè)連續(xù)信號(hào)f1(t)、f2(t)的相加,可用如下語句:x=symadd(f1,
4、f2)或x=f1+f2%x(t)=f1(t)+f2(t)(2)兩個(gè)連續(xù)信號(hào)的相乘在MATLAB中要實(shí)現(xiàn)兩個(gè)連續(xù)信號(hào)f1(t)、f2(t)的相乘,可用如下語句:x=symmul(f1,f2)或x=f1*f2%x(t)=f1(t)f2(t)(3)連續(xù)信號(hào)的平移要實(shí)現(xiàn)連續(xù)信號(hào)f(t)向右平移t0,MATLAB語句格式為:x=subs(f,t,t-t0)%x(t)=f(t-t0)(4)連續(xù)信號(hào)的反轉(zhuǎn)要實(shí)現(xiàn)連續(xù)信號(hào)f(t)的反轉(zhuǎn),MATLAB語句格式為:x=subs(f,t,-t)%x(t)=f(-t)(5)連續(xù)信號(hào)的尺度變換要實(shí)現(xiàn)連續(xù)信號(hào)f(t)的尺度變換,MATLAB語句格式為:x=subs(
5、f,t,a*t)%x(t)=f(at)要實(shí)現(xiàn)連續(xù)信號(hào)f(t)的平移、尺度變換的綜合運(yùn)算,MATLAB語句格式為:x=subs(f,t,a*t-b)%x(t)=f(at-b)例9-1:信號(hào)f1(t)、f2(t)如圖9-1(a)、(b)所示,編制一個(gè)m文件,繪出f1(t)=e-0.5t[e(t)-e(t-2)]、f2(t)=sin(5pt)[e(t)-e(t-2)]、f1(-2t+1)、f1(t)f2(t-1)的波形。解:實(shí)現(xiàn)所要求運(yùn)算的m文件如下,symstf1=sym('exp(-0.5*t)*(heaviside(t)-heaviside(t-2))');f2=sym('sin(5*p
6、i*t)*(heaviside(t)-heaviside(t-2))');52實(shí)驗(yàn)九連續(xù)信號(hào)時(shí)域分析的MATLAB實(shí)現(xiàn)圖9-1subplot(2,2,1),ezplot(f1);title('f1');subplot(2,2,2),ezplot(f2);title('f2');f3=subs(f1,t,-2*t+1);subplot(2,2,3);ezplot(f3);title('f3');f4=f1*subs(f2,t,t-1);subplot(2,2,4);ezplot(f4);title('f4');運(yùn)算結(jié)果如圖9-1所示。其中,圖9-1(a)、(b)、(c)、(d)分別為f1(
7、t)、f2(t)、f1(-t+1)、f1(t)f2(t-1)的波形。3.連續(xù)信號(hào)的卷積運(yùn)算由于MATLAB運(yùn)算的特點(diǎn),兩個(gè)連續(xù)信號(hào)f1(t)、f2(t)的卷積f(t)=f1(t)*f2(t),用MATLAB實(shí)現(xiàn)的過程應(yīng)為:(1)將連續(xù)信號(hào)f1(t)、f2(t)以時(shí)間間隔Δ進(jìn)行取樣,得離散序列f1(kD)、f2(kD);(2)構(gòu)造f1(kD)、f2(kD)與相對(duì)應(yīng)的時(shí)間向量k1和k2;(3)調(diào)用conv()函數(shù)計(jì)算卷積積分f(t)的近