4.4 SYSTEMATIC AND NON-SYSTEMATIC CODES
One of the fundamental design choices in channel coding is how the original information bits are represented within the transmitted codeword. In some coding schemes, the information bits are preserved exactly as they appear at the encoder input, with additional parity bits appended to provide error protection. In others, the information bits are mathematically combined with the parity information so that the original message is no longer directly visible. These two approaches are known as systematic coding and non-systematic coding, respectively.
In a systematic code, the transmitted codeword contains the original k information bits unchanged, together with (n–k) parity bits generated according to a prescribed encoding rule. The information portion of the codeword can therefore be read directly from the received sequence once the parity bits have been removed or verified. For example, in a systematic (7,4) block code, the four information bits appear explicitly in the codeword, while the remaining three bits provide the redundancy required for error detection and correction.
Systematic codes offer several practical advantages. Because the information bits are transmitted unchanged, the relationship between the input message and the transmitted codeword is easy to understand and verify. This simplifies encoder design, facilitates testing and debugging, and makes it straightforward to recover the original information whenever the received codeword is known to be error-free. For these reasons, many block codes—including Hamming code (Section 4.5.10.1), cyclic redundancy check (CRC) codes (Section 4.5.10.2), and BCH codes (Section 4.5.10.3),—are commonly implemented in systematic form.
In a non-systematic code, the information bits and parity bits are combined mathematically during the encoding process so that the transmitted sequence contains no obvious copy of the original message. Every transmitted bit contributes simultaneously to both the information content and the redundancy of the codeword. Consequently, the original information cannot be extracted directly from the received sequence and must first be recovered by the decoding process.
One advantage of non-systematic codes is that the redundancy is distributed more uniformly throughout the codeword. Instead of being concentrated in a separate group of parity bits, the error-protection information is effectively spread across the entire transmitted sequence. This property often simplifies the implementation of continuously operating encoders and can provide advantages in certain decoding algorithms.
Convolutional codes are a good example. They are traditionally implemented in non-systematic form, with each transmitted symbol generated by combining the current information bit with several previously transmitted bits stored in a shift register. As a result, every output bit contains a mixture of information and redundancy. Although systematic versions of convolutional codes also exist—and are used in some modern coding schemes such as turbo codes—the non-systematic form remains common because of its simplicity and desirable coding properties.
Neither approach is inherently superior; each is appropriate for different applications. Systematic codes are generally preferred when simplicity, ease of interpretation, or direct access to the information bits is important. Non-systematic codes are often chosen when encoder structure, decoding performance, or implementation efficiency is the primary consideration. Regardless of the form used, both systematic and non-systematic codes rely on the same underlying principle: introducing carefully designed redundancy that enables transmission errors to be detected and, where possible, corrected at the receiver.
Back to reading