Anda di halaman 1dari 25

 

B B IX
OPER SI D S R M TL B
UNTU K PLIK SI SISTEM KEND LI

8.1 Kenapa harus MATLAB ?

MATLAB memiliki beberapa keunggulan dan kemudahan dalam desain dan


analisis sistem kendali dan sistem linear. Fungsi-fungsi pendukung terangkum dalam
Control System Toolbox dan Signal Proccesing Toolbox. Kebanyakan operasi dalam
sistem kendali dan sistem linear berhubungan dengan operasi matriks, aritmatika
kompleks, pencarian akar, konversi model, dan penggambaran fungsi-fungsi yang
kompleks. Seperti telah kita ketahui sebelumnya, MATLAB telah didesain untuk
memudahkan pengerjaan operasi-operasi tersebut diatas, dan analisa fungsi. Pelatihan ini
lebih ditekankan pada pemrograman dan menggunakan fungsi-fungsi dasar dalam bahasa
MATLAB sehinga teori mengenai ilmu sistem itu sendiri hanya akan disinggung sedikit
 pada topik-topik yang relevan.

8.2 Pemodelan Sistem
Desain dan analisa sistem kontrol linear biasanya kita mulai dengan memodelkan
suatu sistem dari dunia nyata. Model adalah representasi matematis dari suatu sistem,
seperti suatu proses kimia, mesin, rangkaian listrik dll. Pemodelan yang dilakukan
dengan MATLAB menggunakan asumsi bahwa sistem adalah rangkaian sistem yang
linear time invariant.
Pemodelan yang dilakukan oleh MATLAB adalah menggunakan fungsi transfer
(klasik) atau state-space (modern). Kedua model itu dapat diterapkan secara waktu diskrit
maupun kontinu. Sebagai contoh :

dapat kita lihat diatas, suatu sistem yang terdiri dari massa, pegas, peredam. Sistem diatas
dapat kita modelkan dengan persamaan differensial orde 2 sebagai berikut :

mx” + bx’+ kx = u (t) (1)

yang kita ukur dengan sebuah potensi meter

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 1


 

 
y(t) = px(t) (2)

 persamaan dari pengukuran potensi diatas merupakan suatu contoh situasi dimana
variabel yang menunjukkan kedinamisan sistem bukanlah output dari sistem itu sendiri.
Kedua persamaan diatas bersama-sama membangun model matematis yang menyatakan
 prilaku sistem, dengannya kita dapat menyatakan pergerakan massa sebagai fungsi dari
waktu.

8.3 Analisa transfer function

Dalam analisa suatu sistem kendali linear biasanya dilakukan operasi untuk
menentukan beberapa sifat dinamis dari sistem seperti stabilitas dan respon frekuensi .
Hal ini terkadang sulit dilakukan dalam analisa domain waktu, sehingga seringkali kita
analisa dalam domain frekuensi. Untuk melakukannya kita menggunakan transformasi
lapplace, sehingga dalam contoh diatas persamaan berubah menjadi :

2
(ms + bs + k )x(s) = u(s)

Transfer function dari persamaan diatas dapat kita definisikan sebagai :

 x( s ) 1
H(s) = =  
ms + bs + k 
2
u(s)
 y ( s )
=  p  
 x( s )

untuk lebih memahami transfer function dan relasinya dalam hubungan input output
sistem, kita biasanya menggunakan suatu blok diagram. Jika kita misalkan m = 1, b = 4,
k= 3, dan p = 10, maka akan kita dapatkan suatu blok diagram sebagai berikut :

u(s) x(s) y(s)


1 10
 
s + 4s + 3
2

Sistem

u(s) 10 y(s)
 
s + 4s + 3
2

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 2


 

8.4 Model State Space

Dalam sistem kendali kita juga mengenal adanya persamaan keadaan (state
space). Model dalam contoh diatas dapat juga kita tuliskan dalam bentuk state space
dengan memisalkan x = x1 dan x’= x2, sehingga persamaan (1) dapat kita tuliskan
menjadi :
x’1=x
k  b u
x’2 = -  x1 −  x2 + = −3 x1 − 4 x2 + u
m m m

dengan menggunakan notasi matrik persamaan diatas dapat ditulis menjadi :

x’= Ax + Bu
y = Cx + Du

⎡ x '1 ⎤ ⎡ 0 1 ⎤ ⎡ x1 ⎤ ⎡0⎤


⎢ ' ⎥=⎢ ⎥ ⎢ x ⎥ + ⎢1⎥u  
 x
⎣ ⎦ 2 ⎣ − 3 − 4 ⎦⎣ 2 ⎦ ⎣ ⎦
⎡ x1 ⎤
y = [ 10 0 ] ⎢ ⎥ + [0]u  
⎣ x 2 ⎦

8.5 Analisa dalam sistem waktu diskrit

Pada kenyataannya, dalam analisa sistem, banyak kita temukan suatu sistem yang
memiliki variabel yang berubah hanya pada waktu diskrit, selain itu banyak pula sistem
yang hanya dapat kita ekstrak atau kita olah informasinya dalam waktu diskrit (misalnya
suatu sistem digital).
Analisa dalam sistem dengan domain waktu diskrit secara garis besar sama
dengan analisa suatu sistem kita harus mengubah bentuk model dari satu bentuk ke
 bentuk yang lain. Bagian berikut ini akan membahas beberapa fungsi dalam MATLAB
yang memudahkan kita untuk mengubah suatu model dari bentuk yang satu ke bentuk
yang lain.

8.6 Proses konversi suatu model

MATLAB memiliki beberapa fungsi yang memudahkan kita untuk mengubah


suatu model dari bentuk yang satu ke bentuk yang; lain serta untuk mengkonversikan
sistem dalam domain waktu kontinu ke domain waktu diskrit. Beberapa fungsi yang
 penting disarikan dalam bagian berikut ini beserta contoh penggunaannya dalam
MATLAB :

1.  c2d

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 3


 

Fungsi ini digunakan untuk mengkonversikan state – space kontinu ke state-space


diskrit .
syntax :

[Phi, Gamma] = C2D ( A, B, T )

digunakan untuk mengkonversikan sistem kontinu : x = Ax + Bu

kesistem diskrit : x[n+1] = Phi * x[n] + Gamma *u[n]

dengan mengasumsikan adanya zero – order hold pada input dengan sample Time (T)

contoh:
x’ = Ax + Bu

⎡ x'1 ⎤ ⎡ 0 1 ⎤ ⎡ x1 ⎤ ⎡0⎤


⎢ x' ⎥ = ⎢− 3 − 4⎥ ⎢ x ⎥ + ⎢1⎥u  dengan sampling time 0,1
⎣ 2⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦

aplikasi MATLAB :

» a=[0 1;-3 -4];


» b=[0;1];
» [pi,gamma]=c2d(a,b,0.1)

 pi =

0.9868 0.0820
-0.2460 0.6588

gamma =

0.0044
0.0820

Sehingga model diskrit dari sistem diatas adalah :

x[n+1] = phi*x[n]+ gamma *u[n]

⎡ x'1 ⎤ ⎡ 0.968 0.0820⎤ ⎡ x ⎤ ⎡0.0044⎤


⎢ x' ⎥ = ⎢− 0.2460 0.6588⎥ ⎢ x ⎥ + ⎢0.0820⎥u n  
⎣ 2 ⎦ n +1 ⎣ ⎦⎣ 2 ⎦ n ⎣ ⎦

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 4


 

2.  Residue

Fungsi RESIDUE digunakan untuk mengubah suatu transfer function dalam bentuk
 polinomial ke bentuk pecahan partial

Syntax :

[R,P,K]= RESIDUE (B, A) mencari residu ( R ), pole ( P ) dan direct term ( K ),


sehingga pecahan partial dari perbandingan dua polynomial B(s) dan A(s) adalah :

 B ( s )  R(1)  R( 2)  R (n)


= + + ... + + K ( s) jika tidak terdapat multiple root.
 A( s ) s − P(1) s − P ( 2) s − P (n)

Vektor A dan B merupakan vector dari polynomial dengan urutan pangkat s yang
mengecil. Jumlah pole adalah :

n = length ( A) -1 = length ( R ) = length ( P);

vektor koefisien direct term kosong jika

Length ( B) < length(A) :

 jika kondisi diatas tidak dipenuhi, maka :

length (K)= length ( B) – length(A)+1

Jika P(i) = … = P(j+m-1) maka terjadi multiple pole sejumlah m, maka pecahan
 partial dinyatakan dengan :

 R ( j )  R ( j + 1)  R( j + m − 1)


+ + ... +  
s − P( j ) ( s − P( j ))^ 2 ( s − P ( j ))^ m

[B,A] = RESIDUE (R,P,K), mengkonversikan pecahan partial kembali ke bentuk


 polynomial

contoh :
suatu sistem dengan fungsi transfer :

 y ( s ) 10
=  
s + 4s + 3
2
u ( s)

aplikasi MATLAB :

» b=[10];
» a=[1 4 3];

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 5


 

» [r,p,k]=residue(b,a)

r=

-5
5

 p =
-3
-1

k=

[]
sehingga persamaan parsial dari fungsi diatas adalah :

−5 5
H(s) = +  
s + 3 s +1

3.  ss2tf
Fungsi SS2TF digunakan untuk mengkonversikan suatu persamaan state-space ke
fungsi transfer dalam bentuk polynomial.

Syntax :
[NUM,DEN] = SS2TF ( A,B,C,D,iu] membentuk suatu fungsi transfer :

 NUM ( s ) −1
H(s) = = C (sI  −  A ) B +  D  
 DEN ( s )
dari sistem :

x = Ax + Bu
y = Cx + Du

contoh
suatu persamaan state space:

x’=Ax+Bu
y = Cx + Du

⎡ x'1 ⎤ ⎡ 0 1 ⎤ ⎡ x1 ⎤ ⎡0⎤


⎢ x' ⎥ = ⎢− 3 − 4⎥ ⎢ x ⎥ + ⎢1⎥u  
⎣ 2⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 6


 

⎡ x1 ⎤
y = [10 0] ⎢ ⎥ + [0]u  
⎣ x 2 ⎦

aplikasi MATLAB :

» a=[0 1;-3 -4];


» b=[0 1]';
» c=[10 0];
» d=0;
» iu=1;
» [num,den]=SS2TF(a,b,c,d,iu)

num =

0 0 10

den =

1 4 3

Sehingga bentuk sistem dalam fungsi transfer adalah :

 y ( s ) 10
=  
s + 4s + 3
2
u ( s)

4.  ss2zp

Fungsi SS2ZP digunakan untuk mengkonversikan persamaan state-space ke zero – 


 pole dari fungsi transfer sistem

Syntax :

[z,p,k] = SS2ZP ( A,B,C,D,IU) menghitung fungsi tranfer

−1
( s − z1)( s − z 2)...( s − zn)
 H ( s ) = C ( sI  − A) B + D = k   
( s −  p1)( s −  p 20...( s −  pn)

dari suatu sistem :

x = Ax + Bu
y = Cx + Du

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 7


 

 
contoh :

suatu persamaan state space :

x’=Ax+Bu
y = Cx + Du

⎡ x'1 ⎤ ⎡ 0 1 ⎤ ⎡ x1 ⎤ ⎡0⎤


⎢ x' ⎥ = ⎢− 3 − 4⎥ ⎢ x ⎥ + ⎢1⎥u  
⎣ 2⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦

⎡ x1 ⎤
y = [ 10 0 ] ⎢ ⎥ + [0]u  
⎣ x2 ⎦

aplikasi MATLAB :

» a=[0 1;-3 -4];


» b=[0 1]';
» c=[10 0];
» d=0;
» iu=1;
» [z,p,k]=ss2zp(a,b,c,d,iu)

z=

[]

 p =

-1
-3

k=

10

Sehingga fungsi transfer zero–pole-gain adalah :

 y ( s ) 10
=  
u ( s) s + 4s + 3
2

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 8


 

5.  tf2ss

Fungsi TF2SS digunakan untuk mengkonversikan suatu fungsi transfer ke persamaan


state-spacenya .

Syntax :

[A,B,C,D] = TF2SS (NUM,DEN) mencari representasi state-space

x = Ax + Bu
y = Cx + Du

dari fungsi transfer :


 NUM ( s )
 H ( s  ) =  
 DEN ( s )
contoh :
sebuah sistem dengan fungsi tranfer

 y ( s ) 10
=  
u ( s) s + 4s + 3
2

aplikasi MATLAB

» z=[];
» p=[-3 -1]';
» k=10;
» [a,b,c,d]=zp2ss(z,p,k)

a=

-4.0000 -1.7321
1.7321 0

 b =

1
0

c=

0 5.7735

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 9


 

d=

sehingga persamaan state spacenya adalah :

x’= Ax + Bu
y = Cx + Du
⎡ x'1 ⎤ ⎡ 0 1 ⎤ ⎡ x ⎤ ⎡ 0⎤
⎢ x' ⎥ = ⎢− 3 − 4⎥ ⎢ x ⎥ + ⎢1⎥ u  
⎣ 2⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦

6.  tfszp

Fungsi TF2ZP ( NUM,DEN ) mencari zero, pole dan gain :

( s − z1)( s − z 2)...(s − zn)


 H ( s ) = K   
( s −  p1)( s −  p 2)...(s −  pn)

dari persamaan fungsi transfer :

 NUM ( s )
 H ( s  ) =  
den( s )
contoh :
sebuah sistem dengan fungsi transfer :

 y ( s ) 10
=  
u ( s) s + 4s + 3 2

aplikasi MATLAB :

» num=10;
» den=[1 4 3 ];
» [z,p,k]=tf2zp(num,den)

z=

[]

 p =

-3
-1

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 10


 

k=

10

Sehingga fungsi transfer zero-pole-again adalah :

 y ( s ) 10
=  
u ( s) s + 4s + 3
2

7.  zp2ss

Fungsi ZP2SS mengkonversikan persamaan Zero-Pole ke persamaan state-space

Syntax :

[A, B, C, D] = ZP2SS ( Z, P, K) mencari representasi state space :

x = Ax + Bu
y = cx + Du

dari suatu sistem yang telah diketahui set pole, zero dan gain

( s − z1)( s − z 2)...(s − zn)


 H ( s ) = K   
( s −  p1)( s −  p 2)...(s −  pn)

contoh :

suatu sistem memiliki fungsi transfer zero-pole-gain :

 y ( s ) 10
=  
u ( s) s + 4s + 3
2

aplikasi MATLAB :

» z=[];
» p=[-3 -1]';
» k=10;
» [a,b,c,d]=zp2ss(z,p,k)

a=

-4.0000 -1.7321
1.7321 0

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 11


 

 b =

1
0

c=

0 5.7735

d=

Sehingga bentuk canonical dari persamaan state-space adalah :

⎡ x' ⎤ ⎡ − 4  − 1.7321⎤ ⎡ x1 ⎤ ⎡1⎤


⎢ x' ⎥ = ⎢1.7321 ⎥ ⎢ x ⎥ + ⎢0⎥u  
⎣ 2⎦ ⎣ 0 ⎦⎣ 2 ⎦ ⎣ ⎦

8.  zp2tf

Fungsi ZP2TF digunakan untuk mengkonversikan persamaan zero-pole ke suatu


fungsi transfer

Syntax :

[NUM, DEN] = ZP2TF ( Z, P, K ) membentuk fungsi transfer :

 NUM ( s )
 H ( s  ) =
 
 DEN ( s )
dari suatu sistem yang telah diketahui set pole, zero dan gain.

( s − z1)( s − z 2)...(s − zn)


 H ( s ) = K   
( s −  p1)( s −  p 2)...(s −  pn)

contoh :
suatu sistem memiliki fungsi transfer zero-pole-gain :

 y ( s ) 10
= 2
u (s) s + 4s + 3

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 12


 

 
aplikasi MATLAB :

» z=[];
» p=[-3 -1]';
» k=10;
» [num, den]=zp2tf(z,p,k)

num =

0 0 10

den =

1 4 3

sehingga bentuk fungsi transfer adalah :


 y ( s ) 10
= 2  
u ( s) s + 4s + 3

9  Desain dan Analisa fungsi


MATLAB memiliki beberapa fungsi yang sangat berguna untuk mendesain dan
menganalisa suatu sistem linear. Fungsi-fungsi ini dapat melakukan beberapa operasi
dasar seperti mencari respon frekuensi baik pada domain waktu maupun domain frkuensi
dan melakukan desain filter Kalman yang digunakan untuk memecahkan berbagai
 permasalahan fungsi-fungsi dasar MATLAB yang penting untuk melakukan operasi
tersebut diatas :

9.1 Bode Plot
Analisa suatu sistem dalam domain frekuensi yang umum digunakan dalam
sistem kendali adalah bode plot. Bode plot menghasilkan dua buah grafik, yang pertama
memetakan ratio amplitudo dari suatu fungsi transfer terhadap frekuensi dan yang kedua
memetakan sudut fasa dari fungsi transfer terhadap frekuensi . Pada MATLAB , fungsi
yang melakukan operasi bode plot adalah bode :

Syntax :

BODE digunakan untuk ekstrasi bode plot dari sautu sistem

BODE ( A, B, C, D, Iu ) menghasilkan diagram bode dari single input IU


ke semua output dalam ssitem state-space (A, B, C, D). IU adalah index dari input
dari sistem dan menunjukkan input mana yang digunakan untuk mencari respon

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 13


 

 bode. Range frekuensi dan jumlah titik akan dipilih secara otomatis oleh
MATLAB
BODE (NUM, DEN) menghasilkan diagram bode dari single input IU ke
semua output dalam sistem dengan transfer function G (s)= NUM(s)/Den(s).
BODE (A,B,,D,IU,W) atau BODE (NUM,Den,W) menggunakan vektor
frekuensi W yang harus menyatakan frekuensi dimana respon bode diamati,
dalam rad/s
Jika kita menambahkan argumen kiri
[MAG, PHASE, W] = BODE ( A, B, C, D, …)
[MAG, PHASE, W] = BODE ( NUM, DEN,...)
menghasilkan vektor MAG, PHASE dan W, tanpa menghasilkan diagram bode.

Contoh :
Misalkan terdapat suatu sistem yang memiliki fungsi transfer sebagai berikut :

 x( s ) 10
=  
u ( s) s + 4s + 3
2

aplikasi MATLAB :

» num=10;
» den=[1 4 3];
» bode(num,den),...
title (' Bode Plot contoh');

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 14


 

 Bode Plot contoh

From: U(1)
20

10

   )
   B 0
   d
   (
  e
   d -1 0
  u
   t
   i
  n
  g
  a -2 0
   M
  ;
   )
  g 0
  e
   d
   (
  e -5 0
  s
  a
   h    )
   1
   P    (
   Y -100
  :
  o
   T

-150

-200
10 -1 10 0 10 1

Frequency (rad/sec)
 

Range frekunesi dapat juga kita temukan dengan menggunakan perintah berikut
ini :
» num=10;
» den=[1 1 3];
» w=logspace(-1,2,100);
» bode(num,den,w),grid on, title('Bode plot dengan range frekuensi tertentu')
»

Grafik untuk perintah diatas adalah :

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 15


 

Bode plot dengan range frekuens i tertentu

From: U(1)
20

   )
   B -2 0
   d
   (
  e
   d -4 0
  u
   t
   i
  n
  g
  a -6 0
   M
  ;
   )
  g 0
  e
   d
   (
  e -5 0
  s
  a
   h    )
   1
   P    (
   Y -100
  :
  o
   T

-150

-200
10 -1 10 0 10 1 10 2

Frequency (rad/sec)
 

Bode plot juga dapat kita bentuk jika kita mengetahui state space dari sistem,
misalnya :

⎡ x'1 ⎤ ⎡ 0 1 ⎤ ⎡ x ⎤ ⎡0⎤


⎢ x' ⎥ = ⎢− 3 − 4⎥ ⎢ x ⎥ + ⎢1⎥ u  
⎣ 2⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦

⎡ x1 ⎤
y = [10 0] ⎢ ⎥ + 0  
⎣ x 2 ⎦

aplikasi MATLAB :

» a=[0 1;-3 -4];


» b=[0 1]';
» c=[10 0];
» d=0;
» bode(a,b,c,d),grid on,title('Bode plot persamaan state space');
»

grafik hasil operasi diatas adalah :

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 16


 

 
Bode plot persamaan s tate space

From: U(1)
20

10

   )
   B 0
   d
   (
  e
   d -1 0
  u
   t
   i
  n
  g
  a -2 0
   M
  ;
   )
  g 0
  e
   d
   (
  e -5 0
  s
  a
   h    )
   1
   P    (
   Y -100
  :
  o
   T

-150

-200
10 -1 10 0 10 1

Frequency (rad/sec)
 

9.2 Nyquist Plot

Selain bode plot salah piranti lain yang sering digunakan untuk melakukan analisa
suatu sistem dalam domain frekuensi adalah nyquist plot lebih sering digunakan jika kita
melakukan analisis sistem.MATLAB fungsi yang digunakan adalah nyquist .

Syntax :

 NYQUIST (A, B, C, D, IU) menghasilkan Nyquist plot dari single input IU ke


semua output sistem.
X = Ax + Bu G ( s) = C(sI –A) B + D
Y = Cx + Du RE(w) = real ( G(jw)), IM (w) = imag ( G(jw))

Dengan range frekuensi dan jumlah titik yang ditentukan otomatis oleh
MATLAB.

 NYQUIST ( NUM, DEN) menghasilkan diagram nyquist dari sistem dengan


 polynomial transfer function G (s) = NUM (s)/DEN(s)

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 17


 

 NYQUIST ( A, B, C, D, IU, W) atau NYQUIST ( NUM, DEN, W) menggunakan


vektor frekuensi W yang harus menyatakan frekuensi dimana respon bode diamati, dalam
rad/s
Jika kita menambahkan argumen kiri

[RE,IM,W] = NYQUIST ( A, B, C, D,….)


[RE,IM,W] = NYQUIST ( NUM, DEN,….)

maka fungsi akan menghasilkan vektor RE, IM, dan W

contoh :
misalkan suatu sistem memiliki diagram blok sebagai berikut :

u(s) 10 y(s)
2
 
s + 4s + 3

kita dapat membentuk grafik Nyquistnya dengan perintah sebagai berikut :

aplikasi MATLAB :

» num=10;
» de=[1 4 3];
» nyquist(num,den),title('nyquist plot');
»

grafik hasil operasi diatas adalah :

nyquist plot
From: U(1)
8

  s
   i 2
  x
   A    )
  y
  r
   1
   (
  a    Y 0
  n
   i   :
  o
  g    T
  a
  m
   I -2

-4

-6

-8
-3 -2 -1 0 1 2 3 4 5

Real Axis
 

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 18


 

Seperti perintah bode, perintah nyquist juga memungkinkan kita untuk mengatur
range real axis mana yang akan kita amati, hal ini dapat dilakukan dengan operasi :

» num=10;
» den=[1 4 3];
» w=logspace(0,1,100);
» nyquist(num,den,w),title('nyquist dengan axis diatur');
»

Hasil grafik operasi diatas adalah :

nyquist dengan axis diatur 


From: U(1)
2.5

1.5

  s
   i
  x 0.5
   A    )
  y
  r
   1
   (
  a    Y 0
  n
   i   :
  o
  g    T
  a
  m -0.5
   I

-1

-1.5

-2

-2.5
-1 -0.5 0 0.5 1 1.5

Real Axis
 

Selain itu kita juga dapat menghasilkan diagram nyquist langsung dari persamaan
state sistem

⎡ x'1 ⎤ ⎡ 0 1 ⎤ ⎡ x ⎤ ⎡0⎤


⎢ x' ⎥ = ⎢− 3 − 4⎥ ⎢ x ⎥ = ⎢1⎥u  
⎣ 2⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦
⎡ x1 ⎤
y = [10 0] ⎢ ⎥ + 0  
⎣ x 2 ⎦

dengan menggunakan operasi sebagai berikut :

» a=[0 1;-3 -4];

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 19


 

» b=[0 1]';
» c=[10 0];
» d=0;
» nyquist(a,b,c,d),title(' nyguist persamaan state space');
»

Dengan grafik output sebagai berikut :

 nyguist persamaan state space


From: U(1)
2.5

1.5

  s
   i
  x 0.5
   A    )
  y
  r
   1
   (
  a    Y 0
  n
   i   :
  o
  g    T
  a
  m -0.5
   I

-1

-1.5

-2

-2.5
-1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5

Real Axis
 

9.3 Root Locus

Metode root locus merupakan piranti analisa yang amat berguna untuk sistem
dengan single input dan single output. Root Locus melakukan analisa stabilitas dan
respon transien dari sistem untuk menentukan suatu langkah apa yang harus dilakukan
dalam meningkatkan performansi sistem. Dalam MATLAB fungsi yang digunakan
adalah rlocus :

Syntax :

RLOCUS (Num, DEN) menghitung dan membuat diagram root locus dari sistem
dengan fungsi transfer
 NUM ( s )
 H ( s ) = 1 + k   = 0 
 DEN ( s )

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 20


 

dengan set gains K yang dihitung secara adaptif untuk mendapatkan diagram yang
halus. Sebagai alternatif kita juga dapat mendefinisikan vector K itu sendiri sehingga
fungsi berubah menjadi :
RLOCUS ( NUM, Den, K )
R = RLOCUS ( NUM,DEN,K) atau [R,K] = RLOCUS ( NUM,DEN) akan
menghasilkan matrix R dnegan LENGTH ( k) rows and (LENGTH (Den(-1))

Columns yang berisikan lokasi complex root. Setiap baris dari matrix memiliki
korespondensi dengan vector gain K, jika kita tambahkan K pada argumen kanan maka
fungsi juga akan menghasilkan vector K.

RLOCUS ( A, B, C, D ), R = RLOCUS ( A, B, C, D, K ), atau


[R,K] = RLOCUS ( A, B, C, D ) mencari root locus dari sistem dengan persamaan
state-space (A,B,C,D).

dx/dt = Ax + Bu u=-k*y
y = Cx + Du

Contoh :
Jika kita memiliki suatu sistem feedback control dengan blok diagram sebagai
 berikut :

G(s)

H(s)

Atau

u(s) y(s)
G( s)
 
1 + G ( s ) H ( s )

Fungsi transfer close loop dari sistem adalah :

 y ( s ) G( s)
=  
u(s) 1 + G ( s ) H ( s )

Root Locus akan kita dapatkan pada kondisi dimana denomenator dari persamaan diatas
= 0, sehingga kita mendapatkan suatu fungsi kondisi :

1 + G(s) H(s) = 0

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 21


 

G(s)H(s) = -1

Jika kita memiliki suatu sistem kendali orde 4 sebagai berikut :


Untuk mendapatkan diagram root locusnya kita harus melakukan operasi sebagai
 berikut :

» num=[1 6];
» p1=[1 4 0];
» p2=[1 4 8];
» den=conv(p1,p2);
» rlocus(num,den),title('root locus contoh');
»

Dengan hasil grafik adalah :

root locus contoh


8

2
  s
   i
  x
   A
0
  g
  a
  m
   I
-2

-4

-6

-8
-10 -8 -6 -4 -2 0 2
Real Axis
 

9.4 Respon Step
Respon step pada umumnya menunjukkan bagaimana perilaku suatu sistem
terhadap input. Secara lebih terperinci fungsi dari step respon adalah menunjukkan
 perilaku transistem dalam domain waktu terhadap adanya perubahan pada input. Dengan
operasi ini kita akan dapat mengekstrak beberapa informasi seperti stabilitas, damping

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 22


 

dan bandwidth dari sistem yang kita pelajari. Pada MATLAB fungsi yang digunakan
adalah step.

Syntax :

STEP(A,B,C,D,IU) menghasilkan diagram time response dari sistem linear :


x = Ax + Bu
y = Cx + Du

terhadap sinyal step yang diberikan pada input IU. Vektor waktu ditentukan secara
otomatis.

STEP (A, B, C, D, IU,T) ditambahkan dengan informasi regularly spaced time vector T
yang dimasukkan oleh user.

[Y,X] = STEP (A, B, C, d, IU, T) or [ [Y, X, T ] = STEP (a, B, C, D, Iu)

menghasilkan output dan time response dalam matrix Y and X. Matrix Y memiliki
 banyak kolom sebanyak jumlah ouput dan length (T) rows. Matrix X memiliki jumlah
sebanyak jumlah states.

[Y,X] = STEP (Num,DEN,T0 atau [Y,X,T] = STEP (NUM,DEN) menghasilkan


diagram step response dari sistem dengan transfer function : G (s) = NUM(s)/DEN(s).

contoh :

 jika kita memiliki sistem dengan fungsi transfer :

 y ( s ) 5( S  + 3)
= 2
 
u (s) S  + 3S  + 15

aplikasi matlab :

» NUM=5*[1 3];
» DEN=[1 3 15];
» STEP(NUM,DEN),grid on, TITLE('GRAFIK STEP RESPON CONTOH');
»

Grafik hasilnya adalah :

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 23


 

GRAFIK STEP RESPON CONTOH


From: U(1)
1.6

1.4

1.2

1
  e
   d    )
  u
   t    1
   i    (
   l    Y 0.8
  p   :
  m   o
   T
   A
0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3 3.5 4

Time (sec.)
 

Kita juga dapat mendefinisikan range waktu dan skala waktu grafik yang kita inginkan ,
contoh operasinya dapat dilihat berikut ini :
» num=5*[1 3];
» den=[1 3 15];
» t=0:0.05:2;
» step(num,den,t), grid on, title(' grafik step respon dengan waktu tertentu');
»

Grafik hasilnya adalah :


  g r a fi k s t e p r e s p o n d e n g a n w a k t u t e r t e n t u
From: U(1)
1 .6

1 .4

1 .2

1
  e
   d    )
  u
   t    1
   i    (
   l    Y 0 .8
  p   :
  m   o
   T
   A
0 .6

0 .4

0 .2

0
0 0 .2 0 .4 0 .6 0 .8 1 1 .2 1 .4 1 .6 1 .8 2

T im e ( s e c . )
 

 DASAR DASAR MATLAB UNTUK TEKNIK ELEKTRO  VIII - 24

Anda mungkin juga menyukai