Filtre de Kalman

Aquest article o secció no cita les fonts o necessita més referències per a la seva verificabilitat.

El filtre de Kalman és un algorisme desenvolupat per Rudolf E. Kálmán el 1960 que serveix per poder identificar l'estat ocult (no mesurable) d'un sistema dinàmic lineal, igual que l'observador de Luenberger, però serveix a més quan el sistema està sotmès a soroll blanc additiu. La diferència entre ambdós és que en l'observador de Luenberger, el guany K de realimentació de l'error ha de ser escollit manualment, mentre que el filtre de Kalman és capaç d'escollir de manera òptima quan es coneixen les variàncies dels sorolls que afecten el sistema.

Cas de temps discret:

Es té un sistema donat per:

x k = A k 1 x k 1 + B k 1 u k 1 + w k 1 {\displaystyle \quad x_{k}=A_{k-1}x_{k-1}+B_{k-1}u_{k-1}+w_{k-1}}

z k = C k x k + v k {\displaystyle \quad z_{k}=C_{k}x_{k}+v_{k}}

on:

w k {\displaystyle \quad w_{k}} és soroll blanc de valor mitjà igual a zero i amb variància Q k {\displaystyle \quad Q_{k}} en l'instant k

v k {\displaystyle \quad v_{k}} és soroll blanc de valor mitjà igual a zero i amb variància R k {\displaystyle \quad R_{k}} en l'instant k

El filtre de Kalman permet identificar l'estat x k {\displaystyle \quad x_{k}} a partir de les mesures anteriors de u k {\displaystyle \quad u_{k}} , z k {\displaystyle \quad z_{k}} , Q k {\displaystyle \quad Q_{k}} , R k {\displaystyle \quad R_{k}} i les identificacions anteriors de x k {\displaystyle \quad x_{k}} .


Cas de temps continu:

Es té un sistema donat per:

d d t x ( t ) = A ( t ) x ( t ) + B ( t ) o ( t ) + w ( t ) {\displaystyle \quad {\frac {d}{dt}}x(t)=A(t)x(t)+B(t)o(t)+w(t)}

z ( t ) = C ( t ) x ( t ) + v ( t ) {\displaystyle \quad z(t)=C(t)x(t)+v(t)}

on:

w ( t ) {\displaystyle \quad w(t)} és soroll blanc de valor mitjà igual a zero i amb variància Q ( t ) {\displaystyle \quad Q(t)} en l'interval de temps descrit com t.

v ( t ) {\displaystyle \quad v(t)} és soroll blanc de valor mitjà igual a zero i amb variància R ( t ) {\displaystyle \quad R(t)} en l'interval de temps descrit com t.

El filtre de Kalman permet identificar l'estat x ( t + d t ) {\displaystyle \quad x(t+dt)} a partir de les mesures anteriors de u ( t ) {\displaystyle \quad u(t)} , z ( t ) {\displaystyle \quad z(t)} , Q ( t ) {\displaystyle \quad Q(t)} , R ( t ) {\displaystyle \quad R(t)} i les identificacions anteriors de x ( t ) {\displaystyle \quad x(t)} .


En el cas que el sistema dinàmic sigui no-lineal, és possible usar una modificació de l'algorisme anomenada "filtre de Kalman estès", el qual linealitzar el sistema al voltant del x ^ ( t ) {\displaystyle {\hat {x}}(t)} identificat realment, per calcular el guany i la direcció de correcció adequada. En aquest cas, en comptes d'haver matrius A, B i C, hi ha dues funcions f ( x , u , w ) {\displaystyle f(x,u,w)} i h ( x , v ) {\displaystyle h(x,v)} que venen la transició d'estat i l'observació (la sortida contaminada) respectivament.

Vegeu també

  • Filtre adaptatiu
  • Filtre de Wiener

Enllaços externs

  • al filtre de Kalman[Enllaç no actiu]
  • welch/Kalman/Filtre de Kalman
  • Explicació en català Arxivat 2007-07-03 a Wayback Machine. (pdf)
  • 20de% 20KALMAN.pdf Una altra explicació en català[Enllaç no actiu] (pdf)
Registres d'autoritat
  • GND (1)
  • LCCN (1)
  • NDL (1)
  • NKC (1)
Bases d'informació
  • GEC (1)