trackingKF does not output Kalman Gain
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
Prashant Arora
2023년 11월 15일
편집: Prashant Arora
2023년 11월 21일
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
Prashant Arora
2023년 11월 21일
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.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Tracking and Sensor Fusion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!