Privacy Policy Cookie Policy Terms and Conditions Filtr Kalmana - Wikipedia, wolna encyklopedia

Filtr Kalmana

Z Wikipedii

Filtr Kalmana to algorytm rekurencyjnego wyznaczania minimalno-wariancyjnej estymaty wektora stanu modelu liniowego dyskretnego układu dynamicznego na podstawie pomiarów wyjścia tego układu. Przyjmuje się założenie, że zarówno pomiar, jak i proces przetwarzania wewnątrz układu jest obarczony błędem o rozkładzie gaussowskim.

Algorytm ten został zaproponowany w pracy Rudolfa Emila Kalmana "A new approach to linear filtering and prediction problems", opublikowanej na łamach czasopisma Journal of Basic Engineering w roku 1960.

Filtr Kalmana znalazł zastosowanie w ogromnej liczbie dziedzin techniki, do których należą m.in.: automatyka, robotyka, elektronika, teoria sterowania, przetwarzanie sygnałów, inżynieria dźwięku i obrazu, i wiele innych.

Spis treści

[edytuj] Równania liniowego dyskretnego modelu stanowego

Model obrazujący działanie filtru Kalmana. Okręgi to wektory, prostokąty to macierze, a gwiazdki reprezentują szum z przypisaną kowariancją w kwadracie po prawej stronie
Powiększ
Model obrazujący działanie filtru Kalmana. Okręgi to wektory, prostokąty to macierze, a gwiazdki reprezentują szum z przypisaną kowariancją w kwadracie po prawej stronie

Filtr Kalmana jest optymalnym obserwatorem stanu układu (czyli układem, który estymuje jego stan), który modelowany jest z użyciem równań stanu:

\mathbf{x}(t+1)=\mathbf{Ax}(t)+\mathbf{Bu}(t)+\mathbf{v}(t)

\mathbf{y}(t)=\mathbf{C}^T\mathbf{x}(t)+\mathbf{w}(t),

gdzie

t=\dots ,-1,0,1,2,\dots oznacza dyskretną chwilę czasu,

\mathbf{x(t)} to chwilowa wartość wektora stanu,

\mathbf{A} to macierz systemowa układu (macierz przejścia),

\mathbf{B} to macierz wejściowa,

\mathbf{C} macierz wyjściowa,

\mathbf{v}(t) wektor szumu przetwarzania, a

\mathbf{w}(t) to wektor szumu pomiarowego.

[edytuj] Równania filtru

Równania filtru Kalmana dzielą się dwie kategorie: równania aktualizacji czasu i równania aktualizacji pomiarów. Te pierwsze dokonują predykcji stanu układu na chwilę t na podstawie znajomości estymaty stanu na chwilę t-1.

\hat{\mathbf{x}}(t|t-1)=\mathbf{A\hat{x}}(t-1|t-1) + \mathbf{B\hat{u}}(t-1)

\mathbf{P}(t|t-1) = \mathbf{AP}(t-1|t-1)\mathbf{A}^T+\mathbf{V}

Wektory

\hat{\mathbf{x}}(t|t-1) i \hat{\mathbf{x}}(t-1|t-1)

stanowią estymaty a priori (przed pomiarem) i a posteriori (po pomiarze) wektora stanu. Macierze

\mathbf{P}(t|t-1)=E\left[ \tilde{\mathbf{x}}(t|t-1) \tilde{\mathbf{x}}^T(t|t-1)\right] i \mathbf{P}(t-1|t-1)=E\left[ \tilde{\mathbf{x}}(t-1|t-1)\tilde{\mathbf{x}}^T(t-1|t-1)\right]

to macierze kowariancji, odpowiednio: a priori i a posteriori, wektorów

\tilde{\mathbf{x}}(t|t-1) = \mathbf{x}(t) - \mathbf{\hat{x}}(t|t-1) oraz \tilde{\mathbf{x}}(t-1|t-1) = \mathbf{x}(t-1) - \mathbf{\hat{x}}(t-1|t-1).

Wektory te stanowią różnicę pomiędzy rzeczywistą wartością wektora stanu, a jego estymatą i są miarą błędu oceny wektora stanu. Macierz

\mathbf{V} to macierz kowariancji szumu przetwarzania.

Równania z drugiej kategorii aktualizują wyliczoną wcześniej predykcję stanu, na podstawie pomiaru

\hat{\mathbf{x}}(t|t)=\mathbf{\hat{x}}(t|t-1)+\mathbf{K}(t)\mathbf{e}(t)

\mathbf{e}(t) = \mathbf{y}(t) - \mathbf{C}^T\mathbf{\hat{x}}(t|t-1)

\mathbf{K}(t) = \mathbf{P}(t|t-1)\mathbf{C}^T\mathbf{S}^{-1}(t)

\mathbf{S}(t) = \mathbf{C}^T\mathbf{P}(t|t-1)\mathbf{C}^T+\mathbf{W}

\mathbf{P}(t|t) = \mathbf{P}(t|t-1) - \mathbf{K}(t)\mathbf{S}(t)\mathbf{K}^T(t)

Macierz

\mathbf{K}(t)

nosi nazwę wzmocnienia Kalmana. Wartość wzmocnienia Kalmana decyduje o tym, czy bardziej "ufamy" naszej ocenie stanu (a priori), czy informacji zawartej w pomiarach. Zerowe wzmocnienie oznacza, że zupełnie ignorujemy pomiary - są obarczone nieskończenie wielkim błędem (wariancja szumu pomiarowego jest nieskończona). Wzmocnienie równe \left(\mathbf{C}^T\right)^{-1}(t) (jeżeli macierz \mathbf{C}^T(t) jest kwadratowa) powoduje, że estymata a posteriori wektora stanu opierać się będzie wyłącznie na pomiarze wyjścia układu. Wektor

\mathbf{e}(t)

to wektor innowacyjny. Nazwany został tak dlatego, że jego wartość niesie ze sobą nową (opartą na najnowszych pomiarach) informację o procesie. Macierz

\mathbf{W}

to macierz kowariancji szumu pomiarowego.

Równania filtru Kalmana nie zmieniają swojej postaci w przypadku, gdy układ jest niestacjonarny. Jest to jedna z jego podstawowych zalet w stosunku do wcześniejszego filtru Wienera.

[edytuj] Przykłady zastosowań

[edytuj] Zobacz też:

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu