fixed rare bug in Kalman filter when one should switch to steady state
filter in last period of the sampletime-shift
parent
41def7caaa
commit
c15123878f
|
@ -210,7 +210,7 @@ end
|
||||||
likk(1:s) = .5*(likk(1:s) + pp*log(2*pi));
|
likk(1:s) = .5*(likk(1:s) + pp*log(2*pi));
|
||||||
|
|
||||||
% Call steady state Kalman filter if needed.
|
% Call steady state Kalman filter if needed.
|
||||||
if t<last
|
if t <= last
|
||||||
if analytic_derivation,
|
if analytic_derivation,
|
||||||
if analytic_derivation==2,
|
if analytic_derivation==2,
|
||||||
[tmp, likk(s+1:end)] = kalman_filter_ss(Y,t,last,a,T,K,iF,dF,Z,pp,Zflag, ...
|
[tmp, likk(s+1:end)] = kalman_filter_ss(Y,t,last,a,T,K,iF,dF,Z,pp,Zflag, ...
|
||||||
|
|
|
@ -134,7 +134,7 @@ end
|
||||||
lik(1:s) = .5*lik(1:s);
|
lik(1:s) = .5*lik(1:s);
|
||||||
|
|
||||||
% Call steady state Kalman filter if needed.
|
% Call steady state Kalman filter if needed.
|
||||||
if t<last
|
if t<=last
|
||||||
[tmp, lik(s+1:end)] = kalman_filter_ss(Y,t,last,a,T,K,iF,dF,Z,pp,Zflag);
|
[tmp, lik(s+1:end)] = kalman_filter_ss(Y,t,last,a,T,K,iF,dF,Z,pp,Zflag);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -210,7 +210,7 @@ end
|
||||||
lik(1:s) = .5*lik(1:s);
|
lik(1:s) = .5*lik(1:s);
|
||||||
|
|
||||||
% Call steady state univariate kalman filter if needed.
|
% Call steady state univariate kalman filter if needed.
|
||||||
if t<last
|
if t <= last
|
||||||
if analytic_derivation,
|
if analytic_derivation,
|
||||||
if analytic_derivation==2,
|
if analytic_derivation==2,
|
||||||
[tmp, lik(s+1:end)] = univariate_kalman_filter_ss(Y,t,last,a,P,kalman_tol,T,H,Z,pp,Zflag, ...
|
[tmp, lik(s+1:end)] = univariate_kalman_filter_ss(Y,t,last,a,P,kalman_tol,T,H,Z,pp,Zflag, ...
|
||||||
|
|
Loading…
Reference in New Issue