I would like to decode de-interleaved demodulated 4FSK symbols that were transmitted using the CML FX919B chip.
The datasheet only gives the following information:
Forward Error Correction In transmit mode, the FX919B uses a Trellis Encoder to translate the 96 bits (12 bytes) of a 'Header', 'Intermediate' or 'Last' Block into a 66-symbol sequence which includes FEC information. In receive mode, the FX919B decodes the received 66 symbols of a block into 96 bits of binary data using a 'Soft Decision' Viterbi algorithm to perform decoding and error correction.
Interleaving The 66 symbols of a 'Header', 'Intermediate' or 'Last' block are interleaved by the modem before transmission to give protection against the effects of noise bursts and short fades. In receive mode, the FX919B de-interleaves the received symbols prior to decoding.
Would this be possible? All C++ code I found on the web that decodes similar FEC methods, requires polynomials that I can't find in the datasheet, and most of them only work for 2-level symbols, not four as in 4FSK.
Where would I start, trying to do this?