資源描述:
《實驗1 利用matlab進行系統的時域分析.doc》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。
1、實驗1利用matlab進行系統的時域分析一.實驗目的:1.了解離散時間序列卷積和的matlab實現;2.利用卷積和求解系統的零狀態(tài)響應;二.實驗原理:1.連續(xù)時間系統零狀態(tài)響應的求解連續(xù)時間LTI系統以常系數微分方程描述,系統的零狀態(tài)響應可通過求解初始狀態(tài)為零的微分方程得到。在MATLAB中,控制系統工具箱提供了一個用于求解零初始狀態(tài)微分方程數值解的函數lsim。其調用方式為y=lsim(sys,x,t)式中t表示計算系統響應的抽樣點向量,x是系統輸入信號向量,sys是連續(xù)時間LTI系統模型,用來表示微分方
2、程、差分方程、狀態(tài)方程。在求解微分方程時,微分方程的連續(xù)時間LTI系統模型sys要借助tf函數獲得,其調用方式為sys=tf(b,a)式中b和a分別為微分方程右端和左端各項的系數向量。例如對3階微分方程a3y3(t)+a2y2(t)+a1y'(t)+a0y(t)=b3y3(t)+b2y2(t)+b1y'(t)+b0y(t)可用a=[a3,a2,a1,a0];b=[b3,b2,b1,b0];sys=tf(b,a)獲得連續(xù)時間LTI模型。注意微分方程中為零的系數一定要寫入向量a和b中?!纠?-1】描述某力學系統
3、中物體位移y(t)與外力f(t)的關系為md2y(t)dt2+fddy(t)dt+ksy(t)=x(t)物體質量m=lkg,彈簧的彈性系數ks=100N/m,物體與地面的摩擦系數fd=2N·s/m,系統的初始儲能為零,若外力x(t)是振幅為10、周期為1的正弦信號,求物體的位移y(t)。解:由已知條件,系統的輸入信號為x(t)=10sin(2πt),系統的微分方程為d2y(t)dt2+2dy(t)dt+100y(t)=x(t)計算物體位移y(t)的MATLAB程序如下:%program2_1微分方程求解ts
4、=0;te=5;dt=0.01;sys=tf([1],[12100]);t=ts:dt:te;x=10*sin(2*pi*t);y=lsim(sys,x,t);plot(t,y);xlabel('Time(sec)')ylabel('y(t)')圖2-1系統的零狀態(tài)響應2.連續(xù)時間系統沖激響應和階躍響應的求解在MATLAB中,求解系統沖激響應可應用控制系統工具箱提供的函數impulse,求解階躍響應可利用函數step。其調用方式為y=impulse(sys,t)y=step(sys,t)式中t表示計算系統響
5、應的抽樣點向量,sys是連續(xù)時間LTI系統模型。下面舉例說明其應用?!纠?-2】在例2-1所述力學系統中,若外力x(t)是強度為10的沖激信號,求物體的位移y(t)。解:由已知條件,系統的輸入信號為x(t)=10δ(t),系統的微分方程可寫成:d2h(t)dt2+2dh(t)dt+100h(t)=10δ(t)物體位移y(t)即系統的沖激響應,計算其的MATLAB程序如下:%program3_2連續(xù)時間系統的沖激響應clearclcts=0;te=5;dt=0.01;sys=tf([10],[12100]);
6、t=ts:dt:te;y=impulse(sys,t);plot(t,y);xlabel('Time(sec)')ylabel('h(t)')圖2-2連續(xù)時間系統的沖激響應3.離散的時間系統零狀態(tài)相應的求解大量的離散時間LTI系統都可以用如下的線性常系數差分方程描述:i=0naiyk-i=j=0mbjxk-j其中a0=1,x[k]、y[k]分別表示系統的輸入和輸出,n是差分方程的階數。已知差分方程的n個初始狀態(tài)和輸入x[k],就可以編程由下式迭代計算出系統的輸出:y[k]=-i=1naiyk-i+j=0mb
7、jxk-j在零初始狀態(tài)下,MATLAB信號處理工具提供了一個filter函數計算由差分方程描述的系統的響應。其調用方式為:y=filter(b,a,x)式中b=[b0,bl,b2,…,bM],a=[a0,a1,a2,…,aN]分別是差分方程左、右端的系數向量,x表示輸入序列,y表示輸出序列。注意輸出序列的長度和輸入序列長度相同。【例2-3】受噪聲干擾的信號為x[k]=s[k]+d[k],其中s[k]=(2k)0.9是原始信號,d[k]是噪聲。已知M點滑動平均(MovingAverage)系統的輸入與輸出關系
8、為y[k]=1Mn=0M-1xk-n試編程實現M點滑動平均系統對受噪聲干擾的信號去噪。解:系統的輸入信號x[kl含有有用信號s[k]和噪聲信號d[k]。噪聲信號d[k]可以用rand函教產生,將其疊加在有用信號s[k]上,即得到受噪聲干擾的輸入信號x[k]。下面的程序實現了對信號x[k]去噪,取M=5。%program2_3SignalSmoothingbyMovingAverageFilterclearclcR