📄 covflt_8hpp-source.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: covFlt.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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>covFlt.hpp</h1><a href="covFlt_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef _BAYES_FILTER_COVARIANCE</span>00002 <span class="preprocessor"></span><span class="preprocessor">#define _BAYES_FILTER_COVARIANCE</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/covFlt.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"> * Covariance Filter Scheme.</span>00015 <span class="comment"> * Implemention of extended Kalman filter</span>00016 <span class="comment"> * </span>00017 <span class="comment"> * To work with with Linear and Linrz models</span>00018 <span class="comment"> * a) a state seperate from covariance predict is used.</span>00019 <span class="comment"> * b) a EKF innovation update algorithm is used.</span>00020 <span class="comment"> * Discontinous observe models require that predict is normailised with</span>00021 <span class="comment"> * respect to the observation.</span>00022 <span class="comment"> *</span>00023 <span class="comment"> * A initial observation size may also be specified for efficiency.</span>00024 <span class="comment"> * </span>00025 <span class="comment"> * The filter is operated by performing a</span>00026 <span class="comment"> * predict, observe</span>00027 <span class="comment"> * cycle defined by the base class</span>00028 <span class="comment"> */</span>00029 <span class="preprocessor">#include "<a class="code" href="bayesFlt_8hpp.html">bayesFlt.hpp</a>"</span>00030 00031 <span class="comment">/* Filter namespace */</span>00032 <span class="keyword">namespace </span>Bayesian_filter00033 {00034 <a name="l00035"></a><a class="code" href="classBayesian__filter_1_1Covariance__scheme.html">00035</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Covariance__scheme.html">Covariance_scheme</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Extended__kalman__filter.html">Extended_kalman_filter</a>00036 {00037 <span class="keyword">public</span>:00038 <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#a0">Covariance_scheme</a> (size_t x_size, size_t z_initialsize = 0);00039 <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html">Covariance_scheme</a>& <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#a1">operator= </a>(<span class="keyword">const</span> <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html">Covariance_scheme</a>&);00040 <span class="comment">// Optimise copy assignment to only copy filter state</span>00041 00042 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#a2">init</a> ();00043 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#a3">update</a> ();00044 00045 <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#a4">predict</a> (<a class="code" href="classBayesian__filter_1_1Linrz__predict__model.html">Linrz_predict_model</a>& f);00046 <span class="comment">// Standard Linrz prediction</span>00047 <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#a4">predict</a> (<a class="code" href="classBayesian__filter_1_1Gaussian__predict__model.html">Gaussian_predict_model</a>& f);00048 <span class="comment">// Specialised 'stationary' prediction, only addative noise</span>00049 00050 <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#a6">observe_innovation</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& s);00051 <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#a6">observe_innovation</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& s);00052 00053 <span class="keyword">public</span>: <span class="comment">// Exposed Numerical Results</span><a name="l00054"></a><a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#o1">00054</a> FM::SymMatrix <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#o0">S</a>, <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#o1">SI</a>; <span class="comment">// Innovation Covariance and Inverse</span><a name="l00055"></a><a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#o2">00055</a> FM::Matrix <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#o2">W</a>; <span class="comment">// Kalman Gain</span>00056 00057 <span class="keyword">protected</span>: <span class="comment">// Permenantly allocated temps</span><a name="l00058"></a><a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#p0">00058</a> FM::RowMatrix <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#p0">tempX</a>;00059 <span class="keyword">protected</span>: <span class="comment">// allow fast operation if z_size remains constant</span><a name="l00060"></a><a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#p1">00060</a> size_t <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#p1">last_z_size</a>;00061 <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Covariance__scheme.html#b0">observe_size</a> (size_t z_size);00062 };00063 00064 00065 }<span class="comment">//namespace</span>00066 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 16 11:20:38 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 + -