ALGORITMA ADAPTIVE COVARIANCE RANK UNSCENTED KALMAN FILTER UNTUK ESTIMASI KEADAAN PADA PERSAMAAN AIR DANGKAL Habib Hasbullah 1, Erna Apriliani 2 1 Mahasiswa Program Studi S2, Jurusan Matematika, F-MIPA, Institut Teknologi Sepuluh Nopember Surabaya, Email: habib.hasbullah@yahoo.com 2 Staf Pengajar Jurusan Matematika, F-MIPA, Institut Teknologi Sepuluh Nopember Surabaya, Kampus Sukolilo-Surabaya, 60111, Email: april@matematika.its.ac.id Abstrak Unscented Kalman filter (UKF) adalah estimator yang secara khusus sesuai untuk masalah sistem non linear kompleks. Dalam unscented Kalman filter (UKF), kovarian error diestimasi dengan mempropagasi sebuah himpunan titik sigma (sigma point) yang merupakan contoh ruang keadaan pada lokasi terpilih secara cerdas. Jumlah titik-titik sigma yang diperlukan mempertimbangkan kesesuaian dengan dimensi dari sistem. Oleh karena itu, untuk sistem berdimensi besar, pendekatan menjadi kurang efesien. Paper ini mengkaji sebuah versi aproksimasi dari unscented Kalman Filter (UKF), dengan kovarian error direpresentasikan melalui aproksimasi rank tereduksi. Reduksi rank dilakukan dengan dekomposisi nilai singular (singular value decomposition). Dengan cara demikian secara substansial mereduksi jumlah titik-titik sigma yang diperlukan. Algoritma adaptive covariance rank unscented Kalman filter ini diaplikasikan untuk estimasi keadaan persamaan (model) air dangkal (shallow water equation) nonlinear. Aplikasi algoritma ini menghasilkan estimasi yang lebih efesien dengan akurasi yang tetap sesuai dengan unscented Kalman Filter (UKF). Kata kunci: unscented Kalman filter, adaptive covariance rank, Persamaan air dangkal. 1. PENDAHULUAN Filter kalman adalah filter prediksi rekursif berdasarkan pada penggunaan teknik ruang keadaan dan algoritma rekursif yang digunakan untuk mengestimasi keadaan sistem dinamik (Kleinbaurer, 2004). Keunggulan filter kalman adalah kemampuan mengestimasi suatu keadaan berdasarkan data yang minim (Masduki dan Apriliani, 2008). Selama beberapa tahun filter Kalman dianggap sebagai metode estimasi yang paling optimal dalam menaksir dan menduga variabel keadaan dari sebuah sistem, khususnya pada sistem linier. Untuk model dinamik non linear, filter Kalman tidak secara langsung dapat diaplikasikan. Sehingga dikembangkan algoritma filter Kalman yang dapat digunakan untuk menaksir variabel keadaan dari sistem nonlinear, salah satunya adalah unscented Kalman filter. Metode ini sesuai untuk sistem non linear kompleks atau berdimensi besar. Beberapa hasil penelitian, antara lain Rudi (2007) dan Baehaqi (2009), menunjukkan bahwa unscented Kalman filter (UKF) memberikan hasil estimasi yang lebih akurat dibandingkan dengan filter Kalman nonlinear yang lain yaitu extended Kalman filter ataupun ensemble Kalman filter. Akan tetapi unscented Kalman filter (UKF) memerlukan waktu komputasi yang lebih lama dari EKF. Berdasarkan hal ini penulis mengkaji sebuah algoritma (teknik) filter yang efesien dan efektif serta mudah diimplementasikan. Algoritma yang dikaji ini merupakan filter tereduksi dari metode unscented Kalman filter yaitu adaptive covariance rank unscented Kalman filter (Padilla dan Rowley, 2010). Algoritma ini diharapkan akan memberikan sebuah metode perbaikan dari unscented Kalman filter (UKF) standar yang memerlukan waktu komputasi cukup besar dengan hasil estimasi yang tetap sesuai. Keefesienan dan kefektifan metode ini akan disimulasikan untuk estimasi variabel keadaan pada persamaan (model) air dangkal (shallow water equation) non linear. Ada 2 masalah yang dikaji dalam penelitian ini. Pertama, bagaimana bentuk algoritma adaptive covariance rank untuk unscented Kalman filter. Dan kedua, bagaimana aplikasi algoritma adaptive covariance rank unscented Kalman filter untuk mengestimasi variabel keadaan pada M-1
Habib Hasbullah dan Erna Apriliani / Algoritma Adaptive Covariance persamaan (model) air dangkal (shallow water equation). Tujuan dari penelitian ini adalah mengkaji pembentukan algoritma adaptive covariance rank unscented Kalman filter. Sekaligus untuk mengetahui keefesienan dan keefektifannya untuk mengestimasi variabel keadaan sistem non linear, yang disimulasikan pada persamaan air dangkal (shallow water equation) non linear. Sehingga dari penelitian ini akan diperoleh sebuah algoritma filter tereduksi yang dapat memperbaiki kinerja algoritma unscented Kalman filter (UKF). 2. METODE PENELITIAN Penelitian ini dimulai dengan mengkaji unscented Kalman filter (UKF) standar. Dalam hal ini diuraikan bagaimana bentuk dan langkah-langkah dari algoritma ini. Selanjutnya dilakukan pengkajian dan analisis tentang algoritma adaptive covariance rank untuk UKF. Pengkajian algoritma adaptive covariance rank UKF dilakukan untuk menemukan bagaimana prosedur reduksi rank dilakukan pada kovarian errornya, baik tahap prediksi maupun tahap update. Langkah selanjutnya adalah melakukan pengkajian terhadap model air dangkal (shallow water equation) yang akan digunakan sebagai studi kasus untuk menguji algoritma adaptive covariance rank UKF. Model air dangkal yang digunakan dalam hal ini adalah model air dangkal non linear satu dimensi dalam bentuk saint venant. Persamaan didiskritkan menggunakan metode beda hingga. Langkah terakhir adalah melakukan simulasi dengan software Matlab. Hasil simulasi kemudian dianalisa efektifitas dan efesiensi dari algoritma yang digunakan dibandingkan dengan UKF standar (full rank UKF). 3. PEMBAHASAN 3.1 Unscented Kalman Filter Unscented Kalman filter (UKF) termasuk kelas dari algoritma sigma point Kalman filter (Ambadan dan Tang, 2009). Metode ini menggunakan transformasi unscented, yaitu suatu metode untuk menghitung statistik (mean dan kovarian) yang mengalami transformasi nonlinear. Misalkan diberikan sistem nonlinear waktu diskrit sebagai berikut : dengan adalah keadaan sistem berdimensi- pada waktu iterasi ke-k, dengan kovarian. merupakan input yang diketahui dan adalah input yang tidak diketahui yang merupakan noise proses Gaussian zero-mean berdimensi- dengan kovarian. Sedangkan merupakan sebuah fungsi dari noise pengukuran Gaussian zero-mean berdimensi-, dengan kovarian. Implementasi dari unscented Kalman filter (UKF), secara khusus memperhatikan sebuah sistem yang diperbesar berdimensi, dengan variabel noise yang ditambahkan pada vektor keadaan:. (2) Dalam unscented Kalman filter (UKF) matriks kovarian error dihitung dari himpunan ensemble yang dibangkitkan oleh titik-titik sigma (sigma point). Untuk model nonlinear yang diberikan oleh (1) jumlah sigma point yang diperlukan untuk menghitung mean dan kovarian secara tepat dari keadaan model pada saat k, adalah 2L+1 (Kandepu, dkk. 2008), (Ambadan dan Tang, 2009). Titik-titik sigma dihitung sebagai berikut (Padilla dan Rowley, 2010). (3) dengan bobot-bobot yang diberikan oleh, (4) dengan adalah kolom ke-i dari matriks kovarian dan merupakan kolom ke-i dari matriks sigma point berukuran L x (2L + 1). merupakan parameter penskalaan yang mempengaruhi keakuratan momen order yang lebih tinggi dari. (1) M-2
Algoritma berikut meringkas langkah-langkah yang mendeskripsikan full rank unscented Kalman filter (UKF) (Padilla dan Rowley, 2010). Algoritma 1: a) Inisialisasi, dan b) Untuk sampai b.1) kalkulasi titik-titik sigma (sigma point) menurut persamaan (3) b.2) forecast atau dynamic update i) Forecast untuk tiap-tiap sigma point dengan ii) Hitunglah forecast vektor keadaan dan kovariannya: dengan bobot didefinisikan pada persamaan (4). b.3) Analisis atau Update Pengukuran (Measurement Update) i) petakanlah sigma point forecast dalam ruang pengukuran: dengan forecast vektor pengukuran: ii) hitunglah kovarian, dan. dan matrik bobot: iii) hitunglah analisis dan iv) bentuklah kovarian diperbesar dan keadaan untuk iterasi berikutnya. 3.2 Algoritma Adaptive Covariance Rank Unscented Kalman Filter Dalam unscented Kalman filter (UKF), beban komputasional dominan berada pada integrasi (update) model pada langkah ke dua dan komputasi matriks kovarian berukuran dalam algoritma unscented Kalman filter (UKF) pada bagian 3.1. Oleh karena itu, untuk sistem berdimensi besar beban komputasi algoritma unscented Kalman filter (UKF) menjadi besar pula. Algoritma adaptive covariance rank untuk unscented Kalman filter (UKF) diaplikasikan dalam rangka mereduksi waktu komputasi filter. Bentuk modifikasi yang dilakukan adalah dengan mengaproksimasi kovarian error dalam bentuk rank tereduksi. Metode ini dilakukan dengan memfaktorkan matriks kovarian error sehingga diperoleh matriks akar kuadrat (Chandrasekar dkk, 2008). Rank matriks kovarian error direduksi melalui pemotongan (truncation) dengan dekomposisi nilai singular (singular value decomposition). Pendekatan yang digunakan untuk mereduksi beban komputasi unscented Kalman filter (UKF) dilakukan dalam dua langkah. Pertama, mengurangi jumlah titik-titik sigma (sigma point), sehingga rank kovariannya menjadi tereduksi. Kedua, dengan mengupdate secara langsung bentuk yang diperhitungkan dari menghindari manipulasi dari matriks berukuran penuh. Tahap Prediksi (Forecast) Notasi kovarians,, didekomposisi dengan menyatakan matriks perturbasi di sekitar mean keadaan sebagai. merupakan matriks yang kolom-kolomnya adalah perturbasi dari sigma point di sekitar mean. Jadi,, dengan adalah matriks yang berukuran sama dengan yang semua kolomnya sama dengan. Dengan cara yang sama, matriks perturbasi keadaan rata-rata (mean) setelah transformasi pengukuran dinyatakan dengan. Jadi,. M-3
Habib Hasbullah dan Erna Apriliani / Algoritma Adaptive Covariance Kovarian dari titik-titik sigma (sigma point) dinyatakan dalam bentuk berikut: (5) (6). (7) dengan merupakan bobot-bobot titik sigma yang dinyatakan sebagai matriks diagonal berukuran dengan bobot sebagai entri-entri diagonalnya. Bentuk (5) (7) dapat ditulis sebagai (10) dengan, dan. Langkah berikutnya adalah membentuk dekomposisi nilai singular (singular value decomposition). (11) dengan,, dan,dengan. Setelah dilakukan dekomposisi nilai singular pada, kemudian dilakukan reduksi rank. Reduksi rank diperoleh dengan mempertahankan nilai singular p yang pertama pada matriks. Seberapa besar pemotongan rank yang dilakukan tergantung pada besarnya sistem. Prosentase reduksi rank berkisar antara 0% sampai dengan 100%. Memilih 100% berarti semua titik-titik sigma (sigma point) dipertahankan dan dievaluasi. Prosentase yang lebih kecil dari 100%, berimplikasi dengan berkurangnya jumlah titik-titik sigma (sigma point) yang dievaluasi, sekaligus berimplikasi pada keakuratannya. Hasil reduksi rank matriks dinyatakan dengan, (12) dengan, dan.sehingga matriks merupakan matriks yang berukuran dengan rank p. Karena, maka aproksimasi rank tereduksi dinyatakan dengan (13) Dengan cara yang sama reduksi dilakukan pula pada kovarian noise sistem dan kovarian noise pengukuran. Tahap Update Pengukuran (Measurement Update) Pada tahap ini akan ditemukan dan setelah analisis. Diketahui bahwa. Persamaan ini dapat diuraikan sebagai berikut: (8) (9). (14) Dengan mengkombinasikan (14) dengan (13) yang ditulis hanya suku-suku kovariannya saja diperoleh, sehingga Nilai dinyatakan sebagai, sehingga persamaan (15) dapat ditulis sebagai (15). (16) M-4
dengan yang merupakan dekomposisi nilai eigennya, dikarenakan kesimetrikannya. Sehingga persamaan updatenya adalah dan. Jadi kovarian error tahap analisis,, adalah (17) Iterasi ke-k dari algoritma ini adalah membangkitkan titik-titik sigma (sigma point), dengan. merupakan rank kovarian error sistem tereduksi, merupakan rank kovarian noise sistem tereduksi, dan adalah rank kovarian noise pengukuran. Titik-titik sigma (sigma point) itu dinyatakan sebagai berikut. dengan bobot-bobotnya didefinisikan (19) Algoritma adaptive covariance rank UKF diringkas sebagai berikut: Algoritma 2: a) Inisialisasi, dan b) Untuk sampai b.1) kalkulasi titik-titik sigma (sigma point) menurut persamaan (18) dengan bobot didefinisikan pada persamaan (19). b.2) forecast atau dynamic update i) Forecast untuk tiap-tiap sigma point dengan ii) Menghitung, dan bentuk. iii) Menghitung aproksimasi rank tereduksi,, dan menurut persamaan untuk menemukan dan matriks noise tereduksi.. b.3) Analisis atau Update Pengukuran (Measurement Update) i) Petakanlah sigma point forecast dalam ruang pengukuran,, dan bentuklah ii) Hitunglah kovarians dan menurut : (18) dengan iii) Hitunglah analisis dari dan faktor-faktor dan menurut:,,, dan iv) Bentuklah akar kovarian diperbesar (augmented), dan untuk iterasi berikutnya. 3.3 Model Air Dangkal Persamaan air dangkal (shallow water equation) yang digunakan dalam penelitian ini diekspresikan dalam bentuk persamaan Saint Venant sebagai berikut. dengan sayarat batas:, M-5
Habib Hasbullah dan Erna Apriliani / Algoritma Adaptive Covariance dengan x adalah koordinat posisi (m), u adalah kecepatan (m/det), B adalah lebar sungai (m), h adalah kedalaman air sungai (m), A adalah luas penampang sungai A=hB (m 2 ), adalah kemiringan dasar, adalah koefisien friction, g adalah percepatan gravitasi (m/sec 2 ), q adalah debit air (m 3 /sec), u(x,t) adalah kecepatan fungsi waktu, dan h(x,t) adalah ketinggian fungsi waktu. Persamaan saint Venant di atas didiskritkan dengan metode beda hingga sehingga diperoleh persamaan dalam waktu diskrit: Persamaan (20) akan diestimasi variabel ketinggian (h) dan kecepatannya (u) menggunakan unscented kalman filter dan adaptive covariance rank unscented kalman filter. 3.4 Simulasi dan Analisa Persamaan (20) digunakan untuk mensimulasikan algoritma adaptive covariance rank UKF dengan mengambil. Dimensi dari sistem adalah 20. Jadi, full rank UKF adalah 20. Grafik simulasi estimasi menggunakan adaptive covariance rank unscented Kalman filter dengan rank 15 dibandingkan dengan full rank UKF tampak pada gambar 1 dan gambar 2. Dari gambar 1 dan 2 terlihat bahwa hasil estimasi adaptive covariance rank unscented Kalman filter dengan rank 15 memberikan hasil estimasi yang tetap sesuai dengan hasil estimasi menggunakan UKF. Kedua algoritma memberikan hasil estimasi yang baik dalam mengestimasi variabel keadaan baik ketinggian (h) maupun kecepatan (v) pada persamaan air dangkal (saint Venant equation). Selanjutnya akan dibandingkan beberapa pengurangan rank pada algoritma adaptive covariance rank unscented Kalman filter seperti tampak pada gambar 3 dan gambar 4. Perbandingan rank yang digunakan adalah 15, 10, dan 5. Dari gambar 3 dan 4 terlihat bahwa hasil estimasi adaptive covariance rank unscented Kalman filter dengan rank 15 dan 10 memberikan hasil estimasi yang tetap sesuai dengan hasil estimasi menggunakan UKF. Sedangkan adaptive covariance rank unscented Kalman filter dengan rank 5 memberikan hasil estimasi yang menyimpang dari UKF atau memberikan error yang besar. Perbandingan besar error dan waktu komputasi antara algoritma unscented Kalman filter dan adaptive covariance rank UKF dengan rank 15 adalah sebagai berikut: Tabel 1: Perbandingan Besar Error dan Waktu Komputasi Estimasi adaptive covariance rank unscented Kalman filter dan UKF dengan 10 Iterasi. Variabel Full rank UKF Adaptive UKF State (Rank 20) Rank 15 Rank 10 Rank 5 Besar Error Ketinggian 0.020223 0.024368 0.130168 0.5994 Kecepatan 0.033065 0.05229 0.15114 11.7754 Waktu Komputasi (CPU Time) 2.7031 2.1406 2.0938 2.0469 Dari tabel 1 terlihat bahwa hasil simulasi dengan adaptive rank UKF menghasilkan estimasi yang tetap sesuai dengan full rank UKF. Dengan pengurangan rank yang dilakukan maka besarnya error sedikit mengalami peningkatan, tetapi waktu komputasinya lebih baik. Secara keseluruhan hasil estimasi dengan UKF dan adaptive rank UKF dengan pengurangan rank sampai dengan 10 untuk full rank 20 menghasilkan hasil estimasi yang baik. 4. KESIMPULAN Algoritma adaptive rank UKF dengan pengurangan rank sampai dengan 10 yang disimulasikan pada persamaan air dangkal dengan dimensi 20 (rank 20) ternyata memberikan hasil estimasi yang baik. Hasil estimasi yang dihasilkan keakuratannya sesuai dengan full rank UKF dengan efesiensi komputasional yang lebih baik. Pemotongan rank berpengaruh pada besarnya error dan waktu komputasinya. Dalam penelitian ini teknik pemotongan rank pada UKF dilakukan dengan teknik dekomposisi nilai singular. Oleh karena itu perlu dikaji lebih lanjut bagaimana bentuk algoritma dan hasil simulasi pemotongan rank dengan teknik dekomposisi yang lain, misalnya dekomposisi Choleskey atau QR. M-6 (20)
10.2 10 9.8 Estimasi Ketinggian Aliran Sungai ACR-UKF nilai real UKF 2.2 2 Estimasi Kecepatan Aliran Sungai ACR-UKF real UKF Ketinggian Aliran (meter) 9.6 9.4 9.2 9 8.8 Kecepatan Aliran (meter) 1.8 1.6 1.4 1.2 8.6 8.4 1 8.2 Gambar 1: Estimasi Ketinggian dengan UKF dan Adaptive Rank UKF Rank 15 0.8 Gambar 2: Estimasi Kecepatan dengan UKF dan Adaptive Rank UKF Rank 15 15 14 13 Estimasi Ketinggian Aliran Sungai nilai real red 10 red 5 red 15 3.5 3 Estimasi Kecepatan Aliran Sungai real red 10 red 5 red 15 Ketinggian Aliran (meter) 12 11 10 Kecepatan Aliran (meter) 2.5 2 1.5 9 8 1 7 Gambar 3: Estimasi Ketinggian Adaptive Rank UKF dengan Rank Berbeda 0.5 Gambar 4: Estimasi Kecepatan Adaptive Rank UKF dengan Rank Berbeda 5. DAFTAR PUSTAKA Ambadan, J.T. dan Tang, Y. (2009), Sigma-Point Kalman Filter Data Assimilation Methods for Strongly Nonlinear Systems, Journal of The Atmospheric Sciences, Vol. 66, No. 2, hal. 261-285. Baehaqi, (2009), Estimasi Variabel Keadaan pada Non-Isothermal Continuous Stirred Tank Reaktor Menggunakan Unscented Kalman Filter dan Ensemble Kalman Filter, Tesis Magister, Institut Teknologi Sepuluh Nopember, Surabaya. Chandrasekar, J,Kim, I.S, dan Ridley, A.J, (2008), Reduced-Rank Unscented Kalman Filtering Using Choleskey-Based Decomposition, American Control Converence, hal. 1274-1279. Kandepu, R., Foss, B. dan Imsland, L. ( 2008), Applying the unscented Kalman filter for nonlinear state estimation, Journal of Process Control, Vol. 18, hal. 753-768. Kleinbaurer, R.(2004), Kalman Filtering Implementation with Matlab, Study Report of Study Geodesy and Geoinformatics at Universitat Stuttgart, Helsinki University of Technology, Helsinki. Masduki, A. dan Apriliani, E. (2008), Estimation of Surabaya River Water Quality Using Kalman Filter Algorithm, The Jounal for Technology and Science, Vol. 19, No. 3, hal. 87-91. Padilla, L. E. dan Rowley, C. W. (2010), An adaptive-covariance-rank algorithm for unscented Kalman filter, submitted to the 49 th IEEE Conference on Decision and Control, Department of Mechanical and Aerospace Engineering, Princeton University, Princeton. Rudi, (2007), Estimasi Variabel Keadaan Sistem dengan Model Pengukuran Taklinear Menggunakan Extended Kalman Filter dan Unscented Kalman Filter, Tesis Magister, Institut Teknologi Sepuluh Nopember, Surabaya. M-7