Khảo sát ứng dụng MATLAB trong điều khiển tự động
NHĨM L NH V CHUY N I MƠ HÌNHỆ Ề Ể ĐỔ
(Model Conversion)
1. L nh C2D, C2DTệ
a) Cơng d ngụ :
Chuy n đ i mơ hình t liên t c sang gián đo n.ể ổ ừ ụ ạ
b) Cú pháp:
[ad,bd] = c2d(a,b,Ts)
c) Gi i thíchả :
c2d và c2dt chuy n mơ hình khơng gian tr ng thái t liên t c sang gián đo n th a nh n khâuể ạ ừ ụ ạ ừ ậ
gi b c 0 ng vào. c2dt c ng có kho ng th i gian tr ngõ vào.ữ ậ ở ỏ ũ ả ờ ễ ở
[ad, bd] = c2d(a,b,Ts) chuy n h khơng tr ng thái liên t c x = Ax + Bu thành h gián đo n:ể ệ ạ ụ ệ ạ
x[n+1] = A
d
x[n] + B
d
u[n] th a nh n ngõ vào đi u khi n là b t bi n t ng đo n bên ngồi th i gianừ ậ ề ể ấ ế ừ ạ ờ
l y m u Ts.ấ ẫ
[ad,bd,cd,dd] = c2dt(a,b,c,Ts,lambda) chuy n h khơng gian tr ng thái liên t c v i th iể ệ ạ ụ ớ ờ
gian tr thu n túy ễ ầ λ ngõ vào:ở
.
x
(t) = Ax(t) + Bu(t - λ)
y(t) = Cx(t)
thành h gián đo n:ệ ạ
x[n+1] = A
d
x[n] + B
d
u[n]
y[n] = C
d
x[n] + D
d
u[n]
Ts là th i gian l y m u và lambda là th i gian tr ngõ vào. ờ ấ ẫ ờ ễ ở λ ph i n m trong kho ng –ả ằ ả
Ts < λ < ∞.
d) Ví d : (Trích t trang 11-24 sách ‘ụ ừ Control System Toolbox’)
Cho h th ng: H(s) = (s –1)/(sệ ố
2
+ 4s +5)
V i Tớ
d
=0,35, th i gian l y m u Ts=0,1ờ ấ ẫ
» num=[1 -1];
» den=[1 4 5];
» H=tf(num,den,'inputdelay',0.35)
K t qu : ế ả
Thực hiện: PHẠM QUỐC TRƯỜNG - 1 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Transfer function:
s - 1
exp(-0.35*s) *
s^2 + 4 s + 5
» Hd=c2d(H,0.1,'foh')
Transfer function:
0.0115 z^3 + 0.0456 z^2 - 0.0562 z - 0.009104
z^(-3) *
z^3 - 1.629 z^2 + 0.6703 z
Sampling time: 0.1
2. L nh C2DMệ
a) Cơng d ng:ụ
Chuy n đ i h liên t c sang gián đo n.ể ổ ệ ụ ạ
b) Cú pháp:
[ad,bd,cd,dd] = c2dm(a,b,c,d,Ts,’method’)
[numd,dend] = c2dm(num,den,Ts,’method’).
c) Gi i thíchả :
[ad,bd,cd,dd] = c2dm(a,b,c,d,Ts,’method’) chuy n đ i t h khơng gian tr ng thái liên t c ể ổ ừ ệ ạ ụ
(a,b,c,d) sang gián đo n s d ng ph ng pháp khai báo trong ‘method’. ‘method’ có th là:ạ ử ụ ươ ể
+ ‘zoh’: chuy n sang h gián đo n th a nh n m t khâu gi b c 0 ngõ vào, các ngõ vào đi uể ệ ạ ừ ậ ộ ữ ậ ở ề
khi n đ c xem nh b t bi n t ng đo n trong kho ng th i gian l y m u Ts.ể ượ ư ấ ế ừ ạ ả ờ ấ ẫ
+ ‘foh’: chuy n sang h gián đo n th a nh n m t khâu gi b c 1 ngõ vào.ể ệ ạ ừ ậ ộ ữ ậ ở
+ ‘tustin’: chuy n sang h gián đo n s d ng pháp g n đúng song tuy n tính (Tusin) đ iể ệ ạ ử ụ ầ ế ố
v i đ o hàm.ớ ạ
+ ‘prewarp’: chuy n sang h gián đo n s d ng pháp g n đúng song tuy n tính (Tusin)ể ệ ạ ử ụ ầ ế
v i t n s l ch tr c. N u thêm vào tham s Wc thì l nh s ch ra t n s t i h n.ớ ầ ố ệ ướ ế ố ệ ẽ ỉ ầ ố ớ ạ
Ví d nh c2dm(a,b,c,d,Ts,prewarp,Wc).ụ ư
+ ‘matched’: chuy n h SISO sang gián đo n s d ng ph ng pháp c c zero hàm truy nể ệ ạ ử ụ ươ ự ề
phù h p.ợ
[numd, dend] = c2dm(num,den,Ts,’method’) chuy n t hàm truy n đa th c liên t c G(s) =ể ừ ề ứ ụ
num(s)/den(s) sang gián đo n G(z) = num(z)/den(z) s d ng ph ng pháp đ c khai báo trongạ ử ụ ươ ượ
’method’.
N u b qua các đ i s bên trái thì:ế ỏ ố ố
c2dm(a,b,c,d,Ts,’method’)
c2dm(num,den,Ts,’method’)
Thực hiện: PHẠM QUỐC TRƯỜNG - 2 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
s v ra 2 đ th c a 2 đáp ng v i đ ng li n nét là đáp ng liên t c còn đ ng đ t đo n là đápẽ ẽ ồ ị ủ ứ ớ ườ ề ứ ụ ườ ứ ạ
ng gián đo n.ứ ạ
d) Ví du:
Chuy n h khơng gian tr ng thái liên t c:ể ệ ạ ụ
thành h gián đo n dùng ph ng pháp ‘Tustin’, v 2 đ th đáp ng so sánh.ệ ạ ươ ẽ ồ ị ứ
a = [1 1; 2 -1];
b = [1; 0];
c = [2 4];
d = 1;
Ts = 1;
[ad,bd,cd,dd] = c2dm(a,b,c,d,Ts,’tustin’)
c2dm(a,b,c,d,Ts,’ tustin’) %v đ th so sánhẽ ồ ị
title (‘Do thi so sanh 2 dap ung lien tuc va gian doan’)
grid on
ta đ c đ th và các giá tr nh sau:ượ ồ ị ị ư
ad =
11 4
8 3
bd =
6
4
cd =
28 12
dd =
15
Thực hiện: PHẠM QUỐC TRƯỜNG - 3 - GVHD: PHẠM QUANG HUY
[ ] [ ]
u142y
u
0
1
12
11
2
1
2
1
2
1
+
=
+
−
=
x
x
x
x
x
x
Khảo sát ứng dụng MATLAB trong điều khiển tự động
3. L nh D2Cệ
a) Cơng d ngụ :
Chuy n đ i mơ hình t gián đo n sang liên t c.ể ổ ừ ạ ụ
b) Cú pháp:
[ad,bd] = c2d(a,b,Ts).
c) Gi i thíchả :
d2c chuy n mơ hình khơng gian tr ng thái t gián đo n sang liên t c th a nh n khâu gi b cể ạ ừ ạ ụ ừ ậ ữ ậ
0 ngõ vào. C2DT c ng có m t kho ng th i gian tr ngõ vào.ở ũ ộ ả ờ ễ ở
[ad,bd] = c2d (a,b,Ts) chuy n h khơng gian tr ng thái gián đo n:ể ệ ạ ạ
x[n+1] = Ax[n] + Bu[n]
thành h liên t cệ ụ
uBxAx
cc
+=
.
xem các ngõ vào đi u khi n là b t bi n t ng đo n trong kho ng th i gian l y m u Ts.ề ể ấ ế ừ ạ ả ờ ấ ẩ
4. L nh D2CMệ
a) Cơng d ngụ :
Chuy n đ i mơ hình khơng gian tr ng thái t gián đo n sang liên t c.ể ổ ạ ừ ạ ụ
b) Cú pháp:
[ac,bc,cc,dc] = d2cm(a,b,c,d,Ts,’method’)
[numc,denc] = d2cm(num,den,Ts,’method’).
c) Gi i thíchả :
Thực hiện: PHẠM QUỐC TRƯỜNG - 4 - GVHD: PHẠM QUANG HUY
uBxAx
cc
+=
áp ng gián đo nĐ ứ ạ
áp ng liên t cĐ ứ ụ
Khảo sát ứng dụng MATLAB trong điều khiển tự động
[ac,bc,cc,dc] = d2cm(a,b,c,d,Ts,’method’) chuy n đ i h khơng gian tr ng thái t gián đo nể ổ ệ ạ ừ ạ
sang liên t c s d ng ph ng pháp đ c khai báo trong ‘method’. ‘method’ có th là:ụ ử ụ ươ ượ ể
+ ‘zoh’: chuy n sang h liên t c th a nh n m t khâu gi b c 0 ngõ vào, các ngõ vào đi uể ệ ụ ừ ậ ộ ữ ậ ở ề
khi n đ c xem nh b t bi n t ng đo n trong kho ng th i gian l y m u Ts.ể ượ ư ấ ế ừ ạ ả ờ ấ ẫ
+ ‘tustin’: chuy n sang h liên t c s d ng ph ng pháp g n đúng song tuy n tính (Tusin)ể ệ ụ ử ụ ươ ầ ế
đ i v i đ o hàm.ố ớ ạ
+ ‘prewarp’: chuy n sang h liên t c s d ng pháp g n đúng song tuy n tính (Tusin) v iể ệ ụ ử ụ ầ ế ớ
t n s l ch tr c. N u thêm vào tham s Wc thì l nh s ch ra t n s t i h n.ầ ố ệ ướ ế ố ệ ẽ ỉ ầ ố ớ ạ
Ví d nh d2cm (a,b,c,d,Ts,prewarp,Wc).ụ ư
+ ‘matched’: chuy n h SISO sang liên t c s d ng ph ng pháp c c zero hàm truy n phùể ệ ụ ử ụ ươ ự ề
h p.ợ
[numc,denc] = d2cm(num,den,Ts,’method’) chuy n t hàm truy n đa th c gián đo n G(z)ể ừ ề ứ ạ
= num(z)/den(z) sang liên t c G(s) = num(s)/den(s) s d ng ph ng pháp đ c khai báoụ ử ụ ươ ượ
trong ’method’.
N u b qua các đ i s bên trái thì:ế ỏ ố ố
d2cm(a,b,c,d,Ts,’method’)
d2cm(num,den,Ts,’method’)
s v ra 2 đ th c a 2 đáp ng v i đ ng li n nét là đáp ng gián đo n còn đ ng đ t đo n là đápẽ ẽ ồ ị ủ ứ ớ ườ ề ứ ạ ườ ứ ạ
ng liên t c.ứ ụ
d) Ví dụ:
Chuy n h khơng gian tr ng thái gián đo n:ể ệ ạ ạ
x[n+1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
v i:ớ
A = [11 4; 8 3];
B = [6; 4];
C = [28 12];
D = 15;
Ts = 1;
[ac,bc,cc,dc] = d2cm(a,b,c,d,Ts,’tustin’)
d2cm(a,b,c,d,Ts,’ tustin’) % v đ th so sánhẽ ồ ị
title (‘Do thi so sanh 2 dap ung lien tuc va gian doan’)
ta đ c đ th và các tham s nh sau:ượ ồ ị ố ư
ac =
1 1
2 –1
bc =
1
0
cc =
Thực hiện: PHẠM QUỐC TRƯỜNG - 5 - GVHD: PHẠM QUANG HUY
;
38
411
A
=
;
4
6
B
=
[ ]
;1228C =
15;D =
Khảo sát ứng dụng MATLAB trong điều khiển tự động
2 4
dc = 1
5. L nh SS2TFệ
a) Cơng d ngụ :
Chuy n h th ng t d ng khơng gian tr ng thái thành d ng hàm truy n.ể ệ ố ừ ạ ạ ạ ề
b) Cú pháp:
[num,den] = ss2tf(a,b,c,d,iu).
c) Gi i thíchả :
[num,den] = ss2tf(a,b,c,d,iu) chuy n h th ng khơng gian tr ng thái:ể ệ ố ạ
+=
+=
DuCxy
BuAxx
.
thành d ng hàm truy n:ạ ề
H(s) =
)(
)(
sden
sNUM
= C(sI – A)
-1
B + D
t ngõ vào th iu. Vector den ch a các h s c a m u s theo chi u gi m d n s m c aừ ứ ứ ệ ố ủ ẫ ố ề ả ầ ố ũ ủ
s. Ma tr n NUM ch a các h s t s v i s hàng là s ngõ ra.ậ ứ ệ ố ử ố ớ ố ố
d) Ví dụ:
Hàm truy n c a h th ng đ c xác đ nh b ng l nh:ề ủ ệ ố ượ ị ằ ệ
[num,den] = ss2tf (a,b,c,d,1)
ta đ c:ượ
num =
Thực hiện: PHẠM QUỐC TRƯỜNG - 6 - GVHD: PHẠM QUANG HUY
áp ng gián đo nĐ ứ ạ
áp ng liên t cĐ ứ ụ
Khảo sát ứng dụng MATLAB trong điều khiển tự động
0 0 1.0000
den =
1.0000 0.4000 1.0000
6. L nh TF2SSệ
a) Cơng d ngụ :
Chuy n h th ng t d ng khơng gian hàm truy n thành d ng tr ng thái.ể ệ ố ừ ạ ề ạ ạ
b) Cú pháp:
[a,b,c,d] = tf2ss(num,den)
c) Gi i thíchả :
[a,b,c,d] = tf2ss(num,den) tìm h ph ng trình tr ng thái c a h SISO:ệ ươ ạ ủ ệ
.
x
= Ax + Bu
y = Cx + Du
đ c cho b i hàm truy n:ượ ở ề
t ngõ vào duy nh t. Vector den ch a các h s m u s hàm truy n theo chi u gi m d n sừ ấ ứ ệ ố ẫ ố ề ề ả ầ ố
m s a s. Ma tr n NUM ch a các h s c a t s v i s hàng là s ngõ ra y. Các ma tr n a, b,ũ ủ ậ ứ ệ ố ủ ử ố ớ ố ố ậ
c, c tr thành d ng chính t t.ở ạ ắ
* Ví d 1ụ :
Xét h th ng có hàm truy n:ệ ố ề
chuy n h th ng thành d ng khơng gian tr ng thái ta th c hi n các l nh:Để ể ệ ố ạ ạ ự ệ ệ
Num = [0 2 3
1 2 3];
den = [1 0.4 1];
[a,b,c,d] = tf2ss (num,den);
ta đ c k t qu :ượ ế ả
a =
-0.4000 -1.0000
1.0000 0
b =
1
0
c =
2.0000 3.0000
1.0000 2.0000
d =
0
1
Thực hiện: PHẠM QUỐC TRƯỜNG - 7 - GVHD: PHẠM QUANG HUY
DBA)-C(sI
den(s)
NUM(s)
H(s)
1-
+==
1s4.0s
12ss
32s
H(s)
2
2
++
++
+
=
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Ví d 2: Trích t sách ‘ụ ừ ng d ng MATLAB trong i u khi n t ng’ Ứ ụ đ ề ể ự độ tác gi Nguy n ả ễ
V n Giáp.ă
Cho hàm truy n: (sề
2
+7s +2) / (s
3
+9s
2
+26s+24)
» num=[1 7 2];
» den=[1 9 26 24];
» [A,B,C,D]=tf2ss(num,den)
K t qu :ế ả
A =
-9 -26 -24
1 0 0
0 1 0
B =
1
0
0
C =
1 7 2
D =
0
7. L nh SS2ZPệ
a) Cơng d ngụ :
Thực hiện: PHẠM QUỐC TRƯỜNG - 8 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Chuy n h th ng khơng gian sang tr ng thái đ l i c c-zero (zero pole-gain) ể ệ ố ạ ộ ợ ự
b) Cú pháp:
[z,p,k] = ss2zp(a,b,c,d,iu)
c) Gi i thích: ả
ss2zp tìm các zero, c c và đ l i khơng gian tr ng thái.ự ộ ợ ạ
[z,p,k] = ss2zp(a,b,c,d,iu) tìm hàm truy n d i d ng th a s .ề ướ ạ ừ ố
))(( ))2(()1((
))(( ))2(()1((
)(
)(
)(
npspsps
mZsZsZs
k
sp
sZ
sH
−−−
−−−
==
c a h th ng: ủ ệ ố
BuAxx +=
.
y = Cx + Du
t ngõ vào th iu. Vector c t p ch a các c c m u s hàm truy n. Các zero c a t s n mừ ứ ộ ứ ự ẫ ố ề ủ ử ố ằ
trong các c t c a ma tr n z v i s c t là s ngõ ra y. l i c a t s hàm truy n n m trong cácộ ủ ậ ớ ố ộ ố Độ ợ ủ ử ố ề ằ
c t vector k.ộ
d) Ví dụ:
Xét h th ng có hàm truy n: ệ ố ề
14.0
32
)(
2
++
+
=
ss
s
sH
num = [2 3];
den = [1 0.4 1];
Có 2 cách đ tìm các zero, c c và đ l i c a h th ng này:ể ự ộ ợ ủ ệ ố
+ Cách 1:
[z,p,k] = tf2zp(num, den)
+ Cách 2:
[a,b,c,d] = tf2ss(num, den);
[z,p,k] = ss2zp(a,b,c,d,1)
và ta đ c cùng m t k t qu nh sau:ượ ộ ế ả ư
z = -1.5000
p = -0.2000 + 0.9798i
-0.2000 – 0.9798I
k = 2.0000
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
8. L nh ZP2SSệ :
a) Cơng d ngụ :
Chuy n t đ c c l i zero sang h khơng gian tr ng thái.ể ừ ộ ự ợ ệ ạ
b) Cú pháp:
[a,b,c,d] = zp2ss(z,p,k)
c) Gi i thích:ả
zp2ss hình thành mơ hình khơng gian tr ng thái t các zero, c c và đ l i c a h th ng d iạ ừ ự ộ ợ ủ ệ ố ướ
d ng hàm truy n. ạ ề
[a,b,c,d] = zp2ss(z,k,p) tìm h khơng gian tr nng thái:ệ ạ
BuAxx
+=
.
y = Cx + Du
c a h SIMO đ c cho b i hàm truy n:ủ ệ ượ ở ề
))(( ))2(()1((
))(( ))2(()1((
)(
)(
)(
npspsps
mZsZsZs
k
sp
sZ
sH
−−−
−−−
==
Vector c t p ch a các c c và ma tr n z ch a các zero v i s c t là s ngõ ra. Vector k ch a cácộ ứ ự ậ ứ ớ ố ộ ố ứ
h s đ l i.Các ma tr n a,b,c,d tr v d ng chính t c. ệ ố ộ ợ ậ ở ề ạ ắ
9. L nh TF2ZP ệ
a) Cơng d ngụ :
Chuy n h th ng t d ng hàm truy n sang d ng đ l i c c-zero.ể ệ ố ừ ạ ề ạ ộ ợ ự
b) Cú pháp:
[z,p,k] = tf2zp (NUM,den)
c) Gi i thíchả :
tf2ss tìm các zero, c c và đ l i c a h th ng đ c bi u di n d i d ng hàm truy n. ự ộ ợ ủ ệ ố ượ ể ễ ướ ạ ề
[z,p,k]= tf2zp (NUM,den) tìm hàm truy n c a h SIMO d ng:ề ủ ệ ạ
))(( ))2(()1((
))(( ))2(()1((
)(
)(
)(
npspsps
mZsZsZs
k
sp
sZ
sH
−−−
−−−
==
đ c cho b i hàm truy n:ượ ở ề
)()1( )1(
)()1( )1(
)(
)(
1
1
nddensnddensden
nnNUMsnnNUMsNUM
sden
sNUM
nd
nn
+−++
+−++
=
−
−
Thực hiện: PHẠM QUỐC TRƯỜNG - 10 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Vector den ch a các h s c a m u s theo chi u gi m d n s m c a s. Ma tr n NUMứ ệ ố ủ ẫ ố ề ả ầ ố ũ ủ ậ
ch a các h s t s v i s hàng là s ngõ ra. Ma tr n z ch a các zero, vector c t p ch a các c c vàứ ệ ố ử ố ớ ố ố ậ ứ ộ ứ ự
vector k ch a các h s đ l i c a hàm truy n.ứ ệ ố ộ ợ ủ ề
b) Ví dụ:
Tìm các zero và c c c a h th ng có hàm truy n:ự ủ ệ ố ề
14.0
32
)(
2
++
+
=
ss
s
sH
num = [2 3];
den = [1 0.4 1];
[z,p,k] = tft2zp (num,den)
ta đ c:ượ
z = -1.5000
p = -0.2000 + 0.9798i
-0.2000 – 0.9798i
k = 2
10. L nh ZP2TFệ
a) Cơng d ngụ :
Chuy n đ i h th ng t d ng đ l i c c zero sang d ng hàm truy nể ổ ệ ố ừ ạ ộ ợ ự ạ ề
b) Cú pháp:
[num,den] = zp2tf (z,p,k)
c) Gi i thíchả :
zp2tf t o ra hàm truy n đa th c t các zero, c c và đ l i c a h th ng.ạ ề ứ ừ ự ộ ợ ủ ệ ố
[num,den] = zp2tf (z,p,k) tìm hàm truy n h u t :ề ữ ỉ
)()1( )1(
)()1( )1(
)(
)(
1
1
nddensnddensden
nnNUMsnnNUMsNUM
sden
sNUM
nd
nn
+−++
+−++
=
−
−
đ c cho b i hàm truy n d ng:ượ ở ề ạ
))(( ))2(()1((
))(( ))2(()1((
)(
)(
)(
npspsps
mZsZsZs
k
sp
sZ
sH
−−−
−−−
==
Vector c t p ch a các c c, ma tr n z ch a các zero v i s c t là s ngõ ra, đ l i c a t sộ ứ ự ậ ứ ớ ố ộ ố ộ ợ ủ ử ố
hàm truy n n m trong vector k. Các h m u s đa th c n m trong vector hàng den, các h s tề ằ ệ ẫ ố ứ ằ ệ ố ử
s n m trong ma tr n num s hàng b ng v i s c t c a z.ố ằ ậ ố ằ ớ ố ộ ủ
11. L nh POLYệ
Thực hiện: PHẠM QUỐC TRƯỜNG - 11 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
a) Cơng d ngụ :
T o ra đa th c t các nghi m đ c ch đ nh.ạ ứ ừ ệ ượ ỉ ị
b) Cú pháp:
p = poly(A)
p = poly(r)
c) Gi i thíchả :
p = poly(A), trong đó A là ma tr n nxn v i các ph n t là các h s c a đa th c đ c tr ng detậ ớ ầ ử ệ ố ủ ứ ặ ư
(sI-A), t o ra vector hàng có n+1 ph n t x p theo th t gi m d n s m c a s.ạ ầ ử ế ứ ự ả ầ ố ũ ủ
p = poly(r), t o ra vector hàngv i các ph n t là các h s c a đa th c có nghi m là các ph n tạ ớ ầ ử ệ ố ủ ứ ệ ầ ử
c a vector ngõ ra.ủ
d) Ví d 1ụ :
Cho ma tr nậ
A =
1 2 3
4 5 6
7 8 0
p = poly (A)
p =
1 -6 -72 -27
Ví d 2: Trích t ụ ừ Ví d 2.5 ụ sách c a tác gi Nguy n V n Giápủ ả ễ ă
%Vídu2.m
%tim nghiem cua da thuc:
% s^6+9s^5+31.25s^4+61.25s^3+67.75s^2+14.75s+15
P=[1 9 31.25 61.25 67.75 14.75 15]
R=roots(P)
K t qu :ế ả
»
P =
1.0000 9.0000 31.2500 61.2500 67.7500 14.7500 15.0000
R =
Thực hiện: PHẠM QUỐC TRƯỜNG - 12 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
-4.0000
-3.0000
-1.0000 + 2.0000i
-1.0000 - 2.0000i
0.0000 + 0.5000i
0.0000 - 0.5000i
12. L nh RESIDUEệ
a) Cơng d ngụ :
Chuy n đ i gi a d ng khai tri n phân s t ng ph n và d ng đa th c.ể ổ ữ ạ ể ố ừ ầ ạ ứ
b) Cú pháp:
[r,p,k]= residue(b,a)
[b,a]= residue(r,p,k)
c) Gi i thíchả :
[r,p,k]= residue(b,a) tìm giá tr th ng d , các c c, và các s h ng khai tri n phân s t ng ph nị ặ ư ự ố ạ ể ố ừ ầ
c a 2 đa th c b(s) và a(s) d ng:ủ ứ ạ
n
n
m
m
sasasaa
sbsbsbb
sa
sb
−
+
−−
−
+
−−
++++
++++
=
1
2
3
1
21
1
2
3
1
21
)(
)(
[b,a]= residue(r,p,k) chuy n d ng khai tri n phân s t ng ph n:ể ạ ể ố ừ ầ
)(
)(
)(
1
2
1
1
sk
ps
r
ps
r
ps
r
sa
sb
n
n
+
−
++
−
+
−
=
v d ng đa th c v i các h s trong vector a và b.ề ạ ứ ớ ệ ố
d) Ví d : Trích t ụ ừ Ví d 2.9 ụ sách c a tác gi Nguy n V n Giápủ ả ễ ă
Xác đ nh thành ph n t i gi n c a hàm truy n: F(s)= (2sị ầ ố ả ủ ề
3
+9s+1)/(s
3
+s
2
+4s+4)
%vidu.m
%xac dinh cac thanh phan toi gian cua ham truyen:
% (2s^3+9s+1)
% H(s)=
% (s^3+s^2+4s+4)
b=[2 0 9 1]
a=[1 1 4 4]
[r,p,k]=residue(b,a)
K t qu :ế ả
»
b =
Thực hiện: PHẠM QUỐC TRƯỜNG - 13 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
2 0 9 1
a =
1 1 4 4
r =
0.0000 - 0.2500i
0.0000 + 0.2500i
-2.0000
p =
-0.0000 + 2.0000i
-0.0000 - 2.0000i
-1.0000
k =
2
T đó hàm truy n t i gi n là:ừ ề ố ả
2 + (-2/(s+1)) + (0,25i/(s -j2)) + (-0,25i/(s -j2)) = 2 + (-2/(s+1))+ 1/(s
2
+4)
13. L nh SS2SSệ
a) Cơng d ng:ụ
Bi n đ i t ng đ ng h khơng gian tr ng thái.ế ổ ươ ươ ệ ạ
b) Cú pháp:
Thực hiện: PHẠM QUỐC TRƯỜNG - 14 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
[at,bt,ct,dt]= ss2ss (a,b,c,d,T)
c) Gi i thíchả :
[at,bt,ct,dt]= ss2ss (a,b,c,d,T) th c hi n bi n đ i t ng đ ng: z= Txự ệ ế ổ ươ ươ
Cu i cùng ta đ c h khơng gian tr ng thái nh sauố ượ ệ ạ ư
TBuzTATz
+=
−
1
.
y = CT
-1
z+Du
d) Ví dụ:
Cho h khơng gian tr ng thái:ệ ạ
u
x
x
x
x
+
−
=
0
1
12
11
2
1
2
.
1
.
y = [2 4]
2
1
x
x
+ [1]u
Th c hi n bi n đ i t ng đ ngđ c i ti n đi u ki n c a ma tr n A.ự ệ ế ổ ươ ươ ể ả ế ề ệ ủ ậ
a = [1 1;2 -1];
b = [1;0];
c = [2 4];
d = [1];
T= balance(a);
[at,bt,ct,dt] = ss2ss(a,b,c,d,inv(T))
14. L nh CANONệ
a) Cơng d ngụ :
Chuy n h khơng gian tr ng thái v d ng chính t c.ể ệ ạ ề ạ ắ
b) Cú pháp:
[ab,bb,cb,db] = canon(a,b,c,d,'type')
c) Gi i thíchả :
L nh canon chuy n h khơng gian tr ng thái liên t c:ệ ể ệ ạ ụ
BuAxx
+=
.
y = Cx + Du
Thành d ng chính t c.ạ ắ
Thực hiện: PHẠM QUỐC TRƯỜNG - 15 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
+ 'type' là 'moddal': chuy n thành d ng chính t c 'hình thái' (modal).ể ạ ắ
+ 'type' là 'companion': chuy n thành d ng chínnh t c 'kèm theo' (companion)ể ạ ắ
N u 'type' khơng đ c ch đ nh thì giá tr m c nhiên là 'modal'.ế ượ ỉ ị ị ặ
H th ng đã chuy n đ i có cùng quan h vào ra (cùng hàm truy n) nh ng các tr ng thái thì khácệ ố ể ổ ệ ề ư ạ
nhau.
[ab,bb,cb,db]= canon (a,b,c,d,'type') chuy n h khơng gian tr ng thái thành d ng 'hình thái'ể ệ ạ ạ
trong đó có giá tr riêng th c n m trên đ ng chéo c a ma tr n Avà các giá tr riêng ph c n m kh iị ự ằ ườ ủ ậ ị ứ ằ ở ố
2x2 trên đ ng chéo c a ma tr n A. Gi s h th ng có các giá tr riêng ( ), ma tr n A s là:ườ ủ ậ ả ử ệ ố ị ậ ẽ
A =
−
2
1
000
00
00
000
λ
σω
ωσ
λ
[ab,bb,cb,db]= canon (a,b,c,d,'companion') chuy n h khơng gian tr ng thái thành d ngể ệ ạ ạ
chính t c 'kèm theo' trong đó đa thh c đ c tr ng c a h th ng n m c t bên ph i ma tr n A.ắ ứ ặ ư ủ ệ ố ằ ở ộ ả ậ
N u m t h th ng có đa th c đ c tr ng:ế ộ ệ ố ứ ặ ư
s
n
+ a
1
s
n-1
+ … + a
n-1
s + a
n
thì ma tr n A t ng ng là:ậ ươ ứ
A =
−
−
−
−
1
2
3
10
000
001
000
a
a
a
a
n
N u thêm vào m t đ i s ngõ ra thì:ế ộ ố ố ở
[ab,bb,cb,db,T]= canon(a,b,c,d,'type') t o ra vector chuy n đ i T v i z= Txạ ể ổ ớ
Thực hiện: PHẠM QUỐC TRƯỜNG - 16 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
CÁC BÀI T PẬ
Bài 1: c vi t d i d ng m_file Đượ ế ướ ạ
%Bai tap tinh toan tong quat cua ham truyen
tu1=input('nhap (vi du: tu1=[3]), tu1= ');
mau1=input('nhap (vi du mau1=[1 4]), mau1= ');
tu2=input('nhap (tu2=[2 4]), tu2= ');
mau2=input('nhap (mau2=[1 2 3]), mau2= ');
%ket qua tu3=[0 0 2 12]; mau2=[1 6 11 12]
disp('Ket noi 2 he thong noi tiep la:');
[tu3,mau3]=series(tu1,mau1,tu2,mau2)
pause
chon=input('Ban muon khao sat ham nao 1,2,3: ');
if (chon==1)
num=tu1;
den=mau1;
end
if (chon==2)
num=tu2;
den=mau2;
end
if (chon==3)
num=tu3;
den=mau3;
end
if (chon~=1)&(chon~=2)&(chon~=3)
break
end
num
den
pause
disp('Nghiem va zero cua ham truyen la:');
[z,p,k] = tf2zp(num,den)
pause
disp('Thanh phan toi gian cua ham truyen la:');
[r,p,k] = residue(num,den)
pause
disp('In ra ham truyen o dang ty so cua hai da thuc:');
printsys(num,den,'s')
pause
disp('Tinh va hien thi tan so tu nhien va he so suy giam cua HT lien tuc
la:');
damp(den)
pause
disp('He so khuyech dai cua he thong:');
k=dcgain(num,den)
pause
disp('He so khuyech dai cua he thong kin voi he so suy giam:');
k=rlocfind(num,den)
pause
disp('Bien doi HAM TRUYEN thanh MO HINH BIEN TRANG THAI');
[A,B,C,D]=tf2ss(num,den)
A
Thực hiện: PHẠM QUỐC TRƯỜNG - 17 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
B
C
B
disp('Bien doi ham truyen lien tuc sang roi rac la;');
Ts=input('nhap thoi gian lay mau(vi du: Ts=0.1), Ts= ');
[numd,dend]=c2dm(num,den,Ts,'zoh')
pause
disp('Gia tri rieng,bien do,tan so');
disp('va he so suy giam tuong duong cua ham truyen cua he thong roi rac');
disp('thoi gian lay mau Ts la:');
ddamp(den,Ts)
Sau khi ch y ch ng trình:ạ ươ
» Bài1.m
nhap (vi du: tu1=[3]), tu1= 3
nhap (vi du mau1=[1 4]), mau1= [1 4]
nhap (tu2=[2 4]), tu2= [2 4]
nhap (mau2=[1 2 3]), mau2= [1 2 3]
Ket noi 2 he thong noi tiep la:
tu3 =
0 0 6 12
mau3 =
1 6 11 12
Ban muon khao sat ham nao 1,2,3: 3
num =
0 0 6 12
den =
1 6 11 12
Nghiem va zero cua ham truyen la:
z =
-2
Thực hiện: PHẠM QUỐC TRƯỜNG - 18 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
p =
-4.0000
-1.0000 + 1.4142i
-1.0000 - 1.4142i
k =
6
Thanh phan toi gian cua ham truyen la:
r =
-1.0909
0.5455 - 0.9642i
0.5455 + 0.9642i
p =
-4.0000
-1.0000 + 1.4142i
-1.0000 - 1.4142i
k =
[]
In ra ham truyen o dang ty so cua hai da thuc:
num/den =
6 s + 12
s^3 + 6 s^2 + 11 s + 12
Tinh va hien thi tan so tu nhien va he so suy giam cua HT lien tuc la:
Eigenvalue Damping Freq. (rad/s)
-1.00e+000 + 1.41e+000i 5.77e-001 1.73e+000
-1.00e+000 - 1.41e+000i 5.77e-001 1.73e+000
-4.00e+000 1.00e+000 4.00e+000
Thực hiện: PHẠM QUỐC TRƯỜNG - 19 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
He so khuyech dai cua he thong:
k =
1
He so khuyech dai cua he thong kin voi he so suy giam:Select a point in the graphics window
selected_point =
0.1267 + 0.1842i
k =
1.0521
Bien doi HAM TRUYEN thanh MO HINH BIEN TRANG THAI
A =
-6 -11 -12
1 0 0
0 1 0
B =
1
0
0
C =
0 6 12
D =
0
A =
Thực hiện: PHẠM QUỐC TRƯỜNG - 20 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
-6 -11 -12
1 0 0
0 1 0
B =
1
0
0
C =
0 6 12
B =
1
0
0
Bien doi ham truyen lien tuc sang roi rac la;
nhap thoi gian lay mau(vi du: Ts=0.1), Ts= 0.1
numd =
0 0.0263 0.0015 -0.0189
dend =
1.0000 -2.4619 2.0197 -0.5488
Gia tri rieng,bien do,tan so
va he so suy giam tuong duong cua ham truyen cua he thong roi rac
thoi gian lay mau Ts la:
Eigenvalue Magnitude Equiv. Damping Equiv. Freq. (rad/s)
-4.00e+000 4.00e+000 -4.04e-001 3.43e+001
-1.00e+000 + 1.41e+000i 1.73e+000 -2.44e-001 2.25e+001
Thực hiện: PHẠM QUỐC TRƯỜNG - 21 - GVHD: PHẠM QUANG HUY
Khảo sát ứng dụng MATLAB trong điều khiển tự động
-1.00e+000 - 1.41e+000i 1.73e+000 -2.44e-001 2.25e+001
Thực hiện: PHẠM QUỐC TRƯỜNG - 22 - GVHD: PHẠM QUANG HUY