Professional Documents
Culture Documents
Khi hệ thống điều khiển có sự tham gia của máy tính thì tín hiệu được máy
tính xử lý là tín hiệu số, kết quả của chuyển đổi tín hiệu liên tục u(t) thành tín
hiệu rời rạc u*(t) bởi chuyển đổi ADC thông qua khóa lấy mẫu chu kỳ Ts và
lượng tử hóa.
Tín hiệu rời rạc này chuyển đổi bởi mạch cài và DAC, gọi chung là mạch giữ
bậc 0 (zero order hold), trở thành tín hiệu liên tục uh(t)
CHU KỲ LẤY MẪU
• Chọn chu kỳ lấy mẫu Ts</m , m là khổ sóng tối đa của
tín hiệu được lấy mẫu
• Thực tế chọn Ts nhỏ hơn giá trị /m chừng 10 lần do tín
hiệu thực sự thường có khổ sóng không giới hạn
• Tín hiệu cần thiết thường có xen lẫn nhiễu tần số cao do đó
cần phải có bộ lọc làm suy giảm thành phần tần số cao
này, nếu không sẽ gây ra aliasing (frequency folding)
BIẾN ÑỔI Z
i 0
Biến ñổi Z của akxk là X(z/a)
k
z
Ví dụ: biến đổi Z của e-kT là biến đổi của 1.(e-T)k T z
X ( z) e
z T
Ví dụ: dùng Matlab 1 z e
>> syms t z ; ztrans (t) e T
ans =
z/(z-1)^2
BẢNG BIẾN ĐỔI Z
1 z Hàm nấc
s z 1
1 Tz
s2 ( z 1) 2 t
1 z
sa z e aT e-at
1 Te aT z
( s a) 2 ( z e aT ) 2 te-at
BẢNG BIẾN ĐỔI Z
b (e aT sin bT ) z e at sin bt
( s a) 2 b 2 z 2 (2e aT cos bT ) z e 2 aT
sa z 2 (e aT cos bT ) z
( s a) 2 b 2
e at cos bt
z 2 (2e aT cos bT ) z e 2 aT
a (1 e aT ) z
1 e at
s( s a) ( z 1)( z e aT )
ba
z z
e at e bt
( s b)( s a) z e aT z e bT
Hàm truyền z hệ rời rạc
c(k+n)+an-1c(k+n-1)+…+a1c(k+1)+a0c(k)=
bmr(k+m)+bm-1r(k+m-1)+..+b1r(k+1)+b0r(k)
Lấy biến đổi Z hai vế, giả sử sơ kiện bằng 0
Ví dụ:
4 z 3 12 z 2 13z 7 4 z 3 12 z 2 13z 7
G( z) 3
( z 1) ( z 2)
2
z 4z 2 5z 2
MÔ HÌNH HỆ KHÔNG LIÊN TUC
(Hệ thời gian rời rạc-discrete time system)
Phương trình trạng thái hệ rời rạc, ví dụ
Dạng first companion
x1 (k 1) 0 1 0 x1 (k ) 0
x ( k 1) 0 0 1 x2 (k ) 0u (k )
2
x3 (k 1) 2 5 4 x3 ( k ) 1
x1 (k )
y (k ) 1 7 4 x2 (k ) 4u (k )
x3 (k )
2 1 3
Dạng Jordan G( z) 4
( z 1) 2 z 1 z 2
x1 (k 1) 1 1 0 x1 (k ) 0
x (k 1) 0 1 0 x2 (k ) 1u (k )
2
x3 (k 1) 0 0 2 x3 (k ) 1
x1 (k )
y ( k ) 2 1 3 x2 ( k ) 4u (k )
x3 (k )
Ví dụ MATLAB
>> htz = tf ([4 -12 13 -7] ,conv ([1 -2], conv ([1 -1], [1 -1])))
Transfer function:
a=
c=
4 z^3 - 12 z^2 + 13 z - 7
x1 x2 x3
x1 x2 x3
-------------------------
x1 0 0 2
y1 4 9 17
z^3 - 4 z^2 + 5 z - 2
x2 1 0 -5
d=
Sampling time:
x3 0 1 4
unspecified u1
b=
>> ptttz = canon (htz, 'companion') y1 4
u1
Sampling time:
x1 1 unspecified
x2 0 Discrete-time model.
x3 0
Hàm truyền Z từ phương trình trạng thái
Tương tự như với hệ liên tục, hàm truyền Z tính theo công
thức
X(z) = (zI-F)-1 zx0 + (zI-F)-1 gU(z)
Y(z) = c (zI-F)-1 zx0 + [c (zI-F)-1g+d]U(z)
Y ( z)
Nếu x = 0
0 G( z) c( zI F ) 1 g d
U ( z)
Tính x(k) và y(k)
Từ phương trình trạng thái x(k+1) = Fx(k) + gu(k)
i 0
Đáp ứng hệ thống
Tính (k)
Dùng Z đảo
(k)= Z-1[(zI-F)-1z]
Ví dụ: 0 1 z 1
1
F 1
( zI F )
0 .16 1 0 .16 z 1
Tính đáp ứng dùng Z đảo
z 1 1
( z 0.2)( z 0.8) ( z 0.2)( z 0.8)
0.16 z
( z 0.2)( z 0.8) ( z 0.2)( z 0.8)
4/3 1/ 3 5/3 5/3
z 0.2 z 0.8
z 0.2 z 0.8
0.8 / 3 0.8 / 3 1/ 3 4/3
z 0.2 z 0.8 z 0.2 z 0.8
4 1 5 5
( 0. 2) k
( 0. 8) k
(0.2) k (0.8) k
(k ) 3 3 3 3
0.8 0.8 1 4
(0.2) k (0.8) k (0.2) (0.8)
k k
3 3 3 3
Tính đáp ứng dùng Z đảo
Dùng MATLAB
>> t=0:0.1:10;
>> u=ones(size(t));
>> F=[0 1;-0.16 -1];
>> g=[1;1];
>> c=[1 0];
>> d=0;rr=ss(F,g,c,d,0.1);
>> [y,x]=lsim(rr,u,t,x0);
>> stairs(t,y)
Tính Fk dùng định lý Cayley Hamilton
0 1
F
1 2
1 2 1
F k 0 I 1 F
k 0 1 0 (1 k )(1) k
kk 1 1 1 k ( 1) k
Suy ra (1 k ) k
F k
( 1)
k
k 1 k
Hàm truyền hệ liên tục lấy mẫu
1 e sT
Khâu ZOH có hàm truyền T là thời gian lấy mẫu
s
Biến đổi Z của hệ thời gian rời rạc là
1 e sT z 1 G( s)
G( z) Z ( G ( s )) Z( )
s z s
ký hiệu GhoG(z)
Tính đáp ứng dùng hàm truyền z
Y ( z) D ( z )Gh 0G ( z )
R ( z ) 1 D ( z )Gh 0GH ( z )
Với các thông số: D(z) = 1, H(s) = 1, G(s) =1/s(s+1); T = 1, r(t) là hàm nấc
z 1 G(s) z 1 1
Gh 0G ( z ) ( )Z ( )Z s 2 ( s 1)
z s z
z 1 1 1 1 z 1 Tz z z
( )Z 2 ( )
z s s s 1
z ( z 1)
2
z 1 z e T
z (T 1 e T ) (1 e T Te T )
( z 1)( z e T )
Tính đáp ứng dùng hàm truyền z
1.4
1.2
0.8
0.6
0.4
0.2
0
0 5 10 15 20 25
PTTT hệ liên tục thời gian rời rạc
Hệ liên tục có tín hiệu vào là u+(t) từ khâu ZOH, pttt hệ liên tục :
x (t ) Ax(t ) bu (t )
y (t ) cx(t ) du (t )
Giải pttt t
x (t ) e A ( t t0 )
x (t0 ) e A( t ) bu ( ) d
t0
u+(t) = u(kT), kT< = t < = (k+1)T
Trong khoảng thời gian kT< = t < = (k+1)T
t
x(t ) e A ( t kT )
x( kT ) [ e A( t )bd ]u ( kT )
kT
( k 1)T
x ((k 1)t ) e AT
x ( kT ) [ e A[( k 1)T )bd ]u ( kT )
kT
Fx( kT ) gu ( kT )
T
Đặt = -kT, = T- g e A bd
0
PTTT hệ liên tục thời gian rời rạc
x3 ( k )
u ( k ) 0 1 k1e( k )
x
4 ( k )
e(k) là tín hiệu sai lệch: e(k) = r(k) - y(k) = r(k)-x1(k)
Phương trình trạng thái hệ kín
x1 (k 1) 1 0.0043k1 0.0787 0 0.0043 x1 (k ) 0.0043k1
x (k 1) 0.0787 k 0.6065 0 0.0787 x2 (k ) 0.0787 k1
2 1
r (k )
x3 (k 1) k3 0 0 0 x3 (k ) k3
x4 (k 1) (k1 k 2 ) 0 1 1 x4 (k ) k1 k 2
x1 (k )
x (k )
y (k ) 1 0 0 0 2
x3 (k )
x
4 ( k )
Dùng Matlab
b=
u1
>> T=0.1; K1=1; K2=1; K3=1;
x1 0.004261
>> A=[0 1;0 -5]; b =[0;1]; c=[1 0]; d=0;
x2 0.07869
>> AR =[0 0;1 1]; BR=[K3;K1+K2]; CR=[0 1]; DR=K1;
x3 1
>> pttt1=ss (A,b,c,d);
x4 2
>> pttt1r = c2d(pttt1,T,'zoh');
c=
>> pttt2r = ss(AR,BR,CR,DR,T);
x1 x2 x3 x4
>> PTTTK = feedback(pttt1r*pttt2r,1)
y1 1 0 0 0
a= d=
x1 x2 x3 x4 u1
x1 0.9957 0.07869 0 0.004261 y1 0
x2 -0.07869 0.6065 0 0.07869 Sampling time: 0.1
x3 -1 0 0 0 Discrete-time model.
x4 -2 0 1 1
HÀM TRUYỀN Z HỆ CÓ TRỄ
Đặt td=NTs+Ts , 0 1
Y(z) 1
(1 z 1 )z N Z G (s)e Tss
U(z) s
HÀM TRUYỀN Z HỆ CÓ TRỄ- VÍ DỤ
1
G (s)
sa
1 N e
Ts
Y(z)
(1 z )z Z
U(z) s (s a )
1 N e
Ts
1 e Ts
(1 z )z Z
a s sa
1 e L1
Ts e Ts
g1 ( t ) u ( t T )
L s g1( t ) u ( t T )
s 1 eTs a ( t T )
L g 2 (t ) e u ( t T )
e Ts
sa
L1 g 2 (t) e
a ( t T )
u ( t T)
s a
1 1
z 1 (1 z 1 z 2 z 3 ...) z 1 1
1 z z 1
Z(g 2 (kT)) e a ( T T ) z 1 e a ( 2T T ) z 2 e a (3T T ) z 3 ...
x (t ) Ax(t ) bu (t t d )
Xét hệ SISO có thời gian trễ ttdd NT T , 0 1, m 1
e e
A A
F e AT , g1 e AmT bd , g 2 bd
0 0
e
0.5
g1 e d e 0.5 e 1 0.2387
0