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. 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. NRZ is not inherently a self-clocking signal, so 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.

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). 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.

NRZ-level itself is not a synchronous system but rather an encoding that can be used in either a synchronous or asynchronous transmission environment, that is, with or without an explicit clock signal involved. Because of this, it is not strictly necessary to discuss how the NRZ-level encoding acts "on a clock edge" or "during a clock cycle", since all transitions happen in the given amount of time representing the actual or implied integral clock cycle. The real question is that of sampling—the high or low state will be received correctly provided the transmission line has stabilized for that bit when the physical line level is sampled at the receiving end.

However, it is helpful to see NRZ transitions as happening on the trailing (falling) clock edge in order to compare NRZ-level to other encoding methods, such as the mentioned Manchester code, which requires clock edge information (is the XOR of the clock and NRZ, actually) see the difference between NRZ-mark and NRZ-inverted.

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


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

Code name Alternate 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 mapping is also a type of NRZ(L) code.
NRZ(I) NRZI 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

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
Nrzi encoder 2
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

NRZI example
An example of the NRZI encoding, transition on 1
The opposite convention, transition on 0
Nrzi encoder
Encoder for NRZI, toggle on one

Non-return-to-zero, inverted (NRZI, also known as Nonreturn 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 media. The two-level NRZI signal distinguishes data bits by the presence or absence of a transition at a clock boundary.

Which bit value corresponds to a transition varies in practice, and the name NRZI is used for both. Run-length limited (RLL) codes are generally described using the convention that a logical 1 is transmitted as a transition, and a logical 0 is transmitted as no transition. The HDLC and Universal Serial Bus protocols use the opposite convention: a logical 0 is transmitted as a transition, and a logical 1 is transmitted as no transition.

A long series of no-transition bits can be difficult for a receiver to count accurately, so some means for forcing a transition at reasonable intervals is generally used in addition to NRZI. Magnetic disk and tape storage devices generally use fixed-rate RLL codes, while HDLC and USB use bit stuffing: they insert an additional 0 bit (forcing a transition) after 5 or 6 (respectively) consecutive 1 bits. While bit stuffing is efficient, it results in a variable data rate because it takes slightly longer to send a long string of 1 bits than it does to send a long string of 0 bits.

Synchronized NRZI (NRZI-S, SNRZI) and group-coded recording (GCR) are modified forms of NRZI.[4] In NRZI-S, each 8-bit group is extended to 9 bits by a 1 in order to establish a transition for synchronisation.[4]

Randomized non-return-to-zero

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.

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 has 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


  1. ^ IBM 729 II, IV, V, VI Magnetic Tape Units (PDF) (223-6988 ed.). 1962. p. 7. Retrieved 12 February 2018.
  2. ^ a b c 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 LLC. 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 [1] (See also: DE950858C)
  4. ^ a b Patel, Arvind Motibhai (1988). "5. Signal and Error-Control Coding". In Mee, C. Denis; Daniel, Eric D. (eds.). Magnetic Recording. II: Computer Data Storage (1st ed.). McGraw-Hill Book Company. ISBN 0-07-041272-3.

Further reading

 This article incorporates public domain material from the General Services Administration document "Federal Standard 1037C" (in support of MIL-STD-188).

9 track tape

The IBM System/360, released in 1964, introduced what is now generally known as 9 track tape. The ½ inch (12.7 mm) wide magnetic tape media and reels are the same size as the earlier IBM 7 track format it replaced, but the new format has eight data tracks and one parity track for a total of nine parallel tracks. Data is stored as 8-bit characters, spanning the full width of the tape (including the parity bit). Various recording methods were employed during its lifetime as tape speed and data density increased, including PE (phase encoding), GCR (group coded recording) and NRZI (non-return-to-zero, inverted, sometimes pronounced "nur-zee"). Tapes came in various sizes up to 3,600 feet (1,100 m) in length.

The standard size of a byte was effectively set at eight bits with the S/360 and nine-track tape.

For over 30 years the format dominated offline storage and data transfer, but by the end of the 20th century it was obsolete, and the last manufacturer of tapes ceased production in early 2002, with drive production ending the next year.


B-MAC is a form of analog video encoding, specifically a type of (Multiplexed Analogue Components (MAC) encoding. MAC encoding was designed in the mid 80s for use with Direct Broadcast Satellite systems. Other analog video encoding systems include NTSC, PAL and SECAM. Unlike the FDM method used in those, MAC encoding uses a TDM method. B-MAC was a proprietary MAC encoding used by Scientific-Atlanta for encrypting broadcast video services; the full name was "Multiple Analogue Component, Type B".

B-MAC uses teletext-style non-return-to-zero (NRZ) signaling with a capacity of 1.625 Mbit/s. The video and audio/data signals are therefore combined at baseband.

Both PAL (626/50) and NTSC (525/60) versions of B-MAC were developed and used.User base (PAL/NTSC zones)

This system was used in Australia for TVRO until 2000.

B-MAC was used for satellite broadcasts of the American Forces Radio and Television Service from the early 1980s until 1996-1997 when the analogue standard was replaced by the digital PowerVu system.

B-MAC has not been used for DTH applications since Primestar switched to an all-digital delivery system in the mid-1990s.

Bipolar encoding

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.

The reason why Bipolar encoding is classified as a return to zero (RZ) is because when a bipolar encoded channel is idle the line is held at a constant "zero" level; and when it is transmitting bits the line is either in a +V or -V state corresponding to the binary bit being transmitted. Thus, the line always returns to the "zero" level to denote optionally a separation of bits or to denote idleness of the line.

Bipolar signal

In telecommunication, a bipolar signal is a signal that may assume either of two polarities, neither of which is zero.

A bipolar signal may have a two-state non-return-to-zero (NRZ) or a three-state return-to-zero (RZ) binary coding scheme.

A bipolar signal is usually symmetrical with respect to zero amplitude, i.e., the absolute values of the positive and negative signal states are nominally equal.

CAN bus

A Controller Area Network (CAN bus) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other in applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles to save on copper, but is also used in many other contexts.

Coded mark inversion

In telecommunication, coded mark inversion (CMI) is a non-return-to-zero (NRZ) line code. It encodes zero bits as a half bit time of zero followed by a half bit time of one, and while one bits are encoded as a full bit time of a constant level. The level used for one bits alternates each time one is coded.

This is vaguely reminiscent of, but quite different from, Miller encoding, which also uses half-bit and full-bit pulses, but additionally uses the half-one/half-zero combination and arranges them so that the signal always spends at least a full bit time at a particular level before transitioning again.

CMI doubles the bitstream frequency, when compared to its simple NRZ equivalent, but allows easy and reliable clock recovery.


In telecommunication, an enhanced-non-return-to-zero-level (E-NRZ-L) line code is a binary code in which 1s are represented as low level and 0s are represented as high level condition with no other neutral or rest condition, similar to Non-return-to-zero; However, the major enhancement over NRZ is the addition of a parity bit (usually odd parity) to the end of the bit stream.

Hybrid ternary code

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 (NRZ-L) and the polar return-to-zero (RZ) codes.

The H-ternary code has three levels for signal representation; these are positive (+), zero (0), and negative (−). These three levels are represented by three states. The state of the line code could be in any one of these three states. A transition takes place to the next state as a result of a binary input 1 or 0 and the encoder's present output state. The encoding procedure is as follows.

In general, the encoder outputs + level for a binary 1 input and a − level for a binary 0 input.

However, if this would result in the same output level as the previous bit time, a 0 level is output instead.

Initially, the encoder output present state is assumed at 0 level when the first bit arrives at the encoder input.The new line-coding scheme violates the encoding rule of NRZ-L when a sequence of 1s or 0s arrives and hence, it overcomes some of their deficiencies. During the violation period for a run of 1s or 0s, it operates on the same encoding rule of the polar RZ but with pulse occupancy of full period.

NRZ-L and polar RZ codes have deficiencies compared to the proposed H-ternary encoding scheme. NRZ-L code lacks sufficient timing information when the binary signal remains at one level in of either 1 or 0. This has direct influence on synchronising the receiver clock with that of the transmitter and, as a result, has impact on the detection of the received digital signal.

The H-ternary code has also timing superiority compared to similar ternary codes. Other ternary line code such as alternate mark inversion (AMI) also lacks the timing information when a run of zeros needs to be transmitted. This drawback is partly overcome by its modified version the high density bipolar with three zeros substitution (HDB3).

On the other hand, the new code has a smaller bandwidth in comparison with the polar RZ code. The latter has its frequency spectral components concentrated at twice the original binary data rate because the polar RZ code has a pulse duty cycle of 50 percent.

Line code

In telecommunication, a line code is a pattern of voltage, current, or photons used to represent digital data transmitted down a transmission line. 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.Common line encodings are unipolar, polar, bipolar, and Manchester code.

List of information technology initialisms

The table below lists information technology initialisms and acronyms in common and current usage. These acronyms are used to discuss LAN, internet, WAN, routing and switching protocols, and their applicable organizations. The table contains only current, common, non-proprietary initialisms that are specific to information technology. Most of these initialisms appear in IT career certification exams.


NRZ or NRz may refer to:

National Railways of Zimbabwe

Non-return-to-zero, an encoding technique.

On-off keying

On-off keying (OOK) denotes the simplest form of amplitude-shift keying (ASK) modulation that represents digital data at the presence or absence of a carrier wave. In its simplest form, the presence of a carrier for a specific duration represents a binary one, while its absence for the same duration represents a binary zero. Some more sophisticated schemes vary these durations to convey additional information. It is analogous to unipolar encoding line code.

On-off keying is most commonly used to transmit Morse code over radio frequencies (referred to as CW (continuous wave) operation), although in principle any digital encoding scheme may be used. OOK has been used in the ISM bands to transfer data between computers, for example.

OOK is more spectrally efficient than frequency-shift keying, but more sensitive to noise when using a regenerative receiver or a poorly implemented superheterodyne receiver.

For a given data rate, the bandwidth of a BPSK (Binary Phase Shift keying) signal and the bandwidth of OOK signal are equal.

In addition to RF carrier waves, OOK is also used in optical communication systems (e.g. IrDA).

In aviation, some possibly unmanned airports have equipment that let pilots key their VHF radio a number of times in order to request an Automatic Terminal Information Service broadcast, or turn on runway lights.


Return-to-zero (RZ or RTZ) 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.

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 (RZ) contains a provision for synchronization, it still has a DC component resulting in “baseline wander” during long strings of 0 or 1 bits, just like the line code non-return-to-zero.

Serial Storage Architecture

Serial Storage Architecture (SSA) was a serial transport protocol used to attach disk drives to server computers.

Signal edge

In electronics, a signal edge is a transition in a digital signal either from low to high (0 to 1) or from high to low (1 to 0). It is called an edge because the square wave which represents a signal has edges at those points.

A rising edge is the transition from low to high. It is also named positive edge. When a circuit is rising edge-triggered, it becomes active when its clock signal goes from low to high, and ignores the high-to-low transition.

A falling edge is the high to low transition. It is also known as the negative edge. When a circuit is falling edge-triggered, it becomes active when the clock signal goes from high to low, and ignores the low-to-high transition.

A leading edge is an event that is triggered on the front edge of a pulse. Assuming a clock begins at t = 0, the first position would be triggered at t = 1.

A trailing edge is the opposite of a leading edge. It is triggered on the back edge of a pulse. Assuming the clock begins at t = 0, the first position would be triggered at t = 0.

The terms front edge or leading edge, and back edge or trailing edge describe the related position of edges in a clock cycle.

Unipolar encoding

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.

Its drawbacks are that it is not self-clocking and it has a significant DC component, which can be halved by using return-to-zero, where the signal returns to zero in the middle of the bit period. With a 50% duty cycle each rectangular pulse is only at a positive voltage for half of the bit period. This is ideal if one symbol is sent much more often than the other and power considerations are necessary, and also makes the signal self-clocking.

NRZ (Non-Return-to-Zero) -

Traditionally, a unipolar scheme was designed as a non-return-to-zero (NRZ) scheme, in which the positive voltage defines bit 1 and the zero voltage defines bit 0. It is called NRZ because the signal does not return to zero at the middle of the bit, as instead happens in other line coding schemes, such as Manchester code. Compared with its polar counterpart, polar NRZ, this scheme applies a DC bias to the line and unnecessarily wastes power – The normalized power (power required to send 1 bit per unit line resistance) is double that for polar NRZ. For this reason, unipolar encoding is not normally used in data communications today.

Vehicle Area Network

The Vehicle Area Network (VAN) is a vehicle bus developed by PSA Peugeot Citroën and Renault. It is a serial protocol capable of speeds up to 125 kbit/s and is standardised in ISO 11519-3.At the media layer, VAN is a differential bus with dominant and recessive states signalling ones and zeros much like CAN bus. The data is encoded using enhanced Manchester which sets it apart from almost every other line signalling protocol. This encodes blocks of 4 bits as 3 non-return-to-zero encoded bits followed by 1 Manchester encoded bit.

Vertical interval timecode

Vertical Interval Timecode (VITC, pronounced "vitsee") is a form of SMPTE timecode encoded on one scan line in a video signal. These lines are typically inserted into the vertical blanking interval of the video signal.

With one exception, VITC contains the same payload as SMPTE linear timecode (LTC), embedded in a new frame structure with extra synchronization bits and an error-detection checksum. The exception is that VITC is encoded twice per interlaced video frame, once in each field, and one additional bit (the "field flag") is used to distinguish the two fields.

A video frame may contain more than one VITC code if necessary, recorded on different lines. This is often used in production, where different entities may want to encode different sets of time-code metadata on the same tape.

As a practical matter, VITC can be more 'frame-accurate' than LTC, particularly at very slow tape speeds on analog formats. LTC readers can lose track of code at slow jog speeds whereas VITC can be read frame-by-frame if need be. Conversely, at high speeds (FF/rew.), the VITC is often unreadable due to image distortions, so the LTC is often used instead. Some VCRs have an auto selection between the two formats to provide the highest accuracy.

VITC is 90 bits long: 32 bits of time code, 32 bits of user data, 18 synchronization bits, and 8 bits of checksum. It is transmitted using non-return-to-zero encoding at a bit rate of 115 times the line rate. (The unused 25 bit times are to leave room for the horizontal blanking interval.)

Bit 14 is set to 1 if drop frame numbering is in use; frame numbers 0 and 1 are skipped during the first second of every minute, except multiples of 10 minutes. This converts 30 frame/second time code to the 29.97 frame/second NTSC standard.

Bit 15, the color framing bit, is set to 1 if the time code is synchronized to a (color) video signal. The frame number modulo 2 (for NTSC and SECAM) or modulo 4 (for PAL) should be preserved across cuts in order to avoid phase jumps in the chrominance subcarrier.

Bits 35, 55, and 75 differ between 25 frame/s time code, and 30/29.97 frame/s.:20 The bits are:

Field flag (bit 35 for 29.97/30 frame/s, bit 75 for 25 frame/s): This is an additional least-significant bit for the frame number, distinguishing the two interlaced fields in one video frame. It is set to 0 during the first field of a frame, and to 1 during the second. This bit replaces the "polarity correction" bit in linear timecode.

"Binary group flag" bits BGF0 and BGF2 (bits 55 and 75 for 29.97/30 frame/s, bits 35 and 55 for 25 frame/s): These indicate the format of the user bits. Both bits zero indicates no (or unspecified) format. Only BGF0 set indicates four 8-bit characters (transmitted little-endian). The combinations with BGF2 set are reserved.:7–8

Bit 74 ("Binary group flag 1") was previously unassigned, but is used to indicate that the time code is synchronized to an external clock. If zero, the timecode start time is arbitrary.

The checksum in bits 82–89 is a simple bytewise XOR of the previous 82 bits (including the sync bits, so bit 82 is the XOR of bits 74, 66, ..., 2), which can be described as a CRC with generator polynomial x8+1. (Preset to zero, no inversion.)The exact nature of the color frame sequence depends on the video standard being used. In the case of the three main composite video standards, PAL video has an 8-field (4 frame) color frame sequence, and NTSC and SECAM both have 4-field (2 frame) color frame sequences.

Preserving the color framing sequence of video across edits and between channels in video effects was an important issue in early analog composite videotape editing systems, as cuts between different color sequences would cause jumps in subcarrier phase, and mixing two signals of different field dominance would result in color artifacts on the part of the signal that was not in sync with the output color frame sequence.

To help prevent these problems, SMPTE time code contains a color framing bit, which can be used to indicate that the video material the timecode refers to follows a standard convention regarding the synchronization of video time code and the color framing sequence. If the color framing bit was set in both types of material, the editing system could then always ensure that color framing was preserved by constraining edit decisions between input sources to keep the correct relationship between the timecode sequences, and hence the color framing sequences.

Line coding (digital baseband transmission)
Main articles
Basic line codes
Extended line codes
Optical line codes

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.