控制系統(tǒng)仿真課件:控制系統(tǒng)仿真實驗_第1頁
控制系統(tǒng)仿真課件:控制系統(tǒng)仿真實驗_第2頁
控制系統(tǒng)仿真課件:控制系統(tǒng)仿真實驗_第3頁
控制系統(tǒng)仿真課件:控制系統(tǒng)仿真實驗_第4頁
控制系統(tǒng)仿真課件:控制系統(tǒng)仿真實驗_第5頁
已閱讀5頁,還剩249頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

控制系統(tǒng)仿真實驗

5.1MATLAB平臺認(rèn)識實驗

5.2MATLAB繪圖

5.3控制系統(tǒng)的階躍響應(yīng)

5.4控制系統(tǒng)的脈沖響應(yīng)

5.5控制系統(tǒng)的根軌跡作圖

5.6控制系統(tǒng)的波特圖

5.7控制系統(tǒng)的極坐標(biāo)圖

5.8連續(xù)系統(tǒng)的復(fù)頻域分析

5.9離散系統(tǒng)的z域分析

5.10連續(xù)系統(tǒng)狀態(tài)變量分析

5.11離散系統(tǒng)狀態(tài)方程求解5.12頻率法超前校正5.13頻率法滯后校正5.14根軌跡法超前校正5.15根軌跡法滯后校正5.16頻率法二階參考模型校正5.17速度反饋校正5.18相平面作圖5.19繼電型非線性控制系統(tǒng)分析5.20采樣控制系統(tǒng)分析5.21能控性、能觀測性與其標(biāo)準(zhǔn)型5.22線性二次型最優(yōu)控制器設(shè)計

5.1

MATLAB平臺認(rèn)識實驗

一、實驗?zāi)康?/p>

(1)了解MATLAB語言環(huán)境。

(2)練習(xí)MATLAB命令的基本操作。

(3)練習(xí)M文件的基本操作。二、實驗內(nèi)容

1.學(xué)習(xí)了解MATLAB語言環(huán)境

(1)MATLAB語言操作界面。

開機(jī)執(zhí)行程序:

C:\matlab\bin\matlab.exe

(或用鼠標(biāo)雙擊圖標(biāo))即可進(jìn)入MATLAB命令窗口:

“CommandWindow”,如圖5-1所示在命令提示符位置鍵入命令,完成下述練習(xí)。

圖5-1

MATLAB命令窗口

(2)練習(xí)DOS的相似命令。MATLAB語言與DOS操作系統(tǒng)有如下常用相似命令,在操作界面上練習(xí)這些命令:

dir

dirc:\matlab\toolbox

type

typeanyprogram.m

cd

cd.cdtoolbox

(3)變量查詢。變量查詢命令有who,whos,查詢變量并作記錄。

(4)目錄與目錄樹結(jié)構(gòu)。

目錄項顯示命令dir用于查詢當(dāng)前目錄項。

(5)路徑函數(shù)與搜索路徑。

path路徑函數(shù)

which文件定位

路徑函數(shù)path列出了MATLAB自動搜索路徑清單,執(zhí)行該命令:path(path.′newpath′)可以在搜索路徑清單中增加新的路徑項,練習(xí)該命令。

(6)聯(lián)機(jī)幫助。

鍵入

helphelp

閱讀help函數(shù)的使用說明。鍵入help,列出help項。

查詢前面使用過的命令helpwho

helppath

閱讀上述函數(shù)的功能、使用格式等。

(7)字符串查詢。

鍵入

helplookfor

閱讀MATLAB函數(shù)lookfor的功能與使用方法,并使用該命令查詢相應(yīng)的關(guān)鍵詞字符串。

(8)MATLAB語言演示。

鍵入

into

閱讀MATLAB語言介紹,如矩陣輸入、數(shù)值計算、曲線繪圖等。盡量閱讀命令平臺上的注釋內(nèi)容,以便盡快了解MATLAB語言的應(yīng)用。

鍵入

demo

MATLAB語言功能演示。

2.練習(xí)MATLAB命令的基本操作

(1)鍵入常數(shù)矩陣輸入命令:

a=[123]a=[1;2;3]

記錄結(jié)果,比較顯示結(jié)果有何不同:

b=[125]b=[125];

記錄結(jié)果,比較顯示結(jié)果有何不同:

c=a*b

c=a*b′

記錄結(jié)果,比較變量加“′”后的區(qū)別:

a=[123;456;780]a^2

a^0.5

記錄顯示結(jié)果。

(2)作循環(huán)命令程序:

makesum=0;fori=1:1:100;makesum=makesum+i;end

鍵入makesum,按回車鍵,記錄計算結(jié)果。

(3)分別執(zhí)行下列命令:

a=[123;456;780]

poly(a)

rank(a)

det(a)

trace(a)

inv(a)

eig(a)

3.練習(xí)M文件的基本操作

打開File菜單,其中“OpenM

file”用于打開M文件,“RunM

file”用于執(zhí)行M文件。

注意:大部分M文件需要相應(yīng)的數(shù)據(jù)才可以運行,此時命令平臺上給出警告提示。例如,打開plot.m閱讀繪圖命令的功能以及變量格式。執(zhí)行:penddemo.m,觀察倒立擺控制系統(tǒng)的演示。

三、實驗報告要求

按照上述步驟進(jìn)行實驗,并按實驗記錄完成實驗報告。

5.2

MATLAB繪圖

一、實驗?zāi)康?/p>

(1)學(xué)習(xí)MATLAB的各種二維繪圖方法。

(2)學(xué)習(xí)MATLAB的三維繪圖方法。

(3)MATLAB的繪圖修飾(多種繪圖,圖形注釋,繪圖顏色,色圖矩陣)。

二、實驗內(nèi)容

在下面的實驗操作中,認(rèn)真記錄每項操作的作用和目的。

1.基本二維繪圖

(1)向量繪圖:

x=0:2*pi/100:2*pi;

y1=sin(2*x);y2=cos(2*x);

plot(x,y1)

plot(x,y2)

plot(x,y1,x,y2)

保持作圖:

plot(x,y1):holdon;

plot(x,y2):holdoff;

矩陣作圖:

plot(′x′,[′y1′′y2′])設(shè)定顏色與線型

plot(x,y1,′c:′,x,y2,′wo′)

多窗口繪圖:

figure(1);plot(x,y1);

figure(2);plot(x,y2);

子圖繪圖:

subplot(221);plot(x,y1);

subplot(222);plot(x,y2);

subplot(223);plot(x,y1,x,y1+y2);

subplot(224);plot(x,y2,x,y1-y2);

復(fù)變函數(shù)繪圖:

w=0.01:0.01:10

G=1./(1+2*w*i);

subplot(121);plot(G);

subplot(122);plot(real(G);imag(G));

插值繪圖:

x=0:2*pi/8:2*pi;y=sin(x);

plot(x,y,′o′);holdon;

xi=0:2*pi/100:2*pi;

yi=spline(x,y,xi);

plot(xi,yi,′m′);

反白繪圖與繪圖背景色設(shè)定:

whitebg

whitebg(′b′)

whitebg(′k′)

(2)函數(shù)繪圖:

fplot(′sin′,[04*pi])

f=′sin(x)′;fplot(f,[04*pi])

fplot(′sin(I/x)′,[0.010.1],le-3)

fplot(′[tan(x),sin(x),cos(x)]′,[-2*pi,2*pi,-2*pi,2*pi])

(3)符號函數(shù)快捷繪圖:

f=′exp(-0.5*x)*sin(x)′;

ezplot(f,[0,10])。

2.多種二維繪圖

(1)半對數(shù)繪圖(頻率特性繪圖):

w=1ogspace(-1,1);

g=20*log10(1./(1+2*w*i));

p=angle(1./(l+2*w*i))*180/Pi;

subp1(211);

semilogx(w,g);

grid;

subplot(212);

semilogx(w,p);

grid;

相頻特性子圖,半對數(shù)繪圖,加網(wǎng)線。

(2)極坐標(biāo)繪圖:

t=0:2*pi/180:2*pi;

mo=cos(2*t);

polar(t,mo)。

(3)直方圖:

t=0:2*pi/8:2*pi;

y=sin(t);

bar(t,y)。

(4)離散棒圖:

t=0:2*pi/8:2*pi;

y=sin(t);

stem(t,y)。

(5)階梯圖:

t=0:2*pi/8:2*pi;

y=sin(t);

stairs(t,y)。

(6)彗星繪圖:

t=-pi:pi/200:pi;

comet(t,ran(sin(t)-sin(tan(t)))。

3.圖形注釋

y1=dolve(′D2u+2*Du+10*u=0′,′Du(0)=1,u(0)=0′,′,′x′);

(1)暖色(hot)圖:

peaks(20);

axis(′off′)

colormap(hot);

colorbar(′horiz′)。

(2)光照修飾:

surfl(peaks(20));

colormap(gray);

shadinginterp。

(3)表面修飾:

subplot(131);peaks(20);shadingflat;

subplot(132);peaks(20);shadinginterp;

subplot(133);peaks(20);shadingfaceted。

(4)透視與消隱:

P=peaks(30);

subplot(121);mesh(P);hiddenoff;

suhplot(122);mesh(P);hiddenon。

(5)裁剪修飾:

P=peaks(30);

P(20:23,9:15)=NaN*ones(4,7);

subplot(121);meshz(P);

subplot(122);meshc(P)。

(6)水線修飾:

waterfall(peaks(20));

colormap([100])。

(7)等高線修飾:

contour(peaks(20),6);

contour3(peaks(20),10);

clabel(contour(peaks(20),4));

clabel(contour3(peaks(20),3))。

三、實驗報告要求

按照上述步驟進(jìn)行實驗,并按實驗記錄完成實驗報告。

5.3控制系統(tǒng)的階躍響應(yīng)

一、實驗?zāi)康?/p>

(1)學(xué)習(xí)控制系統(tǒng)的單位階躍響應(yīng)。

(2)記錄單位階躍響應(yīng)曲線。

(3)掌握時間響應(yīng)分析的一般方法。

二、實驗步驟

1.建立系統(tǒng)模型

在MATLAB命令窗口L,以立即命令方式建立系統(tǒng)的傳遞函數(shù):在MATLAB下,系統(tǒng)數(shù)學(xué)模型有多種描述方式,在實驗中只用到多項式模型和零極點模型。

(1)多項式模型:

式中,num表示分子多項式的系數(shù),den表示分母多項式的系數(shù),以行向量的方式輸入。

例如,程序為

num=[013];

%分子多項式系數(shù)

den=[1221];

%分母多項式系數(shù)

printsys(num,den);

%構(gòu)造傳遞函數(shù)G(s)并顯示

(2)零極點模型:

G(s)=

j=1,2,…,m;i=1,2,…,n

式中,K為增益值,zj為第j個零點值,pi為第i個零點值。例如,程序為

k=2;

%賦增益值,標(biāo)量

z=[1];

%賦零點值,向量

p=[-12-3];

%賦極點值,向量[num,den]=zp2tf(z,p,k);

%零極點模型轉(zhuǎn)換成多項式模型

printsys(num,den);

%構(gòu)造傳遞函數(shù)G(s)并顯示

2.相關(guān)MATLAB函數(shù)

step(num,den)

step(num,den,t)

[y,x]=step(num,den)

給定系統(tǒng)傳遞函數(shù)G(s)的多項式模型,求系統(tǒng)的單位階躍響應(yīng)。

函數(shù)格式1:給定num,den,求系統(tǒng)的階躍響應(yīng)。時間向量t的范圍自動設(shè)定。

函數(shù)格式2:時間向量t的范圍可以由人工給定(例如,t=0:0.1:0)。

函數(shù)格式3:返回變量格式。計算所得的輸出y、狀態(tài)x及時間向量t返回至MATLAB命令窗口,不作圖。

MATLAB程序為

num=[4];

den=[114];

step(num,den);

畫出系統(tǒng)的單位階躍響應(yīng)曲線如圖5-2所示。

利用函數(shù)damp(den),可以計算系統(tǒng)的閉環(huán)根、阻尼比、無阻尼振蕩頻率。

圖5-2階躍響應(yīng)

三、實驗內(nèi)容

(1)二階系統(tǒng)為

G(s)=

①鍵入程序,觀察并記錄階躍響應(yīng)曲線。

②鍵入damp(den),計算系統(tǒng)的閉環(huán)根、阻尼比、無阻尼振蕩頻率,并作記錄鍵入。[y,x,t]=step(num,den)

%;返回變量輸出y與時間t(變量x為狀態(tài)變量矩陣)

[y,t];

%;顯示輸出向量y與時間向量t(t為自動向量)記錄實際測取的峰值大小Amax(tp),峰值時間tp、過渡時間ts,并與理論值相比較。

(2)修改參數(shù),分別實現(xiàn)ζ=1和ζ=2的響應(yīng)曲線,并作記錄。程序為

n0=10;d0=[1210];step(n0,d0)

%原系統(tǒng)ζ=0.36

holdon

n1=n0;d1=[16.3210];step(n1,d1);ζ=1

n2=n0;d2=[112.6410];step(n2,d2);ζ=2

修改參數(shù),寫出程序分別實現(xiàn)

的響應(yīng)曲線,并作記錄

(3)試作出以下系統(tǒng)的階躍響應(yīng),并比較與原系統(tǒng)響應(yīng)曲線的差別與特點,作出相應(yīng)的實驗分析結(jié)果。

,有系統(tǒng)零點情況,即s=-5;

,分子、分母多項式階數(shù)相等,即n=m=2;③

+10,分子多項式零次項系數(shù)為零;

,原響應(yīng)的微分,微分系數(shù)為1/10。

(4)試作出一個三階系統(tǒng)和一個四階系統(tǒng)的階躍響應(yīng),并分析實驗結(jié)果。

四、實驗報告要求

(1)分析系統(tǒng)的阻尼比和無阻尼振蕩頻率對系統(tǒng)階躍響應(yīng)的影響。

(2)分析響應(yīng)曲線的零初值、非零初值與系統(tǒng)模型的關(guān)系。

(3)分析響應(yīng)曲線的穩(wěn)態(tài)值與系統(tǒng)模型的關(guān)系。

(4)分析系統(tǒng)零點對階躍響應(yīng)的影響。

5.4控制系統(tǒng)的脈沖響應(yīng)

一、實驗?zāi)康?/p>

(1)學(xué)習(xí)控制系統(tǒng)的單位脈沖響應(yīng)。

(2)記錄時間響應(yīng)曲線。

(3)掌握時間響應(yīng)分析的一般方法。

二、實驗步驟

(1)開機(jī)執(zhí)行程序:

c:\matlab\bin\matlab.exe

(或用鼠標(biāo)雙擊圖標(biāo))進(jìn)入MATLAB命令窗口:“CommandWindow”。

(2)相關(guān)MATLAB函數(shù):

impulse(num,den)

impulse(num,den,t)

[y,x]=impulse(num,den)

給定系統(tǒng)傳遞函數(shù)G(s)的多項式模型,求系統(tǒng)的單位脈沖響應(yīng)。

函數(shù)格式1:給定num,den,求系統(tǒng)的單位脈沖響應(yīng),時間向量t的范圍自動設(shè)定。

函數(shù)格式2:時間向量t的范圍可以由人工給定(例如,t=0:0.1:10)。

函數(shù)格式3:返回變量格式。計算所得的輸出y、狀態(tài)x及時間向量t返回至MATLAB命令窗口,不作圖。更詳細(xì)的命令說明,可鍵入“helpimpulse”在線幫助查閱。

圖5-3脈沖響應(yīng)

例如某系統(tǒng)的傳遞函數(shù)為

利用如下的MATLAB程序:num=[4];

den=[114];

impulse(num,den);

可以畫出系統(tǒng)的單位脈沖響應(yīng)曲線如圖5-3所示。

三、實驗內(nèi)容

(1)二階系統(tǒng)為

①鍵入程序,觀察、記錄脈沖響應(yīng)曲線。

②鍵入damp(den),計算系統(tǒng)的閉環(huán)根、阻尼比、無阻尼振蕩頻率,并作記錄。鍵入[y,x,t]=impulse(num,den);返回變量輸出y與時間t(變量x為狀態(tài)變量矩陣),[y,t]顯示輸出向量y與時間向量t(t為自動向量)。記錄實際測取的峰值大小Amax(tp),峰值時間tp

,過渡時間ts,并與理論值相比較。

(2)修改參數(shù),分別實現(xiàn)ζ=1和ζ=2的響應(yīng)曲線,并作記錄。程序為

n0=10;d0=[1210];impulse(n0,d0)

%原系統(tǒng)ξ=0.36

holdon

%保持原曲線

n1=n0;d1=[16.3210];impulse(n1,d1)

%ζ=1

n2=n0;d2=[112.6410];impulse(n2,d2)

%ζ=2

(3)試作出以下系統(tǒng)的脈沖響應(yīng),并比較與原系統(tǒng)響應(yīng)曲線的差別與特點,作出相應(yīng)的實驗分析結(jié)果。

①,有系統(tǒng)零點情況,即s=-5;②

,分子、分母多項式階數(shù)相等,即n=m。

四、實驗報告要求

(1)分析系統(tǒng)的阻尼比和無阻尼振蕩頻率對系統(tǒng)脈沖響應(yīng)的影響。

(2)分析響應(yīng)曲線的零初值、非零初值與系統(tǒng)模型的關(guān)系。

(3)分析響應(yīng)曲線的穩(wěn)態(tài)值與系統(tǒng)模型的關(guān)系。

(4)分析系統(tǒng)零點對脈沖響應(yīng)的影響。

5.5控制系統(tǒng)的根軌跡作圖

一、實驗?zāi)康?/p>

(1)直觀了解LTI系統(tǒng)的根軌跡分析法。

(2)加深對連續(xù)LTI系統(tǒng)的根軌跡分析法的理解。

(3)了解MATLAB相關(guān)函數(shù)的調(diào)用格式及作用。

(4)加深對連續(xù)LTI系統(tǒng)的時域分析的基本原理與方法的理解和掌握。

二、知識提示

根軌跡法是分析和設(shè)計線性定常系統(tǒng)常用的圖解方法之一,利用它可以了解和分析系統(tǒng)的性能,尤其是對系統(tǒng)進(jìn)行定性的分析。

三、涉及的MATLAB函數(shù)

printsys(num,den,′s′):顯示或打印輸出由num和den所確定的傳遞函數(shù)。

rlocus(num,den):計算并畫出由num和den所確定的系統(tǒng)的根軌跡。

四、實驗內(nèi)容與方法

1.驗證性實驗

(1)已知一個單位反饋系統(tǒng)的開環(huán)傳遞函數(shù)為

試?yán)L制其根軌跡。執(zhí)行下面的程序:num=[110];

den=[15200];

printsys(num,den,′s′);

rlocus(num,den);num/den=圖5-4系統(tǒng)的根軌跡

(2)已知一個單位反饋系統(tǒng)的開環(huán)傳遞函數(shù)為

試?yán)L制其根軌跡。執(zhí)行下面的程序:

num1=[11];

den1=[1-10];

num2=1;

den2=[1416];

[numden]=series(num1,den1,num2,den2);

printsys(num,den,′s′);

rlocus(num,den);圖5-5系統(tǒng)的根軌跡

(3)已知一個單位反饋系統(tǒng)的開環(huán)傳遞函數(shù)為

試分別繪制其根軌跡,并比較零極點對系統(tǒng)性能的影響。執(zhí)行下面的程序:

num1=[1];

den1=[110];

rlocus(num1,den1);

num2=1;

den2=[1321];

figure;

rlocus(num2,den2);

num3=[132.5];

den3=den1;

figure;

rlocus(num3,den3);

其根軌跡分別如圖5-6、圖5-7和圖5-8所示。

圖5-6系統(tǒng)1的根軌跡

圖5-7系統(tǒng)2的根軌跡

圖5-8系統(tǒng)3的根軌跡

五、實驗要求

(1)在計算機(jī)中輸入程序,驗證實驗結(jié)果,并將實驗結(jié)果整理成電子文檔,發(fā)給教師。

(2)對于程序設(shè)計實驗,要求通過對驗證性實驗的練習(xí),自行編制完整的實驗程序,實現(xiàn)對信號的模擬,并得出實驗結(jié)果。

(3)在實驗報告中寫出完整的自編程序,并給出實驗結(jié)果。

六、思考題

比較解析法與計算法的特點。

5.6控制系統(tǒng)的波特圖

一、實驗?zāi)康?/p>

(1)利用計算機(jī)作出開環(huán)系統(tǒng)的波特圖。

(2)觀察并記錄控制系統(tǒng)的開環(huán)頻率特性。

(3)控制系統(tǒng)的開環(huán)頻率特性分析。

二、實驗步驟

(1)開機(jī)執(zhí)行程序:

c:\matlab\bin\matlab.exe

(或用鼠標(biāo)雙擊圖標(biāo))進(jìn)入MATLAB命令窗口:“CommandWindow”。

(2)相關(guān)MATLAB函數(shù):

bode(num,den)

bode(num,den,w)

[mag,phase,w]=bode(num,den)給定系統(tǒng)開環(huán)傳遞函數(shù)G0(s)的多項式模型,作系統(tǒng)的波特圖。其計算公式為

式中,num為開環(huán)傳遞函數(shù)G0(s)的分子多項式系數(shù)向量,den為開環(huán)傳遞函數(shù)G0(s)的分母多項式系數(shù)向量。函數(shù)格式1:給定num、den作波特圖,角頻率向量w的范圍自動設(shè)定。

函數(shù)格式2:角頻率向量w的范圍可以由人工給定。(w為對數(shù)等分,由對數(shù)等分函數(shù)logspace()完成,例如w=logspace(-1,1,100)。

函數(shù)格式3:返回變量格式。計算所得的幅值mag、相角phase及角頻率w返回至MATLAB命令窗口,不作圖。更詳細(xì)的命令說明,可鍵入“helpbode”在線幫助查閱。

例如,系統(tǒng)的開環(huán)傳遞函數(shù)

作圖程序為num=[10];

den=[1210];

bode(num,den)

w=logspace(-1,1,32);

bode(num,den,w);

logspace(d1,d2,n)

將變量w作對數(shù)等分。命令中d1、d2為10d1~10d2之間的變量范圍,n為等分點數(shù)。

semilogx(x,y)

半對數(shù)繪圖命令、函數(shù)格式與plot()相同。

例如,已知傳遞函數(shù)

作對數(shù)幅頻特性。程序為w=logspace(-1,1,32);

%w范圍和點數(shù)n

mag=10./((i*w).-2+2.*(i*w)+10);

%幅頻特性l=20*log(abs(mag));

%對數(shù)幅頻特性

semilogx(w,l);

%半對數(shù)作圖

grid

%畫網(wǎng)格線

margin(num,den)

[Mg,Pc,wg,wc]=margin(num,dcn)

函數(shù)格式1:作波特圖,計算波特圖上的穩(wěn)定裕度,并將計算結(jié)果表示在圖的上方。

函數(shù)格式2:返回變量格式,不作圖。返回變量Mg為幅值裕度,Pc為相位裕度,幅值裕度Mg對應(yīng)的頻率為wg,相位裕度Pc對應(yīng)的頻率為wc。

畫出系統(tǒng)的幅頻特性如圖5-9所示。

圖5-9幅頻特性

三、實驗內(nèi)容

(1)

(2)

要求:①作波特圖,在曲線上標(biāo)出:幅頻特性,即低頻段斜率、高頻段斜率、開環(huán)截止頻率、中頻段穿越斜率和相頻特性,即低頻段漸近相位角、高頻段漸近相位角、-180°線的穿越頻率。

②由穩(wěn)定裕度命令計算系統(tǒng)的穩(wěn)定裕度Lg和Yc,并確定系統(tǒng)的穩(wěn)定性。

③在圖上作近似折線特性,與原準(zhǔn)確特性相比較。

(3)令K=1作波特圖,應(yīng)用頻域穩(wěn)定判據(jù)確定系統(tǒng)的穩(wěn)定性,并確定使系統(tǒng)獲得最大相位裕度Yc,max的增益值K值。

(4)已知系統(tǒng)結(jié)構(gòu)圖如圖5-10所示(選做),分別令

Gc(s)=1Gc(s)=作波特圖并保持(holdon)曲線,分別計算兩個系統(tǒng)的穩(wěn)定裕度值,然后作性能比較以及時域仿真驗證。

圖5-10系統(tǒng)結(jié)構(gòu)圖

四、實驗報告要求

(1)記錄給定系統(tǒng)與顯示的波特圖。

(2)完成上述各題要求。

5.7控制系統(tǒng)的極坐標(biāo)圖

一、實驗?zāi)康?/p>

(1)利用計算機(jī)作出開環(huán)系統(tǒng)的極坐標(biāo)圖。

(2)極坐標(biāo)圖系統(tǒng)分析。

二、實驗步驟

(1)開機(jī)執(zhí)行程序:

c:\matlab\bin\matlab.exe

(或用鼠標(biāo)雙擊圖標(biāo))進(jìn)入MATLAB命令窗口:“CommandWindow”。

(2)相關(guān)MATLAB函數(shù):

nyquist(num,den)

nyquist(num,den,w)

[re,im,w]=nyquist(num,den)

給定系統(tǒng)開環(huán)傳遞函數(shù)G0(s)的多項式模型,作系統(tǒng)的極坐標(biāo)圖(Nyquist)。其傳遞函數(shù)為

式中,num為開環(huán)傳遞函數(shù)G0(s)的分子多項式系數(shù)向量,den為開環(huán)傳遞函數(shù)G0(s)的分母多項式系數(shù)向量。

函數(shù)格式1:給定num和den作奈奎斯特圖,如圖5-11所示,角頻率向量w的范圍自動設(shè)定。

函數(shù)格式2:角頻率向量w的范圍可以由人工給定(例如,w=1:0.1:100)。

函數(shù)格式3:返回變量格式。計算所得的實部Re、虛部Im及角頻率w,返回至MATLAB命令窗口,不作圖。

圖5-11奈奎斯特圖

例如,系統(tǒng)開環(huán)傳遞函數(shù)

作圖程序為

num=[10];

%作多項式模型

den=[1210];

nyquist(num,den);

%繪制極坐標(biāo)圖

如果作圖趨勢不明顯,可以采用下述方法改進(jìn):

(1)使用命令axis()改變坐標(biāo)顯示范圍:

axis([-1,1.5,-2,2])

%改變坐標(biāo)顯示范圍

(2)給定角頻率變量:

w=0:0.1:100;

nyquist(num,den,w);

繪制極坐標(biāo)圖。

三、實驗內(nèi)容

(1)要求:作極坐標(biāo)圖(如展示不清,可改變坐標(biāo)顯示范圍或者設(shè)定角頻率變量(w=w1:△w:w))。

要求:①作極坐標(biāo)圖(可改變坐標(biāo)顯示范圍或者設(shè)定角頻率變量w)。

②比較T1>T2與T1<T2時兩圖的區(qū)別與特點。

(2)

四、實驗報告要求

(1)認(rèn)真做好實驗記錄。

(2)完成上述各題的給定要求。

5.8連續(xù)系統(tǒng)的復(fù)頻域分析

一、實驗?zāi)康?/p>

(1)了解連續(xù)系統(tǒng)的復(fù)頻域分析的基本實現(xiàn)方法。

(2)掌握相關(guān)函數(shù)的調(diào)用格式及作用。

二、實驗原理

復(fù)頻域分析法主要有兩種分析方法,即留數(shù)法和直接的拉普拉斯變換法,利用MATLAB進(jìn)行這兩種分析的基本原理如下:

1.基于留數(shù)函數(shù)的拉普拉斯變換法

設(shè)LTI系統(tǒng)的傳遞函數(shù)為

若H(s)的零極點分別為r1、…、rn和P1、…、Pn,則H(s)可以表示為

利用MATLAB的residue函數(shù)可以求借r1、…、rn,P1、…、Pn,

2.直接的拉普拉斯變換法

經(jīng)典的拉普拉斯變換分析方法,即先從時域變換到復(fù)頻域,在復(fù)頻域處理后,又利用拉普拉斯反(逆)變換從復(fù)頻域變換到時域,完成對時域問題的求解,涉及的函數(shù)有l(wèi)aplace函數(shù)和ilaplace函數(shù)等。

(2)直接的拉普拉斯變換法

經(jīng)典的拉普拉斯變換分析方法,即先從時域變換到復(fù)頻域,在復(fù)頻域處理后,又利用拉普拉斯反(逆)變換從復(fù)頻域變換到時域,完成對時域問題的求解,涉及的函數(shù)有l(wèi)aplace函數(shù)和ilaplace函數(shù)等。

三、涉及的MATLAB函數(shù)

1.residue函數(shù)

功能:按留數(shù)法,求部分分式展開系數(shù)。

調(diào)用格式:[r,p,k]=residue(num,den),其中num、den分別是B(s)、A(s)多項式系數(shù)按降序排列的行向量。

三、涉及的MATLAB函數(shù)

(1)residue函數(shù):

功能:按留數(shù)法,求部分分式展開系數(shù)。

調(diào)用格式:

[r,p,k]=residue(num,den)

其中,num、den分別是B(s)、A(s)多項式系數(shù)按降序排列的行向量。

(2)laplace函數(shù):

功能:用符號推理求解拉普拉斯變換。

調(diào)用格式:

L=laplace(F)F

其中,為函數(shù),默認(rèn)為變量t的函數(shù),返回L為s的函數(shù)。在調(diào)用該函數(shù)時,要用syms命令定義符號變量t。

(3)ilaplace函數(shù):

功能:符號推理求解反拉普拉斯變換

調(diào)用格式:

L=ilaplace(F)

(4)ezplot函數(shù):

功能:用符號型函數(shù)的繪圖函數(shù)

調(diào)用格式:

ezplot(f)

%f為符號型函數(shù)

ezplot(f,[min,max])

%可指定橫軸范圍

ezplot(f,[xmin,xmax,ymin,ymax])

%可指定橫軸范圍和縱軸范圍

ezplot(x,y)繪制參數(shù)方程的圖像,默認(rèn)x=x(t),y=y(t),0<t<2*pi

(5)roots函數(shù):

功能:求多項式的根。

調(diào)用格式:

r=roots(c)

其中,c為多項式的系數(shù)向量(從高次到低次),r為根向量,注意MATLAB默認(rèn)根向量為列向量。

四、實驗內(nèi)容與方法

1.驗證性實驗

(1)系統(tǒng)零極點的求解。

已知

,畫出H(s)的零極點圖。

MATLAB程序如下:

clear;

b=[1,0,-1];

%分子多項式系數(shù)

a=[1,2,3,2];

%分母多項式系數(shù)

zs=roots(b);ps=roots(a);

plot(real(zs),image(zs),′go′,real(ps),image(ps),′mx′,′markersize′,12);

grid;legend(′零點′,′極點′);圖5-12系統(tǒng)的零極點分布

也可直接調(diào)用零極點繪圖函數(shù)畫零極點圖,但注意圓心的圓圈并非系統(tǒng)零點,而是該繪圖函數(shù)自帶的。MATLAB程序如下:

clearall

b=[1,0,-1];

%分子多項式系數(shù)

a=[1,2,3,2];

%分母多項式系數(shù)

zplane(b,a);

legend(′零點′,′極點′);

系統(tǒng)的零極點分布如圖5-13所示。

圖5-13系統(tǒng)的零極點分布

(2)一個線性非時變電路的轉(zhuǎn)移函數(shù)為

若ug=12.5cos(8000t)V,求uo的穩(wěn)態(tài)響應(yīng)。

①穩(wěn)態(tài)濾波法求解。

MATLAB程序如下:

w=8000;

s=j*w;

num=[0,1e4,6e7];

den=[1,875,88e6];

h=polyval(num,s)/polyval(den,s);

mag=abs(H);

phase=angle(H)/pi*180;

t=2:1e-6:2.002;

vg=12.5*cos(w*t);

vo=12.5*mag*cos(w*t+phase*pi/180);

plot(t,vg,t,vo),grid,

text(0.25,0.85,′輸出電壓′,′sc′),

text(0.07,0.35,′輸入電壓′,′sc′),

title(′穩(wěn)態(tài)濾波輸出′),

ylabel(′電壓′),xlabel(′時間(s)′);

系統(tǒng)的穩(wěn)態(tài)響應(yīng)如圖5-14所示。

圖5-14系統(tǒng)的穩(wěn)態(tài)響應(yīng)

②拉普拉斯變換法求解。

MATLAB程序如下:

symsst;

hs=sym(′(10^4*(s+6000))/(s^2+875*s+88*10^6)′);

vs=laplace(12.5*cos(8000*t));vos=hs*vs;

vo=ilaplace(vos);

vo=vpa(vo,4);

%vo表達(dá)式保留四位有效數(shù)字

ezplot(vo,[1,1+5e-3]);holdon;%僅顯示穩(wěn)態(tài)曲線ezplot(′12.5*cos(8000*t)′,[1,1+5e-3]);

axis([1,1+2e-3,-50,50]);

系統(tǒng)的穩(wěn)態(tài)響應(yīng)如圖5-15所示。

圖5-15系統(tǒng)的穩(wěn)態(tài)響應(yīng)

(3)傳遞函數(shù)

展開為部分分式,并求出iL(t)。

MATLAB程序如下:

num=[1e11];den=[1,2.5e6,1e12,0];

[r,p,k]=residue(num,den)運行結(jié)果如下:

r=

0.0333

-0.1333

0.1000

p=

-2000000

-500000

0

k=

0即IL(s)分解為

IL(s)的原函數(shù)為

2.程序設(shè)計實驗

(1)若某系統(tǒng)的傳遞函數(shù)為

試?yán)美绽棺儞Q法確定:①該系統(tǒng)的沖激響應(yīng)。②該系統(tǒng)的階躍響應(yīng)。③該系統(tǒng)對于輸入為ug=cos(20t)u(t)的零狀態(tài)響應(yīng)。④該系統(tǒng)對于輸入為ug=e-tu(t)的零狀態(tài)響應(yīng)。

(2)若某系統(tǒng)的傳遞函數(shù)為

試確定其零極點,并畫出零極點分布圖,再確定其階躍響應(yīng)。

(3)若某系統(tǒng)的微分方程為

求該系統(tǒng)在圖5-16所示輸入信號激勵下的零狀態(tài)響應(yīng)。

圖5-16系統(tǒng)的輸入信號

(4)若某系統(tǒng)的傳遞函數(shù)為

試確定其零極點,并畫出零極點分布圖,再確定其沖激響應(yīng)。

五、實驗要求

(1)在計算機(jī)中輸入程序,驗證實驗結(jié)果,并將實驗結(jié)果存入指定存儲區(qū)域。

(2)對于程序設(shè)計實驗,要求通過對驗證性實驗的練習(xí),自行編制完整的實驗程序,實現(xiàn)對信號的模擬,并得出實驗結(jié)果。

(3)在實驗報告中寫出完整的MATLAB程序,并給出實驗結(jié)果。

5.9離散系統(tǒng)的z域分析

一、實驗?zāi)康?/p>

(1)掌握離散時間信號[WTHT]Z變換和逆Z變換的實現(xiàn)方法及編程思想。

(2)掌握系統(tǒng)頻率響應(yīng)函數(shù)幅頻和相頻特性、系統(tǒng)函數(shù)的零極點圖的繪制方法。

(3)了解函數(shù)ztrans()、iztrans()、zplane()、dimpulse()、dstep()和freqz()的調(diào)用格式及作用。(4)了解利用零極點圖判斷系統(tǒng)穩(wěn)定性的原理。

二、實驗原理

離散系統(tǒng)的分析方法可分為時域解法和變換域解法兩大類。其中離散系統(tǒng)變換域解法只有一種,即Z變換域解法。Z變換域沒有物理性質(zhì),它只是一種數(shù)學(xué)手段,之所以在離散系統(tǒng)的分析中引入Z變換的概念,就是要像在連續(xù)系統(tǒng)分析時引入拉普拉斯變換一樣,簡化分析方法和過程,為系統(tǒng)的分析研究提供一條新的途徑。z域分析法是把復(fù)指數(shù)信號ejΩk擴(kuò)展為復(fù)指數(shù)信號zk,z=rejΩ,并以zk為基本信號,把輸入信號分解為基本信號zk之和,則響應(yīng)為基本信號zk的響應(yīng)之和。這種方法的數(shù)學(xué)描述稱為Z變換及其逆變換。

三、涉及的MATLAB函數(shù)

(1)變換函數(shù)ztrans():

ztrans()可以實現(xiàn)信號f(k)的(單邊)Z變換,調(diào)用格式為

F=ztrans(f):實現(xiàn)函數(shù)f(n)的Z變換,默認(rèn)返回函數(shù)F是關(guān)于z的函數(shù)。

F=ztrans(f,w):實現(xiàn)函數(shù)f(n)的Z變換,返回函數(shù)F是關(guān)于w的函數(shù)。

F=ztrans(f,k,w):實現(xiàn)函數(shù)f(k)的Z變換,返回函數(shù)F是關(guān)于w的函數(shù)。

(2)單邊逆Z變換函數(shù)iztrans():

iztrans()可以實現(xiàn)信號F(z)的逆Z變換,調(diào)用格式為

f=iztrans(F):實現(xiàn)函數(shù)F(z)的逆Z變換,默認(rèn)返回函數(shù)F是關(guān)于n的函數(shù)。

f=iztrans(F,k):實現(xiàn)函數(shù)F(z)的逆Z變換,返回函數(shù)F是關(guān)于k的函數(shù)。

f=iztrans(F,w,k):實現(xiàn)函數(shù)F(w)的逆Z變換,返回函數(shù)F是關(guān)于k的函數(shù)。

(3)離散系統(tǒng)頻率響應(yīng)函數(shù)freqz():

[H,w]=freqz(B,A,N):其中B、A分別是該離散系統(tǒng)函數(shù)的分子、分母多項式的系數(shù)向量,N為正整數(shù),返回向量H則包含了離散系統(tǒng)頻率響應(yīng)H(ejθ)在0~π范圍內(nèi)N個頻率等分點的值,向量θ為0~π范圍內(nèi)的N個頻率等分點。系統(tǒng)默認(rèn)N=512。

[H,w]=freqz(B,A,N,’whole’):計算離散系統(tǒng)在0~2π范圍內(nèi)N個頻率等分點的頻率響應(yīng)H(ejθ)的值。

在調(diào)用完freqz函數(shù)之后,可以利用函數(shù)abs()和angle()以及plot命令,繪制出該系統(tǒng)的幅頻特性和相頻特性曲線。(事實上不帶輸出向量的freqz函數(shù)將自動繪制幅頻和相頻曲線。)

(4)零極點繪圖函數(shù)zplane():

zplane(Z,P):以單位圓為參考圓繪制Z為零點列向量,P為極點列向量的零極點圖,若有重復(fù)點則在重

復(fù)點右上角以數(shù)字標(biāo)出重數(shù)。zplane(B,A)中B,A分別是傳遞函數(shù)H(z)按z-1的升冪排列的分子分母系數(shù)行向量,注意當(dāng)B,A同為標(biāo)量時,B為零點,A為極點。

(5)單位脈沖響應(yīng)繪圖函數(shù)dimpulse():

dimpulse(B,A):繪制傳遞函數(shù)H(z)的單位脈沖響應(yīng)圖,其中B,A分別是傳遞函數(shù)H(z)按z-1的升冪排列的分子分母系數(shù)行向量。dimpulse(B,A,N)功能同上,其中N為指定的單位脈沖響應(yīng)序列的點數(shù)。

(6)單位階躍響應(yīng)繪圖函數(shù)dstep():

dstep(B,A):繪制傳遞函數(shù)H(z)的單位脈沖響應(yīng)圖,其中B,A分別是傳遞函數(shù)H(z)按z-1的升冪排列的分子分母系數(shù)行向量。dstep(B,A,N)功能同上,其中N為指定的單位階躍響應(yīng)序列的點數(shù)。

(7)數(shù)字濾波單位脈沖響應(yīng)函數(shù)impz():

[h,t]=impz(B,A):其中B,A分別是傳遞函數(shù)H(z)按z-1的升冪排列的分子分母系數(shù)行向量。H為單位脈沖響應(yīng)的樣值,t為采樣序列。[h,t]=impz(B,A,N)功能同上,其中N為標(biāo)量時為指定的單位階躍響應(yīng)序列的點數(shù),N為矢量時t=N,為采樣序列。

(8)極點留數(shù)分解函數(shù)residuez():

[r,p,k]=residuez(B,A):其中B,A分別是傳遞函數(shù)H(z)按z-1的升冪排列的分子分母系數(shù)行向量。r為極點對應(yīng)系數(shù),p為極點,k為有限項對應(yīng)系數(shù)。

四、實驗內(nèi)容與方法

1.驗證性實驗

(1)Z變換。確定信號f1(n)=3nε(n),f2(n)=cos(2n)ε(n)的Z變換。

%確定信號的Z變換

symsnz

%聲明符號變量

f1=3^n

f1-z=ztrans(f1)

f2=cos(2*n)

f2-z=ztrans(f2)

運行后在命令窗口顯示:

f1=

3^n

f1-z=

1/3*z/(1/3*z-1)

f2=

cos(2*n)

f2-z=

(z+1-2*cos(1)^2)*z/(1+2*z+z^2-4*z*cos(1)^2)(2)Z反變換。已知離散LTI系統(tǒng)的激勵函數(shù)為f(k)=(-1)kε(k),單位序列響應(yīng),用變換域分析法確定系統(tǒng)的零狀態(tài)響應(yīng)yf(k)。

%由Z反變換求系統(tǒng)零狀態(tài)響應(yīng)

symskz

f=(-1)^k;

f-z=ztrans(f);

h=1/3*(-1)^k+2/3*3^k;

h-z=ztrans(h);

yf-z=f-z*h-z;

yf=iztrans(yf-z)運行后在命令窗口顯示:

yf=1/2*(-1)^n+1/3*(-1)^n*n+1/2*3^n

計算 的反變換。

%由部分分式展開求Z反變換

num=[01];

den=poly([-5,1,1]);

[r,p,k]=residuez(num,den)運行后在命令窗口顯示:

r=

-0.1389

-0.0278-0.0000i

0.1667+0.0000i

p=

-5.0000

1.0000+0.0000i

1.0000-0.0000i

k=

[]

所以反變換結(jié)果為

(3)離散頻率響應(yīng)函數(shù)。一個離散LTI系統(tǒng),差分方程為

試確定:①系統(tǒng)函數(shù)H(z);

②單位序列響應(yīng)h(k)的數(shù)學(xué)表達(dá)式,并畫出波形;

③單位階躍響應(yīng)的波形g(k);

④繪出頻率響應(yīng)函數(shù)H(ejθ)的幅頻和相頻特性曲線。

%(a)求系統(tǒng)函數(shù)H(z)

num=[1,0,-1];

den=[10-0.81];

printsys(fliplr(num),fliplr(den),′1/z′)

%(b)求單位序列響應(yīng)的數(shù)學(xué)表達(dá)式,并畫出波形圖subplot(221);

dimpulse(num,den,40);

ylabel(′脈沖響應(yīng)′);

%(c)求單位階躍響應(yīng)的波形

subplot(222);

dstep(num,den,40);

ylabel(′階躍響應(yīng)′);

%(d)繪出頻率響應(yīng)函數(shù)的幅頻和相頻特性曲線

[h,w]=freqz(num,den,1000,′whole′);

subplot(223);

plot(w/pi,abs(h))

ylabel(′幅頻′);

xlabel(′\omega/\pi′);

subplot(224);

plot(w/pi,angle(h))

ylabel(′相頻′);

xlabel(′\omega/\pi′);

運行后在命令窗口顯示:

num/den=圖5-17系統(tǒng)的響應(yīng)與頻率響應(yīng)函數(shù)

(4)MATLAB繪制離散系統(tǒng)極點圖。采用MATLAB語言編程,繪制離散LTI系統(tǒng)函數(shù)的零極點圖,并從零極點圖判斷系統(tǒng)的穩(wěn)定性。

已知離散系統(tǒng)的H(z),求零極點圖,并求解h(k)和H(ejω)。

b=[121];

a=[1-0.5-0.0050.3];

subplot(3,1,1);

zplane(b,a);

num=[0121];

den=[1-0.5-0.0050.3];

h=impz(num,den);

subplot(3,1,2);

stem(h);

%xlablel(′k′);

%ylablel(′h(k)′);

[H,w]=freqz(num,den);

subplot(3,1,3);

plot(w/pi,abs(H));

%xlablel(′/omega′);

%ylablel(′abs(H)′);

系統(tǒng)的響應(yīng)與零極點分布如圖5-18所示。

圖5-18系統(tǒng)的響應(yīng)與零極點分布

(5)求下列直接型系統(tǒng)函數(shù)的零極點,并將它轉(zhuǎn)換成二階節(jié)形式

num=[1-0.1-0.3-0.3-0.2];den=[10.10.20.20.5];[z,p,k]=tf2zp(num,den);m=abs(p);disp('零點');disp(z);disp('極點');disp(p); disp('增益系數(shù)');disp(k);sos=zp2sos(z,p,k);disp('二階節(jié)');disp(real(sos));zplane(num,den)計算求得零、極點增益系數(shù)和二階節(jié)的系數(shù)分別為:

零點

0.9615-0.5730-0.1443+0.5850i-0.1443-0.5850i

極點

0.5276+0.6997i0.5276-0.6997i-0.5776+0.5635i-0.5776-0.5635i

增益系數(shù)

1

二階節(jié)

0.1892-0.0735-0.10431.00001.15520.6511

5.28461.52471.91851.0000-1.05520.7679圖5﹣19連續(xù)系統(tǒng)狀態(tài)方程的求解

系統(tǒng)函數(shù)的二階節(jié)形式為:

2.程序設(shè)計實驗:

(1)試分別繪制下列系統(tǒng)的零極點圖,并判斷系統(tǒng)的穩(wěn)定性:

(2)試分別確定下列信號的Z變換:

(3)已知某LTI離散系統(tǒng)在輸入激勵時的零狀態(tài)響應(yīng)為

通過程序確定該系統(tǒng)的系統(tǒng)函數(shù)H(z)以及該系統(tǒng)的單位序列響應(yīng)h(k)。

五、實驗要求

(1)在計算機(jī)中輸入程序,驗證實驗結(jié)果,并將實驗結(jié)果存入指定的存儲區(qū)域。

(2)對于程序設(shè)計實驗,要求通過對驗證性實驗的練習(xí),自行編制完整的實驗程序,實現(xiàn)對信號的模擬,并得出實驗結(jié)果。

(3)在實驗報告中寫出完整的自編程序,并給出實驗結(jié)果。

六、思考題

由于ztrans函數(shù)為單邊Z變換,且并未給出收斂域,考慮編寫雙邊Z變換函數(shù),并給出收斂域。(提示:可借助symsum函數(shù)。)

5.10連續(xù)系統(tǒng)狀態(tài)變量分析

一、實驗?zāi)康?/p>

(1)掌握連續(xù)時間系統(tǒng)狀態(tài)方程的求解方法。

(2)直觀了解系統(tǒng)的狀態(tài)解的特征。

(3)了解系統(tǒng)信號流圖的另外一種化簡方法。

(4)了解函數(shù)ode23和函數(shù)ode45的使用。

二、實驗原理

狀態(tài)變量是能描述系統(tǒng)動態(tài)特性的一組最少量的數(shù)據(jù)。狀態(tài)方程是描述系統(tǒng)的另外一種模型,它既可以表示線性系統(tǒng),也可以表示非線性系統(tǒng),對于二階系統(tǒng),則可以用兩個狀態(tài)變量來表示,這兩個狀態(tài)變量所形成的空間稱為狀態(tài)空間。在狀態(tài)空間中狀態(tài)的端點隨時間變化而描出的路徑叫做狀態(tài)軌跡。因此狀態(tài)軌跡點對應(yīng)系統(tǒng)在不同時刻、不同條件下的狀態(tài),知道了某段時間內(nèi)的狀態(tài)軌跡,也就知道系統(tǒng)在該時間段內(nèi)的變化過程。所以二階狀態(tài)軌跡的描述方法是一種在幾何平面上研究系統(tǒng)動態(tài)性能(包括穩(wěn)定性在內(nèi))的方法。用計算機(jī)模擬二階狀態(tài)軌跡的顯示,方法簡單直觀,且能很方便觀察電路參數(shù)變化時,狀態(tài)軌跡的變化規(guī)律。

三、涉及的MATLAB函數(shù)

(1)ode23函數(shù):

采用自適應(yīng)變步長的二階/三階Runge

Kutta

Felbberg法。

調(diào)用格式:

[t,y]=ode23(′SE′,t,x0)

其中,SE為矩陣形式的狀態(tài)方程,用函數(shù)描述;t為計算的時間區(qū)間,x0為狀態(tài)變量的初始條件。

(2)ode45函數(shù)。

采用自適應(yīng)變步長的四階/五階Runge

Kutta

Felbberg法,運算效率高于ode23。

調(diào)用格式與ode23相同。

四、實驗內(nèi)容與方法

1.驗證性實驗(參考程序)

(1)%連續(xù)系統(tǒng)狀態(tài)求解1:

%連續(xù)系統(tǒng)狀態(tài)求解

clear;

A=[23;0-1];

B=[01;10];

C=[11;0-1];

D=[10;10];

x0=[2-1];

dt=0.01;

t=0:dt:2;

f(:,1)=ones(length(t),1);

f(:,2)=exp(-3*t)′;

sys=ss(A,B,C,D);

y=lsim(sys,f,t,x0);

subplot(2,1,1);

plot(t,y(:,1),′b′);

subplot(2,1,2);

plot(t,y(:,2),′b′);圖5-20連續(xù)系統(tǒng)狀態(tài)方程的求解結(jié)果

(2)%連續(xù)系統(tǒng)狀態(tài)求解2:

clear;

x0=[2;1];t0=0;

%起始時間

tf=2;

%結(jié)束時間

[t,x]=ode23(′stateequ′,[t0,tf],x0);

plot(t,x(:,1),′*b′,t,x(:,2),′-b′)

legend(′x(1)′,′x(2)′);

gridon

xlabel(′t′)

連續(xù)系統(tǒng)狀態(tài)方程的求解結(jié)果如圖5-21所示。

圖5-21連續(xù)系統(tǒng)狀態(tài)方程的求解結(jié)果

(3)已知連續(xù)時間系統(tǒng)的信號流圖如圖5-22所示,確定該系統(tǒng)的系統(tǒng)函數(shù)。

圖5-22系統(tǒng)的信號流圖

通用的信號流圖化簡,采用梅森公式求解。但如用MATLAB輔助分析,則不宜直接用梅森公式求解,應(yīng)采用另外規(guī)范的易于編程的方法。

設(shè)信號流圖的每個節(jié)點為x1x2x3x4x5,表示為k維狀態(tài)列向量x=[x1x2…xk]′,輸入列向量表示為l維,即f=[f1f2…fl]′,此流圖為一維輸入列向量f=[f1]。

由信號流圖列方程得寫成矩陣形式

或記作

變換:

symss;

%信號流圖簡化

Q=[0-4-5-60;1/s0000;01/s000;001/s00;020-10];

B=[1;0;0;0;0];I=eye(size(Q));H=(I-Q)\B;H5=H(5);pretty(H5);

即該信號流圖的系統(tǒng)函數(shù)為

(4)描述連續(xù)時間系統(tǒng)的信號流圖如圖5-23所示,確定該系統(tǒng)的系統(tǒng)函數(shù)。

圖5-23系統(tǒng)的信號流圖

程序如下:

symss;

%信號流圖簡化

symsabck

Q(3,2)=a;

Q(2,1)=1;Q(2,3)=-1;Q(2,5)=-1;

Q(4,3)=1;Q(4,1)=1;Q(4,5)=-1;

Q(5,4)=b;

Q(6,3)=1;Q(6,5)=1;Q(6,7)=-1;

Q(7,6)=c;Q(8,7)=k;

Q(:,end+1)=zeros(max(size(Q)),1);

B=[1;0;0;0;0;0;0;0]

I=eye(size(Q))

H=(I-Q)\B;

H8=H(8);

pretty(H8);

H8=k*c*(2*b*a+b+2+a)/(b+2*b*a*c+b*c+2*b*a+13+18*a*c+13*c+18*a)

kc(2ba+b+2+a)

b+2bac+bc+2ba+13+18ac+13c+18a

2.程序設(shè)計實驗

(1)已知連續(xù)系統(tǒng)狀態(tài)方程為

(2)描述連續(xù)時間系統(tǒng)的信號流圖如圖5-24所示,確定該系統(tǒng)的系統(tǒng)函數(shù)。

圖5-24系統(tǒng)的信號流圖(a)系統(tǒng)1;(b)系統(tǒng)2

五、實驗要求

(1)在計算機(jī)中輸入程序,驗證實驗結(jié)果,并將實驗結(jié)果存入指定存儲區(qū)域。

(2)對于程序設(shè)計實驗,要求通過對驗證性實驗的練習(xí),自行編制完整的實驗程序,實現(xiàn)對信號的模擬,并得出實驗結(jié)果。

(3)在實驗報告中寫出完整的自編程序,并給出實驗結(jié)果。

5.11離散系統(tǒng)狀態(tài)方程求解

一、實驗?zāi)康?/p>

(1)了解離散系統(tǒng)狀態(tài)方程的求解方法。

(2)了解離散系統(tǒng)信號流圖化簡的方法。

(3)了解函數(shù)ode45()的調(diào)用方法。

二、實驗原理

離散系統(tǒng)狀態(tài)方程的一般形式為

在此只對單輸入的n階離散系統(tǒng)的狀態(tài)方程求解。一般采用遞推迭代的方式求解,由初始條件x(0)和激勵f(0)求出k=1時的x(1),然后依次迭代求得所要求的x(0),…,x(n)的值。編程時的注意事項:MATLAB中變量下標(biāo)不允許為零,則初始點的下標(biāo)只能取1,第n步的x的下標(biāo)為n+1。三、涉及的MATLAB函數(shù)

采用函數(shù)ode45()可以求解微分方程。其調(diào)用格式如下:[t,y]=ode45(odefun,tspan,y0)

其中:odefun指狀態(tài)方程的表達(dá)式,tspan指狀態(tài)方程對應(yīng)的起止時間[t0,tf],y0指狀態(tài)變量的初始狀態(tài)。

四、實驗內(nèi)容與方法

1.驗證性實驗(參考程序)

采用MATLAB語言編程,求解離散系統(tǒng)狀態(tài)方程,并繪制狀態(tài)變量的波形。

(1)已知離散系統(tǒng)的狀態(tài)方程為

初始條件為

,激勵為f(k)=0.5ε(k),

確定該狀態(tài)方程x(k)前10步的解,并畫出波形。

%離散系統(tǒng)狀態(tài)求解

%A=input(′系數(shù)矩陣A=′)

%B=input(′系數(shù)矩陣B=′)

%x0=input(′初始狀態(tài)矩陣x0=′)

%n=input(′要求計算的步長n=′)

%f=input(′輸入信號f=′)

%要求長度為n的數(shù)組

clearall

A=[0.50;0.250.25];

B=[1;0];x0=[-1;0.5];n=10;

f=[00.5*ones(1,n-1)];

x(:,1)=x0;

fori=1:n

x(:,i+1)=A*x(:,i)+B*f(i);

end

subplot(2,1,1);stem([0:n],x(1,:));

subplot(2,1,2);stem([0:n],x(2,:));

離散系統(tǒng)狀態(tài)方程的求解結(jié)果如圖5-25所示。

圖5-25離散系統(tǒng)狀態(tài)方程的求解

(2)離散系統(tǒng)狀態(tài)求解:

A=[01;-23];B=[0;1];%方程輸入

C=[11;2-1];D=zeros(2,1);

x0=[1;-1] ;%初始條件

N=10;f=ones(1,N);

sys=ss(A,B,C,D,[]);

y=lsim(sys,f,[],x0);

k=0:N-1;

subplot(2,1,1);

stem(k,y(:,1),′b′);

subplot(2,1,2);

stem(k,y(:,2),′b′);圖5-26離散系統(tǒng)狀態(tài)方程的求解

2.程序設(shè)計實驗

(1)離散系統(tǒng)狀態(tài)方程為:

(2)描述離散時間系統(tǒng)的信號流圖如圖5-27所示,確定該系統(tǒng)的系統(tǒng)函數(shù)(離散系統(tǒng)信號流圖的形式與連續(xù)系統(tǒng)相同,只不過是把變量s換為z,在此不再詳述,請參照5.10節(jié))。

圖5-27系統(tǒng)的信號流圖

五、實驗要求

(1)對于程序設(shè)計實驗,要求通過對驗證性實驗的練習(xí),自行編制完整的實驗程序,實現(xiàn)對信號的模擬,并得出實驗結(jié)果。

(2)在計算機(jī)中輸入程序,驗證實驗結(jié)果,并將實驗結(jié)果存入指定存儲區(qū)域。

(3)在實驗報告中寫出完整的自編程序,并給出實驗結(jié)果。

六、思考題

(1)帶寬度的關(guān)系。

(2)粗略畫出信號的頻譜圖。

5.12頻率法超前校正

一、實驗?zāi)康?/p>

(1)學(xué)習(xí)結(jié)構(gòu)圖編程,掌握結(jié)構(gòu)圖M文件的設(shè)計方法。

(2)對于給定的控制系統(tǒng),設(shè)計滿足頻域性能指標(biāo)的超前校正裝置,并通過仿真結(jié)果驗證校正設(shè)計的準(zhǔn)確性。

二、實驗步驟

(1)開機(jī)執(zhí)行程序:

c:\matlab\bin\matlab.exe

(或用鼠標(biāo)器雙擊圖標(biāo))進(jìn)入MATLAB命令窗口:“CommandWindow”。

(2)建立時域仿真的結(jié)構(gòu)圖文件“mysimu.m”:結(jié)構(gòu)圖由受控對象模塊G1(s)、校正模塊G2(s)、求和器(Sum)以及信號單元(StepFun)和顯示器單元(Scope)組成,如圖5-28所示。

圖5-28

Simulink結(jié)構(gòu)圖

建立結(jié)構(gòu)圖文件的步驟如下:

①建立新的結(jié)構(gòu)圖文件。

在MATLAB命令窗口上,選擇“File”菜單項中的“New”選項后選擇子選項“Model”出現(xiàn)一個空白“Simulinkpanal”子窗口,即建立了一個結(jié)構(gòu)圖文件。在該子窗口上,既可以進(jìn)行結(jié)構(gòu)圖文件的各種文件操作,又可以進(jìn)行時域仿真。注意:當(dāng)進(jìn)行結(jié)構(gòu)圖文件的存儲時,也是以M文件來存儲的。

②打開結(jié)構(gòu)圖模塊組。在MATLAB命令窗口上,鍵入Simulink,打開結(jié)構(gòu)圖模塊組。其中有下列模塊單元組:

Sources(輸入信號單元模塊組),Sinks(數(shù)據(jù)輸出單元模塊組),Linear(線性單元模塊組),Discrete(離散單元模塊組)……

用鼠標(biāo)器雙擊任何一個模塊組的圖標(biāo),即可打開該模塊組,從中選擇仿真實驗所需要的仿真單元模塊。

③建立用戶的仿真結(jié)構(gòu)圖。

將所需要的結(jié)構(gòu)圖模塊用鼠標(biāo)器拖曳至新建立的結(jié)構(gòu)圖文件的空白處;拖曳時,用鼠標(biāo)器點擊模塊,然后按住鼠標(biāo)器左鍵,將該模塊拖曳至文件窗口的空白

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論