trackingKF does not output Kalman Gain
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Christian Busse
 el 17 de Sept. de 2021
  
    
    
    
    
    Comentada: Prashant Arora
    
 el 21 de Nov. de 2023
            Hello,
why does trackingKF do not output the Kalman Gain? 
Also, I think that an option to specify 'time-varying' or 'time-invariant' KF would be useful.
Best Regards
Christian
0 comentarios
Respuesta aceptada
  Prashant Arora
    
 el 15 de Nov. de 2023
        
      Editada: Prashant Arora
    
 el 21 de Nov. de 2023
  
      Hi, 
As of R2024a, trackingKF does not output Kalman gain. We will consider this enhancement in the future releases. 
As a workaround, you can compute Kalman gain using the output of the residual method.
predict(kf);
[r, S] = residual(kf, z);
H = kf.MeasurementModel;
P = kf.StateCovariance;
kalmanGain = P*H'/S;
Hope this helps.
Prashant
2 comentarios
  Prashant Arora
    
 el 21 de Nov. de 2023
				Hi Christian, 
Your approach looks equivalent to me. 
You could consider modifying it a bit to reduce one transpose operation. However, I don't believe its going to have any noticeable impact on performance. 
S = H*P*H' + R;
B = P*H';
K = B/S;
The only reason to use "residual" method would be to extend the same method to other Gaussian filters such as trackingEKF and trackingUKF. Internally, trackingEKF and trackingUKF also use numerically robust approach to compute the "S" (innovation covariance) using square root implementation. However, trackingKF is still plain vanilla (no square root) as of R2024a. So, your workaround looks equivalent trackingKF. We'll consider enhancing trackingKF in a future release to also use square-root implementation. 
Hope this helps.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Tracking and Sensor Fusion en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

