<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3"/> <title>GNU Radio 3.6.4.1 C++ API: gr::filter::kernel::fir_filter_with_buffer_ccc Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">GNU Radio 3.6.4.1 C++ API </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3 --> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">gr::filter::kernel::fir_filter_with_buffer_ccc Class Reference</div> </div> </div><!--header--> <div class="contents"> <p>FIR with internal buffer for gr_complex input, gr_complex output and gr_complex taps. <a href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#details">More...</a></p> <p><code>#include <<a class="el" href="fir__filter__with__buffer_8h_source.html">fir_filter_with_buffer.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a1908a327aec1f7f8d0086a8b2a31bb8e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a1908a327aec1f7f8d0086a8b2a31bb8e">fir_filter_with_buffer_ccc</a> (const std::vector< <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> > &<a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a966bc39911dd04067d9266805f870e8c">taps</a>)</td></tr> <tr class="memdesc:a1908a327aec1f7f8d0086a8b2a31bb8e"><td class="mdescLeft"> </td><td class="mdescRight">construct new FIR with given taps. <a href="#a1908a327aec1f7f8d0086a8b2a31bb8e"></a><br/></td></tr> <tr class="separator:a1908a327aec1f7f8d0086a8b2a31bb8e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a86bd3fd88da73848306dbe7331ded33d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a86bd3fd88da73848306dbe7331ded33d">~fir_filter_with_buffer_ccc</a> ()</td></tr> <tr class="separator:a86bd3fd88da73848306dbe7331ded33d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adc266e97f02df38e53549244be83eab3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#adc266e97f02df38e53549244be83eab3">filter</a> (<a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> input)</td></tr> <tr class="memdesc:adc266e97f02df38e53549244be83eab3"><td class="mdescLeft"> </td><td class="mdescRight">compute a single output value. <a href="#adc266e97f02df38e53549244be83eab3"></a><br/></td></tr> <tr class="separator:adc266e97f02df38e53549244be83eab3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4ba840b1e469b8f040a7b9da6128fd5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a4ba840b1e469b8f040a7b9da6128fd5e">filter</a> (const <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> input[], unsigned long dec)</td></tr> <tr class="memdesc:a4ba840b1e469b8f040a7b9da6128fd5e"><td class="mdescLeft"> </td><td class="mdescRight">compute a single output value; designed for decimating filters. <a href="#a4ba840b1e469b8f040a7b9da6128fd5e"></a><br/></td></tr> <tr class="separator:a4ba840b1e469b8f040a7b9da6128fd5e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9ce3601c4523dc95732edacb06dffa70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a9ce3601c4523dc95732edacb06dffa70">filterN</a> (<a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> output[], const <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> input[], unsigned long n)</td></tr> <tr class="memdesc:a9ce3601c4523dc95732edacb06dffa70"><td class="mdescLeft"> </td><td class="mdescRight">compute an array of N output values. <a href="#a9ce3601c4523dc95732edacb06dffa70"></a><br/></td></tr> <tr class="separator:a9ce3601c4523dc95732edacb06dffa70"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:accd0361c0dde4da02bbe5d632f297099"><td class="memItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#accd0361c0dde4da02bbe5d632f297099">filterNdec</a> (<a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> output[], const <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> input[], unsigned long n, unsigned long decimate)</td></tr> <tr class="memdesc:accd0361c0dde4da02bbe5d632f297099"><td class="mdescLeft"> </td><td class="mdescRight">compute an array of N output values, decimating the input <a href="#accd0361c0dde4da02bbe5d632f297099"></a><br/></td></tr> <tr class="separator:accd0361c0dde4da02bbe5d632f297099"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a62f4a64440a237c6417a3a340cfd4c2e"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a62f4a64440a237c6417a3a340cfd4c2e">ntaps</a> () const </td></tr> <tr class="separator:a62f4a64440a237c6417a3a340cfd4c2e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeecbcb049f582eecaadbbade5c11ed42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#aeecbcb049f582eecaadbbade5c11ed42">set_taps</a> (const std::vector< <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> > &<a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a966bc39911dd04067d9266805f870e8c">taps</a>)</td></tr> <tr class="memdesc:aeecbcb049f582eecaadbbade5c11ed42"><td class="mdescLeft"> </td><td class="mdescRight">install <code>new_taps</code> as the current taps. <a href="#aeecbcb049f582eecaadbbade5c11ed42"></a><br/></td></tr> <tr class="separator:aeecbcb049f582eecaadbbade5c11ed42"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a966bc39911dd04067d9266805f870e8c"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a966bc39911dd04067d9266805f870e8c">taps</a> () const </td></tr> <tr class="separator:a966bc39911dd04067d9266805f870e8c"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>FIR with internal buffer for gr_complex input, gr_complex output and gr_complex taps. </p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a1908a327aec1f7f8d0086a8b2a31bb8e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gr::filter::kernel::fir_filter_with_buffer_ccc::fir_filter_with_buffer_ccc </td> <td>(</td> <td class="paramtype">const std::vector< <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> > & </td> <td class="paramname"><em>taps</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>construct new FIR with given taps. </p> <p>Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc. </p> </div> </div> <a class="anchor" id="a86bd3fd88da73848306dbe7331ded33d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gr::filter::kernel::fir_filter_with_buffer_ccc::~fir_filter_with_buffer_ccc </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="adc266e97f02df38e53549244be83eab3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> gr::filter::kernel::fir_filter_with_buffer_ccc::filter </td> <td>(</td> <td class="paramtype"><a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> </td> <td class="paramname"><em>input</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>compute a single output value. </p> <p><code>input</code> is a single input value of the filter type</p> <dl class="section return"><dt>Returns</dt><dd>the filtered input value. </dd></dl> </div> </div> <a class="anchor" id="a4ba840b1e469b8f040a7b9da6128fd5e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> gr::filter::kernel::fir_filter_with_buffer_ccc::filter </td> <td>(</td> <td class="paramtype">const <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> </td> <td class="paramname"><em>input</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned long </td> <td class="paramname"><em>dec</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>compute a single output value; designed for decimating filters. </p> <p><code>input</code> is a single input value of the filter type. The value of dec is the decimating value of the filter, so input[] must have dec valid values. The filter pushes dec number of items onto the circ. buffer before computing a single output.</p> <dl class="section return"><dt>Returns</dt><dd>the filtered input value. </dd></dl> </div> </div> <a class="anchor" id="a9ce3601c4523dc95732edacb06dffa70"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gr::filter::kernel::fir_filter_with_buffer_ccc::filterN </td> <td>(</td> <td class="paramtype"><a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> </td> <td class="paramname"><em>output</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> </td> <td class="paramname"><em>input</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned long </td> <td class="paramname"><em>n</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>compute an array of N output values. </p> <p><code>input</code> must have (n - 1 + <a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a62f4a64440a237c6417a3a340cfd4c2e">ntaps()</a>) valid entries. input[0] .. input[n - 1 + <a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a62f4a64440a237c6417a3a340cfd4c2e">ntaps()</a> - 1] are referenced to compute the output values. </p> </div> </div> <a class="anchor" id="accd0361c0dde4da02bbe5d632f297099"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gr::filter::kernel::fir_filter_with_buffer_ccc::filterNdec </td> <td>(</td> <td class="paramtype"><a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> </td> <td class="paramname"><em>output</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> </td> <td class="paramname"><em>input</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned long </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned long </td> <td class="paramname"><em>decimate</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>compute an array of N output values, decimating the input </p> <p><code>input</code> must have (decimate * (n - 1) + <a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a62f4a64440a237c6417a3a340cfd4c2e">ntaps()</a>) valid entries. input[0] .. input[decimate * (n - 1) + <a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html#a62f4a64440a237c6417a3a340cfd4c2e">ntaps()</a> - 1] are referenced to compute the output values. </p> </div> </div> <a class="anchor" id="a62f4a64440a237c6417a3a340cfd4c2e"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">unsigned int gr::filter::kernel::fir_filter_with_buffer_ccc::ntaps </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>number of taps in filter. </dd></dl> </div> </div> <a class="anchor" id="aeecbcb049f582eecaadbbade5c11ed42"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gr::filter::kernel::fir_filter_with_buffer_ccc::set_taps </td> <td>(</td> <td class="paramtype">const std::vector< <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> > & </td> <td class="paramname"><em>taps</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>install <code>new_taps</code> as the current taps. </p> </div> </div> <a class="anchor" id="a966bc39911dd04067d9266805f870e8c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::vector<<a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a>> gr::filter::kernel::fir_filter_with_buffer_ccc::taps </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>current taps </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="fir__filter__with__buffer_8h_source.html">fir_filter_with_buffer.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="namespacegr.html">gr</a></li><li class="navelem"><a class="el" href="namespacegr_1_1filter.html">filter</a></li><li class="navelem"><a class="el" href="namespacegr_1_1filter_1_1kernel.html">kernel</a></li><li class="navelem"><a class="el" href="classgr_1_1filter_1_1kernel_1_1fir__filter__with__buffer__ccc.html">fir_filter_with_buffer_ccc</a></li> <li class="footer">Generated on Fri Apr 19 2013 16:20:41 for GNU Radio 3.6.4.1 C++ API by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3 </li> </ul> </div> </body> </html>