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