Color me impressed and shiver-me-timbers. Only been running this a short while but it's decoding stuff I can't even see now buried in QRM!
Great job guys!! 73 Mike W9MDB. On Sat, Oct 31, 2015 at 3:43 PM, Steven Franke <s.j.fra...@icloud.com> wrote: > Hi Joe and all, > > I’ve just committed a batch of modified routines associated with my > attempts to improve the low-SNR performance of wsjt-x. > > I did a number of experiments aimed at identifying why wsjt-x was not > performing as well as wsjt on our low-snr test files. I used the jt65 test > program and the usual set of 1000 .wav files, each of which contains a > single simulated signal with -24dB snr. The original batch of test files > was generated using JTSim, and contain 8-bit data at 11.025kS/s. I used the > *nix program “sox” to convert the files to 16-bits at 12kS/s. > > I started by doing some tests that convinced me that the solution would > involve decreasing the estimation errors for both f0 and dt. In order to > get to the bottom of this with my sanity intact, I ended up making the > changes necessary to remove all empirical dt offsets and also all > zero-padding at the beginning of data arrays. Negative dt’s are handled by > testing indices to ensure that they remain within the bounds of the > relevant arrays. > > At present, the convention is that dt is referenced to the beginning of > the wav file. So a transmission that starts at 1.0 second into the file > will have a time stamp of 1.0. It will be a simple matter to subtract 1 > from the displayed value to make the numbers equivalent to what the current > wsjt-x prints out. > > I gave up tracking the effect of each and every change - but I believe > that the most significant ones are: > (i) Using full-symbol coherent integration when calculating ccf between > data and sync sequence instead of the prior scheme which did half-symbol > integration and then summed the powers from the two half-symbols > (ii) Added a “peakup” step to the final dt calculated using > 1/16-of-a-symbol steps. This gets us to sub-1/16-symbol accuracy which > makes a noticeable improvement at low SNR’s. > (iii) For reasons that I don’t understand - on my data, it seems to be > slightly better to fit for a(1),a(2),a(3), but then ignore a(3) when > tweaking the frequency. > > Since I had to make a significant number of changes, I’ve confined them to > renamed routines that have the _exp appended to the normal filename. These > modified routines are invoked in the Makefile.jt65, but they are not yet > used in 1.6.1. I’d like to know that you can reproduce my improved results > and that you are comfortable with the changes before we consider moving > them into wsjt-x. > > Here’s a summary of the improvement on my data: > > -24 dB files, ntrials=10000 > before changes: 639/1000 (this is what the current 1.6.1 gives) > after changes: 827/1000 > > 333 hf .wav files recorded on 20m, 2 passes, ntrials=1000 > before: 4044 > after: 4150 > > Steve k9an > > > > > ------------------------------------------------------------------------------ > _______________________________________________ > wsjt-devel mailing list > wsjt-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wsjt-devel >
------------------------------------------------------------------------------
_______________________________________________ wsjt-devel mailing list wsjt-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wsjt-devel