This file is indexed.

/usr/share/doc/libitpp-dev/html/bpsk.html is in libitpp-doc 4.3.1-6.

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
<!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.9.1 -->
<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">BPSK modulation over an AWGN channel </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>As a first example we will generate a sequence of 500000 random bits {0,1} and BPSK modulate these. Thereafter the BPSK signals will be transmitted over an AWGN channel with a signal-to-noise ratio <img class="formulaInl" alt="$E_b/N_0 = 0$" src="form_304.png"/> dB. The received signal is then decoded and the number of bit errors are calculated.</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><a class="code" href="namespaceitpp.html">itpp</a>;</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">  <span class="comment">//Scalars</span></div>
<div class="line">  <span class="keywordtype">int</span> N;</div>
<div class="line">  <span class="keywordtype">double</span> N0;</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Vectors</span></div>
<div class="line">  bvec bits, dec_bits;</div>
<div class="line">  vec symbols, rec;</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Classes</span></div>
<div class="line">  <a class="code" href="classitpp_1_1BPSK.html">BPSK</a> bpsk;  <span class="comment">//The BPSK modulator/debodulator class</span></div>
<div class="line">  <a class="code" href="classitpp_1_1BERC.html">BERC</a> berc;  <span class="comment">//The Bit Error Rate Counter class</span></div>
<div class="line"></div>
<div class="line">  <span class="comment">//Init</span></div>
<div class="line">  N = 500000; <span class="comment">//The number of bits to simulate</span></div>
<div class="line">  N0 = 1;     <span class="comment">//0 dB SNR</span></div>
<div class="line"></div>
<div class="line">  <span class="comment">//Randomize the random number generator</span></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">//Generate the bits:</span></div>
<div class="line">  bits = <a class="code" href="group__randgen.html#ga5aa06887cf1fd3301b040987924068f0">randb</a>(N);</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Do the BPSK modulation</span></div>
<div class="line">  bpsk.<a class="code" href="classitpp_1_1BPSK.html#aff002bcb92f62a0f01e76ce1b0ab543e">modulate_bits</a>(bits, symbols);</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Add the AWGN</span></div>
<div class="line">  rec = symbols + <a class="code" href="group__miscfunc.html#gaf559d29ca56ad3396a4284964b01a9b0">sqrt</a>(N0 / 2) * <a class="code" href="group__randgen.html#ga9ecf5af23567f51abc9af737fdbd872a">randn</a>(N);</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Decode the received bits</span></div>
<div class="line">  bpsk.<a class="code" href="classitpp_1_1BPSK.html#a86ec97762f354d8020fcab199faa6e5e">demodulate_bits</a>(rec, dec_bits);</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Count the number of errors</span></div>
<div class="line">  berc.<a class="code" href="classitpp_1_1BERC.html#a539b0c989badff3027d97e4693fc9cd7">count</a>(bits, dec_bits);</div>
<div class="line"></div>
<div class="line">  <span class="comment">//Print the results</span></div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;There were &quot;</span> &lt;&lt; berc.<a class="code" href="classitpp_1_1BERC.html#a02e757f28e87003404ad0d4aec1e44a6">get_errors</a>() &lt;&lt; <span class="stringliteral">&quot; received bits in error.&quot;</span> &lt;&lt; endl;</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;There were &quot;</span> &lt;&lt; berc.<a class="code" href="classitpp_1_1BERC.html#a0d1b89503b1c260b37171a07ae77c7f4">get_corrects</a>() &lt;&lt; <span class="stringliteral">&quot; correctly received bits.&quot;</span> &lt;&lt; endl;</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;The error probability was &quot;</span> &lt;&lt; berc.<a class="code" href="classitpp_1_1BERC.html#af17d5f534ba34558d3632a98f29f0519">get_errorrate</a>() &lt;&lt; endl;</div>
<div class="line">  cout &lt;&lt; <span class="stringliteral">&quot;The theoretical error probability is &quot;</span> &lt;&lt; 0.5*<a class="code" href="group__errorfunc.html#gaddd7604b61e53771a01d0a784e7c7a8a">erfc</a>(1.0) &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>When you run this program, the output will look something like this:</p>
<div class="fragment"><div class="line">There were 39224 received bits in error.</div>
<div class="line">There were 460776 correctly received bits.</div>
<div class="line">The error probability was 0.078448</div>
<div class="line">The theoretical error probability is 0.0786496</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;">
  <p style="padding-left: 10px; font-size: 85%;">Generated on Thu Aug 20 2015 21:02:52 for IT++ by <a href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.9.1</p>
</div>
</body>
</html>