Stepan Salov edited section_addcontentsline_toc_section_x__.tex  almost 8 years ago

Commit id: b095863fd24908d9c2dfe7f0db313afac79f8804

deletions | additions      

       

\section*{Алгоритм Калмана}  \addcontentsline{toc}{section}{Алгоритм Калмана}  Идея Калмана состоит в том, чтобы получить наилучшее приближение к истинной координате $x(t+1)$,мы должны выбрать золотую середину между показанием $z(t+1)$ неточного сенсора и $xOpt(t)+a\cdot t+2.1$ — нашим предсказанием того, что мы ожидали от него увидеть. Показанию сенсора мы дадим вес $K$, а на предсказанное значение останется вес $(1-K)$\cite{doe:website}:  $$ \begin{equation}  xOpt(t+1)=K_{t+1}\cdot z(t+1)+(1-K_{t+1})\cdot (xOpt(t)+a\cdot t+2.1)  $$ \end{equation}  где $K_{t+1}$ - коэффициент Калмана, зависящий от шага итерации. \\  Мы должны выбрать $K_{t+1}$ таким, чтобы получившееся оптимальное значение координаты $xOpt(t+1)$ было бы наиболее близкое к истиной координате $x(t+1)$.  В общем случае, чтобы найти точное значение коэффициента Калмана $K_{t+1}$ , нужно просто минимизировать ошибку:  \begin{equation}  e(t+1)=x(t+1)-xOpt(t+1)  \end{equation}  Подставляем в выражения уравнения уравнение $1$ выражение $2$  и упрощаем: $$  e(t+1)=x(t+1)–K_{t+1}\cdot z(t+1)-(1-K_{t+1})\cdot (xOpt(t)+a\cdot t+2.1)=\\=x(t+1)-K_{t+1}\cdot (x(t+1)+N_{t+1})-(1-K_{t+1})\cdot (xOpt(t)+a\cdot t+2.1)=\\=x(t+1)\cdot (1-K_{t+1})-K_{t+1}\cdot (x(t+1)+N_{t+1})-(1-K_{t+1})\cdot (xOpt(t)+a\cdot t+2.1)=\\=(1-K_{t+1})\cdot (x(t+1)–xOpt(t)–a\cdot t–2.1)–K_{t+1}\cdot N_{t+1}=\\=(1-K_{t+1})\cdot (x(t)+a\cdot t+2.1+E_{t}–xOpt(t)–a\cdot t–2.1)–K_{t+1}\cdot N_{t+1}=\\=(1-K_{t+1})\cdot (x(t)–xOpt(t)+E_{t})–K_{t+1}\cdot N_{t+1}=\\=(1-K_{t+1})\cdot (e(t)+E_{t})–K_{t+1}\cdot N_{t+1}$$  Таким образом, получаем: