<!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.3.0 C++ API: convolutional_interleaver< symbol_type > 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.3 --> <div class="contents"> <h1>convolutional_interleaver< symbol_type > Class Template Reference</h1><!-- doxytag: class="convolutional_interleaver" --> <p>template class for generic convolutional interleaver <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="convolutional__interleaver_8h_source.html">convolutional_interleaver.h</a>></code></p> <p><a href="classconvolutional__interleaver-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#ac01f306da38de29b1282f1e5cc5e51c7">convolutional_interleaver</a> (<a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> interleave_p, int nbanks, int fifo_size_incr)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#a4fb48a3b97910049994ea2be0bc91c40">~convolutional_interleaver</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#a758195fcfe60037184a30e39e718126a">reset</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">reset interleaver (flushes contents and resets commutator) <a href="#a758195fcfe60037184a30e39e718126a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#ad47cdb2855d94872bea06fec637b82eb">sync</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">sync interleaver (resets commutator, but doesn't flush fifos) <a href="#ad47cdb2855d94872bea06fec637b82eb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#a95147618a994510cdc46db6f0ee23e27">end_to_end_delay</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return end to end delay in symbols (delay through concatenated interleaver / deinterleaver) <a href="#a95147618a994510cdc46db6f0ee23e27"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">symbol_type </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#af49e21b50b9b59f0faf0d08d447dd67a">transform</a> (symbol_type input)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">transform a single symbol <a href="#af49e21b50b9b59f0faf0d08d447dd67a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#afe0e221849f0feb4796f620e1858231b">transform</a> (symbol_type *out, const symbol_type *in, int nsymbols)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">transform a bunch of symbols <a href="#afe0e221849f0feb4796f620e1858231b"></a><br/></td></tr> <tr><td colspan="2"><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#a0ad9833447e269c5e527c4bfdf6ec252">m_commutator</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#a0e5b1c5a67032ce5ec79291e8bc957d1">m_nbanks</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#a64583ae8484756fba1845db8adee1bc7">m_fifo_size_incr</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>< <a class="el" href="classinterleaver__fifo.html">interleaver_fifo</a><br class="typebreak"/> < symbol_type > * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classconvolutional__interleaver.html#a361938024041b40e650ff6ad3492d0d7">m_fifo</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class symbol_type><br/> class convolutional_interleaver< symbol_type ></h3> <p>template class for generic convolutional interleaver </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ac01f306da38de29b1282f1e5cc5e51c7"></a><!-- doxytag: member="convolutional_interleaver::convolutional_interleaver" ref="ac01f306da38de29b1282f1e5cc5e51c7" args="(bool interleave_p, int nbanks, int fifo_size_incr)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::<a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> </td> <td class="paramname"> <em>interleave_p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nbanks</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>fifo_size_incr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="convolutional__interleaver_8h_source.html#l00066">convolutional_interleaver< symbol_type >::m_fifo</a>, <a class="el" href="convolutional__interleaver_8h_source.html#l00065">convolutional_interleaver< symbol_type >::m_fifo_size_incr</a>, <a class="el" href="convolutional__interleaver_8h_source.html#l00064">convolutional_interleaver< symbol_type >::m_nbanks</a>, and <a class="el" href="convolutional__interleaver_8h_source.html#l00045">convolutional_interleaver< symbol_type >::sync()</a>.</p> </div> </div> <a class="anchor" id="a4fb48a3b97910049994ea2be0bc91c40"></a><!-- doxytag: member="convolutional_interleaver::~convolutional_interleaver" ref="a4fb48a3b97910049994ea2be0bc91c40" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::~<a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a> </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="convolutional__interleaver_8h_source.html#l00066">convolutional_interleaver< symbol_type >::m_fifo</a>, and <a class="el" href="convolutional__interleaver_8h_source.html#l00064">convolutional_interleaver< symbol_type >::m_nbanks</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a95147618a994510cdc46db6f0ee23e27"></a><!-- doxytag: member="convolutional_interleaver::end_to_end_delay" ref="a95147618a994510cdc46db6f0ee23e27" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type > </div> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::end_to_end_delay </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>return end to end delay in symbols (delay through concatenated interleaver / deinterleaver) </p> <p>References <a class="el" href="convolutional__interleaver_8h_source.html#l00065">convolutional_interleaver< symbol_type >::m_fifo_size_incr</a>, and <a class="el" href="convolutional__interleaver_8h_source.html#l00064">convolutional_interleaver< symbol_type >::m_nbanks</a>.</p> </div> </div> <a class="anchor" id="a758195fcfe60037184a30e39e718126a"></a><!-- doxytag: member="convolutional_interleaver::reset" ref="a758195fcfe60037184a30e39e718126a" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type > </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::reset </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>reset interleaver (flushes contents and resets commutator) </p> <p>References <a class="el" href="convolutional__interleaver_8h_source.html#l00066">convolutional_interleaver< symbol_type >::m_fifo</a>, <a class="el" href="convolutional__interleaver_8h_source.html#l00064">convolutional_interleaver< symbol_type >::m_nbanks</a>, and <a class="el" href="convolutional__interleaver_8h_source.html#l00045">convolutional_interleaver< symbol_type >::sync()</a>.</p> </div> </div> <a class="anchor" id="ad47cdb2855d94872bea06fec637b82eb"></a><!-- doxytag: member="convolutional_interleaver::sync" ref="ad47cdb2855d94872bea06fec637b82eb" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::sync </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>sync interleaver (resets commutator, but doesn't flush fifos) </p> <p>Referenced by <a class="el" href="convolutional__interleaver_8h_source.html#l00070">convolutional_interleaver< symbol_type >::convolutional_interleaver()</a>, and <a class="el" href="convolutional__interleaver_8h_source.html#l00102">convolutional_interleaver< symbol_type >::reset()</a>.</p> </div> </div> <a class="anchor" id="afe0e221849f0feb4796f620e1858231b"></a><!-- doxytag: member="convolutional_interleaver::transform" ref="afe0e221849f0feb4796f620e1858231b" args="(symbol_type *out, const symbol_type *in, int nsymbols)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::transform </td> <td>(</td> <td class="paramtype">symbol_type * </td> <td class="paramname"> <em>out</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const symbol_type * </td> <td class="paramname"> <em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nsymbols</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>transform a bunch of symbols </p> <p>References <a class="el" href="convolutional__interleaver_8h_source.html#l00051">convolutional_interleaver< symbol_type >::transform()</a>.</p> </div> </div> <a class="anchor" id="af49e21b50b9b59f0faf0d08d447dd67a"></a><!-- doxytag: member="convolutional_interleaver::transform" ref="af49e21b50b9b59f0faf0d08d447dd67a" args="(symbol_type input)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type> </div> <table class="memname"> <tr> <td class="memname">symbol_type <a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::transform </td> <td>(</td> <td class="paramtype">symbol_type </td> <td class="paramname"> <em>input</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>transform a single symbol </p> <p>Referenced by <a class="el" href="convolutional__interleaver_8h_source.html#l00117">convolutional_interleaver< symbol_type >::transform()</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a0ad9833447e269c5e527c4bfdf6ec252"></a><!-- doxytag: member="convolutional_interleaver::m_commutator" ref="a0ad9833447e269c5e527c4bfdf6ec252" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type> </div> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::<a class="el" href="classconvolutional__interleaver.html#a0ad9833447e269c5e527c4bfdf6ec252">m_commutator</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="convolutional__interleaver_8h_source.html#l00045">convolutional_interleaver< unsigned char >::sync()</a>, and <a class="el" href="convolutional__interleaver_8h_source.html#l00051">convolutional_interleaver< unsigned char >::transform()</a>.</p> </div> </div> <a class="anchor" id="a361938024041b40e650ff6ad3492d0d7"></a><!-- doxytag: member="convolutional_interleaver::m_fifo" ref="a361938024041b40e650ff6ad3492d0d7" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a><<a class="el" href="classinterleaver__fifo.html">interleaver_fifo</a><symbol_type> *> <a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::<a class="el" href="classconvolutional__interleaver.html#a361938024041b40e650ff6ad3492d0d7">m_fifo</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="convolutional__interleaver_8h_source.html#l00070">convolutional_interleaver< symbol_type >::convolutional_interleaver()</a>, <a class="el" href="convolutional__interleaver_8h_source.html#l00102">convolutional_interleaver< symbol_type >::reset()</a>, <a class="el" href="convolutional__interleaver_8h_source.html#l00051">convolutional_interleaver< unsigned char >::transform()</a>, and <a class="el" href="convolutional__interleaver_8h_source.html#l00095">convolutional_interleaver< symbol_type >::~convolutional_interleaver()</a>.</p> </div> </div> <a class="anchor" id="a64583ae8484756fba1845db8adee1bc7"></a><!-- doxytag: member="convolutional_interleaver::m_fifo_size_incr" ref="a64583ae8484756fba1845db8adee1bc7" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type> </div> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::<a class="el" href="classconvolutional__interleaver.html#a64583ae8484756fba1845db8adee1bc7">m_fifo_size_incr</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="convolutional__interleaver_8h_source.html#l00070">convolutional_interleaver< symbol_type >::convolutional_interleaver()</a>, and <a class="el" href="convolutional__interleaver_8h_source.html#l00110">convolutional_interleaver< symbol_type >::end_to_end_delay()</a>.</p> </div> </div> <a class="anchor" id="a0e5b1c5a67032ce5ec79291e8bc957d1"></a><!-- doxytag: member="convolutional_interleaver::m_nbanks" ref="a0e5b1c5a67032ce5ec79291e8bc957d1" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class symbol_type> </div> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classconvolutional__interleaver.html">convolutional_interleaver</a>< symbol_type >::<a class="el" href="classconvolutional__interleaver.html#a0e5b1c5a67032ce5ec79291e8bc957d1">m_nbanks</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="convolutional__interleaver_8h_source.html#l00070">convolutional_interleaver< symbol_type >::convolutional_interleaver()</a>, <a class="el" href="convolutional__interleaver_8h_source.html#l00110">convolutional_interleaver< symbol_type >::end_to_end_delay()</a>, <a class="el" href="convolutional__interleaver_8h_source.html#l00102">convolutional_interleaver< symbol_type >::reset()</a>, <a class="el" href="convolutional__interleaver_8h_source.html#l00051">convolutional_interleaver< unsigned char >::transform()</a>, and <a class="el" href="convolutional__interleaver_8h_source.html#l00095">convolutional_interleaver< symbol_type >::~convolutional_interleaver()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="convolutional__interleaver_8h_source.html">convolutional_interleaver.h</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Dec 29 19:52:32 2010 for GNU Radio 3.3.0 C++ API by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>