Patent ID: 8751907

Claim:
A computer-implemented data encoding method comprising the steps of: receiving data symbols U consisting of Z symbols (where, Z=K+T data symbols, K information symbols and T overhead symbols for error detection and/or trellis termination for convolutional and turbo codes); determining size of the data symbols U; communicating said size of the data symbols U as input to a tuner; wherein said tuner performs the steps of: (a) outputting a priori a size of L desired symbols to a decoder; (b) outputting a priori values of the L desired symbols to the decoder; (c) outputting a priori positions j 1 , j 2 , . . . j L of the L desired symbols to the decoder, the size, values and positions of the L desired symbols being alternatively determined by distance measurement methods and by error rate performance results; communicating the data symbols U, and the size, values and positions of the L desired symbols to the input of an encoder insertion unit; wherein said encoder insertion unit performs the steps of: forming new data symbols U′ at its output, said U′ consisting of Z′=Z+H symbols, said H symbols being inserted into U′ at positions i 1 , i 2 , . . . i H , and wherein the size, values, and positions of the L desired symbols determining said H symbols and positions i 1 , i 2 , . . . i H ; encoding the new data symbols U′ to form a codeword C′; and transmitting over a communications channel the codeword C′.