Non-return-to-zero

Last updated
The binary signal is encoded using rectangular pulse-amplitude modulation with polar NRZ(L), or polar non-return-to-zero-level code. NRZcode.png
The binary signal is encoded using rectangular pulse-amplitude modulation with polar NRZ(L), or polar non-return-to-zero-level code.

In telecommunication, a non-return-to-zero (NRZ) line code is a 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.

Contents

For a given data signaling rate, i.e., bit rate, the NRZ code requires only half the 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 slips; examples of such techniques are a run-length-limited constraint and a parallel synchronization signal.

Variants

NRZ can refer to any of the following serializer line codes:

Code
name
Alternate
name
Complete nameDescription
NRZ(L)NRZLNon-return-to-zero levelAppears 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 mapping is also a type of NRZ(L) code.
NRZ(I)NRZINon-return-to-zero invertedRefers to either an NRZ(M) or NRZ(S) code.
NRZ(M)NRZMNon-return-to-zero markSerializer mapping {0: constant, 1: toggle}.
NRZ(S)NRZSNon-return-to-zero spaceSerializer mapping {0: toggle, 1: constant}.
NRZ(C)NRZCNon-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

Unipolar NRZ(L), or unipolar non-return-to-zero level Nrz-lb.gif
Unipolar NRZ(L), or unipolar non-return-to-zero level

"One" 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.

Non-return-to-zero space

Non-return-to-zero space Nrz-s.gif
Non-return-to-zero space
Encoder for NRZS, toggle on zero Nrzi encoder 2.svg
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.

Non-return-to-zero inverted

An example of the NRZI encoding, transition on 1 NRZI example.png
An example of the NRZI encoding, transition on 1
The opposite convention, transition on 0 Nrz-i.gif
The opposite convention, transition on 0
Encoder for NRZ-M, toggle on one Nrzi encoder.svg
Encoder for NRZ-M, toggle on one

Non-return-to-zero, inverted (NRZI, also known as non-return to zero IBM, [1] inhibit code, [2] or IBM code [2] ) was devised by Bryon E. Phelps (IBM) in 1956. [2] [3] It is a method of mapping a binary signal to a physical signal for transmission over some transmission medium. The two-level NRZI signal distinguishes data bits 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 (HLDC) 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. [4] In SNRZI-M each 8-bit group is extended to 9 bits by a 1 in order to insert a transition for synchronisation. [4]

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. This takes place even if a number of consecutive 0s or 1s occur in the signal. The signal is 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 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

Related Research Articles

In telecommunications, asynchronous communication is transmission of data, generally without the use of an external clock signal, where data can be transmitted intermittently rather than in a steady stream. Any timing required to recover data from the communication symbols is encoded within the symbols.

In data transmission and telecommunication, bit stuffing is the insertion of non-information bits into data. Stuffed bits should not be confused with overhead bits.

Differential Manchester encoding (DM) is a line code in digital frequency modulation in which data and clock signals are combined to form a single two-level self-synchronizing data stream. Each data bit is encoded by a presence or absence of signal level transition in the middle of the bit period, followed by the mandatory level transition at the beginning. The code is insensitive to an inversion of polarity. In various specific applications, this method is also called by various other names, including biphase mark code (CC), F2F, Aiken biphase, and conditioned diphase.

<span class="mw-page-title-main">Line code</span> Pattern used within a communications system to represent digital data

In telecommunication, a line code is a pattern of voltage, current, or photons used to represent digital data 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. 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.

In telecommunication and data storage, Manchester code is a line code in which the encoding of each data bit is either low then high, or high then low, for equal time. It is a self-clocking signal with no DC component. Consequently, electrical connections using a Manchester code are easily galvanically isolated.

Asynchronous serial communication is a form of serial communication in which the communicating endpoints' interfaces are not continuously synchronized by a common clock signal. Instead of a common synchronization signal, the data stream contains synchronization information in form of start and stop signals, before and after each unit of transmission, respectively. The start signal prepares the receiver for arrival of data and the stop signal resets its state to enable triggering of a new sequence.

In telecommunications and electronics, a self-clocking signal is one that can be decoded without the need for a separate clock signal or other source of synchronization. This is usually done by including embedded synchronization information within the signal, and adding constraints on the coding of the data payload such that false synchronization can easily be detected.

<span class="mw-page-title-main">Return-to-zero</span> Line code in which the signal value returns to zero between each pulse

Return-to-zero describes a line code used in telecommunications signals in which the signal drops (returns) to zero between each pulse. This takes place even if a number of consecutive 0s or 1s occur in the signal. The signal is 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.

In computer science, group coded recording or group code recording (GCR) refers to several distinct but related encoding methods for representing data on magnetic media. The first, used in 6250 bpi magnetic tape since 1973, is an error-correcting code combined with a run-length limited (RLL) encoding scheme, belonging into the group of modulation codes. The others are different mainframe hard disk as well as floppy disk encoding methods used in some microcomputers until the late 1980s. GCR is a modified form of a NRZI code, but necessarily with a higher transition density.

Modified frequency modulation (MFM) is a run-length limited (RLL) line code used to encode data on most floppy disks and some hard disk drives. It was first introduced on hard disks in 1970 with the IBM 3330 and then in floppy disk drives beginning with the IBM 53FD in 1976.

Run-length limited or RLL coding is a line coding technique that is used to send arbitrary data over a communications channel with bandwidth limits. 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 telecommunication and storage systems that move a medium past a fixed recording head.

In telecommunications, 8b/10b is a line code that maps 8-bit words to 10-bit symbols to achieve DC balance and bounded disparity, and at the same time provide enough state changes to allow reasonable clock recovery. This means that the difference between the counts of ones and zeros in a string of at least 20 bits is no more than two, and that there are not more than five ones or zeros in a row. This helps to reduce the demand for the lower bandwidth limit of the channel necessary to transfer the signal.

<span class="mw-page-title-main">Transition-minimized differential signaling</span> Digital serial communication standard

Transition-minimized differential signaling (TMDS) is a technology for transmitting high-speed serial data used by the DVI and HDMI video interfaces, as well as by other digital communication interfaces.

Synchronous and asynchronous transmissions are two different methods of transmission synchronization. Synchronous transmissions are synchronized by an external clock, while asynchronous transmissions are synchronized by special signals along the transmission medium.

Unipolar encoding is a line code. A positive voltage represents a binary 1, and zero volts indicates a binary 0. It is the simplest line code, directly encoding the bitstream, and is analogous to on-off keying in modulation.

<span class="mw-page-title-main">Bipolar encoding</span>

In telecommunication, bipolar encoding is a type of return-to-zero (RZ) line code, where two nonzero values are used, so that the three values are +, −, and zero. Such a signal is called a duobinary signal. Standard bipolar encodings are designed to be DC-balanced, spending equal amounts of time in the + and − states.

Asynchronous circuit is a sequential digital logic circuit that does not use a global clock circuit or signal generator to synchronize its components. Instead, the components are driven by a handshaking circuit which indicates a completion of a set of instructions. Handshaking works by simple data transfer protocols. Many synchronous circuits were developed in early 1950s as part of bigger asynchronous systems. Asynchronous circuits and theory surrounding is a part of several steps in integrated circuit design, a field of digital electronics engineering.

In telecommunication, 4B5B is a form of data communications line code. 4B5B maps groups of 4 bits of data onto groups of 5 bits for transmission. These 5-bit words are pre-determined in a dictionary and they are chosen to ensure that there will be sufficient transitions in the line state to produce a self-clocking signal. A collateral effect of the code is that 25% more bits are needed to send the same information.

In telecommunications, the hybrid (H-) ternary line code is a line code that operates on a hybrid principle combining the binary non-return-to-zero-level (NRZL) and the polar return-to-zero (RZ) codes.

<span class="mw-page-title-main">Frequency modulation encoding</span> Encoding method used on early floppy and hard disk drives

Frequency modulation encoding, or simply FM, is a method of storing data that saw widespread use in early floppy disk drives and hard disk drives. The data is modified using differential Manchester encoding when written to allow clock recovery to address timing effects known as "jitter" seen on disk media. It was introduced on IBM mainframe drives and was almost universal among early minicomputer and microcomputer floppies. In the case of floppies, FM encoding allowed about 80 kB of data to be stored on a 5+14-inch disk.

References

  1. IBM 729 II, IV, V, VI Magnetic Tape Units (PDF) (223-6988 ed.). 1962. p. 7. Archived (PDF) from the original on 2022-10-09. Retrieved 12 February 2018.
  2. 1 2 3 Palmer, Dean (2005). "Section 1: Recording Systems, 1: A brief history of magnetic recording". In Vasic, Bane; Kurtas, Erozan M. (eds.). Coding and Signal Processing for Magnetic Recording Systems (1st ed.). CRC Press. pp. I-6, I-15. ISBN   0-8493-1524-7.
  3. US 2774646,Phelps, Bryon E.,"Magnetic recording method",published 1956-12-18, assigned to IBM (See also: DE950858C)
  4. 1 2 Patel, Arvind Motibhai (1988). "5. Signal and Error-Control Coding". In Mee, C. Denis; Daniel, Eric D. (eds.). Magnetic Recording. Vol. II: Computer Data Storage (1st ed.). McGraw-Hill Book Company. ISBN   0-07-041272-3.

Further reading

PD-icon.svg This article incorporates public domain material from Federal Standard 1037C. General Services Administration. Archived from the original on 2022-01-22. (in support of MIL-STD-188).