Cyclic redundancy check for error correcting codes with minimal code rate loss |
In an iterative decoding scheme (eg. Turbo decoding), parity bits are punctured and replaced by CRC bits in order to provide a means of indicating when the decoder fails to converge on the correct codeword without being detrimental to the code rate or error rate. The punctured bits are selected by monitoring the weight spectrum of the code, where the weight (distance from 0000...) is the number of nonzero bits in the sequence (11 in fig. 1) and the weight spectrum (Table 1) is calculated according to equation 1, references [4] or [5] or the alternative method presented, with the smaller distance values largely determining the error probability. The punctured (not transmitted) bits are selected by evaluating the weight spectrum of the punctured code and choosing only those bits for which the weight spectrum is not degraded.; S class interleavers may be used, and optimised by swapping adjacent entries.
Rogers AJ, Ambroze MA, Tomlinson M