Modified AMI code
Modified AMI codes are a digital telecommunications technique to maintain
Overview
The
T-carrier was originally developed for voice applications. When voice signals are digitized for
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
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.
Zero length code suppression
The first technique used to ensure a minimum density of marks was zero code suppression a form of bit stuffing, 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 slippage 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.
B8ZS (North American T1)
Commonly used in the North American T1 (Digital Signal 1) 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-carrier 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.
Parity of +/− bits since previous V |
Pattern | Previous pulse | Coded |
---|---|---|---|
Even | B00V | + | −00− |
− | +00+ | ||
Odd | 000V | + | 000+ |
− | 000- |
These rules are applied on the code as it is being built from the original string. Every time 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, one must count the number of pluses (+) and the number of minuses (−) since the last violation bit V, then 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, one 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.
Examples
Here are some examples of bit streams codes with AMI and HDB3. All assume the same starting conditions: the previous 1 bit was −, and the previous violation was an even number of 1 bits ago. (E.g. the preceding bits could have been ++−.)
Input | 100001102 |
AMI | +0000−+0 |
HDB3 | +B00V−+0 |
+−00−+−0 |
Input | 1010000011000011000000012 |
AMI | +0−00000+−0000+−0000000+ |
HDB3 | +0−000V0+−B00V−+B00V000+ |
+0−000−0+−+00+−+−00−000+ |
Input | 10100001000011000011100001111000010100002 |
AMI | +0−0000+0000−+0000−+−0000+−+−0000+0−0000 |
HDB3 | +0-000V+000V-+B00V-+-000V+-+-B00V+0-B00V |
+0-000-+000+-+-00-+-+000+-+-+-00-+0-+00+ |
Input | 100000000002 |
AMI | +000000000 |
HDB3 | +B00VB00V00 |
+-00-+00+00 |
B3ZS (North American T3)
At the
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 encoding or alternate mark inversion
- Hybrid ternary code
- MLT-3 encoding
- 4B3T
This article incorporates public domain material from Federal Standard 1037C. General Services Administration. Archived from the original on 2022-01-22.