Extended Kalman Filter
拡張カルマンフィルタ
Ptt
Ptt (Ptm:jaxtyping.Float[Array,'NN'], w:jaxtyping.Float[Array,'N'], x:jaxtyping.Float[Array,'N'])
\(\!\) 推定誤差共分散行列 \(\mathbf P_{t/t}\) \[\sigma_t=\sigma(\hat{\mathbf w}_{t/t-1}^T\mathbf x_t)\] \[\mathbf P_{t/t}=\mathbf P_{t/t-1}-\frac{\sigma_t(1-\sigma_t)}{1+\sigma_t(1-\sigma_t)\mathbf x_t^T\mathbf P_{t/t-1}\mathbf x_t}(\mathbf P_{t/t-1}\mathbf x_t)(\mathbf P_{t/t-1}\mathbf x_t)^T\] \(\!\)
Type | Details | |
---|---|---|
Ptm | Float[Array, ‘N N’] | \(\mathbf P_{t/t-1}\) |
w | Float[Array, ‘N’] | \(\hat{\mathbf w}_{t/t-1}\) |
x | Float[Array, ‘N’] | \(\mathbf x_t\) |
Returns | Float[Array, ‘N N’] | \(\mathbf P_{t/t}\) |
wtt
wtt (Ptm:jaxtyping.Float[Array,'NN'], w:jaxtyping.Float[Array,'N'], x:jaxtyping.Float[Array,'N'], y:jaxtyping.Float[Array,'N'])
\(\!\) 濾波推定値 \(\hat{\mathbf w}_{t/t}\) \[\hat{\mathbf w}_{t/t}=\hat{\mathbf w}_{t/t-1}+\frac{1}{1+\sigma_t(1-\sigma_t)\mathbf x_t^T\mathbf P_{t/t-1}\mathbf x_t}\mathbf P_{t/t-1}\mathbf x_t(y_t-\sigma_t)\] \(\!\)
Type | Details | |
---|---|---|
Ptm | Float[Array, ‘N N’] | \(\mathbf P_{t/t-1}\) |
w | Float[Array, ‘N’] | \(\hat{\mathbf w}_{t/t-1}\) |
x | Float[Array, ‘N’] | \(\mathbf x_t\) |
y | Float[Array, ‘N’] | \(y_t\) |
Returns | Float[Array, ‘N’] | \(\hat{\mathbf w}_{t/t}\) |
EKF_out
EKF_out (W:jaxtyping.Float[Array,'TN'], P:jaxtyping.Float[Array,'TNN'])
\(\!\) EKF
関数の返り値
\(\!\) | Type | Details |
---|---|---|
W | Float[Array, ‘T N’] | \(\{\hat{\mathbf w}_{t/t}\}_{t=0,\ldots,T-1}\) |
P | Float[Array, ‘T N N’] | \(\{\mathbf P_{t/t}\}_{t=0,\ldots,T-1}\) |
\(\!\)
EKF
EKF (N:int, T:int, x:jaxtyping.Float[Array,'{T}{N}'], y:jaxtyping.Float[Array,'{T}{N}'], G:jaxtyping.Float[Array,'{N}{N}'], w0:jaxtyping.Float[Array,'{N}'], P0:jaxtyping.Float[Array,'{N}{N}'])
\(\!\) 拡張カルマンフィルタ \(\!\)
Type | Details | |
---|---|---|
N | int | \(N\) |
T | int | \(T\) |
x | Float[Array, ‘{T} {N}’] | \(\{ \mathbf x_t \}_{t=0,\ldots,T-1}\) |
y | Float[Array, ‘{T} {N}’] | \(\{ y_t \}_{t=0,\ldots,T-1}\) |
G | Float[Array, ‘{N} {N}’] | \(\boldsymbol\Gamma\) |
w0 | Float[Array, ‘{N}’] | \(\hat{\mathbf w}_{0/-1}\) |
P0 | Float[Array, ‘{N} {N}’] | \(\mathbf P_{0/-1}\) |
Returns | EKF_out |