<!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: core_algorithms.h File 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('core__algorithms_8h.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">core_algorithms.h File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include <cmath></code><br/> <code>#include <vector></code><br/> <code>#include "<a class="el" href="digital__metric__type_8h_source.html">digital_metric_type.h</a>"</code><br/> <code>#include "<a class="el" href="fsm_8h_source.html">fsm.h</a>"</code><br/> <code>#include "<a class="el" href="interleaver_8h_source.html">interleaver.h</a>"</code><br/> </div><div class="textblock"><div class="dynheader"> Include dependency graph for core_algorithms.h:</div> <div class="dyncontent"> <div class="center"><img src="core__algorithms_8h__incl.png" border="0" usemap="#core__algorithms_8h" alt=""/></div> <map name="core__algorithms_8h" id="core__algorithms_8h"> <area shape="rect" id="node7" href="digital__metric__type_8h.html" title="digital_metric_type.h" alt="" coords="334,80,476,107"/><area shape="rect" id="node9" href="fsm_8h.html" title="fsm.h" alt="" coords="255,80,309,107"/><area shape="rect" id="node18" href="interleaver_8h.html" title="interleaver.h" alt="" coords="137,80,231,107"/><area shape="rect" id="node11" href="trellis__api_8h.html" title="trellis_api.h" alt="" coords="195,155,283,181"/><area shape="rect" id="node13" href="attributes_8h.html" title="gruel/attributes.h" alt="" coords="179,229,297,256"/></map> </div> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="core__algorithms_8h__dep__incl.png" border="0" usemap="#core__algorithms_8hdep" alt=""/></div> <map name="core__algorithms_8hdep" id="core__algorithms_8hdep"> <area shape="rect" id="node3" href="trellis__siso__combined__f_8h.html" title="trellis_siso_combined_f.h" alt="" coords="5,80,173,107"/><area shape="rect" id="node5" href="trellis__siso__f_8h.html" title="trellis_siso_f.h" alt="" coords="199,80,305,107"/></map> </div> </div> <p><a href="core__algorithms_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a8ee42a5dd83886e7ad61d451d5a32956"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="core__algorithms_8h.html#a8ee42a5dd83886e7ad61d451d5a32956">min</a> (float a, float b)</td></tr> <tr class="separator:a8ee42a5dd83886e7ad61d451d5a32956"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeaa130a10446a9df57d9a8c3df3609dc"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="core__algorithms_8h.html#aeaa130a10446a9df57d9a8c3df3609dc">min_star</a> (float a, float b)</td></tr> <tr class="separator:aeaa130a10446a9df57d9a8c3df3609dc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac8fe5f61de2cd52149621ebc9ec6cebc"><td class="memTemplParams" colspan="2">template<class T > </td></tr> <tr class="memitem:ac8fe5f61de2cd52149621ebc9ec6cebc"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="core__algorithms_8h.html#ac8fe5f61de2cd52149621ebc9ec6cebc">viterbi_algorithm</a> (int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS, const std::vector< std::vector< int > > &PS, const std::vector< std::vector< int > > &<a class="el" href="defines_8h.html#a598a3330b3c21701223ee0ca14316eca">PI</a>, int K, int S0, int SK, const float *in, T *out)</td></tr> <tr class="separator:ac8fe5f61de2cd52149621ebc9ec6cebc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5bf2a8e1a8e33329eb3ee83e66549be5"><td class="memTemplParams" colspan="2">template<class Ti , class To > </td></tr> <tr class="memitem:a5bf2a8e1a8e33329eb3ee83e66549be5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="core__algorithms_8h.html#a5bf2a8e1a8e33329eb3ee83e66549be5">viterbi_algorithm_combined</a> (int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS, const std::vector< std::vector< int > > &PS, const std::vector< std::vector< int > > &<a class="el" href="defines_8h.html#a598a3330b3c21701223ee0ca14316eca">PI</a>, int K, int S0, int SK, int D, const std::vector< Ti > &TABLE, <a class="el" href="digital__metric__type_8h.html#a730999483daebb08342eb009b2c77ad1">trellis_metric_type_t</a> TYPE, const Ti *in, To *out)</td></tr> <tr class="separator:a5bf2a8e1a8e33329eb3ee83e66549be5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7bf8321f8d0a3ac7234ed55ceab69ad6"><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="core__algorithms_8h.html#a7bf8321f8d0a3ac7234ed55ceab69ad6">siso_algorithm</a> (int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS, const std::vector< std::vector< int > > &PS, const std::vector< std::vector< int > > &<a class="el" href="defines_8h.html#a598a3330b3c21701223ee0ca14316eca">PI</a>, int K, int S0, int SK, bool POSTI, bool POSTO, float(*p2mymin)(float, float), const float *priori, const float *prioro, float *post)</td></tr> <tr class="separator:a7bf8321f8d0a3ac7234ed55ceab69ad6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aabdff6b3dae1bb3ef0cd940c21b33bbf"><td class="memTemplParams" colspan="2">template<class T > </td></tr> <tr class="memitem:aabdff6b3dae1bb3ef0cd940c21b33bbf"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="core__algorithms_8h.html#aabdff6b3dae1bb3ef0cd940c21b33bbf">siso_algorithm_combined</a> (int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS, const std::vector< std::vector< int > > &PS, const std::vector< std::vector< int > > &<a class="el" href="defines_8h.html#a598a3330b3c21701223ee0ca14316eca">PI</a>, int K, int S0, int SK, bool POSTI, bool POSTO, float(*p2mymin)(float, float), int D, const std::vector< T > &TABLE, <a class="el" href="digital__metric__type_8h.html#a730999483daebb08342eb009b2c77ad1">trellis_metric_type_t</a> TYPE, const float *priori, const T *observations, float *post)</td></tr> <tr class="separator:aabdff6b3dae1bb3ef0cd940c21b33bbf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aae8a8b5aa50a3c5916c42f3b0bde33ca"><td class="memTemplParams" colspan="2">template<class T > </td></tr> <tr class="memitem:aae8a8b5aa50a3c5916c42f3b0bde33ca"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="core__algorithms_8h.html#aae8a8b5aa50a3c5916c42f3b0bde33ca">sccc_decoder</a> (const <a class="el" href="classfsm.html">fsm</a> &FSMo, int STo0, int SToK, const <a class="el" href="classfsm.html">fsm</a> &FSMi, int STi0, int STiK, const <a class="el" href="classinterleaver.html">interleaver</a> &INTERLEAVER, int blocklength, int iterations, float(*p2mymin)(float, float), const float *iprioro, T *data)</td></tr> <tr class="separator:aae8a8b5aa50a3c5916c42f3b0bde33ca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0bd16c54c564ca06d6651db616ac3383"><td class="memTemplParams" colspan="2">template<class Ti , class To > </td></tr> <tr class="memitem:a0bd16c54c564ca06d6651db616ac3383"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="core__algorithms_8h.html#a0bd16c54c564ca06d6651db616ac3383">sccc_decoder_combined</a> (const <a class="el" href="classfsm.html">fsm</a> &FSMo, int STo0, int SToK, const <a class="el" href="classfsm.html">fsm</a> &FSMi, int STi0, int STiK, const <a class="el" href="classinterleaver.html">interleaver</a> &INTERLEAVER, int blocklength, int iterations, float(*p2mymin)(float, float), int D, const std::vector< Ti > &TABLE, <a class="el" href="digital__metric__type_8h.html#a730999483daebb08342eb009b2c77ad1">trellis_metric_type_t</a> METRIC_TYPE, float scaling, const Ti *observations, To *data)</td></tr> <tr class="separator:a0bd16c54c564ca06d6651db616ac3383"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac4d4d6df572a86446e1aa137a0ccf5f5"><td class="memTemplParams" colspan="2">template<class T > </td></tr> <tr class="memitem:ac4d4d6df572a86446e1aa137a0ccf5f5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="core__algorithms_8h.html#ac4d4d6df572a86446e1aa137a0ccf5f5">pccc_decoder</a> (const <a class="el" href="classfsm.html">fsm</a> &FSM1, int ST10, int ST1K, const <a class="el" href="classfsm.html">fsm</a> &FSM2, int ST20, int ST2K, const <a class="el" href="classinterleaver.html">interleaver</a> &INTERLEAVER, int blocklength, int iterations, float(*p2mymin)(float, float), const float *cprioro, T *data)</td></tr> <tr class="separator:ac4d4d6df572a86446e1aa137a0ccf5f5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae98fcc16657be84269a48d14cc71d440"><td class="memTemplParams" colspan="2">template<class Ti , class To > </td></tr> <tr class="memitem:ae98fcc16657be84269a48d14cc71d440"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="core__algorithms_8h.html#ae98fcc16657be84269a48d14cc71d440">pccc_decoder_combined</a> (const <a class="el" href="classfsm.html">fsm</a> &FSM1, int ST10, int ST1K, const <a class="el" href="classfsm.html">fsm</a> &FSM2, int ST20, int ST2K, const <a class="el" href="classinterleaver.html">interleaver</a> &INTERLEAVER, int blocklength, int iterations, float(*p2mymin)(float, float), int D, const std::vector< Ti > &TABLE, <a class="el" href="digital__metric__type_8h.html#a730999483daebb08342eb009b2c77ad1">trellis_metric_type_t</a> METRIC_TYPE, float scaling, const Ti *observations, To *data)</td></tr> <tr class="separator:ae98fcc16657be84269a48d14cc71d440"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a8ee42a5dd83886e7ad61d451d5a32956"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float min </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"><em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>b</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aeaa130a10446a9df57d9a8c3df3609dc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float min_star </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"><em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>b</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ac4d4d6df572a86446e1aa137a0ccf5f5"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> pccc_decoder </td> <td>(</td> <td class="paramtype">const <a class="el" href="classfsm.html">fsm</a> & </td> <td class="paramname"><em>FSM1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ST10</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ST1K</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classfsm.html">fsm</a> & </td> <td class="paramname"><em>FSM2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ST20</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ST2K</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classinterleaver.html">interleaver</a> & </td> <td class="paramname"><em>INTERLEAVER</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blocklength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>iterations</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float(*)(float, float) </td> <td class="paramname"><em>p2mymin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>cprioro</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T * </td> <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ae98fcc16657be84269a48d14cc71d440"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Ti , class To > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> pccc_decoder_combined </td> <td>(</td> <td class="paramtype">const <a class="el" href="classfsm.html">fsm</a> & </td> <td class="paramname"><em>FSM1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ST10</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ST1K</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classfsm.html">fsm</a> & </td> <td class="paramname"><em>FSM2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ST20</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ST2K</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classinterleaver.html">interleaver</a> & </td> <td class="paramname"><em>INTERLEAVER</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blocklength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>iterations</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float(*)(float, float) </td> <td class="paramname"><em>p2mymin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>D</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< Ti > & </td> <td class="paramname"><em>TABLE</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="digital__metric__type_8h.html#a730999483daebb08342eb009b2c77ad1">trellis_metric_type_t</a> </td> <td class="paramname"><em>METRIC_TYPE</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>scaling</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Ti * </td> <td class="paramname"><em>observations</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">To * </td> <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aae8a8b5aa50a3c5916c42f3b0bde33ca"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> sccc_decoder </td> <td>(</td> <td class="paramtype">const <a class="el" href="classfsm.html">fsm</a> & </td> <td class="paramname"><em>FSMo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>STo0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>SToK</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classfsm.html">fsm</a> & </td> <td class="paramname"><em>FSMi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>STi0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>STiK</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classinterleaver.html">interleaver</a> & </td> <td class="paramname"><em>INTERLEAVER</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blocklength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>iterations</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float(*)(float, float) </td> <td class="paramname"><em>p2mymin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>iprioro</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T * </td> <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a0bd16c54c564ca06d6651db616ac3383"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Ti , class To > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> sccc_decoder_combined </td> <td>(</td> <td class="paramtype">const <a class="el" href="classfsm.html">fsm</a> & </td> <td class="paramname"><em>FSMo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>STo0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>SToK</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classfsm.html">fsm</a> & </td> <td class="paramname"><em>FSMi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>STi0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>STiK</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classinterleaver.html">interleaver</a> & </td> <td class="paramname"><em>INTERLEAVER</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blocklength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>iterations</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float(*)(float, float) </td> <td class="paramname"><em>p2mymin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>D</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< Ti > & </td> <td class="paramname"><em>TABLE</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="digital__metric__type_8h.html#a730999483daebb08342eb009b2c77ad1">trellis_metric_type_t</a> </td> <td class="paramname"><em>METRIC_TYPE</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>scaling</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Ti * </td> <td class="paramname"><em>observations</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">To * </td> <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a7bf8321f8d0a3ac7234ed55ceab69ad6"></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> siso_algorithm </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>I</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>S</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>O</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< int > & </td> <td class="paramname"><em>NS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< int > & </td> <td class="paramname"><em>OS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< std::vector< int > > & </td> <td class="paramname"><em>PS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< std::vector< int > > & </td> <td class="paramname"><em>PI</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>K</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>S0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>SK</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>POSTI</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>POSTO</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float(*)(float, float) </td> <td class="paramname"><em>p2mymin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>priori</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>prioro</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>post</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aabdff6b3dae1bb3ef0cd940c21b33bbf"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> siso_algorithm_combined </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>I</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>S</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>O</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< int > & </td> <td class="paramname"><em>NS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< int > & </td> <td class="paramname"><em>OS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< std::vector< int > > & </td> <td class="paramname"><em>PS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< std::vector< int > > & </td> <td class="paramname"><em>PI</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>K</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>S0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>SK</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>POSTI</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>POSTO</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float(*)(float, float) </td> <td class="paramname"><em>p2mymin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>D</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< T > & </td> <td class="paramname"><em>TABLE</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="digital__metric__type_8h.html#a730999483daebb08342eb009b2c77ad1">trellis_metric_type_t</a> </td> <td class="paramname"><em>TYPE</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>priori</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T * </td> <td class="paramname"><em>observations</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>post</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ac8fe5f61de2cd52149621ebc9ec6cebc"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> viterbi_algorithm </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>I</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>S</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>O</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< int > & </td> <td class="paramname"><em>NS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< int > & </td> <td class="paramname"><em>OS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< std::vector< int > > & </td> <td class="paramname"><em>PS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< std::vector< int > > & </td> <td class="paramname"><em>PI</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>K</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>S0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>SK</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T * </td> <td class="paramname"><em>out</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a5bf2a8e1a8e33329eb3ee83e66549be5"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Ti , class To > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> viterbi_algorithm_combined </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>I</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>S</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>O</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< int > & </td> <td class="paramname"><em>NS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< int > & </td> <td class="paramname"><em>OS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< std::vector< int > > & </td> <td class="paramname"><em>PS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< std::vector< int > > & </td> <td class="paramname"><em>PI</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>K</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>S0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>SK</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>D</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< Ti > & </td> <td class="paramname"><em>TABLE</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="digital__metric__type_8h.html#a730999483daebb08342eb009b2c77ad1">trellis_metric_type_t</a> </td> <td class="paramname"><em>TYPE</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Ti * </td> <td class="paramname"><em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">To * </td> <td class="paramname"><em>out</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> </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="dir_f926b4c9d70e27d140a74690d7aa463f.html">gr-trellis</a></li><li class="navelem"><a class="el" href="dir_bdc2b663bcf46934776a5b5faaaf71f7.html">src</a></li><li class="navelem"><a class="el" href="dir_81f5040f3d3d89063cb6916d663dc123.html">lib</a></li><li class="navelem"><a class="el" href="core__algorithms_8h.html">core_algorithms.h</a></li> <li class="footer">Generated on Fri Apr 19 2013 16:20:34 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>