Khảo sát ứng dụng MATLAB trong điều khiển tự động
NHĨM L NH V C I M MƠ HÌNH Ệ Ề ĐẶ Đ Ể
(Model Properties)
1. L nh COVAR, DCOVARệ
a) Cơng d ngụ : (Purpose)
Tìm đáp ng hi p ph ng sai đ i v i nhi u tr ng (white noise).ứ ệ ươ ố ớ ễ ắ
b) Cú pháp: (Syntax)
[P,Q]= covar(a,b,c,d,w)
P = covar(num,den,w)
[P, Q]= dcovar(a,b,c,d,w)
P = dcovar(num,den,w)
c) Gi i thíchả : (Description)
Covar tính các ngõ ra c đ nh và đáp ng hi p ph ng sai tr ng thái c a m t h th ng đ i v iố ị ứ ệ ươ ạ ủ ộ ệ ố ố ớ
các ngõ vàonhi u tr ng Gaussian v i c ng đ w:ễ ắ ớ ườ ộ
E[w(t)w(τ)’]= wδ(t -τ)
[P,Q]= covar(a,b,c,d,w) tìm đáp ng hi p ph ng sai c a h khơng gian tr ng thái liên t c.ứ ệ ươ ủ ệ ạ ụ
BuAxx
+=
.
y = Cx + Du
đ i v i nhi u tr ng v i c ng đ w t t t c các ngõ vào t i t t c tr ng thái và ngõ ra:ố ớ ễ ắ ớ ườ ộ ừ ấ ả ớ ấ ả ạ
P = E[yy’]
Q = E[xx’]
H th ng ph i n đ nh và ma tr n D ph i là zero.ệ ố ả ổ ị ậ ả
P = covar(num,den,w) tìm đáp ng hi p ph ng sai ngõ ra h SIMO c a hàm truy n đa th cứ ệ ươ ệ ủ ề ứ
G(s)= num(s)/den(s)
trong đó num và den ch a các h s đa th c theo chi u gi m d n s m c a s, wlà c ng đứ ệ ố ứ ề ả ầ ố ũ ủ ườ ộ
nhi u ngõ vào.ễ
tìm đáp ng hi p ph ng sai c a h gián đo n ta dùng l nh dcovar thay cho covar. Để ứ ệ ươ ủ ệ ạ ệ
d) Ví dụ 1: (Exemple)
Tìm đáp ng hi p ph ng sai do nhi u tr ng Gaussian c a h SISO v i c ng đ w=2 cóứ ệ ươ ễ ắ ủ ệ ớ ườ ộ
B] cho h khơng gianệ
tr ng thái ob = obsv(a,c) t o ma tr n có th quan sát Oạ ạ ậ ể
b
cho h khơng gian tr ng thái.ệ ạ
O
b
=
−
1
2
n
CA
CA
CA
co =
1 -4
0 1
unco = 0
ob =
2 3
-5 -14
unob = 0
3. L nh DAMP, DDAMPệ
a) Cơng d ngụ :
Tìm t n s t nhiên (Natural Frequencies) và h s t t d n (Damping Factors).ầ ố ự ệ ố ắ ầ
b) Cú pháp:
[wn,Z]= damp(a)
mag= ddamp(a)
[mag,Wn,Z]= ddamp(a,Ts)
c) Gi i thíchả :
Damp và ddamp tính t n s t nhiên và h s t t d n. N u b các đ i s bên trái trong các l nhầ ố ự ệ ố ắ ầ ế ỏ ố ố ệ
này thì ta nh n đ c m t b ng các giá tr riêng, t l t t d n và t n s t nhiên trên màn hình.ậ ượ ộ ả ị ỉ ệ ắ ầ ầ ố ự
Thực hiện: PHẠM QUỐC TRƯỜNG - 3 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
[wn,Z]= damp(a) t o ra vector c t Wn và Z ch a các t n s t nhiên wn, h s t t d n c aạ ộ ứ ầ ố ự ệ ố ắ ầ ủ
các giá tr riêng liên t c (Continous eigenvalues) đ c tính t a. Bi n a có th là m t trong các d ngị ụ ượ ừ ế ể ộ ạ
sau:
+ N u a là ma tr n vng thì a đ c xem nh là ma tr n khơng gian tr ng thái A.ế ậ ượ ư ậ ạ
+ N u a là vector hàng thì nó đ c xem nh là vector ch a các h s đa th c c a hàm truy n.ế ượ ư ứ ệ ố ứ ủ ề
+ N u a là vector c t thì a ch a các nghi m.ế ộ ứ ệ
Mag = damp(a) t o ra vector c t mag ch a biên đ các giá tr riêng gián đo n đ c tính t a. a ạ ộ ứ ộ ị ạ ượ ừ
có th là m t trong các d ng đ c nói đ n trên. ể ộ ạ ượ ế ở
[mag,Wn,Z]= ddamp(a,Ts) t o ra các vector mag, Wn và Z ch a các biên đ , t n s t nhiênạ ứ ộ ầ ố ự
trong m t ph ng s t ng ng và h s t t d n c a các giá tr riêng c a a. Ts là th i gian l y m u.ặ ẳ ươ ứ ệ ố ắ ầ ủ ị ủ ờ ấ ẫ
8.06.1
5.14.32
)(
2
2
+−
+−
=
sz
zz
zH
num = [2 -3.4 1.5]
den = [1 -1.6 0.8]
ddamp(den,0.1)
Eigenvalue Magnitude Equiv.Damping Equiv.Freq (rad/sec)
0.8000 + 0.4000i 0.8944 0.2340 4.7688
Thực hiện: PHẠM QUỐC TRƯỜNG - 4 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
0.8000 – 0.4000i 0.8944 0.2340 4.7688
4. L nh ệ DCGAIN, DDCGAIN
a) Cơng d ngụ :
Tìm đ l i tr ng thái xác l p c a h th ng.ộ ợ ạ ậ ủ ệ ố
b) Cú pháp:
k = dcgain(a,b,c,d)
k = dcgain(num,den)
k = ddcgain(a,b,c,d)
k = ddcgain(num,den)
c) Gi i thíchả :
dcgain dùng đ tính đ l i tr ng thái xác l p (DC hay t n s th p) c a h th ng. ể ộ ợ ạ ậ ầ ố ấ ủ ệ ố
k = dcgain(a,b,c,d) tính đ l i tr ng thái xác l p c a h khơng gian tr ng thái liên t c:ộ ợ ạ ậ ủ ệ ạ ụ
)(
)(
=z
zden
znum
d) Ví d 1ụ :
Tính đ l i DC c a h th ng có hàm truy n:ộ ợ ủ ệ ố ề
32
152
)(
2
2
++
++
=
ss
ss
sH
num = [ 2 5 1];
den = [1 2 3];
k = dcgain(num,den)
k = 0.3333
Ví d 2: Tính đ l i DC c a h khơng gian tr ng thái MIMO:ụ ộ ợ ủ ệ ạ
u
x
x
x
x
2231.00
5397.01
07814.0
7814.05572.0
2
1
2
.
1
.
Thực hiện: PHẠM QUỐC TRƯỜNG - 5 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
+
1
a = [-0.5572 -0.7814 ; 0.7814 0];
b = [1 0.5379 ; 0 -0.2231];
c = [1.9691 6.4493 ; 1 0];
d = [0 0 ; 0 0];
k = dcgain(a,b,c,d)
k =
8.2466 3.6861
0 0.2855
5. L nh GRAM, DGRAM ệ
a) Cơng d ngụ :
ánh giá kh n ng đi u khi n và kh n ng quan sát.Đ ả ă ề ể ả ă
b) Cú pháp:
Gc = gram(a,b)
Go = gram(a’,c’)
Gc = dgram(a,b)
Go = dgram(a’,c’)
c) Gi i thíchả :
gram tính tốn kh n ng đi u khi n và kh n ng quan sát. S đánh giá này có th đ c dùng đả ă ề ể ả ă ự ể ượ ể
nghiên c u đ c tính đi u khi n và đ c tính quan sát c a các h khơng gian tr ng thái và gi m b cứ ặ ề ể ặ ủ ệ ạ ả ậ
mơ hình.
gram(a,b) t o ra s đánh giá kh n ng đi u khi n Gạ ự ả ă ề ể
c
:
G
c
=
τ
ττ
dBB
d = [0 0 ; 0 0];
Gc = gram(a,b)
Ta nh n đ c ma tr n:ậ ượ ậ
Gc =
Thực hiện: PHẠM QUỐC TRƯỜNG - 6 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
1.2016 -0.0318
-0.0318 1.0708
Tìm h ng ma tr n b ng l nh:ạ ậ ằ ệ
r = rank(Gc)
ta đ c r = 2 và b ng kích th c c a ma tr n đánh giá. V y h th ng này có th đi u khi nượ ằ ướ ủ ậ ậ ệ ố ể ề ể
đ c.ượ
6. L nh DSORT, ESORT ệ
a) Cơng d ngụ :
S p x p các giá tr riêng theo th t ph n th c ho c biên đ s ph c.ắ ế ị ứ ự ầ ự ặ ộ ố ứ
b) Cú pháp:
s = dsort(p)
[s,ndx] = dsort(p)
s = esort(p)
[s,ndx] = esort(p)
c) Gi i thíchả :
s = esort(p) x p các giá tr riêng ph c trong vector p theo th t gi m d n c a ph n th c.ế ị ứ ứ ự ả ầ ủ ầ ự
i v i các giá tr riêng liên t c, các giá tr riêng khơng n đ nh xu t hi n tr c. Đố ớ ị ụ ị ổ ị ấ ệ ướ
s = dsort(p) x p các gí tr riêng ph c trong vector p theo th t gi m d n c a biên đ . iế ị ứ ứ ự ả ầ ủ ộ Đố
v i các giá tr riêng gián đo n, cá giá tr riêng khơng n đ nh xu t hi n tr c.ớ ị ạ ị ổ ị ấ ệ ướ
[s,ndx] = dsort(p) hay [s,ndx] = esort(p) c ng t o ra vector ndx ch a các ch s dùng theoũ ạ ứ ỉ ố
th t .ứ ự
d) Ví dụ:
X p các ph n t c a vector p = [2+3jế ầ ử ủ -3+j 1-9j 3-7j 5+2j 6-j] theo th t gi m d nứ ự ả ầ
c a phân th c và đ l n s ph c.ủ ự ộ ớ ố ứ
c) Gi i thíchả :
E = eig(X) là m t vector ch a các giá tr riêng c a ma tr n vng X.ộ ứ ị ủ ậ
[V,D] = eig(X) t o ra m t ma tr n đ ng chéo D c a các giá tr riêng và ma tr n đ v i các c tạ ộ ậ ườ ủ ị ậ ủ ớ ộ
là các vector riêng t ng ng đ cho X*V = V*D.ươ ứ ể
[V,D] = eig(X,’nobalance’) gi ng nh [V,D] = eig(X) nh ng b qua s cân b ng. Cách nàyố ư ư ỏ ự ằ
đơi khi cho k t qu chính xác h n. ế ả ơ
E = eig(A,B) là vector ch a các giá tr riêng ph bi n c a các ma tr n vng A và B.ứ ị ổ ế ủ ậ
[V,D] = eig(A,B) t o ra ma tr n đ ng chéo D c a các giá tr riêng ph bi n và các ma tr n đạ ậ ườ ủ ị ổ ế ậ ủ
V v i các c t là các vector riêng t ng ng đ cho A*V = B*V*D.ớ ộ ươ ứ ể
d) Ví dụ:
Cho X = [2+3j -3+j 1-9j ; 3-7j 5+2j 6-j ; 0+7j 6-8j 2+5j]. tìm các giá tr riêng c aị ủ
X.
X = [2+3j -3+j 1-9j ; 3-7j 5+2j 6-j ; 0+7j 6-8j 2+5j];
[V,D] = eig(X)
V =
0.4158 + 0.3442j 0.5455 + 0.4929j 0.4344 – 0.2255j
-0.3275 + 0.3580j 0.1837 – 0.2659j 0.5974 + 0.1368j
0.1209 – 0.6772j -0.5243 + 0.2831j 0.4954 + 0.3734j
D =
-9.3743 + 4.7955j 0 0
0 9.2099 + 0.2831j 0
0 0 9.1644 – 2.2542j
8. L nh PRINTSYS ệ
a) Cơng d ngụ :
In ra các tham s c a h th ng tuy n tính ố ủ ệ ố ế
b) Cú pháp:
printsys(a,b,c,d)
printsys(a,b,c,d,ulabels,ylabels,xlabels)
printsys(num,den,‘s’)
printsys(num,den,‘z’)
−
=
0
1
12
11
2
1
2
.
1
.
x1 1.00000
x2 0
c =
x1 x2
y1 2.00000 4.00000
d =
u1
y1 1.00000
% Ch đ nh tên tham s :ỉ ị ố
Thực hiện: PHẠM QUỐC TRƯỜNG - 9 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
inputs = ‘sensor’;
outputs = ‘angle’;
states = ‘alpha beta’;
states = ‘alpha beta’;
% In theo tên đã ch đ nh:ỉ ị
printsys(a,b,c,d,inputs,outputs,states)
a =
alpha beta
alpha 1.00000 1.00000
beta 2.00000 -1.00000
b =
sensor
alpha 1.00000
beta 0
c =
alpha beta
angle 2.00000 4.00000
d =
sensor
−
=
0
1
12
11
2
1
2
.