Mike --

On 9/29/2015 5:29 PM, Michael Black wrote:
> So the failures are a separate section?

No.  Have you looked at what the decoder is doing?

If 25 or fewer of 63 received symbols are in error, the deterministic 
Berlekamp_Massey (BM) algorithm is guaranteed to succeed.  With more 
than 25 errors BM may still succeed if we know (or can guess) which 
symbol values are likely to be incorrect.

We use a stochastic approach, making many "partly random" guesses about 
which symbols (typically anywhere from 37 to 51 of them) might be in 
error.  These selected symbols are said to be "erased", and the BM 
algorithm assigns their values a "don't care" status.

The "erasure vector" (list of symbols to be erased) is only partly 
random because we can rank the list of 63 symbols by their relative 
reliability.  Clearly it makes sense to assign low-reliability symbols a 
higher probability of erasure.  We also assign higher erasure 
probability to cases where the second-best symbol value was "almost as 
good" as the first-best value.

When the BM algorithm succeeds in returning a potentially valid 
codeword, we measure its "soft distance" from the 63 received symbol 
values.  If the estimated reliability of a erroneous symbol was high, 
the incremental soft distance contribution is large, and vice-versa.

The inner program loop keeps trying different erasure vectors, seeking 
the minimum soft distance.  When a minimum is found that is low enough, 
a decode is declared.  If no small-enough minimum is found after 
"ntrials" attempts, a decoding failure is declared.

> Question would be how often in real life do failures occur?

For all modes and decoders in WSJT and WSJT-X, upstream parts of the 
program make basic tests of signal quality, symbol reliability, etc., 
that will minimize the number of decoding attempts that are almost sure 
to fail.

> And would you make the # of trials dependent on # of cores?

No.  But some user control over the attempted "depth" of decoding may be 
provided.

        -- Joe, K1JT

------------------------------------------------------------------------------
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to