Content deleted Content added
Deltahedron (talk | contribs) →Synchronizing word: new section, cite Berstel at al (2010) |
m avoid unnec redirect |
||
(47 intermediate revisions by 28 users not shown) | |||
Line 1:
{{Use American English|date=March 2019}}
{{Short description|Type of code in coding theory}}
{{Use dmy dates|date=March 2019|cs1-dates=y}}
{{Use list-defined references|date=August 2023}}
{{Distinguish|Self-clocking signal|Self-similar process}}
A self-[[synchronizing]] code permits the proper [[frame synchronization|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.▼
▲Other terms for self-synchronizing code are '''synchronized code'''<ref name="Brestel-Perrin-Reutenauer_2010"/> or, ambiguously, '''comma-free code'''.<ref name="Brestel-Perrin_1985"/> A self-
Importance of self-synchronizing codes is not limited to [[data transmission]]. Self-synchronization also facilitates some cases of [[data recovery]], for example of a [[character encoding|digitally encoded text]].
==Examples==
* [[UTF-8]] is self-synchronizing because the leading byte (<code>11xxxxxx</code>) and subsequent bytes (<code>10xxxxxx</code>) of a multi-byte code point have different bit patterns.
* [[High
* [[Advanced Data Communication Control Procedures]] (ADCCP)
* [[
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''<sup>∗</sup>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]]
==References==
{{Reflist
<ref name="Glossary">{{Cite web |url=https://glossary.atis.org/glossary/self-synchronizing-code/?char=S&page_number=22&sort=ASC |title=Self-synchronizing code – Glossary}}</ref>
<ref name="Brestel-Perrin-Reutenauer_2010">{{cite book |author-last1=Berstel |author-first1=Jean |author-last2=Perrin |author-first2=Dominique |author-last3=Reutenauer |author-first3=Christophe |title=Codes and automata |series=Encyclopedia of Mathematics and its Applications |volume=129 |___location=Cambridge, UK |publisher=[[Cambridge University Press]] |date=2010 |isbn=978-0-521-88831-8 |zbl=1187.94001 |page=137}}</ref>
}}
== Further reading ==
* {{cite book |title=Federal Standard 1037C: Telecommunications: Glossary of Telecommunication Terms |title-link=Federal Standard 1037C |chapter=self-synchronizing code |date=1996-08-06 |publisher=[[General Services Administration]] |chapter-url=https://www.its.bldrdoc.gov/fs-1037/fs-1037c.htm |url-status=dead |archive-url=https://web.archive.org/web/20220122224547/https://www.its.bldrdoc.gov/fs-1037/fs-1037c.htm |archive-date=2022-01-22}}
* [[MIL-STD-188]]
{{DEFAULTSORT:Self-Synchronizing Code}}
[[Category:Line codes]]
[[Category:Synchronization]]
▲[[simple:Self-synchronizing code]]
|