<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle20
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:117187428;
        mso-list-type:hybrid;
        mso-list-template-ids:2068853702 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hello Scotty:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">On terminology, how about this…. In the SBC documentation, I need some way refer to the Data Engine.  The first couple of versions of the SBC Functional
 Spec call it the Tangerine; but now I understand that you mean for the Tangerine to include the SBC.  I can update the SBC spec to refer to the Data Engine (instead of calling it the Tangerine).<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I have already started a Parking Lot document on the Google Drive. See
<a href="https://drive.google.com/drive/folders/1FYlmw3pINacZMEnYCFQg2sNzPeM-NElK">
https://drive.google.com/drive/folders/1FYlmw3pINacZMEnYCFQg2sNzPeM-NElK</a> We can copy this stuff to github at some point if needed.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">On the “server” – I mention the DE-to-server data path primarily because Tom wants to account for organizations like MIT Haystack which will have virtually
 unlimited bandwidth to an enormous server.  Most users will not have that, and the Central Control system / Database will not be sized to allow uploading at full speed (25 Megabytes/sec). In > 90% of cases, the data will have to go from DE to SBC and then
 be throttled and or preprocessed/compressed to be uploaded to the Central System.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span style="mso-list:Ignore">4.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">GNURadio:  I have installed it on an Oxdroid XU4 and it works quite well handling data at 100  ksps (IQ, single slice) from Red Pitaya.  The Odroid
 N2 seems to be about 15% faster according to benchmarks. I am going to further characterize what it can do. GNURadio has been used successfully in the SatNOGS project. Remember that it does not have to run in real time to pre-process data (for an FFT, for
 example) for upload.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span style="mso-list:Ignore">5.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Compression: Phil Erickson is strongly urging us to consider storing (and maybe also transporting) data in HDF5 format.  I have worked with that in
 the past  and today ran some tests to see what kind of compression we can get. It compresses wav files down to about 40% of their initial size (I understand we need to verify that this is lossless).<o:p></o:p></span></p>
<p class="MsoListParagraph"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoListParagraph"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoListParagraph"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">More to come tomorrow.  I will also go more closely thru your comments and make sure to address everything in some way.  Are you going to be at the TAPR/AMSAT
 dinner at Dayton?   -73- Bill<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext"> TangerineSDR <tangerinesdr-bounces@lists.tapr.org>
<b>On Behalf Of </b>Scotty Cowling via TangerineSDR<br>
<b>Sent:</b> Monday, May 13, 2019 3:30 PM<br>
<b>To:</b> Tom McDermott <tom.n5eg@gmail.com>; Engelke, Bill <bill.engelke@ua.edu><br>
<b>Cc:</b> Scotty Cowling <scotty@tonks.com>; Nathaniel A. Frissell <nathaniel.a.frissell@njit.edu>; tangerinesdr@lists.tapr.org<br>
<b>Subject:</b> Re: [TangerineSDR] Local Host Functional Specification, Version 0.1<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Bill,<br>
<br>
It is good to see specifications take shape!  TAPR has a Github account, will this be sufficient for the "parking lot"?<br>
<br>
Comments on the spec.<br>
<br>
First, my concept of the TangerineSDR *includes* the SBC. Here is the block diagram from the hardware spec:<br>
<br>
<img border="0" width="890" height="392" style="width:9.2708in;height:4.0833in" id="_x0000_i1025" src="cid:image001.png@01D509AA.ECFB4C40"><br>
Without confusing things too much, can we make this distinction? So really, if we take a TangerineSDR and program the SBC with the PSWS Local Host software, we will transform the TangerineSDR into a PSWS. (Likely we would also have to re-program the FPGA with
 new firmware, and ensure that the TangerineSDR had the correct hardware sub-modules (CKM, RFM, DE, Sensor shield.)<br>
<br>
The part that you refer to as the "Tangerine" is really the TangerineSDR DE and associated components (CKM, RFM, Sensor Shield).<br>
<br>
You do mention connecting the TangerineSDR DE directly to a server. I want to make sure that our terms are consistently correct (blame my OCD). In the TangerineSDR world, it is a server, a connection between the RF world and our network. The combination of
 direct UDP data to/from the DE and/or UDP/TCP C&C plus data to/from the SBC makes up the TangerineSDR "Server" function. TangerineSDR talks to "clients", processors, consumers (RX) or producers (TX) of data.<br>
<br>
So in the case where the SBC is the consumer and pre-processor of data, the SBC part of my definition of TangerineSDR becomes a client to the DE. It then becomes a "server" to what you refer to as the Server, which I presume is the Central Server of All PSWS
 Big Data. The Central Server then becomes a "server" to Scientific clients that which to obtain and study the data collected from all the thousands of PSWS.<br>
<br>
So what is the best nomenclature to use? Perhaps we should define a PSWS Central Server to be "SWServer" or "SWSS". And then call out the specific pieces of the hardware by their names, since we are really defining them in terms of function in your spec. So
 please use "TangerineSDR DE" and either "TangerineSDR SBC" or maybe just "SBC", which is clear enough. To me, TangerineSDR by itself means the whole CKM, RFM, DE and SBC.<br>
<br>
Again, my goal is for "TangerineSDR" to be configurable as "PSWS", "P4G", "STEM SDR", etc. All of these will include some form of SBC.<br>
<br>
The confusion is probably my fault for putting the DE hardware spec cart before the TangerineSDR system spec horse.<br>
<br>
On GNURadio, I doubt that you will find that any affordable SBC will provide GNURadio with adequate run-time resources. Have you loaded loaded and run it on a RPi? My opinion is that it is a great R&D tool, but it is nowhere stable enough to include in any
 release of automated PSWS software. I can't even imagine a thousand copies of GNURadio on PSWS all around the world. It would simply not work. I am willing to be proven wrong, but we will need a lot more testing to prove stability before then.<br>
<br>
On system updates, I plan to have the ability for the LCC to supporting updates to the DE firmware from the SBC. In my case, I was thinking manual update by connecting the SBC to a web page and letting the user pick an update from a list. The Remote C&C could
 implement an external prcedure to virtualize a firmware update to the DE via the LCC interface. It could even be made automatic or a push update from the SWSS, with proper authentication.<br>
<br>
73,<br>
Scotty WA2DFI<br>
<br>
<o:p></o:p></p>
<div>
<p class="MsoNormal">On 2019-05-12 06:52, Tom McDermott wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal">Hi Bill - thanks for generating the spec.  It's good to see various pieces of the project starting<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">to get documentation. It's a nice document.  Can I borrow the nice HAMSCI and TAPR logos?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Here are some comments on the spec - it may be too early to address most of them (perhaps<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">put them in the parking lot and get back to them later?).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">1.User Interface.  Would it be useful to have an optional status / eye-candy display<br>
of space weather, propagation, or measurements?   This might be a selling<br>
point for people to acquire a PSWS. Would it need to download something<br>
from the central server to do this?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">2. Does the system need a way to do unattended recovery / restart?  Once the<br>
system has been configured for unattended operation and measurement, should<br>
the system have a GUI settable configuration to enable the ability to auto<br>
discover radios, program them to the current observational needs (frequency, band,<br>
etc.), and establish server reporting?  Essentially, get back to what it was doing<br>
before power failed, or the node was rebooted, etc.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">3. One of the key issues will be the time required to upload data to the central<br>
server. For example:  a dual-receiver 8-band 192 ks/s 15-minute observation would<br>
be about 20 GB of data. Assuming a 1 Mbit/s upload speed it would take about 2 days<br>
to upload (assuming near 100% efficiency).  During that upload the 24-hour buffer<br>
would be over-written.  <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">4. Could the data to be uploaded to the server be compressed effectively?  Lossless<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">compression might not achieve much reduction in data size.  Lossy compression might<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">obscure science data. Can the SBC compress data while doing other tasks (concern<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">about CPU performance).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">5. Should Gnuradio support be optional?  It is a lot of overhead, there may be<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">lower-resource approaches to data processing.  Does Gnuradio have reliability<br>
issues for long-running / continuous tasks?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">-- Tom, N5EG<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Sat, May 11, 2019 at 12:46 PM Engelke, Bill <<a href="mailto:bill.engelke@ua.edu">bill.engelke@ua.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">See attached, first draft of Functional Spec for the Local Host (SBC).   Hope to discuss at Dayton.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">-73- Bill AB4EJ<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">W. D. Engelke (Bill), Asst. Research Engr.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Center for Advanced Public Safety<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Cyber Hall<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The University of Alabama<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Tuscaloosa, AL 35487<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Desk: (205) 348-7244<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Mobile: (205) 764-3099<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>