|
From: John P. <kl...@gm...> - 2015-10-04 14:59:18
|
Hello to all, If anyone is interested FEC code, like I am, I have added a new "FEC-type" in Fldigi. A Serially Concatenated Convolutional Code ( SCCC ) at 1/4 rate. This implementation is unfinished (lacks the outer interleaver) and is alpha/testing quality, but has reached a compileable and testable milestone. If anyone would like to code or help to code the outer interleaver, that would be a great help to me. Have done a lot of recent testing and am taking a short break on this specific project. :-) The sourcecode can be accessed here: http://sourceforge.net/p/fldigi/fldigi/ci/tmp/SCCC/~/tree/ To test, just compile and use any MFSK mode. (A temporary & testing-only change) *The in-depth info:* Serially Concatenated Convolutional Codes operate at high gain by having 2 layers of linked soft-decision forward error correction. On transmit: the data is sent through the first through an outer FEC coder, then passed through an outer interleaver, and then through a second inner FEC coder, and an inner interleaver, then transmitted. On receive: data is passed through the inner de-interleaver, the inner Viterbi decoder, then the outer de-interleaver, and the outer Viterbi decoder, then displayed as text onscreen. The outer de-interleaver spreads bits in time between the two FEC decoders, also spreading errors. This greatly improves decode. Also, the "quality data" from the inner Viterbi decoder is used to form soft decisions for the outer Viterbi further increasing gain. Feedback is welcomed, as are questions and code-patches. 73's John Phelps KL4YFD |