[TangerineSDR] Notes from PSWS / TangerineSDR call of 04-27-2020

Phil Erickson phil.erickson at gmail.com
Tue Apr 28 11:15:08 EDT 2020


Hi Bill,

  Our long experience with developing software for science is that when a
program gets to be long and complicated and Swiss Army knife-flavor, it
almost never makes sense to do anything but clean-room reimplement the key
parts of what you need.  Your experience may also be consistent.  There are
huge assumptions within fldigi about how data gets passed around and I
seriously doubt it is that efficient to wade through and understand all of
them.

  Also, my suggestion of python implementation was for ease of analysis.
It is equally easy to code a C version of an algorithm and then make a
Python glue module - there are many tools to do this and they are
automated.  I just don't do it any longer because we "optimize last" and
the computers always get faster as we develop a project.  You have a
different use case: this has real time limits, so you can't dodge
optimization.  So a native C routine with an auto-generated Python
interface is pretty easy.

  Your experiences with fldigi locking onto the strongest carrier is
exactly the reason why we need this algorithm broken out so that we can
have raw and processed data side-by-side and start running all the
exception cases in weak/fading environments, etc.!

73
Phil W1PJE

On Tue, Apr 28, 2020 at 11:09 AM Engelke, Bill via TangerineSDR <
tangerinesdr at lists.tapr.org> wrote:

> I have also struggled with fldigi with similar issues to those reported by
> Phil; however one thing to consider is that the source code is available
> (if anyone wishes to dig into it to change its functionality; it looks to
> be in C++), and the author is open to contributions from others… so it
> probably could be made to do what we need.
>
>
>
> That said, I would prefer to integrate the underlying algorithm into the
> TangerineSDR Local Host C- code, where it would run fast.  My understanding
> is that Skylar is working on porting the algorithm to run in Python. There
> are bindings that will let you call C++ routines from Python, but I have
> not investigated their use. I will check with CWRU for a better
> understanding of Skylar’s approach, to see how it may help us.
>
>
>
> A sidebar on using fldigi for FMT… the fldigi freq analysis routine finds
> the frequency of the strongest signal in the passband. When I do FMT, I
> line up my GPSDO signal generator a few Hz away from the target signal,
> where I can observe (in SpectrumLab) how many FFT bins separate the target
> from the signal generator; then, by knowing the bin size (about 0.15 Hz) I
> can calculate the target frequency. In this case, fldigi doesn’t help
> because it sees the signal generator as the strongest signal and starts
> reporting that! Another approach is to zero-beat the target with the signal
> generator, but I have found it is mighty hard to do that accurately in the
> time you have, because then you also have to adjust the signal strength of
> the signal generator so it is close to the strength of the target. If you
> have 2 complete receiving chains you possibly could use fldigi to generate
> a doppler correction factor you could then apply (when shooting for the top
> accuracy of < 0.1 Hz error).
>
>
>
> *From:* TangerineSDR <tangerinesdr-bounces at lists.tapr.org> *On Behalf Of *Dr.
> Nathaniel A. Frissell Ph.D. via TangerineSDR
> *Sent:* Tuesday, April 28, 2020 7:06 AM
> *To:* TAPR TangerineSDR Modular Software Defined Radio <
> tangerinesdr at lists.tapr.org>
> *Cc:* Dr. Nathaniel A. Frissell Ph.D. <nathaniel.frissell at scranton.edu>
> *Subject:* Re: [TangerineSDR] Notes from PSWS / TangerineSDR call of
> 04-27-2020
>
>
>
> Hi Phil,
>
>
>
> Thanks for the comments. I think that is very good to consider. In light
> of review, I think it is a good idea to postpone FLDigi integration at this
> time. As Phil said, we should pull out the frequency estimation routine for
> separate testing and possible direct use. I believe Skylar Dannhoff is
> working on this. For the WWV monitoring program, we also do need to have
> the ability to save both the raw data and the derived frequency estimation
> data product.
>
>
>
> 73 de Nathaniel W2NAF
>
>
>
> *From:* TangerineSDR <tangerinesdr-bounces at lists.tapr.org> *On Behalf Of *Phil
> Erickson via TangerineSDR
> *Sent:* Tuesday, April 28, 2020 7:12 AM
> *To:* TAPR TangerineSDR Modular Software Defined Radio <
> tangerinesdr at lists.tapr.org>
> *Cc:* Phil Erickson <phil.erickson at gmail.com>
> *Subject:* Re: [TangerineSDR] Notes from PSWS / TangerineSDR call of
> 04-27-2020
>
>
>
> Hi all,
>
>
>
>   Sorry that I haven't been able to make these discussions much lately.
> COVID-19 has added a huge amount of work here.
>
>
>
>   I'm fairly concerned about using "fldigi".  In the recent Frequency
> Measurement Test a few days ago, I decided to use its frequency algorithm
> in the "ANALYZE" portion in order to track the unknown carrier that K5CM
> was putting out.  I had a bunch of data already recorded through things
> like Gnuradio stacks; for this discussion, let's assume I had I/Q data in
> some kind of format similar to what Tangerine would put out.  (It was
> DigitalRF to be specific.)
>
>
>
>   Frankly, it was a disaster.  The only way you can input data that I
> could find is through WAV files, so I had to convert all my data to that
> format.  When you start up the program, it immediately starts generating
> bogus data on nothing while you fumble around getting to the menu that
> plays back a WAV file.  When the WAV file ends (I chose non-loop for
> playback), you get another bunch of junk data while you are fumbling around
> with literally quitting the entire program as the only way I could figure
> out to stop the analysis.  While the WAV file is playing and the algorithm
> is analyzing, I found that there are occasionally jumps/glitches in the
> time stamp because the time stamp has nothing to do with the WAV file and
> everything to do with how your computer analysis burden is keeping up (or
> not) with realtime.
>
>
>
>   The resulting files needed a lot of hand editing afterward to remove
> junk before I could profitably do anything with them.  This took a lot of
> time.  I considered myself lucky that I had 2 minutes of data to look at
> for the tone analysis that were clear enough that I could spot them on a
> very simple uniform-X-axis vs frequency plot.  If I hadn't been able to see
> that, it would have been game over.
>
>
>
>   So I would definitely not use it again for any kind of serious
> analysis.  In fact, that is why we've separately requested that the
> statistical frequency measurement algorithm buried within "fldigi" be
> broken out into a separate Python routine. I believe CWRU is working on
> it.  I looked at the fldigi code at one point to see if I could do it, but
> it's an interconnected quasi-monolithic series of routines with unclear
> cross-connections and internal assumptions.  That was a research project
> that I ultimately passed on for lack of time.
>
>
>
>   Sorry to be negative, but this recent experience is I think quite
> relevant to Tom's (1) item.
>
>
>
> 73
>
> Phil W1PJE
>
>
>
>
>
> On Tue, Apr 28, 2020 at 12:27 AM Tom McDermott via TangerineSDR <
> tangerinesdr at lists.tapr.org> wrote:
>
>
> Notes from PSWS / TangerineSDR call of 04-27-2020
>
>
>
> 1. Discussion of bundling / interfacing FLDIGI into the TangerineSDR
> software. Tangerine produces IQ data, while FLDIGI may need WAV data (does
> it accept other formats?). Having the ability to use the various FLDIGI
> capabilities would be nice to have.  There would be a need to reject the
> positive or negative frequency spectra to convert from complex to real,
> multiple approaches are available.
>
>
>
> 2. Discussion of a lightning detector for the magnetometer board. Does it
> need an I2C interrupt?  Scotty mentioned that he may want to abandon the
> PMOD connector and turn the magnetometer board into a Raspberry-PI HAT.
> Dave discussed some potential issues with the I2C interface on this
> particular part, he is still trying to find some details on the issue.
> Another question: what is the science need for lightning detection in terms
> of range and sensitivity? Gerry Creager might be a good person to ask about
> the science requirement.
>
>
>
> -- Tom, N5EG
>
>
>
> --
> TangerineSDR mailing list
> TangerineSDR at lists.tapr.org
> http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org
>
>
>
>
> --
>
> ----
> Phil Erickson
> phil.erickson at gmail.com
> --
> TangerineSDR mailing list
> TangerineSDR at lists.tapr.org
> http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org
>


-- 
----
Phil Erickson
phil.erickson at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tapr.org/pipermail/tangerinesdr_lists.tapr.org/attachments/20200428/53dc3ec0/attachment-0001.html>


More information about the TangerineSDR mailing list