📄 unsflt_8hpp-source.html
字号:
<a name="l00070"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html">00070</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html">Unscented_scheme</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Linrz__kalman__filter.html">Linrz_kalman_filter</a>, <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Functional__filter.html">Functional_filter</a>00071 {00072 <span class="keyword">private</span>:00073 size_t q_max; <span class="comment">// Maxiumum size allocated for noise model, constructed before XX</span>00074 <span class="keyword">public</span>:<a name="l00075"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#o0">00075</a> FM::ColMatrix <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#o0">XX</a>; <span class="comment">// Unscented form of state, with associated kappa</span><a name="l00076"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#o1">00076</a> <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#o1">kappa</a>;00077 00078 <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a0">Unscented_scheme</a> (size_t x_size, size_t z_initialsize = 0);00079 <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html">Unscented_scheme</a>& <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a1">operator= </a>(<span class="keyword">const</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html">Unscented_scheme</a>&);00080 <span class="comment">// Optimise copy assignment to only copy filter state</span>00081 00082 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a2">init</a> ();00083 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a3">init_XX</a> ();00084 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a4">update</a> ();00085 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a5">update_XX</a> (Float kappa);00086 00087 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a6">predict</a> (<a class="code" href="classBayesian__filter_1_1Unscented__predict__model.html">Unscented_predict_model</a>& f);00088 <span class="comment">// Efficient Unscented prediction </span>00089 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a6">predict</a> (<a class="code" href="classBayesian__filter_1_1Functional__predict__model.html">Functional_predict_model</a>& f);00090 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a6">predict</a> (<a class="code" href="classBayesian__filter_1_1Addative__predict__model.html">Addative_predict_model</a>& f);<a name="l00091"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a9">00091</a> <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a6">predict</a> (<a class="code" href="classBayesian__filter_1_1Linrz__predict__model.html">Linrz_predict_model</a>& f)00092 { <span class="comment">// Adapt to use the more general addative model</span>00093 <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a6">predict</a>(static_cast<Addative_predict_model&>(f));00094 <span class="keywordflow">return</span> 1.; <span class="comment">// Always well condition for addative predict</span>00095 }00096 00097 <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a10">observe</a> (Uncorrelated_addative_observe_model& h, <span class="keyword">const</span> FM::Vec& z);00098 <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a10">observe</a> (Correlated_addative_observe_model& h, <span class="keyword">const</span> FM::Vec& z);00099 <span class="comment">// Unscented filter implements general addative observe models </span>00100 <a name="l00101"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a12">00101</a> <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a10">observe</a> (<a class="code" href="classBayesian__filter_1_1Linrz__uncorrelated__observe__model.html">Linrz_uncorrelated_observe_model</a>& h, <span class="keyword">const</span> FM::Vec& z)00102 { <span class="comment">// Adapt to use the more general addative model</span>00103 <span class="keywordflow">return</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a10">observe</a> (static_cast<Uncorrelated_addative_observe_model&>(h),z);00104 }<a name="l00105"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a13">00105</a> <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a10">observe</a> (<a class="code" href="classBayesian__filter_1_1Linrz__correlated__observe__model.html">Linrz_correlated_observe_model</a>& h, <span class="keyword">const</span> FM::Vec& z)00106 { <span class="comment">// Adapt to use the more general addative model</span>00107 <span class="keywordflow">return</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#a10">observe</a> (static_cast<Correlated_addative_observe_model&>(h),z);00108 }00109 00110 <span class="keyword">public</span>: <span class="comment">// Exposed Numerical Results</span><a name="l00111"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#o2">00111</a> FM::Vec <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#o2">s</a>; <span class="comment">// Innovation</span><a name="l00112"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#o4">00112</a> FM::SymMatrix <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#o3">S</a>, <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#o4">SI</a>; <span class="comment">// Innovation Covariance and Inverse</span>00113 00114 <span class="keyword">protected</span>:00115 <span class="keyword">virtual</span> <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#b0">predict_Kappa</a> (size_t size) <span class="keyword">const</span>;00116 <span class="keyword">virtual</span> <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#b1">observe_Kappa</a> (size_t size) <span class="keyword">const</span>;00117 <span class="comment">/* unscented Kappa values</span>00118 <span class="comment"> default uses the rule which minimise mean squared error of 4th order term</span>00119 <span class="comment"> */</span>00120 00121 <span class="keyword">protected</span>: <span class="comment">// allow fast operation if z_size remains constant</span><a name="l00122"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#p0">00122</a> size_t <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#p0">last_z_size</a>;00123 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#b2">observe_size</a> (size_t z_size);00124 00125 <span class="keyword">private</span>:00126 <span class="keywordtype">void</span> unscented (FM::ColMatrix& XX, <span class="keyword">const</span> FM::Vec& x, <span class="keyword">const</span> FM::SymMatrix& X, Float scale);00127 <span class="comment">/* Determine Unscented points for a distribution */</span>00128 size_t x_size;00129 size_t XX_size; <span class="comment">// 2*x_size+1</span>00130 00131 <span class="keyword">protected</span>: <span class="comment">// Permenantly allocated temps</span><a name="l00132"></a><a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#p1">00132</a> FM::ColMatrix <a class="code" href="classBayesian__filter_1_1Unscented__scheme.html#p1">fXX</a>;00133 };00134 00135 00136 }<span class="comment">//namespace</span>00137 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 16 11:20:41 2004 for Bayes++ Bayesian Filtering Classes by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -