Jump to content

Systematic code

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 84.198.102.200 (talk) at 12:12, 6 August 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In coding theory, a systematic code is one in which the input data are embedded in the encoded output. Similarly, a non-systematic code is one in which the output does not contain the input bits. Such codes are used to add redundant information to data; this allows errors to be detected (and possibly corrected, depending on the code used) when bits are lost or corrupted.

For example, transmitting data with a checksum is a type of systematic code: to encode the bit stream "01010110" with a simple two-bit checksum, one first calculates the checksum (01 + 01 + 01 + 10 = 01), then transmits the original stream followed by the new checksum bits: "0101011001" – note the existence of the original bits in the output.

Examples of systematic codes

Examples of non-Systematic codes

Interesting theorem

Every linear block code is equivalent to a code that can be encoded be a systematic encoder[1]

With this lemma we can decode a given codeword into its information word. Since our generator matrix G = [ I | P ], the first k symbols of our codeword are exactly our information word. If the generator matrix is not of the form [ I | P ], we transform it to generator matrix G', using column swaps. Performing the same column swaps on our code word, leads us to our information word.


References

  1. ^ Richard E. Blahut (2003). Algebraic codes for data transmission (2nd ed.). Cambridge. Univ. Press. pp. 53–54. ISBN 9780521553742.