What is it?
Also known as HDB3; is one of the most popular line codes used today used in digital communications. It is the global standard line code defined by its bipolar characteristics within signalling technique. The bipolar characteristic is basically its reliance of the transmission of both negative and positive pulses.
How it works
HDB3 relies on both negative and positive pulses. It is based on the AMI (Alternative Mark Inversion) but further analyses data by implanting a Violation code if there is a run of four (4) or more zeros (0) within transmission.
The diagram above shows the difference between AMI coding and HDB3, also in the diagram is a North American coding (B8ZS) which should be ignored for this exercise. As shown, in the AMI, for every change between 0’s and 1’s, there is both a negative and positive pulse. The HDB3 coding as shown has similar characteristics, but also has advanced techniques including using Violations for every continuous sequence of 4 or more zeros (0’s).
HDB3 is the European equivalent of B8ZS. It works in a similar way to HDB3 but uses 4 zeroes rather than 8. After the 4 zeros a violation will occur and the polarity is set to be the same as the previous positive bit, e.g. 000V. The use of violations in the signal give it extra ‘edges’ which makes synchronisation possible and data retrieval more accurate.
An additional technique is used to stop DC voltage being introduced by having too many zeros. This works by adding a balancing pulse to any pattern of more than 4 bits the same, i.e. B00V. The value of B will be changed to positive or negative as required to make alternate violations of opposite polarity. The balancing pulse and the violation can then be removed at the receiver to create the original data.
The following table shows the encoding rules for HDB3:
HDB3 Encoded Pattern
Alternate Mark Inversion (AMI)
000V (three 0’s and a violation)
Why has it become De facto in the Industry?
The Substitution and violation elements enhance efficiency, as shown earlier in the documentation; the full meaning of the name is High Density Bipolar 3 Zeros Substitution. By adding all these elopements within this method of coding, this makes error detection operate at high proficiencies.
The use of substitution and violation prevents loss of synchronisation especially with the potential monotony of some transmissions. With either continuous zeros (0’s) or ones (1’s) within transmission, there could be a potential loss of data or a high chance of preventable errors.
Because AMI is so basic, thus; ones (1’s) represent a pulse and zeros (0’s) represent lack of a pulse, In AMI, the polarity of each positive pulse is the opposite of the previous pulse. The problem with using AMI is that if not enough voltage pulses are sent down the line, the receiver will not correctly decode the data stream, thus if there is multiple zeros (0’s).
This is solved with the introduction of High Density Bipolar 3. HDB3 has been adopted throughout Europe and other nations due to this effectiveness, and others have created their own modified versions of this coding as seen with B8ZS, which instead has a 8 zero (0’s) tolerance before a substitution.
HDB3 is the line code recommended by the ITU-T for PCM systems operating at multiplexed rates of 2, 8, and 34 Mbits/sec; therefore, suited in a high data rate transfer environment.
How Does CMI Work?
CMI which is coded mark inversion is a Non- Return- to -Zero (NRZ) code line which doubles the rate of data transmission.
A zero is sent as a low to high  transition, while a one is sent as either a one  or zero  depending on the previous state. If the previous state was high the one is sent as a zero , if it was low the one is sent as a one .
HDB3 vs CMI
CMI is a combination of a dipolar signalling for binary zero (0), thus showing characteristics of the Manchester Code and NRZ-AMI for binary one (1). This shows that there is similarity in terms of Binary 1 whereby in complete form HDB3 replicates the AMI qualities for binary 1, despite showing less functionality for binary 0.
Both CMI and HDB3 possess no qualities of a DC component as they fluctuate between +V and -V values, and both can have clock rates extracted at the receiver.
Due to the doubled rate of data transmission, accurate timing information is necessary to ensure effective synchronisation of sampling and the recovery process at the transmitter and receiver when using CMI, which adds more factors within accuracy and can be potentially more flaws in the coding.
2. Pulse Code Modulation (digital audio encoding/decoding)
Within Pulse code Modulation in recent times, Adaptive Differential Pulse Code Modulation (ADPCM) is used. This method is used to modulate an audio signal into a data packet to be sent to the communication network, and demodulating the data packet according to the digital data, the initial value and the scale factor, thereby reconstructing the data packet to an analogue audio output signal.
Adaptive Differential Pulse Code Modulation (ADPCM) is a compression/decompression technique, used for converting analogue sound or data into a string of digital binary code. Frequent samples are taken of the analogue signal, and the difference between the actual value of each sample and its predicted value (derived from the previous samples) is quantized and converted to a digital signal.
This technique is called ‘adaptive’, because the encoding predictions are adjusted in accordance with the changing characteristics of the input signal, and the coding scale is modified to accommodate any large or small differences. The ADPCM method of encoding takes up less storage space, and produces a lower bit rate, than standard PCM (Pulse Code Modulation). This greater efficiency is achieved because only the differences between samples are recorded. At the decoder the quantized difference signal is added to the predicted signal to produce the reconstructed speech signal.
At the converter, the input audio is converted into data bits. The two types of encoding that can take place are A-Law encoding or ï¿½- law encoding. A-Law encoding is used in Europe while ï¿½- law is used in North America and Japan.
The Adaptive Predictor is actually a form of a Digital Signal Processor. Basically it predicts the next sample data. These systems are fine tuned to the local language and local tone of communication. This enables them to detect the potential difference within the data. Within encoding, it is acquainted with the Amplitude and Frequency Limits.
It works like a feedback loop and only transmits half of the prediction, it compares it with the input, if there is any difference, and it transmits the difference. Both the sending and receiving end need to be running the same Prediction Algorithm.
At this stage, the information is mapped in terms of probability of appearance. This process works in hand with the Adaptive Predictor, by adding the changes in the input signal in aid of efficient compression.
Because the Predictor is a digital signal processor, when the information is digitalised from an analogue signal, precision is limited due to the Bits available. Limited precision leads to errors within transmission. The quantiser acts as a Nyquist Analysing System and moves twice as fast as the input system.
It produces a series of numbers or digits, each of which represents the approximate magnitude of the signal sample at that instant. This approximation may be made as close as desired but at best it remains an approximation. In Pulse code modulation the total amplitude range of the signal is divided into a number of standard levels at equal intervals. These levels are transmitted in a binary code.
Inverse Adaptive Quantiser
The information at this stage is processed to make it suitable for transmission. The message signal is processed into the carriers preferred form to be transferred over to the receiver. The main reasons for this are for Ease of Transmission, to reduce noise and for channel assignment, especially if it was a message intended for broadcasting.
The main purpose of the inverse Quantiser is to be a decoder.
The Functions of the Decoder elements are similar to those of the Encoding process, except the inverse Quantiser acts as a decoder. The decoding predictor should also run the same algorithms as the Encoder to ensure that it understands the lines of prediction inputted.
The processes of the Decoder are vital to enable Audio reconstruction that is efficient, but also quality conscience.
PCM is used in mobile telecommunications. Modern mobile phones utilise this method to minimise line traffic and to speed up service to provide a “Real- Time” experience. Satellite radio uses the same method over the wide range of frequencies.
The issue of PCM is that it is used as an element of compression, like any other source coding. By removing information that is deemed unnecessary or duplicated, adjusts the output quality making it lower that the original signal. This is why digitalised Audio and Visual signals are poor compared to the basic Analogue wave. For example sound waves of MP3 (MPEG Layer3) quality have undergone layers of Sub band codec and are poor quality compared to live streams and other uncompressed audio. Despite this, the information size is low and the main attributes of the signal can still be sourced.
3. Code Excited Linear Predictive (CELP)
CELP is an updates version of PCM and is used in modern digital cellular phones. It basically provides high quality speech at very low bit rates by using predictive techniques such as those used in ADPCM combined with more advanced prediction techniques that predict some of the periodicity it can quantize the predictor error with just a few bits per sample.
The analogue voice signal is converted to a digital data signal, so that it can be compressed for transmission over the network, and the process is then reversed at the other end when the digital data is converted back to an analogue voice signal.
The diagram above shows the decoding process. The excitation is produced by summing the contributions from an adaptive codebook and a fixed codebook.
The fixed codebook is a quantization dictionary that is hard-coded into the codec. This codebook can be algebraic or be stored explicitly. The entries in the adaptive codebook consist of delayed versions of the excitation. This makes it possible to efficiently code periodic signals, such as voiced sounds.
The main reason CELP is used in mobile phones is due to the rate of transmission that the encoding and decoding of information happens. Due to exponential convergence, mobile signals process data and voice now, so it is innovative to have a system that can process audio efficiently to allow bandwidth allocation to data services.
In retrospect to digital modulation, it is an effective method of compressing data and sending smaller sized packets of data over a communication carrier. The multiplexing algorithms involved in predicting speech data and formulating pulses which are then sent over a carrier in binary codes such as Alternative Mark Inversion, or HDB3; received by the other receiving end and then decoded are all complex and efficient methods used today.
In view of the future, quality may be the deciding factor, with new technologies such as fibre optic networks that provide limitless bandwidth; quality may not be compromised, therefore eliminating the need for data compression.
In other words, this technology could be ageing.