GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — Self-synchronizing code - Wikipedia

(Redirected from Bit synchronization)

Not to be confused with Self-clocking signal or Self-similar process.

In coding theory, especially in telecommunications, a self-synchronizing code is a uniquely decodable 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.[1] 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. Every self-synchronizing code is a prefix code, but not all prefix codes are self-synchronizing.

Other terms for self-synchronizing code are synchronized code[2] or, ambiguously, comma-free code.[3] 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 corrupted.

Importance of self-synchronizing codes is not limited to data transmission. Self-synchronization also facilitates some cases of data recovery, for example of a digitally encoded text.

Examples

  • UTF-8 is self-synchronizing at the byte level because the leading byte (11xxxxxx) and subsequent bytes (10xxxxxx) of a multi-byte code point have different bit patterns.
  • High Level Data Link Control (HDLC)
  • Advanced Data Communication Control Procedures (ADCCP)
  • Fibonacci coding

Counterexamples:

  • The prefix code {00, 11} is not self-synchronizing; while 0, 1, 01 and 10 are not codes, 00 and 11 are.
  • The prefix code {ab,ba} is not self-synchronizing because abab contains ba.
  • The prefix code b∗a (using the Kleene star) is not self-synchronizing (even though any new code word simply starts after a) because code word ba contains code word a.

See also

  • Bit slip
  • Comma code
  • Consistent overhead byte stuffing
  • Dynkin sequence
  • Kraus principle
  • Kruskal's principle
  • Overlapping instructions
  • Pollard's lambda method
  • Self-clocking signal
  • Self-synchronizing block code

References

  1. ↑ "Self-synchronizing code – Glossary".
  2. ↑ Berstel, Jean; Perrin, Dominique; Reutenauer, Christophe (2010). Codes and automata. Encyclopedia of Mathematics and its Applications. Vol. 129. Cambridge, UK: Cambridge University Press. p. 137. ISBN 978-0-521-88831-8. Zbl 1187.94001.
  3. ↑ Berstel, Jean; Perrin, Dominique (1985). Theory of Codes. Pure and Applied Mathematics. Vol. 117. Academic Press. p. 377. Zbl 0587.68066.

Further reading

  • "self-synchronizing code". Federal Standard 1037C: Telecommunications: Glossary of Telecommunication Terms. General Services Administration. 1996-08-06. Archived from the original on 2022-01-22.
  • MIL-STD-188
Retrieved from "https://en.wikipedia.org/w/index.php?title=Self-synchronizing_code&oldid=1370551225"
Categories:
  • Line codes
  • Synchronization
Hidden categories:
  • Articles with short description
  • Short description matches Wikidata
  • Use dmy dates from March 2019
  • Use American English from March 2019
  • All Wikipedia articles written in American English
  • Use list-defined references from August 2023
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.