I'm thinking about suggesting a smaller CRC and therefore a shorter
list length, with the stronger codes, for example
http://abelian.org/ebnaut/calc.php?sndb=14&snbws=0.000025&snmps=&code=16K25&sp=36&crc=8&nc=3
Let me do some simulations of the two settings to compare the
decode performance with lots of trials.
Varying the CRC length transfers coding gain between the Viterbi
layer and the outer list decoding. I expect there's an
optimum to be found. If nothing else, the shorter list is
more computationally efficient.
This is important because lots of decoder runs are required!
I had to drop 4 days of the 13 because they didn't contribute
any signal - the S/N drops when each is included. This is
not so difficult with carrier detection, once I have a bit of
signal it's fairly quick to drop out the days, one at a time,
to see the effect.
But for EbNaut there is no clue, you are operating blind, you
either get a decode or you don't. There are 13 possibilities
to drop 1 day, 78 ways to drop 2 days, 286 ways to drop 3 days,
715 for 4 days and so on. A lot of permutations to try!
I just ran my best 9 day stack into ebnaut:
vtmult -f 10.000081 /t/t/170327g-40.vt |
vtraw -oa |
ebnaut -dp16K25A -r40 -PS -v -N3 -c8 -S30 -k18 -L250000
to get
found rank 10826 ber 4.2083e-01 Eb/N0 0.5 [***]
carrier phase: -8.4
carrier Eb/N0: -0.0
carrier S/N: 12.31 dB in 34.7 uHz
elapsed 82
Tried with CRC 8 and 36 second symbols:
vtmult -f 10.000081 /t/t/170327g-40.vt |
vtraw -oa |
ebnaut -dp16K25A -r40 -PS -v -N3 -c8 -S36 -k8 -L300
found rank 110 ber 4.3375e-01 Eb/N0 -1.8 M [***]
carrier phase: -23.2
carrier Eb/N0: -0.0
carrier S/N: 12.31 dB in 34.7 uHz
elapsed 45
Carrier Eb/N0 and S/N are the same because the signal duration
is identical with these two code settings.
The reference phase for both decodes was constant. Here's the
error map for the second one
http://abelian.org/vlf/tmp/170327a.gif
I'm not sure what that's telling us.
--
Paul Nicholson
--
|