What is Pulse Code Modulation (PCM)?
Share this post
>> What is exactly PCM?
Pulse-code modulation (PCM) is a method used to digitally represent sampled analog signals. It is the standard form for digital audio in computers and various Blu-ray, Compact Disc and DVD formats, as well as other uses such as digital telephone systems. A PCM stream is a digital representation of an analog signal, in which the magnitude of the analogue signal is sampled regularly at uniform intervals, with each sample being quantized to the nearest value within a range of digital steps.
For digital communication, there are two quite different PCM standards.
- The North American standard, also called T1, the more standard name is DS1 PCM hierarchy.
- The European system E1 hierarchy.
>> Basis of Pulse Code Modulation (PCM)
Here are the three steps for developing an equivalent PCM digital signal from an analog signal. The typical human speech is represented by a simple 1200 Hz tone, which is represented by a sine wave.
- Sampling
- Quantization
- Coding
1. Sampling
The foundation of PCM is based on the Nyquist sampling theorem.
If a and-limited signal is sampled at regular intervals of time and at a rate equal to or higher than twice (2x) the highest significant signal frequency, then the sample contains all the information of the original signal. The original signal may then be reconstructed by use of a low-pass filter.
Based on Nyquist sampling theorem, we can derive that the nominal 4 kHz voice channel can be reconstructed by a sampling rate of 8000 times per second (4000 x 2). This means that a sample is taken every 125 μsec, or 1 second/8000.
A. Pulse Amplitude Modulation (PAM) Wave
In most real world PCM systems, Time Division Multiplexing (TDM) are used. So the sampling does not just involve one voice channel but several. The North American T1 system samples 24 voice channels in sequence, and the European E1 samples 30 voice channels. The result of the multiple sampling is a pulse amplitude modulation (PAM) wave as shown in the following figure.
The following figure shows a simplified diagram of the processing involved to derive a multiplex PAM wave, only three voice channels are sampled sequentially.
a) T1 Sampling
In North American T1 (DS1) system, 24 voice channels are sampled sequentially and are interleaved to form a PAM-multiplexed wave. The sampling gate is open about 5.2 μs (125 μs/24) for each voice. The full sequence of 24 channels is sampled successively from channel 1 through channel 24 in a 125 μs period. This 125 μs period is a called a frame, and inside the frame all 24 channels are successively sampled just once.
b) E1 Sampling
In European E1 system, there are 30 voice channels plus an additional two service channels, for a total of 32 channels. By definition, this system must sample 8000 times per second because it is also optimized for voice operation, and thus its frame period is also 125 μs. To accommodate the 32 channels, the sampling gate is open 125 μs/32 or about 3.906 μs.
2. Quantization
A. Uniform Quantization
The purpose of a PCM system is to transmit to the distant end the value of a voltage sample at a certain moment in time. The next step is to assign a binary sequence to each of those voltage samples, this step is called quantization.
For discussion’s sake, we assume the maximum excursion of the PAM wave to within +1 V to –1 V. Between +1 V to –1 V PAM wave, there could be an infinite number of different values of voltage. However, in order to assign a binary sequence to each voltage value, we must limit the number of voltage values, and the values must be discrete. For example, we could set 20 discrete values between +1 V and –1 V, with each value at a discrete 0.1 V increment.
Since we are working in the binary domain, we select the total number of discrete values to be a binary number multiple (i.e., 2, 4, 8, 16, 32, 64, 128, etc.). This facilitates binary coding. For instance, if there were four values, they would be as follows: 00, 01, 10, 11. This is a 2 bit code.
We find that the number of total possible different binary combinations given a code of n binary symbols (bits) is 2^{n}. A 7-bit code has 128 different binary combinations (i.e., 2^{7} = 128).
For the quantization process, we need to present to the coder a discrete voltage value. Suppose our quantization steps were on 0.1 V increments and our voltage measure for one sample was 0.37 V. That would have to be rounded off to 0.4 V, the nearest discrete value. Note that there is a 0.03 V error, the difference between 0.37 V and 0.4 V. This is called quantization error.
> Uniform Quantization Sample:
The above figure shows one cycle of the PAM wave, where we use a 4-bit code. In the figure, a 4 bit code is used that allows for 16 different binary-coded possibilities or levels between +1 V and –1 V. Thus we can assign eight possibilities above the origin and eight possibilities below the origin. These 16 quantum steps are coded as follows.
Step Number |
Code |
Step Number |
Code |
0 |
0000 |
8 |
1000 |
1 |
0001 |
9 |
1001 |
2 |
0010 |
10 |
1010 |
3 |
0011 |
11 |
1011 |
4 |
0100 |
12 |
1100 |
5 |
0101 |
13 |
1101 |
6 |
0110 |
14 |
1110 |
7 |
0111 |
15 |
1111 |
Examining the above figure, we can see that step 12 is used twice. Neither time it is used is it the true value of the impinging sinusoid voltage. It is a rounded-off value. These rounded-off values are shown with the dashed lines in the figure, which follows the general outline of the sinusoid.
The horizontal dashed lines show the point where the quantum changes to the next higher or lower level if the sinusoid curve is above or below that value. Take step 14 in the curve, for example. The curve, dropping from its maximum, is given two values of 14 consecutively. For the first, the curve resides above 14, and for the second, below. That error, in the case of 14, from the quantum value to the true value is called quantizing distortion. This distortion is a major source of imperfection in PCM system.
Increasing the number of quantizing steps for a fixed range of input values reduces quantizing distortion accordingly.
However, voice transmission presents a problem. It has a wide dynamic range, on the order of 50 dB. That is the level range from the loudest talker to the quietest talker. using linear quantization, we find it would require 2048 discrete steps to provide any fidelity at all. Since 2048 is 2^{11}, this means we would need an 11-bit code. Such a code sampled 8000 times per second leads to 88,000 bit per second (bps) equivalent voice channel and an 88 kHz bandwidth. This is a too great bandwidth requirement for a single voice channel.
So this leads to non-linear quantization process which we will explain below.
B. Non-Uniform Quantization
With uniform quantization, the signal to noise ratio is large for high levels but small for low level signals. Therefore, non-uniform quantization is used.
In non-uniform quantization process, the quantizing intervals are not of equal size. Small quantizing intervals are allocated to small signal values and large quantization intervals to large values. This is to achieve that the signal-to-quantization distortion ratio is nearly independent of the signal level.
Non-uniform quantization uses a technique of companding. Companding derives from two words: compression and expansion. Compression takes place on the transmit side; expansion on the receive side. Compression reduces the dynamic range with little loss of fidelity, and expansion returns the signal to its normal condition.
This is done by favoring low-level speech over higher-level speech. In other words, more code segments are assigned to speech bursts at low levels than at the higher levels, progressively more as the level reduces. This is shown in the following figure.
In the above figure, eight coded sequences are assigned to each level grouping. The smallest range rises only 0.0666 V from the origin (assigned to 0 V level). The largest extends over 0.5 V, and it is assigned only eight coded sequences.
3. Coding
Older PCM systems used 7-bit code, and modern systems use an 8-bit code with its improved quantizing distortion performance. The companding and coding are carried out together, simultaneously. The compression and later expansion functions are logarithmic. A pseudologarithmic curve made up of linear segments imparts finer granularity to low-level signals and less granularity to the higher-level signals.
The logarithmic curve follows one of two laws, the A-law and the μ-law.
A. A-Law
The curve for the A-law may be plotted from the formula:
where A = 87.6. The A-law is used with European E1 system.
B. μ-Law
The curve for μ-law is plotted from the formula
where x is the signal input amplitude and μ = 100 for the original North American T1 system (now outdated), and 255 for later North American (DS1) systems and the CCITT 24-channel systems (CCITT Rec. G.733).
C. Signal-to-Distortion Ratio (S/D)
A common expression used in dealing with the “quality” of a PCM signal is signal-to-distortion ratio (S/D, expressed in dB). Parameters A and μ, for the respective companding laws, determine the range over which the signal-to-distortion ratio is comparatively constant, about 26 dB.
For A-law companding, an S/D = 37.5 dB can be expected (A = 87.6). And for μ-law companding, we can expect S/D = 37 dB (μ=255).
D. A-Law Companding Curve Examination
Now let’s look at the following figure, which shows the companding curve and resulting coding for the European E1 system.
Note that the curve consists of linear piecewise segments, seven above and seven below the origin. The segment just above and the segment just below the origin consists of two linear segments. Counting the collinear elements by the origin, there are 16 segments. Each segment has 16 8-bit PCM codewords assigned. These are the codewords that identify the voltage level of a sample at some moment in time.
Each codeword, often called a PCM “word”, consists of 8 bits. The first bit (most significant bit) tells the distant-end receiver if the sample is a positive or negative voltage. Observe that all PCM words above the origin start with a binary 1, and those below the origin start with a binary 0. The next 3 bits in sequence identify the segment. There are eight segments (or collinear equivalents) above the origin and eight below the origin (2^{3} = 8). The last 4 bits, shown as XXXX, indicate exactly where in a particular segment that voltage line is located.
Suppose the distant-end received the binary sequence 11010100 in an E1 system. The first bit indicates that the voltage is positive. The next three bits, 101, indicate that the sample is in segment 4 (positive). The last 4 bits, 0100, tell where it is in that segment as illustrated in the following figure.
In the above figure, note that the 16 steps inside the segment are linear.
E. μ-Law Companding Curve
The following figure shows an equivalent logarithmic curve for the North American DS1 (T1) system. It uses a 15-segment approximation of the logarithmic μ-law curve (μ-255). The segments cutting the origin are collinear and are counted as one. So again, we have a total of 16 segments.
F. Coding
The coding process in PCM utilizes straightforward binary codes as shown in the previous three figures.
4. PCM Frame
As shown in the second figure above, PCM multiplexing is carried out with the sampling process, sampling the analog sources sequentially. These sources may be the nominal 4 kHz voice channels or other information sources that have a 4 kHz bandwidth.
The final result of the sampling and subsequent quantization and coding is a series of electrical pulses, a serial bit stream of 1s and 0s that requires some identification or indication of the beginning of a sampling sequence. This identification is necessary so that the far-end receiver knows exactly when the sampling sequence starts.
Once the receive receives the “indication”, it knows a priori (in the case of DS1) that 24 eight-bit slots follow. It synchronizes the receiver. Such identification is carried out by a framing bit, and one full sequence or cycle of samples is called a frame in PCM terminology.
A. DS1 (T1) Framing Structure
Consider the framing structure of North American DS1 (T1) system. It is a 24-channel PCM system using 8-level coding (e.g., 2^{8} = 256 quantizing steps or distinct PCM code words). Supervisory signaling is “in-band” where bit 8 of every sixth frame is “robbed” for supervisory signaling. The DS1 frame shown in the following figure has one bit added as a framing bit (this is that indication to tell the distant end receiver where the frame starts.) It is called the “S” bit.
The DS1 frame then consists of:
(8×24) +1 = 193 bits
By definition, 8000 frames are transmitted per second (i.e., 4000 x 2, the Nyquist sampling rate), so the bit rate of DS1 is:
193 x 8000 = 1,544,000 bps or 1.544 Mbps
B. E1 Framing Structure
The E1 European PCM system is a 32-channel system. Of the 32 channels, 30 transmit speech (or data) derived from incoming telephone trunks and the remaining 2 channels transmit synchronization-alignment and signaling information. Each channel is allotted an 8-bit slot (TS), and this is shown in the following table.
TS |
Type of Information |
0 |
Synchronizing (framing) |
1-15 |
Speech |
16 |
Signaling |
17-31 |
Speech |
Again, E1 in its primary rate format transmits 32 channels of 8-bit time slots. An E1 frame therefore has 8×32=256 bits. There is no framing bit. Framing alignment is carried out in TS 0. The E1 bit rate to the line is:
256 x 8000 = 2,048,000 bps or 2.048 Mbps
C. The difference between Framing and Timing
Framing and basic timing should be distinguished. “Framing” ensures that the PCM receiver is aligned regarding the beginning (and end) of a bit sequence or frame; “timing” refers to the synchronization of the receiver clock, specifically, that it is in step with its companion far-end transmit clock.
Timing at the receiver is corrected via the incoming “1”-to-“0” and “0”-to-“1” transitions. It is mandatory that long periods of no transitions do not occur. This important point should be further studied in reference to line codes and digital inversion.