A decoder for decoding a convolutionally coded signal received by a receiver, the signal being represented as a multilevel signal, where the number of levels is greater than two, the decoder comprising: a) a shift register having an input; b) a first one-bit quantizer, arranged to receive a part of the multilevel signal as derived from a signal produced by a first polynomial during generation of the coded signal in a transmitter, a first polynomial-derived multilevel signal, and to produce a first quantized binary bit stream therefrom; c) a first set of at least one exclusive OR gate(s) arranged to receive as input the first quantized binary bit stream, and to receive as further input(s) from bins from the shift register as determined by the first polynomial, the set of XOR gates producing a first set output bit; d) a second one-bit quantizer, arranged to receive a part of the multilevel signal as derived from a signal produced by a second polynomial during a coding stage in a transmitter, a second polynomial-derived multilevel signal, and to produce a second quantized binary bit stream therefrom; e) a second set of at least one exclusive OR gate(s) arranged to receive as input the second quantized binary bit stream, and to receive as further inputs bins from the shift register as determined by the second polynomial, the set of XOR gates producing a second set output bit; f) a selector, having as inputs the first and second polynomial-derived multilevel signals and the first and second set output bits, and being arranged to provide, as output to the shift register, either: i) if the value of the first and second set output bits are the same, then that value of the first and second set output bits, or ii) if the value of the first and second set output bits are different, then either the value of the first or second set output bit dependent upon a function of the first and second polynomial derived multi-level signals; wherein the decoder is further arranged to provide, as an output, a bit value provided to the input of the shift register. a) a shift register having an input; b) a first one-bit quantizer, arranged to receive a part of the multilevel signal as derived from a signal produced by a first polynomial during generation of the coded signal in a transmitter, a first polynomial-derived multilevel signal, and to produce a first quantized binary bit stream therefrom; c) a first set of at least one exclusive OR gate(s) arranged to receive as input the first quantized binary bit stream, and to receive as further input(s) from bins from the shift register as determined by the first polynomial, the set of XOR gates producing a first set output bit; d) a second one-bit quantizer, arranged to receive a part of the multilevel signal as derived from a signal produced by a second polynomial during a coding stage in a transmitter, a second polynomial-derived multilevel signal, and to produce a second quantized binary bit stream therefrom; e) a second set of at least one exclusive OR gate(s) arranged to receive as input the second quantized binary bit stream, and to receive as further inputs bins from the shift register as determined by the second polynomial, the set of XOR gates producing a second set output bit; f) a selector, having as inputs the first and second polynomial-derived multilevel signals and the first and second set output bits, and being arranged to provide, as output to the shift register, either: i) if the value of the first and second set output bits are the same, then that value of the first and second set output bits, or ii) if the value of the first and second set output bits are different, then either the value of the first or second set output bit dependent upon a function of the first and second polynomial derived multi-level signals; wherein the decoder is further arranged to provide, as an output, a bit value provided to the input of the shift register. i) if the value of the first and second set output bits are the same, then that value of the first and second set output bits, or ii) if the value of the first and second set output bits are different, then either the value of the first or second set output bit dependent upon a function of the first and second polynomial derived multi-level signals;