Self-synchronizing code

Self-synchronizing code

In telecommunications, a self-synchronizing code[1] is a line code in which the symbol stream formed by a portion of one code word, or by the overlapped portion of any two adjacent code words, is not a valid code word. Put another way, a set of strings (called "code words") over an alphabet is called a self-synchronizing code if for each string obtained by concatenating two code words, the substring starting at the second symbol and ending at the second-last symbol does not contain any code word as substring.

A synonym for self-synchronizing code is comma-free code.[2] However, sometimes the term comma-free code is used in the meaning of prefix code.[3] The latter is a broader concept: every self-synchronizing code is a prefix code, but not all prefix codes are self-synchronizing.

A self-synchronizing code permits the proper framing of transmitted code words provided that no uncorrected errors occur in the symbol stream; external synchronization is not required. Self-synchronizing codes also allow recovery from uncorrected errors in the stream; with most prefix codes, an uncorrected error in a single bit may propagate errors further in the stream and make the subsequent data unreadable.

Contents

Examples

See also

Notes

  1. ^ US Federal Standard 1037C
  2. ^ Berstel, Jean; Perrin, Dominique (1985), Theory of Codes, Academic Press 
  3. ^ US Federal Standard 1037C

References