© 2000 Nino Porcino IZ8BLY & M. Greenman ZL1BPU
Ver 1.0, 11 July 2000
Grateful thanks à Phil KA9Q pour les algorithmes et les routines du décodeur Viterbi. Consultez de temps en temps le site web de KA9Q for lots of good stuff sur les codeurs et décodeurs.
En conséquence, for every input data bit there are two output data "dibits", generated by two polynomials from the taps of a 7 stage shift register. Call the outputs of these registers O1 to O7. The polynomials are each the modulo 2 sum (XOR) of five of these register outputs. The polynomials are:
Dibit2 = O1 + O2 + O3 + O4 + O7
The reason for this approach is flexibility: this technology is intended for anywhere from 1 to 5 or more bits per symbol.
Le décodeur FEC est de type Viterbi . As mentioned, there is no fixed relationship between the coder dibits and the bit weighting of the MFSK symbol (or the PSK63F dibits, which are on the same data stream), and so the decoder must decide from the results whether it has the correct order of dibits. There are two choices - Dibit1 then Dibit2 (correct), or Dibit2 of one bit then Dibit1 of the next (incorrect).
One technique for solving this ambiguity is to use two short "trial decoders" and use the metrics from these to decide which of the two ambiguous alternatives gives the best result, and therefore the order in which the dibits must be used for the full-length decoder.
Le codeur FEC est suivi (en MFSK seulement) par un entrelaceur. Lire la Description de l'Entrelaceur pour plus de détails. L'entrelaceur est a simple diagonal 10 stage concatenated n-bit interleaver, où n est le nombre de bits représentés par le symbole MFSK .