This file is indexed.

/usr/share/doc/libitpp-dev/html/bpsk.html is in libitpp-doc 4.2-4.

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
121
122
123
124
125
126
127
128
129
130
131
<!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.7.4 -->
<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><a href="dirs.html"><span>Directories</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">BPSK modulation over an AWGN channel </div>  </div>
</div>
<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_294.png"/> dB. The received signal is then decoded and the number of bit errors are calculated.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;<a class="code" href="itcomm_8h.html" title="Include file for the IT++ communications module.">itpp/itcomm.h</a>&gt;</span>

<span class="keyword">using namespace </span>itpp;

<span class="comment">//These lines are needed for use of cout and endl</span>
<span class="keyword">using</span> std::cout;
<span class="keyword">using</span> std::endl;

<span class="keywordtype">int</span> main()
{
  <span class="comment">//Scalars</span>
  <span class="keywordtype">int</span> N;
  <span class="keywordtype">double</span> N0;

  <span class="comment">//Vectors</span>
  bvec bits, dec_bits;
  vec symbols, rec;

  <span class="comment">//Classes</span>
  <a class="code" href="classitpp_1_1BPSK.html" title="BPSK modulator with real symbols.">BPSK</a> bpsk;  <span class="comment">//The BPSK modulator/debodulator class</span>
  <a class="code" href="classitpp_1_1BERC.html" title="Bit Error Rate Counter (BERC) Class.">BERC</a> berc;  <span class="comment">//The Bit Error Rate Counter class</span>

  <span class="comment">//Init</span>
  N = 500000; <span class="comment">//The number of bits to simulate</span>
  N0 = 1;     <span class="comment">//0 dB SNR</span>

  <span class="comment">//Randomize the random number generator</span>
  <a class="code" href="group__randgen.html#gadf5dd6e879881b651896c213e6efd3ba" title="Set a random seed for the Global Random Number Generator.">RNG_randomize</a>();

  <span class="comment">//Generate the bits:</span>
  bits = <a class="code" href="group__randgen.html#ga5aa06887cf1fd3301b040987924068f0" title="Generates a random bit (equally likely 0s and 1s)">randb</a>(N);

  <span class="comment">//Do the BPSK modulation</span>
  bpsk.<a class="code" href="classitpp_1_1BPSK.html#aff002bcb92f62a0f01e76ce1b0ab543e" title="Modulate bits into BPSK symbols in complex domain.">modulate_bits</a>(bits, symbols);

  <span class="comment">//Add the AWGN</span>
  rec = symbols + <a class="code" href="group__miscfunc.html#gaf559d29ca56ad3396a4284964b01a9b0" title="Square root of the elements.">sqrt</a>(N0 / 2) * <a class="code" href="group__randgen.html#ga9ecf5af23567f51abc9af737fdbd872a" title="Generates a random Gaussian (0,1) variable.">randn</a>(N);

  <span class="comment">//Decode the received bits</span>
  bpsk.<a class="code" href="classitpp_1_1BPSK.html#a86ec97762f354d8020fcab199faa6e5e" title="Demodulate noisy BPSK symbols in complex domain into bits.">demodulate_bits</a>(rec, dec_bits);

  <span class="comment">//Count the number of errors</span>
  berc.<a class="code" href="classitpp_1_1BERC.html#a539b0c989badff3027d97e4693fc9cd7" title="Cumulative error counter.">count</a>(bits, dec_bits);

  <span class="comment">//Print the results</span>
  cout &lt;&lt; <span class="stringliteral">&quot;There were &quot;</span> &lt;&lt; berc.<a class="code" href="classitpp_1_1BERC.html#a02e757f28e87003404ad0d4aec1e44a6" title="Returns the counted number of bit errors.">get_errors</a>() &lt;&lt; <span class="stringliteral">&quot; received bits in error.&quot;</span> &lt;&lt; endl;
  cout &lt;&lt; <span class="stringliteral">&quot;There were &quot;</span> &lt;&lt; berc.<a class="code" href="classitpp_1_1BERC.html#a0d1b89503b1c260b37171a07ae77c7f4" title="Returns the counted number of corectly received bits.">get_corrects</a>() &lt;&lt; <span class="stringliteral">&quot; correctly received bits.&quot;</span> &lt;&lt; endl;
  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" title="Returns the estimated bit error rate.">get_errorrate</a>() &lt;&lt; endl;
  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#ga9db01a2cc8ceecd4f9539e576e8d5543" title="Complementary error function.">erfc</a>(1.0) &lt;&lt; endl;

  <span class="comment">//Exit program:</span>
  <span class="keywordflow">return</span> 0;

}
</pre></div><p>When you run this program, the output will look something like this:</p>
<div class="fragment"><pre class="fragment">There were 39224 received bits in error.
There were 460776 correctly received bits.
The error probability was 0.078448
The theoretical error probability is 0.0786496
</pre></div> </div></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<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 Wed Jul 27 2011 16:27:06 for IT++ by <a href="http://www.doxygen.org/index.html">Doxygen</a> 1.7.4</p>
</div>
</body>
</html>