Modified AMI code
Encyclopedia
Modified AMI codes are Alternate Mark Inversion (AMI) line code
s in which bipolar violation
s may be deliberately inserted to maintain system
synchronization
. There are several types of modified AMI codes, used in various T-carrier
and E-carrier
systems.
of an incoming T-carrier signal is extracted from its bipolar line code. Each signal transition provides an opportunity for the receiver to see the transmitter's clock. The AMI code guarantees that transitions are always present before and after each mark (1 bit), but are missing between adjacent spaces (0 bits). To prevent loss of synchronization
when a long string
of zeros is present in the payload, deliberate bipolar violations are inserted into the line code, to create a sufficient number of transitions to maintain synchronization; this is a form of run length limited
coding. The receive terminal equipment
recognizes the bipolar violations and removes from the user data the marks attributable to the bipolar violations.
T-carrier was originally developed for voice applications. When voice signals are digitized for transmission
via T-carrier, the data stream
always includes ample 1 bits to maintain synchronization. (To help this, the μ-law algorithm for digitizing voice signals encodes silence as a continuous stream of 1 bits.) However, when used for the transmission of digital data, the conventional AMI line code may fail to have sufficient marks to permit recovery of the incoming clock, and synchronization is lost. This happens when there are too many consecutive zeros in the user
data
being transported.
The exact pattern of bipolar violations that is transmitted in any given case depends on the line rate (i.e., the level of the line code in the T-carrier
hierarchy) and the polarity of the last valid mark in the user data prior to the unacceptably long string of zeros. It would not be useful to have a violation immediately following a mark, as that would not produce a transition. For this reason, all modified AMI codes include a space (0 bit) before each violation mark.
In the descriptions below, "B" denotes a balancing mark with the opposite polarity to that of the preceding mark, while "V" denotes a bipolar violation mark,which has the same polarity as the preceding mark.
In order to preserve AMI coding's desirable absence of DC bias
, the number of positive marks must equal the number of negative marks. This happens automatically for balancing (B) marks, but the line code must ensure that positive and negative violation marks balance each other.
, which set the least significant bit of each 8-bit byte transmitted to a 1. (This bit was already unavailable due to robbed-bit signaling.) This avoided the need to modify the AMI code in any way, but limited available data rates to 56,000 bits per second per DS0
voice channel. Also, the low minimum density of ones (12.5%) sometimes led to increased clock slip
page on the span.
Increased demand for bandwidth, and compatibility with the G.703
and ISDN PRI
standards which called for 64,000 bits per second, led to this system being superseded by B8ZS.
) 1.544 Mbit/s line code, bipolar with eight-zero substitution (B8ZS) replaces each string of 8 consecutive zeros with the special pattern "000VB0VB". Depending on the polarity of the preceding mark, that could be 000+−0−+ OR 000−+0+−.
system, the high density bipolar of order 3 (HDB3) code replaces any instance of 4 consecutive 0 bits with one of the patterns "000V" or "B00V". The choice is made to ensure that consecutive violations are of differing polarity, i.e. separated by an odd number of normal + or - marks.
These rules are applied on the code as it is being built from the original string. Everytime there are 4 consecutive zeros in the code they will be replaced by either 000−, 000+, +00+ or −00−. To determine which pattern to use, you have to count the number of pluses (+) and the number of minuses (−) since the last violation bit V that you used and subtract one from the other. If the result is an odd number then 000− or 000+ is used. If the result is an even number then +00+ or −00− is used. To determine which polarity to use you must look at the pulse preceding the four zeros. If 000V form must be used then V simply copies the polarity of last pulse, if B00V form must be used then B and V chosen will have the opposite polarity of the last pulse.
Summary of HDB3 encoding rules
Transmitted Data HDB3 Encoded Pattern
0 0
1 Alternate Mark Inversion (AMI)
0000 000V (three 0's and a violation)
0000 0000 B00V B00V
Example 1 of HDB3 encoding
The pattern of bits
" 1 0 0 0 0 1 1 0 "
encoded in HDB3 is
" + 0 0 0 V − + 0 "
(the corresponding encoding using AMI is " + 0 0 0 0 − + ").
Example 2 of HDB3 encoding
The pattern of bits
" 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 "
encoded in HDB3 is " + 0 − 0 0 0 V 0 + − B 0 0 V − + B 0 0 V 0 0 " which is:
" + 0 − 0 0 0 − 0 + − + 0 0 + − + − 0 0 − 0 0 "
(the corresponding encoding using AMI is " + 0 − 0 0 0 0 0 + − 0 0 0 0 + − 0 0 0 0 0 0 ")
Example 3 of HDB3 encoding
The pattern of bits
" 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0"
encoded in HDB3 is "+ 0 − 0 0 0 V + 0 0 0 V − + B 0 0 V + − + 0 0 0 V − + − + B 0 0 V + 0 − B 0 0 V " which is:
" + 0 − 0 0 0 − + 0 0 0 + − + − 0 0 − + − + 0 0 0 + − + − + − 0 0 − + 0 − + 0 0 + "
(the corresponding encoding using AMI is " + 0 − 0 0 0 0 + 0 0 0 0 − + 0 0 0 0 − + − 0 0 0 0 + − + − 0 0 0 0 + 0 − 0 0 0 0 ")
Line code
In telecommunication, a line code is a code chosen for use within a communications system for baseband transmission purposes...
s in which bipolar violation
Bipolar violation
A bipolar violation, bipolarity violation, or BPV, is a violation of the bipolar encoding rules where two pulses of the same polarity occur without an intervening pulse of the opposite polarity. This indicates an error in the transmission of the signal.T-carrier and E-carrier signals are...
s may be deliberately inserted to maintain system
System
System is a set of interacting or interdependent components forming an integrated whole....
synchronization
Synchronization
Synchronization is timekeeping which requires the coordination of events to operate a system in unison. The familiar conductor of an orchestra serves to keep the orchestra in time....
. There are several types of modified AMI codes, used in various T-carrier
T-carrier
In telecommunications, T-carrier, sometimes abbreviated as T-CXR, is the generic designator for any of several digitally multiplexed telecommunications carrier systems originally developed by Bell Labs and used in North America, Japan, and South Korea....
and E-carrier
E-carrier
In digital telecommunications, where a single physical wire pair can be used to carry many simultaneous voice conversations by time-division multiplexing, worldwide standards have been created and deployed...
systems.
Overview
The clock rateClock rate
The clock rate typically refers to the frequency that a CPU is running at.For example, a crystal oscillator frequency reference typically is synonymous with a fixed sinusoidal waveform, a clock rate is that frequency reference translated by electronic circuitry into a corresponding square wave...
of an incoming T-carrier signal is extracted from its bipolar line code. Each signal transition provides an opportunity for the receiver to see the transmitter's clock. The AMI code guarantees that transitions are always present before and after each mark (1 bit), but are missing between adjacent spaces (0 bits). To prevent loss of synchronization
Synchronization
Synchronization is timekeeping which requires the coordination of events to operate a system in unison. The familiar conductor of an orchestra serves to keep the orchestra in time....
when a long string
String (computer science)
In formal languages, which are used in mathematical logic and theoretical computer science, a string is a finite sequence of symbols that are chosen from a set or alphabet....
of zeros is present in the payload, deliberate bipolar violations are inserted into the line code, to create a sufficient number of transitions to maintain synchronization; this is a form of run length limited
Run Length Limited
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. This is used in both telecommunication and storage systems which move a medium past a fixed head. Specifically, RLL bounds the length of stretches ...
coding. The receive terminal equipment
Terminal equipment
In telecommunication, the term terminal equipment has the following meanings:* Communications equipment at either end of a communications link, used to permit the stations involved to accomplish the mission for which the link was established....
recognizes the bipolar violations and removes from the user data the marks attributable to the bipolar violations.
T-carrier was originally developed for voice applications. When voice signals are digitized for transmission
Transmission (telecommunications)
Transmission, in telecommunications, is the process of sending, propagating and receiving an analogue or digital information signal over a physical point-to-point or point-to-multipoint transmission medium, either wired, optical fiber or wireless...
via T-carrier, the data stream
Data stream
In telecommunications and computing, a data stream is a sequence of digitally encoded coherent signals used to transmit or receive information that is in the process of being transmitted....
always includes ample 1 bits to maintain synchronization. (To help this, the μ-law algorithm for digitizing voice signals encodes silence as a continuous stream of 1 bits.) However, when used for the transmission of digital data, the conventional AMI line code may fail to have sufficient marks to permit recovery of the incoming clock, and synchronization is lost. This happens when there are too many consecutive zeros in the user
User (telecommunications)
In telecommunications, a user is a person, organization, or other entity that employs the services provided by a telecommunication system, or by an information processing system, for transfer of information....
data
Data
The term data refers to qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which...
being transported.
The exact pattern of bipolar violations that is transmitted in any given case depends on the line rate (i.e., the level of the line code in the T-carrier
T-carrier
In telecommunications, T-carrier, sometimes abbreviated as T-CXR, is the generic designator for any of several digitally multiplexed telecommunications carrier systems originally developed by Bell Labs and used in North America, Japan, and South Korea....
hierarchy) and the polarity of the last valid mark in the user data prior to the unacceptably long string of zeros. It would not be useful to have a violation immediately following a mark, as that would not produce a transition. For this reason, all modified AMI codes include a space (0 bit) before each violation mark.
In the descriptions below, "B" denotes a balancing mark with the opposite polarity to that of the preceding mark, while "V" denotes a bipolar violation mark,which has the same polarity as the preceding mark.
In order to preserve AMI coding's desirable absence of DC bias
DC bias
When describing a periodic function in the frequency domain, the DC bias, DC component, DC offset, or DC coefficient is the mean value of the waveform...
, the number of positive marks must equal the number of negative marks. This happens automatically for balancing (B) marks, but the line code must ensure that positive and negative violation marks balance each other.
Zero code suppression
The first technique used to ensure a minimum density of marks was zero code suppression a form of bit stuffingBit stuffing
In data transmission and telecommunication, bit stuffing is the insertion of noninformation bits into data...
, which set the least significant bit of each 8-bit byte transmitted to a 1. (This bit was already unavailable due to robbed-bit signaling.) This avoided the need to modify the AMI code in any way, but limited available data rates to 56,000 bits per second per DS0
Digital Signal 0
Digital Signal 0 is a basic digital signaling rate of 64 kbit/s, corresponding to the capacity of one voice-frequency-equivalent channel...
voice channel. Also, the low minimum density of ones (12.5%) sometimes led to increased clock slip
Slip (telecommunication)
In telecommunications, a slip is a positional displacement in a sequence of transmitted symbols that causes the loss or insertion of one or more symbols. Slips are usually caused by inadequate synchronization of the two clocks controlling the transmission or by poor reception of the signal....
page on the span.
Increased demand for bandwidth, and compatibility with the G.703
G.703
G.703 is an ITU-T standard for transmitting voice or data over digital carriers such as T1 and E1. G.703 provides specifications for pulse code modulation .G.703 also specifies E0...
and ISDN PRI
Primary rate interface
The Primary Rate Interface is a standardized telecommunications service level within the Integrated Services Digital Network specification for carrying multiple DS0 voice and data transmissions between a network and a user....
standards which called for 64,000 bits per second, led to this system being superseded by B8ZS.
B8ZS (North American T1)
Commonly used in the North American T1 (Digital Signal 1Digital Signal 1
Digital signal 1 is a T-carrier signaling scheme devised by Bell Labs. DS1 is a widely used standard in telecommunications in North America and Japan to transmit voice and data between devices. E1 is used in place of T1 outside North America, Japan, and South Korea...
) 1.544 Mbit/s line code, bipolar with eight-zero substitution (B8ZS) replaces each string of 8 consecutive zeros with the special pattern "000VB0VB". Depending on the polarity of the preceding mark, that could be 000+−0−+ OR 000−+0+−.
B6ZS (North American T2)
At the North American T2 rate (6.312 Mbit/s), bipolar violations are inserted if 6 or more consecutive zeros occur. This line code is called bipolar with six-zero substitution (B6ZS), and replaces 6 consecutive zeros with the pattern "0VB0VB". Depending on the polarity of the preceding mark, that could be 0+−0−+ OR 0−+0+−.HDB3 (European E-carrier)
Used in all levels of the European E-carrierE-carrier
In digital telecommunications, where a single physical wire pair can be used to carry many simultaneous voice conversations by time-division multiplexing, worldwide standards have been created and deployed...
system, the high density bipolar of order 3 (HDB3) code replaces any instance of 4 consecutive 0 bits with one of the patterns "000V" or "B00V". The choice is made to ensure that consecutive violations are of differing polarity, i.e. separated by an odd number of normal + or - marks.
Number of +/- bits since last V | Pattern | Polarity of last Pulse | Coded |
---|---|---|---|
odd | 000V | + | 000+ |
− | 000− | ||
even | B00V | + | −00− |
− | +00+ |
These rules are applied on the code as it is being built from the original string. Everytime there are 4 consecutive zeros in the code they will be replaced by either 000−, 000+, +00+ or −00−. To determine which pattern to use, you have to count the number of pluses (+) and the number of minuses (−) since the last violation bit V that you used and subtract one from the other. If the result is an odd number then 000− or 000+ is used. If the result is an even number then +00+ or −00− is used. To determine which polarity to use you must look at the pulse preceding the four zeros. If 000V form must be used then V simply copies the polarity of last pulse, if B00V form must be used then B and V chosen will have the opposite polarity of the last pulse.
Summary of HDB3 encoding rules
Transmitted Data HDB3 Encoded Pattern
0 0
1 Alternate Mark Inversion (AMI)
0000 000V (three 0's and a violation)
0000 0000 B00V B00V
Example 1 of HDB3 encoding
The pattern of bits
" 1 0 0 0 0 1 1 0 "
encoded in HDB3 is
" + 0 0 0 V − + 0 "
(the corresponding encoding using AMI is " + 0 0 0 0 − + ").
Example 2 of HDB3 encoding
The pattern of bits
" 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 "
encoded in HDB3 is " + 0 − 0 0 0 V 0 + − B 0 0 V − + B 0 0 V 0 0 " which is:
" + 0 − 0 0 0 − 0 + − + 0 0 + − + − 0 0 − 0 0 "
(the corresponding encoding using AMI is " + 0 − 0 0 0 0 0 + − 0 0 0 0 + − 0 0 0 0 0 0 ")
Example 3 of HDB3 encoding
The pattern of bits
" 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0"
encoded in HDB3 is "+ 0 − 0 0 0 V + 0 0 0 V − + B 0 0 V + − + 0 0 0 V − + − + B 0 0 V + 0 − B 0 0 V " which is:
" + 0 − 0 0 0 − + 0 0 0 + − + − 0 0 − + − + 0 0 0 + − + − + − 0 0 − + 0 − + 0 0 + "
(the corresponding encoding using AMI is " + 0 − 0 0 0 0 + 0 0 0 0 − + 0 0 0 0 − + − 0 0 0 0 + − + − 0 0 0 0 + 0 − 0 0 0 0 ")
B3ZS (North American T3)
At the North American T3 rate (44.736 Mbit/s), bipolar violations are inserted if 3 or more consecutive zeros occur. This line code is called bipolar with three-zero substitution (B3ZS), and is very similar to HDB3. Each run of 3 consecutive zeros is replaced by "00V" or "B0V". The choice is made to ensure that consecutive violations are of differing polarity, i.e. separated by an odd number of normal B marks. Number of B bits since last V | Pattern | Polarity of last B | Coded |
---|---|---|---|
odd | 00V | + | 00+ |
− | 00− | ||
even | B0V | + | −0− |
− | +0+ |
See also
Other line codes that have 3 states:- Bipolar encodingBipolar encodingIn telecommunication, bipolar encoding is a type of line code . A duobinary signal is such an encoding.- Advantages :...
, a.k.a. Alternate mark inversion - Hybrid ternary codeHybrid ternary codeThe hybrid ternary line code operates on a hybrid principle that combines the binary non-return-to-zero-level and the polar return-to-zero codes and thus it is called H-ternary....
- MLT-3 encodingMLT-3 encodingMLT-3 encoding is a line code that uses three voltage levels...
- 4B3T4B3T4B3T stands for 4 Binary 3 Ternary, a line encoding scheme used for ISDN BRI interface. 4B3T represents four binary bits using three pulses.It uses three states:* + ,* 0 , and* − ....