Line code: Difference between revisions

Content deleted Content added
No edit summary
Tags: Reverted Mobile edit Mobile web edit
Polarity: spelling
Tags: Mobile edit Mobile web edit
 
(9 intermediate revisions by 8 users not shown)
Line 1:
{{short description|Pattern used within a communications system to represent digital data}}
 
{{stack|
[[File:NRZcode.png|class=skin-invert-image|thumb|An example of coding a binary signal using rectangular [[pulse-amplitude modulation]] with polar [[non-return-to-zero]] code]]
[[File:Ami encoding.svg|class=skin-invert-image|thumb|An example of [[bipolar encoding]], or AMI.]]
[[File:Manchester code.svg|class=skin-invert-image|thumb|Encoding of 11011000100 in [[Manchester encoding]] ]]
[[File:Differential_manchester_encoding_Workaround.svg|class=skin-invert-image|thumb|An example of [[differential Manchester encoding]]]]
[[File:Biphase Mark Code.svg|class=skin-invert-image|thumb|An example of [[biphase mark code]] ]]
[[File:MLT3encoding.svg|class=skin-invert-image|thumb|An example of [[MLT-3 encoding]]]]
}}
{{Modulation techniques}}
 
In [[telecommunicationtelecommunications]], a '''line code''' is a pattern of voltage, current, or photons used to represent digital data [[transmission (telecommunications)|transmitted]] down a [[communication channel]] or written to a [[storage medium]]. This repertoire of signals is usually called a '''constrained code''' in data storage systems.<ref>{{Cite journal
|journal= IEEE Communications Magazine
|date=2022
Line 84 ⟶ 85:
|}
 
[[File:Digital signal encoding formats-en.svg|class=skin-invert-image|framed|center|An arbitrary bit pattern in various binary line code formats]]
 
Each line code has advantages and disadvantages. Line codes are chosen to meet one or more of the following criteria:
Line 94 ⟶ 95:
 
== Disparity ==
Most long-distance communication channels cannot reliably transport a [[DC component]]. The DC component is also called the ''disparity'', the ''bias'', or the [[DC coefficient]]. The disparity of a bit pattern is the difference in the number of one bits vs the number of zero bits. The ''running disparity'' is the [[running total]] of the disparity of all previously transmitted bits.<ref>{{cite documentweb |author=Jens Kröger |url=https://www.psi.ch/mu3e/ThesesEN/BachelorKroeger.pdf |archive-url=https://ghostarchive.org/archive/20221009/https://www.psi.ch/mu3e/ThesesEN/BachelorKroeger.pdf |archive-date=2022-10-09 |url-status=live |title=Data Transmission at High Rates via Kapton Flexprints for the Mu3e Experiment |date=2014 |page=16}}</ref> The simplest possible line code, [[Unipolar encoding|unipolar]], gives too many errors on such systems, because it has an unbounded DC component.
 
Most line codes eliminate the DC component{{snd}} such codes are called [[DC-balanced]], zero-DC, or DC-free. There are three ways of eliminating the DC component:
 
* Use a [[constant-weight code]]. Each transmitted [[Code word (communication)|code word]] in a constant-weight code is designed such that every code word that contains some positive or negative levels also contains enough of the opposite levels, such that the average level over each code word is zero. Examples of constant-weight codes include [[Manchester code]] and [[Interleaved 2 of 5]].
* Use a [[paired disparity code]]. Each code word in a paired disparity code that averages to a negative level is paired with another code word that averages to a positive level. The transmitter keeps track of the running DC buildup, and picks the code word that pushes the DC level back towards zero. The receiver is designed so that either code word of the pair decodes to the same data bits. Examples of paired disparity codes include [[alternate mark inversion]], [[8b/10b]] and [[4B3T]].
* Use a [[scrambler]]. For example, the scrambler specified in {{IETF RFC | 2615}} for [[64b/66b encoding]].
 
== Polarity ==
Bipolar line codes have two polarities, are generally implemented as RZ, and have a radix of three since there are three distinct output levels (negative, positive and zero). One of the principleprincipal advantages of this type of code is that it can eliminate any DC component. This is important if the signal must pass through a transformer or a long transmission line.
 
Unfortunately, several long-distance communication channels have polarity ambiguity. Polarity-insensitive line codes compensate in these channels.<ref>
Line 119 ⟶ 120:
* Invert the whole stream when inverted [[syncword]]s are detected, perhaps using [[ differential signalling#Polarity switching | polarity switching ]]
 
==Run-length limited codes==A
For reliabljereliable [[clock recovery]] at the receiver, a [[Run-length limited|run-length limitation]] may be imposed on the generated channel sequence, i.e., the maximum number of consecutive ones or zeros is bounded to a reasonable number. A clock period is recovered by observing transitions in the received sequence, so that a maximum run length guarantees sufficient transitions to assure clock recovery quality.
 
RLL codes are defined by four main parameters: ''m'', ''n'', ''d'', ''k''. The first two, ''m''/''n'', refer to the rate of the code, while the remaining two specify the minimal ''d'' and maximal ''k'' number of zeroes between consecutive ones. This is used in both [[telecommunicationtelecommunications]] and storage systems that move a medium past a fixed [[recording head]].<ref>{{Cite journal
|journal=Proceedings of the IEEE
|volume=78
Line 145 ⟶ 146:
|url=https://www.researchgate.net/publication/3179483
|pages=491–497
|quote=A high-density alternative to EFM is described.}}</ref> Higher density RLL (2,7) and RLL (1,7) codes became the [[de facto standard]]s for hard disks by the early 1990s.{{citation needed|date=August 2019}}data surface ignore hard disk out run standard
Fjhfjrjkdyoxkydkxgkstmmtwksgkstkts4wjwtksge6mcpr6igialstldyl8ritiieiwtldldtdyuydkarkydfbxhjgzkzjfLfhlylxgldtjuistlsow5odmydy,nckgxnxgkggksjlddykykdysstkkdykdyldylxgkstkstkstsldsydykstk
 
== Synchronization ==
Line 180:
* [[Non-return-to-zero]] (NRZ)
* [[Non-return-to-zero, inverted]] (NRZI)
* [[Pulse-position modulation]] (PPM)
* [[Return-to-zero]] (RZ)
* [[TC-PAM]]