[pskmail] PSK modes with FEC

  • From: John Douyere <vk2eta@xxxxxxxxx>
  • To: pskmail@xxxxxxxxxxxxx
  • Date: Thu, 12 Nov 2009 10:20:07 +1100

Hi All,

I have made good progress on implementing an FEC scheme for the BPSK
modes. It works well, with of course some delay and half the character
rate of the standard BPSK mode.

The concept is as follow: I use a convolution encoder and Viterbi
decoder as for the THOR mode: n=1/2 and K=7. Since the coding is n=1/2
there are two bits to transmit for every bit of data. The output of
the encoder (2 bits at a time) is transmitted sequentially in BPSK
mode to avoid the losses of the QPSK mode.

And here is the issue: how to synchronize on the proper bit. If I miss
one bit at reception I am not in sync with the encoder.

A few concepts I am thinking of and I would like some feedback:

1. Run two Viterbi decoders in parallel reading the same received
stream but with one delayed by one bit, so that an any time one of the
two would be in sync and then choose the one with the best "guess
measure". Advantage: should be the fastest to re-sync in case of a
missed bit. Disadvantage: heavy cpu usage.

2. Use one Viterbi decoder and use the "00" sequence of stop bits to
check for sync: if I get no stop sequence in 12 bits (the maximum
length varicode is 10 bits long) I skip one bit and restart decoding.

Any other ideas?

I am looking to see if I can also do soft decoding rather than hard
decoding: at the moment the decoding to 1 or 0 is done at the received
bit level then fed as a 1 or 0 to the Viterbi decoder. It would be
much better to keep the "soft value" (i.e. the phase measured) and
feed this in the decoder so that it can make a decision based on the
redundant phase information.

Exiting stuff really.

I will send the code when I get the automatic re-sync working.

Best 73s,


Other related posts:

  • » [pskmail] PSK modes with FEC - John Douyere