了解卡爾曼濾波器 (from matlab)
Understanding Kalman Filters Part 1: Why Use Kalman Filters? 為什麼要用卡爾曼濾波器? 濾波器不是咖啡的濾紙喔~哈 主要的目的在於用於估計,無法直接觀測得到的真實值量 (如火箭屁股火溫) 只能夠過旁邊的方法觀測,如貼在外面的溫度計觀測,但這個溫度跟火箭屁股火溫有誤差 這時候該怎麼知道實際的溫度呢? 或是另外一個案例,要知道車子移動到的位置 但是當車子進入隧道時,GPS會因為屏障很變得不準確 只能從不同的角度推測車子的位置,用加速度乘時間計算,或是測量器推估車子位置,再加上有誤差的GPS 而卡爾曼濾波器,就能結合不同儀器的觀測資料,結合出一個最好的解,知道車子最佳位置。 卡爾曼濾波器使用在何時? 1. 當變數無法直接被觀測 2. 可以從不同的觀測儀器觀測,但主要的方式有較多誤差 Part 3: An Optimal State Estimator 計算車子行駛一公里後的位置,當估算的位置準確,但有偏差,或是沒有偏差但有很大的離散 都是不好的結果 但如果要做到無偏差,離散度低的結果,卻是要花很多很多的錢才有辦法做到!!! 卡爾曼濾波器,用在有誤差,有偏差的觀測或預測的系統中,得到一個好的結果 卡爾曼濾波器,就是結合觀測和預報,去找到最佳的估計值 觀測和預報都有誤差,以高斯分佈的標準差為設定(R, Q) Part 4: An Optimal State Estimator Algorithm 分為兩個部分 (此為線性模式) 1. prediction 預報狀態下的x,和預報狀態下的標準差 P 2. update 把上面的x 和 P 拿過來,更新出新的 x 和 P(預報誤差) 用K還極小化 P 當觀測誤差R為零,就會得到觀測 y 為最佳解 相反預報誤差P為零,就會得到預報值 x 為最佳解 要進行下一次預報,不需要所有的資料 只要存下 估計場 x 和 P 矩陣 (covariance matrix) 即可進入循環 亦可增加更多的觀測,加入矩陣得到更好的 最佳解! Part 5: Nonlinear State E