| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- \documentclass[varwidth=true, border=2pt]{standalone}
- \usepackage{pgfplots}
- \usepackage{tikz}
- \usetikzlibrary{shapes,arrows,arrows.meta}
- \pgfplotsset{compat=1.13}
- \usepackage{mathtools}
- \usepackage{amssymb}
- \begin{document}
- \tikzstyle{block} = [draw, rectangle, minimum width=6em, align=center,fill=gray!5]
- \tikzstyle{arrow} = [-latex, very thick]
- \newcommand*{\tran}{\top}
- \begin{tikzpicture}[auto, node distance=2cm,>=latex']
- \setlength{\abovedisplayskip}{0pt}
- % Place the blocks
- \node[text width=1cm,
- rounded corners=3pt,
- block,
- label={[above,align=center]{Initial\\State}}] at (-1, 0) (initial)
- {$$\mathbf{x}_0$$ $$P_0$$};
- \node at (0.25, 0.1) (sum) {};
- \node[block, text width=6cm,
- label={[above,align=center]{Prediction}}] at (4, 0) (prediction)
- {\begin{align*}
- \mathbf{x}_{k+1}^{(P)} &= A \mathbf{x}_k + B {\color{orange} a_k}\\
- P_{k+1}^{(P)} &= A P_k A^\tran + C_k^{(r_s)}
- \end{align*}};
- \node [block, right of=prediction,
- node distance=3cm, text width=1.4cm] at (6, -2) (iterUpdate)
- {$$k \leftarrow k + 1$$};
- \node [block, text width=6cm,
- label={[above,align=center]{Innovation}}] at (4, -4) (innovation)
- {\begin{align*}
- K_k &= P_k^{(P)} H^\tran {\left (H P_k^{(P)} H^\tran + C_k^{(r_m)} \right)}^{-1}\\
- {\color{blue} \mathbf{x}_k} &= (I - K_k H) \mathbf{x}_k^{(P)} + K_k {\color{orange} z_k}\\
- {\color{blue} P_k} &= (I - K_k H) P_k^{(P)}
- \end{align*}};
- % Connect the nodes
- \draw [arrow] (initial) -- (prediction);
- \draw [arrow] (prediction.east) -| (iterUpdate.north);
- \draw [arrow] (iterUpdate) |- (innovation);
- \draw [arrow] (innovation.west) -| (sum);
- \end{tikzpicture}
- \end{document}
|