root/doc/html/classitpp_1_1LFSR.html @ 354

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

doc

Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mixpp: itpp::LFSR Class Reference</title>
4<link href="tabs.css" rel="stylesheet" type="text/css">
5<link href="doxygen.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.8 -->
8<script type="text/javascript">
9<!--
10function changeDisplayState (e){
11  var num=this.id.replace(/[^[0-9]/g,'');
12  var button=this.firstChild;
13  var sectionDiv=document.getElementById('dynsection'+num);
14  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
15    sectionDiv.style.display='block';
16    button.src='open.gif';
17  }else{
18    sectionDiv.style.display='none';
19    button.src='closed.gif';
20  }
21}
22function initDynSections(){
23  var divs=document.getElementsByTagName('div');
24  var sectionCounter=1;
25  for(var i=0;i<divs.length-1;i++){
26    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
27      var header=divs[i];
28      var section=divs[i+1];
29      var button=header.firstChild;
30      if (button!='IMG'){
31        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
32        button=document.createElement('img');
33        divs[i].insertBefore(button,divs[i].firstChild);
34      }
35      header.style.cursor='pointer';
36      header.onclick=changeDisplayState;
37      header.id='dynheader'+sectionCounter;
38      button.src='closed.gif';
39      section.id='dynsection'+sectionCounter;
40      section.style.display='none';
41      section.style.marginLeft='14px';
42      sectionCounter++;
43    }
44  }
45}
46window.onload = initDynSections;
47-->
48</script>
49<div class="navigation" id="top">
50  <div class="tabs">
51    <ul>
52      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
53      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
54      <li><a href="modules.html"><span>Modules</span></a></li>
55      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
56      <li><a href="files.html"><span>Files</span></a></li>
57    </ul>
58  </div>
59  <div class="tabs">
60    <ul>
61      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
62      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
63      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
64      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
65    </ul>
66  </div>
67  <div class="navpath"><b>itpp</b>::<a class="el" href="classitpp_1_1LFSR.html">LFSR</a>
68  </div>
69</div>
70<div class="contents">
71<h1>itpp::LFSR Class Reference<br>
72<small>
73[<a class="el" href="group__sequence.html">Sequences</a>]</small>
74</h1><!-- doxytag: class="itpp::LFSR" -->Binary Linear Feedback Shift Register (<a class="el" href="classitpp_1_1LFSR.html" title="Binary Linear Feedback Shift Register (LFSR)The LFSR is on Fibonacci form (see p...">LFSR</a>)<p>
75<ul>
76<li>The <a class="el" href="classitpp_1_1LFSR.html" title="Binary Linear Feedback Shift Register (LFSR)The LFSR is on Fibonacci form (see p...">LFSR</a> is on Fibonacci form (see p. 104 in Peterson, Ziemer and Borth, "Introduction to Spread Spctrum communications", Prentice-Hall, 1995)</li><li>If the connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r is a primitive polynomial, a Maximum Length Sequence (m-sequence) of length N=2^r-1 is constructed. Use an arbitrary state not equal to zero, to get a phase of the m-sequence</li><li>For a table of primtive polynomials see p. 117 in the reference above or a suitable book on coding. </li></ul>
77 
78<a href="#_details">More...</a>
79<p>
80<code>#include &lt;<a class="el" href="sequence_8h-source.html">sequence.h</a>&gt;</code>
81<p>
82
83<p>
84<a href="classitpp_1_1LFSR-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
85<tr><td></td></tr>
86<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
87<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5aa6d4018f70ea9c9bc2a6b3d1bb314a"></a><!-- doxytag: member="itpp::LFSR::LFSR" ref="5aa6d4018f70ea9c9bc2a6b3d1bb314a" args="(void)" -->
88&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#5aa6d4018f70ea9c9bc2a6b3d1bb314a">LFSR</a> (void)</td></tr>
89
90<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
91<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f109c07086b912eac0b03bf4b4a454e8"></a><!-- doxytag: member="itpp::LFSR::LFSR" ref="f109c07086b912eac0b03bf4b4a454e8" args="(const bvec &amp;connections)" -->
92&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#f109c07086b912eac0b03bf4b4a454e8">LFSR</a> (const bvec &amp;connections)</td></tr>
93
94<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in bvec format [g0,g1,...,gr]. <br></td></tr>
95<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49a7525dc458267eaba3a6968dede9aa"></a><!-- doxytag: member="itpp::LFSR::LFSR" ref="49a7525dc458267eaba3a6968dede9aa" args="(const ivec &amp;connections)" -->
96&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#49a7525dc458267eaba3a6968dede9aa">LFSR</a> (const ivec &amp;connections)</td></tr>
97
98<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in octal format. <br></td></tr>
99<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c128f87b923d94683d18cf55bd4b8a1"></a><!-- doxytag: member="itpp::LFSR::set_connections" ref="1c128f87b923d94683d18cf55bd4b8a1" args="(const bvec &amp;connections)" -->
100void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#1c128f87b923d94683d18cf55bd4b8a1">set_connections</a> (const bvec &amp;connections)</td></tr>
101
102<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in bvec format [g0,g1,...,gr]. <br></td></tr>
103<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e24b1b052d645be079c27bf61260c9a1"></a><!-- doxytag: member="itpp::LFSR::set_connections" ref="e24b1b052d645be079c27bf61260c9a1" args="(const ivec &amp;connections)" -->
104void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#e24b1b052d645be079c27bf61260c9a1">set_connections</a> (const ivec &amp;connections)</td></tr>
105
106<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r in octal format. <br></td></tr>
107<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f21f161d25c9cb1f89509451191cb5f"></a><!-- doxytag: member="itpp::LFSR::set_state" ref="5f21f161d25c9cb1f89509451191cb5f" args="(const bvec &amp;state)" -->
108void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#5f21f161d25c9cb1f89509451191cb5f">set_state</a> (const bvec &amp;state)</td></tr>
109
110<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set state (contents in the shift registers) in bvec format. <br></td></tr>
111<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d282e803dba5a9cb7e2c6bf76f6b3649"></a><!-- doxytag: member="itpp::LFSR::set_state" ref="d282e803dba5a9cb7e2c6bf76f6b3649" args="(const ivec &amp;state)" -->
112void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#d282e803dba5a9cb7e2c6bf76f6b3649">set_state</a> (const ivec &amp;state)</td></tr>
113
114<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set state (contents in the shift registers) in octal format. <br></td></tr>
115<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ecd42303c0c904246ed3b050e7d8b565"></a><!-- doxytag: member="itpp::LFSR::shift" ref="ecd42303c0c904246ed3b050e7d8b565" args="(void)" -->
116<a class="el" href="classitpp_1_1bin.html">bin</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#ecd42303c0c904246ed3b050e7d8b565">shift</a> (void)</td></tr>
117
118<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shift one step and output binary symbol. <br></td></tr>
119<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d82124c8a824ff0b952a108fff587c7"></a><!-- doxytag: member="itpp::LFSR::shift" ref="1d82124c8a824ff0b952a108fff587c7" args="(int no_shifts)" -->
120bvec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#1d82124c8a824ff0b952a108fff587c7">shift</a> (int no_shifts)</td></tr>
121
122<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shift no_shifts steps and output bvec. <br></td></tr>
123<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c7b4b548929ed4197b79854b7fa18a9"></a><!-- doxytag: member="itpp::LFSR::get_length" ref="7c7b4b548929ed4197b79854b7fa18a9" args="(void)" -->
124int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#7c7b4b548929ed4197b79854b7fa18a9">get_length</a> (void)</td></tr>
125
126<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return length of shift register. <br></td></tr>
127<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e25d175a228eac81496bdbba76167f28"></a><!-- doxytag: member="itpp::LFSR::get_state" ref="e25d175a228eac81496bdbba76167f28" args="(void)" -->
128bvec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1LFSR.html#e25d175a228eac81496bdbba76167f28">get_state</a> (void)</td></tr>
129
130<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the state of the shift register. <br></td></tr>
131</table>
132<hr><a name="_details"></a><h2>Detailed Description</h2>
133Binary Linear Feedback Shift Register (<a class="el" href="classitpp_1_1LFSR.html" title="Binary Linear Feedback Shift Register (LFSR)The LFSR is on Fibonacci form (see p...">LFSR</a>)<p>
134<ul>
135<li>The <a class="el" href="classitpp_1_1LFSR.html" title="Binary Linear Feedback Shift Register (LFSR)The LFSR is on Fibonacci form (see p...">LFSR</a> is on Fibonacci form (see p. 104 in Peterson, Ziemer and Borth, "Introduction to Spread Spctrum communications", Prentice-Hall, 1995)</li><li>If the connect_polynomial=1+g1*D+g2*D^2+...+gr*D^r is a primitive polynomial, a Maximum Length Sequence (m-sequence) of length N=2^r-1 is constructed. Use an arbitrary state not equal to zero, to get a phase of the m-sequence</li><li>For a table of primtive polynomials see p. 117 in the reference above or a suitable book on coding. </li></ul>
136<hr>The documentation for this class was generated from the following files:<ul>
137<li><a class="el" href="sequence_8h-source.html">sequence.h</a><li><a class="el" href="sequence_8cpp.html">sequence.cpp</a></ul>
138</div>
139<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:19 2009 for mixpp by&nbsp;
140<a href="http://www.doxygen.org/index.html">
141<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
142</body>
143</html>
Note: See TracBrowser for help on using the browser.