<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)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@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:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@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:1452744281;
        mso-list-template-ids:-839363588;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
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 lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Thanks, Aidan.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">73 de Nathaniel<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> TangerineSDR <tangerinesdr-bounces@lists.tapr.org>
<b>On Behalf Of </b>Aidan Montare via TangerineSDR<br>
<b>Sent:</b> Saturday, April 18, 2020 10:21 PM<br>
<b>To:</b> TAPR TangerineSDR Modular Software Defined Radio <tangerinesdr@lists.tapr.org><br>
<b>Cc:</b> Aidan Montare <aam141@case.edu>; Skylar Dannhoff <sgd24@case.edu>; David Kazdan <dxk10@cwru.edu><br>
<b>Subject:</b> Re: [TangerineSDR] Setting up DE for selected bands and sample rate<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On the point (3a) on making frequency estimations with the IQ data: Skylar (KD9JPX) is working on implementing the frequency estimation algorithm in Python so that we can do some sensitivity analysis. The knowledge from her work could go
 into efforts to do frequency estimation from IQ signals.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Nathaniel, fldigi does support reading from files, but I forget the specifics of this. I don't recall that it supports IQ.<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Sat, Apr 18, 2020 at 6:04 PM John Gibbons via TangerineSDR <<a href="mailto:tangerinesdr@lists.tapr.org">tangerinesdr@lists.tapr.org</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"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Getting the estimator is easy - you know what it's supposed to be.  <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">In our case we're 1 KHz off the beacon frequency, so it will ALWAYS be 1.000KHz.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">John N8OBJ<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">John C. Gibbons<o:p></o:p></p>
</div>
<p class="MsoNormal">Director - Sears Undergraduate Design Laboratory<o:p></o:p></p>
</div>
<p class="MsoNormal">Dept. of Electrical Engineering and Computer Science<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">Case Western Reserve University  <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">10900 Euclid Ave, <span style="font-size:9.5pt">Glennan 314</span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:9.5pt;font-family:"Helvetica",sans-serif;color:black">Cleveland, Ohio  44106-7071<br>
Phone </span><a href="tel:216-368-2816" target="_blank"><span style="font-size:9.5pt;font-family:"Helvetica",sans-serif;color:#1155CC">(216) 368-2816</span></a><span style="font-size:9.5pt;font-family:"Helvetica",sans-serif;color:black"> FAX </span><a href="tel:216-368-6888" target="_blank"><span style="font-size:9.5pt;font-family:"Helvetica",sans-serif;color:#1155CC">(216)
 368-6888</span></a><span style="font-size:9.5pt;font-family:"Helvetica",sans-serif;color:black"><br>
E-mail: </span><a href="mailto:jcg66@case.edu" target="_blank"><span style="font-size:9.5pt;font-family:"Helvetica",sans-serif;color:#1155CC">jcg66@case.edu</span></a><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Sat, Apr 18, 2020 at 3:25 PM Tom McDermott via TangerineSDR <<a href="mailto:tangerinesdr@lists.tapr.org" target="_blank">tangerinesdr@lists.tapr.org</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">Hi Nathaniel -<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Responding to question 1: the requirements for the DE putting out 8 channels sampled at 10 Hertz are similar to 8 channels<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">sampled at higher rates. The very low sample rate requires the FPGA low pass filters have many more taps, but I think<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">that's small-ish compared to other FPGA things.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Responding to #2 (from the original post) The algorithm in the paper would probably be implemented in the Local Host as software.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I'm not sure it would be easy nor useful to figure out how to compute that in FPGA as opposed to in CPU.   But at 10 Hz sample rate,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">that computation is likely feasible in CPU. There will be the initial collection of samples to get the estimator started, then it can update<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">frequently (i.e. 1 second rate).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I can't comment on question 3.<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>
<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>
<p class="MsoNormal">On Sat, Apr 18, 2020 at 3:37 AM Dr. Nathaniel A. Frissell Ph.D. <<a href="mailto:nathaniel.frissell@scranton.edu" target="_blank">nathaniel.frissell@scranton.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>
<p class="MsoNormal">Hi Bill and Tom, <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">1. If we run the DE in the 8 channel mode for doing these measurements, do we think that will max out the data engine to prevent it from doing anything else?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">3a. I agree that we probably do not want to emulate a sound card. I would like to see a program like FLDigi be able to accepts files or buffers. It would be good not only for the PSWS, but al also for doing post-processing of data in general.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">3b. We need the ability to collect both the raw spectrum and the derived frequency estimate. Exactly how to interpret and use these things is still an active area of research. Steve WA5FRF is actively working on this and is probably the
 best person to work with on this right now.<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">Maybe David Kazdan can comment to address Tom’s question on needing 100 seconds of measurements.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">73 de Nathaniel W2NAF<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">— <br>
Dr. Nathaniel A. Frissell, Ph.D., W2NAF<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">HamSCI Lead<br>
Assistant Professor<br>
Department of Physics and Electrical Engineering<br>
University of Scranton<br>
(973) 787-4506<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Apr 17, 2020, at 1:41 PM, Tom McDermott via TangerineSDR <<a href="mailto:tangerinesdr@lists.tapr.org" target="_blank">tangerinesdr@lists.tapr.org</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">Hi Bill - thanks for the link to the paper.   I don't have access to the references in the paper, particularly<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[1], [2], [3], and [4], so I am missing the details of the critical first step.  My reading of the paper indicates that<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">the initial estimate of the frequency is needed, and that initial estimate has to distinguish between adjacent<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">spectral bins, those being +/-fs/N apart. (Section 2.1, step 1.)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">So perhaps I'm reading this wrong, but it still seems like one needs 1000 samples to separate<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">out the desired bin, assuming 10 Hz sample rate and 10 milliHz resolution, that is 100 seconds.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[ The DFT doesn't need a power-of-two sample size, it can just be a convenient number. ]<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>
<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>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Fri, Apr 17, 2020 at 8:52 AM Engelke, Bill via TangerineSDR <<a href="mailto:tangerinesdr@lists.tapr.org" target="_blank">tangerinesdr@lists.tapr.org</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">In
<a href="https://scranton.zoom.us/rec/play/tMd4JO39-j43H4WQ5gSDC_AtW9S_ffmsgHcd-KJZy0uzUiIAZlPwMuQSYbeIYiPAWTSPSeb1nkzcpCCR?startTime=1587063159000&_x_zm_rtaid=NMAJy4E0RWahMdU1UXtvsg.1587138515458.823452708c432bc18700b9c14edfeb54&_x_zm_rhtaid=286" target="_blank">
yesterday’s HamSCI research telco</a>, we discussed several ideas on how to accomplish several goals with the TangerineSDR; a summary is below for your review and comment.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<ol start="1" type="1">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
We currently think that the Data Engine (DE) will have the capacity to simultaneously collect up to 8 channels of data for observing Doppler shift in carrier frequencies, i.e., WWV at 2.5, 5, 10, 15, 20 MHz plus CHU at 3.33, 7.335 and 14.670 MHz.  We think
 we can do this by observing excursions of up to +/- 1 Hz from the carrier frequency with a
<b>precision of 0.01 Hz, with measurements taken every second </b>(see next point).<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
In earlier discussions on this board, it has been stated that this kind of precision (10 milliHz) would require a 102.4 second sample time; this assumes the processing is linear. CWRU is using a non-linear method in the low-cost approach to extract a frequency
 estimate, which uses fldigi to achieve the 10 milliHz resolution once per second, and it was discussed that TangerineSDR could be set up to do this as well. (Reference here:
<a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1017.4615&rep=rep1&type=pdf" target="_blank">
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1017.4615&rep=rep1&type=pdf</a> )<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
I won’t try to explain the method mentioned above, as it is at the very limits of my understanding; however, a couple of observations…
<o:p></o:p></li></ol>
<ol start="3" type="1">
<ol start="1" type="a">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1">
The CWRU low-cost system uses fldigi to implement the frequency estimator, and in looking at fldigi I see that it requires sound card input. In the case of the TangerineSDR, we will have buffers of IQ data. I don’t think I want to use some sort of kludge to
 take the buffers and somehow emulate a sound card (do I?) – another option might be to implement the frequency estimator algorithm in the Small Board Computer (SBC) of the TangerineSDR. If we could/should do this, I would ask for a volunteer to code it; I
 fear that if I try to do it, it would take far too long for me to get up the learning curve. The code (C++) for the algorithm as used in fldigi is online (included with hundreds of other routines; see
<a href="http://www.w1hkj.com/files/fldigi/" target="_blank">http://www.w1hkj.com/files/fldigi/</a> ). A third option might be to persuade the fldigi team to support buffer or file input.<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1">
As I understand, the frequency estimator outputs a single value: the strongest signal in the band. A downside of this is that there seems to be a lot of other possible information in the data (Steve Cerwin has shown data he has collected showing Doppler effects
 but with multiple structures including various modes in both time and frequency domain). We need some guidance from the science community: what data do we really need to do the desired science?? Maybe we need to implement/support both raw data collection &
 frequency estimation at the same time(?)<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1">
In yesterday’s call, we discussed that we should be able to specify an 8 ksps sample rate and a center frequency, and get the desired 10 milliHz resolution – frankly, I am still fuzzy on the details of this, so I wish someone (David Kazdan? Kristina?) would
 chime in and explain, for the record, how this works.<o:p></o:p></li></ol>
</ol>
<ol start="4" type="1">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
Channel configuration settings for the DE: <o:p></o:p></li></ol>
<ol start="4" type="1">
<ol start="1" type="a">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo2">
The DE will be able to tell the SBC what data rates it supports. We are working with 2-byte command codes; in general, a command ending in “?” is a query, i.e., send the DE the command “S?” and it answers “AK” , a simple health check.  Send the DE the command
 “R?” – it will respond with a table such as the following:<o:p></o:p></li></ol>
</ol>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.75in">
              1  2000    2  4000    3  8000    4  16000     etc. – where each entry is 2 integers: an index and a sample rate (Hz). To put a channel into data rate of 8000 sps, we put 3 into the channel setting.<o:p></o:p></p>
<p style="margin-left:1.0in"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Please comment!                   -73- Bill, AB4EJ<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">-- <br>
TangerineSDR mailing list<br>
<a href="mailto:TangerineSDR@lists.tapr.org" target="_blank">TangerineSDR@lists.tapr.org</a><br>
<a href="http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org" target="_blank">http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal">-- <br>
TangerineSDR mailing list<br>
<a href="mailto:TangerineSDR@lists.tapr.org" target="_blank">TangerineSDR@lists.tapr.org</a><br>
<a href="http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org" target="_blank">http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org</a><o:p></o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal">-- <br>
TangerineSDR mailing list<br>
<a href="mailto:TangerineSDR@lists.tapr.org" target="_blank">TangerineSDR@lists.tapr.org</a><br>
<a href="http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org" target="_blank">http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal">-- <br>
TangerineSDR mailing list<br>
<a href="mailto:TangerineSDR@lists.tapr.org" target="_blank">TangerineSDR@lists.tapr.org</a><br>
<a href="http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org" target="_blank">http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><br clear="all">
<br>
-- <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">Sincerely,<br>
<br>
Aidan Montare<br>
CWRU Class of 2021<o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>