Filter digital adalah semua filter elektronik yang bekerja dengan menerapkan operasi
matematika digital atau algoritma pada suatu pemrosesan sinyal. Salah satu batasan utama
pada filter digital adalah dalam hal keterbatasan kecepatan pemrosesan/waktu komputasi
yang sangat tergantung dengan kemampuan mikrokontroler atau komputer yang digunakan.
Kalman filter merupakan sebuah filter yang efisien dan mengestimasi state pada
linear dynamic system dari rentetan pengukuran noise. Disebut recursive sebab untuk
menghitung state estimasi saat ini,hanya membutuhkan sata state estimasi satu waktu
sebelumnya dan data pengukuran saat ini. Teknik filter ini dinamakan berdasarkan
penemunya, Rudolf E. Kalman. Kalman filter sangat berguna terutama dalam navigasi dan
lingkungan dengan Gaussian noise. Pada teori terkendali, kalman filter merupakan sebuah
algoritma atau kumpulan persamaan matematika yang menghasilkan sebuah perhitungan
yang efisien untuk mengestimasi state dari proses, dengan tujuan meminalkan noise atau
variansi terhadap referensi lain. Filter ini sangat bagus dalam beberapa aspek: mendukung
estimasi state sebelumnya,saat ini dan berikutnya. Bahkan hal ini tetap dapat dilakukan
meskipun model sistem yang sebenarnya tidak diketahu. Kalman filter disebut juga sebuah
estimator stokastik yang optimal.
Kalman Filter (KF) adalah suatu metode estimasi variabel keadaan dari sistem
dinamik stokastik linear diskrit yang meminimumkan kovariansi error estimasi. Metode KF
pertama kali diperkenalkan oleh Rudolph E. Kalman pada tahun 1960 lewat papernya yang
terkenal tentang suatu penyelesaian rekursif pada masalah filtering data diskrit yang linear
(Welch & Bishop, 2006). KF merupakan suatu pendekatan teknis untuk menaksir fungsi
parameter dalam peramalan deret berkala (time series). Keunggulan metode KF adalah
kemampuannya dalam mengestimasi suatu keadaan berdasarkan data yang minim. Data
minim yang dimaksud adalah data pengukuran (alat ukur) karena KF merupakan suatu
metode yang menggabungkan model dan pengukuran. Data pengukuran terbaru menjadi
bagian penting dari algoritma KF karena data mutakhir akan berguna untuk mengoreksi hasil
prediksi, sehingga hasil estimasinya selalu mendekati kondisi yang sebenarnya (Masduqi,
2008).
Dengan :
X0 = inisial dari sistem,
Xk+1 = variable keadaan pada waktu k+1 dan berdimensi,
Xk = variable keadaan pada waktu k yang nilai estimasi awalnya X0 dan
kovariansi awal Px0, Xk ∈ Rn
Uk = vector masukan deteministik,pada waktu k,Uk ∈ 𝑅 n
Wk = noise pada sistem dengan mean Wk = 0 dengan kovariansi Qk,
Zk = variabel pengukuran Zk ∈ 𝑅 p
Variabel Wk ~N(0, Qk) dan Vk ~N (0,Rk) ini diasumsikan white (berdistribusi normal dengan
mean 0), tidak berkorelasi satu sama lain maupun dengan nilai estimasi awal X0 Proses
estimasi KF dilakukan dengan dua tahapan, yaitu dengan cara memprediksi variabel keadaan
berdasarkan sistem dinamik yang disebut tahap prediksi (time update) dan selanjutnya tahap
koreksi (measurement update) terhadap data-data pengukuran untuk memperbaiki hasil
estimasi.Tahap prediksi dipengaruhi oleh dinamika sistem dengan memprediksi variabel
keadaan dengan menggunakan persamaan estimasi variabel keadaan dan tingkat akurasinya
dihitung menggunakan persamaan kovariansi error. Pada tahap koreksi hasil estimasi
variabel keadaan yang diperoleh pada tahap prediksi dikoreksi menggunakan model
pengukuran. Salah satu bagian dari tahap ini yaitu menentukan matriks Kalman Gain yang
digunakan untuk meminimumkan kovariansi error. Tahap prediksi dan koreksi dilakukan
secara rekursif dengan cara meminimumkan kovariansi error estimasi (Xk – X̂k),Xk
Pada sistem navigasi,kalman filter yang digunakan adalah kalman filter diskrit.
Kalman filter yang mengestimasi proses dengan menggunakan bentuk pengendali feedback :
filter mengestimasi state proses pada beberapa waktu dan kemudian mendapatkan umpan
balik(feedback) dalam benk pengukuran(noise). Oleh karena itu, persamaan kalman filter
dibagi menjadi dua kelompok yaitu persamaan time update dan persamaan measurement
update. Time update dapat disebut juga sebagai proses predict,yaitu menggunakan estimasi
state dari satu waktu sebelumnya untuk mendapatkan sebuah estimasi state pada saat ini.
Sedangkan measurement update disebut juga sebagai proses correct, yaitu informasi
pengukuran pada saat ini digunakan untuk memperbaiki prediksi, dengan harapan akan
didapatkan state estimasi yang lebih akurat. Sehingga dalam aplikasinya, algoritma kalman
filter akan menggunakan proses berulang dari predict dan correct. Seperti yang dilihat pada
gambar 2.8 dibawah ini
Time Measurement
Update(Predict) Update (Correct)
Berikut ini adalah persamaan predict dan correct dalam kalman filter:
Xk+1 = AkXk + Bk Uk + Wk
Zk = HkXk + Vk
Inisialisasi
X0 = X0, P0 =Pxo
Tahap Prediksi
Estimasi: X̂k̄+1 = Ak X̂ + Bk Uk
Tahap Koreksi
Pada table 2.1 menunjukkan algoritma KF yang terdiri dari empat bagian, diantaranya bagian
pertama mendefinisikan model sistem dan model pengukuran, bagian kedua merupakan nilai
awal (inisialisasi), selanjutnya ketiga dan keempat masing-masing tahap prediksi dan koreksi
(Purnomo, 2008).
Kalman filter banyak digunakan dalam berbagai aplikasi. Fungsi dari kalman filter
itu sendiri adalah sebagai estimator yang handal dalam berbagai sistem yang
digunakan.Modelnya yang sederhana sehingga mudah diterapkan dalam berbagai sistem.
Dengan memperhitungkan white noise yang merupakan noise yang diestimasi pada seluruh
cangkupan frekuensi,sehingga klman filter langsung dapat digunakan sebagai estimator tanpa
perlu menghitung noise yang terjadi pada sistem secara detail terlebih dahulu. Kalman filter
dapat digunakan untuk mengestimasi sistem yang linier. Dalam perkembangannya untuk
sistem yang lebih kompleks dengan persamaan matematis yang linier,kalman filter
dimodifikasi agar dapat mengestimasi sistem yang non linier,modifikasi kalman filter ini ada
yang dinamakan extended kalman filter(EKF),fractional kalman filter(FKF)dan uncented
kalman filter (UKF).
Extended Kalman Filter dapat digunakan untuk sistem yang tak linier dan juga
kontinu. Dalam Extended Kalman Filter sistem semacam ini perlu dilinierisasi (apabila
sistem tidak linier), pendiskritan sistem (apabila sistem kontinu), dan beberapa tahapan lain.
Algoritma Kalman Filter dikembangkan untuk nilai estimasi dalam bentuk rekursif dari
model linear. Namun demikian, dalam kenyataannya banyak model yang berbentuk
nonlinear. Metode Extended Kalman Filter (EKF) adalah salah satu metode estimasi yang
dikembangkan untuk menyelesaikan model nonlinear.
xk = ƒ(xk-1,uk-1,wk-1) (2.4)
zk = h (xk,vk) (2.5)
dimana ƒ(.) adalah persamaan nonlinier yang menghubungkan state waktu
sebelumnya,process noise dan input dengan state waktu sekarang. Pada persaan
measurement, h(.) adalah persamaan nonlinier yang menghubungkan state sekarang dan mea
surement noise dengan hasil pengukuran. Estimasi untuk mendapatkan state xk, dilakukan
dengan menggunakan (2.6) dan (2.7)
Untuk persamaan eksplisit estimasi state pada(2.4), pertama persamaan (2.6) dan (2.7) harus
dilinierisasi. Linierisasi ini dilakukan menggunakan deret Taylor disekitar titik kerja yaitu
Wk = 0 dan Vk = 0. Asumsi ini digunakan karena nilai noise yang terjadi pada proses dan
pada pengukuran tidak dapat dihitung. Estimasi dilakukan dengan menganggap noise-noise
tersebut bernilai nol. Dengan demikian, persamaan sistem berubah menjadi (2.8) dan (2.9)
dimana
𝜕ƒ[𝑖]
F[ i,j ] = 𝜕𝑥[𝑗] (x̂k-1,uk-1,0)
𝜕ƒ[𝑖]
W[ i,j ] = (x̂k-1,uk-1,0)
𝜕𝑥[𝑗]
𝜕𝐻[𝑖]
H[ i,j ] = (x̂k̄,0)
𝜕𝑤[𝑗]
𝜕𝐻[𝑖]
V[ i,j ] = (x̂k̄,0)
𝜕𝑣[𝑗]
Pada (2.11) dan (2.12), terdapat du variable yaitu 𝜀 k dan ɳk. Variabel-variabel ini adalah
variable acak baru yang memiliki mean nol dan matriks kovarians masing-masing WQWT
dan VRVT. Variabel-variabel acak pada (2.10) sampai (2.12) memiliki karakteristik :
Selanjutnya, akan dicari estimasi dari êx̄k dengan menggunakan kalman filter hipotesis. Hasil
estimasi ini dinamakan êk dan akan digunakan untuk mendapatkan a-posteriori state estimate
berdasarkan (2.13)
Dengan memperhatikan karakteristik êx̄k , êk, dan ɳk, men-set nilai prediksi êk menjadi nol, dan
mempertimbangkan data êz̄k didapatlah persamaan kalman filter hipotesis untuk memperoleh
nilai êk pada (2.14)
Pada (2.15) adalah persamaan state estimate update untuk sistem nonlinier. Persamaan-
persamaan yang digunakan dalam algoritma Extended Kalman Filter kemudian adalah sesuai
yang tertera pada table 2.1. Persamaan- persamaan ini diperoleh dari persamaan Kalman
Filter dengan beberapa penyesuaian.
Metode Ensemble Kalman Filter (EnkF) adalah metode estimasi modifikasi dari algoritma
kalman filter yang dapat digunakan untuk mengestimasi model sistem linier maupun
nonlinier. Metode EnKF pertama kali dikembangkan oleh G. Evensen (1992-1993) pada saat
mencoba mengimplementasikan metode EKF untuk asimilasi data pada suatu model.
Linieritas dalam metode EKF ternyata menyebabkan kovariansi errornya membesar menuju
tak terhingga. Selanjutnya G. Evensen (1994) telah memperkenalkan ide penggunaan
sejumlah ensemble untuk mengestmasi kovariansi error pada tahap forcasting pada masalah
yang sama ( Evensen 1994, dalam purnomo 2008).
Proses estimasi pada EnKF diawali dengan membangkitkan sejmlah N𝜀 ensemble dengan
mean 0 dan kovariansi konstan. Ensemble yang dibangkitkan dilakukan secara random dan
berdistribusi normal. Berdasarkan eksperimen, pada umumnya jumlah anggota ensemble
yang mencangkup adalah 100-500 (Evensen 2003, dalam purnomo 2008).
Secara umum algoritma EnKF juga terdiri dari dua tahap yaitu tahap prediksi (time update)
dan tahap koreksi (measurement update). Pada metode EnKF terlebih dahulu dihitung mean
ensemble-nya sebelum masuk ke tahap prediksi yaitu :
1
X̂k = 𝑁𝜀 ∑𝑁
𝑖=1 𝑋 k,i (2.16)
Dimana 𝑁𝜀 adalah banyaknya ensemble yang dibangkitkan dan Xk,i merupakan nilai
ensemble yang dibangkitkan.Bentuk umum sistem dinamik nonlinier pada EnKF adalah :
Zk = Hk Xk+Vk (2.18)
Misalkan akan dibangkitkan sejumlah 𝑁𝜀 ensemble untuk memperoleh nilai rata-rata mean :
Mean ensemble ini digunakan untuk menghitung estimasi x̂k̄ pada tahap prediksi (time
update) dan x̂k pada tahap koreksi (meansurement update). Sedangkan untuk menghitung
kovariansi error Pk̄ pada tahap prediksi menggunakan
1
Pk = ∑𝑁𝜀
𝑖=1( x̂k̄,j – x̂k̄)(x̂k̄,j – x̂k̄)
T
(2.19)
𝑁𝜀−1
Pada tahap EnKF, noise sistem wk pada tahap prediksi dan noise pengukuran vk pada tahap
koreksi dibangkitkan dalam bentuk ensemble. Perlu diperhatikan bahwa algoritma EnKF
tidak membutuhkan nilai awal kovariansi error. Sedangkan nilai awal x̂0 dihitung dari rata-
rata ensemble x̂0̄,i yang dibangkitkan pada tahap inisialisasi. Demikian juga, noise sistem wk,j
pada tahap prediksi dan noise pengukuran vk,j pada tahap koreksi dibangkitkan dalam bentuk
ensemble (Purnomo 2008). Algoritma EnKF selengkapnya untuk mengestimasi penyelesaian
model (2.17) dan (2.18) dapat diihat pada tabel 2.3
Tahap Prediksi
x̂k̄,I = ƒ( xk-1,uk-1) + Wk dengan Wk,i ~ 𝑁(0,Qk)
Estimasi :
1
X̂k̄ = 𝑁𝜀 ∑𝑁𝜀
𝑖=1 𝑥̂k̄,i
Kovariansi error :
1
Pk̄ = 𝑁𝜀−1 ∑𝑁𝜀
𝑖=1( x̂k̄,j – x̂k̄)(x̂k̄,j – x̂k̄)
T
Tahap Koreksi
zk,i = zk + vk,i dengan vk,i ~ 𝑁(0, 𝑅 k)
Kalman Gain :
Kk = Pk̄HT(HPk̄HT +Rk)-1
Estimasi :
Estimasi Tahap Koreksi Adalah:
X̂k,i = X̂k̄,i + Kk(Zk,i – HX̂k̄,i)
Rata-Rata Estimasi Tahap Koreksi Adalah:
1
X̂k = 𝑁𝜀 ∑𝑁𝜀
𝑖=1 𝑋k,i
Kovariansi Error
Pk = [ I – KkH]Pk̄
Unscented Kalman Filter adalah pengembangan dari Filter Kalman untuk sistem yang
nonlinear dengan menggunakan teknik Transformasi Unscented. Misalkan diberikan suatu
fungsi kepadatan peluang diskrit yk=f(xk,k) mempunyai variabel random x dari sebuah model
tak linear dengan dimensi L mempunyai mean dan kovarian . Fungsi yk=f(xk,k) didekati
dengan transformasi unscented. Mean dan kovarian tersebut digunakan untuk menentukan
penyebaran 2L+1 titik-titik sigma disekitar x̂. Titik-titik sigma dalam bentuk vektor sigma
Xz diperoleh dengan menggunakan persamaan berikut:
X0= X̂ (2.20)
Jika dinyatakan dalam bentuk matriks sigma points bisa dituliskan menjadi :
Xi = [X0 X1 … XL XL+1 XL+2 … X2L] T (2.24)
𝜆
W0(c) = + 1 – α2 + 𝛽 (2.27)
𝐿+𝜆
1
Wi = Wi(c) = 2(𝐿+𝜆) i =1,….,2L (2.28)
Dengan menggunakan titik-titik sigma persamaan (2.22) dan persamaan pembobotan mean-
kovarians pada persamaan (2.28), maka diperoleh mean :
ŷ = ∑2𝐿
0 [Wi (ƒ (Xi) - ŷ )(ƒ(Xi)-ŷ) ]
(c) T
(2.29)
Secara ringkas algoritma Unscented Kalman Filter dapat dituliskan pada tabel 2.4 sebagai
berikut:
Pada saat k = 0
X̂0 = E[X0]
Px0 = E[(x0 – x̂0)( x0 – x̂0)T]
𝛼
x̂ 0 = E[xα] = E [x̂0T 0 0]T
𝑃𝑥̂ 0 0
𝛼 𝛼 𝛼
P 0 = E[(x 0 – x̂0) (x 0 – x̂0)T] = 0 𝑃𝑤 0
0 0 𝑃𝑣
Untuk k=1,2,3,…,N
𝑤
𝑋𝐾𝑋 | K-1 = ƒ( 𝑋𝐾−1
𝑋
, 𝑋𝐾−1 )
x̂k̄ = ∑2𝐿
𝑖=0[ Wi
(m) 𝑋
𝑋𝑖,𝑘|𝑘−1 ]
𝑋 𝑣
𝑍𝑘|𝑘−1 = H ( 𝑋𝐾−1 , 𝑋𝐾−1 )
Ẑk̄ = ∑2𝐿
𝑖=0[ Wi
(m)
𝑍𝑖,𝑘|𝑘−1 ]
Kk = Pxk,zk𝑃𝑧̄−1
𝑘,𝑧̄𝑘
−
Pxk = 𝑃𝑥𝑘 - Kk Pz̄k 𝐾𝑘𝑇
Kalman Filter merupakan vektor state estimator optimal menggunakan sistem model , input
dan sinyal output ( Kalman 1960) . Hasil estimasi yang diperoleh dengan meminimalkan
langkah dalam panggilan Fungsi sekarang ( Schutter et al., 1999 ).
x̂k = arg min [ (x̂k – x)p̂ 𝑘̄ −1 (xk-x)T + (yk –Cx) R𝑘̄ −1 (yk –Cx)T] (2.30)
dimana:
x̂k = E [ xk|zk̽-1 ] (2.31)
adalah prediksi state vektor pada waktu sekarang k , xk didefinisikan sebagai variabel acak
dan dikondisikan pada pengukuran aliran zk̽−1 (Brown & Hwang 1997).
x̂k = E [ xk|zk̽ ] (2.32)
adalah prediksi state vektor pada waktu sekarang k , xk didefinisikan sebagai variabel acak
dan dikondisikan pada pengukuran aliran zk̽.
Pengukuran zk̽. mengandung nilai nilai pengukuran keluaran y0,y1,…,yk dan sinyal input
u0,u1,…,uk.