Lưu Như Hòa
KSTN-ĐKTĐ-K50 Hệ thống rời rạc
Một hệ thống analog có mô hình như hình vẽ:
Bộ điều khiển analog (trong khung vuông) được thay thế bằng bộ điều khiển số:
Làm nhiệm vụ tương tự như 1 bộ điều khiển analog,tuy nhiên nó làm việc với tín hiệu rời rạc. Ở mô hình trên ta thấy có cả khối digital và analog trong cùng 1 mô hình,để chỉ phải làm việc với các hàm rời rạc,ta chuyển khối analog về khối digital tương đương.
Lưu Như Hòa
KSTN-ĐKTĐ-K50
Tín hiệu clock là để đồng bộ xung của bộ DAC và ADC ,khi có 1 xung của clock thì DAC và ADC mới phát tín hiệu ra.Hàm H2(s) cần tìm để tín hiệu ra của nó (tín hiệu rời rạc) cũng trùng với tín hiệu ra của hệ analog trên ( sau khi lấy mẫu có tín hiệu rời rạc) Ta dùng phương pháp ‘zoh’ Mô hình được thay thế bằng:
>> num=[1]; den=[1 1 0]; >> sysc=tf(num,den) Transfer function: 1 ------s^2 + s
Ví dụ: 1 s( s 1) 0.3679 z 0.2642 G( z) 2 z 1.368 z 0.3679 G p ( s)
>> T=1; sysd=c2d(sysc,T,'zoh') Transfer function: 0.3679 z + 0.2642 ---------------------z^2 - 1.368 z + 0.3679 Sampling time: 1
Lưu Như Hòa
KSTN-ĐKTĐ-K50
Step Response
1.4
num=[1]; den=[1 1 0]; sysc=tf(num,den); sysd=c2d(sysc,1,'zoh'); sys=feedback(sysd,[1]); T=[0:1:20]; step(sys,T)
1.2
Amplitude
1
0.8
0.6
0.4
0.2
0
0
2
4
6
8
10
12
14
16
18
20
Time (sec)
Tín hiệu ra liên tục của nó là: (ta xét trong miền thời gian liên tục) Step Response
1.5
numg=[1]; deng=[1 1 0]; sysg=tf(numg,deng); [nd,dd]=pade(1,2); sysp=tf(nd,dd); sysi=tf([1],[1 0]); sys1=series(1-sysp,sysi); syso=series(sys1,sysg); sys=feedback(syso,[1]); t=[0:0.1:20]; hold on; step(sys,t); hold off;
Amplitude
1
0.5
0
0
2
4
6
8
10 Time (sec)
12
14
16
18
20
Lưu Như Hòa
KSTN-ĐKTĐ-K50
Khi thời gian lấy mẫu càng bé thì đáp ứng của hệ rời rạc càng giống với đáp ứng của hệ liên tục.
num=[1]; den=[1 1 0]; sysc=tf(num,den); hold on; for samp=[1 0.5 0.2 0.01] sysd=c2d(sysc,samp,'zoh'); sys=feedback(sysd,[1]); T=[0:samp:20];step(sys,T); end legend('Time Sampling = 1','Time Sampling = 0.5','Time Sampling = 0.2','Time Sampling = 0.01'); hold off;
Nhìn vào hình dưới đây ta thu được kết luận trên.
Lưu Như Hòa
KSTN-ĐKTĐ-K50
Khảo sát tính ổn định của hệ thống rời rạc Ta xét hệ thống có hàm truyền: K G p ( s) ,theo bài trên ta có,khi chuyển qua hệ rời rạc với thời gian lấy mẫu là: s( s 1) T = 1(s) K (0.3679 z 0.2642) . z 2 1.368 z 0.3679 Điểm cực của hàm truyền hệ kín tương ứng là nghiệm của 1 G ( z ) . Đặt a=0.3679;b=0.2642; Ta có : K (az b) z 2 ( Ka 1 a ) z Kb a G( z) 2 0 ;1 G( z ) z (1 a ) z b z 2 (1 a ) z a Với K=1; Ta có: G ( z )
>> a=.3679;b=.2642; >> k=1; >> p=[1 -1-a+k*a a+k*b] p= 1.0000 -1.0000
>> num=[1]; den=[1 1 0]; sysc=tf(num,den); T=1; sysd=c2d(sysc,T,'zoh'); sys=feedback(sysd,1); >> pole(sys)
0.6321 ans =
>> roots(p) ans = 0.5000 + 0.6181i 0.5000 - 0.6181i >> abs(ans) ans =
0.5000 + 0.6182i 0.5000 - 0.6182i >> abs(ans) ans = 0.7951 0.7951 >> pzmap(sys)
0.7950 0.7950
Ta thấy điểm cực của hệ kín nằm trong đường tròn z 1 nên hệ kín rời rạc ổn định với K=1.
Lưu Như Hòa
KSTN-ĐKTĐ-K50
PoleZero Map
1 0.8 0.6
Imaginary Axis
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 Axis
Khi K biến thiên từ 0 thì các điểm cực của hàm truyền hệ kín biến thiên như sau: >> [Gm,Pm,Wcg,Wcp] = margin(sysd)
>> rlocus(sysd)
Gm = Root Locus
1.5
2.3927
1
Pm = 30.3747
Imaginary Axis
0.5
Wcg =
0
1.3245 0.5
Wcp = 1
1.5 2.5
0.7719 2
1.5
1
0.5
0
0.5
1
Real Axis
Ta thấy có 1 giá trị K gh mà khi K K gh thì điểm cực chạy ra ngoài đường tròn đơn vị,hệ mất ổn định.Ta có độ dữ trữ biên độ khi K=1 chính là K gh =2.3927.Vậy để hệ ổn định thì: 0 K 2.3927 .