Detecting, avoiding and/or correcting problematic puncturing patterns in
parity bit streams used when implementing punctured Turbo codes is
achieved without having to avoid desirable code rates. This enables
identification/avoidance of regions of relatively poor Turbo code
performance. Forward error correction comprising Turbo coding and
puncturing achieves a smooth functional relationship between any measure
of performance and the effective coding rate resulting from combining the
lower rate code generated by the Turbo encoder with puncturing of the
parity bits. In one embodiment, methods to correct/avoid degradations due
to Turbo coding are implemented by puncturing interactions when two or
more stages of rate matching are employed.