Joe,

I’d vote to keep sunrise and sunset separate Joe. Thinking of 10m propagation 
in particular, there is significant asymmetry between sunset and sunrise at my 
location.

Re idea #1 - this is what I meant when I talked about switching metric tables. 
The idea would be to switch the table (and possibly the symbol amplitude 
scaling) based on estimated SNR. I will give this a try and let you know what I 
find out.

Idea #2 - sounds like the CLEAN algorithm… Yes, this would be fun to try.

Yes, I agree that sqrt(power) vs power is a moot point as long as the metric 
table is constructed accordingly. 

73 Steve k9an

> On May 17, 2015, at 12:31 PM, Joe Taylor <j...@princeton.edu> wrote:
> 
> Hi Steve,
> 
> Thanks for sharing further thoughts on band hopping -- and the results 
> of your optimization efforts on the WSPR decoder.  It's good to have a 
> professional's attention paid to some of the relevant formalities of 
> communication theory.  I do read the textbooks -- the classic by Proakis 
> long ago became my favorite -- but I'm never quite sure that I have 
> everything exactly right.
> 
> A spinner control to set the duration of the grayline choice of bands 
> should be no problem.  One question about this: do you forsee any reason 
> to select a different group of bands (or duration of the grayline 
> window) for sunrise and sunset?  If not, would three columns of 
> band-select buttons (Day, Night, and Gray Line) be better than four?
> 
> On the optimization question: As you have now discovered independently, 
> I decided to maximize the number of decodes for a typical mix of 
> on-the-air signals, on a variety of bands, rather than for a specific 
> type of idealized signal -- say, the weakest ones detectable.  So I'm 
> not surprised that one can do somewhat better for simulated signals with 
> S/N = -30 dB.  I think the choice of using power or sqrt(power) is moot 
> if a corresponding metric table is used.
> 
> I've had two possible ideas for improving decoding performance even 
> further, beyond the present wsprd.
> 
> 1. When the time-consuming Fano process is started, we already have a 
> good estimate of signal strength.  We could, therefore, have two (or 
> even more than two) metric tables ready for use -- one for the weakest 
> decodable signals, and one for signals stronger by at least 5 dB (or 
> some such number).
> 
> 2. These days, crowded WSPR sub-bands fairly often have signals that 
> overlap in frequency.  The stronger one is usually decoded, but the 
> other one generally not -- even though it's easily strong enough to be 
> decoded in the clear.  Here's what we could do.  For every decoded 
> signal we know, in principle, the exact waveform that was transmitted. 
> So we regenerate that signal in the decoder, as a unit-amplitude complex 
> waveform.  Multiply the received complex waveform (the one already 
> downsampled to 375 Hz) by the complex conjugate of the idealized decoded 
> signal.  Lowpass filter the result at something like 1 Hz, to get rid of 
> all the other signals and most of the noise.  The should leave something 
> close to DC: slowly varying amplitude and phase, corresponding to 
> propagation changes and perhaps oscillator instabilities.  These can be 
> fit these with a complex polynomial -- and then we could create a nearly 
> exact replica of the decoded signal.  This can be subtracted from the 
> received complex waveform, leaving everything BUT the one signal so 
> treated.  This procedure could be followed for each of the decoded 
> signals, and then the WSPR decoder could be turned loose again, on 
> what's left.
> 
> I can imagine that such a procedure might increase the number of decodes 
> in a particular 2-minute interval by a few, when the band is crowded.
> 
>       -- Joe
> 
> On 5/17/2015 12:26 PM, Steven Franke wrote:
>> For my purposes, I like the idea of using automatically calculated 
>> sunrise/sunset as the pre-defined center of the sunrise/sunset windows. It'd 
>> be sufficient to accept just one parameter, transition_duration, which would 
>> be the width of the sunrise/sunset transition periods. That is essentially 
>> what I’ve been doing here with transition_duration=2 hours (i.e. one hour 
>> before and after), except that I have to manually adjust the center of the 
>> transition window as the season changes. This scheme may not make sense for 
>> those who live at high latitudes though...
>> 
>> One more thing on hopping - when hopping, I always honor the coordinated 
>> hopping schedule. That is, if a band is active, I will always visit that 
>> band at the appointed coordinated hopping time. Coordinated hopping times 
>> that correspond to an inactive band are filled with a random selection from 
>> the set of active bands.  I think that this is consistent with what your 
>> WSPR program does.
>> 
>> I spent yesterday trying to tune the wspr decoder to see if I could produce 
>> more spots than the latest version that includes your tweaks. My effort 
>> focused on trying to optimize the metric table and the symbol amplitude 
>> scaling. I discovered your genmet.f90 simulation program and modified it so 
>> that it writes out the biased and scaled metric table directly. Long story 
>> short, by going back to “power”-based symbols and creating a metric table 
>> that is appropriate for non-coherent 2-FSK “power” symbols and low (4.0 dB 
>> Eb/No) SNR, I was able to beat the current version by about 10% on decodes 
>> of test files produced by wspr0 with SNR=-30 dB. On a large batch of files 
>> containing all types of conditions (160-10m, day and night) my tweaked 
>> version still loses to the current version by a couple of percent, however. 
>> The last thing on my list of things to try is to switch between low- and 
>> high-SNR metric tables to see if that improves average execution time. I 
>> doubt that it’
> s going to make much difference. It looks like you’ve got it pretty much 
> optimized.
>> 
>> I found a couple of interesting papers that suggest that the “Z-J” stack 
>> algorithm may have a significant speed advantage over the Fano algorithm for 
>> the more difficult-to-decode frames. It doesn’t seem like the extra memory 
>> requirements of the stack algorithm would be an issue on the type of 
>> computing platform that we are using. As a summer project, it might be fun 
>> to code-up that algorithm to see how well it works. Before I go down that 
>> road - have you or someone else already tried this for the JT-X and WSPR 
>> application?
>> 
>> 72 Steve k9an
>> 
>>> On May 17, 2015, at 9:45 AM, Joe Taylor<j...@princeton.edu>  wrote:
>>> 
>>> Hi Steve and all,
>>> 
>>> I'm starting to plan a Band Hopping implementation for WSJT-X, and I
>>> appreciate having your suggestions.
>>> 
>>> Suppose we have four columns of band-activation buttons: Day, Night, and
>>> morning and evening gray lines.  We already have the necessary
>>> astronomical routines in place, so in principle WSJT-X knows when
>>> sunrise and sunset occur.  We could therefore choose the transition
>>> times between one set of bands and the next automatically.  What would
>>> be the best indicator of the time to switch?  Something like half an
>>> hour before/after sunrise or sunset?  Or some other criterion?
>>> 
>>> Including a facility to call a user_hardware script before each 2-minute
>>> window should be no problem: earlier versions of WSPR do that, and it
>>> works well.
>>> 
>>>             -- Joe, K1JT
>>> 
>>> On 5/13/2015 10:45 PM, Steven Franke wrote:
>>>> Hi Joe,
>>>> I tried the latest wsjt-x_exp this evening on Ubuntu 14.04 and it worked 
>>>> great! My regular hopping setup uses gnuradio to read the TS-480's audio 
>>>> from a sound card and write it to a .wav file. I send xmlrpc commands to 
>>>> stop and start recording. I was surprised to find that I could start 
>>>> wsjt-x "on top" of my program, and have it listen to the same sound card 
>>>> that my gnuradio program was recording.
>>>> 
>>>> I see that you intend to add band hopping. That's great! It'd be nice if 
>>>> you'd include the facility to call a user_hardware script before each 
>>>> 2-minute window. I need this to control antenna and filter switches. The 
>>>> next interval's frequency could be provided as an argument to the 
>>>> user_hardware script.
>>>> 
>>>> While you're at it, how about 4 hopping schedules that can be run during a 
>>>> 24 hour cycle? Day, night, and sun rise-set transition windows... That's 
>>>> what I use here, but it's orchestrated by a cron job. It'd be nice to be 
>>>> able to control it from within your slick GUI. It would be sufficient to 
>>>> have 4 rows of band buttons to select the active bands, and set the 
>>>> transition times.
>>>> 
>>>> Thanks for the very cool program!
>>>> 
>>>> 73 Steve k9an
>>>> 
>>>>> On May 13, 2015, at 12:05 PM, Joe Taylor<j...@princeton.edu>   wrote:
>>>>> 
>>>>> Hi Edson,
>>>>> 
>>>>> PY2SDR wrote:
>>>>>> Would it add too much complexity to have the frequency error correction 
>>>>>> in
>>>>>> the audio base band of the decoders? This would prevent having to re-tune
>>>>>> the rig and would also allow crystal controlled transceivers to also have
>>>>>> frequency error correction.
>>>>> 
>>>>> This could be done, of course.  For a single-band crystal controlled
>>>>> WSPR rig the number from a "Frequency correction" entry widget (a
>>>>> spinner control, say) could be used to alter the (audio) frequency range
>>>>> covered by the decoder, fix up the reported frequencies of decoded
>>>>> signals, and adjust the frequency of Tx audio tones.
>>>>> 
>>>>> For some years already, production WSPR versions have included the
>>>>> ability to set a "BFO frequency" to something other than 1500 Hz.  I
>>>>> think that could accomplish the necessary recalibration for the crystal
>>>>> controlled case.
>>>>> 
>>>>> But under normal circumstances with rig control, I see little
>>>>> disadvantage to retuning the radio.  We have all the tools in place, and
>>>>> they work well.  Several people have been testing JT4 on the 10 GHz EME
>>>>> path in recent weeks, using the automatic Doppler control (both Tx and
>>>>> Rx) now in v1.6.1.  They are delighted with it!
>>>>> 
>>>>>    -- Joe, K1JT
>>>>> 
>>>>> ------------------------------------------------------------------------------
>>>>> One dashboard for servers and applications across Physical-Virtual-Cloud
>>>>> Widest out-of-the-box monitoring support with 50+ applications
>>>>> Performance metrics, stats and reports that give you Actionable Insights
>>>>> Deep dive visibility with transaction tracing using APM Insight.
>>>>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>>>>> _______________________________________________
>>>>> wsjt-devel mailing list
>>>>> wsjt-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/wsjt-devel
>>>> 
>>>> ------------------------------------------------------------------------------
>>>> One dashboard for servers and applications across Physical-Virtual-Cloud
>>>> Widest out-of-the-box monitoring support with 50+ applications
>>>> Performance metrics, stats and reports that give you Actionable Insights
>>>> Deep dive visibility with transaction tracing using APM Insight.
>>>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>>>> _______________________________________________
>>>> wsjt-devel mailing list
>>>> wsjt-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/wsjt-devel
>>> 
>>> ------------------------------------------------------------------------------
>>> One dashboard for servers and applications across Physical-Virtual-Cloud
>>> Widest out-of-the-box monitoring support with 50+ applications
>>> Performance metrics, stats and reports that give you Actionable Insights
>>> Deep dive visibility with transaction tracing using APM Insight.
>>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>>> _______________________________________________
>>> wsjt-devel mailing list
>>> wsjt-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/wsjt-devel
>> 
>> 
>> ------------------------------------------------------------------------------
>> One dashboard for servers and applications across Physical-Virtual-Cloud
>> Widest out-of-the-box monitoring support with 50+ applications
>> Performance metrics, stats and reports that give you Actionable Insights
>> Deep dive visibility with transaction tracing using APM Insight.
>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>> _______________________________________________
>> wsjt-devel mailing list
>> wsjt-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wsjt-devel
> 
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud 
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> wsjt-devel mailing list
> wsjt-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wsjt-devel


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to