mirror of https://github.com/hmatuschek/libsdr
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
220 lines
34 KiB
HTML
220 lines
34 KiB
HTML
<!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.9.1"/>
|
|
<title>libsdr: /Users/hannes/Uni/Elektronik/sdr/libsdr/src/afsk.hh Source File</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="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { init_search(); });
|
|
</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">libsdr
|
|
 <span id="projectnumber">0.1.0</span>
|
|
</div>
|
|
<div id="projectbrief">A simple SDR library</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- 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 Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<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 id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</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 id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">afsk.hh</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef __SDR_AFSK_HH__</span></div>
|
|
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define __SDR_AFSK_HH__</span></div>
|
|
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div>
|
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "node.hh"</span></div>
|
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="keyword">namespace </span><a class="code" href="namespacesdr.html">sdr</a> {</div>
|
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div>
|
|
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html"> 13</a></span> <span class="keyword">class </span><a class="code" href="classsdr_1_1_a_f_s_k.html">AFSK</a>: <span class="keyword">public</span> <a class="code" href="classsdr_1_1_sink.html">Sink</a><int16_t>, <span class="keyword">public</span> <a class="code" href="classsdr_1_1_source.html">Source</a></div>
|
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> {</div>
|
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">public</span>:</div>
|
|
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="group__demods.html#ga616ece7cbdde1101fc7a08bbfacd460d"> 17</a></span>  <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="group__demods.html#gga616ece7cbdde1101fc7a08bbfacd460dae59f37cc16bd92549bf96a780a26b4ec"> 18</a></span>  <a class="code" href="group__demods.html#gga616ece7cbdde1101fc7a08bbfacd460dae59f37cc16bd92549bf96a780a26b4ec">NORMAL</a>, </div>
|
|
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="group__demods.html#gga616ece7cbdde1101fc7a08bbfacd460da15d9ca21f40f0d9f872fadacf79cf3c1"> 19</a></span>  <a class="code" href="group__demods.html#gga616ece7cbdde1101fc7a08bbfacd460da15d9ca21f40f0d9f872fadacf79cf3c1">TRANSITION</a> </div>
|
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  } <a class="code" href="group__demods.html#ga616ece7cbdde1101fc7a08bbfacd460d">Mode</a>;</div>
|
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">public</span>:</div>
|
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <a class="code" href="classsdr_1_1_a_f_s_k.html#a11e5bd332b38f01ac5043ae8a3581231">AFSK</a>(<span class="keywordtype">double</span> baud=1200.0, <span class="keywordtype">double</span> Fmark=1200.0, <span class="keywordtype">double</span> Fspace=2200.0,</div>
|
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <a class="code" href="group__demods.html#ga616ece7cbdde1101fc7a08bbfacd460d">Mode</a> mode=<a class="code" href="group__demods.html#gga616ece7cbdde1101fc7a08bbfacd460da15d9ca21f40f0d9f872fadacf79cf3c1">TRANSITION</a>);</div>
|
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keyword">virtual</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a294a9e92acbf79b5389f86396a75409b">~AFSK</a>();</div>
|
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
|
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a80c802a15d6fa3bd9d59f2bff1ec4421">config</a>(<span class="keyword">const</span> <a class="code" href="classsdr_1_1_config.html">Config</a> &src_cfg);</div>
|
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a6b077b4003e4755dcf8e5749fb46e809">process</a>(<span class="keyword">const</span> <a class="code" href="classsdr_1_1_buffer.html">Buffer<int16_t></a> &buffer, <span class="keywordtype">bool</span> allow_overwrite);</div>
|
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
|
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">protected</span>:</div>
|
|
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a194e890c5b311521c3e25b95910c9b55"> 37</a></span>  <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a194e890c5b311521c3e25b95910c9b55">_getSymbol</a>() {</div>
|
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  std::complex<float> markSum(0), spaceSum(0);</div>
|
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i=0; i<<a class="code" href="classsdr_1_1_a_f_s_k.html#a8da86a42e9f9dbf147919d672ab6e55f">_corrLen</a>; i++) {</div>
|
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  markSum += <a class="code" href="classsdr_1_1_a_f_s_k.html#a8d966fd9cc9c54457bd30fd6af81b287">_markHist</a>[i];</div>
|
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  spaceSum += <a class="code" href="classsdr_1_1_a_f_s_k.html#ad678cb5470df81d16d8ad247da008ef0">_spaceHist</a>[i];</div>
|
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  }</div>
|
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordtype">double</span> f = markSum.real()*markSum.real() +</div>
|
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  markSum.imag()*markSum.imag() -</div>
|
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  spaceSum.real()*spaceSum.real() -</div>
|
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  spaceSum.imag()*spaceSum.imag();</div>
|
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> f;</div>
|
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div>
|
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
|
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">protected</span>:</div>
|
|
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a9c1df369c20229376edd35f585f6463f"> 53</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a9c1df369c20229376edd35f585f6463f">_sampleRate</a>;</div>
|
|
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a12626715e8614d26ea52da5b1029270f"> 55</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a12626715e8614d26ea52da5b1029270f">_symbolRate</a>;</div>
|
|
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a33613b6c306a617bf7cb73c94d38cf4b"> 57</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a33613b6c306a617bf7cb73c94d38cf4b">_baud</a>;</div>
|
|
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a844c1e0ae214f53faa2240d4b868dced"> 59</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a844c1e0ae214f53faa2240d4b868dced">_Fmark</a>;</div>
|
|
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a0cf15fc488afacb2b89687312264ee9b"> 61</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a0cf15fc488afacb2b89687312264ee9b">_Fspace</a>;</div>
|
|
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a7e4a0ac6d136bdffcfc6c488127cfa14"> 63</a></span>  <a class="code" href="group__demods.html#ga616ece7cbdde1101fc7a08bbfacd460d">Mode</a> <a class="code" href="classsdr_1_1_a_f_s_k.html#a7e4a0ac6d136bdffcfc6c488127cfa14">_mode</a>;</div>
|
|
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a8da86a42e9f9dbf147919d672ab6e55f"> 65</a></span>  uint32_t <a class="code" href="classsdr_1_1_a_f_s_k.html#a8da86a42e9f9dbf147919d672ab6e55f">_corrLen</a>;</div>
|
|
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#af3f2917e8ef07c0fe94d556bd8c7520f"> 67</a></span>  uint32_t <a class="code" href="classsdr_1_1_a_f_s_k.html#af3f2917e8ef07c0fe94d556bd8c7520f">_lutIdx</a>;</div>
|
|
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#aa98d68f2a9835124d33d7732bf4495fb"> 69</a></span>  <a class="code" href="classsdr_1_1_buffer.html">Buffer< std::complex<float></a> > <a class="code" href="classsdr_1_1_a_f_s_k.html#aa98d68f2a9835124d33d7732bf4495fb">_markLUT</a>;</div>
|
|
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#ad085d0692e8383fdfdfaf1a98b607347"> 71</a></span>  <a class="code" href="classsdr_1_1_buffer.html">Buffer< std::complex<float></a> > <a class="code" href="classsdr_1_1_a_f_s_k.html#ad085d0692e8383fdfdfaf1a98b607347">_spaceLUT</a>;</div>
|
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
|
|
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a8d966fd9cc9c54457bd30fd6af81b287"> 74</a></span>  <a class="code" href="classsdr_1_1_buffer.html">Buffer< std::complex<float></a> > <a class="code" href="classsdr_1_1_a_f_s_k.html#a8d966fd9cc9c54457bd30fd6af81b287">_markHist</a>;</div>
|
|
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#ad678cb5470df81d16d8ad247da008ef0"> 76</a></span>  <a class="code" href="classsdr_1_1_buffer.html">Buffer< std::complex<float></a> > <a class="code" href="classsdr_1_1_a_f_s_k.html#ad678cb5470df81d16d8ad247da008ef0">_spaceHist</a>;</div>
|
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
|
|
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#aed941051b226bb4caa877fe319b274c7"> 79</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#aed941051b226bb4caa877fe319b274c7">_mu</a>;</div>
|
|
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a4a7b706751a59c970b609c4f1858f362"> 81</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a4a7b706751a59c970b609c4f1858f362">_muIncr</a>;</div>
|
|
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a8d34a2c036ce8cde48cf7c925cf64a94"> 83</a></span>  <a class="code" href="classsdr_1_1_buffer.html">Buffer< float ></a> <a class="code" href="classsdr_1_1_a_f_s_k.html#a8d34a2c036ce8cde48cf7c925cf64a94">_dl</a>;</div>
|
|
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#ab5177f81cd67f1a9ab15b94c39ea55fa"> 85</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#ab5177f81cd67f1a9ab15b94c39ea55fa">_dl_idx</a>;</div>
|
|
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
|
|
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a6d4a06aa4715ec32d277271c103cc540"> 88</a></span>  <a class="code" href="classsdr_1_1_buffer.html">Buffer<int16_t></a> <a class="code" href="classsdr_1_1_a_f_s_k.html#a6d4a06aa4715ec32d277271c103cc540">_symbols</a>;</div>
|
|
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#ab550533f9aca58b9a5e118e27c816c98"> 90</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#ab550533f9aca58b9a5e118e27c816c98">_symbolIdx</a>;</div>
|
|
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a75df116cd69c3e8d8073dcbec4f1f16a"> 92</a></span>  int32_t <a class="code" href="classsdr_1_1_a_f_s_k.html#a75df116cd69c3e8d8073dcbec4f1f16a">_symSum</a>;</div>
|
|
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a1b66874534ab764ff7e702a2d7464ec9"> 94</a></span>  int32_t <a class="code" href="classsdr_1_1_a_f_s_k.html#a1b66874534ab764ff7e702a2d7464ec9">_lastSymSum</a>;</div>
|
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
|
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a6c90b049c1a0d66e69ab2b404ed6bdf8"> 97</a></span>  uint32_t <a class="code" href="classsdr_1_1_a_f_s_k.html#a6c90b049c1a0d66e69ab2b404ed6bdf8">_lastBits</a>;</div>
|
|
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a647bcd37fbb147391baf6c3e310679aa"> 99</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#a647bcd37fbb147391baf6c3e310679aa">_phase</a>;</div>
|
|
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#ac4e1eb84416adbcdcb01e820ba2567c2"> 101</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#ac4e1eb84416adbcdcb01e820ba2567c2">_omega</a>;</div>
|
|
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#aac74937a67a4c52698df54a07a0dd23e"> 103</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#aac74937a67a4c52698df54a07a0dd23e">_omegaMin</a>;</div>
|
|
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#aace02d1b7c6a76a21b5cb36dc39e7961"> 105</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#aace02d1b7c6a76a21b5cb36dc39e7961">_omegaMax</a>;</div>
|
|
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#ab26c8999999c60819aefa58026b16e6e"> 107</a></span>  <span class="keywordtype">float</span> <a class="code" href="classsdr_1_1_a_f_s_k.html#ab26c8999999c60819aefa58026b16e6e">_gainOmega</a>;</div>
|
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
|
|
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classsdr_1_1_a_f_s_k.html#a40f2e6ebec5936f27b9acb25e0384369"> 110</a></span>  <a class="code" href="classsdr_1_1_buffer.html">Buffer<uint8_t></a> <a class="code" href="classsdr_1_1_a_f_s_k.html#a40f2e6ebec5936f27b9acb25e0384369">_buffer</a>;</div>
|
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> };</div>
|
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
|
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
|
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
|
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#endif // __SDR_AFSK_HH__</span></div>
|
|
<div class="ttc" id="classsdr_1_1_config_html"><div class="ttname"><a href="classsdr_1_1_config.html">sdr::Config</a></div><div class="ttdoc">A collection of configuration information that is send by a source to all connected sinks to properga...</div><div class="ttdef"><b>Definition:</b> node.hh:35</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_aa98d68f2a9835124d33d7732bf4495fb"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#aa98d68f2a9835124d33d7732bf4495fb">sdr::AFSK::_markLUT</a></div><div class="ttdeci">Buffer< std::complex< float > > _markLUT</div><div class="ttdoc">Mark frequency FIR filter LUT. </div><div class="ttdef"><b>Definition:</b> afsk.hh:69</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a294a9e92acbf79b5389f86396a75409b"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a294a9e92acbf79b5389f86396a75409b">sdr::AFSK::~AFSK</a></div><div class="ttdeci">virtual ~AFSK()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> afsk.cc:15</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_ab550533f9aca58b9a5e118e27c816c98"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#ab550533f9aca58b9a5e118e27c816c98">sdr::AFSK::_symbolIdx</a></div><div class="ttdeci">size_t _symbolIdx</div><div class="ttdoc">Insertion index. </div><div class="ttdef"><b>Definition:</b> afsk.hh:90</div></div>
|
|
<div class="ttc" id="classsdr_1_1_sink_html"><div class="ttname"><a href="classsdr_1_1_sink.html">sdr::Sink</a></div><div class="ttdoc">Typed sink. </div><div class="ttdef"><b>Definition:</b> node.hh:192</div></div>
|
|
<div class="ttc" id="namespacesdr_html"><div class="ttname"><a href="namespacesdr.html">sdr</a></div><div class="ttdef"><b>Definition:</b> afsk.hh:6</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_af3f2917e8ef07c0fe94d556bd8c7520f"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#af3f2917e8ef07c0fe94d556bd8c7520f">sdr::AFSK::_lutIdx</a></div><div class="ttdeci">uint32_t _lutIdx</div><div class="ttdoc">The current FIR filter LUT index. </div><div class="ttdef"><b>Definition:</b> afsk.hh:67</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_aac74937a67a4c52698df54a07a0dd23e"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#aac74937a67a4c52698df54a07a0dd23e">sdr::AFSK::_omegaMin</a></div><div class="ttdeci">float _omegaMin</div><div class="ttdoc">Maximum PLL phase speed. </div><div class="ttdef"><b>Definition:</b> afsk.hh:103</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_ac4e1eb84416adbcdcb01e820ba2567c2"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#ac4e1eb84416adbcdcb01e820ba2567c2">sdr::AFSK::_omega</a></div><div class="ttdeci">float _omega</div><div class="ttdoc">PLL phase speed. </div><div class="ttdef"><b>Definition:</b> afsk.hh:101</div></div>
|
|
<div class="ttc" id="classsdr_1_1_source_html"><div class="ttname"><a href="classsdr_1_1_source.html">sdr::Source</a></div><div class="ttdoc">Generic source class. </div><div class="ttdef"><b>Definition:</b> node.hh:213</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a1b66874534ab764ff7e702a2d7464ec9"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a1b66874534ab764ff7e702a2d7464ec9">sdr::AFSK::_lastSymSum</a></div><div class="ttdeci">int32_t _lastSymSum</div><div class="ttdoc">Sum of the last _corrLen symbols. </div><div class="ttdef"><b>Definition:</b> afsk.hh:94</div></div>
|
|
<div class="ttc" id="group__demods_html_gga616ece7cbdde1101fc7a08bbfacd460da15d9ca21f40f0d9f872fadacf79cf3c1"><div class="ttname"><a href="group__demods.html#gga616ece7cbdde1101fc7a08bbfacd460da15d9ca21f40f0d9f872fadacf79cf3c1">sdr::AFSK::TRANSITION</a></div><div class="ttdoc">Transition mode (i.e. transition -> 0, no transition -> 1). </div><div class="ttdef"><b>Definition:</b> afsk.hh:19</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_ad085d0692e8383fdfdfaf1a98b607347"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#ad085d0692e8383fdfdfaf1a98b607347">sdr::AFSK::_spaceLUT</a></div><div class="ttdeci">Buffer< std::complex< float > > _spaceLUT</div><div class="ttdoc">Space frequency FIR filter LUT. </div><div class="ttdef"><b>Definition:</b> afsk.hh:71</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_aed941051b226bb4caa877fe319b274c7"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#aed941051b226bb4caa877fe319b274c7">sdr::AFSK::_mu</a></div><div class="ttdeci">float _mu</div><div class="ttdoc">Symbol subsampling counter. </div><div class="ttdef"><b>Definition:</b> afsk.hh:79</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a8d34a2c036ce8cde48cf7c925cf64a94"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a8d34a2c036ce8cde48cf7c925cf64a94">sdr::AFSK::_dl</a></div><div class="ttdeci">Buffer< float > _dl</div><div class="ttdoc">Delay line for the 8-pole interpolation filter. </div><div class="ttdef"><b>Definition:</b> afsk.hh:83</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a844c1e0ae214f53faa2240d4b868dced"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a844c1e0ae214f53faa2240d4b868dced">sdr::AFSK::_Fmark</a></div><div class="ttdeci">float _Fmark</div><div class="ttdoc">Mark "tone" frequency. </div><div class="ttdef"><b>Definition:</b> afsk.hh:59</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a12626715e8614d26ea52da5b1029270f"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a12626715e8614d26ea52da5b1029270f">sdr::AFSK::_symbolRate</a></div><div class="ttdeci">float _symbolRate</div><div class="ttdoc">A multiple of the baud rate. </div><div class="ttdef"><b>Definition:</b> afsk.hh:55</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a647bcd37fbb147391baf6c3e310679aa"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a647bcd37fbb147391baf6c3e310679aa">sdr::AFSK::_phase</a></div><div class="ttdeci">float _phase</div><div class="ttdoc">Current PLL phase. </div><div class="ttdef"><b>Definition:</b> afsk.hh:99</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html">sdr::AFSK</a></div><div class="ttdoc">A simple (Audio) Frequency Shift Keying (AFSK) demodulator. </div><div class="ttdef"><b>Definition:</b> afsk.hh:13</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a40f2e6ebec5936f27b9acb25e0384369"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a40f2e6ebec5936f27b9acb25e0384369">sdr::AFSK::_buffer</a></div><div class="ttdeci">Buffer< uint8_t > _buffer</div><div class="ttdoc">Output buffer. </div><div class="ttdef"><b>Definition:</b> afsk.hh:110</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a0cf15fc488afacb2b89687312264ee9b"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a0cf15fc488afacb2b89687312264ee9b">sdr::AFSK::_Fspace</a></div><div class="ttdeci">float _Fspace</div><div class="ttdoc">Space "tone" frequency. </div><div class="ttdef"><b>Definition:</b> afsk.hh:61</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a9c1df369c20229376edd35f585f6463f"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a9c1df369c20229376edd35f585f6463f">sdr::AFSK::_sampleRate</a></div><div class="ttdeci">float _sampleRate</div><div class="ttdoc">The sample rate of the input signal. </div><div class="ttdef"><b>Definition:</b> afsk.hh:53</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a11e5bd332b38f01ac5043ae8a3581231"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a11e5bd332b38f01ac5043ae8a3581231">sdr::AFSK::AFSK</a></div><div class="ttdeci">AFSK(double baud=1200.0, double Fmark=1200.0, double Fspace=2200.0, Mode mode=TRANSITION)</div><div class="ttdoc">Constructs a AFSK node with the specified baud rate and Fmark, Fspace frequencies. </div><div class="ttdef"><b>Definition:</b> afsk.cc:9</div></div>
|
|
<div class="ttc" id="group__demods_html_gga616ece7cbdde1101fc7a08bbfacd460dae59f37cc16bd92549bf96a780a26b4ec"><div class="ttname"><a href="group__demods.html#gga616ece7cbdde1101fc7a08bbfacd460dae59f37cc16bd92549bf96a780a26b4ec">sdr::AFSK::NORMAL</a></div><div class="ttdoc">Normal mode (i.e. mark -> 1, space -> 0). </div><div class="ttdef"><b>Definition:</b> afsk.hh:18</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a6d4a06aa4715ec32d277271c103cc540"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a6d4a06aa4715ec32d277271c103cc540">sdr::AFSK::_symbols</a></div><div class="ttdeci">Buffer< int16_t > _symbols</div><div class="ttdoc">Ring buffer of the last _corrLen symbols. </div><div class="ttdef"><b>Definition:</b> afsk.hh:88</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a8d966fd9cc9c54457bd30fd6af81b287"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a8d966fd9cc9c54457bd30fd6af81b287">sdr::AFSK::_markHist</a></div><div class="ttdeci">Buffer< std::complex< float > > _markHist</div><div class="ttdoc">FIR filter buffer. </div><div class="ttdef"><b>Definition:</b> afsk.hh:74</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a8da86a42e9f9dbf147919d672ab6e55f"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a8da86a42e9f9dbf147919d672ab6e55f">sdr::AFSK::_corrLen</a></div><div class="ttdeci">uint32_t _corrLen</div><div class="ttdoc">Correlation length, the number of "symbols" per bit. </div><div class="ttdef"><b>Definition:</b> afsk.hh:65</div></div>
|
|
<div class="ttc" id="group__demods_html_ga616ece7cbdde1101fc7a08bbfacd460d"><div class="ttname"><a href="group__demods.html#ga616ece7cbdde1101fc7a08bbfacd460d">sdr::AFSK::Mode</a></div><div class="ttdeci">Mode</div><div class="ttdoc">Possible bit decoding modes. </div><div class="ttdef"><b>Definition:</b> afsk.hh:17</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_ab5177f81cd67f1a9ab15b94c39ea55fa"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#ab5177f81cd67f1a9ab15b94c39ea55fa">sdr::AFSK::_dl_idx</a></div><div class="ttdeci">size_t _dl_idx</div><div class="ttdoc">Delay line index. </div><div class="ttdef"><b>Definition:</b> afsk.hh:85</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a33613b6c306a617bf7cb73c94d38cf4b"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a33613b6c306a617bf7cb73c94d38cf4b">sdr::AFSK::_baud</a></div><div class="ttdeci">float _baud</div><div class="ttdoc">The baud rate. </div><div class="ttdef"><b>Definition:</b> afsk.hh:57</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a6c90b049c1a0d66e69ab2b404ed6bdf8"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a6c90b049c1a0d66e69ab2b404ed6bdf8">sdr::AFSK::_lastBits</a></div><div class="ttdeci">uint32_t _lastBits</div><div class="ttdoc">Last received bits. </div><div class="ttdef"><b>Definition:</b> afsk.hh:97</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a7e4a0ac6d136bdffcfc6c488127cfa14"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a7e4a0ac6d136bdffcfc6c488127cfa14">sdr::AFSK::_mode</a></div><div class="ttdeci">Mode _mode</div><div class="ttdoc">Bit encoding mode. </div><div class="ttdef"><b>Definition:</b> afsk.hh:63</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_ad678cb5470df81d16d8ad247da008ef0"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#ad678cb5470df81d16d8ad247da008ef0">sdr::AFSK::_spaceHist</a></div><div class="ttdeci">Buffer< std::complex< float > > _spaceHist</div><div class="ttdoc">FIR filter buffer. </div><div class="ttdef"><b>Definition:</b> afsk.hh:76</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a194e890c5b311521c3e25b95910c9b55"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a194e890c5b311521c3e25b95910c9b55">sdr::AFSK::_getSymbol</a></div><div class="ttdeci">double _getSymbol()</div><div class="ttdoc">Performs the convolution filtering of the mark & space frequencies. </div><div class="ttdef"><b>Definition:</b> afsk.hh:37</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a6b077b4003e4755dcf8e5749fb46e809"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a6b077b4003e4755dcf8e5749fb46e809">sdr::AFSK::process</a></div><div class="ttdeci">virtual void process(const Buffer< int16_t > &buffer, bool allow_overwrite)</div><div class="ttdoc">Processes the given buffer. </div><div class="ttdef"><b>Definition:</b> afsk.cc:104</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_ab26c8999999c60819aefa58026b16e6e"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#ab26c8999999c60819aefa58026b16e6e">sdr::AFSK::_gainOmega</a></div><div class="ttdeci">float _gainOmega</div><div class="ttdoc">PLL gain. </div><div class="ttdef"><b>Definition:</b> afsk.hh:107</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a75df116cd69c3e8d8073dcbec4f1f16a"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a75df116cd69c3e8d8073dcbec4f1f16a">sdr::AFSK::_symSum</a></div><div class="ttdeci">int32_t _symSum</div><div class="ttdoc">Sum of the current _corrLen symbols. </div><div class="ttdef"><b>Definition:</b> afsk.hh:92</div></div>
|
|
<div class="ttc" id="classsdr_1_1_buffer_html"><div class="ttname"><a href="classsdr_1_1_buffer.html">sdr::Buffer< int16_t ></a></div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_aace02d1b7c6a76a21b5cb36dc39e7961"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#aace02d1b7c6a76a21b5cb36dc39e7961">sdr::AFSK::_omegaMax</a></div><div class="ttdeci">float _omegaMax</div><div class="ttdoc">Minimum PLL phase speed. </div><div class="ttdef"><b>Definition:</b> afsk.hh:105</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a80c802a15d6fa3bd9d59f2bff1ec4421"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a80c802a15d6fa3bd9d59f2bff1ec4421">sdr::AFSK::config</a></div><div class="ttdeci">virtual void config(const Config &src_cfg)</div><div class="ttdoc">Configures the node. </div><div class="ttdef"><b>Definition:</b> afsk.cc:20</div></div>
|
|
<div class="ttc" id="classsdr_1_1_a_f_s_k_html_a4a7b706751a59c970b609c4f1858f362"><div class="ttname"><a href="classsdr_1_1_a_f_s_k.html#a4a7b706751a59c970b609c4f1858f362">sdr::AFSK::_muIncr</a></div><div class="ttdeci">float _muIncr</div><div class="ttdoc">Symbol subsampling. </div><div class="ttdef"><b>Definition:</b> afsk.hh:81</div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Mon Jun 1 2015 11:43:47 for libsdr by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.9.1
|
|
</small></address>
|
|
</body>
|
|
</html>
|