root/doc/html/classitpp_1_1ARMA__Filter.html @ 353

Revision 353, 12.5 kB (checked in by smidl, 15 years ago)

doc

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: itpp::ARMA_Filter&lt; T1, T2, T3 &gt; Class Template Reference</title>
4<link href="tabs.css" rel="stylesheet" type="text/css">
5<link href="doxygen.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.8 -->
8<script type="text/javascript">
9<!--
10function changeDisplayState (e){
11  var num=this.id.replace(/[^[0-9]/g,'');
12  var button=this.firstChild;
13  var sectionDiv=document.getElementById('dynsection'+num);
14  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
15    sectionDiv.style.display='block';
16    button.src='open.gif';
17  }else{
18    sectionDiv.style.display='none';
19    button.src='closed.gif';
20  }
21}
22function initDynSections(){
23  var divs=document.getElementsByTagName('div');
24  var sectionCounter=1;
25  for(var i=0;i<divs.length-1;i++){
26    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
27      var header=divs[i];
28      var section=divs[i+1];
29      var button=header.firstChild;
30      if (button!='IMG'){
31        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
32        button=document.createElement('img');
33        divs[i].insertBefore(button,divs[i].firstChild);
34      }
35      header.style.cursor='pointer';
36      header.onclick=changeDisplayState;
37      header.id='dynheader'+sectionCounter;
38      button.src='closed.gif';
39      section.id='dynsection'+sectionCounter;
40      section.style.display='none';
41      section.style.marginLeft='14px';
42      sectionCounter++;
43    }
44  }
45}
46window.onload = initDynSections;
47-->
48</script>
49<div class="navigation" id="top">
50  <div class="tabs">
51    <ul>
52      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
53      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
54      <li><a href="modules.html"><span>Modules</span></a></li>
55      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
56      <li><a href="files.html"><span>Files</span></a></li>
57    </ul>
58  </div>
59  <div class="tabs">
60    <ul>
61      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
62      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
63      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
64      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
65    </ul>
66  </div>
67  <div class="navpath"><b>itpp</b>::<a class="el" href="classitpp_1_1ARMA__Filter.html">ARMA_Filter</a>
68  </div>
69</div>
70<div class="contents">
71<h1>itpp::ARMA_Filter&lt; T1, T2, T3 &gt; Class Template Reference<br>
72<small>
73[<a class="el" href="group__filters.html">Filtering</a>]</small>
74</h1><!-- doxytag: class="itpp::ARMA_Filter" --><!-- doxytag: inherits="Filter&lt; T1, T2, T3 &gt;" -->Autoregressive Moving Average (ARMA) <a class="el" href="classitpp_1_1Filter.html" title="Virtual Filter Base Class.The class is templated as follows:.">Filter</a> Base Class.<p>
75This class implements a autoregressive moving average (ARMA) filter according to <p class="formulaDsp">
76<img class="formulaDsp" alt="\[ a(0)*y(n) = b(0)*x(n) + b(1)*x(n-1) + \ldots + b(N_b)*x(n-N_b) - a(1)*y(n-1) - \ldots - a(N_a)*y(n-N_a) \]" src="form_346.png">
77<p>
78
79<a href="#_details">More...</a>
80<p>
81<code>#include &lt;<a class="el" href="filter_8h-source.html">filter.h</a>&gt;</code>
82<p>
83
84<p>
85<a href="classitpp_1_1ARMA__Filter-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
86<tr><td></td></tr>
87<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
88<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98c0f3de4b9f6d38953fb57ef2b4c26e"></a><!-- doxytag: member="itpp::ARMA_Filter::ARMA_Filter" ref="98c0f3de4b9f6d38953fb57ef2b4c26e" args="()" -->
89&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#98c0f3de4b9f6d38953fb57ef2b4c26e">ARMA_Filter</a> ()</td></tr>
90
91<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class constructor. <br></td></tr>
92<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2173f96e056044edd4ffab50357aaca6"></a><!-- doxytag: member="itpp::ARMA_Filter::ARMA_Filter" ref="2173f96e056044edd4ffab50357aaca6" args="(const Vec&lt; T2 &gt; &amp;b, const Vec&lt; T2 &gt; &amp;a)" -->
93&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#2173f96e056044edd4ffab50357aaca6">ARMA_Filter</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T2 &gt; &amp;b, const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T2 &gt; &amp;a)</td></tr>
94
95<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class constructor setting the coefficients in the filter. <br></td></tr>
96<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14448db8ddfe0e3db239bb35b96bac63"></a><!-- doxytag: member="itpp::ARMA_Filter::~ARMA_Filter" ref="14448db8ddfe0e3db239bb35b96bac63" args="()" -->
97virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#14448db8ddfe0e3db239bb35b96bac63">~ARMA_Filter</a> ()</td></tr>
98
99<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br></td></tr>
100<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d93763714258e4ccec43e3e4b6c68355"></a><!-- doxytag: member="itpp::ARMA_Filter::get_coeffs_a" ref="d93763714258e4ccec43e3e4b6c68355" args="() const " -->
101<a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T2 &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#d93763714258e4ccec43e3e4b6c68355">get_coeffs_a</a> () const </td></tr>
102
103<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classitpp_1_1Filter.html" title="Virtual Filter Base Class.The class is templated as follows:.">Filter</a> <em>a</em> coefficient access function. <br></td></tr>
104<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="374cc856d2cd77fba5e87fbec023e92c"></a><!-- doxytag: member="itpp::ARMA_Filter::get_coeffs_b" ref="374cc856d2cd77fba5e87fbec023e92c" args="() const " -->
105<a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T2 &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#374cc856d2cd77fba5e87fbec023e92c">get_coeffs_b</a> () const </td></tr>
106
107<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classitpp_1_1Filter.html" title="Virtual Filter Base Class.The class is templated as follows:.">Filter</a> <em>b</em> coefficient access function. <br></td></tr>
108<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa95fcb37ee8c33f2c9841c50dafe50d"></a><!-- doxytag: member="itpp::ARMA_Filter::get_coeffs" ref="aa95fcb37ee8c33f2c9841c50dafe50d" args="(Vec&lt; T2 &gt; &amp;b, Vec&lt; T2 &gt; &amp;a) const " -->
109void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#aa95fcb37ee8c33f2c9841c50dafe50d">get_coeffs</a> (<a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T2 &gt; &amp;b, <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T2 &gt; &amp;a) const </td></tr>
110
111<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classitpp_1_1Filter.html" title="Virtual Filter Base Class.The class is templated as follows:.">Filter</a> coefficient access function. <br></td></tr>
112<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af54df8447b7bce3617a76050fca659b"></a><!-- doxytag: member="itpp::ARMA_Filter::set_coeffs" ref="af54df8447b7bce3617a76050fca659b" args="(const Vec&lt; T2 &gt; &amp;b, const Vec&lt; T2 &gt; &amp;a)" -->
113void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#af54df8447b7bce3617a76050fca659b">set_coeffs</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T2 &gt; &amp;b, const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T2 &gt; &amp;a)</td></tr>
114
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the filter coefficients (and order). <br></td></tr>
116<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3dd9fc1bef5bec264b9652801752bc61"></a><!-- doxytag: member="itpp::ARMA_Filter::clear" ref="3dd9fc1bef5bec264b9652801752bc61" args="()" -->
117void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#3dd9fc1bef5bec264b9652801752bc61">clear</a> ()</td></tr>
118
119<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the filter memory. <br></td></tr>
120<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8686ba6587c2d232598822c0299cd54"></a><!-- doxytag: member="itpp::ARMA_Filter::get_state" ref="d8686ba6587c2d232598822c0299cd54" args="() const " -->
121<a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T3 &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#d8686ba6587c2d232598822c0299cd54">get_state</a> () const </td></tr>
122
123<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get state of filter. <br></td></tr>
124<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a8ebc1fee3f205c7556db84e29288a0"></a><!-- doxytag: member="itpp::ARMA_Filter::set_state" ref="9a8ebc1fee3f205c7556db84e29288a0" args="(const Vec&lt; T3 &gt; &amp;state)" -->
125void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1ARMA__Filter.html#9a8ebc1fee3f205c7556db84e29288a0">set_state</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T3 &gt; &amp;state)</td></tr>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set state of filter. <br></td></tr>
128<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea7eed601d6c4e32da3b1cd038aa9328"></a><!-- doxytag: member="itpp::ARMA_Filter::operator()" ref="ea7eed601d6c4e32da3b1cd038aa9328" args="(const T1Sample)" -->
129virtual T3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Filter.html#ea7eed601d6c4e32da3b1cd038aa9328">operator()</a> (const T1Sample)</td></tr>
130
131<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter a single sample. <br></td></tr>
132<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="188d1c2e11dc544c5d88218d61a1f02c"></a><!-- doxytag: member="itpp::ARMA_Filter::operator()" ref="188d1c2e11dc544c5d88218d61a1f02c" args="(const Vec&lt; T1 &gt; &amp;v)" -->
133virtual <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T3 &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Filter.html#188d1c2e11dc544c5d88218d61a1f02c">operator()</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T1 &gt; &amp;v)</td></tr>
134
135<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter a vector. <br></td></tr>
136</table>
137<hr><a name="_details"></a><h2>Detailed Description</h2>
138<h3>template&lt;class T1, class T2, class T3&gt;<br>
139 class itpp::ARMA_Filter&lt; T1, T2, T3 &gt;</h3>
140
141Autoregressive Moving Average (ARMA) <a class="el" href="classitpp_1_1Filter.html" title="Virtual Filter Base Class.The class is templated as follows:.">Filter</a> Base Class.<p>
142This class implements a autoregressive moving average (ARMA) filter according to <p class="formulaDsp">
143<img class="formulaDsp" alt="\[ a(0)*y(n) = b(0)*x(n) + b(1)*x(n-1) + \ldots + b(N_b)*x(n-N_b) - a(1)*y(n-1) - \ldots - a(N_a)*y(n-N_a) \]" src="form_346.png">
144<p>
145.
146<p>
147where <em>a</em> and <em>b</em> are the filter coefficients, <em>x</em> is the input and <em>y</em> is the output.<p>
148When filtering a vector, the length of the output vector equals the length of the input vector. Internal states are kept in a filter memory. The first time the filter is used the internal states have been set to zero.<p>
149The class is templated as follows: <ul>
150<li>
151<code>T1</code> is the type of the input samples </li>
152<li>
153<code>T2</code> is the type of the filter coefficients </li>
154<li>
155<code>T3</code> is the type of the output samples </li>
156</ul>
157<hr>The documentation for this class was generated from the following file:<ul>
158<li><a class="el" href="filter_8h-source.html">filter.h</a></ul>
159</div>
160<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:19 2009 for mixpp by&nbsp;
161<a href="http://www.doxygen.org/index.html">
162<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
163</body>
164</html>
Note: See TracBrowser for help on using the browser.