Sophie

Sophie

distrib > Fedora > 13 > x86_64 > by-pkgid > ae19f57cd4e306abd5716199a310070b > files > 2333

gnuradio-doc-3.2.2-3.fc13.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GNU Radio 3.2.2 C++ API: gri_iir&lt; i_type, o_type, tap_type &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="contents">
<h1>gri_iir&lt; i_type, o_type, tap_type &gt; Class Template Reference</h1><!-- doxytag: class="gri_iir" -->
<p>base class template for Infinite Impulse Response filter (IIR)  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="gri__iir_8h_source.html">gri_iir.h</a>&gt;</code></p>

<p><a href="classgri__iir-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#a79ac3f84ffeb3c6190b249a639b0f2ca">gri_iir</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt; &amp;fftaps, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt; &amp;fbtaps)  throw (std::invalid_argument)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an IIR with the given taps.  <a href="#a79ac3f84ffeb3c6190b249a639b0f2ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#a9e7ea537a27b610aa96ba407be82831d">gri_iir</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#a50545f86e1ab90ef36893d3a2b81fb2f">~gri_iir</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">o_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#adb60d3d25c5fce9278d8f2cd5e3c74cb">filter</a> (const i_type input)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">compute a single output value.  <a href="#adb60d3d25c5fce9278d8f2cd5e3c74cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#aef452a0ffbc9d9040b08d58d0bbe0589">filter_n</a> (o_type output[], const i_type input[], long n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">compute an array of N output values. <code>input</code> must have N valid entries.  <a href="#aef452a0ffbc9d9040b08d58d0bbe0589"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#a82e9ff44853cc878f317b5405e786038">ntaps_ff</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#afe39444b015e40596401bc98c613264b">ntaps_fb</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#abbc8febf2bccd566121688c66b0b0326">set_taps</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt; &amp;fftaps, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt; &amp;fbtaps)  throw (std::invalid_argument)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">install new taps.  <a href="#abbc8febf2bccd566121688c66b0b0326"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#aadd595c780fc6b2ee50c7c8b3eb5eea3">d_fftaps</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#ae270ca4360515fbd80cf9ad513b96f24">d_fbtaps</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#af7e5eba6e33011c68e168a1b75ed2baa">d_latest_n</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#a325cbd21166ec28dc27ca0feccef7b38">d_latest_m</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#a566a5d039cf32bb27a750b123e8dae7a">d_prev_output</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; i_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgri__iir.html#aac5a985051761be98d5753f5a1542003">d_prev_input</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class i_type, class o_type, class tap_type&gt;<br/>
 class gri_iir&lt; i_type, o_type, tap_type &gt;</h3>

<p>base class template for Infinite Impulse Response filter (IIR) </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a79ac3f84ffeb3c6190b249a639b0f2ca"></a><!-- doxytag: member="gri_iir::gri_iir" ref="a79ac3f84ffeb3c6190b249a639b0f2ca" args="(const std::vector&lt; tap_type &gt; &amp;fftaps, const std::vector&lt; tap_type &gt; &amp;fbtaps)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::<a class="el" href="classgri__iir.html">gri_iir</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>fftaps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>fbtaps</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td>  throw (std::invalid_argument)<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct an IIR with the given taps. </p>
<p>This filter uses the Direct Form I implementation, where <code>fftaps</code> contains the feed-forward taps, and <code>fbtaps</code> the feedback ones.</p>
<p><code>fftaps</code> and <code>fbtaps</code> must have equal numbers of taps</p>
<p>The input and output satisfy a difference equation of the form</p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ y[n] - \sum_{k=1}^{M} a_k y[n-k] = \sum_{k=0}^{N} b_k x[n-k] \]" src="form_0.png"/>
</p>
<p>with the corresponding rational system function</p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ H(z) = \frac{\sum_{k=0}^{N} b_k z^{-k}}{1 - \sum_{k=1}^{M} a_k z^{-k}} \]" src="form_4.png"/>
</p>
<p>Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback taps. </p>

</div>
</div>
<a class="anchor" id="a9e7ea537a27b610aa96ba407be82831d"></a><!-- doxytag: member="gri_iir::gri_iir" ref="a9e7ea537a27b610aa96ba407be82831d" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::<a class="el" href="classgri__iir.html">gri_iir</a> </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a50545f86e1ab90ef36893d3a2b81fb2f"></a><!-- doxytag: member="gri_iir::~gri_iir" ref="a50545f86e1ab90ef36893d3a2b81fb2f" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::~<a class="el" href="classgri__iir.html">gri_iir</a> </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="adb60d3d25c5fce9278d8f2cd5e3c74cb"></a><!-- doxytag: member="gri_iir::filter" ref="adb60d3d25c5fce9278d8f2cd5e3c74cb" args="(const i_type input)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type , class tap_type &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">o_type <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::filter </td>
          <td>(</td>
          <td class="paramtype">const i_type&nbsp;</td>
          <td class="paramname"> <em>input</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>compute a single output value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the filtered input value. </dd></dl>

<p>References <a class="el" href="gri__iir_8h_source.html#l00114">gri_iir&lt; i_type, o_type, tap_type &gt;::d_fbtaps</a>, <a class="el" href="gri__iir_8h_source.html#l00113">gri_iir&lt; i_type, o_type, tap_type &gt;::d_fftaps</a>, <a class="el" href="gri__iir_8h_source.html#l00116">gri_iir&lt; i_type, o_type, tap_type &gt;::d_latest_m</a>, <a class="el" href="gri__iir_8h_source.html#l00115">gri_iir&lt; i_type, o_type, tap_type &gt;::d_latest_n</a>, <a class="el" href="gri__iir_8h_source.html#l00118">gri_iir&lt; i_type, o_type, tap_type &gt;::d_prev_input</a>, <a class="el" href="gri__iir_8h_source.html#l00117">gri_iir&lt; i_type, o_type, tap_type &gt;::d_prev_output</a>, <a class="el" href="gri__iir_8h_source.html#l00084">gri_iir&lt; i_type, o_type, tap_type &gt;::ntaps_fb()</a>, and <a class="el" href="gri__iir_8h_source.html#l00083">gri_iir&lt; i_type, o_type, tap_type &gt;::ntaps_ff()</a>.</p>

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00167">gri_iir&lt; i_type, o_type, tap_type &gt;::filter_n()</a>.</p>

</div>
</div>
<a class="anchor" id="aef452a0ffbc9d9040b08d58d0bbe0589"></a><!-- doxytag: member="gri_iir::filter_n" ref="aef452a0ffbc9d9040b08d58d0bbe0589" args="(o_type output[], const i_type input[], long n)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::filter_n </td>
          <td>(</td>
          <td class="paramtype">o_type&nbsp;</td>
          <td class="paramname"> <em>output</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const i_type&nbsp;</td>
          <td class="paramname"> <em>input</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>compute an array of N output values. <code>input</code> must have N valid entries. </p>

<p>References <a class="el" href="gri__iir_8h_source.html#l00127">gri_iir&lt; i_type, o_type, tap_type &gt;::filter()</a>.</p>

</div>
</div>
<a class="anchor" id="afe39444b015e40596401bc98c613264b"></a><!-- doxytag: member="gri_iir::ntaps_fb" ref="afe39444b015e40596401bc98c613264b" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::ntaps_fb </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00127">gri_iir&lt; i_type, o_type, tap_type &gt;::filter()</a>.</p>

</div>
</div>
<a class="anchor" id="a82e9ff44853cc878f317b5405e786038"></a><!-- doxytag: member="gri_iir::ntaps_ff" ref="a82e9ff44853cc878f317b5405e786038" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::ntaps_ff </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>number of taps in filter. </dd></dl>

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00127">gri_iir&lt; i_type, o_type, tap_type &gt;::filter()</a>.</p>

</div>
</div>
<a class="anchor" id="abbc8febf2bccd566121688c66b0b0326"></a><!-- doxytag: member="gri_iir::set_taps" ref="abbc8febf2bccd566121688c66b0b0326" args="(const std::vector&lt; tap_type &gt; &amp;fftaps, const std::vector&lt; tap_type &gt; &amp;fbtaps)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::set_taps </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>fftaps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; tap_type &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>fbtaps</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td>  throw (std::invalid_argument)<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>install new taps. </p>

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00058">gri_iir&lt; float, float, double &gt;::gri_iir()</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ae270ca4360515fbd80cf9ad513b96f24"></a><!-- doxytag: member="gri_iir::d_fbtaps" ref="ae270ca4360515fbd80cf9ad513b96f24" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;tap_type&gt; <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::<a class="el" href="classgri__iir.html#ae270ca4360515fbd80cf9ad513b96f24">d_fbtaps</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00127">gri_iir&lt; i_type, o_type, tap_type &gt;::filter()</a>, <a class="el" href="gri__iir_8h_source.html#l00084">gri_iir&lt; float, float, double &gt;::ntaps_fb()</a>, and <a class="el" href="gri__iir_8h_source.html#l00089">gri_iir&lt; float, float, double &gt;::set_taps()</a>.</p>

</div>
</div>
<a class="anchor" id="aadd595c780fc6b2ee50c7c8b3eb5eea3"></a><!-- doxytag: member="gri_iir::d_fftaps" ref="aadd595c780fc6b2ee50c7c8b3eb5eea3" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;tap_type&gt; <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::<a class="el" href="classgri__iir.html#aadd595c780fc6b2ee50c7c8b3eb5eea3">d_fftaps</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00127">gri_iir&lt; i_type, o_type, tap_type &gt;::filter()</a>, <a class="el" href="gri__iir_8h_source.html#l00083">gri_iir&lt; float, float, double &gt;::ntaps_ff()</a>, and <a class="el" href="gri__iir_8h_source.html#l00089">gri_iir&lt; float, float, double &gt;::set_taps()</a>.</p>

</div>
</div>
<a class="anchor" id="a325cbd21166ec28dc27ca0feccef7b38"></a><!-- doxytag: member="gri_iir::d_latest_m" ref="a325cbd21166ec28dc27ca0feccef7b38" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::<a class="el" href="classgri__iir.html#a325cbd21166ec28dc27ca0feccef7b38">d_latest_m</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00127">gri_iir&lt; i_type, o_type, tap_type &gt;::filter()</a>, and <a class="el" href="gri__iir_8h_source.html#l00089">gri_iir&lt; float, float, double &gt;::set_taps()</a>.</p>

</div>
</div>
<a class="anchor" id="af7e5eba6e33011c68e168a1b75ed2baa"></a><!-- doxytag: member="gri_iir::d_latest_n" ref="af7e5eba6e33011c68e168a1b75ed2baa" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::<a class="el" href="classgri__iir.html#af7e5eba6e33011c68e168a1b75ed2baa">d_latest_n</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00127">gri_iir&lt; i_type, o_type, tap_type &gt;::filter()</a>, and <a class="el" href="gri__iir_8h_source.html#l00089">gri_iir&lt; float, float, double &gt;::set_taps()</a>.</p>

</div>
</div>
<a class="anchor" id="aac5a985051761be98d5753f5a1542003"></a><!-- doxytag: member="gri_iir::d_prev_input" ref="aac5a985051761be98d5753f5a1542003" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;i_type&gt; <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::<a class="el" href="classgri__iir.html#aac5a985051761be98d5753f5a1542003">d_prev_input</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00127">gri_iir&lt; i_type, o_type, tap_type &gt;::filter()</a>, and <a class="el" href="gri__iir_8h_source.html#l00089">gri_iir&lt; float, float, double &gt;::set_taps()</a>.</p>

</div>
</div>
<a class="anchor" id="a566a5d039cf32bb27a750b123e8dae7a"></a><!-- doxytag: member="gri_iir::d_prev_output" ref="a566a5d039cf32bb27a750b123e8dae7a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class i_type, class o_type, class tap_type&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;tap_type&gt; <a class="el" href="classgri__iir.html">gri_iir</a>&lt; i_type, o_type, tap_type &gt;::<a class="el" href="classgri__iir.html#a566a5d039cf32bb27a750b123e8dae7a">d_prev_output</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="gri__iir_8h_source.html#l00127">gri_iir&lt; i_type, o_type, tap_type &gt;::filter()</a>, and <a class="el" href="gri__iir_8h_source.html#l00089">gri_iir&lt; float, float, double &gt;::set_taps()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="gri__iir_8h_source.html">gri_iir.h</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>