Turbo code encoders are a concatenation of systematic encoders referred to as constituent codes. (Systematic encoders pass both uncoded data and code bits.) The data is grouped into blocks before coding. Many variations of concatenation have been used: e.g., parallel, serial, and product codes.The figure is an example of a two-constituent code, parallel concatenated turbo encoder.
A Pseudo-random Noise (PN) generator is used as the basis of a 16383-bit interleaver that reorders the data bits before coding by one of the two constituent encoders. The BER vs. Eb/No curves of these turbo codes is characterized by a sudden threshold at which the decoded BER improves dramatically. At Eb/No above threshold, the BER has a gentler slope.