Line code: Difference between revisions

Content deleted Content added
m match target hyphens
Polarity: spelling
Tags: Mobile edit Mobile web edit
 
(44 intermediate revisions by 31 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 [[Bipolarbipolar 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 [[Differentialdifferential Manchester encoding]]]]
[[File:Biphase Mark Code.svg|class=skin-invert-image|thumb|An example of [[Biphasebiphase 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 [[transmissioncommunication linechannel]] or written to a [[storage medium]]. This repertoire of signals is usually called a '''constrained code''' in data storage systems. Some signals are more prone to error than others when conveyed over a [[communication channel]] as the physics of the communication or [[storage medium]] constrains the repertoire of signals that can be used reliably.<ref name="optics">{{Cite journal
|journal= IEEE Communications Magazine
|date=2022
|title=Innovation in Constrained Codes
|author=K. Schouhamer Immink
|author-link=Kees Schouhamer Immink
|url=https://www.researchgate.net/publication/362866105
|access-date=2022-10-05
}}</ref>
Some signals are more prone to error than others as the physics of the communication channel or storage medium constrains the repertoire of signals that can be used reliably.<ref name="optics">{{Cite journal
|journal= IEEE Journal on Selected Areas in Communications
|volume=19
Line 14 ⟶ 26:
|title=A Survey of Codes for Optical Disk Recording
|author=K. Schouhamer Immink
|authorlinkauthor-link=Kees Schouhamer Immink
|url=https://www.researchgate.net/publication/3234561_A_survey_of_codes_for_optical_disk_recording3234561
|pages=751–764
|accessdateaccess-date=2018-02-05
}}</ref>
 
Line 23 ⟶ 35:
 
== Transmission and storage ==
After line coding, the signal is put through a physical communication channel, either a [[transmission medium]] or [[data storage medium]].<ref name="paulsen">Karl Paulsen. [http://www.tvtechnology.com/media-servers/0150/coding-for-magnetic-storage-mediums/186738 "Coding for Magnetic Storage Mediums"] {{Webarchive|url=https://web.archive.org/web/20140521215946/http://www.tvtechnology.com/media-servers/0150/coding-for-magnetic-storage-mediums/186738 |date=2014-05-21 }}.2007.</ref><ref>{{citation|author1=Abdullatif Glass |author2=Nidhal Abdulaziz |author3=and Eesa Bastaki |url=http://ro.uow.edu.au/cgi/viewcontent.cgi?article=1285&context=dubaipapers|title=Slope line coding for telecommunication networks|year=2007|ppage=1537|journal=IEEE International Conference on Signal Processing and Communication|publisher=IEEE|___location=Dubai|quote=Line codes ... facilitates the transmission of data over telecommunication and computer networks and its storage in multimedia systems.}}</ref> The most common physical channels are:
After line coding, the signal is put through a physical communication channel, either a [[transmission medium]] or [[data storage medium]].<ref name="paulsen">
Karl Paulsen. [http://www.tvtechnology.com/media-servers/0150/coding-for-magnetic-storage-mediums/186738 "Coding for Magnetic Storage Mediums"].2007.</ref><ref>{{citation|author1=Abdullatif Glass |author2=Nidhal Abdulaziz |author3=and Eesa Bastaki |url=http://ro.uow.edu.au/cgi/viewcontent.cgi?article=1285&context=dubaipapers|title=Slope line coding for telecommunication networks|year=2007|p=1537|journal=IEEE International Conference on Signal Processing and Communication|publisher=IEEE|___location=Dubai|quote=Line codes ... facilitates the transmission of data over telecommunication and computer networks and its storage in multimedia systems.}}</ref> The most common physical channels are:
* the line-coded signal can directly be put on a [[transmission line]], in the form of variations of the voltage or current (often using [[differential signaling]]).
* the line-coded signal (the "''[[baseband]] signal"'') undergoes further [[pulse shaping]] (to reduce its frequency bandwidth) and then is [[modulation|modulated]] (to shift its frequency) to create an "''[[RF signal]]"'' that can be sent through free space.
* the line-coded signal can be used to turn on and off a light source in [[free-space optical communication]], most commonly used in an infrared [[remote control]].
* the line-coded signal can be printed on paper to create a [[bar code]].
Line 74 ⟶ 85:
|}
 
[[File:BinaryDigital Linesignal Codeencoding Waveformsformats-en.pngsvg|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 84 ⟶ 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 paperweb |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]], [[8B10B8b/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 completely 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>
{{cite patent |authorinventor=Peter E. K. Chow. |url=https://www.google.com.ar/patents/US4387366 |country=US |number=4387366 |title=Code converter for polarity-insensitive transmission systems |datepubdate=1983}}
</ref><ref>
{{citation |author=David A. Glanzer |publisher=[[Fieldbus Foundation]] |url=http://www.fieldbus.org/images/stories/enduserresources/technicalreferences/documents/wiringinstallationguide.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.fieldbus.org/images/stories/enduserresources/technicalreferences/documents/wiringinstallationguide.pdf |archive-date=2022-10-09 |url-status=live |title=Fieldbus Application Guide ... Wiring and Installation |section=4.7 Polarity |page=10}}
</ref><ref>
{{cite book |author1=George C. Clark Jr. |author2=J. Bibb Cain |url=https://books.google.com/books?id=wgzyBwAAQBAJ |title=Error-Correction Coding for Digital Communications |date=2013 |page=255 |isbn=9781489921741 |publisher=Springer Science & Business Media |quote=When PSK data modulation is used, the potential exists for an ambiguity in the polarity of the received channel symbols. This problem can be solved in one of two ways. First ... a so-called ''transparent'' code. ...}}
Line 107 ⟶ 118:
* Pair each code word with the polarity-inverse of that code word. The receiver is designed so that either code word of the pair decodes to the same data bits. Examples include [[alternate mark inversion]], [[Differential Manchester encoding]], [[coded mark inversion]] and [[Miller encoding]].
* [[differential coding]] each symbol relative to the previous symbol. Examples include [[MLT-3 encoding]] and [[NRZI]].
* Invert the whole stream when inverted [[syncword]]s are detected, perhaps using [[ differential signalling#Polarity switching | polarity switching ]]
 
==Run-length limited codes==
For reliable [[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 118 ⟶ 129:
|date=December 1990 |title=Runlength-Limited Sequences
|author=Kees Schouhamer Immink
|authorlinkauthor-link=Kees Schouhamer Immink
|url=https://www.researchgate.net/profile/Kees_Schouhamer_Immink/publication/2984369_Runlength-Limited_Sequences/links/02e7e537af43a30b34000000/Runlength-Limited-Sequences.pdf2984369
|pages=1745–1759
|quote=A detailed description is furnished of the limiting properties of runlength limited sequences.
Line 132 ⟶ 143:
|title=EFMPlus: The Coding Format of the MultiMedia Compact Disc
|author=Kees Schouhamer Immink
|authorlinkauthor-link=Kees Schouhamer Immink
|url=https://www.researchgate.net/publication/3179483_EFMPIus_The_coding_format_of_the_multimedia_compact_disc3179483
|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}}
 
== Synchronization ==
{{main|Clock recovery}}
Line 141 ⟶ 153:
Line coding should make it possible for the receiver to synchronize itself to the [[Phase (waves)|phase]] of the received signal. If the clock recovery is not ideal, then the signal to be decoded will not be sampled at the optimal times. This will increase the probability of error in the received data.
 
Biphase line codes require at least one transition per bit time. This makes it easier to synchronize the transceivers and detect errors, however, the baud rate is greater than that of NRZ codes.<!--[[User:Kvng/RTH]]-->
 
== Other considerations ==
A line code will typically reflect technical requirements of the [[transmission medium]], such as [[optical fiber]] or [[shielded twisted pair]]. These requirements are unique for each medium, because each one has different behavior related to interference, distortion, capacitance and loss of amplitudeattenuation.<ref>{{Cite book|url=https://books.google.com/books?id=On_Hh23IXDUC&pg=PA284&lpg=PA284&dq=A+line+code+will+typically+reflect+technical+requirements+of+the+transmission+medium,+such+as+optical+fiber+or+shielded+twisted+pair.+These+requirements+are+unique+for+each+medium,+because+each+one+has+different+behavior+related+to+interference,+distortion,+capacitance+and+loss+of+amplitude&source=bl&ots=pT9kdkk7AV&sig=ACfU3U1fKLdvE_o15CoL1ms2jpqjtbxqhg&hl=en&sa=X&ved=2ahUKEwj4ytKklMvhAhUNTd8KHTERAF8Q6AEwAHoECBMQAQ |title=Network Dictionary |last=Dong |first=Jielin |date=2007 |publisher=Javvin Technologies Inc. |isbn=9781602670006 |language=en |page=284}}</ref>
It is also preferred for the line code to have a structure that will enable error detection.
Note that the line-coded signal and a signal produced at a [[terminal (telecommunication)|terminal]] may differ, thus requiring translation.
 
A line code will typically reflect technical requirements of the [[transmission medium]], such as [[optical fiber]] or [[shielded twisted pair]]. These requirements are unique for each medium, because each one has different behavior related to interference, distortion, capacitance and loss of amplitude.<ref>{{Cite book|url=https://books.google.com/books?id=On_Hh23IXDUC&pg=PA284&lpg=PA284&dq=A+line+code+will+typically+reflect+technical+requirements+of+the+transmission+medium,+such+as+optical+fiber+or+shielded+twisted+pair.+These+requirements+are+unique+for+each+medium,+because+each+one+has+different+behavior+related+to+interference,+distortion,+capacitance+and+loss+of+amplitude&source=bl&ots=pT9kdkk7AV&sig=ACfU3U1fKLdvE_o15CoL1ms2jpqjtbxqhg&hl=en&sa=X&ved=2ahUKEwj4ytKklMvhAhUNTd8KHTERAF8Q6AEwAHoECBMQAQ|title=Network Dictionary|last=Dong|first=Jielin|date=2007|publisher=Javvin Technologies Inc.|isbn=9781602670006|language=en}}</ref>
 
== Common line codes ==
{{Div col|colwidth=30em}}
* [[Alternate Mark Inversion|AMI]]
* [[Modified AMI code]]s: B8ZS, B6ZS, B3ZS, HDB3
* [[2B1Q]]
* [[4B3T]]
* [[4B5B]]
* [[4B3T]]
* [[6b/8b encoding]]
* [[Hamming Code]]
* [[8b/10b encoding]]
* [[64b/66b encoding]]
* [[128b/130b encoding]]
* [[Alternate Markmark Inversion|AMIinversion]] (AMI)
* [[Coded mark inversion]] (CMI)
* [[Conditioned Diphase]]
* [[Eight-to-Fourteen Modulation]] (EFM), used in [[Compact Disc]]s
* [[EFMPlus]], used in [[DVD]]s
* [[Eight-to-Fourteenfourteen Modulationmodulation]] (EFM), used in [[Compactcompact Discdisc]]s
* RZ{{snd}} [[Return-to-zero]]
* [[Hamming Codecode]]
* NRZ{{snd}} [[Non-return-to-zero]]
* [[Hybrid Ternaryternary Codescode]]
* NRZI{{snd}} [[Non-return-to-zero, inverted]]
* [[Manchester code]], with its variantsand [[Differential Manchester encoding|Differentialdifferential Manchester]] and
* [[BiphaseMark markand codespace]]
* [[MLT-3 Encodingencoding]]
* [[pulse-position modulation]], a generalization of Manchester code
* [[Modified AMI code]]s: B8ZS, B6ZS, B3ZS, HDB3
* [[Miller encoding]], also known as Delay encoding or [[Modified Frequency Modulation]], with Modified Miller encoding as a variant
* [[Modified frequency modulation]], Miller encoding and delay encoding
* [[MLT-3 Encoding]]
* NRZ{{snd}} [[Non-return-to-zero]] (NRZ)
* [[Hybrid Ternary Codes]]
* [[SurroundNon-return-to-zero, by complementinverted]] (SBCNRZI)
* [[Pulse-position modulation]] (PPM)
* RZ{{snd}} [[Return-to-zero]] (RZ)
* [[TC-PAM]]
{{div col end}}
 
===Optical line codes:===
* [[CarrierAlternate-SuppressedPhase Return-to-Zero]] (APRZ)
* [[AlternateCarrier-PhaseSuppressed Return-to-Zero]] (CSRZ)
* [[IEEE 1355#Slice: TS-FO-02|Three of Six, Fiber Optical]] (TS-FO)
 
== See also ==
* [[Channel coding]]
* [[Source coding]]
* [[Modulation]]
* [[Physical layer]]
* [[Self-synchronizing code]] and bit synchronization
Line 194 ⟶ 199:
 
==External links==
* [https://web.archive.org/web/20130418052107/http://www.electronics.dit.ie/staff/amoloney/lecture-9.pdf Line Coding Lecture No. 9]
* [http://www.fiberoptics4sale.com/wordpress/line-coding-in-digital-communication/ Line Coding in Digital Communication]
* [https://www.ac.uma.es/~guille/codsim2.0/ CodSim 2.0: Open source simulator for Digital Data Communications Model at the University of Malaga written in HTML]
 
{{Bit-encoding}}