Apa itu Kalman.docx

7
Apa itu Kalman Filter? Posted on November 21, 2010 by Junot D. Ojong 2 Votes Kalian pasti pernah dengar kan istilah Kalman Filter? Filter ini sepertinya cukup terkenal (entah kenapa), dipakai di segala bidang, termasuk teknik kendali. Mau tahu kalman filter itu apa? Jawabannya adalah… Jreng2… Estimator! Ya, kalman filter ini tak lain adalah hanya sebuah estimator. Istimewanya adalah kalman filter mengestimasi state dari output/sensor plant yang kotor oleh noise. Entah mengapa disebut sebagai filter, mungkin karena bisa dibilang dia “memfilter” noise dari sensor ya. Secara singkat (tanpa babibu penurunan rumus), kalman filter itu seperti ini: Misalkan ada sebuah plant: u adalah control input plant, w adalah gangguan pada plant, v adalah noise pada sensor, dan m adalah hasil bacaan sensor. w dan v diasumsikan sebagai white noise dengan spectral density Sw dan Sv. w dan v juga diasumsikan berasal dari sumber yang berbeda (independen).

description

Kalman filter

Transcript of Apa itu Kalman.docx

Apa itu KalmanFilter?Posted onNovember 21, 2010byJunot D. Ojong2 Votes

Kalian pasti pernah dengar kan istilah Kalman Filter? Filter ini sepertinya cukup terkenal (entah kenapa), dipakai di segala bidang, termasuk teknik kendali. Mau tahu kalman filter itu apa? Jawabannya adalahJreng2Estimator!Ya, kalman filter ini tak lain adalah hanya sebuah estimator. Istimewanya adalah kalman filter mengestimasi state dari output/sensor plant yang kotor oleh noise. Entah mengapa disebut sebagai filter, mungkin karena bisa dibilang dia memfilter noise dari sensor ya.Secara singkat (tanpa babibu penurunan rumus), kalman filter itu seperti ini:Misalkan ada sebuah plant:

uadalah control input plant,wadalah gangguan pada plant,vadalah noise pada sensor, danmadalah hasil bacaan sensor.wdanvdiasumsikan sebagaiwhite noisedengan spectral densitySwdanSv.wdanvjuga diasumsikan berasal dari sumber yang berbeda (independen).Objektif kalman filter adalah mengestimasi statexdari hasil pengukuranmdengan meminimisasi error estimasi kuadrat:

Dari objektif itu, kita peroleh kalman filter yang adalah seperti ini:

denganLadalah kalman gain:danQadalah solusi persamaan Ricatti:

Jadi deh! Kalau diperhatikan, kalman filter bisa dibilang kasus khusus dari estimasiH. Bagi yang sudah baca post saya tentangestimasiH, di situ ada parameter. Kalau, estimatorHberubah menjadi kalman filter. Kalman filter juga bisa disebut sebagai estimatorH2karena meminimisasi2-normerror estimasi.Sekarang mari kita lihat contohnya.ContohMari kita terapkan kalman filter untuk estimasi jarak dan kecepatan pesawat oleh radar (seperti pada contoh estimasi H).

r(t)adalah jarak pesawat,m(t)adalah hasil pengukuran radar yang dikotori noisev(t). Kita akan mengestimasiy(t)yang tak lain adalah states dari plant. Asumsiw(t)danv(t)adalah white noise dan spectral density-nyaSw= 4 (m/sec)/Hz danSv= 1010m/Hz.Kalman gainnya adalah (dengan MatLab):>> A = [0 1; 0 0]; Cm = [1 0]; Bw = [0; 1];>> Sv = 4; Sw = 10000;>> Q = are(A, Cm*1/Sv*Cm, Bw*Sw*Bw);>> L = Q*Cm/SvL =10.000050.0000Disimulasikan dengan |w(t)| < 2 dan |v(t)| < 100, hasilnya seperti ini:

Referensi:Burl, Jeffrey B. 1999.Linear Optimal Control: H2 and H Methods. Menlo Park CA: Addison Wesley Longman.

Saya coba mengerjakan soal di atas. Tapi hasilnya belum sesuai contoh.mohon masukan.clc;clear;A=[0 1;0 0];Bw=[0;1];Cm=[1 0];Sw=4;Sv=10^4;sigma0=[10^6 0;0 400000];tf=25;dt=0.1;t=0:dt:tf;% white noisen = length(t);w = sqrt(Sw)*randn(1,n);v = sqrt(Sv)*randn(1,n);% matriks transisiF=[-(A) (Cm)*Sv^-1*Cm;Bw*Sw*(Bw) A];% nilai awal actualr1(1)=10^4;r2(1)=-150;% menghitung kalman gainp=1;for t=0:dt:tfexpF=expm(F*(t));psi11=[expF(1,1) expF(1,2);expF(2,1) expF(2,2)];psi12=[expF(1,3) expF(1,4);expF(2,3) expF(2,4)];psi21=[expF(3,1) expF(3,2);expF(4,1) expF(4,2)];psi22=[expF(3,3) expF(3,4);expF(4,3) expF(4,4)];st=(psi21+psi22*sigma0)*(psi11+psi12*sigma0)^-1;G=st*Cm*Sv^-1;G1(p)=G(1);G2(p)=G(2);p=p+1;end% %memplot r1 dan r2f1=inline(r2);f2=inline(w);for i=1:n-1r1(i+1)=r1(i)+dt*f1(r2(i));r2(i+1)=r2(i)+dt*f2(w(i));endfigure(1)t=0:dt:tf;plot(t,r1)axis([0 25 0 15000])figure(2)plot(t,r2)t=0:dt:tf;axis([0 25 -500 200])r=[r1;r2];m = Cm*r+v;re1(1)=9000;re2(1)=0;% memplot actual dengan estimatef1a=inline(re2+G1*(m-re1));f2a=inline(G2*(m-re1));for i=1:n-1re1(i+1)=re1(i)+dt*f1a(G1(i),m(i),re1(i),re2(i));re2(i+1)=re2(i)+dt*f2a(G2(i),m(i),re1(i));endfigure(3)t=0:dt:tf;plot(t,re1,t,r1)axis([0 25 0 15000])figure(4)t=0:dt:tf;plot(t,re2,t,r2)axis([0 25 -500 200])% memplot kalman gainfigure(5)plot(t,G1,t,G2)axis([0 25 0 10])