Content deleted Content added
Matthiaspaul (talk | contribs) Getting rid of this distracting and useless template. |
m avoid unnec redirect |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 4:
{{Use list-defined references|date=August 2023}}
{{Distinguish|Self-clocking signal|Self-similar process}}
In [[coding theory]], especially in [[
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-synchronizing code permits the proper [[frame synchronization|framing]] of transmitted code words provided that no uncorrected errors occur in the [[data stream|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 [[data corruption|corrupted]].
Line 11 ⟶ 12:
==Examples==
* The prefix code {00, 11} is self-synchronizing because 0, 1, 01 and 10 are not codes.▼
* [[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 Level Data Link Control]] (HDLC)
Line 18:
Counterexamples:
▲* The prefix code {00, 11} is not self-synchronizing;
* 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''.
|