mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-28 04:12:32 -04:00
decode_fullaplist updated. the decoding threshold is now adjusted in function of the number of codewords passed
This commit is contained in:
parent
cbfb6dd250
commit
5a3dd69331
@ -681,8 +681,7 @@ int q65_decode_fullaplist(q65_codec_ds *codec,
|
||||
int k;
|
||||
int nK, nN, nM;
|
||||
|
||||
float llh;
|
||||
float maxllh = Q65_LLH_THRESHOLD-1; // set to a value less than the threshold
|
||||
float llh, maxllh, llh_threshold;
|
||||
int maxcw = -1; // index of the most likely codeword
|
||||
const int *pCw;
|
||||
|
||||
@ -693,6 +692,12 @@ int q65_decode_fullaplist(q65_codec_ds *codec,
|
||||
nN = q65_get_codeword_length(codec);
|
||||
nM = q65_get_alphabet_size(codec);
|
||||
|
||||
// we adjust the llh threshold in order to mantain the
|
||||
// same false decode rate independently from the size
|
||||
// of the list
|
||||
llh_threshold = Q65_LLH_THRESHOLD + logf(1.0f*nCodewords/3);
|
||||
maxllh = llh_threshold; // at least one llh should be larger than the threshold
|
||||
|
||||
// compute codewords log likelihoods and find max
|
||||
pCw = pCodewords; // start from the first codeword
|
||||
for (k=0;k<nCodewords;k++) {
|
||||
@ -719,9 +724,6 @@ int q65_decode_fullaplist(q65_codec_ds *codec,
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// helper functions -------------------------------------------------------------
|
||||
|
||||
int _q65_get_message_length(const qracode *pCode)
|
||||
@ -874,5 +876,3 @@ static void _q65_crc12(int *y, int *x, int sz)
|
||||
y[0] = sr&0x3F;
|
||||
y[1] = (sr>>6);
|
||||
}
|
||||
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
||||
// Verify loglikelihood after successful decoding
|
||||
#define Q65_CHECKLLH
|
||||
// Max codeword list size in q65_decode_fullaplist
|
||||
#define Q65_FULLAPLIST_SIZE 64
|
||||
#define Q65_FULLAPLIST_SIZE 256
|
||||
|
||||
// maximum number of weights for the fast-fading metric evaluation
|
||||
#define Q65_FASTFADING_MAXWEIGTHS 65
|
||||
|
Loading…
x
Reference in New Issue
Block a user