資源描述:
《信號與系統(tǒng)實驗資料報告材料.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、實驗三??常見信號的MATLAB表示及運算一、實驗目的1.熟悉常見信號的意義、特性及波形2.學會使用MATLAB表示信號的方法并繪制信號波形3.掌握使用MATLAB進行信號基本運算的指令4.熟悉用MATLAB實現(xiàn)卷積積分的方法二、實驗原理根據(jù)MATLAB的數(shù)值計算功能和符號運算功能,在MATLAB中,信號有兩種表示方法,一種是用向量來表示,另一種則是用符號運算的方法。在采用適當?shù)腗ATLAB語句表示出信號后,就可以利用MATLAB中的繪圖命令繪制出直觀的信號波形了。1.連續(xù)時間信號從嚴格意義上講,MATLAB并不能處理連續(xù)信號。在MATLAB中,是用連續(xù)信號在等時間間隔點上的樣值
2、來近似表示的,當取樣時間間隔足夠小時,這些離散的樣值就能較好地近似出連續(xù)信號。在MATLAB中連續(xù)信號可用向量或符號運算功能來表示。⑴向量表示法對于連續(xù)時間信號,可以用兩個行向量f和t來表示,其中向量t是用形如的命令定義的時間圍向量,其中,為信號起始時間,為終止時間,p為時間間隔。向量f為連續(xù)信號在向量t所定義的時間點上的樣值。⑵符號運算表示法如果一個信號或函數(shù)可以用符號表達式來表示,那么我們就可以用前面介紹的符號函數(shù)專用繪圖命令ezplot()等函數(shù)來繪出信號的波形。⑶常見信號的MATLAB表示???單位階躍信號單位階躍信號的定義為:?方法一:調(diào)用Heaviside(t)函數(shù)首
3、先定義函數(shù)Heaviside(t)的m函數(shù)文件,該文件名應與函數(shù)名同名即Heaviside.m。%定義函數(shù)文件,函數(shù)名為Heaviside,輸入變量為x,輸出變量為yfunctiony=Heaviside(t)y=(t>0);%定義函數(shù)體,即函數(shù)所執(zhí)行指令%此處定義t>0時y=1,t<=0時y=0,注意與實際的階躍信號定義的區(qū)別。方法二:數(shù)值計算法在MATLAB中,有一個專門用于表示單位階躍信號的函數(shù),即stepfun()函數(shù),它是用數(shù)值計算法表示的單位階躍函數(shù)。其調(diào)用格式為:stepfun(t,t0)????其中,t是以向量形式表示的變量,t0表示信號發(fā)生突變的時刻,在t0以前
4、,函數(shù)值小于零,t0以后函數(shù)值大于零。有趣的是它同時還可以表示單位階躍序列,這只要將自變量以及取樣間隔設定為整數(shù)即可。????符號函數(shù)符號函數(shù)的定義為:?????在MATLAB中有專門用于表示符號函數(shù)的函數(shù)sign(),由于單位階躍信號e(t)和符號函數(shù)兩者之間存在以下關系:,因此,利用這個函數(shù)就可以很容易地生成單位階躍信號。2.離散時間信號離散時間信號又叫離散時間序列,一般用表示,其中變量k為整數(shù),代表離散的采樣時間點(采樣次數(shù))。在MATLAB中,離散信號的表示方法與連續(xù)信號不同,它無法用符號運算法來表示,而只能采用數(shù)值計算法表示,由于MATLAB中元素的個數(shù)是有限的,因此,
5、MATLAB無法表示無限序列;另外,在繪制離散信號時必須使用專門繪制離散數(shù)據(jù)的命令,即stem()函數(shù),而不能用plot()函數(shù)。?單位序列d單位序列)的定義為???單位階躍序列單位階躍序列的定義為3.卷積積分兩個信號的卷積定義為:MATLAB中是利用conv函數(shù)來實現(xiàn)卷積的。功能:實現(xiàn)兩個函數(shù)和的卷積。格式:g=conv(f1,f2)說明:f1=f1(t),f2=f2(t)?表示兩個函數(shù),g=g(t)表示兩個函數(shù)的卷積結果。三、實驗容1.分別用MATLAB的向量表示法和符號運算功能,表示并繪出下列連續(xù)時間信號的波形:???????⑴⑵?(1)t=-1:0.01:10;t1=-1
6、:0.01:-0.01;t2=0:0.01:10;f1=[zeros(1,length(t1)),ones(1,length(t2))];f=(2-exp(-2*t)).*f1;plot(t,f)axis([-1,10,0,2.1])symst;f=sym('(2-exp(-2*t))*heaviside(t)');ezplot(f,[-1,10]);(2)t=-2:0.01:8;f=0.*(t<0)+cos(pi*t/2).*(t>0&t<4)+0.*(t>4);plot(t,f)symst;f=sym('cos(pi*t/2)*[heaviside(t)-heaviside(
7、t-4)]');ezplot(f,[-2,8]);2.分別用MATLAB表示并繪出下列離散時間信號的波形:???????⑵???????⑶?(2)t=0:8;t1=-10:15;f=[zeros(1,10),t,zeros(1,7)];stem(t1,f)axis([-10,15,0,10]);(3)t=0:50;t1=-10:50;f=[zeros(1,10),sin(t*pi/4)];stem(t1,f)axis([-10,50,-2,2])3.已知兩信號,,求卷積積分,并與