Вы находитесь на странице: 1из 45

Kendali Adaptif dan Optimal

Bab 2 : Mathematical Models of


Feedback Control Systems
Pratama Mahadika 1506747061
Dessy Ana Laila Sari 1806155503
Soleh Purwo N. 1806245190
Physical Modeling
Fungsi arus pada kapasitor dapat ditulis

𝑑𝑢𝑐 (𝑡)
𝑖 𝑡 =𝐶
𝑑𝑡
Dan fungsi tegangan pada sistem dengan Kirchoff

𝑑𝑖(𝑡)
𝑢 𝑡 = 𝑅𝑖 𝑡 + 𝐿 + 𝑢𝑐 (𝑡)
𝑑𝑡
Dengan substitusi didapatkan Ordinary Differential Equation (ODE)

𝑑 2 𝑢𝑐 (𝑡) 𝑑𝑢𝑐 (𝑡)


𝐿𝐶 + 𝑅𝐶 + 𝑢𝑐 𝑡 = 𝑢(𝑡)
𝑑𝑡 2 𝑑𝑡
Laplace
Trasformasi Laplace didefinisikan


ℒ𝑓 𝑡 = න 𝑓 𝑡 𝑒 −𝑠𝑡 𝑑𝑡 = 𝐹(𝑠)
0
s = 𝜎 + 𝑗𝜔

F(s) = transformasi Laplace dari fungsi f(t)

Inverse Laplace

1 𝜎+𝑗∞
𝑓 𝑡 = ℒ −1 𝐹 𝑠 = න 𝐹(𝑠)𝑒 𝑠𝑡 𝑑𝑠
2𝜋𝑗 𝜎−𝑗∞
Laplace in Matlab
𝐹 = 𝑙𝑎𝑝𝑙𝑎𝑐𝑒 (𝑓)

Nama hasil Fungsi f(t)


transformas
i
Fungsi
matlab
Laplace in Matlab
>> syms s t a b c;
>>F=laplace(exp(b*t)*cos(a*t+c))
F=
- (a*sin(c))/(a^2 + (b - s)^2) - (cos(c)*(b - s))/(a^2 + (b - s)^2)
Atau,

Untuk Inverse dapat dinyatakan dengan fungsi

𝐹 = 𝑖𝑙𝑎𝑝𝑙𝑎𝑐𝑒 (𝑓)
Transfer Function

Adalah ratio output dengan input dalam domain S menggunakan transformasi laplace

Secara umum memiliki bentuk

𝑏𝑜 𝑠 𝑚 + 𝑏1 𝑠 𝑚−1 + ⋯ + 𝑏𝑛−1 𝑠 + 𝑏𝑛 𝑌(𝑠)


𝐺 𝑠 = =
𝑎𝑜 𝑠 𝑛 + 𝑎1 𝑠 𝑛−1 + ⋯ + 𝑎𝑛−1 𝑠 + 𝑎𝑛 𝑋(𝑠)

Pembilang = zero
Penyebut = pole
Tranfer Function in Matlab
>>num=[b1,b2,...,bm,bm+1];
>>den=[1,a1,a2,...,an−1, an];
>> G=tf(num,den)

Contoh

>> den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]);
>> num=6*[1,5];
>>G=tf(num,den)
Tranfer Function in Matlab

Atau dengan terlebih dahulu mendefinisikan variable kompleks dengan


>> s=tf(’s’)

Sehingga

G=6*(s+5)/(sˆ2+3*s+1)ˆ2/(s+6)/(sˆ3+6*sˆ2+5*s+3)
Tranfer Function in Matlab
Dalam bentuk system multivariable dengan delay,

Maka dapat dibentuk dengan


>>g11=tf(0.1134,[1.78 4.48 1],’ioDelay’,0.72);
>>g12=tf(0.924,[2.07 1]); ioDelay = InputDelay
>>g21=tf(0.3378,[0.361 1.09 1],’ioDelay’,0.3);
>>g22=tf(-0.318,[2.93 1],’ioDelay’,1.29);
>>G=[g11, g12; g21, g22];
Discrete-Time System

Dapat ditulis dengan Matlab


>>num=[b0,b1,···,bm−1,bm];
>>den=[a1,a2,···,an,an+1];
>>H=tf(num,den,’Ts’,T ,’ioDelay’,d);

Sampling
Time
Discrete-Time System

Dengan Ts = 0.1 s
>>num=[6 -0.6 -0.12];
>>den=[1 -1 0.25 0.25 -0.125];
>>H=tf(num,den,’Ts’,0.1,’ioDelay’,5)
Atau……
>>z=tf(’z’,0.1);
>>H=(6*zˆ2-0.6*z-0.12)/(zˆ4-zˆ3+0.25*zˆ2+0.25*z-0.125);
>>H.ioDelay=5;
State Space
Memiliki bentuk umum untuk LTI
State Space

Definisikan
State Space in Matlab
Dapat ditulis dengan membuat matrix A, B, C, dan D

>>A=[2.25, -5, -1.25, -0.5; 2.25, -4.25, -1.25, -0.25; 0.25, -0.5, -1.25,-1; 1.25, -1.75, -0.25, -
0.75];
>>B=[4, 6; 2, 4; 2, 2; 0, 2];
>>C=[0, 0, 0, 1; 0, 2, 0, 2];
>>D=zeros(2,2);
>>G=ss(A,B,C,D)
State Space in Matlab
Untuk model discrete-time state space models

𝑥 𝑘 + 1 𝑇 = 𝐹𝑥 𝑘𝑇 + 𝐺𝑢(𝑘𝑇)

𝑦 𝑘𝑇 = 𝐶𝑥 𝑘𝑇 + 𝐷𝑢(𝑘𝑇)

Dapat menggunakan
>> G=ss(A,B,C,D,’Ts’,T )
Zero-Pole-Gain

Dapat ditulis dengan


>>z=-[𝑧1 ; 𝑧2 ; ···; 𝑧𝑛 ];
>>p=-[𝑝1 ; 𝑝2 ; ···; 𝑝𝑛 ];
>>G=zpk(z,p,K)

K = tidak boleh 0 / DC gain


Zero-Pole-Gain

Dapat ditulis dengan


>>z=[-1.9294; -0.0353+0.9287j; -0.0353-0.9287j];
>>p=[-0.9567+1.2272j; -0.9567-1.2272j; +0.0433+0.6412j; +0.0433- 0.6412j];
>>G=zpk(z,p,6)
G=
6 𝑠 + 1.929 (𝑠 2 + 0.0706𝑠 + 0.8637)
(𝑠 2 − 0.0866𝑠 + 0.413)(𝑠 2 + 1.913𝑠 + 2.421)
Series Connection

U(t) Y(t)
G1(s) G2(s)
Parallel Connection

G1(s))

U(t) Y(t)

G2(s)
Positive Feedback

U(t) Y(t)
G1(s)

G2(s)
Negative Feedback

U(t) Y(t)
G1(s)

G2(s)
Complicated connection

5ss 3s 4s 10ss

1/3 s

1/4s
Penyederhanaan

U(t) Y(t)

G(s)
Transfer Function

U(s) E(s) Y(s)

G(s)

B(s)
H(s)
Introduction to System Identification

 Pada sistem linear, diasumsikan bahwa sistem memiliki model matematis


 In real life, tidak semua sistem memiliki model. Sehingga dibutuhkan
rekonstruksi model. Kegiatan rekonstruksi model berdasarkan data yang
terukur disebut identifikasi sistem
Identifikasi pada Sistem Discrete-Time

 Transfer Function
Contoh
>> u=[1.4601,0.8849,1.1854,1.0887,1.413,1.3096,1.0651,0.7148,...
1.3571,1.0557,1.1923,1.3335,1.4374,1.2905,0.841,1.0245,... ERROR :
Data harus di transpose terlebih
1.4483,1.4335,1.0282,1.4149,0.7463,0.9822,1.3505,0.7078,...
dahulu
0.8111,0.8622,0.8589,1.183,0.9177,0.859,0.7122,1.2974,...
1.056,1.4454,1.0727,1.0349,1.3769,1.1201,0.8621,1.2377,...
1.3704,0.7157,1.245,1.0035,1.3654,1.1022,1.2675,1.0431];

>> y=[0,0,8.7606,13.1939,17.41,17.6361,18.7627,18.5296,17.0414,...
13.4154,14.4539,14.59,16.1104,17.6853,19.4981,19.5935,...
16.4106,14.3359,15.7463,18.1179,17.784,18.8104,15.3086,...
13.7004,14.8178,13.2354,12.2993,11.6001,11.6074,13.7662,...
14.195,13.763,11.8713,13.8566,14.6944,17.8659,17.6543,...
16.6386,17.1071,16.5373,14.643,15.0862,16.8058,14.7641,...
15.4976,14.679,16.6552,16.6301];

>> t1=arx([y,u],[4,4,1])
Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)
A(q)=1-qˆ-1 + 0.25 qˆ-2 + 0.25 qˆ-3 - 0.125 qˆ-4
B(q) = 4.83e-008 qˆ-1 + 6 qˆ-2 - 0.5999 qˆ-3 - 0.1196 qˆ-4
Estimated using ARX
Loss function 7.09262e-010 and FPE 9.92966e-010
Sampling interval: 1
 Berdasarkan tabel T (Sampling Time) = 0.1 s
Dengan menggunakan , dapat dihasilkan data object dari sistem.
Contoh :
>> U=iddata(y,u,0.1); T=arx(U,[4,4,1]); H=tf(T); G=H(1)

Membuat Komponen Input Transfer Function


object data dan Output TF
Untuk Verifikasi Model, dapat digunakan untuk
mensimulasikan sistem dengan input u.

>> t=0:0.1:4.7; lsim(G,u,t); hold on, plot(t,y,’o’,t,u,’o’) % untuk 4 4 1


>> T=arx(U,[3,3,1]); H=tf(T); G1=H(1)
lsim(G1,u,t); hold on, plot(t,y,’o’,t,u,’o’)
GUI System Identification on Matlab

Load Input dan


Output
Hasil Identifikasi

Setting ARX pada


Estimate
(Polynomial)
Order Selection

Akaike Information Criterion (AIC) merupakan model statistik yang dinyatakan


dalam
>> for n=1:7, for m=1:7
T=arx(U,[n,m,1]); TAic1(n,m)=aic(T);
T=arx(U,[n,m,2]); TAic2(n,m)=aic(T);
end, end

TAic1 TAic2
Generation of Identification Signals

 dibutuhkan sinyal input yang memiliki spektrum yang cukup agar bentuk
sistem dinamiknya mampu dihasilkan
 Karena hal ini, sinyal input haruslah terus ada. Karena hal ini maka digunakan
Pseudorandom Binary Sequence (PRBS)

Dimana k adalah panjang sequence 𝑘 = 2𝑛 − 1 , n adalah integer


>> u=idinput(63,’PRBS’); t=[0:.1:6.2]’;
stairs(u), set(gca,’XLim’,[0,63],’YLim’,[-1.1 1.1])

>> num=[6 -0.6 -0.12]; den=[1 -1 0.25 0.25 -0.125];


G=tf(num,den,'Ts',0.1);
y=lsim(G,u,t); T1=arx([y,u],[4 4 1])
 Transfer Function

Contoh a : d2c
>> G=tf([1,7,11,5],[1,7,21,37,30]);
t=[0:.2:6]'; u=idinput(31,'PRBS');
y=lsim(G,u,t); U=arx([y u],[4 4 1]);
G1=tf(U); G1=G1(1); G1.Ts=0.2; G2=d2c(G1) 31 Sequence Input
>> t=[0:.1:8]'; u=sin(t); y=lsim(G,u,t); u1=iddata(y,u,0.1);
U=arx(u1,[4 4 1]); G1=tf(U); G1=G1(1); G2=d2c(G1)
81 Sequence Input

Berdasarkan dari ke 2 model, didapatkan hasil ke 2 (dengan 81 sequence)


tidaklah sebaik yang 31 sequence. Hal ini disebabkan karena spektrum
frekuensi input yang sempit. Oleh karena itu PRBS lebih baik daripada
sinyal Sinus.
Identifikasi Sistem Multivariabel

bentuk model discrete-time


Contoh :

>> u1=idinput(31,'PRBS'); t=0:.1:3; u2=u1(end:-1:1);


g11=tf([0.5234, -0.1235],[1, 0.8864, 0.4352],'Ts',0.1); -> TF 11
g12=tf([3, 0.69],[1, 1.084, 0.3974],'Ts',0.1); -> TF 12
g21=tf([1.2, -0.54],[1, 1.764, 0.9804],'Ts',0.1); -> TF 21
g22=tf([3.4, 1.469],[1, 0.24, 0.2848],'Ts',0.1); -> TF 22
G=[g11, g12; g21, g22]; y=lsim(G,[u1 u2],t);
na=4*ones(2); nb=na; nc=ones(2);
U=iddata(y,[u1,u2],0.1); T=arx(U,[na nb nc])
 akan didapatkan A(z) dan B(z) sistem, sehingga Transfer Function tiap variabel dapat ditentukan

>> H=tf(T); g11=H(1,1)


 Karena order yang dihasilkan terlalu besar, diperlukan metode realisasi
minimum dengan menetapkan error tolerance yang relatif besar 𝜀 = 10−4
sehingga didapatkan T.F yang mendekati nilai sebenarnya
>> G11=minreal(g11,1e-4)

Вам также может понравиться