root/doc/html/classEKF.html @ 32

Revision 32, 18.1 kB (checked in by smidl, 17 years ago)

test KF : estimation of R in KF is not possible! Likelihood of y_t is growing when R -> 0

Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mixpp: EKF&lt; sq_T &gt; Class Template Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9  <ul>
10    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
12    <li><a href="files.html"><span>Files</span></a></li>
13    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
14  </ul>
15</div>
16<div class="tabs">
17  <ul>
18    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21  </ul>
22</div>
23<h1>EKF&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="EKF" --><!-- doxytag: inherits="Kalman&lt; ldmat &gt;" -->Extended <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter. 
24<a href="#_details">More...</a>
25<p>
26<code>#include &lt;<a class="el" href="libKF_8h-source.html">libKF.h</a>&gt;</code>
27<p>
28<div class="dynheader">
29Inheritance diagram for EKF&lt; sq_T &gt;:</div>
30<div class="dynsection">
31<p><center><img src="classEKF__inherit__graph.png" border="0" usemap="#EKF_3_01sq__T_01_4__inherit__map" alt="Inheritance graph"></center>
32<map name="EKF_3_01sq__T_01_4__inherit__map">
33<area shape="rect" href="classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="5,183,141,209"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="64,7,107,33"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="89,87,217,113"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="137,111,145,119"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="80,179,88,187"></map>
34<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
35<div class="dynheader">
36Collaboration diagram for EKF&lt; sq_T &gt;:</div>
37<div class="dynsection">
38<p><center><img src="classEKF__coll__graph.png" border="0" usemap="#EKF_3_01sq__T_01_4__coll__map" alt="Collaboration graph"></center>
39<map name="EKF_3_01sq__T_01_4__coll__map">
40<area shape="rect" href="classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="300,636,436,663"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="339,231,381,257"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="201,412,329,439"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="344,7,381,33"><area shape="rect" title="rvu\nrvy" alt="" coords="372,31,380,39"><area shape="rect" title="rvu\nrvy" alt="" coords="375,632,383,640"><area shape="rect" title="rv" alt="" coords="359,31,367,39"><area shape="rect" title="rv" alt="" coords="356,227,364,235"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="177,119,228,145"><area shape="rect" title="rv" alt="" coords="340,21,348,29"><area shape="rect" title="rv" alt="" coords="208,115,216,123"><area shape="rect" title="rvu\nrvy" alt="" coords="356,31,364,39"><area shape="rect" title="rvu\nrvy" alt="" coords="268,408,276,416"><area shape="rect" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$." alt="" coords="456,119,523,145"><area shape="rect" title="rvu\nrvx" alt="" coords="379,24,387,32"><area shape="rect" title="rvu\nrvx" alt="" coords="477,115,485,123"><area shape="rect" href="classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="85,524,216,551"><area shape="rect" title="est\nfy" alt="" coords="157,548,165,556"><area shape="rect" title="est\nfy" alt="" coords="296,635,304,643"><area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="140,231,185,257"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="5,412,125,439"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="60,436,68,444"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="105,520,113,528"><area shape="rect" title="_iR\nR" alt="" coords="225,255,233,263"><area shape="rect" title="_iR\nR" alt="" coords="93,408,101,416"><area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="235,255,243,263"><area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="259,408,267,416"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="261,436,269,444"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="347,632,355,640"><area shape="rect" title="pfxu\nphxu" alt="" coords="484,143,492,151"><area shape="rect" title="pfxu\nphxu" alt="" coords="451,712,459,720"><area shape="rect" href="classfnc.html" title="Class representing function $f(x)$ of variable $x$ represented by rv." alt="" coords="484,7,524,33"></map>
41<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
42
43<p>
44<a href="classEKF-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
45<tr><td></td></tr>
46<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
47<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea4f3254cacf0a92d2a820b1201d049e"></a><!-- doxytag: member="EKF::EKF" ref="ea4f3254cacf0a92d2a820b1201d049e" args="(RV rvx, RV rvy, RV rvu)" -->
48&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEKF.html#ea4f3254cacf0a92d2a820b1201d049e">EKF</a> (<a class="el" href="classRV.html">RV</a> rvx, <a class="el" href="classRV.html">RV</a> rvy, <a class="el" href="classRV.html">RV</a> rvu)</td></tr>
49
50<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
51<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28d058ae4d24d992d2f055419a06ee66"></a><!-- doxytag: member="EKF::set_parameters" ref="28d058ae4d24d992d2f055419a06ee66" args="(diffbifn *pfxu, diffbifn *phxu, const sq_T Q0, const sq_T R0)" -->
52void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (<a class="el" href="classdiffbifn.html">diffbifn</a> *pfxu, <a class="el" href="classdiffbifn.html">diffbifn</a> *phxu, const sq_T Q0, const sq_T R0)</td></tr>
53
54<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c79c62c9b3e0b56b3aaa1b6f1d9a7af7"></a><!-- doxytag: member="EKF::bayes" ref="c79c62c9b3e0b56b3aaa1b6f1d9a7af7" args="(const vec &amp;dt)" -->
55void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEKF.html#c79c62c9b3e0b56b3aaa1b6f1d9a7af7">bayes</a> (const vec &amp;dt)</td></tr>
56
57<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Here dt = [yt;ut] of appropriate dimensions. <br></td></tr>
58<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="239b28a0380946f5749b2f8d2807f93a"></a><!-- doxytag: member="EKF::set_parameters" ref="239b28a0380946f5749b2f8d2807f93a" args="(const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const ldmat &amp;R0, const ldmat &amp;Q0)" -->
59void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a">set_parameters</a> (const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const ldmat &amp;R0, const ldmat &amp;Q0)</td></tr>
60
61<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set parameters with check of relevance. <br></td></tr>
62<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="80bcf29466d9a9dd2b8f74699807d0c0"></a><!-- doxytag: member="EKF::set_est" ref="80bcf29466d9a9dd2b8f74699807d0c0" args="(const vec &amp;mu0, const ldmat &amp;P0)" -->
63void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0">set_est</a> (const vec &amp;mu0, const ldmat &amp;P0)</td></tr>
64
65<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set estimate values, used e.g. in initialization. <br></td></tr>
66<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87b07867fd4c133aa89a18543f68d9f9"></a><!-- doxytag: member="EKF::bayes" ref="87b07867fd4c133aa89a18543f68d9f9" args="(mat Dt)" -->
67void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">bayes</a> (mat Dt)</td></tr>
68
69<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Batch Bayes rule (columns of Dt are observations). <br></td></tr>
70<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a213c57aef55b2645e550bed81cfc0d4"></a><!-- doxytag: member="EKF::_epdf" ref="a213c57aef55b2645e550bed81cfc0d4" args="()" -->
71<a class="el" href="classepdf.html">epdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">_epdf</a> ()</td></tr>
72
73<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> representing posterior density on parameters. Use with care! <br></td></tr>
74<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
75<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7501230c2fafa3655887d2da23b3184c"></a><!-- doxytag: member="EKF::rvy" ref="7501230c2fafa3655887d2da23b3184c" args="" -->
76<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvy</b></td></tr>
77
78<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44a16ffd5ac1e6e39bae34fea9e1e498"></a><!-- doxytag: member="EKF::rvu" ref="44a16ffd5ac1e6e39bae34fea9e1e498" args="" -->
79<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvu</b></td></tr>
80
81<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39c8c403b46fa3b8c7da77cb2e3729eb"></a><!-- doxytag: member="EKF::dimx" ref="39c8c403b46fa3b8c7da77cb2e3729eb" args="" -->
82int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimx</b></td></tr>
83
84<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba17b956df1e38b31fbbc299c8213b6a"></a><!-- doxytag: member="EKF::dimy" ref="ba17b956df1e38b31fbbc299c8213b6a" args="" -->
85int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimy</b></td></tr>
86
87<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0153795a1444b6968a86409c778d9ce"></a><!-- doxytag: member="EKF::dimu" ref="b0153795a1444b6968a86409c778d9ce" args="" -->
88int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimu</b></td></tr>
89
90<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e02efe86ee91e9c74b93b425fe060b9"></a><!-- doxytag: member="EKF::A" ref="5e02efe86ee91e9c74b93b425fe060b9" args="" -->
91mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>A</b></td></tr>
92
93<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc87704284a6c0bca13bf51f4345a50a"></a><!-- doxytag: member="EKF::B" ref="dc87704284a6c0bca13bf51f4345a50a" args="" -->
94mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>B</b></td></tr>
95
96<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86a805cd6515872d1132ad0d6eb5dc13"></a><!-- doxytag: member="EKF::C" ref="86a805cd6515872d1132ad0d6eb5dc13" args="" -->
97mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>C</b></td></tr>
98
99<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d69f774ba3335c970c1c5b1d182f4dd1"></a><!-- doxytag: member="EKF::D" ref="d69f774ba3335c970c1c5b1d182f4dd1" args="" -->
100mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>D</b></td></tr>
101
102<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11d171dc0e0ab111c56a70f98b97b3ec"></a><!-- doxytag: member="EKF::R" ref="11d171dc0e0ab111c56a70f98b97b3ec" args="" -->
103ldmat&nbsp;</td><td class="memItemRight" valign="bottom"><b>R</b></td></tr>
104
105<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b69015c800eb93f3ee49da23a6f55d9"></a><!-- doxytag: member="EKF::Q" ref="9b69015c800eb93f3ee49da23a6f55d9" args="" -->
106ldmat&nbsp;</td><td class="memItemRight" valign="bottom"><b>Q</b></td></tr>
107
108<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5568c74bac67ae6d3b1061dba60c9424"></a><!-- doxytag: member="EKF::est" ref="5568c74bac67ae6d3b1061dba60c9424" args="" -->
109<a class="el" href="classenorm.html">enorm</a>&lt; ldmat &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">est</a></td></tr>
110
111<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">posterior density on $x_t$ <br></td></tr>
112<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e580ab06483952bd03f2e651763e184f"></a><!-- doxytag: member="EKF::fy" ref="e580ab06483952bd03f2e651763e184f" args="" -->
113<a class="el" href="classenorm.html">enorm</a>&lt; ldmat &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#e580ab06483952bd03f2e651763e184f">fy</a></td></tr>
114
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">preditive density on $y_t$ <br></td></tr>
116<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d422f51467c7a06174af2476d2826132"></a><!-- doxytag: member="EKF::_K" ref="d422f51467c7a06174af2476d2826132" args="" -->
117mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>_K</b></td></tr>
118
119<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5188eb0329f8561f0b357af329769bf8"></a><!-- doxytag: member="EKF::_yp" ref="5188eb0329f8561f0b357af329769bf8" args="" -->
120vec *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_yp</b></td></tr>
121
122<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e17dd745daa8a958035a334a56fa4674"></a><!-- doxytag: member="EKF::_Ry" ref="e17dd745daa8a958035a334a56fa4674" args="" -->
123ldmat *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_Ry</b></td></tr>
124
125<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbbdf31365f5a5674099599200ea193b"></a><!-- doxytag: member="EKF::_iRy" ref="fbbdf31365f5a5674099599200ea193b" args="" -->
126ldmat *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iRy</b></td></tr>
127
128<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1f669b5b3421a070cc75d77b55ba734"></a><!-- doxytag: member="EKF::_mu" ref="d1f669b5b3421a070cc75d77b55ba734" args="" -->
129vec *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_mu</b></td></tr>
130
131<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b3388218567128a797e69b109138271d"></a><!-- doxytag: member="EKF::_P" ref="b3388218567128a797e69b109138271d" args="" -->
132ldmat *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_P</b></td></tr>
133
134<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8bb7f870d69993493ba67ce40e7c3e9"></a><!-- doxytag: member="EKF::_iP" ref="b8bb7f870d69993493ba67ce40e7c3e9" args="" -->
135ldmat *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iP</b></td></tr>
136
137<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af00f0612fabe66241dd507188cdbf88"></a><!-- doxytag: member="EKF::rv" ref="af00f0612fabe66241dd507188cdbf88" args="" -->
138<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td></tr>
139
140<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Random variable of the posterior. <br></td></tr>
141<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5623fef6572a08c2b53b8c87b82dc979"></a><!-- doxytag: member="EKF::ll" ref="5623fef6572a08c2b53b8c87b82dc979" args="" -->
142double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td></tr>
143
144<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logarithm of marginalized data likelihood. <br></td></tr>
145<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf6fb59b30141074f8ee1e2f43d03129"></a><!-- doxytag: member="EKF::evalll" ref="bf6fb59b30141074f8ee1e2f43d03129" args="" -->
146bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></td></tr>
147
148<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If true, the filter will compute likelihood of the data record and store it in <code>ll</code> . Set to false if you want to save time. <br></td></tr>
149</table>
150<hr><a name="_details"></a><h2>Detailed Description</h2>
151<h3>template&lt;class sq_T&gt;<br>
152 class EKF&lt; sq_T &gt;</h3>
153
154Extended <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter.
155<p>
156An approximation of the exact Bayesian filter with Gaussian noices and non-linear evolutions of their mean. <hr>The documentation for this class was generated from the following file:<ul>
157<li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a></ul>
158<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:47 2008 for mixpp by&nbsp;
159<a href="http://www.doxygen.org/index.html">
160<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
161</body>
162</html>
Note: See TracBrowser for help on using the browser.