Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Non-return-to-zero
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Telecommunications coding technique}} {{More citations needed|date=June 2023}} [[File:NRZcode.png|thumb|right|upright=1.4|The binary signal is encoded using rectangular pulse-amplitude modulation with polar NRZ(L), or polar non-return-to-zero-level code.]] In [[telecommunications]], a '''non-return-to-zero''' ('''NRZ''') [[line code]] is a [[Binary coding|binary]] code in which ones are represented by one [[significant condition]], usually a positive voltage, while zeros are represented by some other significant condition, usually a negative voltage, with no other neutral or rest condition. For a given [[data signaling rate]], i.e., [[bit rate]], the NRZ code requires only half the [[Bandwidth (signal processing)|baseband bandwidth]] required by the [[Manchester code]] (the passband bandwidth is the same). The pulses in NRZ have more energy than a [[return-to-zero]] (RZ) code, which also has an additional rest state beside the conditions for ones and zeros. When used to represent data in an [[asynchronous communication]] scheme, the absence of a neutral state requires other mechanisms for bit synchronization when a separate clock signal is not available. Since NRZ is not inherently a [[self-clocking signal]], some additional synchronization technique must be used for avoiding [[bit slip]]s; examples of such techniques are a [[run-length limited|run-length-limited]] constraint and a parallel synchronization signal. =={{Anchor|NRZL|NRZM|NRZC}}Variants== NRZ can refer to any of the following [[Serializer (Digital Communications)|serializer]] line codes: {| class="wikitable" ! Code <br/>name ! Alternate <br/>name ! Complete name ! Description |- | '''NRZ(L)''' | NRZL | Non-return-to-zero level | Appears as raw binary bits without any coding. Typically binary 1 maps to logic-level high, and binary 0 maps to logic-level low. [[Inverse (logic)|Inverse logic]] mapping is also a type of NRZ(L) code. |- | '''NRZ(I)''' | NRZI | style="white-space:nowrap;" | Non-return-to-zero inverted | Refers to either an NRZ(M) or NRZ(S) code. |- | '''NRZ(M)''' | NRZM | Non-return-to-zero mark | Serializer mapping {0: constant, 1: toggle}. |- | '''NRZ(S)''' | NRZS | Non-return-to-zero space | Serializer mapping {0: toggle, 1: constant}. |- | '''NRZ(C)''' | NRZC | Non-return-to-zero change | |} The NRZ code also can be classified as a '''polar''' or '''non-polar''', where polar refers to a mapping to voltages of +V and −V, and non-polar refers to a voltage mapping of +V and 0, for the corresponding binary values of 0 and 1. ===Unipolar non-return-to-zero level=== {{Main|Unipolar encoding}} [[File:Nrz-lb.gif|thumb|right|upright=1.4| Unipolar NRZ(L), or unipolar non-return-to-zero level]] ''On'' is represented by a [[DC bias]] on the transmission line (conventionally positive), while ''zero'' is represented by the absence of bias – the line at 0 volts or grounded. For this reason it is also known as ''on-off keying''. In clock language, a ''one'' transitions to or remains at a biased level on the trailing clock edge of the previous bit, while ''zero'' transitions to or remains at no bias on the trailing clock edge of the previous bit. Among the disadvantages of unipolar NRZ is that it allows for long series without change, which makes synchronization difficult, although this is not unique to the unipolar case. One solution is to not send bytes without transitions. More critically, and unique to unipolar NRZ, are issues related to the presence of a transmitted DC level – the power spectrum of the transmitted signal does not approach zero at zero frequency. This leads to two significant problems: first, the transmitted DC power leads to higher power losses than other encodings, and second, the presence of a DC signal component requires that the transmission line be DC-coupled. ===Bipolar non-return-to-zero level=== ''One'' is represented by one physical level (usually a positive voltage), while ''zero'' is represented by another level (usually a negative voltage). In clock language, in bipolar NRZ-level the voltage ''swings'' from positive to negative on the trailing edge of the previous bit clock cycle. An example of this is [[RS-232]], where ''one'' is −12 V to −5 V and ''zero'' is +5 V to +12 V. ==={{Anchor|NRZS}}Non-return-to-zero space=== [[File:Nrz-s.gif|thumb|right|upright=1.4|Non-return-to-zero space]] [[File:Nrzi encoder 2.svg|thumb|Encoder for NRZS, toggle on zero]] ''One'' is represented by no change in physical level, while ''zero'' is represented by a change in physical level. In clock language, the level transitions on the trailing clock edge of the previous bit to represent a ''zero''. This ''change-on-zero'' is used by [[High-Level Data Link Control]] and [[USB]]. They both avoid long periods of no transitions (even when the data contains long sequences of 1 bits) by using [[zero-bit insertion]]. HDLC transmitters insert a 0 bit after 5 contiguous 1 bits (except when transmitting the frame delimiter 01111110). USB transmitters insert a 0 bit after 6 consecutive 1 bits. The receiver at the far end uses every transition — both from 0 bits in the data and these extra non-data 0 bits — to maintain clock synchronization. The receiver otherwise ignores these non-data 0 bits. === {{Anchor|NRZI|NRZ-S|NRZI-S|NRZ-M|NRZI-M}}Non-return-to-zero inverted=== [[File:NRZI example.png|thumb|right|upright=1.4|An example of the NRZI encoding, transition on 1]] [[File:Nrz-i.gif|thumb|right|upright=1.4|The opposite convention, transition on 0]] [[File:Nrzi encoder.svg|thumb|Encoder for NRZ-M, toggle on one]] '''Non-return-to-zero, inverted''' ('''NRZI''', also known as ''non-return to zero IBM'',<ref>{{cite book|title=IBM 729 II, IV, V, VI Magnetic Tape Units|date=1962|page=7|edition=223-6988|url=http://ibm-1401.info/223-6988-729-MagTapeCE-InstRef-62-r.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://ibm-1401.info/223-6988-729-MagTapeCE-InstRef-62-r.pdf |archive-date=2022-10-09 |url-status=live|access-date=12 February 2018}}</ref> ''inhibit code'',<ref name="Vasic_2005_NRZI"/> or ''IBM code''<ref name="Vasic_2005_NRZI"/>) was devised by Bryon E. Phelps ([[IBM]]) in 1956.<ref name="Vasic_2005_NRZI"/><ref name="Phelps_1956_NRZI"/> It is a method of [[map (mathematics)|mapping]] a [[binary numeral system|binary]] [[signal]] to a physical signal for [[transmission (telecommunications)|transmission]] over some transmission medium. The two-level NRZI signal distinguishes data [[bit]]s by the presence or absence of a transition at a clock boundary. The NRZI encoded signal can be decoded unambiguously after passing through a data path that doesn’t preserve polarity. ''Which'' bit value corresponds to a transition varies in practice, NRZI applies equally to both. [[Magnetic storage]] generally uses the '''NRZ-M, non-return-to-zero mark''' convention: a logical 1 is encoded as a transition, and a logical 0 is encoded as no transition. The [[HDLC]] and [[Universal Serial Bus]] protocols use the opposite '''NRZ-S, non-return-to-zero space''' convention: a logical 0 is a transition, and a logical 1 is no transition. Neither NRZI encoding guarantees that the encoded bitstream has transitions. An asynchronous receiver uses an independent bit clock that is phase synchronized by detecting bit transitions. When an asynchronous receiver decodes a block of bits without a transition longer than the period of the difference between the frequency of the transmitting and receiving bit clocks, the decoder’s bit clock is either 1 bit earlier than the encoder resulting in a duplicated bit being inserted in the decoded data stream, or the decoder’s bit clock is 1 bit later than the encoder resulting in a duplicated bit being removed from the decoded data stream. Both are referred to as ''bit slip'' denoting that the phase of the bit clock has slipped a bit period. Forcing transitions at intervals shorter than the bit clock difference period allows an asynchronous receiver to be used for NRZI bit streams. Additional transitions necessarily consume some of the data channel’s rate capacity. Consuming no more of the channel capacity than necessary to maintain bit clock synchronization without increasing costs related to complexity is a problem with many possible solutions. [[Run-length limited]] (RLL) encodings have been used for magnetic disk and tape storage devices using fixed-rate RLL codes that increase the channel data rate by a known fraction of the information data rate. HDLC and USB use [[bit stuffing]]: inserting an additional 0 bit before NRZ-S encoding to force a transition in the encoded data sequence after 5 (HDLC) or 6 (USB) consecutive 1 bits. Bit stuffing consumes channel capacity only when necessary but results in a variable information data rate. ===Synchronized non-return-to-zero=== '''Synchronized NRZI''' ('''SNRZI''') and ''[[group-coded recording]]'' (''GCR'') are modified forms of NRZI.<ref name="Patel_1988_MR"/> In SNRZI-M each 8-bit group is extended to 9 bits by a 1 in order to insert a transition for synchronisation.<ref name="Patel_1988_MR"/> ==Comparison with return-to-zero== [[Return-to-zero]] describes a [[line code]] used in [[telecommunications]] in which the signal drops (returns) to zero between each [[Pulse (signal processing)|pulse]]. This takes place even if a number of consecutive 0s or 1s occur in the signal. The signal is [[Self-clocking signal|self-clocking]]. This means that a separate clock does not need to be sent alongside the signal, but suffers from using twice the bandwidth to achieve the same data-rate as compared to non-return-to-zero format. The ''zero'' between each bit is a neutral or rest condition, such as a zero amplitude in [[pulse-amplitude modulation]] (PAM), zero [[Phase (waves)|phase shift]] in [[phase-shift keying]] (PSK), or mid-[[frequency]] in [[frequency-shift keying]] (FSK). That ''zero'' condition is typically halfway between the [[significant condition]] representing a 1 bit and the other significant condition representing a 0 bit. Although return-to-zero contains a provision for synchronization, it still may have a DC component resulting in ''baseline wander'' during long strings of 0 or 1 bits, just like the line code non-return-to-zero. ==See also== {{Commons category|Non return to zero}} * [[Universal asynchronous receiver-transmitter]] ==References== {{reflist|refs= <ref name="Vasic_2005_NRZI">{{cite book |title=Coding and Signal Processing for Magnetic Recording Systems |editor-first1=Bane |editor-last1=Vasic |editor-link1=Bane Vasic |editor-first2=Erozan M. |editor-last2=Kurtas |chapter=Section 1: Recording Systems, 1: A brief history of magnetic recording |author-first=Dean |author-last=Palmer |edition=1st |date=2005 |publisher=[[CRC Press]] |isbn=0-8493-1524-7 |pages=I-6, I-15}}</ref> <ref name="Phelps_1956_NRZI">{{cite patent |title=Magnetic recording method |country=US |number=2774646 |pubdate=1956-12-18 |fdate=1951-12-31 |pridate=1951-12-31 |inventor1-first=Bryon E. |inventor1-last=Phelps |assign1=[[IBM]]}} [http://ip.com/patent/US2774646] (See also: DE950858C)</ref> <ref name="Patel_1988_MR">{{cite book |title=Magnetic Recording |chapter=5. Signal and Error-Control Coding |author-last=Patel |author-first=Arvind Motibhai |editor-last1=Mee |editor-first1=C. Denis |editor-last2=Daniel |editor-first2=Eric D. |publisher=[[McGraw-Hill Book Company]] |date=1988 |volume=II: Computer Data Storage |edition=1st |isbn=0-07-041272-3}}</ref> }} ==Further reading== * {{cite book |author-last=Brey |author-first=Barry |title=The Intel Microprocessors |year=2006 |location=Columbus |publisher=[[Pearson Prentice Hall]] |isbn=0-13-119506-9}} * {{cite web |title=Digital Magnetic Tape Recording |author-first=John J. G. |author-last=Savard |date=2018 |orig-year=2006 |work=quadibloc |url=http://www.quadibloc.com/comp/tapeint.htm |access-date=2018-07-16 |url-status=live |archive-url=https://web.archive.org/web/20180702234956/http://www.quadibloc.com/comp/tapeint.htm |archive-date=2018-07-02}} * {{cite book |title=Coding for Digital Recording |chapter=3.7. Randomized NRZ |author-first=John |author-last=Watkinson |publisher=[[Focal Press]] |location=Stoneham, MA, USA |date=1990 |isbn=0-240-51293-6 |id={{ISBN|978-0-240-51293-8}} |pages=64–65}} * {{citation|title=Comparative study on modulation dynamic characteristics of laser diodes using RZ and NRZ bit formats |author-first=Ahmed, M.|author-last=Mahmoud, A. A.|publisher=[[International Journal of Numerical Modelling: Electronic Networks, Devices and Fields]]| date=2014| pages=138–152}} https://onlinelibrary.wiley.com/doi/full/10.1002/jnm.1905 ==External links== * [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] {{FS1037C MS188}} {{Bit-encoding}} [[Category:Line codes]]
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Anchor
(
edit
)
Template:Bit-encoding
(
edit
)
Template:Citation
(
edit
)
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Commons category
(
edit
)
Template:FS1037C MS188
(
edit
)
Template:Main
(
edit
)
Template:More citations needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Search
Search
Editing
Non-return-to-zero
Add topic