Professional Documents
Culture Documents
1
2
n
CA
CA
CA
C
M
He thong co the ieu khien c neu hang cua ma tran Co la n va co the quan sat c neu
hang cua ma tran Ob la n.
d) V du:
Dung lenh ctrb va obsv e kiem tra he thong (a,b,c,d) co the ieu khien c hay co the
quan sat c hay khong:
% Nhap ham truyen va xac nh khong gian trang thai:
num = [2 3];
den = [1 4 7];
[a,b,c,d]= tf2ss(num,den)
% Xac nh ma tran co the ieu khien va ma tran co the quan sat:
co = ctrb(a,b)
ob = obsv(a,c)
% so trang thai khong the ieu khien c:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 107 - GVHD: PHAMQUANG HUY
unco = length(a) rank(co)
% so trang thai khong the quan sat c:
unob = length(a) rank(ob)
Cuoi cung ta c ket qua:
a =
-4 -7
1 0
b =
1
0
c =
2 3
d = 0
co =
1 -4
0 1
unco = 0
ob =
2 3
-5 -14
unob = 0
3. Lenh DAMP, DDAMP
a) Cong dung:
Tm tan so t nhien (Natural Frequencies) va he so tat dan (Damping Factors).
b) Cu phap:
[wn,Z]= damp(a)
mag= ddamp(a)
[mag,Wn,Z]= ddamp(a,Ts)
c) Giai thch:
Damp va ddamp tnh tan so t nhien va he so tat dan. Neu bo cac oi so ben trai trong cac
lenh nay th ta nhan c mot bang cac gia tr rieng, t le tat dan va tan so t nhien tren man
hnh.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 108 - GVHD: PHAMQUANG HUY
[wn,Z]= damp(a) tao ra vector cot Wn va Z cha cac tan so t nhien wn, he so tat dan cua
cac gia tr rieng lien tuc (Continous eigenvalues) c tnh t a. Bien a co the la mot trong cac
dang sau:
+ Neu a la ma tran vuong th a c xem nh la ma tran khong gian trang thai A.
+ Neu a la vector hang th no c xem nh la vector cha cac he so a thc cua ham
truyen.
+ Neu a la vector cot th a cha cac nghiem.
Mag = damp(a) tao ra vector cot mag cha bien o cac gia tr rieng gian oan c tnh t a.
a co the la mot trong cac dang c noi en tren.
[mag,Wn,Z]= ddamp(a,Ts) tao ra cac vector mag, Wn va Z cha cac bien o, tan so t nhien
trong mat phang s tng ng va he so tat dan cua cac gia tr rieng cua a. Ts la thi gian lay mau.
He so tat dan va tan so t nhien trong mat phang s tng ng cua cac gia tr rieng gian oan la:
n
=
Ts
log
= -cos( log )
d) V du: (Trch t trang 11-52 sach Control System Toolbox)
Tnh va hien th cac gia tr rieng, tan so t nhien va he so tat dan cua ham truyen lien tuc sau:
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [2 5 1];
den = [1 2 3];
damp(den)
Eigenvalue Damping Freq.(rad/sec)
-1.0000 + 1.4142i 0.5774 1.7321
-1.0000 + 1.4142i 0.5774 1.7321
Tnh va hien th cac gia tr rieng, bien o, tan so va he so tat dan trong mat phang s tng
ng cua ham truyen gian oan vi thi gian lay mau Ts = 0.1:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
s z
z z
z H
num = [2 -3.4 1.5]
den = [1 -1.6 0.8]
ddamp(den,0.1)
Eigenvalue Magnitude Equiv.Damping Equiv.Freq (rad/sec)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 109 - GVHD: PHAMQUANG HUY
0.8000 + 0.4000i 0.8944 0.2340 4.7688
0.8000 0.4000i 0.8944 0.2340 4.7688
4. Lenh DCGAIN, DDCGAIN
a) Cong dung:
Tm o li trang thai xac lap cua he thong.
b) Cu phap:
k = dcgain(a,b,c,d)
k = dcgain(num,den)
k = ddcgain(a,b,c,d)
k = ddcgain(num,den)
c) Giai thch:
dcgain dung e tnh o li trang thai xac lap (DC hay tan so thap) cua he thong.
k = dcgain(a,b,c,d) tnh o li trang thai xac lap cua he khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
t tat ca cac ngo vao ti tat ca cac ngo ra:
K = -CA
-1
+ D
k = dcgain(num,den) tnh o li trang thai xac lap cua ham truyen a thc:
G(s) =
) (
) (
s den
s num
trong o num va den cha cac he so a thc theo th t giam dan so mu cua s:
K =
0
) (
) (
= s
s den
s num
e tnh o li DC cua he gian oan ta dung lenh ddcgain thay cho lenh dcgain. oi vi he
khong gian trang thai xac lap, ma tran o li DC la:
K = C(I A)
-1
+ D
Va oi vi ham truyen gian oan, t o LI DC la:
K =
1
) (
) (
= z
z den
z num
d) V du 1:
Tnh o li DC cua he thong co ham truyen:
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [ 2 5 1];
den = [1 2 3];
k = dcgain(num,den)
k = 0.3333
V du 2: Tnh o li DC cua he khong gian trang thai MIMO:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 110 - GVHD: PHAMQUANG HUY
v
u
x
x
x
x
2231 . 0 0
5397 . 0 1
0 7814 . 0
7814 . 0 5572 . 0
2
1
2
.
1
.
v
u
x
x
z
y
0 0
0 0
0 1
4493 . 6 9691 . 1
2
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. Lenh GRAM, DGRAM
a) Cong dung:
anh gia kha nang ieu khien va kha nang quan sat.
b) Cu phap:
Gc = gram(a,b)
Go = gram(a,c)
Gc = dgram(a,b)
Go = dgram(a,c)
c) Giai thch:
gram tnh toan kha nang ieu khien va kha nang quan sat. S anh gia nay co the c dung
e nghien cu ac tnh ieu khien va ac tnh quan sat cua cac he khong gian trang thai va giam
bac mo hnh.
gram(a,b) tao ra s anh gia kha nang ieu khien G
c
:
G
c
=
d BB
e e
A A '
0
'
o la mot ma tran oi xng; hn na, neu ma tran co hang u (bang kch thc cua ma tran
anh gia) th he thong co the ieu khien c.
Go = gram(a,c) tao ra s anh gia kha nang quan sat G
o
:
G
o
=
d CC
e e
A A '
0
'
0
1
1 2
1 1
2
1
2
.
1
.
| | | | u
x
x
y 1 4 2
2
1
+
=
In ra he khong gian trang thai vi ten goi cac tham so mac nhien va vi ten c ch nh
nh sau: ngo vao u la sensor, trang thai x la alpha va beta, ngo ra la angle.
% Khai bao he thong:
a = [1 1 ; 2 -1];
b = [1 ; 0];
c = [2 4];
d = 1;
% In theo ten mac nhien:
printsys(a,b,c,d)
a =
x1 x2
x1 1.00000 1.00000
x2 2.00000 -1.00000
b =
u1
x1 1.00000
x2 0
c =
x1 x2
y1 2.00000 4.00000
d =
u1
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 114 - GVHD: PHAMQUANG HUY
y1 1.00000
% Ch nh ten tham so:
inputs = sensor;
outputs = angle;
states = alpha beta;
states = alpha beta;
% In theo ten a 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
angle 1.00000
9. Lenh TZERO
a) Cong dung:
Tm zero truyen at cua he khong gian trang thai.
b) Cu phap:
z = tzero(sys)
[z,gain] = tzero(sys)
z = tzero(a,b,c,d)
c) Giai thch:
z = tzero(sys) tm cac zero truyen at cua he thong LTI trong sys.
[z,gain] = tzero(sys) tm o li ham truyen neu he thong la he SISO.
z = tzero(a,b,c,d) tm zero truyen at cua he khong gian trang thai:
.
x = Ax + Bu hoac x[n + 1} = Ax[n] + Bu[n]
y = Cx + Du y[n] = Cx[n] + Du[n]
d) V du:
Tm zero truyen at cua he khong gian trang thai sau:
u
x
x
x
x
0
1
1 2
1 1
2
1
2
.
1
.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 115 - GVHD: PHAMQUANG HUY
| | | | u
x
x
y 1 4 2
2
1
+
=
a = [1 1 ; 2 -1];
b = [1 ; 0];
c = [2 4];
d = 1;
z = tzero(a,b,c,d)
z =
-1.0000 + 2.4495j
-1.0000 2.4495j
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 116 - GVHD: PHAMQUANG HUY
NHOM LENH VE CHUYEN OI MO HNH
(Model Conversion)
1. Lenh C2D, C2DT
a) Cong dung:
Chuyen oi mo hnh t lien tuc sang gian oan.
b) Cu phap:
[ad,bd] = c2d(a,b,Ts)
c) Giai thch:
c2d va c2dt chuyen mo hnh khong gian trang thai t lien tuc sang gian oan tha nhan khau
gi bac 0 ngo vao. c2dt cung co khoang thi gian tre ngo vao.
[ad, bd] = c2d(a,b,Ts) chuyen he khong trang thai lien tuc x = Ax + Bu thanh he gian oan:
x[n+1] = A
d
x[n] + B
d
u[n] tha nhan ngo vao ieu khien la bat bien tng oan ben ngoai thi gian
lay mau Ts.
[ad,bd,cd,dd] = c2dt(a,b,c,Ts,lambda) chuyen he khong gian trang thai lien tuc vi thi gian
tre thuan tuy ngo vao:
.
x (t) = Ax(t) + Bu(t - )
y(t) = Cx(t)
thanh he gian oan:
x[n+1] = A
d
x[n] + B
d
u[n]
y[n] = C
d
x[n] + D
d
u[n]
Ts la thi gian lay mau va lambda la thi gian tre ngo vao. phai nam trong khoang
Ts < < .
d) V du: (Trch t trang 11-24 sach Control System Toolbox)
Cho he thong: H(s) = (s 1)/(s
2
+ 4s +5)
Vi T
d
=0,35, thi gian lay mau Ts=0,1
num=[1 -1];
den=[1 4 5];
H=tf(num,den,'inputdelay',0.35)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 117 - GVHD: PHAMQUANG HUY
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. Lenh C2DM
a) Cong dung:
Chuyen oi he lien tuc sang gian oan.
b) Cu phap:
[ad,bd,cd,dd] = c2dm(a,b,c,d,Ts,method)
[numd,dend] = c2dm(num,den,Ts,method).
c) Giai thch:
[ad,bd,cd,dd] = c2dm(a,b,c,d,Ts,method) chuyen oi t he khong gian trang thai lien tuc
(a,b,c,d) sang gian oan s dung phng phap khai bao trong method. method co the la:
+ zoh: chuyen sang he gian oan tha nhan mot khau gi bac 0 ngo vao, cac ngo vao
ieu khien c xem nh bat bien tng oan trong khoang thi gian lay mau Ts.
+ foh: chuyen sang he gian oan tha nhan mot khau gi bac 1 ngo vao.
+ tustin: chuyen sang he gian oan s dung phap gan ung song tuyen tnh (Tusin) oi
vi ao ham.
+ prewarp: chuyen sang he gian oan s dung phap gan ung song tuyen tnh (Tusin)
vi tan so lech trc. Neu them vao tham so Wc th lenh se ch ra tan so ti han.
V du nh c2dm(a,b,c,d,Ts,prewarp,Wc).
+ matched: chuyen he SISO sang gian oan s dung phng phap cc zero ham truyen
phu hp.
[numd, dend] = c2dm(num,den,Ts,method) chuyen t ham truyen a thc lien tuc G(s) =
num(s)/den(s) sang gian oan G(z) = num(z)/den(z) s dung phng phap c khai bao trong
method.
Neu bo qua cac oi so ben trai th:
c2dm(a,b,c,d,Ts,method)
c2dm(num,den,Ts,method)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 118 - GVHD: PHAMQUANG HUY
se ve ra 2 o th cua 2 ap ng vi ng lien net la ap ng lien tuc con ng t oan la
ap ng gian oan.
d) V du:
Chuyen he khong gian trang thai lien tuc:
thanh he gian oan dung phng phap Tustin, ve 2 o th ap ng so sanh.
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) %ve o th so sanh
title (Do thi so sanh 2 dap ung lien tuc va gian doan)
grid on
ta c o th va cac gia tr nh sau:
ad =
11 4
8 3
bd =
6
4
cd =
28 12
dd =
15
| | | |u 1 4 2 y
u
0
1
1 2
1 1
2
1
2
1
2
1
+
x
x
x
x
x
x
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 119 - GVHD: PHAMQUANG HUY
3. Lenh D2C
a) Cong dung:
Chuyen oi mo hnh t gian oan sang lien tuc.
b) Cu phap:
[ad,bd] = c2d(a,b,Ts).
c) Giai thch:
d2c chuyen mo hnh khong gian trang thai t gian oan sang lien tuc tha nhan khau gi bac
0 ngo vao. C2DT cung co mot khoang thi gian tre ngo vao.
[ad,bd] = c2d (a,b,Ts) chuyen he khong gian trang thai gian oan:
x[n+1] = Ax[n] + Bu[n]
thanh he lien tuc
u B x A x
c c
+ =
.
xem cac ngo vao ieu khien la bat bien tng oan trong khoang thi gian lay mau Ts.
4. Lenh D2CM
a) Cong dung:
Chuyen oi mo hnh khong gian trang thai t gian oan sang lien tuc.
b) Cu phap:
[ac,bc,cc,dc] = d2cm(a,b,c,d,Ts,method)
[numc,denc] = d2cm(num,den,Ts,method).
c) Giai thch:
A c c
ap ng gian oan
ap ng lien tuc
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 120 - GVHD: PHAMQUANG HUY
[ac,bc,cc,dc] = d2cm(a,b,c,d,Ts,method) chuyen oi he khong gian trang thai t gian oan
sang lien tuc s dung phng phap c khai bao trong method. method co the la:
+ zoh: chuyen sang he lien tuc tha nhan mot khau gi bac 0 ngo vao, cac ngo vao ieu
khien c xem nh bat bien tng oan trong khoang thi gian lay mau Ts.
+ tustin: chuyen sang he lien tuc s dung phng phap gan ung song tuyen tnh (Tusin)
oi vi ao ham.
+ prewarp: chuyen sang he lien tuc s dung phap gan u ng song tuyen tnh (Tusin) vi tan
so lech trc. Neu them vao tham so Wc th lenh se ch ra tan so ti han.
V du nh d2cm (a,b,c,d,Ts,prewarp,Wc).
+ matched: chuyen he SISO sang lien tuc s dung phng phap cc zero ham truyen phu
hp.
[numc,denc] = d2cm(num,den,Ts,method) chuyen t ham truyen a thc gian oan G(z)
= num(z)/den(z) sang lien tuc G(s) = num(s)/den(s) s dung phng phap c khai bao trong
method.
Neu bo qua cac oi so ben trai th:
d2cm(a,b,c,d,Ts,method)
d2cm(num,den,Ts,method)
se ve ra 2 o th cua 2 ap ng vi ng lien net la ap ng gian oan con ng t oan
la ap ng lien tuc.
d) V du:
Chuyen he khong gian trang thai gian oan:
x[n+1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
vi:
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) % ve o th so sanh
title (Do thi so sanh 2 dap ung lien tuc va gian doan)
ta c o th va cac tham so nh sau:
ac =
1 1
2 1
bc =
1
0
cc =
;
3 8
4 11
A
= ;
4
6
B
=
| | ; 12 28 C = 15; D =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 121 - GVHD: PHAMQUANG HUY
2 4
dc = 1
5. Lenh SS2TF
a) Cong dung:
Chuyen he thong t dang khong gian trang thai thanh dang ham truyen.
b) Cu phap:
[num,den] = ss2tf(a,b,c,d,iu).
c) Giai thch:
[num,den] = ss2tf(a,b,c,d,iu) chuyen he thong khong gian trang thai:
+ =
+ =
Du Cx y
Bu Ax x
.
thanh dang ham truyen:
H(s) =
) (
) (
s den
s NUM
= C(sI A)
-1
B + D
t ngo vao th iu. Vector den cha cac he so cua mau so theo chieu giam dan so mu cua s.
Ma tran NUM cha cac he so t so vi so ha ng la so ngo ra.
d) V du:
Ham truyen cua he thong c xac nh bang lenh:
[num,den] = ss2tf (a,b,c,d,1)
ta c:
ap ng gian oan
ap ng lien tuc
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 122 - GVHD: PHAMQUANG HUY
num =
0 0 1.0000
den =
1.0000 0.4000 1.0000
6. Lenh TF2SS
a) Cong dung:
Chuyen he thong t dang khong gian ham truyen thanh dang trang thai.
b) Cu phap:
[a,b,c,d] = tf2ss(num,den)
c) Giai thch:
[a,b,c,d] = tf2ss(num,den) tm he phng trnh trang thai cua he SISO:
.
x = Ax + Bu
y = Cx + Du
c cho bi ham truyen:
t ngo vao duy nhat. Vector den cha cac he so mau so ham truyen theo chieu giam dan so
mu sua s. Ma tran NUM cha cac he so cua t so vi so hang la so ngo ra y. Cac ma tran a, b,
c, c tr thanh dang chnh tat.
* V du 1:
Xet he thong co ham truyen:
e chuyen he thong thanh dang khong gian trang thai ta thc hien cac lenh:
Num = [0 2 3
1 2 3];
den = [1 0.4 1];
[a,b,c,d] = tf2ss (num,den);
ta c ket qua:
a =
-0.4000 -1.0000
1.0000 0
b =
1
0
c =
2.0000 3.0000
1.0000 2.0000
d =
0
D B A) - C(sI
den(s)
NUM(s)
H(s)
1 -
+ = =
1 s 4 . 0 s
1 2s s
3 2s
H(s)
2
2
+ +
+ +
+
=
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 123 - GVHD: PHAMQUANG HUY
1
V du 2: Trch t sach ng dung MATLAB trong ieu khien t ong tac gia Nguyen Van
Giap.
Cho ham truyen: (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)
Ket qua:
A =
-9 -26 -24
1 0 0
0 1 0
B =
1
0
0
C =
1 7 2
D =
0
7. Lenh SS2ZP
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 124 - GVHD: PHAMQUANG HUY
a) Cong dung:
Chuyen he thong khong gian sang trang thai o li cc-zero (zero pole-gain)
b) Cu phap:
[z,p,k] = ss2zp(a,b,c,d,iu)
c) Giai thch:
ss2zp tm cac zero, cc va o li khong gian trang thai.
[z,p,k] = ss2zp(a,b,c,d,iu) tm ham truyen di dang tha so.
)) ( ( ..... )) 2 ( ( ) 1 ( (
)) ( ( ..... )) 2 ( ( ) 1 ( (
) (
) (
) (
n p s p s p s
m Z s Z s Z s
k
s p
s Z
s H
= =
cua he thong:
Bu Ax x + =
.
y = Cx + Du
t ngo vao th iu. Vector cot p cha cac cc mau so ham truyen. Cac zero cua t so nam
trong cac cot cua ma tran z vi so cot la so ngo ra y. o li cua t so ham truyen nam trong cac
cot vector k.
d) V du:
Xet he thong co ham truyen:
1 4 . 0
3 2
) (
2
+ +
+
=
s s
s
s H
num = [2 3];
den = [1 0.4 1];
Co 2 cach e tm cac zero, cc va o li cua he thong nay:
+ Cach 1:
[z,p,k] = tf2zp(num, den)
+ Cach 2:
[a,b,c,d] = tf2ss(num, den);
[z,p,k] = ss2zp(a,b,c,d,1)
va ta c cung mot ket qua nh sau:
z = -1.5000
p = -0.2000 + 0.9798i
-0.2000 0.9798I
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 125 - GVHD: PHAMQUANG HUY
k = 2.0000
8. Lenh ZP2SS:
a) Cong dung:
Chuyen t o cc li zero sang he khong gian trang thai.
b) Cu phap:
[a,b,c,d] = zp2ss(z,p,k)
c) Giai thch:
zp2ss hnh thanh mo hnh khong gian trang thai t cac zero, cc va o li cua he thong di
dang ham truyen.
[a,b,c,d] = zp2ss(z,k,p) tm he khong gian tranng thai:
Bu Ax x + =
.
y = Cx + Du
cua he SIMO c cho bi ham truyen:
)) ( ( ..... )) 2 ( ( ) 1 ( (
)) ( ( ..... )) 2 ( ( ) 1 ( (
) (
) (
) (
n p s p s p s
m Z s Z s Z s
k
s p
s Z
s H
= =
Vector cot p cha cac cc va ma tran z cha cac zero vi so cot la so ngo ra. Vector k cha
cac he so o li.Cac ma tran a,b,c,d tr ve dang chnh tac.
9. Lenh TF2ZP
a) Cong dung:
Chuyen he thong t dang ham truyen sang dang o li cc-zero.
b) Cu phap:
[z,p,k] = tf2zp (NUM,den)
c) Giai thch:
tf2ss tm cac zero, cc va o li cua he thong c bieu dien di dang ham truyen.
[z,p,k]= tf2zp (NUM,den) tm ham truyen cua he SIMO dang:
)) ( ( ..... )) 2 ( ( ) 1 ( (
)) ( ( ..... )) 2 ( ( ) 1 ( (
) (
) (
) (
n p s p s p s
m Z s Z s Z s
k
s p
s Z
s H
= =
c cho bi ham truyen:
) ( ) 1 ( ..... ) 1 (
) ( ) 1 ( ..... ) 1 (
) (
) (
1
1
nd den s nd den s den
nn NUM s nn NUM s NUM
s den
s NUM
nd
nn
+ + +
+ + +
=
P =
1.0000 9.0000 31.2500 61.2500 67.7500 14.7500 15.0000
R =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 128 - GVHD: PHAMQUANG HUY
-4.0000
-3.0000
-1.0000 + 2.0000i
-1.0000 - 2.0000i
0.0000 + 0.5000i
0.0000 - 0.5000i
12. Lenh RESIDUE
a) Cong dung:
Chuyen oi gia dang khai trien phan so tng phan va dang a thc.
b) Cu phap:
[r,p,k]= residue(b,a)
[b,a]= residue(r,p,k)
c) Giai thch:
[r,p,k]= residue(b,a) tm gia tr thang d, cac cc, va cac so hang khai trien phan so tng phan
cua 2 a thc b(s) va a(s) dang:
n
n
m
m
s a s a s a a
s b s b s b b
s a
s b
+
+ + + +
+ + + +
=
1
2
3
1
2 1
1
2
3
1
2 1
.....
.....
) (
) (
[b,a]= residue(r,p,k) chuyen dang khai trien phan so tng phan:
) ( ......
) (
) (
1
2
1
1
s k
p s
r
p s
r
p s
r
s a
s b
n
n
+
+ +
=
ve dang a thc vi cac he so trong vector a va b.
d) V du: Trch t V du 2.9 sach cua tac gia Nguyen Van Giap
Xac nh thanh phan toi gian cua ham truyen: 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)
Ket qua:
b =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 129 - GVHD: PHAMQUANG HUY
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 o ham truyen toi gian la:
2 + (-2/(s+1)) + (0,25i/(s -j2)) + (-0,25i/(s -j2)) = 2 + (-2/(s+1))+ 1/(s
2
+4)
13. Lenh SS2SS
a) Cong dung:
Bien oi tng ng he khong gian trang thai.
b) Cu phap:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 130 - GVHD: PHAMQUANG HUY
[at,bt,ct,dt]= ss2ss (a,b,c,d,T)
c) Giai thch:
[at,bt,ct,dt]= ss2ss (a,b,c,d,T) thc hien bien oi tng ng: z= Tx
Cuoi cung ta c he khong gian trang thai nh sau
TBu z TAT z + =
1
.
y = CT
-1
z+Du
d) V du:
Cho he khong gian trang thai:
u
x
x
x
x
0
1
1 2
1 1
2
1
2
.
1
.
y = [2 4]
2
1
x
x
+ [1]u
Thc hien bien oi tng nge cai tien ieu kien cua ma tran 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. Lenh CANON
a) Cong dung:
Chuyen he khong gian trang thai ve dang chnh tac.
b) Cu phap:
[ab,bb,cb,db] = canon(a,b,c,d,'type')
c) Giai thch:
Lenh canon chuyen he khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
Thanh dang chnh tac.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 131 - GVHD: PHAMQUANG HUY
+ 'type' la 'moddal': chuyen thanh dang chnh tac 'hnh thai' (modal).
+ 'type' la 'companion': chuyen thanh dang chnnh tac 'kem theo' (companion)
Neu 'type' khong c ch nh th gia tr mac nhien la 'modal'.
He thong a chuyen oi co cung quan he vao ra (cung ham truyen) nhng cac trang thai th
khac nhau.
[ab,bb,cb,db]= canon (a,b,c,d,'type') chuyen he khong gian trang thai thanh dang 'hnh thai'
trong o co gia tr rieng thc nam tren ng cheo cua ma tran Ava cac gia tr rieng phc nam
khoi 2x2 tren ng cheo cua ma tran A. Gia s he thong co cac gia tr rieng ( ), ma tran A se
la:
A =
2
1
0 0 0
0 0
0 0
0 0 0
[ab,bb,cb,db]= canon (a,b,c,d,'companion') chuyen he khong gian trang thai thanh dang
chnh tac 'kem theo' trong o a thhc ac trng cua he thong nam cot ben phai ma tran A. Neu
mot he thong co a thc ac trng:
s
n
+ a
1
s
n-1
+ .. + a
n-1
s + a
n
th ma tran A tng ng la:
A =
1
2
3
1 0
....... 0 0 0
....... 0 0 1
....... 0 0 0
a
a
a
a
n
L L
O M M M
M
Neu them vao mot oi so ngo ra th:
[ab,bb,cb,db,T]= canon(a,b,c,d,'type') tao ra vector chuyen oi T vi z= Tx
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 132 - GVHD: PHAMQUANG HUY
CAC BAI TAP
Bai 1: c viet di dang 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
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 133 - GVHD: PHAMQUANG HUY
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 chay chng trnh:
Bai1.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
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 134 - GVHD: PHAMQUANG HUY
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
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 135 - GVHD: PHAMQUANG HUY
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 =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 136 - GVHD: PHAMQUANG HUY
-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
-1.00e+000 - 1.41e+000i 1.73e+000 -2.44e-001 2.25e+001
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 137 - GVHD: PHAMQUANG HUY
NHOM LENH VE AP NG TAN SO
(Frequency Response)
1. Lenh BODE
a) Cong dung:
Tm va ve ap ng tan so gian o Bode.
b) Cu phap:
[mag,phase,w] = bode(a,b,c,d)
[mag,phase,w] = bode(a,b,c,d,iu)
[mag,phase,w] = bode(a,b,c,d,iu,w)
[mag,phase,w] = bode(num,den)
[mag,phase,w] = bode(num,den,w)
c) Giai thch:
Lenh bode tm ap ng tan so bien o va pha cua he lien tuc LTI. Gian o Bode dung e
phan tch ac iem cua he thong bao gom: bien d tr, pha d tr, o li DC, bang thong, kha
nang mien nhieu va tnh on nh.
Neu bo qua cac oi so ve trai cua dong lenh th lenh bode se ve ra gian o Bode tren man
hnh.
bode(a,b,c,d) ve ra chuoi gian o Bode, moi gian o tng ng vi mot ngo vao cua he
khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
vi truc tan so c xac nh t ong. Neu ap ng thay oi nhanh th can phai xac nh
nhieu iem hn.
bode(a,b,c,d,iu) ve ra gian o Bode t ngo vao duy nhat iu ti tat ca cac ngo ra cua he thong
vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he thong va
ch ra ngo vao nao c s dung cho ap ng gian o Bode.
bode(num,den) ve ra gian o Bode cua ham truyen a thc he lien tuc
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
bode(a,b,c,d,iu,w) hay bode(num,den,w) ve ra gian o Bode vi vector tan so w do ngi s
dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng tan so gian o
Bode c tnh.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = bode(a,b,c,d)
[mag,phase,w] = bode(a,b,c,d,iu)
[mag,phase,w] = bode(a,b,c,d,iu,w)
[mag,phase,w] = bode(num,den)
[mag,phase,w] = bode(num,den,w)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 138 - GVHD: PHAMQUANG HUY
Se khong ve ra gian o Bode ma tao ra cac ma tran ap ng tan so mag, phase va w cua he
thong. Ma tran mag va phase co so cot bang so ngo ra va moi hang ng vi mot thanh phan trong
vector w.
G(s) = C(sI A)
-1
B + D
mag() = |G(j)|
phase() = G(j)
Goc pha c tnh bang o. Gia tr bien o co the chuyen thanh decibel theo bieu thc:
magdB = 20*log10(mag)
Chung ta co the dung lenh fbode thay cho lenh bode oi vi cac he thong co the cheo nhau.
No s dung cac thuat giai nhanh hn da tren s cheo hoa cua ma tran he thong A.
d) V du:
Ve ap ng bien o va pha cua he bac 2 vi tan so t nhien
n
= 1 va he so tat dan = 0.2
[a,b,c,d] = ord2(1,0.2);
bode(a,b,c,d)
grid on
va ta c gian o Bode ap ng tan so cua he thong nh sau:
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-40
-30
-20
-10
0
10
-1
10
0
10
1
-150
-100
-50
0
2. Lenh FBODE
a) Cong dung:
Ve ap ng tan so gian o Bode cho he tuyen tnh lien tuc.
b) Cu phap:
[mag,phase,w] = fbode(a,b,c,d)
[mag,phase,w] = fbode(a,b,c,d,iu)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 139 - GVHD: PHAMQUANG HUY
[mag,phase,w] = fbode(a,b,c,d,iu,w)
[mag,phase,w] = fbode(num,den)
[mag,phase,w] = fbode(num,den,w)
c) Giai thch:
Lenh fbode tm nhanh ap ng tan so bien o va pha cua he lien tuc LTI. Neu bo qua cac oi
so ve trai cua dong lenh th lenh fbode se ve ra gian o Bode tren man hnh.
fbode(a,b,c,d) ve ra chuoi gian o Bode, moi gian o tng ng vi mot ngo vao cua he
khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
vi truc tan so c xac nh t ong. Neu ap ng thay oi nhanh th can phai xac nh
nhieu iem hn.
fbode(a,b,c,d,iu) ve ra gian o Bode t ngo vao duy nhat iu ti tat ca cac ngo ra cua he thong
vi truc tan so c xac nh t ong. iu la ch so ngo vao cua he thong va ch ra ngo vao nao
c s dung cho ap ng gian o Bode. fbode nhanh hn nhng kem chnh xac hn bode.
fbode(num,den) ve ra gian o Bode cua ham truyen a thc he lien tuc
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
fbode(a,b,c,d,iu,w) hay fbode(num,den,w) ve ra gian o Bode vi vector tan so w do ngi
s dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng tan so gian
o Bode c tnh.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = fbode(a,b,c,d)
[mag,phase,w] = fbode(a,b,c,d,iu)
[mag,phase,w] = fbode(a,b,c,d,iu,w)
[mag,phase,w] = fbode(num,den)
[mag,phase,w] = fbode(num,den,w)
se khong ve ra gian o Bode ma tao ra cac ma tran ap ng tan so mag, phase va w cua he
thong. Ma tran mag va phase co so cot ba ng so ngo ra va co so hang la length(w).
d) V du:
Ve ap ng bien o va pha cua he bac 2 vi tan so t nhien
n
= 1 va he so tat dan = 0.2
[a,b,c,d] = ord2(1,0.2);
fbode(a,b,c,d); grid on
va ta c ap ng nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 140 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-40
-30
-20
-10
0
10
-1
10
0
10
1
-150
-100
-50
0
3. Lenh DBODE
a) Cong dung:
Tm va ve ap ng tan so gian o Bode cua he gian oan.
b) Cu phap:
[mag,phase,w] = dbode(a,b,c,d,Ts)
[mag,phase,w] = bode(a,b,c,d,Ts,iu)
[mag,phase,w] = bode(a,b,c,d,Ts,iu,w)
[mag,phase,w] = bode(num,den,Ts)
[mag,phase,w] = bode(num,den,Ts,w)
c) Giai thch:
Lenh dbode tm ap ng tan so bien o va pha cua he lien tuc LTI. Lenh dbode khac vi
lenh freqz ma trong o ap ng tan so at c vi tan so cha chuan hoa. ap ng co c t
dbode co the c so sanh trc tiep vi ap ng lenh bode cua he thong lien tuc tng ng. Neu
bo qua cac oi so ve trai cua dong lenh th lenh dbode se ve ra gian o Bode tren man hnh.
dbode(a,b,c,d,Ts) ve ra chuoi gian o Bode, moi gian o tng ng vi mot ngo vao cua he
khong gian trang thai lien tuc:
x[n+] = Ax[n] + Bu{n]
y[n] = Cx[n] + Du[n]
vi truc tan so c xac nh t ong. Cac iem tan so c chon trong khoang t /Ts
(rad/sec), trong o /Ts (rad/sec) tng ng vi na tan so lay mau (tan so Nyquist). Neu ap ng
thay oi nhanh th can phai xac nh nhieu iem hn. Ts la thi gian lay mau.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 141 - GVHD: PHAMQUANG HUY
dbode(a,b,c,d,Ts,iu) ve ra gian o Bode t ngo vao duy nhat iu ti tat ca cac ngo ra cua he
thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va ch ra ngo vao nao c s dung cho ap ng gian o Bode.
dbode(num,den,Ts) ve ra gian o Bode cua ham truyen a thc he lien tuc gian oan.
G(z) = num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
dbode(a,b,c,d,Ts,iu,w) hay dbode(num,den,Ts,w) ve ra gian o Bode vi vector tan so w do
ngi s dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng tan
so gian o Bode c tnh. Hien tng trung pho xay ra tai tan so ln hn tan so Nyquist.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = dbode(a,b,c,d,Ts)
[mag,phase,w] = dbode(a,b,c,d,Ts,iu)
[mag,phase,w] = bode(a,b,c,d,Ts,iu,w)
[mag,phase,w] = bode(num,den,Ts)
[mag,phase,w] = bode(num,den,Ts,w)
se khong ve ra gian o Bode ma tao ra cac ma tran ap ng tan so mag, phase va w cua he
thong c tnh tai cac gia tr tan so w. Ma tran mag va phase co so cot bang so ngo ra va moi
hang ng vi mot thanh phan trong vector w.
G(z) = C(zI A)
-1
B + D
mag() = |G(e
jT
)|
phase() = G(e
jT
)
trong o T la thi gian lay mau. Goc pha c tnh bang o. Gia tr bien o co the chuyen
thanh decibel theo bieu thc:
magdB = 20*log10(mag)
d) V du:
Ve ap ng gian o Bode cua he thong co ham truyen nh sau:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
s z
z z
z H
vi thi gian lay mau Ts = 0.1
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
dbode(num,den,0.1); grid on
va ta c ap ng tan so gian o Bode cua he gian oan nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 142 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-10
0
10
20
10
-1
10
0
10
1
10
2
-50
0
50
100
4. Lenh FREQS
a) Cong dung:
Tm ap ng tan so cua phep bien oi Laplace.
b) Cu phap:
h = freqs(b,a,w)
[h,w] = freqs(b,a)
[h,w] = freqs(b,a,n)
freqs(b,a)
c) Giai thch:
Lenh freqs tr thanh ap ng tan so H(j) cua bo loc analog.
) 1 ( ...... ) 2 ( ) 1 (
) 1 ( ...... ) 2 ( ) 1 (
) (
) (
) (
1
1
+ + + +
+ + + +
= =
na a s a s a
nb b s b s b
s A
s B
s H
na na
nb nb
trong o vector b va a cha cac he so cua t so va mau so.
h = freqs(b,a,w) tao ra vector ap ng tan so phc cua bo loc analog c ch nh bi cac he
so trong vector b va a. Lenh freqs tm ap ng tan so trong mat phang phc tai cac thi iem tan
so c hc nh trong vector w.
[h,w] = freqs(b,a) t ong chon 200 iem tan so trong vector w e tnh vector ap ng tan so
h.
[h,w] = freqs(b,a,n) chon ra n iem tan so e tm vector ap ng tan so h.
Neu bo qua cac oi so ngo ra ve trai th lenh freqs se ve ra ap ng bien o va pha tren
man hnh.
freqs ch dung cho cac he thong co ngo vao thc va tan so dng.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 143 - GVHD: PHAMQUANG HUY
d) V du:
Tm va ve ap ng tan so cua he thong co ham truyen:
1 4 . 0
1 3 . 0 2 . 0
) (
2
2
+ +
+ +
=
s s
s s
s H
% Khai bao ham truyen:
a = [1 0.4 1];
b = [0.2 0.3 1];
% Xac nh truc tan so:
w = logspace(-1,1);
% Thc hien ve o th:
freqs(b,a,w)
10
-1
10
0
10
1
-150
-100
-50
0
Frequency (radi ans)
P
h
a
s
e
(
d
e
g
r
e
e
s
)
10
-1
10
0
10
1
10
-1
10
0
10
1
Frequency (radi ans)
M
a
g
n
i
t
u
d
e
5. Lenh FREQZ
a) Cong dung:
Tm ap ng tan so cua bo loc so.
b) Cu phap:
[h,w] = freqz(b,a,n)
[h,f] = freqz(b,a,n,Fs)
[h,w] = freqz(b,a,n,whole)
[h,f] = freqz(b,a,n,whole,Fs)
h = freqz(b,a,w)
h = freqz(b,a,f,Fs)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 144 - GVHD: PHAMQUANG HUY
freqz(b,a)
c) Giai thch:
Lenh freqz tm ap ng tan so H(e
jT
) cua bo loc so t cac he so t so va mau so trong vector
b va a.
[h,w] = freqz(b,a,n) tm ap ng tan so cua bo loc so vi n iem
na
nb
z na a z a a
z nb b z b b
z A
z B
z H
+ + + +
+ + + +
= =
) 1 ( ...... ) 2 ( ) 1 (
) 1 ( ...... ) 2 ( ) 1 (
) (
) (
) (
1
1
t cac he so trong vector b va a. freqz tao ra vector ap ng tan so hoi tiep va vector w cha
n iem tan so. freqz xac nh ap ng tan so tai n iem nam eu nhau quanh na vong tron n
v, v vay w cha n iem gia 0 va .
[h,f] = freqz(b,a,n,Fs) ch ra tan so lay mau dng Fs (tnh bang Hz). No tao ra vector f cha
cac iem tan so thc gia 0 va Fs/2 ma tai o leng se tnh ap ng tan so.
[h,w] = freqz(b,a,n,whole) va [h,f] = freqz(b,a,n,whole,Fs) s dung niem quanh vong
tron n v (t 0 ti 2 hoac t 0 ti Fs)
h = freqz(b,a,w) tao ra ap ng tan so tai cac iem tan so c ch trong vector w. Cac iem
tan so nay phai nam trong khoang (0 2).
h = freqz(b,a,f,Fs) tao ra ap ng tan so tai cac iem tan so c ch trong vector f. Cac iem
tan so nay phai nam trong khoang (0 Fs).
Neu bo qua cac oi so ngo ra th lenh freqz ve ra cac ap ng bien o va pha tren man hnh.
Lenh freqz dung cho cac he thong co ngo vao thc hoac phc.
d) V du:
Ve ap ng bien o va pha cua bo loc Butter.
[b,a] = butter(5,0.2);
freqz(b,a,128)
va ta c o th ap ng:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 145 - GVHD: PHAMQUANG HUY
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-500
-400
-300
-200
-100
0
Normal i zed frequency (Nyqui st == 1)
P
h
a
s
e
(
d
e
g
r
e
e
s
)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-300
-200
-100
0
100
Normal i zed frequency (Nyqui st == 1)
M
a
g
n
i
t
u
d
e
R
e
s
p
o
n
s
e
(
d
B
)
6. Lenh NYQUIST
a) Cong dung:
Ve bieu o ap ng tan so Nyquist.
b) Cu phap:
[re,im,w] = nyquist(a,b,c,d)
[re,im,w] = nyquist(a,b,c,d,iu)
[re,im,w] = nyquist(a,b,c,d,iu,w)
[re,im,w] = nyquist(num,den)
[re,im,w] = nyquist(num,den,w)
c) Giai thch:
Lenh nyquist tm ap ng tan so Nyquist cua he lien tuc LTI. Bieu o Nyquist dung e phan
tch ac iem cua he thong bao gom: bien d tr, pha d tr va tnh on nh.
Neu bo qua cac oi so ve trai cua dong lenh th nyquist se ve ra bieu o Nyquist tren man
hnh.
Lenh nyquist co the xac nh tnh on nh cua he thong hoi tiep n v. Cho bieu o Nyquist
cua ham truyen vong h G(s), ham truyen vong kn:
G
cl
(s) =
) ( 1
) (
s G
s G
+
la on nh khi bieu o Nyquist bao quanh iem 1+j0 P lan theo chieu kim ong ho, trong o
P la so cc vong h khong on nh.
nyquist(a,b,c,d) ve ra chuoi bieu o Nyquist, moi o th ng vi moi quan he gia mot ngo
vao va mot ngo ra cua he khong gian trang thai lien tuc:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 146 - GVHD: PHAMQUANG HUY
Bu Ax x + =
.
y = Cx + Du
vi truc tan so c xac nh t ong. Neu ap ng thay oi cang nhanh th can phai xac nh
cang nhieu iem tren truc tan so.
nyquist(a,b,c,d,iu) ve ra bieu o Nyquist t ngo vao duy nhat iu ti tat ca cac ngo ra cua he
thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va ch ra ngo vao nao c s dung cho ap ng Nyquist.
nyquist(num,den) ve ra bieu o Nyquist cua ham truyen a thc he lien tuc
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
nyquist(a,b,c,d,iu,w) hoac nyquist(num,den,w) ve ra bieu o Nyquist vi vector tan so w do
ngi s dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng
Nyquist c tnh.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[re,im,w] = nyquist(a,b,c,d)
[re,im,w] = nyquist(a,b,c,d,iu)
[re,im,w] = nyquist(a,b,c,d,iu,w)
[re,im,w] = nyquist(num,den)
[re,im,w] = nyquist(num,den,w)
khong ve ra bieu o Nyquist ma tao ra ap ng tan so cua he thong di dang cac ma tran re,
im va w. Cac ma tran re va im co so cot bang so ngo ra va moi hang ng vi mot thanh phan
trong vector w.
d) V du:
Ve bieu o Nyquist cua he thong co ham truyen:
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [2 5 1];
den = [1 2 3];
nyquist(num,den); title(Bieu do Nyquist)
va ta c bieu o Nyquist nh hnh ve:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 147 - GVHD: PHAMQUANG HUY
7. Lenh DNYQUIST
a) Cong dung:
Ve bieu o ap ng tan so Nyquist cua he gian oan.
b) Cu phap:
[re,im,w] = dnyquist(a,b,c,d,Ts)
[re,im,w] = dnyquist(a,b,c,d,Ts,iu)
[re,im,w] = dnyquist(a,b,c,d,Ts,iu,w)
[re,im,w] = dnyquist(num,den,Ts)
[re,im,w] = dnyquist(num,den,Ts,w)
c) Giai thch:
Lenh dnyquist tm ap ng tan so Nyquist cua he gian oan LTI. Bieu o Nyquist dung e
phan tch ac iem cua he thong bao gom: bien d tr, pha d tr va tnh on nh. ap ng tan so
dung lenh dnyquist co the so sanh trc tiep vi ap ng nyquist cua he lien tuc tng ng.
Neu bo qua cac oi so ve trai cua dong lenh th dnyquist se ve ra bieu o Nyquist tren man
hnh.
Lenh dnyquist co the xac nh tnh on nh cua he thong hoi tiep n v. Cho bieu o Nyquist
cua ham truyen vong h G(s), ham truyen vong kn:
G
cl
(z) =
) ( 1
) (
z G
z G
+
la on nh khi bieu o Nyquist bao quanh iem 1+j0 P lan theo chieu kim ong ho, trong o
P la so cc vong h khong on nh.
dnyquist(a,b,c,d,Ts) ve ra chuoi bieu o Nyquist, moi o th ng vi moi quan he gia mot
ngo vao va mot ngo ra cua he khong gian trang thai gian oan:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 148 - GVHD: PHAMQUANG HUY
x[n+] = Ax[n] + Bu{n]
y[n] = Cx[n] + Du[n]
vi truc tan so c xac nh t ong. Cac iem tan so c chon trong khoang t 0 en /Ts
radians tng ng vi na tan so lay mau (tan so Nyquist). Neu ap ng thay oi cang nhanh th
can phai xac nh cang nhieu iem tren truc tan so. Tan so la thi gian lay mau.
dnyquist(a,b,c,d,Ts,iu) ve ra bieu o Nyquist t ngo vao duy nhat iu ti tat ca cac ngo ra cua
he thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va ch ra ngo vao nao c s dung cho ap ng Nyquist.
dnyquist(num,den,Ts) ve ra bieu o Nyquist cua ham truyen a thc he gian oan:
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
dnyquist(a,b,c,d,Ts,iu,w) hoac dnyquist(num,den,w) ve ra bieu o Nyquist vi vector tan so
w do ngi s dung xac nh. Vector w ch ra cac iem tan so (tnh bang rad/s) ma tai o ap ng
Nyquist c tnh. Hien tng trung pho xay ra tai tan so ln hn tan so Nyquist (/Ts rad/s).
e tao ra truc tan so vi cac khoang tan so bang nhau theo logarit ta dung lenh logspace.
Neu van gi lai cac oi so ve trai cua dong lenh th:
[re,im,w] = dnyquist(a,b,c,d,Ts)
[re,im,w] = dnyquist(a,b,c,d,Ts,iu)
[re,im,w] = dnyquist(a,b,c,d,Ts,iu,w)
[re,im,w] = dnyquist(num,den,Ts)
[re,im,w] = dnyquist(num,den,Ts,w)
khong ve ra bieu o Nyquist ma tao ra ap ng tan so cua he thong di dang cac ma tran re,
im va w. Cac ma tran re va im cha cac phan thc va phan ao cua ap ng tan so cua he thong
c tnh tai cac gia tr tan so w, re va im co so cot bang so ngo ra va moi hang ng vi mot
thanh phan trong vector w.
d) V du:
Ve bieu o Nyquist cua he gian oan co ham truyen:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
z z
z z
z H
vi thi gian lay mau Ts = 0.1
% Xac nh ham truyen:
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
% Ve bieu o Nyquist:
dnyquist(num,den,0.1)
title(Bieu do Nyquist he gian doan)
va ta c bieu o Nyquist he gian oan nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 149 - GVHD: PHAMQUANG HUY
8. Lenh NICHOLS
a) Cong dung:
Ve bieu o ap ng tan so Nichols.
b) Cu phap:
[mag,phase,w] = nichols(a,b,c,d)
[mag,phase,w] = nichols(a,b,c,d,iu)
[mag,phase,w] = nichols(a,b,c,d,iu,w)
[mag,phase,w] = nichols(num,den)
[mag,phase,w] = nichols(num,den,w)
c) Giai thch:
Lenh nichols tm ap ng tan so Nichols cua he lien tuc LTI. Bieu o Nichols c dung e
phan tch ac iem cua he vong h va he vong kn.
Neu bo qua cac oi so ve trai cua dong lenh th lenh nichols se ve ra bieu o Nichols tren
man hnh.
nichols(a,b,c,d) ve ra chuoi bieu o Nichols, moi o th tng ng vi moi quan he gia mot
ngo vao va mot ngo ra cua he khong gian trang thai lien tuc:
Bu Ax x + =
.
y = Cx + Du
vi truc tan so c xac nh t ong. Neu ap ng thay oi nhanh th can phai xac nh cang
nhieu iem tren truc tan so.
nichols(a,b,c,d,iu) ve ra bieu o Nichols t ngo vao duy nhat iu ti tat ca cac ngo ra cua he
thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va ch ra ngo vao nao c s dung cho ap ng Nichols.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 150 - GVHD: PHAMQUANG HUY
nichols(num,den) ve ra bieu o Nichols cua ham truyen a thc he lien tuc
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
nichols(a,b,c,d,iu,w) hay nichols(num,den,w) ve ra bieu o Nichols vi vector tan so w do
ngi s dung xac nh. Vector w ch nh nhng iem tan so (tnh bang rad/s) ma tai o ap ng
Nichols c tnh.
e tao ra truc tan so vi cac khoang tan so bang nhau theo logarit ta dung lenh logspace.
Neu gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = nichols(a,b,c,d)
[mag,phase,w] = nichols(a,b,c,d,iu)
[mag,phase,w] = nichols(a,b,c,d,iu,w)
[mag,phase,w] = nichols(num,den)
[mag,phase,w] = nichols(num,den,w)
se khong ve ra bieu o Nichols ma tao ra ap ng tan so cua he thong di dang cac ma tran
mag, phase va w. Cac ma tran mag va phase cha ap ng bien o va pha cua he thong c xac
nh tai nhng iem tan so w. Ma tran mag va phase co so cot bang so ngo ra va moi hang ng
vi mot thanh phan trong vector w.
G(s) = C(sI A)
-1
B + D
mag() = |G(j)|
phase() = G(j)
Goc pha c tnh bang o va nam trong khoang 360
0
ti 0
0
.
Gia tr bien o co the chuyen ve n v decibel theo cong thc:
magdB = 20*log10(mag)
e ve li bieu o Nichols ta dung lenh ngrid.
d) V du: Trch trang 11-150 sach Control System Toolbox
Ve ap ng Nichols cua he thong co ham truyen:
60 525 282 30
600 250 18 48 4
) (
2 3 4
2 3 4
+ + + +
+ + +
=
s s s s
s s s s
s H
num = [-4 48 -18 250 600];
den = [1 30 282 525 60];
nichols(num,den)
title(Bieu do Nichols)
ngrid(new)
va ta c bieu o Nichols nh hnh ve:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 151 - GVHD: PHAMQUANG HUY
9. Lenh DNICHOLS
a) Cong dung:
Ve bieu o ap ng tan so Nichols cua he gian oan.
b) Cu phap:
[mag,phase,w] = dnichols(a,b,c,d,Ts)
[mag,phase,w] = dnichols(a,b,c,d,Ts,iu)
[mag,phase,w] = dnichols(a,b,c,d,Ts,iu,w)
[mag,phase,w] = dnichols(num,den,Ts)
[mag,phase,w] = dnichols(num,den,Ts,w)
c) Giai thch:
Lenh dnichols tm ap ng tan so Nichols cua he gian oan LTI. Bieu o Nichols c dung
e phan tch ac iem cua he vong h va he vong kn. ap ng t lenh dnichols co the so sanh
trc tiep vi ap ng t lenh nichols cua he lien tuc tng ng.
Neu bo qua cac oi so ve trai cua dong lenh th lenh dnichols se ve ra bieu o Nichols tren
man hnh.
dnichols(a,b,c,d,Ts) ve ra chuoi bieu o Nichols, moi o th tng ng vi moi quan he gia
mot ngo vao va mot ngo ra cua he khong gian trang thai gian oan:
x[n+] = Ax[n] + Bu{n]
y[n] = Cx[n] + Du[n]
vi truc tan so c xac nh t ong. Cac iem tan so c chon trong khoang t 0 ti /Ts
radians. Neu ap ng thay oi nhanh th can phai xac nh cang nhieu iem tren truc tan so.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 152 - GVHD: PHAMQUANG HUY
dnichols(a,b,c,d,Ts,iu) ve ra bieu o Nichols tren man hnh t ngo vao duy nhat iu ti tat ca
cac ngo ra cua he thong vi truc tan so c xac nh t ong. ai lng vo hng iu la ch so
ngo vao cua he thong va ch ra ngo vao nao c s dung cho ap ng Nichols.
dnichols(num,den,Ts) ve ra bieu o Nichols cua ham truyen a thc he gian oan
G(z) = num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
dnichols(a,b,c,d,Ts,iu,w) hay dnichols(num,den,Ts,w) ve ra bieu o Nichols vi vector tan so
w do ngi s dung xac nh. Vector w ch nh nhng iem tan so (tnh bang rad/s) ma tai o
ap ng Nichols c tnh. Hien tng trung pho xay ra tai tan so ln hn tan so Nyquist (/Ts
rad/s).
e tao ra truc tan so vi cac khoang tan so bang nhau theo logarit ta dung lenh logspace.
Neu gi lai cac oi so ve trai cua dong lenh th:
[mag,phase,w] = dnichols(a,b,c,d,Ts)
[mag,phase,w] = dnichols(a,b,c,d,Ts,iu)
[mag,phase,w] = dnichols(a,b,c,d,Ts,iu,w)
[mag,phase,w] = dnichols(num,den,Ts)
[mag,phase,w] = dnichols(num,den,Ts,w)
khong ve ra bieu o Nichols ma tao ra ap ng tan so cua he thong di dang cac ma tran
mag, phase va w. Cac ma tran mag va phase cha ap ng bien o va pha cua he thong c xac
nh tai nhng iem tan so w. Ma tran mag va phase co so cot bang so ngo ra va moi hang ng
vi mot thanh phan trong vector w.
G(z) = C(zI A)
-1
B + D
mag() = |G(e
jT
)|
phase() = G(e
jT
)
trong o T la thi gian lay mau. Goc pha c tnh bang o va nam trong khoang 360
0
ti
0
0
.
Gia tr bien o co the chuyen ve n v decibel theo cong thc:
magdB = 20*log10(mag)
e ve li bieu o Nichols ta dung lenh ngrid.
d) V du:
Ve ap ng Nichols cua he thong co ham truyen:
31 . 0 88 . 0 36 . 1 1 . 1
5 . 1
) (
2 3 4
+ + + +
=
z z z z
z H
num = 1.5;
den = [1 1.1 1.36 0.88 0.31];
ngrid(new)
dnichols(num,den,0.05)
title(Bieu do Nichols gian doan)
va ta c bieu o Nichols cua he gian oan:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 153 - GVHD: PHAMQUANG HUY
10. Lenh NGRID
a) Cong dung:
Tao li cho o th Nichols.
b) Cu phap:
ngrid
ngrid(new)
c) Giai thch:
Lenh grid tao li cho o th Nichols. o th nay co lien he vi so phc H/(1+H), trong o H
la mot so phc bat ky. Neu H la mot iem tren ap ng tan so vong h cua he SISO th H/(1+H)
la gia tr tng ng tren ap ng tan so vong kn cua he thong.
ngrid tao ra li trong vung co bien o t 40 dB ti 40 dB va goc pha t -360
0
ti 0
0
vi cac
ng hang so mag(H/(1+H)) va angle(H/(1+H)) c ve.
ngrid ve li o th Nichols ngoai bieu o Nichols a co nh bieu o c tao ra bi lenh
nichols hoac dnichols.
ngrid(new) xoa man hnh o hoa trc khi ve li va thiet lap trang thai gi e ap ng
Nichols co the c ve bang cach dung lenh:
ngrid(new)
nichols(num,den) hay nichols(a,b,c,d,iu)
d) V du:
Ve li tren bieu o Nichols cua he thong:
60 525 282 30
600 250 18 48 4
) (
2 3 4
2 3 4
+ + + +
+ + +
=
s s s s
s s s s
s H
num = [-4 48 -18 250 600];
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 154 - GVHD: PHAMQUANG HUY
den = [1 30 282 525 60];
nichols(num,den)
title(Bieu do Nichols)
ngrid(new)
va ta c o th ap ng nh sau:
11. Lenh MARGIN
a) Cong dung:
Tnh bien d tr va pha d tr.
b) Cu phap:
[Gm,Pm,Wcp,Wcg] = margin(mag,phase,w)
[Gm,Pm,Wcp,Wcg] = margin(num,den)
[Gm,Pm,Wcp,Wcg] = margin(a,b,c,d)
c) Giai thch:
Lenh margin tnh bien d tr (gain margin), pha d tr (phase margin) va tan so cat
(crossover frequency) t d lieu ap ng tan so. Bie n d tr va pha d tr da tren he thong vong
h SISO va cho biet tnh on nh tng oi cua he thong khi he thong la he thong vong kn.
Neu bo qua cac oi so ve trai dong lenh th gian o Bode vi bien d tr va pha d tr se
c ve tren man hnh.
Bien d tr la o li can tang them e tao ra o li vong n v tai tan so ma goc pha bang
180
0
. Noi cach khac, bien d tr la 1/g neu g la o li tai tan so goc pha 180
0
. Tng t, pha d
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 155 - GVHD: PHAMQUANG HUY
tr la s khac biet gia goc pha ap ng va 180
0
khi o li la 1. Tan so ma tai o bien o la 1
c goi la tan so o li n v (unity-gain frequency) hoac tan so cat.
margin(num,den) tnh bien d tr va pha d tr cua ham truyen lien tuc:
G(s) = num/den
Tng t, margin(a,b,c,d) tnh o d tr cua he khong gian trang thai (a,b,c,d). Vi cach nay,
lenh margin ch s dung cho he lien tuc. oi vi he gian oan, ta s dung lenh dbode e tm ap
ng tan so roi goi margin.
[mag,phase,w] = dbode(a,b,c,d,Ts)
margin(mag,phase,w)
[Gm,Pm,Wcp,Wcg] = margin(mag,phase,w) se khong ve ra cac o th ap ng ma tao ra cac
ma tran bien d tr Gm, pha d tr Pm, tan so ket hp Wcp, Wcg c cho bi cac vector bien o
mag, phase va tan so w cua he thong. Cac gia tr chnh xac c tm ra bang cach dung phep noi
suy gia cac iem tan so. Goc pha c tnh bang o.
d) V du:
Tm bien d tr, pha d tr va ve gian o Bode cua he bac 2 co
n
= 1 va = 0.2
[a,b,c,d] = ord(1,0.2);
bode(a,b,c,d)
margin(a,b,c,d)
[Gm,Pm,Wcp,Wcg] = margin(a,b,c,d)
va ta c ket qua:
Gm = lnf()
Pm = 32.8599 o
Wcg = NaN (khong xac nh)
Wcp = 1.3565
Gian o Bode cua he:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 156 - GVHD: PHAMQUANG HUY
12. Lenh SIGMA
a) Cong dung:
Tm gian o Bode gia tr suy bien cua he khong gian trang thai.
b) Cu phap:
[sv,w] = sigma(a,b,c,d)
[sv,w] = sigma(a,b,c,d,inv)
[sv,w] = sigma(a,b,c,d,w)
[sv,w] = sigma(a,b,c,d,w,inv)
c) Giai thch:
Lenh sigma tnh cac gia tr suy bien cua ma tran phc C(jI-A)
-1
B+D theo ham cua tan so .
Cac gia tr suy bien la m rong cua ap ng bien o gian o Bode cua he MIMO.
Neu bo qua cac oi so ve trai cua dong lenh th sigma se ve ra gian o Bode cua gia tr suy
bien tren man hnh.
[sv,w] = sigma(a,b,c,d) ve ra gian o suy bien cua ma tran phc:
G(w) = C(jI-A)
-1
B+D
theo ham cua tan so. Truc tan so c chon t ong va phoi hp nhieu iem neu o th thay
iem nhanh.
oi vi cac ma tran vuong, sigma(a,b,c,d,inv) ve o th cac gia tr suy bien cua ma tran
phc ao:
G
-1
(w) = [C(jI-A)
-1
B+D]
-1
sigma(a,b,c,d,w) hoac sigma(a,b,c,d,w,inv) ve o th cac gia tr suy bien vi vector tan so
do ngi s dung xac nh. Vector w ch ra nhng tan so (tnh bang rad/s) ma tai o ap ng cac
gia tr suy bien c tnh.
Neu gi lai cac oi so ve trai dong lenh th:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 157 - GVHD: PHAMQUANG HUY
G(s)
G
-1
(s)
[sv,w] = sigma(a,b,c,d)
[sv,w] = sigma(a,b,c,d,inv)
[sv,w] = sigma(a,b,c,d,w)
[sv,w] = sigma(a,b,c,d,w,inv)
khong ve ra cac o th ap ng ma tao ra cac ma tran suy bien theo chieu giam dan cua bac
tng ng vi cac iem tan so trong vector w.
oi vi phep phan tch ran chac, cac gia tr suy bien cua ma tran ham truyen ac biet c
phan tch.
Ve thc hien cac lenh e at c ma tran ham truyen mong muon cua mot so khoi c
trnh bay trong bang sau:
Ma tran ham truyen S o khoi Lenh
G(j) sigma(a,b,c,d)
G
-1
(j) sigma(a,b,c,d,inv)
1+G(j)
[a,b,c,d] = parallel(a,b,c,d,[ ],[ ],[ ],eye(d))
sigma(a,b,c,d)
[a,b,c,d] = feedback([ ],[ ],[ ],eye(d),a,b,c,d)
sigma(a,b,c,d,inv)
1+G
-1
(j)
[a,b,c,d] = feedback(a,b,c,d,[ ],[ ],[ ],eye(d))
sigma(a,b,c,d)
ap ng gia tr suy bien cua he SISO tng ng vi ap ng bien o gian o Bode cua he
o.
d) V du:
Xet he bac 2 co
n
= 1 va = 0.2. Ve o th gia tr suy bien cua he thong.
[a,b,c,d] = ord(1,0.2);
margin(a,b,c,d)
title(Gia tri suy bien)
va ta c ap ng nh hnh ve:
G(s)
G(s)
G
-1
(s)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 158 - GVHD: PHAMQUANG HUY
13. Lenh DSIGMA
a) Cong dung:
Tm gian o Bode gia tr suy bien cua he khong gian trang thai.
b) Cu phap:
[sv,w]= dsigma(a,b,c,d,Ts)
[sv,w]= dsigma(a,b,c,d,Ts,inv)
[sv,w]= dsigma(a,b,c,d,Ts,w)
[sv,w]= dsigma(a,b,c,d,Ts,w,'inv')
c) Giai thch:
Lenh dsigma tnh cac gia tr suy bien cua ma tran phc C(e
jT
I-A)
-1
+B+D theo ham cua tan
so . Cac gia tr suy bien la m rong cua ap ng bien o gian o Bode cua he MIMO va co the
c dung e xac nh o ran chac cua he thong.
Neu bo qua cac oi so ve trai dong lenh th dsigma se ve ra gian o Bode cua gia tr suy
bien tren man hnh.
dsigma(a,b,c,d,Ts) ve gian o suy bien cua ma tran phc :
G(w) = C(e
jT
I-A)
-1
+B+D
theo ham cua tan so. Cac iem tan so c chon t ong trong khoang t 0 ti /Ts rad/sec
trong o /Ts rad/sec tng ng vi na tan so lay mau (tan so Nyquist). Neu o th thay oi
nhanh th can chon nhieu iem tan so hn.
oi vi cac he thong co ma tran vuong, dsigma(a,b,c,d,Ts,inv) ve o th cac gia tr suy bien
cua ma tran phc ao :
G
-1
(w) = [C(e
jT
I-A)
-1
B+D]
-1
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 159 - GVHD: PHAMQUANG HUY
G(s)
G
-1
(s)
G(s)
G(s)
G
-1
(s)
dsigma(a,b,c,d,Ts,w) hoac dsigma(a,b,c,d,Ts,inv) ve o th cac gia tr suy bien vi vector
tan so do ngi s dung xac nh. Vector w ch ra nhng tan so (tnh bang rad/sec) ma tai o ap
ng cac gia tr suy bien c tnh. Hien tng trung pho xay ra tai tan so ln hn tan so Nyquist
(/Ts rad/sec).
e tao ra vector tan so c chia eu theo logarit tan so ta dung lenh logspace.
Neu gi lai cac oi so ve trai dong lenh th :
[sv,w]= dsigma(a,b,c,d,Ts)
[sv,w]= dsigma(a,b,c,d,Ts,inv)
[sv,w]= dsigma(a,b,c,d,Ts,w)
[sv,w]= dsigma(a,b,c,d,Ts,w,inv)
khong ve ra cac o th ap ng ma tao ra cac gia tr suy bien trong sv va cac iem tan so w.
Moi hang cua ma tran sv cha cac gia tr suy bien theo chieu giam dan cua bac tng ng vi cac
iem tan so trong vector w.
oi vi phep phan tch ran chac, cac gia tr suy bien cua ma tran ham truyen ac biet c
phan tch.
Viec thc hien cac lenh e at c ma tran ham truyen mong muon cua mot so khoi c
trnh bay trong bang sau :
Ma tran ham truyen S o khoi Lenh
G(j) dsigma(a,b,c,d)
G
-1
(j) dsigma(a,b,c,d, inv)
1+ G(j)
[a,b,c,d]= parallel(a,b,c,d,[ ],[ ],[ ],eye(d))
dsigma(a,b,c,d)
[a,b,c,d]=feedback([ ],[ ],[ ],eye(d),a,b,c,d)
dsigma(a,b,c,d,inv)
1+G
-1
(j)
[a,b,c,d]= feedback(a,b,c,d,[ ],[ ],[ ],eye(d))
dsigma(a,b,c,d)
ap ng gia tr suy bien cua he SISO tng ng vi ap ng bien o gian o Bode cua he
o.
d) V du:
Xet he bac 2 co
n
= 1 va = 0.2. Ve o th gia tr suy bien cua he thong vi thi gian lay
mau Ts = 0.1
[a,b,c,d]= ord2(1,0.2);
bode(a,b,c,d)
dsigma(a,b,c,d,0.1)
title('Gia tri suy bien gian doan')
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 160 - GVHD: PHAMQUANG HUY
va ta co gian o Bode gia tr suy bien :
14. Lenh LTIFR
a) Cong dung:
ap ng tan so cua he tuyen tnh bat bien.
b) Cu phap:
ltifr(a,b,s)
c) Giai thch:
Lenh ltifr dung e m rong ap ng tan so cua he khong gian trang thai tuyen tnh bat bien.
G = Ltifr(a,b,s) tm ap ng tan so cua he thong vi mot ngo vao duy nhat :
G(s) = (sI A)
-1
B
Vector s ch ra so phc ma tai o ap ng tan so c xac nh. oi vi ap ng gian o
Bode he lien tuc, s nam tren truc ao. oi vi ap ng gian o Bode he gian oan, s nhan cac gia
tr quanh vong tron n v.
ltifr tao ra ap ng tan so di dang ma tran phc G vi so cot bang so trang thai hay so hang
cua ma tran A va co so hang la length(s).
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 161 - GVHD: PHAMQUANG HUY
CAC BAI TAP VE AP NG TAN SO
Bai 1: ham margin (bai tap nay trch t trang 11-138 sach Control System Toollbox
hd=tf([0.04798 0.0464],[1 -1.81 0.9048],0.1)
Transfer function:
0.04798 z + 0.0464
---------------------
z^2 - 1.81 z + 0.9048
Sampling time: 0.1 ; Thi gian lay mau: 0,1
[Gm,Pm,Wcg,Wcp]=margin(hd);
[Gm,Pm,Wcg,Wcp]
ans =
2.0517 13.5712 5.4374 4.3544
margin(hd)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 162 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Diagrams
-80
-60
-40
-20
0
20
Gm=6.2424 dB (at 5.4374 rad/sec), Pm=13.571 deg. (at 4.3544 rad/sec)
10
1
-300
-200
-100
0
Bai 2: lenh modred (bai tap nay trch t trang 11-142 sach Control System Toollbox
65 , 99 7 , 153 2 96 , 74 3 6 , 14 4
26 36 2 11 3
) (
+ + + +
+ + +
=
s s s s
s s s
s h
h=tf([1 11 36 26],[1 14.6 74.96 153.7 99.65])
Transfer function:
s^3 + 11 s^2 + 36 s + 26
--------------------------------------------
s^4 + 14.6 s^3 + 74.96 s^2 + 153.7 s + 99.65
[hb,g]=balreal(h)
a =
x1 x2 x3 x4
x1 -3.6014 -0.82121 -0.61634 -0.058315
x2 0.82121 -0.59297 -1.0273 -0.090334
x3 -0.61634 1.0273 -5.9138 -1.1272
x4 0.058315 -0.090334 1.1272 -4.4918
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 163 - GVHD: PHAMQUANG HUY
b =
u1
x1 1.002
x2 -0.10641
x3 0.086124
x4 -0.0081117
c =
x1 x2 x3 x4
y1 1.002 0.10641 0.086124 0.0081117
d =
u1
y1 0
Continuous-time model.
g =
0.1394
0.0095
0.0006
0.0000
g'
ans =
0.1394 0.0095 0.0006 0.0000
hmdc=modred(hb,2:4,'mdc')
a =
x1
x1 -4.6552
b =
u1
x1 1.1392
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 164 - GVHD: PHAMQUANG HUY
c =
x1
y1 1.1392
d =
u1
y1 -0.017857
Continuous-time model.
hdel=modred(hb,2:4,'del')
a =
x1
x1 -3.6014
b =
u1
x1 1.002
c =
x1
y1 1.002
d =
u1
y1 0
Continuous-time model.
bode(h,'-',hmdc,'x',hdel,'*')
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 165 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Diagrams
-80
-60
-40
-20
0
From: U(1)
10
-1
10
0
10
1
10
2
10
3
-200
-150
-100
-50
0
T
o
:
Y
(
1
)
Bai 3: (Trang 11-16 sach Control System Toollbox)
Xem zero-pole-gain (zero-cc-o li) cua he thong sau:
sys=zpk([-10 -20.01],[-5 -9.9 -20.1],1)
Zero/pole/gain:
(s+10) (s+20.01)
----------------------
(s+5) (s+9.9) (s+20.1)
[sys,g]=balreal(sys)
a =
x1 x2 x3
x1 -4.9697 0.2399 -0.22617
x2 -0.2399 -4.2756 9.4671
x3 -0.22617 -9.4671 -25.755
b =
u1
x1 1
x2 0.024121
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 166 - GVHD: PHAMQUANG HUY
x3 0.022758
c =
x1 x2 x3
y1 1 -0.024121 0.022758
d =
u1
y1 0
Continuous-time model.
g =
0.1006
0.0001
0.0000
g'
ans =
0.1006 0.0001 0.0000
sysr=modred(sys,[2 3],'del')
a =
x1
x1 -4.9697
b =
u1
x1 1
c =
x1
y1 1
d =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 167 - GVHD: PHAMQUANG HUY
u1
y1 0
Continuous-time model.
zpk(sysr)
Zero/pole/gain:
1.0001
--------
(s+4.97)
bode(sys,'-',sysr,'x')
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Diagrams
-50
-40
-30
-20
-10
From: U(1)
10
0
10
1
10
2
-100
-80
-60
-40
-20
0
T
o
:
Y
(
1
)
Bai 4: Trch t trang 55 sach Hng dan s dung MATLAB tac gia Nguyen Van Giap.
Ve bieu o nyquist cua he thong:
H(s) = (s+4)/(s
2
+ 3s 8)
num=[1 4];
den=[1 3 -8];
nyquist(num,den);
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 168 - GVHD: PHAMQUANG HUY
Real Axis
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyquist Diagrams
-1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
From: U(1)
T
o
:
Y
(
1
)
Bai 5: Trch trang 11-147 sach Control System Toolbox
Ve ap ng Nichols cua he thong co ham truyen:
60 525 282 30
600 250 18 48 4
) (
2 3 4
2 3 4
+ + + +
+ + +
=
s s s s
s s s s
s H
H=tf([-4 48 -18 250 600],[1 30 282 525 60])
Transfer function:
-4 s^4 + 48 s^3 - 18 s^2 + 250 s + 600
--------------------------------------
s^4 + 30 s^3 + 282 s^2 + 525 s + 60
Nichols(H)
ngrid
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 169 - GVHD: PHAMQUANG HUY
Open-Loop Phase (deg)
O
p
e
n
-
L
o
o
p
G
a
i
n
(
d
B
)
Nichols Charts
-600 -500 -400 -300 -200 -100 0
-15
-10
-5
0
5
10
15
20
From: U(1)
T
o
:
Y
(
1
)
Bai 6: Trang 131 sach ng dung MATLAB trong ieu khien t ong tac gia Nguyen Van
Giap.
Tren gian o Nichols ve ng cong logarit bien o pha cua ham truyen he thong
k
H(s) =
S
3
+52s
2
+100s
k=438;
num=k;
den=[1 52 100 0];
w=.1:.1:10;
[mag,phase]=bode(num,den,w);
ngrid,
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 170 - GVHD: PHAMQUANG HUY
-350 -300 -250 -200 -150 -100 -50 0
-40
-30
-20
-10
0
10
20
30
40
Open-Loop Phase (deg)
O
p
e
n
-
L
o
o
p
G
a
i
n
(
d
B
)
6 dB
3 dB
1 dB
0.5 dB
0.25 dB
0 dB
-1 dB
-3 dB
-6 dB
-12 dB
-20 dB
-40 dB
NHOM LENH VE AP NG THI GIAN
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 171 - GVHD: PHAMQUANG HUY
(Time Response)
1. Lenh IMPULSE
a) Cong dung:
Tm ap ng xung n v.
b) Cu phap:
[y,x,t] = impulse(a,b,c,d)
[y,x,t] = impulse(a,b,c,d,iu)
[y,x,t] = impulse(a,b,c,d,iu,t)
[y,x,t] = impulse(num,den)
[y,x,t] = impulse(num,den,t)
c) Giai thch:
Lenh impulse tm ap ng xung n v cua he tuyen tnh. Neu bo qua cac oi so ben trai th
lenh impulse se ve ra ap ng xung tren man hnh.
impulse(a,b,c,d) tao ra chuoi o th ap ng xung, moi o th ng vi mot moi quan he
vao ra cua he lien tuc LTI:
.
x = Ax + Bu
y = Cx + Du
vi vector thi gian c xac nh t ong.
impulse(a,b,c,d,iu) tao ra ap ng xung t ngo vao duy nhat iu ti toan bo cac ngo ra cua he
thong vi vector thi gian c xac nh t ong. iu la ch so ngo vao cua he thong va ch ra ngo
vao nao c dung cho ap ng xung.
impulse(num,den) tao ra o th ap ng xung cua a thc ham truyen:
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
impulse(a,b,c,d,iu,t) hay impulse(num,den,t) dung vector thi gian t do ngi s dung quy
nh. Vector t ch nh nhng thi iem ma ap ng xung c tnh va vector t phai c ch chia
thanh cac khoang eu nhau.
Neu gi cac oi so ben trai:
[y,x,t] = impulse(a,b,c,d)
[y,x,t] = impulse(a,b,c,d,iu)
[y,x,t] = impulse(a,b,c,d,iu,t)
[y,x,t] = impulse(num,den)
[y,x,t] = impulse(num,den,t)
khong ve ra cac o th ma tao ra cac ma tran ap ng trang thai va ap ng ngo ra cua he
thong va vector thi gian t. Ma tran y va x cha cac ap ng trang thai va ap ng ngo ra cua he
thong c xac nh tai nhng thi iem t. Ma tran y co so cot la so ngo ra va moi hang ng vi
mot thanh phan trong vector t. Ma tran x co so cot la so trang thai va mo i hang ng vi mot thanh
phan trong vector t.
d) V du: (Trch t trang 11-95 sach control System Toolbox)
Ve ap ng xung cua he khong gian trang thai bac 2 sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 172 - GVHD: PHAMQUANG HUY
u
0
1
x
x
0 8 . 0
8 . 0 5 . 0
x
x
2
1
2
.
1
.
| | | | u 0
x
x
5 . 6 9 . 1 y
2
1
+
=
% Khai bao he thong:
a = [-0.5 -0.8 ; 0.8 0];
b = [1 ; 0];
c = [1.9 6.5];
d = [0];
% Ve ap ng xung:
impulse(a,b,c,d); title(Dap ung xung) (at tieu e cho o th)
va cuoi cung ta nhan c o th ap ng xung nh sau:
2. Lenh DIMPULSE
a) Cong dung:
Tm ap ng xung n v cua he gian oan.
b) Cu phap:
[y,x] = dimpulse(a,b,c,d)
[y,x] = dimpulse(a,b,c,d,iu)
[y,x] = dimpulse(a,b,c,d,iu,n)
[y,x] = dimpulse(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 173 - GVHD: PHAMQUANG HUY
[y,x] = dimpulse(num,den,n)
c) Giai thch:
Lenh dimpulse tm ap ng xung n v cua he tuyen tnh gian oan. Neu bo qua cac oi so
ben trai th th lenh dimpulse se ve ra ap ng xung tren man hnh.
dimpulse(a,b,c,d) tao ra chuoi o th ap ng xung, moi o th ap ng vi mot moi quan he
vao ra cua he gian oan LTI:
x[n + 1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
vi so iem lay mau c xac nh t ong.
dimpulse(a,b,c,d,iu) tao ra o th ap ng xung t ngo vao duy nhat iu ti toan bo cac ngo ra
cua he thong vi so iem lay mau c xac nh t ong. iu la ch so ngo vao cua he thong va ch
ra ngo vao nao c dung cho ap ng xung.
dimpulse(num,den) tao ra o th ap ng xung cua a thc ham truyen:
G(z) = num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua z.
dimpulse(num,den,n) hay dimpulse(a,b,c,d,iu,n) dung so iem lay mau n do ngi s dung
ch nh.
Neu gi cac oi so ben trai:
[y,x] = dimpulse(a,b,c,d)
[y,x] = dimpulse(a,b,c,d,iu)
[y,x] = dimpulse(a,b,c,d,iu,n)
[y,x] = dimpulse(num,den)
[y,x] = dimpulse(num,den,n)
khong ve ra cac o th ma tao ra cac ma tran ap ng ngo ra va ap ng trang thai cua he
thong. Ma tran y va x cha cac ap ng trang thai va ngo ra cua he thong c xac nh tai
nhng iem lay mau. Ma tran y co so cot la so ngo ra. Ma tran x co so cot la so trang thai.
d) V du:
Ve ap ng xung cua he gian oan co ham truyen sau:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+ +
=
z
z z
z H
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
dimpulse(num,den); title(Dap ung xung he gian doan)
va cuoi cung ta c o th ap ng xung he gian oan nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 174 - GVHD: PHAMQUANG HUY
3. Lenh INITIAL
a) Cong dung:
Tm ap ng ieu kien ban au.
b) Cu phap:
[y,x,t] = initial(a,b,c,d,x0)
[y,x,t] = initial(a,b,c,d,x0,t)
c) Giai thch:
Lenh initial dung e tm ap ng cua he tuyen tnh lien tuc ng vi ieu kien ban au cua
cac trang thai. Neu bo qua cac oi so ben trai th lenh initial se ve ra ap ng ieu kien ban au
tren man hnh.
initial(a,b,c,d,x0) ve ra o th ap ng ieu kien ban au cua tat ca cac ngo ra cua he lien tuc
LTI:
.
x = Ax + Bu
y = Cx + Du
vi vector thi gian c xac nh t ong. x0 la vector trang thai ban au.
initial(a,b,c,d,x0,t) ve ra o th ap ng ban au vi vector thi gian t do ngi s dung xac
nh. Vector t se ch ra nhng thi iem ma tai o ap ng ieu kien ban au c tnh.
Neu s dung cac oi so ve trai cua dong lenh th:
[y,x,t] = initial(a,b,c,d,x0)
[y,x,t] = initial(a,b,c,d,x0,t)
se khong ve ra cac o th ap ng ma tao ra cac ma tran ap ng trang thai x, ap ng ngo ra
y va vector thi gian t cua he thong oi vi ieu kien ban au x0. Ma tran y va x cha cac ap
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 175 - GVHD: PHAMQUANG HUY
ng ngo ra va ap ng trang thai cua he thong c tnh tai thi iem t. Ma tran y co so cot bang
so ngo ra va moi hang ng vi mot thanh phan trong vector t. Ma tran x co so cot bang so trang
thai va moi cot ng vi mo t thanh phan trong vector t.
d) V du:
Ve ap ng ieu kien ban au cua he khong gian trang thai bac 2 sau:
u
x
x
x
x
0
1
0 7814 . 0
7814 . 0 5572 . 0
2
1
2
.
1
.
| | | | u
x
x
y 0 4493 . 6 9691 . 1
2
1
+
=
vi ieu kien ban au x0 = [1 0]
% Khai bao he thong, ieu kien ban au va truc thi gian:
a = [-0.5572 -0.7814 ; 0.7814 0];
b = [1 ; 0];
c = [1.9691 6.4493];
d = [0];
x0 = [1 0];
t = 0:0.1:20;
% Ve ap ng:
initial(a,b,c,d,x0,t)
title(Dap ung dieu kien ban dau)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 176 - GVHD: PHAMQUANG HUY
4. Lenh DINITIAL
a) Cong dung:
Tm ap ng ieu kien ban au cua he gian oan.
b) Cu phap:
[y,x] = dinitial(a,b,c,d,x0)
[y,x] = dinitial(a,b,c,d,x0,n)
c) Giai thch:
Lenh dinitial dung e tm ap ng cua he tuyen tnh gian oan ng vi ieu kien ban au cua
cac trang thai. Neu bo qua cac oi so ben trai th lenh dinitial se ve ra ap ng ieu kien ban
au tren man hnh.
dinitial(a,b,c,d,x0) ve ra o th ap ng ieu kien ban au cua tat ca cac ngo ra cua he gian
oan LTI:
x[n + 1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
vi so iem lay mau c xac nh t ong. x0 la vector trang thai ban au.
dinitial(a,b,c,d,x0,n) ve ra o th ap ng ban au vi so iem lay mau n do ngi s dung
xac nh.
Neu s dung cac oi so ve trai cua dong lenh th:
[y,x] = dinitial(a,b,c,d,x0)
[y,x] = dinitial(a,b,c,d,x0,n)
se khong ve ra cac o th ap ng ma tao ra cac ma tran ap ng trang thai x, ap ng ngo ra
y cua he thong oi vi ieu kien ban au x0. Ma tran y co so cot bang so ngo ra va ma tran x co
so cot bang so trang thai.
d) V du:
Ve ap ng ieu kien ban au cua he khong gian trang thai bac 2:
u
5049 . 6
1841 . 4
] n [ x
] n [ x
0 1
2027 . 0 7497 . 0
] 1 n [ x
] 1 n [ x
2
1
2
1
+
+
| |
=
] [
] [
0 9321 . 3
2
1
n x
n x
y
vi ieu kien ban au x0 = [1 0]
a = [-0.7497 -0.2027 ; 1 0];
b = [-4.1841 ; -6.5049];
c = [3.9321 0];
d = [0];
dinitial(a,b,c,d,[1 0]);
title(Dap ung dieu kien ban dau cua he gian doan)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 177 - GVHD: PHAMQUANG HUY
5. Lenh LSIM
a) Cong dung:
Mo phong he thong lien tuc vi cac ngo vao tuy y.
b) Cu phap:
[y,c] = lsim(a,b,c,d,u,t)
[y,c] = lsim(a,b,c,d,u,t,x0)
[y,c] = lsim(num,den,u,t)
c) Giai thch:
Lenh lsim dung e mo phong he tuyen tnh lien tuc vi cac ngo vao tuy y.
Neu bo qua cac oi so ve trai cua dong lenh th lenh lsim ve ra ra o th tren man hnh.
Cho he khong gian trang thai LTI:
.
x = Ax + Bu
y = Cx + Du
lsim(a,b,c,d,u,t) ve ra o th ap ng thi gian cua he thong vi ngo vao thi gian ban au
nam trong ma tran u. Ma tran u phai co so cot bang so ngo vao u. Moi hang cua ma tran u tng
ng vi mot thi gian mi va ma tran u phai co so hang la length(t). Vector t ch ra truc thi gian
cho qua trnh mo phong va phai chia thanh cac oan bang nhau. Neu dung them oi so x0 ve
phai th lenh lsim(a,b,c,d,u,t,x0) se ch ra ieu kien ban au cua cac trang thai.
lsim(num,den,u,t) ve ra ap ng thi gian cua ham truyen a thc:
G(s) = num(s)/den(s)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 178 - GVHD: PHAMQUANG HUY
Neu gi lai cac oi so ve trai th:
[y,c] = lsim(a,b,c,d,u,t)
[y,c] = lsim(a,b,c,d,u,t,x0)
[y,c] = lsim(num,den,u,t)
se khong ve ra cac o th ap ng ma tao ra cac ma tran y va x, trong o ma tran y la ap
ng ngo ra va ma tran x la ap ng trang thai cua he thong. Ma tran y co so cot bang so ngo ra y
va moi hang ng vi mot hang cua ma tran u. Ma tran x co so cot bang so trang thai x va moi
hang ng vi mot hang cua ma tran u.
d) V du: (Trch t trang 11-127 sach Control System Toolbox)
Mo phong va ve o th ap ng cua he thong co ham truyen:
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
vi chu ky song vuong la 10s.
num = [2 5 1];
den = [1 2 3];
t = 0:.1:10;
period = 4;
u = (rem(t,period)) >= period./2);
lsim(num,den,u,t); title(Dap ung cua song vuong)
va ta c o th ap ng cua he nh sau:
6. Lenh DLSIM
a) Cong dung:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 179 - GVHD: PHAMQUANG HUY
Mo phong he thong gian oan vi cac ngo vao tuy y.
b) Cu phap:
[y,c] = dlsim(a,b,c,d,u,t)
[y,c] = dlsim(a,b,c,d,u,x0)
[y,c] = dlsim(num,den,u)
c) Giai thch:
Lenh lsim dung e mo phong he tuyen tnh gian oan vi cac ngo vao tuy y.
Neu bo qua cac oi so ve trai cua dong lenh th lenh dlsim ve ra ra o th tren man hnh.
Cho he khong gian trang thai LTI:
x[n + 1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
dlsim(a,b,c,d,u) ve ra o th ap ng thi gian cua he thong vi ngo vao thi gian ban au
nam trong ma tran u. Ma tran u phai co so cot bang so ngo vao u. Moi hang cua ma tran u tng
ng vi mot thi iem mi. Neu dung them oi so x0 ve phai th lenh lsim(a,b,c,d,u,x0) se ch
ra ieu kien ban au cua cac trang thai.
lsim(num,den,u) ve ra ap ng thi gian cua ham truyen a thc:
G(z) = num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
Neu gi lai cac oi so ve trai th:
[y,c] = dlsim(a,b,c,d,u)
[y,c] = dlsim(a,b,c,d,u,x0)
[y,c] = dlsim(num,den,u)
se khong ve ra cac o th ap ng ma tao ra cac ma tran y va x, trong o ma tran y la ap
ng ngo ra va ma tran x la ap ng trang thai cua he thong. Ma tran y co so cot bang so ngo ra y
va moi hang ng vi mot hang cua ma tran u. Ma tran x co so cot bang so trang thai x va moi
hang ng vi mot hang cua ma tran u.
d) V du:
Mo phong ap ng cua he thong gian oan co ham truyen:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
z z
z z
z H
vi 100 mau cua nhieu ngau nhien.
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
rand(nomal)
u = rand(100,1);
dlsim(num,den,u)
title(Dap ung nhieu)
va ta c o th ap ng cua he nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 180 - GVHD: PHAMQUANG HUY
7. Lenh STEP
a) Cong dung:
Tm ap ng nac n v.
b) Cu phap:
[y,x,t] = step(a,b,c,d)
[y,x,t] = step(a,b,c,d,iu)
[y,x,t] = step(a,b,c,d,iu,t)
[y,x,t] = step(num,den)
[y,x,t] = step(num,den,t)
c) Giai thch:
Lenh step tm ap ng nac n v cua he tuyen tnh lien tuc.
Neu bo qua cac oi so ve trai cua dong lenh th lenh step ve ra ap ng nac tren man hnh.
step(a,b,c,d) ve ra chuoi o th ap ng nac, moi o th tng ng vi moi quan he gia mot
ngo vao va mot ngo ra cua he lien tuc LTI:
.
x = Ax + Bu
y = Cx + Du
vi vector thi gian c xac nh t ong.
step(a,b,c,d,iu) ve ra o th ap ng nac t mot ngo vao duy nhat ti tat ca cac ngo ra cua he
thong vi vector thi gian c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua he
thong va no ch ra ngo vao nao c s dung cho ap ng xung.
step(num,den) ve ra o th ap ng nac cua ham truyen a thc:
G(s) =num(s)/den(s)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 181 - GVHD: PHAMQUANG HUY
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
step(a,b,c,d,iu,t) hay step(num,den,t) cung ve ra ap ng nac cua he khong gian trang thai
hay ham truyen vi vector thi gian t do ngi s dung xac nh. Vector t ch ra nhng thi iem
ma tai o ap ng nac c tnh va vector t phai c chia thanh nhng oan eu nhau.
Neu gi lai cac oi so ve trai cua dong lenh th:
[y,x,t] = step(a,b,c,d)
[y,x,t] = step(a,b,c,d,iu)
[y,x,t] = step(a,b,c,d,iu,t)
[y,x,t] = step(num,den)
[y,x,t] = step(num,den,t)
khong ve ra cac o th ap ng ma tao ra cac ma tran ap ng ngo ra y va ma tran ap ng
trang thai x cuahe thong c xac nh tai nhng thi iem t. Ma tran y co so cot bang so ngo ra
va moi hang ng vi mot thanh phan trong vector t. Ma tran x co so cot bang so trang thai va moi
hang ng vi mot thanh phan trong vector t.
d) V du:
Ve o th ap ng nac cua he khong gian trang thai bac 2 sau:
u
x
x
x
x
0
1
0 7814 . 0
7814 . 0 5572 . 0
2
1
2
.
1
.
| | | | u
x
x
y 0 4493 . 6 9691 . 1
2
1
+
=
a = [-0.5572 -0.7814 ; 0.7814 0];
b = [1 ; 0];
c = [1.9691 6.4493];
d = [0];
step(a,b,c,d); title(Dap ung nac)
va ta c o th ap ng nac cua he thong nh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 182 - GVHD: PHAMQUANG HUY
8. Lenh DSTEP
a) Cong dung:
Tm ap ng nac n v cua he gian oan.
b) Cu phap:
[y,x] = dstep(a,b,c,d)
[y,x] = dstep(a,b,c,d,iu)
[y,x] = dstep(a,b,c,d,iu,n)
[y,x] = dstep(num,den)
[y,x] = dstep(num,den,n)
c) Giai thch:
Lenh dstep tm ap ng nac n v cua he tuyen tnh gian oan.
Neu bo qua cac oi so ve trai cua dong lenh th lenh dstep ve ra ap ng nac tren man
hnh.
dstep(a,b,c,d) ve ra chuoi o th ap ng nac, moi o th tng ng vi moi quan he gia mot
ngo vao va mot ngo ra cua he gian oan LTI:
x[n + 1] = Ax[n] + Bu[n]
y[n] = Cx[n] + Du[n]
vi so iem lay mau c xac nh t ong.
dstep(a,b,c,d,iu) ve ra o th ap ng nac t mot ngo vao duy nhat ti tat ca cac ngo ra cua
he thong vi so iem lay mau c xac nh t ong. ai lng vo hng iu la ch so ngo vao cua
he thong va no ch ra ngo vao nao c s dung cho ap ng xung.
dstep(num,den) ve ra o th ap ng nac cua ham truyen a thc:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 183 - GVHD: PHAMQUANG HUY
G(z) =num(z)/den(z)
trong o num va den cha cac he so a thc theo chieu giam dan so mu cua s.
dstep(a,b,c,d,iu,n) hay dstep(num,den,n) cung ve ra ap ng nac cua he khong gian trang
thai hay ham truyen vi so iem lay mau do ngi s dung xac nh.
Neu gi lai cac oi so ve trai cua dong lenh th:
[y,x] = dstep(a,b,c,d)
[y,x] = dstep(a,b,c,d,iu)
[y,x] = dstep(a,b,c,d,iu)
[y,x] = dstep(num,den)
[y,x] = dstep(num,den,n)
khong ve ra cac o th ap ng ma tao ra cac ma tran ap ng ngo ra y va ma tran ap ng
trang thai x cuahe thong. Ma tran y co so cot ba ng so ngo ra. Ma tran x co so cot bang so trang
thai.
d) V du:
Ve ap ng nac cua he gian oan cua he co ham truyen nh sau:
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
z z
z z
z H
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
dstep(num,den)
title(Dap ung nac he gian doan)
va ta c o th ap ng nac cua he nh hnh ben:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 184 - GVHD: PHAMQUANG HUY
9. Lenh LTITR
a) Cong dung:
Tm ap ng thi gian cua he tuyen tnh bat bien.
b) Cu phap:
ltitr(a,b,u)
ltitr(a,b,u,x0)
c) Giai thch:
Lenh ltitr dung e m rong ap ng thi gian cua he tuyen tnh bat bien. No mo phong cho
he khong gian trang thai gian oan:
x = ltitr(a,b,u) m rong ap ng cua he gian oan:
x[n + 1] = Ax[n] + Bu[n]
oi vi ngo vao u. Ma tran u phai co so cot bang so ngo vao u. Moi hang cua ma tran u tng
ng vi mot iem thi gian mi.
ltitr tao ra ma tran x vi so cot bang so trang thai x va co so hang la length(u).
Neu them vao ve phai dong lenh tham so x0 th ieu kien ban au se c thiet lap vi lenh
x = ltitr(a,b,u,x0)
10. Lenh FILTER
a) Cong dung:
Loc d lieu vi ap ng xung khong xac nh hay ap ng xung xac nh.
b) Cu phap:
y = filter(b,a,X)
[y,zf] = filter(b,a,X)
[y,zf] = filter(b,a,X,zi)
y = filter(b,a,X,zi,dim)
[...] = filter(b,a,X,[ ],dim)
c) Giai thch:
Lenh fiter loc d lieu tua n t s dung bo loc so cho cac ngo vao thc va phc.
y = filter(b,a,X) loc d lieu trong vector X vi bo loc c mo ta bi vector he so t so b va
vector he so mau so a. Neu a(1) khong bang 1, bo loc se chuan hoa he so loc bi a(1). Neu a(1)
bang 0 th se bao loi.
Neu X la mot ma tran, bo loc se thc hien tren cac cot cua X. Neu X la mot mang a chieu,
bo loc se thc hien theo chieu duy nhat.
[y,zf] = filter(b,a,X) tao ma tran ieu kien cuoi cung zf cua bo tre. Ngo ra zf la mot vector
cua max(size(a),size(b)) hoac mot tap hp cac vector vi moi vector la mot cot cua X.
[y,zf] = filter(b,a,X,zi) chap nhan ieu kien ban au zi va tao ra ieu kien cuoi cung cuoi
cung zf cua bo loc tre. Ngo vao zi la mot vector co kch thc length(a),length(b)) 1.
y = filter(b,a,X,zi,dim) va [...] = filter(b,a,X,[ ],dim) thc hien loc theo chieu dim.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 185 - GVHD: PHAMQUANG HUY
CAC BAI TAP VE AP NG THI GIAN
Bai1: Lenh pade: Tnh toan sap x
Bai nay trch t trang 11-66 sach Control System Toollbox
pade(0.1,3)
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
-1
-0.5
0
0.5
1
1.5
Time (secs)
A
m
p
l
i
t
u
d
e
Step response of 3rd-order Pade approximation
10
1
10
2
10
3
-1000
-800
-600
-400
-200
0
Frequency (rad/s)
P
h
a
s
e
(
d
e
g
.
)
Phase response
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 186 - GVHD: PHAMQUANG HUY
Bai 2: Trch t trang 11-24 sach Control System Toollbox
s -1
H(s) = -------------------
s
2
+ 4s +5
H=tf([1 -1],[1 4 5],'inputdelay',035)
Transfer function:
s - 1
exp(-35*s) * -------------
s^2 + 4 s + 5
Hd=c2d(H,0.1,'foh')
Transfer function:
0.04226 z^2 - 0.01093 z - 0.03954
z^(-350) * ---------------------------------
z^2 - 1.629 z + 0.6703
Sampling time: 0.1
step(H,'-',Hd,'--')
Time (sec.)
A
m
p
l
i
t
u
d
e
Step Response
0 5 10 15 20 25 30 35 40
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
From: U(1)
T
o
:
Y
(
1
)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 187 - GVHD: PHAMQUANG HUY
2s
2
+ 5s + 1
s
2
+ 2s + 3
Bai 3: Trang 11-127, H(s) = s - 1
s
2
+s+5
[u,t]=gensig('square',4,10,0.1);
H=[tf([2 5 1],[1 2 3]);tf([1 -1],[1 1 5])];
lsim(H,u,t)
Ket qua:
Bai tap nay c trch t trang 11-127 sach Control System Toolbox
Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
-2
-1
0
1
2
3
T
o
:
Y
(
1
)
0 1 2 3 4 5 6 7 8 9 10
-0.6
-0.4
-0.2
0
0.2
0.4
T
o
:
Y
(
2
)
Bai 4: Dung lenh lsim, trch t trang 11-130 sach Control Systen Toollbox
Dch e: Ve ap ng khau bac 2 cua ham truyen sau:
2
= ) (s h
s
2
+ 2s +
2
= 62,83
w2=62.83^2
w2 =
3.9476e+003
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 188 - GVHD: PHAMQUANG HUY
h=tf(w2,[1 2 w2]);
t=0:0.1:5; %vector of time sample:
u=(rem(t,1)>=0.5); %square ware value :
lsim(h,u,t)
Ket qua:
Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-1
-0.5
0
0.5
1
1.5
2
T
o
:
Y
(
1
)
Bai 5: Trang 11-131 sach Control Systen Toollbox
Ta lay so lieu bai 24 nhng thi gian mau la 0,1.
Chng trnh:
w2=62.83^2;
hd=c2d(h,0.1);
t=0:0.1:5; %vector of time sample:
u=(rem(t,1)>=0.5); %square ware value :
lsim(hd,u,t)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 189 - GVHD: PHAMQUANG HUY
Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
T
o
:
Y
(
1
)
Bai 6: Trang 11-132 sach Control Systen Toollbox
Cung lay so lieu 2 bai tren.
w2=62.83^2;
h=tf(w2,[1 2 w2]);
t=0:0.1:5; %vector of time sample:
u=(rem(t,1)>=0.5); %square ware value :
hd=c2d(h,0.1);
lsim(h,'b--',hd,'r-',u,t) %
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 190 - GVHD: PHAMQUANG HUY
Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-1
-0.5
0
0.5
1
1.5
2
T
o
:
Y
(
1
)
Bai 7: Trch t trang 46 sach ng dung matlab trong ieu khien t ong
Phng trnh bien trang thai cua he thong tuyen tnh bat bien theo thi gian la:
Chng trnh c viet trong file.m:
%function [yout,x] = lsim(A, B, C, D, U, t, x0)
%Phuong trinh bien trang thai cua mot he thong tuyen tinh
% bat bien theo thoi gian la:
% .
% x1
% . 0 1 0 x1 1
% {x2} = { 0 0 1 } { x2 } + {1} r(t)
% . -6 -11 -6 x3 1
% x3
% 1
% y=[1 1 0]x, x(0)= 0.5
% -0.5
% Xac dinh x(t),y(t) khi r(t) la ham bac don vi
hold on
grid on
A=[0 1 0;0 0 1;-6 -13 -6];
B=[1;1;1];%xac dinh vi ban dau va hinh dang cua do thi x1,y,x2,x3
C=[1 1 0];
D=0;
x0=[1 .5 -.5]; %vecto hang dieu kien ban dau
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 191 - GVHD: PHAMQUANG HUY
t=0:.05:8; %buoc nhay
U=ones(1,length(t));%tao vecto hang u(t)
[x,y]=lsim(A,B,C,D,U,t,x0);
plot(t,x,t,y)
title('BAI GIAI BT15')
xlabel('Thoi gian-giay')
text(3.8,1.8,'y'),text(3.8,2.6,'x1');%Canh vi tri cua y va x1 tren do thi
text(3.8,-0.6,'x2'),text(3.8,-1.4,'x3')%Canh vi tri cua x2 va x3 tren do thi
Bai
9:
trch
t
trang
48
sach
tac
gia
Nguy
en
Van
Giap.
Cung
vi
yeu
cau
nh
bai
28, nhng r(t)=sin(2t).
Chng trnh soan trong file.m:
%function [yout,x] = lsim(A, B, C, D, U, t, x0)
%BT16:Ve do thi y(t),x(t) cua bai BT15 neu r(t)=sin(2pit)
A=[0 1 0;0 0 1;-6 -11 -6];
B=[1;1;1];C=[1 1 0];D=0;
x0=[1 .5 -.5]; %vecto hang dieu kien ban dau
t=0:.05:4; %buoc nhay
r=sin(2*pi*t);
[y,x]=lsim(A,B,C,D,r,t,x0);
plot(t,x,t,y)
title('BAI GIAI BT16')
xlabel('Thoi gian-giay')
0 1 2 3 4 5 6 7 8
-2
-1
0
1
2
3
4
BAI GIAI BT15
Thoi gian-giay
y
x1
x2
x3
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 192 - GVHD: PHAMQUANG HUY
text(3.8, 1.8,'y'),text(3.8, 2.6,'x1')
text(3.8, -8,'x2'),text(3.8, -1.4,'x3')
0 0.5 1 1.5 2 2.5 3 3.5 4
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
BAI GIAI BT16
Thoi gian-giay
y
x1
x2
x3
ai
Bai 10: Xet ham truyen sau:
25 s 8 s
10 s
) s ( G
2
+ +
+
=
e tnh ap ng bc cua he thong nay ta dung cau truc nh sau:
[out,state,tt]=step([1 10],[1 8 25])
Gia s ta muon phan tch mot ap ng bc cua he thong thay oi, vi zero cua ham truyen
thay oi nhng o li dc (dc gain) cua he thong khong oi, e gi lai cho he thong cung mau va
thay oi he so cua so ha ng au trong a thc cua t,tc la he so cua s, v vay ma dc gain la hang
so va zero thay oi.
V du : he thong nh v du tren nhng so hang ban au cua a thc t so thay oi thanh (-4,-
2,-1,0,1,2,4)
Ta thc hien trong ca so lenh cua matlab nh sau:
coef=[-4 -2 -1 0 1 2 4];
den=[1 8 25];
[y,x,t]=step([coef' 10*ones(length(coef),1)],den);
mesh(coef,t,y)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 193 - GVHD: PHAMQUANG HUY
Ket qua nh hnh:
Hnh 3.7: So sanh gia cac ap ng step
Bai 11: ap ng xung (impulse)
V du he thong co ham truyen sau:
25 s 2 s
10 s
) s ( G
2
+ +
+
=
Ve ap ng xung cua he thong:
impulse([1 10],[1 2 25])
Gia s ta muon phan tch ap ng xung thay oi nh the nao khi zero cua ham truyen thay oi,
khong thay oi dc gain cua he thong. giong nh v du phan trc ta co :
coef=[-4 -2 -1 0 1 2 4];
den=[1 2 25];
impulse([coef' 10*ones(length(coef),1)],den);
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 194 - GVHD: PHAMQUANG HUY
Ket qua nh hnh sau:
Bai 12: Trch t trang 716 sach The Student Edition of MATLAB
Dch e: Thiet ke 1 khau gom 10 bo loc cua dai bang truyen ngang co tan so t 100 en 200
Hz va ve ap ng xung cua no:
n=5;wn=[100 200]/500;
[b,a]=butter(n,wn);
[y,t]=impz(b,a,101);
stem(t,y)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 195 - GVHD: PHAMQUANG HUY
0 10 20 30 40 50 60 70 80 90 100
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
Bai 13: ap ng tng ngo vao
Mot van e tong quat hn la ta co the tnh c tn hieu ngo ra cua he thong LTI vi mot tnh
hieu ngo vao khong ong nhat.
V du nh he thong bac nhat sau:
x y
u x x
.
=
+ =
He thong nay b tac ong vi mot tn hieu ngo vao hnh sin co tan so la 1Hz, tn hieu ngo ra thu
c bi cau truc:
>> freq=1; t=0:0.05:10;
>> u=sin(2*pi*freq*t); lsim(-1,1,1,0,u,t)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 196 - GVHD: PHAMQUANG HUY
Ket qua la hnh sau:
Hnh : ap ng tng ngo vao
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 197 - GVHD: PHAMQUANG HUY
VE GIAN O BODE, NyQuist, Nichols
LY THUYET:
Gian o Bode gom hai o th: o th logarith bien o cua ham truyen va goc pha theo
logarith tan so. (mot n v truc hoanh goi la mot decade).
Bien o : |G(j)|
dB
= 20 log
10
|G(j)| (2.22)
Pha : = G(j) (hay arg G(j)) (2.23)
Gian o Bode cua cac khau c ban:
* Khau khuech ai:
Ham truyen at G(s) = K
Gian o Bode L() = 20 lgM() = 20 lgK la 1 ng thang song song vi truc hoanh.
* Khau quan tnh bac 1:
Ham truyen at G(s) =
1 Ts
K
+
Bieu o Bode L() = 20 lgM() = 20 lgK 20lg 1 T
2 2
+ co o doc giam
20dB/decade
* Khau vi phan bac 1:
Ham truyen at G(s) = K(Ts + 1)
Gian o Bode L() = 20 lgM() = 20 lgK + 20lg 1 T
2 2
+ co o doc tang 20dB/decade
* Khau tch phan:
Ham truyen at G(s) =
s
K
Gian o Bode L() = 20 lgM() = 20 lgK 20lg
* Khau bac 2:
Ham truyen at G(s) =
2 2
2
2
n n
n
s s
+ +
Gian o Bode L() = -20lg ( )
2 2 2
2
2 2
4 1 t t +
BAI TAP
Bai 1:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 198 - GVHD: PHAMQUANG HUY
Ve gian o Bode he thong hoi tiep n v cua ham truyen vong h sau:
G(s) =
) s 1 . 0 1 ( s
10
+
num = 10;
den = [0.1 1 0];
bode(num,den)
Ket qua:
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-40
-20
0
20
40
10
-1
10
0
10
1
10
2
-160
-140
-120
-100
He thong gom 1 khau khuech ai bang 10, mot khau tch phan va mot khau quan tnh bac
1
Tan so gay: 10.
' G(jw)'
dB
= 20dB 20log
Tai tan so = 1rad/sec ' G(jw)'
dB
= 20dB va o doc 20dB/decade (do khau tch phan).
o doc 20dB/decade tiep tuc cho en khi gap tan so cat = 10rad/sec, tai tan so nay ta cong
them 20dB/decade (do khau quan tnh bac nhat) va tao ra o doc -40dB/dec.
Bai 2:
G(s) =
) 1000 )( 10 )( 1 (
) 100 ( 10
5
+ + +
+
s s s
s
num = 100000*[1 100];
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 199 - GVHD: PHAMQUANG HUY
den = [1 1011 11010 10000];
bode(num,den)
Ket qua:
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-50
0
50
10
-1
10
0
10
1
10
2
10
3
10
4
-150
-100
-50
He thong gom mot khau khuech ai 10
5
, mot khau vi phan bac nhat va 3 khau quan tnh
bac 1.
Tan so gay: 1,10,100,1000.
' G(jw)'
dB'w = 0
= 60dB
Tai tan so gay = 1rad/sec co o li 60dB va o doc 20dB/decade (v khau quan tnh
bac 1). o doc 20dB/decade c tiep tuc en khi gap tan so gay = 10rad/sec tai ay ta cong
them -20dB/decade(v khau quan tnh bac 1), tao ra o doc 40dB/dec. o doc - 20dB tan so
= 100rad/dec (do khau vi phan bac 1). Tai tan so gay = 100rad/sec tang 20dB (v khau vi
phan bac 1). Tao ra o doc co o doc -20dB.
Tai tan so gay = 1000rad/sec giam 20dB (v khau quan tnh bac 1). Tao ra o doc - 40dB.
Bai 3:
G(s) =
2
) s 1 . 0 1 ( s
10
+
num = 10;
den = [0.01 0.2 1 0 ];
bode(num,den)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 200 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-60
-40
-20
0
20
40
10
-1
10
0
10
1
10
2
-250
-200
-150
-100
He thong gom mot khau khuech ai 10, mot khau tch phan va 1 thanh phan cc kep.
Tan so gay: 10.
' G(jw)'
dB
= 20dB 20log
Tan so gay nho nhat = 0.1 rad/sec tai tan so nay co o li 40dB va o doc 20dB (do
khau tch phan). o doc nay tiep tuc cho ti tan so gay kep = 10. tan so nay se giam
40dB/decade, tao ra o doc 60dB/dec.
Bai 4:
G(s) =
) 100 s )( 1 s ( s
) 10 s ( 10
2
+ +
+
num = 100*[1 10];
den = [1 101 100 0];
bode(num,den)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 201 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-50
0
50
10
-2
10
-1
10
0
10
1
10
2
10
3
-160
-140
-120
-100
He thong gom mot khau khuech ai 100, mot khau tch phan va 2 khau quan tnh bac 1, 1
khau vi phan.
Tan so gay: 1,10,100
' G(jw)'
dB'w = 0
= 20log10 20log
Ta ch xet trc tan so gay nho nhat 1decade. Tai tan so gay = 0.1rad/sec co o li
40dB va o doc 20dB/dec, o doc 20dB/dec tiep tuc cho en khi gap tan so gay = 1rad/sec,
ta cong them 20dB/dec (v khau quan tnh bac 1) va tao ra o doc 40dB/dec. Tai tan so =10
se tang 20dB/dec (v khau vi phan) tao ra o doc 20dB/dec, o doc 20db/dec c tiep tuc
cho en khi gap tan so gay = 100rad/sec se giam 20dB/dec (v khau quan tnh bac 1) se tao o
doc 40dB/decade.
Bai 5: Bai nay trch t trang 11-21 sach Control System Toollbox
Ve gian o bode cua he thong hoi tiep SISO co ham sau:
S
2
+01.s+7.5
H(s) = -----------------------
S
2
+0.12s
3
+9s
2
g=tf([1 0.1 7.5],[1 0.12 9 0 0]);
bode(g)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 202 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Diagrams
-40
-20
0
20
40
From: U(1)
10
-1
10
0
10
1
-200
-150
-100
-50
0
T
o
:
Y
(
1
)
Bai 6: Trang 11-153 sach Control System Toolbox
Ve gian o bode cua ham ri rac sau, vi thi gian lay mau la: 0,1.
z
3
-2.841z
2
+2.875z-1.004
H(z) = ----------------------------------
z
3
+2.417z
2
+2.003z-0.5488
H=tf([1 -2.841 2.875 -1.004],[1 -2.417 2.003 -0.5488],0.1);
norm(H)
ans =
1.2438
[ninf,fpeak]=norm(H,inf)
ninf =
2.5488
fpeak =
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 203 - GVHD: PHAMQUANG HUY
3.0844
bode(H)
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Diagrams
-5
0
5
10
From: U(1)
10
0
10
1
-400
-300
-200
-100
0
100
T
o
:
Y
(
1
)
20*log(ninf)
ans =
18.7127
Bai 7: Trch t trang 5-18 sach Control System Toolbox
Bai nay cho ta xem cong dung cua lenh chia truc subplot
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(121)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 204 - GVHD: PHAMQUANG HUY
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(121)
bode(h)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 205 - GVHD: PHAMQUANG HUY
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(222)
bode(h)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 206 - GVHD: PHAMQUANG HUY
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(121)
bode(h)
subplot(222)
bode(h)
subplot(224)
bode(h)
Ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 207 - GVHD: PHAMQUANG HUY
Bieu o Nichols
Ly thuyet:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 208 - GVHD: PHAMQUANG HUY
Cong dung: e xac nh o on nh va ap ng tan so vong kn cua he thong hoi tiep ta
s dung bieu o Nichols. S on nh c anh gia t ng cong ve moi quan he cua o
li theo ac tnh pha cua ham truyen vong h. ong thi ap ng tan so vong kn cua he
thong cung c xac nh bang cach s dung ng cong bien o va o di pha vong kn
khong oi phu len ng cong bien o pha vong h.
Cu phap:
[mod,phase,puls]= nichols(A,B,C,D);
[mod,phase,puls]= nichols(A,B,C,D,ui);
[mod,phase]= nichols(A,B,C,D,ui,w);
[mod,phase,puls]= nichols(num,den);
[mod,phase]= nichols(num,den,w);
Nhng cau truc tren cho o ln la nhng gia tr t nhien, pha la o va vect cua diem tan so la
rad/s. S ton tai cua iem tan so ma ap ng tan so c nh gia bang vect w, va ui la bien
khai bao vi he thong nhieu ngo vao.
Chu y:
+ khi s dung lenh nichols vi cau truc khong co bien ngo ra th ta c bieu o nichols.
+ lenh nichols luon luon cho pha trong khoang [-360
0
,0
0
]
Bai 8: cho he thong co ham truyen sau:
( )
3
2
1 s s
1 s 7 s
30 ) s ( G
+
+ +
=
Cac bc thc hien:
num=30*[1 7 1];
den=[poly([-1 -1 -1]) 0];
hold on, plot(-180,0,'*r'), hold on;
nichols(num,den)
Tra ve bieu o nichols vi iem ti han critical point
(-180
0
,0) c bieu dien nh hnh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 209 - GVHD: PHAMQUANG HUY
Hnh: Bieu o Nichols
DANG BAI TAP VE BIEU O NYQUYST VA KHAO SAT ON NH
DUNG GIAN O BODE
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 210 - GVHD: PHAMQUANG HUY
LY THUYET:
He thong on nh trang thai h, se on nh trang thai kn neu bieu o Nyquist
khong bao iem (-1+i0) tren mat phang phc.
He thong khong on nh trang thai h, se on nh trang thai kn neu bieu o
Nyquist bao iem (-1+i0)p lan ngc chieu kim ong ho (p la so cc GH nam phai mat
phang phc).
BAI TAP:
T dau nhac cua ca so MATLAB, ta nhap:
num = [nhap cac he so cua t so theo chieu giam dan cu a so mu].
den = [nhap cac he so cua mau so theo chieu giam dan cua so mu].
nyquist(num,den)
Bai 9:
GH(s) =
st 1
k
(k = 10, t = 1)
num = 10;
den = [-1 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 212 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhan xet: ham truyen vong h co 1 cc nam ben phai mat phang phc va 1 cc nam tai goc toa
o. Bieu o Nyquist khong bao iem A (-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao (Imaginary
Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so lenh MATLAB ta dung lenh margin:
num = 10;
den = [-1 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 213 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-1
10
0
-80
-60
-40
-20
Ket luan:
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Warning: Closed loop is unstable (he vong kn khong on nh).
Bai 11: Cho he thong sau
GH(s) =
( )( ) 1 s t 1 s t
k
2 1
+ +
(k =10, t
1
= 1, t
2
= 2)
num = 10;
den = [2 3 1];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 214 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-6
-4
-2
0
2
4
6
Nhan xet: ham truyen vong h co 2 cc nam ben trai mat phang phc. Bieu o Nyquist khong
bao iem A (-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he thong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB dung lenh margin.
num = 10;
den = [2 3 1];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 215 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-20
-10
0
10
20
Gm = Inf, Pm=38.94 deg. (at 2.095 rad/sec)
10
0
-150
-100
-50
Ket luan: he thong on nh.
o d tr bien (Gm = ).
o d tr pha (Pm = 38.94), tai tan so cat bien 2.095 rad/sec.
Bai 12: Cho he thong co ham truyen sau:
GH(s) =
( )( ) 1 s t 1 s t s
k
2 1
+ +
(k = 10 t
1
=1, t
2
=2)
num = 10;
den = [2 3 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 216 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyqui st Di agrams
-30 -25 -20 -15 -10 -5
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhan xet: ham truyen vong h co 2 cc nam ben trai mat phang phc va 1 cc zero. Bieu o
Nyquist bao iem A(-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB ta dung lenh margin e kiem chng
lai he:
num = 10;
den = [2 3 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 217 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-40
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-1
10
0
-250
-200
-150
-100
Ket luan: he thong khong on nh.
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0)
Bai 12:
GH(s) =
( )( )( ) 1 s t 1 s t 1 s t s
k
3 2 1
+ + +
( t
1
=1, t
2
= 2, t
3
= 3, k = 10)
num = 10;
den = [6 11 6 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 218 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyqui st Di agrams
-60 -50 -40 -30 -20 -10 0
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhan xet: ham truyen vong h co 3 cc nam ben trai mat phang phc va 1 cc zero. Bieu o
Nyquist bao iem A (-1+i0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB, dung lenh margin e kiem chng lai
he:
num = 10;
den = [6 11 6 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 219 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-50
0
50
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-2
10
-1
10
0
-300
-200
-100
Ket luan: he thong khong on nh.
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 220 - GVHD: PHAMQUANG HUY
NHOM LENH VE QUY AO NGHIEM
(Roots Locus)
1. Lenh PZMAP
a) Cong dung:
Ve bieu o cc-zero cua he thong.
b) Cu phap:
[p,z]= pzmap(num,den)
[p,z]= pzmap(a,b,c,d)
[p,z]= pzmap(a,b,c,d)
c) Giai thch:
Lenh pzmap ve bieu o cc-zero cua he LTI. oi vi he SISO th cac cc va zero cua
hamtruyen c ve.
Neu bo qua cac oi so ngo ra th lenh pzmap se ve ra bieu o cc-zero tren man hnh.
pzmap la phng tien tm ra cac cc va zero tuyen at cua he MIMO.
pzmap(a,b,c,d) ve cac cc va zero cua he khong gian trang thai trong mat phang phc. oi
vi cac he thong MIMO, lenh se ve tat ca cac zero truyen at t tat ca cac ngo vao ti tat ca cac
ngo ra. Trong mat phang phc, cac cc c bieu dien bang dau con cac zero c bieu dien
bang dau o.
pzmap(num,den) ve cac cc va zero cua ham truyen trong mat phang phc. Vector num va
den cha cac he so t so va mau so theo chieu giam dan so mu cua s.
pzmap(p,z) ve cac cc va zero trong mat phang phc. Vector cot p cha toa o cac cc va
vector cot z cha toa o cac zero trong mat phang phc. Lenh nay ve cac cc va zero a c
tnh san trong mat phang phc.
Neu gi lai cac oi so ngo ra th :
[p,z]= pzmap(num,den)
[p,z]= pzmap(a,b,c,d)
[p,z]= pzmap(a,b,c,d)
tao ra cac ma tran p va z trong o p cha cac cc con z cha cac zero.
d) V du: (Trch trang 11-174 sach Control system Toolbox)
Ve cac cc va zero cua he lien tuc co ham truyen :
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [2 5 1];
den = [1 2 3];
pzmap(num,den)
title(Bieu do cuc-zero)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 221 - GVHD: PHAMQUANG HUY
2. Lenh RLOCFIND
a) Cong dung:
Tm o li quy ao nghiem vi tap hp nghiem cho trc.
b) Cu phap:
[k,poles]= rlocfind(a,b,c,d)
[k,poles]= rlocfind(num,den)
[k,poles]= rlocfind(a,b,c,d,p)
[k,poles]= rlocfind(num,den,p)
c) Giai thch:
Lenh rlocfind tao ra o li quy ao nghiem ket hp vi cac cc tren quyao nghiem. Lenh
rlocfind c dung cho he SISO lien tuc va gian oan.
[k,poles]= rlocfind(a,b,c,d) tao ra dau x trong ca so o hoa ma ta dung e chon mot iem
tren quy ao nghiem co san. o li cua iem nay c tao ra trong k va cac cc ng vi o li
nay nam trong poles. e s dung lenh nay th quy ao nghiem phai co san trong ca so o hoa.
[k,poles]= rlocfind(num,den) tao ra dau x trong ca so o hoa ma ta dung e chon mot iem
tren quy ao nghiem cua he thong co ham truyen G = num/den trong o co num va den cha cac
he so a thc theo chieu giam dan so mu cua s hoac z.
[k,poles]= rlocfind(a,b,c,d,p) hoac [k,poles]= rlocfind(num,den,p) tao ra vector o li k va
vector cac cc ket hp pole vi moi thanh phan trong moi vector ng vi moi nghiem trong p.
d) V du: (Trch t trang 11-180 sach Control System Toolbox)
Xac nh o li hoi tiep e cac cc vong kn cua he thong co he so tat dan = 0.707 va co
ham truyen :
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 222 - GVHD: PHAMQUANG HUY
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
num = [2 5 1];
den = [1 2 3];
% Ve quy ao nghiem:
rlocus(num,den);title(Do loi quy dao nghiem);
% Tm o li tai iem c chon:
rlocfind(num,den);
Sau khi nhap xong lenh, tren man hnh cua Matlab se xuat hien dong ch:
Select a point in the graphics window
va tren hnh ve co thc e ta keo chuot va chon iem
ta co quy ao nghiem:
3. Lenh RLOCUS
a) Cong dung:
Tm quy ao nghiem Evans.
b) Cu phap:
r = rlocus(num,den)
r = rlocus(num,den,k)
r = rlocus(a,b,c,d)
r = rlocus(a,b,c,d,k)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 223 - GVHD: PHAMQUANG HUY
c) Giai thch:
Lenh rlocus tm quy ao nghiem Evans cua he SISO. Quy ao nghiem c dung e nghien
cu anh hng cua viec thay oi o li hoi tiep len v tr cc cua he thong, cung cap cac thong tin
ve ap ng thi gian va ap ng tan so. oi vi oi tng ieu khien co ham truyen G(s) va khau
bo chnh hoi tiep k*f(s), ham truyen vong kn la :
) (
) (
) ( ) ( 1
) (
) (
s q
s g
s f s kg
s g
s h =
+
=
Neu bo qua cac oi so ngo ra th lenh rlocus se ve ra quy ao tren man hnh. Lenh rlocus
dung cho ca he lien tuc va gian oan.
r = rlocus(num,den) ve quy ao nghiem cua ham truyen :
q(s) = 1 + k
) (
) (
s den
s num
= 0
vi vector o li k c xac nh t ong. Vector num va den ch ra he t so va mau so theo
chieu giam dan so cua s hoac z.
) ( ...... ) 2 ( ) 1 (
) ( ...... ) 2 ( ) 1 (
) (
) (
2 1
2 1
nd den s den s den
nn num s num s num
s den
s num
nd nd
nn nn
+ + +
+ + +
=
r = rlocus(a,b,c,d) ve ra quy ao nghiem cua he khong gian trang tai SISO lien tuc va gian
oan vi vector o li c xac nh t ong
r = rlocus(num,den,k) hoac r = rlocus(a,b,c,d,k) ve ra quy ao nghiem vi vector o li k do
ngi s dung xac nh. Vector k cha cac gia tr va o li ma nghiem he vong kn c tnh.
Neu s dung cac oi so ngo ra th :
[r,k] = rlocus(num,den)
[r,k] = rlocus(num,den,k)
[r,k] = rlocus(a,b,c,d)
[r,k] = rlocus(a,b,c,d,k)
tao ra ma tran ngo ra cha cac nghiem va vector o li k. Ma tran r co length(k) hang va
(length(den) 1) cot, ngo ra cha v tr cac nghiem phc. Moi hang trong ma tran tng ng vi
mot o li trong vector k. Quy ao nghiem co the c ve bang lenh plot(r,x).
d) V du: (Trch t trang 11-183 sach Control System Toolbox)
Tm va ve quy ao nghiem cua he thong co ham truyen :
3 2
1 5 2
) (
2
2
+ +
+ +
=
s s
s s
s H
% Xac nh ham truyen :
num = [2 5 1];
den = [1 2 3];
% Ve quy ao nghiem :
rlocus(num,den)
title(Quy dao nghiem)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 224 - GVHD: PHAMQUANG HUY
4. Lenh SGRID
a) Cong dung:
Tao li cho quy ao nghiem va bieu o cc-zero lien tuc.
b) Cu phap:
sgrid
sgrid(new)
sgrid(z,wn)
sgrid(z,wn,new)
c) Giai thch:
Lenh sgrid tao li cho quy ao nghiem va bieu o cc-zero lien tuc trong mat phang s.
ng li ve la cac ng hang so t so tat dan () va tan so t nhien (
n
). ng t so tat dan
c ve t 0 ti 1 theo tng nac la 0.1.
sgrid(new) xoa man hnh o hoa trc khi ve va thiet lap trang thai hold on e quy ao
nghiem hay bieu o cc-zero c ve len li bang cac lenh :
sgrid(new)
rlocus(num,den) hoac pzmap(num,den)
sgrid(z,wn) ve cac ng hang so t le tat dan c ch nh trong vector z va ve ng tan
so t nhien c ch nh trong vector wn.
sgrid(z,wn,new) xoa man hnh o hoa trc khi ve cac ng t so tat dan va tan so t
nhien c ch nh trong vector z va wn. Trang thai hold on c thiet lap.
d) V du: Trch t trang 11-200 sach Control System Toolbox
Ve li trong mat phang s tren quy ao nghiem cua he thong co ham truyen :
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 225 - GVHD: PHAMQUANG HUY
num = [2 5 1]; % ta co the thay oi 2 dong num=, den= thanh dong lenh sau:
den = [1 2 3]; % H(s)=tf([2 5 1],[1 2 3]);
rlocus(num,den)
title(Quy dao nghiem)
sgrid
5. Lenh ZGRID
a) Cong dung:
Ve li t le tat dan va tan so t nhien cho quy ao nghiem gian oan.
b) Cu phap:
zgrid
zgrid(new)
zgrid(z,wn)
zgrid(z,wn,new)
c) Giai thch:
Lenh zgrid tao li quy ao cho nghiem hoac bieu o cc-zero trong mat phang z. Cac
ng hang so t le tat dan () va tan so t nhien chuan hoa se c ve. c thay oi t 0 ti 1
theo tng nac thay oi la 0.1 va tan so t nhien c ve t 0 ti vi tng nac thay oi la /.
zgrid(new) xoa man hnh o hoa trc khi ve li va thiet lap trang thai hold on e quy ao
nghiem hoac bieu o cc-zero c ve len li s dung cac lenh :
zgrid('new')
rlocus(num,den) hoac pzmap(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 226 - GVHD: PHAMQUANG HUY
zgrid(z,wn) ve hang so tat dan c ch nh trong vector z va ve hang so tan so t nhien cho
cac tan so chuan hoa c ch nh trong vector wn. Cac tan so chuan hoa co the c ve bang
lenh zgrid(z,wn/Ts) vi tan so la thi gian lay mau.
zgrid(z,wn,new) xoa man hnh o hoa trc khi ve t so tat dan va tan so t nhien c ch
nh trong vector z va wn. Trang thai hold on c thiet lap.
zgrid([ ],[ ]) se ve ra vong tron n v.
d) V du: Trch t 11-236 sach Control System Toolbox
Ve li trong mat phang cho quy ao nghiem cua he thong co ham truyen :
8 . 0 6 . 1
5 . 1 4 . 3 2
) (
2
2
+
+
=
s z
z z
z H
num = [2 -3.4 1.5];
den = [1 -1.6 0.8];
axis(square)
zgrid(new)
rlocus(num,den)
title(Ve luoi cho quy dao nghiem)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 227 - GVHD: PHAMQUANG HUY
CAC BAI TAPVE QUY AO NGHIEM
8o| :
KGH =
) 5 s )( 4 s ( s
k
+ +
vi k = 2
num = 2;
den = [1 9 20 0];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 228 - GVHD: PHAMQUANG HUY
-7 -6 -5 -4 -3 -2 -1 0 1 2
-10
-8
-6
-4
-2
0
2
4
6
8
10
Real Axi s
I
m
a
g
A
x
i
s
T o th cho ta:
1. iem cc: 0 ,-4,-5.
2. Quy ao nghiem co 3 nhanh.
3. iem zero vo cung ( ).
4. iem tach c xac nh bang cach t ca so MATLAB ta nhap:
num = 2;
den = [1 9 20 0];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -1.4516
iem tach co gia tr: -1.4516
Giao iem cua quy ao nghiem vi truc ao (tng t nh tm iem tach): +4.472j, -4.472j.
T gia tr tai giao iem cua quy ao nghiem vi truc ao ta the vao phng trnh ac trng:
F(s) = s
3
+9s
2
+20s+k = 0
F(jw) = -jw
3
-9w
2
+20jw+k = 0
k
gh
= 180
Ket luan: he thong se on nh khi 0 < k < 180
Bai 2:
KGH =
) 20 s 4 s )( 4 s ( s
k
2
+ + +
(k = 2)
num = 2;
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 229 - GVHD: PHAMQUANG HUY
den = [1 8 36 80 0];
rlocus(num,den)
-6 -5 -4 -3 -2 -1 0 1 2
-5
-4
-3
-2
-1
0
1
2
3
4
5
Real Axi s
I
m
a
g
A
x
i
s
T o th cho ta:
1. iem cc: 0,-4,-2+4j,-2-4j;
2. Quy ao nghiem co 4 nhanh
3. iem zero vo han ( )
4. iem tach c xac nh bang cach t ca so MATLAB ta nhap:
num = 2;
den = [1 8 36 80 0];
rlocus(num,den);
rlocfind(num,den);
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -2, -2.0184 + 2.4561j, -2.0184 - 2.4561j
iem tach co gia tr: -2, -2.0184 + 2.4561j, -2.0184 - 2.4561j
Giao iem cua quy ao nghiem vi truc ao (tng t nh tm iem tach): +3.16j, -3.16j
T gia tr tai giao iem cua quy ao nghiem vi truc hoanh ta the vao phng trnh ac trng:
F(jw) = w
4
-8jw
3
-36w
2
+80jw+k
k
gh
= 260
Ket luan : he thong se on nh khi 0 < k < 260
Bai 3:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 230 - GVHD: PHAMQUANG HUY
KGH =
2
s
k
(k = 2)
num = 2;
den =[1 0 0 ];
rlocus(num,den)
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1.5
-1
-0.5
0
0.5
1
1.5
Real Axi s
I
m
a
g
A
x
i
s
T o th ta co:
1. iem cc : 0
2. Quy ao nghiem co 2 nhanh
3. iem zero vo han ( )
iem tach co gia tr: 0
Ket luan: he thong khong on nh.
Bai 4:
KGH =
3
s
k
num = 2;
den =[1 0 0 0];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 231 - GVHD: PHAMQUANG HUY
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real Axi s
I
m
a
g
A
x
i
s
T o th ta co:
1. iem cc: 0.
2. Quy ao nghiem co 3 nhanh.
3. iem zero vo han ().
4. iem tach co gia tr: 0
Ket luan: he thong khong on nh (v hai nhanh cua quy ao nghiem so luon nam na phai
mat phang phc).
Bai 5:
KGH =
) 1 ts ( s
k
+
(k = 1, t = 2)
num = 1;
den = [2 1 0];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 232 - GVHD: PHAMQUANG HUY
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Real Axi s
I
m
a
g
A
x
i
s
1. iem cc : 0,-0.5
2. Quy ao nghiem co 2 nhanh
3. iem zero vo han ( )
4. iem tach c c xac nh bang cach t ca so MATLAB ta nhap:
num = 1;
den = [2 1 0 ];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -0.253
iem tach co gia tr: -0.253-
Ket luan: he thong luon on nh (v quy ao nghiem luon nam na trai mat phang phc).
Bai 6:
KGH =
2
s
) 1 ts ( k +
(k = 1, t = 1)
num = [1 1];
den = [1 0 0];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 233 - GVHD: PHAMQUANG HUY
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real Axi s
I
m
a
g
A
x
i
s
1. iem cc: 0
2. Quy ao nghiem co 2 nhanh
3. iem zero , -1
4. iem tach c c xac nh bang cach t ca so MATLAB ta nhap:
num = [1 1];
den = [1 0 0];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -2
iem tach co gia tr: -2.
Ket luan: he thong bien on nh.
Bai 7:
KGH =
) 1 s t )( 1 s t (
k
2 1
+ +
(k = 1, t
1
= 2, t
2
= 1)
num = 1;
den = [2 3 1];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 234 - GVHD: PHAMQUANG HUY
-2 -1.5 -1 -0.5 0 0.5 1
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Real Axi s
I
m
a
g
A
x
i
s
1. iem cc: -0.5, -1.
2. Quy ao nghiem co 2 nhanh
3. iem zero vo han ( )
4. iem tach c c xac nh bang cach t ca so MATLAB ta nhap:
num = 1;
den = [2 3 1];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = -0.75.
iem tach co gia tr: -0.75
Ket luan: he thong luon on nh.
Bai 8:
KGH =
( )( )( )
2
4 s 1 s 1 s
k
+ +
(k = 10)
num =10;
den = [ 1 8 15 -8 -16];
rlocus(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 235 - GVHD: PHAMQUANG HUY
-6 -5 -4 -3 -2 -1 0 1 2 3
-5
-4
-3
-2
-1
0
1
2
3
4
5
Real Axi s
I
m
a
g
A
x
i
s
1. iem cc : 1, -1 va 1 cc kep -4.
2. Quy ao nghiem co 4 nhanh.
3. iem zero: co 4 zero vo cung ( ).
4. iem tach c c xac nh bang cach t ca so MATLAB ta nhap:
num =10;
den = [ 1 8 15 -8 -16];
rlocus(num,den);
rlocfind(num,den)
Sau khi nhap lenh th tren ca so lenh se xuat hien hang ch:
Select a point in the graphics window (hay chon 1 iem tren o th minh hoa).
Tren o th se co thc cho ta chon iem keo re chuot e chon iem can chon.
selected_point = 0.2308, -4
iem tach co gia tr: 0.2308, -4
Ket luan: He thong luon khong on nh v ton tai 1 nghiem cua phng trnh ac trng
nam ben phai mat phang phc.
Bai 9: Trch t trang 5-19 sach Control System Toolbox
Bai nay tong hp cac lenh:
h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(221)
bode(h)
subplot(222)
step(h)
subplot(223)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 236 - GVHD: PHAMQUANG HUY
pzmap(h)
subplot(224)
plot(rand(1,100)
plot(rand(1,100))
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Diagrams
-20
0
20
From: U(1)
10
-1
10
0
10
1
-100
0
100
T
o
:
Y
(
1
)
Time (sec.)
A
m
p
l
i
t
u
d
e
Step Response
0 2 4 6 8 10 12
0
0.5
1
1.5
From: U(1)
T
o
:
Y
(
1
)
Real Axis
I
m
a
g
A
x
i
s
Pole-zero map
-3 -2 -1 0 1
-4
-2
0
2
4
0 50 100
0
0.2
0.4
0.6
0.8
1
bai tong hop
Bai 10: Cho ham truyen nh sau:
( )( ) 2 s 1 s
4 s
) s ( G
+ +
+
=
Viet theo cau truc sau ta co c o th bieu dien quy ao nghiem:
num=[1 4];
den=conv([1 1],[1 2])
rlocus(num,den)
Ket qua nh hnh sau:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 237 - GVHD: PHAMQUANG HUY
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 238 - GVHD: PHAMQUANG HUY
KHAO SAT S ON NH CUA HE THONG
LY THUYET:
He thong on nh trang thai h, se on nh trang thai kn neu bieu o Nyquist
khong bao iem (-1+i0) tren mat phang phc.
He thong khong on nh trang thai h, se on nh trang thai kn neu bieu o
Nyquist bao iem (-1+i0)p lan ngc chieu kim ong ho (p la so cc GH nam phai mat
phang phc).
T dau nhac cua ca so MATLAB, ta nhap:
num = [nhap cac he so cua t so theo chieu giam dan cu a so mu].
den = [nhap cac he so cua mau so theo chieu giam dan cua so mu].
nyquist(num,den)
Bai tap 1:
GH(s) =
st 1
k
(k = 10, t = 1)
num = 10;
den = [-1 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 240 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhan xet: ham truyen vong h co 1 cc nam ben phai mat phang phc va 1 cc nam tai goc toa
o. Bieu o Nyquist khong bao iem A (-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao (Imaginary
Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so lenh MATLAB ta dung lenh margin:
num = 10;
den = [-1 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 241 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-1
10
0
-80
-60
-40
-20
Ket luan:
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Warning: Closed loop is unstable (he vong kn khong on nh).
Bai tap 3:
GH(s) =
( )( ) 1 s t 1 s t
k
2 1
+ +
(k =10, t
1
= 1, t
2
= 2)
num = 10;
den = [2 3 1];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 242 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyqui st Di agrams
0 2 4 6 8 10
-6
-4
-2
0
2
4
6
Nhan xet: ham truyen vong h co 2 cc nam ben trai mat phang phc. Bieu o Nyquist khong
bao iem A (-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he thong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB dung lenh margin.
num = 10;
den = [2 3 1];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 243 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-20
-10
0
10
20
Gm = Inf, Pm=38.94 deg. (at 2.095 rad/sec)
10
0
-150
-100
-50
Ket luan: he thong on nh.
o d tr bien (Gm = ).
o d tr pha (Pm = 38.94), tai tan so cat bien 2.095 rad/sec.
Bai tap 4:
GH(s) =
( )( ) 1 s t 1 s t s
k
2 1
+ +
(k = 10 t
1
=1, t
2
=2)
num = 10;
den = [2 3 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 244 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyqui st Di agrams
-30 -25 -20 -15 -10 -5
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhan xet: ham truyen vong h co 2 cc nam ben trai mat phang phc va 1 cc zero. Bieu o
Nyquist bao iem A(-1+j0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB ta dung lenh margin e kiem chng
lai he:
num = 10;
den = [2 3 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 245 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-40
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-1
10
0
-250
-200
-150
-100
Ket luan: he thong khong on nh.
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0)
Bai tap 5:
GH(s) =
( )( )( ) 1 s t 1 s t 1 s t s
k
3 2 1
+ + +
( t
1
=1, t
2
= 2, t
3
= 3, k = 10)
num = 10;
den = [6 11 6 1 0];
nyquist(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 246 - GVHD: PHAMQUANG HUY
Real Axi s
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyqui st Di agrams
-60 -50 -40 -30 -20 -10 0
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhan xet: ham truyen vong h co 3 cc nam ben trai mat phang phc va 1 cc zero. Bieu o
Nyquist bao iem A (-1+i0).
iem 1 ky hieu (+) nam tren truc thc am (Real Axis) , iem 0 nam tren truc ao
(Imaginary Axis).
Ket luan: he khong on nh.
* Dung lenh margin e tm bien d tr va pha d tr.
T dau nhac cua ca so MATLAB, dung lenh margin e kiem chng lai
he:
num = 10;
den = [6 11 6 1 0];
margin(num,den)
(A)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 247 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-50
0
50
Gm = 0 dB, Pm = 0 (unstabl e cl osed l oop)
10
-2
10
-1
10
0
-300
-200
-100
Ket luan: he thong khong on nh.
o d tr bien (Gm = 0 dB).
o d tr pha (Pm = 0).
Bai tap 6: Sau ay la dang bai tap tong quat vi t va mau cua mot ham truyen la cac so
lieu ma ta phai nhap vao.
Chng trnh:
%%Tap tin khao sat on dinh he thong
%%PHAM QUOC TRUONG - DT: 9230774
function ondinh()
promptstr={'Nhap tu so num:','Nhap mau so den:'};
inistr={'',''};
dlgTitle='Nhap du lieu';
lineNo=1;
result=inputdlg(promptstr,dlgTitle,lineNo,inistr);
num=str2num(char(result(1)));
den=str2num(char(result(2)));
[z,p,k]=residue(num,den); %Tim cac cuc p
z=roots(num) %Tim cac zero z
zplane(z,p) %Ve cuc va zero
Sau khi chay chng trnh ta c ket qua:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 248 - GVHD: PHAMQUANG HUY
Ban hay nhap so lieu vao:
Ga s ta nhap so lieu sau va chon OK:
Ket qua ngoai ca so MATLAB Command Windows
z =
0 + 3.0000i
0 - 3.0000i
Hnh ve cc va zero:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 249 - GVHD: PHAMQUANG HUY
-4 -3 -2 -1 0 1 2 3 4
-3
-2
-1
0
1
2
3
Real Part
I
m
a
g
i
n
a
r
y
P
a
r
t
Khao sat he thong theo tieu chuan Hurwitz
ON LAI LY THUYET:
Xet Phng trnh ac trng:
F(s) = a
n
s
n
+a
n-1
++a
0
vi a
n
0
1. ieu kien can e he on nh:
Cac he so a
j
(j = 0, n-1) cung dau vi a
n
.
a
j
0 (j = 0,,n)
2. Tieu chuan Hurwitz:
ieu kien can va u e he on nh (cac nghiem cua phng trnh at trng nam
ben trai mat phang phc) la tat ca cac nh thc Hurwitz D
k
eu cung dau (k = 0..n)
3. Tieu chuan Routh:
ieu can va u e he on nh la tat ca cac phan t cua cot 1 bang Routh eu
cung dau, neu co s oi dau th so lan oi dau th so lan oi dau bang so nghiem
phai mat phang phc.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 250 - GVHD: PHAMQUANG HUY
Bai tap 7:Cho he thong ieu khien phan hoi:
Dung gian o Bode e khao sat on nh cua he thong tren.
Khao sat he xem he co on nh hay khong.
Trc tien ta dung lenh seriesket noi 2 he thong:
num1 = [1 1];
den1 = [1 0];
num2 = 2;
den2 = [1 4 3];
[num,den] = series(num1,den1,num2,den2)
num =
0 0 2 2
den =
1 4 3 0
Ham truyen noi tiep la:
GH(s) =
s 3 s 4 s
2 s 2
2 3
+ +
+
Dung gian o Bode e khao sat on nh:
num = [2 2];
den = [1 4 3 0];
margin(num,den)
s
1 s +
3 s 4 s
2
2
+ +
_
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 251 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-60
-40
-20
0
20
Gm = Inf, Pm=77.748 deg. (at 0.65148 rad/sec)
10
-1
10
0
10
1
-180
-160
-140
-120
-100
Ket luan:
Bien d tr: Gm =
Pha d tr Pm = 77.74 tai tan so cat bien w
b
= 0.65
Vay he thong on nh.
Ve bieu o Nyquist:
nyquist(num,den)
Real Axi s
I
m
a
g
i
n
a
r
y
A
x
i
s
Nyqui st Di agrams
-1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1
-60
-40
-20
0
20
40
60
Ben canh o ta co the khao sat on nh bang tieu chuan ai so:
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 252 - GVHD: PHAMQUANG HUY
Phng trnh ac trng: s
3
+ 4s
2
+5s + 2 = 0
Trc tien ta goi hurwitz t ca so lenh:(lien he PQT e co chng trnh)
hurwitz
Cho biet so bac cao nhat cua ham: 3
Cho biet he so a(0): 1
Cho biet he so a(1): 4
Cho biet he so a(2): 5
Cho biet he so a(3): 2
Cac dinh thuc Hurwitz:
D[1] = 1
D[2] = 4
D[3] = 18
D[4] = 36
- HE THONG ON DINH. -
Bai tap 8: Khao sat he thong:
Trc tien, ta ket noi he thong:
T ca so lenh cua MATLAB, ta nhap lenh:
num1 = [2 1];
den1 = [1 0];
num2 = 10;
den2 = [1 5];
[num,den] = series(num1,den1,num2,den2)
Va ta se co:
num =
s
1 s 2 +
5 s
10
+
1 s
1
+
_
+
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 253 - GVHD: PHAMQUANG HUY
0 20 10
den =
1 5 0
Ta nhap tiep:
numc = [20 10];
denc = [1 5 0];
numd = 1;
dend = [1 1];
[num,den] = feedback(numc,denc,numd,dend)
(neu sau dend, co 1 tc la hoi tiep dng)
num =
0 20 30 10
den =
1 6 25 10
Ham truyen cua he thong la: G(s)H(s) =
10 s 25 s 6 s
10 s 30 s 20
2 3
2
+ + +
+ +
Ve gian o Bode cua he:
num = [20 30 10];
den = [1 6 25 10];
bode(num,den)
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 254 - GVHD: PHAMQUANG HUY
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-10
-5
0
5
10
10
-1
10
0
10
1
10
2
-80
-60
-40
-20
0
20
Tnh bien d tr va pha d tr cua he:
margin(num,den)
Frequency (rad/sec)
P
h
a
s
e
(
d
e
g
)
;
M
a
g
n
i
t
u
d
e
(
d
B
)
Bode Di agrams
-10
-5
0
5
10
Gm = Inf, Pm=103.14 deg. (at 20.347 rad/sec)
10
0
10
1
-150
-100
-50
0
Ket luan:
He on nh.
Bien d tr: Gm = .
Pha d tr: Pm = 103.14
o
tai tan so cat bien la 20.347 rad/sec.
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 255 - GVHD: PHAMQUANG HUY
Chu y: Sau khi a vao ca so lap trnh, ta lap chng trnh khao sat he co phng trnh ac trng
theo tieu chuan ai so (tieu chuan Hurwitz) xem he co on nh hay khong.
Trong ca so lenh (ca so lam viec), goi lenh hurwitz (chng trnh a c soan thao
trong phan lap trnh mang ten Hurwitz) se co nhng hang ch:
cho biet so bac cao nhat cua ham: (nhap vao he so a
n
)
cho biet he so a(0):
. . .
cho biet he so a(n):
Di day la phan anh vao ca so lap trnh
%%%%%%%%%%% PHAM QUOC TRUONG - MSSV: 97102589 %%%%%%%%%%%
%%%%%%%%%%% DT: 9230774 %%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Hurwitz()
%
% * Cong dung: Xet tinh on dinh cua he thong theo tieu chuan Hurwitz.
%
% * Cach su dung:
% Truoc tien, nhap vao da thuc dac trung f theo dang:
% f = [a(n) a(n-1) a(n-2) ..... a(1) a(0)]
% voi a(n), a(n-1), a(n-2), ....., a(1),a(0) la cac he so cua da thuc dac
trung.
% Sau do, goi lenh Hurwitz(f)
XIN VUI LONG LIEN HE PHAM QUOC TRNG E CO CHNG TRNH
Chay chng trnh cac v du:
V du 1: Cho phng trnh ac trng:
F(s) = s
4
+ 3s
3
+ 2s
2
+ 2s + 1
Hurwitz
Cho biet so bac cao nhat cua ham: 4 (nhap xong nhan Enter)
Cho biet he so a(0) = 1
Cho biet he so a(1) = 3
Cho biet he so a(2) = 2
Cho biet he so a(3) = 2
Cho biet he so a(4) = 1
Sau khi a nhap cac he so, MATLAB se t ong giai va cho ta ket qua:
Cac dinh thuc Hurwitz:
D[1] = 1
D[2] = 3
D[3] = 4
D[4] = -1
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 256 - GVHD: PHAMQUANG HUY
D[5] = -1
- HE THONG KHONG ON DINH.
V du 2: Cho phng trnh ac trng:
F(s) = 5s
4
+ 8s
3
+ 21s
2
+ 10s + 3
Hurwitz
Cho biet so bac cao nhat cua ham: 4
Cho biet he so a(0) = 5
Cho biet he so a(1) = 8
Cho biet he so a(2) = 21
Cho biet he so a(3) = 10
Cho biet he so a(4) = 3
Cac dinh thuc Hurwitz:
D[1] = 5
D[2] = 8
D[3] = 118
D[4] = 988
D[5] = 2964
- HE THONG ON DINH. -
V du 3: Cho phng trnh ac trng:
F(s) = s
5
+ 10s
4
+ 16s
3
+ 160s
2
+ s + 10
hurwitz
Cho biet so bac cao nhat cua ham: 5
Cho biet he so a(0) = 1
Cho biet he so a(2) = 10
Cho biet he so a(3) = 16
Cho biet he so a(4) = 160
Cho biet he so a(5) = 1
Cho biet he so a(6) = 10
Sau khi a nhap cac he so, MATLAB se t ong giai va cho ta ket qua:
Cac dinh thuc Hurwitz:
D[1] = 1
D[2] = 10
D[3] = 0
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 257 - GVHD: PHAMQUANG HUY
D[4] = 0
D[5] = 0
D[6] = 0
- HE THONG O BIEN ON DINH.
Khao sat he thong theo tieu chuan Routh
Chng trnh:(lien he PQT)
%%%%%%%%%%%%%%%%%% PHAM QUOC TRUONG MSSV:97102589
%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Dien thoai: 9230774 %%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Chay chng trnh cac v du:
V du 1: Cho phng trnh ac trng
F(s) = s
4
+ 3s
3
+ 2s
2
+ 2s + 1
routh
- CHUONG TRINH TAO HAM ROUTH -
Cho biet so bac cao nhat cua he: 4
Cho biet he so a(0) = 1
Cho biet he so a(1) = 3
Cho biet he so a(2) = 2
Cho biet he so a(3) = 2
Cho biet he so a(4) = 1
- HE THONG KHONG ON DINH. -
V du 2: Cho phng trnh ac trng
F(s) = s
5
+ s
4
+ 4s
3
+ 4s
2
+ 2s +1
routh
- CHUONG TRINH TAO HAM ROUTH -
Cho biet so bac cao nhat cua he: 5
Cho biet he so a(0) = 1
Cho biet he so a(1) = 1
Cho biet he so a(2) = 4
Cho biet he so a(3) = 4
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 258 - GVHD: PHAMQUANG HUY
Cho biet he so a(4) = 2
Cho biet he so a(5) = 1
- HE THONG KHONG ON DINH. -
V du 3: Cho phng trnh ac trng
F(s) = s
5
+ 10s
4
+ 16s
3
+ 160s
2
+ s + 10
routh
- CHUONG TRINH TAO HAM ROUTH -
Cho biet so bac cao nhat cua he: 5
Cho biet he so a[0] = 1
Cho biet he so a[1] = 10
Cho biet he so a[2] = 16
Cho biet he so a[3] = 160
Cho biet he so a[4] = 1
Cho biet he so a[5] = 10
- HE THONG ON DINH. -
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 259 - GVHD: PHAMQUANG HUY
MOT SO CHNG TRNH KHAO SAT, THIET KE
HE THONG IEU KHIEN T ONG
(Neu ban nao quan tam en cac chng trnh th lien he vi PQT)
1. Chng trnh 1:
Viet chng trnh xac nh ham truyen vong kn co khau hoi tiep n v.
2. Chng trnh 2:
Viet chng trnh tm cc va zero cua ham truyen.
3. Chng trnh 3:
Viet chng trnh khao sat tnh on nh cua he tuyen tnh lien tuc dung gian o Bode.
4. Chng trnh 4:
Tao ra lenh hurwitz e xet tnh on nh cua he thong tuyen tnh lien tuc theo tieu chuan
Hurwitz.
5. Chng trnh 5:
Viet chng trnh t ong ve gian o Bode, bieu o Nyquist, quy ao nghiem cua he tuyen
tnh lien tuc.
6. Chng trnh 6:
Viet chng trnh e tm cac ch tieu trong mien thi gian cua he bac 2.
7. Chng trnh 7:
Viet chng trnh e thc hien bo chnh cho mot he thong tuyen tnh lien tuc bang gian o
Bode.
8. Chng trnh 8:
Viet chng trnh khao sat anh hng cua khau PID vao he thong tuyen tnh bac 2.
trong cac tap tin nay chng trnh se khong thc hien c.
9. Chng trnh 9:
Viet lenh dung e khao sat tnh on nh cua he thong tuyen tnh gian oan theo tieu chuan
Jury.
11. Chng trnh 11:
Viet chng trnh o hoa e ve cac ap ng tan so va ap ng thi gian bang cach chon trong
menu.
Chng trnh c soan thao trong 2 tap tin dohoa.m va action.m va he thong trong chng
trnh nay co ham truyen la:
G(s) =
) 5 )( 4 (
1
+ + s s s
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 260 - GVHD: PHAMQUANG HUY
PHU CHNG: LU O CAC CHNG TRNH
Lu o chng trnh t ong ve bieu o Nyquist, gian o Bode va quy ao nghiem
Bat au
Nhap so lan ve n
Ve bieu o Nyquist
Ve gian o BODE
Ve quy ao nghiem
k = k + 1
k > n
Dng
S
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 261 - GVHD: PHAMQUANG HUY
Chng trnh tm cac ch tieu trong mien thi gian cua he bac 2
Bat au
Nhap tan so t nhien Wn va he so tat z
Tnh Cmax, Cxl, S%, exl, tdelay, tq,...
Thiet lap ham truyen
Wn = 0
Dng
S
z = 0
S
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 262 - GVHD: PHAMQUANG HUY
Chng trnh bo chnh cho he thong tuyen tnh lien tuc
Khao sat ng dung MATLAB trong ieu khien t ong
Thc hien: PHAM QUOC TR NG - 263 - GVHD: PHAMQUANG HUY
Bat au
Nhap ham truyen
Tnh Gm, Pm, Wcp, Wcg
Ve gian o BODE
Bo chnh tre pha
Nhap tan so cat bien sau bo chnh Wcgb
num = 0
Dng
S
den = 0
Pm > 0
Wcgb = Wcg
Wcgb > Wcg
Tm Gmf, Pmf, Wcgf, Wcpf
Pmf Pm
In ra ham truyen khau bo chnh
In ra ham truyen cua he thong
Bo chnh sm pha
S
S
S
S
S
z = 0
Tm Cmax, Cxl, exl, tdelay
Ve ap ng nac n v
S