kalman_ssg

Calcul le gain de Kalman en régime établi.

Espace de nom : tsd::kalman

Prototype

Tabf kalman_ssg(sptr<const SSMLineaire> modele)

Paramètres

modeleModéle linéaire

Description

Calcule du gain en régime établi pour un système linéaire (matrices fixes), à l'aide de l'équation de Riccati discrète (DARE). Ce gain peut être utilisé pour simplifié l'implémentation d'un filtre de Kalman (il n'est plus nécessaire d'inverser des matrices).

Exemple

Dans l'exemple ci-dessous, on calcule le gain en régime établi pour un système très simple, à savoir une marche aléatoire scalaire. Différentes valeurs de bruit de process sont testées, en gardant le bruit d'observation constant.

  soit ssm = modele_constante();
  soit n = 50;
  soit Q = logspace(.5, -4, n);
  soit K = Vecf::zeros(n);
  for(auto i = 0; i < n; i++)
  {
    ssm->Q.resize(1,1);
    ssm->Q(0,0) = Q(i) * Q(i);
    K(i) = kalman_ssg(ssm)(0);
  }
  Figure f;
  f.plot(Q,K);

Steady-state Kalman gain vs process noise deviation:

Voir aussi

dare()