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

📄 ciflt_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: CIFlt.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>CIFlt.hpp</h1><a href="CIFlt_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef _BAYES_FILTER_CI</span>00002 <span class="preprocessor"></span><span class="preprocessor">#define _BAYES_FILTER_CI</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/CIFlt.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 Intersection Filter Scheme.</span>00015 <span class="comment"> *</span>00016 <span class="comment"> * References</span>00017 <span class="comment"> *  [1] "A Non divergent Estimation Algorithm in the Presence of Unknown Correlations"</span>00018 <span class="comment"> *   Simon J Julier, Jeffrey K Uhlmann</span>00019 <span class="comment"> *</span>00020 <span class="comment"> * CI provides a generalised consistent method to combine mean and covariances</span>00021 <span class="comment"> * of two estimates. The combination can be optimised by chosing a norm of the</span>00022 <span class="comment"> * combined correlations. The norm (omega) is restrict to 0..1 inclusive an effectively</span>00023 <span class="comment"> * scales the combination</span>00024 <span class="comment"> * Here is CI with a predict and obeserve model to form a filter.</span>00025 <span class="comment"> *</span>00026 <span class="comment"> * The Omega norm chosen here is the fixed value of 0.5</span>00027 <span class="comment"> * The Omega function should be overloaded to produce more useful results</span>00028 <span class="comment"> *</span>00029 <span class="comment"> * The filter is operated by performing a</span>00030 <span class="comment"> *  predict, observe</span>00031 <span class="comment"> * cycle derived from the Extended_filter</span>00032 <span class="comment"> */</span>00033 <span class="preprocessor">#include "<a class="code" href="bayesFlt_8hpp.html">bayesFlt.hpp</a>"</span>00034 00035 <span class="comment">/* Filter namespace */</span>00036 <span class="keyword">namespace </span>Bayesian_filter00037 {00038 <a name="l00039"></a><a class="code" href="classBayesian__filter_1_1CI__scheme.html">00039</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1CI__scheme.html">CI_scheme</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Extended__kalman__filter.html">Extended_kalman_filter</a>00040 {00041 <span class="keyword">public</span>:00042     <a class="code" href="classBayesian__filter_1_1CI__scheme.html#a0">CI_scheme</a> (size_t x_size, size_t z_initialsize = 0);00043     <a class="code" href="classBayesian__filter_1_1CI__scheme.html">CI_scheme</a>&amp; <a class="code" href="classBayesian__filter_1_1CI__scheme.html#a1">operator= </a>(<span class="keyword">const</span> <a class="code" href="classBayesian__filter_1_1CI__scheme.html">CI_scheme</a>&amp;);00044     <span class="comment">// Optimise copy assignment to only copy filter state</span>00045 00046     <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1CI__scheme.html#a2">init</a> ();00047     <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1CI__scheme.html#a3">update</a> ();00048     <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1CI__scheme.html#a4">predict</a> (<a class="code" href="classBayesian__filter_1_1Linrz__predict__model.html">Linrz_predict_model</a>&amp; f);00049     <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1CI__scheme.html#a5">observe_innovation</a> (<a class="code" href="classBayesian__filter_1_1Linrz__uncorrelated__observe__model.html">Linrz_uncorrelated_observe_model</a>&amp; h, <span class="keyword">const</span> FM::Vec&amp; s);00050     <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1CI__scheme.html#a5">observe_innovation</a> (<a class="code" href="classBayesian__filter_1_1Linrz__correlated__observe__model.html">Linrz_correlated_observe_model</a>&amp; h, <span class="keyword">const</span> FM::Vec&amp; s);00051 <a name="l00052"></a><a class="code" href="classBayesian__filter_1_1CI__scheme.html#a7">00052</a>     <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_1CI__scheme.html#a7">Omega</a>(<span class="keyword">const</span> FM::SymMatrix&amp; Ai, <span class="keyword">const</span> FM::SymMatrix&amp; Bi, <span class="keyword">const</span> FM::SymMatrix&amp; A)00053     <span class="comment">// Determine norm Omega 0..1 for the CI combination</span>00054     <span class="comment">// Default norm is the fixed value 0.5</span>00055     {00056         <span class="keywordflow">return</span> 0.5;00057     }00058 00059 <span class="keyword">public</span>:                     <span class="comment">// Exposed Numerical Results</span><a name="l00060"></a><a class="code" href="classBayesian__filter_1_1CI__scheme.html#o1">00060</a>     FM::SymMatrix <a class="code" href="classBayesian__filter_1_1CI__scheme.html#o0">S</a>, <a class="code" href="classBayesian__filter_1_1CI__scheme.html#o1">SI</a>;        <span class="comment">// Innovation Covariance and Inverse</span>00061 00062 <span class="keyword">protected</span>:                  <span class="comment">// allow fast operation if z_size remains constant</span><a name="l00063"></a><a class="code" href="classBayesian__filter_1_1CI__scheme.html#p0">00063</a>     size_t <a class="code" href="classBayesian__filter_1_1CI__scheme.html#p0">last_z_size</a>;00064     <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1CI__scheme.html#b0">observe_size</a> (size_t z_size);00065 };00066 00067 00068 }<span class="comment">//namespace</span>00069 <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 + -