⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 infrtflt_8hpp-source.html

📁 Bayes滤波器算法C++类说明文档,源码见Bayes滤波器算法
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Bayes++ Bayesian Filtering Classes: infRtFlt.hpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><h1>infRtFlt.hpp</h1><a href="infRtFlt_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef _BAYES_FILTER_INFORMATION_ROOT</span>00002 <span class="preprocessor"></span><span class="preprocessor">#define _BAYES_FILTER_INFORMATION_ROOT</span>00003 <span class="preprocessor"></span>00004 <span class="comment">/*</span>00005 <span class="comment"> * Bayes++ the Bayesian Filtering Library</span>00006 <span class="comment"> * Copyright (c) 2002 Michael Stevens</span>00007 <span class="comment"> * See accompanying Bayes++.htm for terms and conditions of use.</span>00008 <span class="comment"> *</span>00009 <span class="comment"> * $Header: /cvsroot/bayesclasses/Bayes++/BayesFilter/infRtFlt.hpp,v 1.6.2.1 2004/02/11 21:06:42 mistevens Exp $</span>00010 <span class="comment"> * $NoKeywords: $</span>00011 <span class="comment"> */</span>00012 00013 <span class="comment">/*</span>00014 <span class="comment"> * Information Root Filter Scheme.</span>00015 <span class="comment"> *  A extended 'Square-root' Information filter as an Abstract class</span>00016 <span class="comment"> *</span>00017 <span class="comment"> * Algorithm: Square-root information propogation using QR factorisation</span>00018 <span class="comment"> * Ref: P. Dyer and S. McReynolds, "Extension of Square-Root Filtering to Include Process Noise",</span>00019 <span class="comment"> * [1] Journal of Optimization Theory and Applications, Vol.3 No.6 1969</span>00020 <span class="comment"> * Filter maintains r,R where</span>00021 <span class="comment"> *   inv(R)*inv(R)' = X</span>00022 <span class="comment"> *   r = R*x</span>00023 <span class="comment"> *   R is upper triangular but not strictly a Cholesky factor as diagonal may be negative</span>00024 <span class="comment"> * Observe algorithm has been extended to include linearised models</span>00025 <span class="comment"> * Discontinous observe models require that state is normailised with respect to the observation.</span>00026 <span class="comment"> *</span>00027 <span class="comment"> * The filter is operated by performing a</span>00028 <span class="comment"> *  predict, observe</span>00029 <span class="comment"> * cycle defined by the base class</span>00030 <span class="comment"> */</span>00031 <span class="preprocessor">#include "<a class="code" href="bayesFlt_8hpp.html">bayesFlt.hpp</a>"</span>00032 00033 <span class="comment">/* Filter namespace */</span>00034 <span class="keyword">namespace </span>Bayesian_filter00035 {00036 <a name="l00037"></a><a class="code" href="classBayesian__filter_1_1Information__root__scheme.html">00037</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Information__root__scheme.html">Information_root_scheme</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Extended__kalman__filter.html">Extended_kalman_filter</a>00038 {00039 <span class="keyword">public</span>:<a name="l00040"></a><a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#o0">00040</a>     FM::Vec <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#o0">r</a>;          <span class="comment">// Information Root state</span><a name="l00041"></a><a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#o1">00041</a>     FM::UTriMatrix <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#o1">R</a>;   <span class="comment">// Information Root</span>00042 00043     <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a0">Information_root_scheme</a> (size_t x_size, size_t z_initialsize = 0);00044 00045     <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a1">init</a> ();00046     <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a2">update</a> ();00047     <span class="comment">// Covariance form state interface</span>00048 00049     <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a3">predict</a> (<a class="code" href="classBayesian__filter_1_1Linrz__predict__model.html">Linrz_predict_model</a>&amp; f, <span class="keyword">const</span> FM::ColMatrix&amp; invFx, <span class="keywordtype">bool</span> linear_r);00050     <span class="comment">/* Generialised form, using precomputed inverse of f.Fx */</span>00051     <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a3">predict</a> (<a class="code" href="classBayesian__filter_1_1Linrz__predict__model.html">Linrz_predict_model</a>&amp; f);00052     <span class="comment">/* Use linrz form for r, computes inverse model using inverse_Fx */</span>00053     <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a3">predict</a> (<a class="code" href="classBayesian__filter_1_1Linear__predict__model.html">Linear_predict_model</a>&amp; f);00054     <span class="comment">/* Use linear form for r, computes inverse model using inverse_Fx */</span><a name="l00055"></a><a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a6">00055</a>     <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a3">predict</a> (<a class="code" href="classBayesian__filter_1_1Linear__invertable__predict__model.html">Linear_invertable_predict_model</a>&amp; f)00056     <span class="comment">/* Use linear form for r, and use inv.Fx from invertable model */</span>00057     {00058         <span class="keywordflow">return</span> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a3">predict</a>(f, f.<a class="code" href="classBayesian__filter_1_1Linear__invertable__predict__model.html#o0">inv</a>.<a class="code" href="structBayesian__filter_1_1Linear__invertable__predict__model_1_1inverse__model.html#o0">Fx</a>, <span class="keyword">true</span>);00059     }00060 00061     <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a7">observe_innovation</a> (Linrz_uncorrelated_observe_model&amp; h, <span class="keyword">const</span> FM::Vec&amp; s);00062     <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#a7">observe_innovation</a> (Linrz_correlated_observe_model&amp; h, <span class="keyword">const</span> FM::Vec&amp; s);00063     <span class="comment">// Extended_kalman_filter observe</span>00064 00065     <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html#e0">inverse_Fx</a> (FM::DenseColMatrix&amp; invFx, <span class="keyword">const</span> FM::Matrix&amp; Fx);00066     <span class="comment">/* Numerical Inversion of Fx using LU factorisation */</span>00067 };00068 00069 00070 <span class="comment">/*</span>00071 <span class="comment"> * Information Root Filter Scheme with exposed information state</span>00072 <span class="comment"> * Augments Information_root_filter with y,Y in the interface</span>00073 <span class="comment"> */</span>00074 <a name="l00075"></a><a class="code" href="classBayesian__filter_1_1Information__root__info__scheme.html">00075</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Information__root__info__scheme.html">Information_root_info_scheme</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Information__root__scheme.html">Information_root_scheme</a>, <span class="keyword">virtual</span> <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Information__state__filter.html">Information_state_filter</a>00076 {00077 <span class="keyword">public</span>:00078     <a class="code" href="classBayesian__filter_1_1Information__root__info__scheme.html#a0">Information_root_info_scheme</a> (size_t x_size, size_t z_initialsize = 0);00079 00080     <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Information__root__info__scheme.html#a1">init_yY</a> ();00081     <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Information__root__info__scheme.html#a2">update_yY</a> ();00082     <span class="comment">// Information form state interface</span>00083 };00084 00085 00086 }<span class="comment">//namespace</span>00087 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 16 11:20:39 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 + -