A method for transmission of information bits over a communications channel between a transmitter device and a receiver device, the method comprising: at the transmitter device applying N parallel and disjoint forward error correction, FEC, encoding (104, 200, 201, 202, 203, 500, 501, 502, 503, 800, 801, 802, 803, 1100) computations to a set of information bits to generate first bits (106-i) consisting of N classes of bits, wherein N ≥ 2, and wherein each class is associated with a distinct information rate; applying to the first bits an invertible function (108, 204, 504, 804, 1104) which generates, from the first bits, N groups of second bits (110-i) comprising (i) at least one group consisting of second bits that are dependent on the first bits of at least two classes of the N classes, and (ii) another group consisting of second bits that are identical to the first bits of one of the two classes; and mapping the second bits to symbols; transmitting a signal representative of the symbols over the communications channel; at the receiver device applying demodulation (116, 305, 605, 905) to the signal received over the communications channel; recovering estimates of the second bits (118-i) from the demodulation; applying the inverse of the invertible function (120, 304, 604, 904, 1104) to the estimates of the second bits to generate estimates of a first class of the first bits; applying a first FEC decoding operation (124, 300, 600, 900) to the estimates of the first class to generate first error-free bits; and applying the inverse of the invertible function to the estimates of the second bits and the first error-free bits to generate estimates of a second class (122-i) of the first bits, wherein the invertible function and the inverse of the invertible function create contrast between a bit error ratio, BER, of the estimates of the first class and a BER of the estimates of the second class. at the transmitter device applying N parallel and disjoint forward error correction, FEC, encoding (104, 200, 201, 202, 203, 500, 501, 502, 503, 800, 801, 802, 803, 1100) computations to a set of information bits to generate first bits (106-i) consisting of N classes of bits, wherein N ≥ 2, and wherein each class is associated with a distinct information rate; applying to the first bits an invertible function (108, 204, 504, 804, 1104) which generates, from the first bits, N groups of second bits (110-i) comprising (i) at least one group consisting of second bits that are dependent on the first bits of at least two classes of the N classes, and (ii) another group consisting of second bits that are identical to the first bits of one of the two classes; and mapping the second bits to symbols; transmitting a signal representative of the symbols over the communications channel; applying N parallel and disjoint forward error correction, FEC, encoding (104, 200, 201, 202, 203, 500, 501, 502, 503, 800, 801, 802, 803, 1100) computations to a set of information bits to generate first bits (106-i) consisting of N classes of bits, wherein N ≥ 2, and wherein each class is associated with a distinct information rate; applying to the first bits an invertible function (108, 204, 504, 804, 1104) which generates, from the first bits, N groups of second bits (110-i) comprising (i) at least one group consisting of second bits that are dependent on the first bits of at least two classes of the N classes, and (ii) another group consisting of second bits that are identical to the first bits of one of the two classes; and mapping the second bits to symbols; transmitting a signal representative of the symbols over the communications channel; at the receiver device applying demodulation (116, 305, 605, 905) to the signal received over the communications channel; recovering estimates of the second bits (118-i) from the demodulation; applying the inverse of the invertible function (120, 304, 604, 904, 1104) to the estimates of the second bits to generate estimates of a first class of the first bits; applying a first FEC decoding operation (124, 300, 600, 900) to the estimates of the first class to generate first error-free bits; and applying the inverse of the invertible function to the estimates of the second bits and the first error-free bits to generate estimates of a second class (122-i) of the first bits, wherein the invertible function and the inverse of the invertible function create contrast between a bit error ratio, BER, of the estimates of the first class and a BER of the estimates of the second class. applying demodulation (116, 305, 605, 905) to the signal received over the communications channel; recovering estimates of the second bits (118-i) from the demodulation; applying the inverse of the invertible function (120, 304, 604, 904, 1104) to the estimates of the second bits to generate estimates of a first class of the first bits; applying a first FEC decoding operation (124, 300, 600, 900) to the estimates of the first class to generate first error-free bits; and applying the inverse of the invertible function to the estimates of the second bits and the first error-free bits to generate estimates of a second class (122-i) of the first bits, wherein the invertible function and the inverse of the invertible function create contrast between a bit error ratio, BER, of the estimates of the first class and a BER of the estimates of the second class.