This file is indexed.

/usr/share/doc/libitpp-dev/html/reedsolomon.html is in libitpp-doc 4.3.1-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  <title>Welcome to IT++!</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  <link href="tabs.css" rel="stylesheet" type="text/css">
  <link rel="shortcut icon" href="favicon.ico">
</head>
<body>
<div style="width: 100%; height: 40px; background-color: #ffff00; border: 1px solid #b0b0b0; margin: 5px 5px 5px 0; padding: 2px;">
  <a href="http://itpp.sourceforge.net"><img src="itpp_logo.png" alt="IT++ Logo" style="float: left; border: 0;"></a>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">Simulation of a Reed-Solomon Block Code </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>A Reed-Solomon code is a <img class="formulaInl" alt="$q^m$" src="form_306.png"/>-ary BCH code of length <img class="formulaInl" alt="$q^m-1$" src="form_307.png"/>. The generator polynomial for a <img class="formulaInl" alt="$t$" src="form_198.png"/>-error correcting code is <img class="formulaInl" alt="$g(x) = (x-\alpha) (x-\alpha^1) \ldots (x-\alpha^{2t-1})$" src="form_308.png"/>. The decoder uses the Berlkamp-Massey algorithm for decoding as described in: S. B. Wicker, "Error Control Systems for digital communication and storage," Prentice Hall. The following example simulates a binary (i.e. <img class="formulaInl" alt="$q=2$" src="form_309.png"/>) Reed-Solomon code with parameters <img class="formulaInl" alt="$m$" src="form_310.png"/> and <img class="formulaInl" alt="$t$" src="form_198.png"/>:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="itcomm_8h.html">itpp/itcomm.h</a>&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="keyword">using namespace </span>itpp;</div>
<div class="line"></div>
<div class="line"><span class="comment">//These lines are needed for use of cout and endl</span></div>
<div class="line"><span class="keyword">using</span> std::cout;</div>
<div class="line"><span class="keyword">using</span> std::endl;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main()</div>
<div class="line">{</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Scalars and vectors:</span></div>
<div class="line">  <span class="keywordtype">int</span> m, t, n, k, q, NumBits, NumCodeWords;</div>
<div class="line">  <span class="keywordtype">double</span> p;</div>
<div class="line">  bvec uncoded_bits, coded_bits, received_bits, decoded_bits;</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Set parameters:</span></div>
<div class="line">  NumCodeWords = 1000;  <span class="comment">//Number of Reed-Solomon code-words to simulate</span></div>
<div class="line">  p = 0.01;             <span class="comment">//BSC Error probability</span></div>
<div class="line">  m = 3;                <span class="comment">//Reed-Solomon parameter m</span></div>
<div class="line">  t = 2;                <span class="comment">//Reed-Solomon parameter t</span></div>
<div class="line"></div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;Number of Reed-Solomon code-words to simulate: &quot;</span> &lt;&lt;  NumCodeWords &lt;&lt; endl;</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;BSC Error probability : &quot;</span> &lt;&lt; p &lt;&lt; endl;</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;RS m: &quot;</span> &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;RS t: &quot;</span> &lt;&lt; t &lt;&lt; endl;</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Classes:</span></div>
<div class="line">  <a class="code" href="classitpp_1_1Reed__Solomon.html">Reed_Solomon</a> reed_solomon(m, t);</div>
<div class="line">  <a class="code" href="classitpp_1_1BSC.html">BSC</a> bsc(p);</div>
<div class="line">  <a class="code" href="classitpp_1_1BERC.html">BERC</a> berc;</div>
<div class="line"></div>
<div class="line">  <a class="code" href="group__randgen.html#ga001a62b1a1e3092d3bc60f71c95208cd">RNG_randomize</a>();</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Calculate parameters for the Reed-Solomon Code:</span></div>
<div class="line">  n = <a class="code" href="group__convertfunc.html#ga14bb8e68d119b1dfa214a77d4b3fd382">round_i</a>(<a class="code" href="group__logexpfunc.html#ga0c42d158b1f623f9b72c1ccde7e2fd09">pow</a>(2.0, m) - 1);</div>
<div class="line">  k = <a class="code" href="group__convertfunc.html#ga14bb8e68d119b1dfa214a77d4b3fd382">round_i</a>(<a class="code" href="group__logexpfunc.html#ga0c42d158b1f623f9b72c1ccde7e2fd09">pow</a>(2.0, m)) - 1 - 2 * t;</div>
<div class="line">  q = <a class="code" href="group__convertfunc.html#ga14bb8e68d119b1dfa214a77d4b3fd382">round_i</a>(<a class="code" href="group__logexpfunc.html#ga0c42d158b1f623f9b72c1ccde7e2fd09">pow</a>(2.0, m));</div>
<div class="line"></div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;Simulating an Reed-Solomon code with the following parameters:&quot;</span> &lt;&lt; endl;</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;n = &quot;</span> &lt;&lt; n &lt;&lt; endl;</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;k = &quot;</span> &lt;&lt; k &lt;&lt; endl;</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;q = &quot;</span> &lt;&lt; q &lt;&lt; endl;</div>
<div class="line"></div>
<div class="line">  NumBits = m * k * NumCodeWords;</div>
<div class="line">  uncoded_bits = <a class="code" href="group__randgen.html#ga5aa06887cf1fd3301b040987924068f0">randb</a>(NumBits);</div>
<div class="line">  coded_bits = reed_solomon.encode(uncoded_bits);</div>
<div class="line">  received_bits = bsc(coded_bits);</div>
<div class="line">  decoded_bits = reed_solomon.decode(received_bits);</div>
<div class="line"></div>
<div class="line">  berc.<a class="code" href="classitpp_1_1BERC.html#a539b0c989badff3027d97e4693fc9cd7">count</a>(uncoded_bits, decoded_bits);</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;The bit error probability after decoding is &quot;</span> &lt;&lt; berc.<a class="code" href="classitpp_1_1BERC.html#af17d5f534ba34558d3632a98f29f0519">get_errorrate</a>() &lt;&lt; endl;</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Exit program:</span></div>
<div class="line">  <span class="keywordflow">return</span> 0;</div>
<div class="line"></div>
<div class="line">}</div>
</div><!-- fragment --><p>A typical run of this program can look like this:</p>
<div class="fragment"><div class="line">Number of Reed-Solomon code-words <a class="code" href="group__fixed.html#ga70902adf445f4727d6498f0094e63809">to</a> simulate: 1000</div>
<div class="line">BSC Error probability : 0.01</div>
<div class="line">RS m: 3</div>
<div class="line">RS t: 2</div>
<div class="line">Simulating an Reed-Solomon code with the following parameters:</div>
<div class="line">n = 7</div>
<div class="line">k = 3</div>
<div class="line">q = 8</div>
<div class="line">The bit error probability after decoding is 0.000333333</div>
</div><!-- fragment --> </div></div><!-- contents -->
<div style="clear: both; width: 100%; height: 31px; background-color: #ffff00; border: 1px solid #b0b0b0; margin: 5px 5px 5px 0; padding: 2px;">
  <a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=37044&amp;type=1" alt="SourceForge Logo" style="float: right; border: 0;"></a>
  <p style="padding-left: 10px; font-size: 85%;">Generated on Sat Mar 22 2014 05:34:27 for IT++ by <a href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.6</p>
</div>
</body>
</html>