MATLAB教程第6章線性控制系統(tǒng)分析與設(shè)計_第1頁
MATLAB教程第6章線性控制系統(tǒng)分析與設(shè)計_第2頁
MATLAB教程第6章線性控制系統(tǒng)分析與設(shè)計_第3頁
MATLAB教程第6章線性控制系統(tǒng)分析與設(shè)計_第4頁
MATLAB教程第6章線性控制系統(tǒng)分析與設(shè)計_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

第6章線性控制系統(tǒng)分析與設(shè)計

MATLAB的控制系統(tǒng)工具箱(ConlrolSystemToolbox)可以提供對線性系統(tǒng)分析、設(shè)計

利建模的各種算法。

6.1線性系統(tǒng)的描述

6.1.1狀態(tài)空間描述法

狀態(tài)空間描述法是使用狀態(tài)方程模型來描述控制系統(tǒng),MATLAB中狀態(tài)方程模型的建

立使用ss和dss命令。

語法:

G=ss(a,b,c,d)%由2、b、c、d參數(shù)獲得狀態(tài)方程模型

G=dss(a,b,c,d,e)%由a、b、c>d、e參數(shù)獲得狀態(tài)方程模型

22

【例6.1]寫出二階系統(tǒng)尤季+20“幽+(0ny(t)=conu(t)?當(dāng),=0.707,u)n=l時的

dr-dt

狀態(tài)方程。

zeta=0.707;wn=l;

A=[01;-wnA2-2*zeta*wn];

B=[0;wnA2];

C=[l0];

D=0;

G=ss(A,B,C,D)%建立狀態(tài)方程模型

xlx2

xl01

x2-1-1.414

ul

xl0

x21

xlx2

yl10

d

ul

yl0

Continuous-timemodel.

6.L2傳遞函數(shù)描述法

MATLAB中使用if命令來建立傳遞函數(shù)。

語法:

G=tf(num4en)%由傳遞函數(shù)分子分母得出

說明:num為分子向量,num=[bi,b2,...,bm,bm+i]:den為分母向量,den=[ai,a2…an.

【例6』續(xù)】將二階系統(tǒng)描述為傳遞函數(shù)的形式。

num=l;

den=[l1.4141];

G=tf(num,den)%得出傳遞函數(shù)

Transferfunction:

1

s-2+1.414s+1

6.L3零極點(diǎn)描述法

MATLAB中使用zpk命令可以來實(shí)現(xiàn)由零極點(diǎn)得到傳遞函數(shù)模型。

語法:

G=zpk(z,p,k)%由零點(diǎn)、極點(diǎn)和增益獲得

說明:z為零點(diǎn)列向量:p為極點(diǎn)列向量:k為增益。

【例6.1續(xù)】得出二階系統(tǒng)的零極點(diǎn),并得出傳遞函數(shù)。

z=roots(num)

z=

Emptymatrix:0-by-l

p=roots(den)

P=

-0.7070+0.7072i

-0.7070-0.70721

zpk(z,p,l)

Zero/pole/gain:

(sA2+1.414s+1)

程序分析:roots函數(shù)可以得出多項(xiàng)式的根,零極點(diǎn)形式是以實(shí)數(shù)形式表示的。

部分分式法是將?傳遞函數(shù)表示成部分分式或留數(shù)形式:

G(s)=」一+」一+…+」一+k(s)

S-P)s-p2s-pn

【例6.1續(xù)】將傳遞函數(shù)揚(yáng)換成部分分式法,得出各系數(shù)。

[r,pzk]=residue(num,den)

r=

0-0.7070i

0+0.7070i

P=

-0.7070+0.7072i

-0.7070-0.7072i

k=

(]

6.1.4離散系統(tǒng)的數(shù)學(xué)描述

1.狀態(tài)空間描述法

狀態(tài)空間描述離散系統(tǒng)也可使用SS和dss命令。

語法:

G=ss(a?b,c,d,Ts)%由2、b、C、d參數(shù)獲得狀態(tài)方程模型

G=dss(a,b,c,d,e,Ts)%由2、b、c、d、e參數(shù)獲得狀態(tài)方程模型

說明:Ts為采樣周期,為標(biāo)量,當(dāng)采樣周期未指明可以用-I表示。

【例6.2]用狀態(tài)空間法建立離散系統(tǒng)。

a=[-1.5-0.5;l0];

b=[l;0];

c=[00.5];

d=0;

G=ss(a,b,c,d,0.1)%采樣周期為0.1s

a=

xlx2

xl-1.5-0.5

x210

ul

xl1

x20

xlx2

yl00.5

d=

ul

yl0

Samplingtime:0.1

Discrete-timemodel.

2.脈沖傳遞函數(shù)描述法

脈沖傳遞函數(shù)也可以用If命令實(shí)現(xiàn)。

語法:

G=tf(num,den,Ts)%由分子分母得出脈沖傳遞函數(shù)

說明:Ts為采樣周期,為標(biāo)量,當(dāng)采樣周期未指明可以用-I表示,自變量用表示。

【例6.2續(xù)】創(chuàng)建離散系統(tǒng)脈沖傳遞函數(shù)G(z)=、°'z—=——率___.

Z2-1.5Z+0.5l-1.5z-,+0.5z-2

numl=[0.50];

den=[l-1.50.5];

Gl=tf(numl,den,-1)

Transferfunction:

0.5z

z-2-1.5z+0.5

Samplingtime:unspecified

MATLAB中還可以用filt命令產(chǎn)生脈沖傳遞函數(shù)。

語法:

G=filt(num,den,Ts)%由分子分母得出脈沖傳遞函數(shù)

說明:Ts為采樣周期,當(dāng)采樣周期未指明Ts可以省略,也可以用-1表示,自變量用

2"表示。

【例6.2續(xù)】使用fill命令產(chǎn)生脈沖傳遞函數(shù)。

num2=[00.5];

G2=filt(num2,den)

Transferfunction:

0.5z"l

1-1.5zA-l+0.5zA-2

Samplingtime:unspecified

程序說明:用田1命令生成的脈沖傳遞函數(shù)的自變量不是z而是zL因此分子應(yīng)改為

“[00.5]”。

3.零極點(diǎn)增益描述法

離散系統(tǒng)的零極點(diǎn)增益用zpk命令實(shí)現(xiàn)。

語法:

G=zpk(z,p,k,Ts)%由零極點(diǎn)得出脈沖傳遞函數(shù)

【例6.2續(xù)】使用zpk命令產(chǎn)生零極點(diǎn)增益?zhèn)鬟f函數(shù)。

G3=zpk([0],[0.51]z0.5z-l)

Zero/pole/gain:

0.5z

(z-0.5)(z-1)

Samplingtime:unspecified

6.2線性系統(tǒng)模型之間的轉(zhuǎn)換

621連續(xù)系統(tǒng)模型之間的轉(zhuǎn)換

在MATLAB5.3版及以前的控制系統(tǒng)工具箱中有各種不同膜型轉(zhuǎn)換的函數(shù),如下表6.1

所示為線性系統(tǒng)模型轉(zhuǎn)換的函數(shù)。

表6.1線性系統(tǒng)模型轉(zhuǎn)換函數(shù)表

函數(shù)調(diào)用格式功能

if2ss1a,b,c.d]=lf2ss(num.dcn)傳遞函數(shù)轉(zhuǎn)換為狀態(tài)空間

tf2zp[z,p.k]=tf2zp(num,den)傳遞函數(shù)轉(zhuǎn)換為零極點(diǎn)描述

ss2tf|num,den|=ss2tf(a,b,c,d,iu)狀態(tài)空間轉(zhuǎn)換為傳遞函數(shù)

ss2zp(z.p.k]=ss2zp(a.b.c.d.iu)狀態(tài)空間轉(zhuǎn)換為零極點(diǎn)描述

zp2ss[a,b,c,d]=zp2ss(z,p,k)零極點(diǎn)描述轉(zhuǎn)換為狀態(tài)空間

zp2lf|nuin.dcn|=zp2tli(z,p.k)零極點(diǎn)描述轉(zhuǎn)換為傳遞函數(shù)

1.系統(tǒng)模型的轉(zhuǎn)換

(I)狀態(tài)空間模型的獲得

由命令ss和dss實(shí)現(xiàn)將傳遞函數(shù)和零極點(diǎn)增益轉(zhuǎn)換為狀態(tài)空間模型。

語法:

G=ss(傳遞函數(shù))%由傳遞函數(shù)轉(zhuǎn)換獲得

G=ss(零極點(diǎn)模型)%由零極點(diǎn)模型轉(zhuǎn)換獲得

3s+2

【例6.3]將單輸入雙輸出的系統(tǒng)傳遞函數(shù)=轉(zhuǎn)換為狀態(tài)空間描

3S3+5S2+2S+1

述。

num=[032;

123];

den=[3521];

Gll=tf(num(lz:)zden)

Transferfunction:

3s+2

3s"3+5sA2+2s+1

G12=tf(num(2z:),den)

Transferfunction:

s八2+2s+3

3sA3+5sA2+2s+1

G=ss([Gll;G12])

xlx2x3

X1-1.667-0.3333-0.08333

x2200

x3020

ul

xl1

x20

x30

xlx2x3

yl00.50.1667

y20.33330.33330.25

ul

yl0

y20

Continuous-timemodel.

(2)傳遞函數(shù)的獲得

由if命令實(shí)現(xiàn)符系統(tǒng)的狀態(tài)空間法和零極點(diǎn)增益模型轉(zhuǎn)換為傳遞函數(shù)。

語法:

G=tf(狀態(tài)方程模型)%由狀態(tài)空間轉(zhuǎn)換

G=tf(零極點(diǎn)模型)%由零極點(diǎn)模型轉(zhuǎn)換

【例6.3續(xù)】由狀態(tài)空間描述轉(zhuǎn)換為傳遞函數(shù)。

Gl=tf(G)

Transferfunctionfrominputtooutput...

s+0.6667

#1:-----------------------------------

s"3+1.667sA2+0.6667s+0.3333

0.3333sA2+0.6667s+1

#2:-----------------------------------

s人3+1.667sA2+0.6667s+0.3333

(3)零極點(diǎn)模型的獲得

由7.pk命令實(shí)現(xiàn)將狀態(tài)空間法、傳遞函數(shù)轉(zhuǎn)換為零極點(diǎn)模型。

語法:

G=zpk(狀態(tài)方程模型)%由狀態(tài)方程模型轉(zhuǎn)換

G=zpk(傳遞函數(shù))%由傳遞函數(shù)轉(zhuǎn)換

【例6.3續(xù)】由傳遞函數(shù)和狀態(tài)方程模型轉(zhuǎn)換零極點(diǎn)模型。

G2=zpk(G)%由狀態(tài)方程模型轉(zhuǎn)換

Zero/pole/gainfrominputtooutput...

(s+0.6667)

#1:-----------------------------------

(s+1.356)(sA2+0.3103s+0.2458)

0.33333(sA2+2s+3)

#2:-----------------------------------

(s+1.356)(sA2+0.3103s+0.2458)

G2=zpk(Gl);%由傳遞函數(shù)轉(zhuǎn)換

2.模型參數(shù)的獲取

語法:

[a,b,c,d]=ssdata(G)%獲取狀態(tài)空間參數(shù)

[a,b.c.d.c]=dssdata(G)%獲取狀態(tài)空間參數(shù)

[num,den]=tfdata(G)%獲取傳遞函數(shù)參數(shù)

[z,p,k]=zpkdata(G)%獲取零極點(diǎn)參數(shù)

【例6.3續(xù)】獲取各模型的參數(shù)。

[a,b,c,d]=ssdata(Gl)%獲取狀態(tài)方程參數(shù)

a=

-1.6667-0.3333-0.0833

2.000000

02.00000

b=

1

0

0

c=

00.50000.1667

0.33330.33330.2500

d=

0

0

[num,den]=tfdata(G2)%獲取傳遞函數(shù)參數(shù)

num=

(1x4double]

(1x4double]

den=

[1x4double]

[1x4double]

[z,p,k]=zpkdata(G)%獲取零極點(diǎn)參數(shù)

z=

[-0.6667]

[2x1double]

P=

[3x1double]

[3x1double]

k=

1.0000

0.3333

3.模型類型的檢驗(yàn)

【例6.3續(xù)】檢驗(yàn)?zāi)P偷念愋汀?/p>

class(G)%得出系統(tǒng)模型類型

ans=

ss

isa(Gz'tf')%檢驗(yàn)系統(tǒng)模型類型

ans=

0

6.2.2連續(xù)系統(tǒng)與離散系統(tǒng)之間的轉(zhuǎn)換

表6.2模型類型檢驗(yàn)函數(shù)表

函數(shù)調(diào)用格式功能

classclass(G)得出系統(tǒng)模型的類型

isaisa(GJ類型名,)判斷G是否對應(yīng)的類型名,是則為l(True)

isctisct(G)判斷G是否連續(xù)系統(tǒng),是則為l(True)

isdtisdt(G)判斷G是否離散系統(tǒng),是則為l(True)

issisoissiso(G)判斷G是否SISO系統(tǒng),是貝!為l(Truc)

1.c2d命令

c2d命令用于將連續(xù)系統(tǒng)轉(zhuǎn)換為離散系統(tǒng)。

語法:

Gd=c2d(G,Ts,method)%以采樣周期Ts和method方法轉(zhuǎn)換為離散系統(tǒng)

說明:G為連續(xù)系統(tǒng)模型:Gd為離散系統(tǒng)模型:Ts為采樣周期:method為轉(zhuǎn)換方

法,可省略,包括五種:zoh(默認(rèn)零階保持器)、foh(一階保持器)、tustin(雙線性變換法)、

prewarp(頻率預(yù)修正雙線性變換法)、machcd(根匹配法)。

【例6.4】將二階連續(xù)系統(tǒng)轉(zhuǎn)換為離散系統(tǒng)。

a=[01;-1-1.414];

b=[0;l];

c=[l0];

d=0;

C=33(a,b,c,d);

Gd=c2d(Gz0.1)

a=

xlx2

xl0.99520.0931

x2-0.09310.8636

b=

ul

xl0.004768

x20.0931

c=

xlx2

yl10

d=

ul

yl0

Samplingtime:0.1

Discrete-timemodel.

2.d2c命令

d2c命令是c2d的逆運(yùn)算,用于將離散系統(tǒng)轉(zhuǎn)換為連續(xù)系統(tǒng)。

語法:

G=d2c(Gd,method)%轉(zhuǎn)換為連續(xù)系統(tǒng)

說明:method為轉(zhuǎn)換方法可省略,與c2d相似,少了foh(一階保持器)方法。

【例6.4續(xù)】將二階離散系統(tǒng)轉(zhuǎn)換為連續(xù)系統(tǒng)。

G=d2c(Gd)

a=

xlx2

xl5.551e-0161

x2-1-1.414

b

ul

xl-2.776e-016

x21

xlx2

yl10

ul

yl0

Continuous-timemodel.

3.d2d命令

d2d命令是將離散系統(tǒng)改變采樣頻率。

語法:

Gd2=d2d(Gdl,Ts2)%轉(zhuǎn)換離散系統(tǒng)的采樣頻率為Ts2

說明:其實(shí)際的轉(zhuǎn)換過程是先把Gdl按零階保持器轉(zhuǎn)換為原連續(xù)系統(tǒng),然后再用Ts2

和零階保持器轉(zhuǎn)換為Gd2。

【例6.4續(xù)】將二階離散系統(tǒng)改變采樣頻率。

Gd2=d2d(Gd,0.3)

a=

xlx2

xl0.9610.2408

x2-0.24080.6205

b=

ul

xl0.03897

x20.2408

c=

xlx2

yl10

d=

ul

yl0

Samplingtime:0.3

Discrete-timemodel.

623模型對象的屬性

1.模型對象的屬性

ss、if和zpk三種對象除了具有線性時不變系統(tǒng)共有的屬性以外,還具有其各自的屬

性,共有屬性如表6.3所示,其各自的屬性如表6.4所示。

表6.3對象共有屬性表

屬性名屬性值的數(shù)據(jù)類型意義

Ts標(biāo)量采樣周期,為。表示連續(xù)系統(tǒng),為-1表示采樣周期未定

Td數(shù)組輸入延時,僅對連續(xù)系統(tǒng)有效省略表示無延時

InputName字符串?dāng)?shù)組輸入變量名

OutputNamc字符串?dāng)?shù)組輸出變量名

Notes字符串描述模型的文本說明

Userdata任意數(shù)據(jù)類型用戶需要的其它數(shù)據(jù)

表6.4三種子對象特有屬性表

對象名屬性名屬性值的數(shù)據(jù)類型意義

den行數(shù)組組成的單元陣列傳遞函數(shù)分母系數(shù)

tfnum行數(shù)組組成的單元陣列傳遞函數(shù)分子系數(shù)

variables,p,z.q,z」之一傳遞函數(shù)變量

a矩陣系數(shù)

b矩陣系數(shù)

c矩陣系數(shù)

5s

d矩陣系數(shù)

e矩陣系數(shù)

StateNamc字符串向成用于定義句個狀態(tài)變成的名稱

z矩陣零點(diǎn)

p矩陣極點(diǎn)

zpk

k矩陣增益

variables.p.z.q.z-1之一零極點(diǎn)增益模型變量

在表6.3和表6.4中的三種子對象的屬性,在前面都已使用過,MATLAB提供了get和

set命令來對屬性進(jìn)行獲取和修改。

2.get命令和set命令

(1)gel命令可以獲取模型對象的所有屬性

語法:

get(G)%猶取對象的所有屬性值

get(G,TropertyName\...)%獲取對象的某些屬性值

說明:G為模型對象名;TropertyName,為屬性名。

(2)set命令用于修改對象屬性名

語法:

set(CJ,,I,ropcrtyName,,PropertyValue,...)%修改對象的某些屬性值

【例6.5]已知二階系統(tǒng)的傳遞函數(shù)G(S)=F-!-----------,獲取其傳遞函數(shù)模型的屬

S^+1.4I4S+1

性,并將傳遞函數(shù)修改為一―°

z~+2z+1

num=l;

den=[l1.4141];

G=tf(num,den);

get(G)%獲取所有屬性

num:{[001]}

den:{[11.411])

Variable:'s,

Ts:0

ioDelay:0

InputDelay:0

OutputDelay:0

InputName:{**}

OutputName:(*,}

InputGroup:{0x2cell}

OutputGroup:(0x2cell)

Notes:{}

UserData:[]

1

set(G,'den'z[121],'Variable,'z')也設(shè)置屬性

G

Transferfunction:

1

z-2+2z+1

Samplingtime:unspecified

3.直接獲取和修改屬性

【例6.5續(xù)】將上面的傳遞函數(shù)模型對象的分母修改為原天的值。

G.den=[l1.4141];

G

Transferfunction:

1

zA2+1.414z+1

Samplingtime:unspecified

6.3結(jié)構(gòu)框圖的模型表示

i.串聯(lián)結(jié)構(gòu)

SISO的串聯(lián)結(jié)構(gòu)是兩個模塊串聯(lián)在一起,如圖6.1所示。

y(t)

u⑴

*Gl(s)*G2(s)

圖6.1串聯(lián)結(jié)構(gòu)

實(shí)現(xiàn)串聯(lián)結(jié)構(gòu)傳遞函數(shù)的命令:

G=G1*G2

G=series(Gl,G2)

2.并聯(lián)結(jié)構(gòu)

SISO的并聯(lián)結(jié)構(gòu)是兩個模塊并聯(lián)在一起,

y(t)

如圖6.2所示。

實(shí)現(xiàn)并聯(lián)結(jié)構(gòu)傳遞函數(shù)的命令:

G=G1+G2

G=parallel(Gl,G2)

3.反饋結(jié)構(gòu)

反饋結(jié)構(gòu)是前向通道和反饋通道模塊構(gòu)成正反饋和負(fù)反饋.如圖6.3所示。

圖6.3反饋結(jié)構(gòu)

實(shí)現(xiàn)反饋結(jié)構(gòu)傳遞函數(shù)的命令:

G=fee(lback(Gl,G2,Sign)

說明:Sign用來表示正反饋或負(fù)反饋,Signal或省略則表示為負(fù)反饋。

【例6.6]根據(jù)系統(tǒng)的結(jié)構(gòu)框圖求出整個系統(tǒng)的傳遞函數(shù),結(jié)構(gòu)框圖如圖6.4所示,其

中=G?⑸*'⑸=*'=9

圖6.4結(jié)構(gòu)框圖

Gl=tf(1,[121])

Transferfunction:

1

s-2+2s+1

G2=tf(l,[l1]);

G3=tf(lr[21]);

G4=tf(1,[10]);

G12=G1+G2+并聯(lián)結(jié)構(gòu)

Transferfunction:

s八2+3s+2

sA3+3sA2+3s+1

G34=G3-G4%并聯(lián)結(jié)構(gòu)

TransferfuncLiun:

-S-1

2SA2+s

G=feedback(G12,G34z-1)%反饋結(jié)構(gòu)

Transferfunction:

2sA4+7sA3+7sA2+2s

2sA5+7s7+8sA3+sA2-4s-2

例如,上圖的兩個并聯(lián)結(jié)構(gòu)GI和G2,如果GI用狀態(tài)空間描述,則并聯(lián)運(yùn)算的結(jié)果

也是用狀態(tài)空間法描述:

Gl=ss(tf(1,[121]));學(xué)狀態(tài)空間描述

G2=tf(1,[11]);

G1+G2

xlx2x3

X1-2-0.250

x2400

x300-1

b=

ul

xl0.5

x20

x31

xlx2x3

yl00.51

d=

ul

yl0

Continuous-timemodel.

4.復(fù)雜的結(jié)構(gòu)框圖

求取復(fù)雜結(jié)構(gòu)框圖的數(shù)學(xué)模型的步驟:

(1)將各模塊的通路排序編號;

(2)建立無連接的數(shù)學(xué)模型:使用append命令實(shí)現(xiàn)各模塊未連接的系統(tǒng)矩陣。

G=append(G1,G2,G3,…)

(3)指定連接關(guān)系:寫出各通路的輸入輸出關(guān)系矩陣Q,第一列是模塊通路編號,從第

二列開始的幾列分別為進(jìn)入該模塊的所有通路編號;INPUTS變量存儲輸入信號所加入的

通路編號:OUTPUTS變量存話輸出信號所在通路編號。

(4)使用connect命令構(gòu)造整個系統(tǒng)的模型。

Sys=connect(G.Q.INPUTS,OUTPUTS)

如果各模塊都使用傳遞函數(shù),也可以用blkbuild命令建立無連接的數(shù)學(xué)模型,則第二

步修改如下:

將各通路的信息存放在變量中:通路數(shù)放在nblocks,各通路傳遞函數(shù)的分子和分母分

別放在不同的變量中:用blkbuild命令求取系統(tǒng)的狀態(tài)方程模型。

【例6.7】根據(jù)圖6.5所示系統(tǒng)結(jié)構(gòu)框圖,求出系統(tǒng)總的傳遞函數(shù)。

1/(s+1)

圖6.5結(jié)構(gòu)框圖

方法一:使用append命令

(I)將各模塊的通路排序編號,如圖6.6所示。

圖6.6信號流圖

(2)使用append命令實(shí)現(xiàn)各模塊未連接的系統(tǒng)矩陣

Gl=tf(1,[10]);

G2=tf(1,[110]);

G3=tf(1,[110]);

G4=tf(-2,1);

G5=tf(-1,1);

G6=tf(lz[10]);

G7=tf(-1,[11]);

Sys=append(G1,G2,G3,G4,G5,G6,G7)

Transferfunctionfrominput1tooutput...

1

#1:-

#2:0

#3:0

#4:0

#5:0

#6:0

#7:0

Transferfunctionfrominput2tooutput...

#1:0

1

#2:------

sA2+s

13:0

#4:0

#5:0

#6:0

#7:0

Transferfunctionfrominput3tooutput...

#1:0

#2:0

1

#3:-----

sA2+s

#4:0

#5:0

#6:0

17:0

Transferfunctionfrominput4tooutput...

#1:0

#2:0

#3:0

#4:-2

#5:0

#6:0

#7:0

Transferfunctionfrominput5tooutput...

#1:0

#2:0

#3:0

#4:0

15:-1

#6:0

#7:0

Transferfunctionfrominput6tooutput...

#1:0

#2:0

#3:0

#4:0

#5:0

1

#6:-

s

#7:0

Transferfunctionfrominput7tooutput...

#1:0

#2:0

#3:0

#4:0

#5:0

#6:0

-1

#7:----

s+1

程序分析:將每個模塊用叩pend命令放在一個系統(tǒng)矩陣中,可以看到Sys模塊存放了

七個模塊的傳遞函數(shù),為了節(jié)省篇幅在此未列出完整的Sys模塊。

(3)指定連接關(guān)系

Q=[l65;%通路1的輸入信號為通路6和通路5

217;,通路2的輸入信號為通路1和通路7

320;金通路3的輸入信號為通路2

430;

540;

620;

730;]

INPUTS=1;%系統(tǒng)總輸入由通路1輸入

OUTPUTS=4;%系統(tǒng)總輸出由通路4輸出

Q=

165

217

320

430

540

620

730

程序分析:Q矩陣建立了各通路之間的關(guān)系,共有7行;每行的第一列為通路號,從

第二列開始為各通路輸入信號的通路號:INPUTS變量存放系統(tǒng)輸入信號的通路號:

OUTPUTS變量存放系統(tǒng)輸出恃號的通路號。

(4)使用connect命令構(gòu)造整個系統(tǒng)的模型

G=connect(Sys,QZINPUTS,OUTPUTS)

Transferfunction:

-2sA2-2s

s八7+3sF+3sA5+sA4-sA3-3sA2-3s-6.661e-016

程序分析:用connect命令完成整個系統(tǒng)的傳遞函數(shù)模型。

方法二:從第二步開始使用blkbuikl命令來實(shí)現(xiàn)

(2)符各通路的信息存放在變量中

nblocks=7;*通路數(shù)為7

nl=l;dl=[l0];%通路1的分子和分母

n2=l;d2=[l10];

n3=l;d3=[l10];

n4=-2;d4=l;

n5=-l;d5=l;

n6=l;d6=[10];

n7=-l;d7=[l1];

程序分析:通路數(shù)nblocks為7;各通路傳遞函數(shù)的分子存放在變量ni,分母存放在變

量dio

用blkbuikl命令求取系統(tǒng)的狀態(tài)方程模型:

blkbuild

Statemodel[a,b,c,d]oftheblockdiagramhas7inputsand7

outputs.

程序分析:增廣狀態(tài)方程模型即7條通路的輸入輸出信號狀態(tài)模型建立了,存放在

a、b>c、d變量中。

(3)建立連接矩陣Q指定連接關(guān)系,Q矩陣同前面

(4)使用connect命令構(gòu)造整個系統(tǒng)的模型

[A,BZC,D]=connect(azbzczd,Q,INPUTS,OUTPUTS)

A=

0000210

1-10000-1

0100000

001-1000

0001000

0010000

000010-1

B=

1

0

0

0

0

0

0

C=

0000-200

D=

0

6.4線性系統(tǒng)的時域分析

6.4.1零輸入響應(yīng)分析

MATLAB中仞用initial命令來il?算和顯示連續(xù)系統(tǒng)的零愉入響應(yīng).

語法:

initiaKGxO,Ts)%繪制系統(tǒng)的零輸入響應(yīng)曲線

initial(Gl,G2,…,xO,Ts)%繪制系統(tǒng)多個系統(tǒng)的零輸入響應(yīng)曲線

[y,t,xJ=initial(G,x(),Ts)%得出零輸入響應(yīng)、時間和狀態(tài)變量響應(yīng)

說明:G為系統(tǒng)模型,必須是狀態(tài)空間模型;xO是初始條件:Ts為時間點(diǎn),如果是標(biāo)

量則為終止時間,如果是數(shù)組,則為計算的時刻,可省略;y為輸出響應(yīng):t為時間向量,

可省略;x為狀態(tài)變量響應(yīng),可省略。

【例6.8]某反饋系統(tǒng),前向通道的傳遞函數(shù)為

Gl=—,反饋通道傳遞函數(shù)為H=—匚,求出其初始

s+4s+3

條件為[12]時的零輸入響應(yīng),如圖6.7所示。

Gl=tf(12,[14]);

H=tf(1,[13]);

GG=feedback(GlzH)

圖6.7騫輸入響應(yīng)曲線

Transferfunction:

12s+36

s-2+7s+24

G=ss(GG);

initial(G,[12])%繪制零輸入響應(yīng)

2.離散系統(tǒng)的脈沖響應(yīng)

離散系統(tǒng)的零輸入響應(yīng)使用dinitial命令實(shí)現(xiàn)。

語法:

dinitial(a,b,c,d,xO)%繪制離散系統(tǒng)零輸入響應(yīng)

y=dinitial(a,b,c,d,xO)%得出離散系統(tǒng)的零輸入響應(yīng)

[y,x,nj=dinitial(a,b,c,d^iO)%得出離散系統(tǒng)n點(diǎn)的零輸入響應(yīng)

說明:a、b、c、d為狀態(tài)空間的系數(shù)矩陣;xO為初始條件:y為輸出響應(yīng);[為時間向

量:x為狀態(tài)變量響應(yīng):n為點(diǎn)數(shù)。

6.4.2脈沖響應(yīng)分析

1.連續(xù)系統(tǒng)的脈沖響應(yīng)

連續(xù)系統(tǒng)的脈沖響應(yīng)由impluse命令來得出。

語法:

impulse(G,Ts)%繪制系統(tǒng)的脈沖響應(yīng)曲線

[y,t,x]=impulse(G,Ts)%得出脈沖響應(yīng)

說明:G為系統(tǒng)模型,可以是傳遞函數(shù)、狀態(tài)方程、零極點(diǎn)增益的形式;y為時間響

應(yīng):I為時間向量;x為狀態(tài)變量響應(yīng),I和x可省略:Ts為時間點(diǎn)可省略。

【例6.8續(xù)】求出初始條件為零,該系統(tǒng)的單位脈沖響應(yīng)并畫曲線,如圖6.8所示。

impulse(G)%繪制脈沖響應(yīng)曲線

t=0:0.1:10;

y=impulse(G,t)%根據(jù)時間t得出脈沖響應(yīng)

圖6.8脈沖響應(yīng)曲線

2.離散系統(tǒng)的脈沖響應(yīng)

離散系統(tǒng)的脈沖響應(yīng)使用dimpulse命令實(shí)現(xiàn)。

語法:

dimpluse(a,b,c,d,iu)%繪制離散系統(tǒng)脈沖響應(yīng)曲線

[y,x]=dimpluse(a,b,c,d,iu,n)%得出n點(diǎn)離散系統(tǒng)的脈沖響應(yīng)

[y;x]=dimpluse(nuni,dcn,iu,n)%由傳遞函數(shù)得出n點(diǎn)離散系統(tǒng)的脈沖響應(yīng)

說明:iu為第幾個輸入信號:n為要計算脈沖響應(yīng)的點(diǎn)數(shù);y的列數(shù)與n對應(yīng);x為狀

態(tài)變量,可省略。

【例6.9】根據(jù)系統(tǒng)數(shù)學(xué)模型,得出離散系統(tǒng)的脈沖響應(yīng),如圖6.9所示。

圖6.9離散系統(tǒng)脈沖響應(yīng)曲線

a=[-20;0-3];

b=[l;l];

c=[l-4];

d=l;

dimpulse(a,b,czdzlz10)電繪制離散系統(tǒng)脈沖響應(yīng)的10個點(diǎn)

6.4.3階躍響應(yīng)分析

1.連續(xù)階躍響應(yīng)

階躍響應(yīng)可以用step命令來實(shí)現(xiàn)。

語法:

step(GTs)%繪制系統(tǒng)的階躍響應(yīng)曲線

[y,t^]=step(G,Ts)%得出階躍響應(yīng)

說明:參數(shù)設(shè)置與impulse命令相同。

【例6.10]根據(jù)[例6.6]的系統(tǒng)模型得出

階躍響應(yīng)曲線,如圖6.10所示。

Gl=tf(12,[14]);

H=tf(1,[13]);

G=feedback(G1,H)

Transferfunction:

12s+36

sA2+7s+24

step(G)%繪制階躍響應(yīng)曲線圖6.1。階躍響應(yīng)曲線

可以由si叩命令根據(jù)時間t的步長不同,得出不同的階躍響應(yīng)波形,如圖6.11所示。

tl=0:0.1:5;

yl=step(G,tl);

plot(tlzyl)

t2=0:0.5:5;

y2=step(G,t2);

plot(t2zy2)

圖6.11(a)階躍曲應(yīng)曲線(b)步長增大的階躍響應(yīng)曲線

2.離散系統(tǒng)的階躍響應(yīng)

離散系統(tǒng)階躍響應(yīng)使用叩命令來實(shí)現(xiàn),語法規(guī)則與dimpluse相同。

644任意輸入的響應(yīng)

1.連續(xù)系統(tǒng)的任意輸入響應(yīng)

連續(xù)系統(tǒng)對任意輸入的響應(yīng)用Isim命令來實(shí)現(xiàn)。

語法:

lsim(G>U,Ts)%繪制系統(tǒng)的任意響應(yīng)曲線

lsim(Gl,G2,...U,Ts)%繪制多個系統(tǒng)任意響應(yīng)曲線

[y,t,xl=lsim(G,U,Ts)%得出任意響應(yīng)

說明:U為輸入序列,每一列對應(yīng)一個輸入:Ts為時間點(diǎn),U的行數(shù)和Ts相對應(yīng);參

數(shù)t和x可省略。

【例6.11]根據(jù)輸入信號和系統(tǒng)的數(shù)學(xué)模型,得出任意輸入的輸出響應(yīng),輸入信號為

正弦信號,系統(tǒng)為阻尼系數(shù)變化的二階系統(tǒng),輸出響應(yīng)如圖6.12所示。

圖6.12正弦輸入信號響應(yīng)

t=0:0,1:5;

u=sin(t);

Gl=tf(1,[11.411])

Transferfunction:

1

s"2+1.41s+1

G2=tf(1,[10.61])

Transferfunction:

1

s^2+0.6s+1

lsim(Gl,'r',G2Z'bo'zu,t)會繪制兩個系統(tǒng)的正弦輸出響應(yīng)

2.離散系統(tǒng)的任意輸入響應(yīng)

離散系統(tǒng)的任意輸入響應(yīng)用dlsim命令來實(shí)現(xiàn)。

語法:

dlsim(a,b,c,d,U)%繪制離散系統(tǒng)的任意響應(yīng)曲線

(y,x]=dlsim(nuni,den,U)%得出離散系統(tǒng)任意響應(yīng)和狀態(tài)變量響應(yīng)

[y,x]=dlsim(a,b,c,d,U)%得出離散系統(tǒng)響應(yīng)和狀態(tài)變量響應(yīng)

說明:U為任意序列輸入信號。

【例6.12]根據(jù)離散系統(tǒng)的Z變換表達(dá)式G(z)=2+,得出正弦序列輸入響

l+2z-1+3z-2

應(yīng),輸出響應(yīng)如圖6.13所示。

num=[251];

den=[l23];

t=0:0.1:5;

u=sin(t);

y=dlsim(num,den,u);

圖6.13正弦輸入信號響應(yīng)

645系統(tǒng)的結(jié)構(gòu)參數(shù)

1.極點(diǎn)和零點(diǎn)

(1)pole命令計算極點(diǎn)

語法:

p=pole(G)

說明:當(dāng)系統(tǒng)有重極點(diǎn)時,計算結(jié)果不?定準(zhǔn)確。

(2)tzcro命令計算零點(diǎn)和增益

語法:

z=tzero(G)%得出連續(xù)和離散系統(tǒng)的零點(diǎn)

[z,gainl=tzero(G)%獲得零點(diǎn)和零極點(diǎn)增益

說明:對于單輸入單輸出系統(tǒng),tzero命令也用來計算零極點(diǎn)增益。

5S+100

【例6.13]獲得G(s)=系統(tǒng)的零極點(diǎn)。

S4+8S3+32S2+80S+100

num=[5100];

den=[l83280100];

G=tf(num,den);

p=pole(G)

-1.0000+3.0000i

-1.0000-3.0000i

-3.0000+l.OOOOi

-3.0000-l.OOOOi

[z,gain]=tzero(G)%得出零點(diǎn)和零極點(diǎn)增益

z=

-20

gain=

5

2.閉環(huán)系統(tǒng)的阻尼系數(shù)和固有頻率

damp命令用來計算閉環(huán)系統(tǒng)所有共筑極點(diǎn)的阻尼系數(shù)C和固有頻率sn。

語法:

[wn,zeta]=danip(G)

3.時域響應(yīng)的穩(wěn)態(tài)增益

穩(wěn)態(tài)增益可使用degain命令來得出。

語法:

k=dcgain(G)%獲得穩(wěn)態(tài)增益

【例6.13續(xù)】計算所有閉環(huán)極點(diǎn)的U和3%

[wn,zeta]=damp(G)

wn=

3.1623

3.1623

3.1623

3.1623

zeta=

0.9487

0.9487

0.3162

0.3162

degain(G)%得出線性系統(tǒng)的穩(wěn)態(tài)增益

ans=

1

6.5線性系統(tǒng)的頻域分析

6.5.1頻域特性

頻域特性由下式求出:

Gw=p<)lyva)(numj*w)ypo!yvaI(denJ*w)

mag=abs(Gw)%幅頻特性

pha=angle(Gw)%相頻特性

說明:j為虛部變量。

【例6.14】由二階系統(tǒng)傳遞函數(shù)G(S)=F-!-------------得出頻域特性。

S2+1.4I4S+1

num=l;

den=[l1.4141];

w=l;

Gw=polyval(num,j*w)./polyval(denzj*w)%得出系統(tǒng)頻率特性

Gw=

0-0.70721

Aw=abs(Gw)*得出幅頻特性

Aw=

0.7072

Fw=angle(Gw)%得出相頻特性

Fv;=

-1.5708

652連續(xù)系統(tǒng)頻域特性

1.bode圖

bode圖是對數(shù)幅頻和對數(shù)相頻特性曲線。

語法:

bode(G,w)%繪制bode圖

[mag,pha]=bode(G,w)%得出w對應(yīng)的幅值和相角

[mag,pha,w]=bode(G)%得出幅值、相角和頻率

說明:G為系統(tǒng)模型,w為頻率向量,mag為系統(tǒng)的幅值,pha為系統(tǒng)的相珀。

【例6.15]根據(jù)系統(tǒng)傳遞函數(shù)G(s)=——!---------繪制bxle圖如圖6.14(a)所示。

s(s+l)(s+2)

num=l;

den=conv([11],[1z2])

den=

132

G=tf(num,[den0])

Transferfunction:

1

s-3+3sA2+2s

bode(G)%繪制bode圖

【例6.15續(xù)】使用semilogx命令繪制對數(shù)幅頻和相頻特性,如圖614(b)所示。

圖6.14(a)Bode圖(b)用semilogx命令繪制對數(shù)幅頻和相頻特性

w=logspace(-1,2);

[m,p]=bode(num,den,w);

subplot(2,1,1)

semilogx(w,20*logl0(m))

subplot(2,1,2)

semilogx(w,p)

2.nyquist曲線

nyquist曲線是幅相頻率特性曲線,使用nyquist命令繪制和計算。

語法?

nyquist(G,w)%繪制nyquisl曲線

nyquist(Gl,G2,...w)%繪制多條nyquist曲線

[Re,Im]=nyquist(G,w)%由w得出對應(yīng)的實(shí)部和虛部

[Rejm,wl=nyquist(G)%得出實(shí)

部、虛部和頻率

說明:G為系統(tǒng)模型;w為頻率向量,

也可以用(wmin,wmax}表示頻率的范圍:Re

為頻率特性的實(shí)部,【m為頻率特性的虛

部。

[例6.16]根據(jù)傳遞函數(shù)

GI(s)=---------------——-——和

溫馨提示

  • 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

提交評論