root/doc/latex/classEKF.tex @ 172

Revision 172, 12.7 kB (checked in by smidl, 16 years ago)

Latex doc

  • Property svn:eol-style set to native
RevLine 
[172]1\hypertarget{classEKF}{
[30]2\section{EKF$<$ sq\_\-T $>$ Class Template Reference}
3\label{classEKF}\index{EKF@{EKF}}
[172]4}
5Extended \hyperlink{classKalman}{Kalman} Filter. 
[30]6
7
8{\tt \#include $<$libKF.h$>$}
9
10Inheritance diagram for EKF$<$ sq\_\-T $>$:\nopagebreak
11\begin{figure}[H]
12\begin{center}
13\leavevmode
[91]14\includegraphics[width=96pt]{classEKF__inherit__graph}
[30]15\end{center}
16\end{figure}
17Collaboration diagram for EKF$<$ sq\_\-T $>$:\nopagebreak
18\begin{figure}[H]
19\begin{center}
20\leavevmode
21\includegraphics[width=400pt]{classEKF__coll__graph}
22\end{center}
23\end{figure}
24\subsection*{Public Member Functions}
25\begin{CompactItemize}
26\item 
[172]27\hypertarget{classEKF_ea4f3254cacf0a92d2a820b1201d049e}{
28\hyperlink{classEKF_ea4f3254cacf0a92d2a820b1201d049e}{EKF} (\hyperlink{classRV}{RV} rvx, \hyperlink{classRV}{RV} \hyperlink{classKalman_7501230c2fafa3655887d2da23b3184c}{rvy}, \hyperlink{classRV}{RV} \hyperlink{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{rvu})}
29\label{classEKF_ea4f3254cacf0a92d2a820b1201d049e}
[30]30
31\begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 
[172]32\hypertarget{classEKF_28d058ae4d24d992d2f055419a06ee66}{
33void \hyperlink{classEKF_28d058ae4d24d992d2f055419a06ee66}{set\_\-parameters} (\hyperlink{classdiffbifn}{diffbifn} $\ast$pfxu, \hyperlink{classdiffbifn}{diffbifn} $\ast$phxu, const sq\_\-T Q0, const sq\_\-T R0)}
34\label{classEKF_28d058ae4d24d992d2f055419a06ee66}
[30]35
[33]36\begin{CompactList}\small\item\em Set nonlinear functions for mean values and covariance matrices. \item\end{CompactList}\item 
[172]37\hypertarget{classEKF_c79c62c9b3e0b56b3aaa1b6f1d9a7af7}{
38void \hyperlink{classEKF_c79c62c9b3e0b56b3aaa1b6f1d9a7af7}{bayes} (const vec \&dt)}
39\label{classEKF_c79c62c9b3e0b56b3aaa1b6f1d9a7af7}
[30]40
[172]41\begin{CompactList}\small\item\em Here dt = \mbox{[}yt;ut\mbox{]} of appropriate dimensions. \item\end{CompactList}\item 
42\hypertarget{classKalman_239b28a0380946f5749b2f8d2807f93a}{
43void \hyperlink{classKalman_239b28a0380946f5749b2f8d2807f93a}{set\_\-parameters} (const mat \&A0, const mat \&B0, const mat \&C0, const mat \&D0, const \hyperlink{classfsqmat}{fsqmat} \&R0, const \hyperlink{classfsqmat}{fsqmat} \&Q0)}
44\label{classKalman_239b28a0380946f5749b2f8d2807f93a}
[30]45
46\begin{CompactList}\small\item\em Set parameters with check of relevance. \item\end{CompactList}\item 
[172]47\hypertarget{classKalman_80bcf29466d9a9dd2b8f74699807d0c0}{
48void \hyperlink{classKalman_80bcf29466d9a9dd2b8f74699807d0c0}{set\_\-est} (const vec \&mu0, const \hyperlink{classfsqmat}{fsqmat} \&P0)}
49\label{classKalman_80bcf29466d9a9dd2b8f74699807d0c0}
[30]50
51\begin{CompactList}\small\item\em Set estimate values, used e.g. in initialization. \item\end{CompactList}\item 
[172]52\hypertarget{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe}{
53const \hyperlink{classepdf}{epdf} \& \hyperlink{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe}{\_\-epdf} () const }
54\label{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe}
[30]55
[172]56\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
57\hypertarget{classKalman_980fcd41c6c548c5da7b8b67c8e6da79}{
58mat \& \hyperlink{classKalman_980fcd41c6c548c5da7b8b67c8e6da79}{\_\-\_\-K} ()}
59\label{classKalman_980fcd41c6c548c5da7b8b67c8e6da79}
[30]60
[33]61\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
[172]62\hypertarget{classKalman_ac9540f3850b74d89a5fe4db6fc358ce}{
63vec \hyperlink{classKalman_ac9540f3850b74d89a5fe4db6fc358ce}{\_\-dP} ()}
64\label{classKalman_ac9540f3850b74d89a5fe4db6fc358ce}
[79]65
66\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
[172]67\hypertarget{classBM_0186270f75189677f390fe088a9947e9}{
68virtual void \hyperlink{classBM_0186270f75189677f390fe088a9947e9}{bayesB} (const mat \&Dt)}
69\label{classBM_0186270f75189677f390fe088a9947e9}
[79]70
[172]71\begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\item 
72virtual double \hyperlink{classBM_8a8ce6df431689964c41cc6c849cfd06}{logpred} (const vec \&dt) const
73\item 
74\hypertarget{classBM_126bd2595c48e311fc2a7ab72876092a}{
75const \hyperlink{classRV}{RV} \& \hyperlink{classBM_126bd2595c48e311fc2a7ab72876092a}{\_\-rv} () const }
76\label{classBM_126bd2595c48e311fc2a7ab72876092a}
77
[79]78\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
[172]79\hypertarget{classBM_87f4a547d2c29180be88175e5eab9c88}{
80double \hyperlink{classBM_87f4a547d2c29180be88175e5eab9c88}{\_\-ll} () const }
81\label{classBM_87f4a547d2c29180be88175e5eab9c88}
[33]82
83\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
[172]84\hypertarget{classBM_1ffa9f23669aabecc3760c06c6987522}{
85void \hyperlink{classBM_1ffa9f23669aabecc3760c06c6987522}{set\_\-evalll} (bool evl0)}
86\label{classBM_1ffa9f23669aabecc3760c06c6987522}
[33]87
[172]88\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
89virtual \hyperlink{classBM}{BM} $\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-} (bool changerv=false)
90\end{CompactItemize}
[30]91\subsection*{Protected Attributes}
92\begin{CompactItemize}
93\item 
[172]94\hypertarget{classKalman_7501230c2fafa3655887d2da23b3184c}{
95\hyperlink{classRV}{RV} \hyperlink{classKalman_7501230c2fafa3655887d2da23b3184c}{rvy}}
96\label{classKalman_7501230c2fafa3655887d2da23b3184c}
[30]97
[33]98\begin{CompactList}\small\item\em Indetifier of output rv. \item\end{CompactList}\item 
[172]99\hypertarget{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{
100\hyperlink{classRV}{RV} \hyperlink{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{rvu}}
101\label{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}
[30]102
[33]103\begin{CompactList}\small\item\em Indetifier of exogeneous rv. \item\end{CompactList}\item 
[172]104\hypertarget{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}{
105int \hyperlink{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}{dimx}}
106\label{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}
[30]107
[33]108\begin{CompactList}\small\item\em cache of rv.count() \item\end{CompactList}\item 
[172]109\hypertarget{classKalman_ba17b956df1e38b31fbbc299c8213b6a}{
110int \hyperlink{classKalman_ba17b956df1e38b31fbbc299c8213b6a}{dimy}}
111\label{classKalman_ba17b956df1e38b31fbbc299c8213b6a}
[30]112
[33]113\begin{CompactList}\small\item\em cache of rvy.count() \item\end{CompactList}\item 
[172]114\hypertarget{classKalman_b0153795a1444b6968a86409c778d9ce}{
115int \hyperlink{classKalman_b0153795a1444b6968a86409c778d9ce}{dimu}}
116\label{classKalman_b0153795a1444b6968a86409c778d9ce}
[30]117
[33]118\begin{CompactList}\small\item\em cache of rvu.count() \item\end{CompactList}\item 
[172]119\hypertarget{classKalman_5e02efe86ee91e9c74b93b425fe060b9}{
120mat \hyperlink{classKalman_5e02efe86ee91e9c74b93b425fe060b9}{A}}
121\label{classKalman_5e02efe86ee91e9c74b93b425fe060b9}
[30]122
[33]123\begin{CompactList}\small\item\em Matrix A. \item\end{CompactList}\item 
[172]124\hypertarget{classKalman_dc87704284a6c0bca13bf51f4345a50a}{
125mat \hyperlink{classKalman_dc87704284a6c0bca13bf51f4345a50a}{B}}
126\label{classKalman_dc87704284a6c0bca13bf51f4345a50a}
[30]127
[33]128\begin{CompactList}\small\item\em Matrix B. \item\end{CompactList}\item 
[172]129\hypertarget{classKalman_86a805cd6515872d1132ad0d6eb5dc13}{
130mat \hyperlink{classKalman_86a805cd6515872d1132ad0d6eb5dc13}{C}}
131\label{classKalman_86a805cd6515872d1132ad0d6eb5dc13}
[30]132
[33]133\begin{CompactList}\small\item\em Matrix C. \item\end{CompactList}\item 
[172]134\hypertarget{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}{
135mat \hyperlink{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}{D}}
136\label{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}
[30]137
[33]138\begin{CompactList}\small\item\em Matrix D. \item\end{CompactList}\item 
[172]139\hypertarget{classKalman_9b69015c800eb93f3ee49da23a6f55d9}{
140\hyperlink{classfsqmat}{fsqmat} \hyperlink{classKalman_9b69015c800eb93f3ee49da23a6f55d9}{Q}}
141\label{classKalman_9b69015c800eb93f3ee49da23a6f55d9}
[30]142
[33]143\begin{CompactList}\small\item\em Matrix Q in square-root form. \item\end{CompactList}\item 
[172]144\hypertarget{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}{
145\hyperlink{classfsqmat}{fsqmat} \hyperlink{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}{R}}
146\label{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}
[30]147
[33]148\begin{CompactList}\small\item\em Matrix R in square-root form. \item\end{CompactList}\item 
[172]149\hypertarget{classKalman_5568c74bac67ae6d3b1061dba60c9424}{
150\hyperlink{classenorm}{enorm}$<$ \hyperlink{classfsqmat}{fsqmat} $>$ \hyperlink{classKalman_5568c74bac67ae6d3b1061dba60c9424}{est}}
151\label{classKalman_5568c74bac67ae6d3b1061dba60c9424}
[30]152
153\begin{CompactList}\small\item\em posterior density on \$x\_\-t\$ \item\end{CompactList}\item 
[172]154\hypertarget{classKalman_e580ab06483952bd03f2e651763e184f}{
155\hyperlink{classenorm}{enorm}$<$ \hyperlink{classfsqmat}{fsqmat} $>$ \hyperlink{classKalman_e580ab06483952bd03f2e651763e184f}{fy}}
156\label{classKalman_e580ab06483952bd03f2e651763e184f}
[30]157
158\begin{CompactList}\small\item\em preditive density on \$y\_\-t\$ \item\end{CompactList}\item 
[172]159\hypertarget{classKalman_d422f51467c7a06174af2476d2826132}{
160mat \hyperlink{classKalman_d422f51467c7a06174af2476d2826132}{\_\-K}}
161\label{classKalman_d422f51467c7a06174af2476d2826132}
[30]162
[172]163\begin{CompactList}\small\item\em placeholder for \hyperlink{classKalman}{Kalman} gain \item\end{CompactList}\item 
164\hypertarget{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd}{
165vec \& \hyperlink{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd}{\_\-yp}}
166\label{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd}
[30]167
[33]168\begin{CompactList}\small\item\em cache of fy.mu \item\end{CompactList}\item 
[172]169\hypertarget{classKalman_45c9f928d2d62e0c884900fb3380f904}{
170\hyperlink{classfsqmat}{fsqmat} \& \hyperlink{classKalman_45c9f928d2d62e0c884900fb3380f904}{\_\-Ry}}
171\label{classKalman_45c9f928d2d62e0c884900fb3380f904}
[30]172
[33]173\begin{CompactList}\small\item\em cache of fy.R \item\end{CompactList}\item 
[172]174\hypertarget{classKalman_fe803a81d2d847b0b1db3c6b29c18061}{
175vec \& \hyperlink{classKalman_fe803a81d2d847b0b1db3c6b29c18061}{\_\-mu}}
176\label{classKalman_fe803a81d2d847b0b1db3c6b29c18061}
[30]177
[33]178\begin{CompactList}\small\item\em cache of est.mu \item\end{CompactList}\item 
[172]179\hypertarget{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf}{
180\hyperlink{classfsqmat}{fsqmat} \& \hyperlink{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf}{\_\-P}}
181\label{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf}
[30]182
[33]183\begin{CompactList}\small\item\em cache of est.R \item\end{CompactList}\item 
[172]184\hypertarget{classBM_af00f0612fabe66241dd507188cdbf88}{
185\hyperlink{classRV}{RV} \hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}}
186\label{classBM_af00f0612fabe66241dd507188cdbf88}
[30]187
188\begin{CompactList}\small\item\em Random variable of the posterior. \item\end{CompactList}\item 
[172]189\hypertarget{classBM_5623fef6572a08c2b53b8c87b82dc979}{
190double \hyperlink{classBM_5623fef6572a08c2b53b8c87b82dc979}{ll}}
191\label{classBM_5623fef6572a08c2b53b8c87b82dc979}
[30]192
193\begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item 
[172]194\hypertarget{classBM_bf6fb59b30141074f8ee1e2f43d03129}{
195bool \hyperlink{classBM_bf6fb59b30141074f8ee1e2f43d03129}{evalll}}
196\label{classBM_bf6fb59b30141074f8ee1e2f43d03129}
[30]197
[172]198\begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save computational time. \item\end{CompactList}\end{CompactItemize}
[30]199
200
201\subsection{Detailed Description}
202\subsubsection*{template$<$class sq\_\-T$>$ class EKF$<$ sq\_\-T $>$}
203
[172]204Extended \hyperlink{classKalman}{Kalman} Filter.
[30]205
206An approximation of the exact Bayesian filter with Gaussian noices and non-linear evolutions of their mean.
207
[172]208\subsection{Member Function Documentation}
209\hypertarget{classBM_8a8ce6df431689964c41cc6c849cfd06}{
210\index{EKF@{EKF}!logpred@{logpred}}
211\index{logpred@{logpred}!EKF@{EKF}}
212\subsubsection[logpred]{\setlength{\rightskip}{0pt plus 5cm}virtual double BM::logpred (const vec \& {\em dt}) const\hspace{0.3cm}{\tt  \mbox{[}inline, virtual, inherited\mbox{]}}}}
213\label{classBM_8a8ce6df431689964c41cc6c849cfd06}
214
215
216Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out.
217
218Reimplemented in \hyperlink{classARX_e7f9e7823aec9bf7ddc3b42d9b3304c4}{ARX}, \hyperlink{classMixEF_424ca64f36d4e41de7a7e7ae921d35ea}{MixEF}, and \hyperlink{classmultiBM_13e26a61757278981fd8cac9a7ef91eb}{multiBM}.\hypertarget{classBM_eb58c81d6a7b75b05fc6f276eed78887}{
219\index{EKF@{EKF}!\_\-copy\_\-@{\_\-copy\_\-}}
220\index{\_\-copy\_\-@{\_\-copy\_\-}!EKF@{EKF}}
221\subsubsection[\_\-copy\_\-]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf BM}$\ast$ BM::\_\-copy\_\- (bool {\em changerv} = {\tt false})\hspace{0.3cm}{\tt  \mbox{[}inline, virtual, inherited\mbox{]}}}}
222\label{classBM_eb58c81d6a7b75b05fc6f276eed78887}
223
224
225Copy function required in vectors, Arrays of \hyperlink{classBM}{BM} etc. Have to be DELETED manually! Prototype: BM$\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-()}\{\hyperlink{classBM}{BM} Tmp$\ast$=new Tmp(this$\ast$); return Tmp; \} 
226
227Reimplemented in \hyperlink{classARX_d2751057811c6fb8f4ff86e1648bcddc}{ARX}.
228
229Referenced by MixEF::MixEF().
230
[30]231The documentation for this class was generated from the following file:\begin{CompactItemize}
232\item 
[172]233work/git/mixpp/bdm/estim/\hyperlink{libKF_8h}{libKF.h}\end{CompactItemize}
Note: See TracBrowser for help on using the browser.