PCM - Pulse Code Modulation
PCM is a method of converting an analog into digital signals. Information in
an analog form cannot be processed by digital computers so it's
necessary to convert them into digital form. PCM is a term which was formed during
the development of digital audio transmission standards. Digital data can be transported robustly over
long distances unlike the analog data and can be interleaved with other
digital data so various combinations of transmission channels can be used.
In the text which follows this term will apply to
encoding technique which means digitalization of analog information in general. PCM doesn`t mean any specific kind of compression, it only implies PAM (pulse
amplitude modulation) - quantization by amplitude and quantization by time which
means digitalization of the analog signal. The range of values which the signal
can achieve (quantization range) is divided into segments, each segment has a
segment representative of the quantization level which lies in the middle of the
segment. To every quantization segment (and quantization level) one and unique
code word (stream of bits) is assigned. The value that a signal has in certain
time is called a sample. The process of taking samples is called quantization by
time. After quantization by time, it is necessary to conduct quantization by
amplitude. Quantization by amplitude means that according to the amplitude of
sample one quantization segment is chosen (every quantization segment contains
an interval of amplitudes) and then record segments code word. To conclude, PCM encoded signal is nothing more than stream of bits. Table1. Quantization levels with belonging code
words The first chart shows the process of signal quantizing and digitizing. The
samples shown are already quantized - they are approximated with the nearest
quantization level. To the right of each sample is the number of its
quantization level. This number is converted into a 3-bit code word using the
above table. Chart 1. Quantization and digitalization of a signal The second chart shows the process of signal restoration.The restored signal is
formed according to taken samples. It can be noticed that the restored signal
diverges from the input signal. This divergence is a consequence of quantization
noise. It always has the same intensity, independent from the signal intensity.
If the signal intensity drops, the quantization noise will be more noticeable
(the signal-to-noise ratio will drop). Chart 2. Process of restoring a signal. PCM encoded signal in binary form:What is PCM?
The first example of PCM encoding
In this example the signal is quantized in 11 time points
using 8 quantization segments. All the values that fall into a specific segment
are approximated with the corresponding quantization level which lies in the
middle of a segment. The levels are encoded using this table:
Level
Code word
0
000
1
001
2
010
3
011
4
100
5
101
6
110
7
111


101 111 110 001
010 100 111 100 011 010 101
Total of 33 bits
were used to encode a signal.Basic compression methods
| Level | Code word |
| 0 | 00 |
| 1 | 01 |
| 2 | 10 |
| 3 | 11 |
Table 2. Quantization levels with belonging code words (after compression)
The chart shows the reconstructed signal after compression. It still has the same basic contours, but the distortions are greater due to coarser approximation - the quantization noise has increased. This is due to the fact that the quantization step is now double in size than with the uncompressed PCM.

Chart 3. Compressed and restored signal with a restored sample
The compressed signal is PCM encoded as follows:
10 11 11 00 01
10 11 10 01 01 10
After compression we have 22 bits, that means 33%
reduction in size with compression ratio of1.5:1 .
Practical use of this method
In practice, a PCM encoded audio signal is compressed at higher rates - for
example, from 16 to 8 bits per sample (a rate of 2:1). This compression standard
(called the A-law) uses nonlinear quantization. The quantization levels are
not evenly distributed across the quantization range - they are denser near
the zero level and sparser close to the maximum level. This way the quantization
noise is reduced for lower-intensity signals.
Another basic method of compression is to reduce the number of samples. The number of samples can be reduced in the way that each two segments are replaced with one sample which is equal to their average. After the number of sample has been reduced in that way we halved number of samples which means that the sampling frequency has been halved. And because the bandwidth of the restored signal is directly proportional to the sampling frequency (B=0.5Fs), the net result is that it got halved as well. In our example this resulted in the loss of the highest frequency component of the signal:

Chart 4. Compressed and restored signal with restored samples
In practice we have to decide which frequencies are relevant to our application and which can be left out to achieve a reasonable size of the recording.
The second example - a more quantitative approach to the PCM, meaning that
in following text an approximate approach to the calculating will be shown.
An example of an analog signal is shown in the chart below.
Chart 1.The example of analog signal
Now let's take values of analog signal in discrete time intervals.
| Time | Analog signal value [V] |
| 0 | 2,12 |
| 1 | 1,84 |
| 2 | -0,08 |
| 3 | -1,07 |
| 4 | -0,02 |
| 5 | 0,42 |
| 6 | 1,80 |
| 7 | 1,30 |
| 8 | 1,00 |
| 9 | -0,50 |
| 10 | -1,12 |
Table 1. Analog signal values taken in discrete time intervals
The first step was to take values of signal in discrete time intervals, now
it is time for amplitude quantization.
In the first example code word was an binary form of quantization level (level: 3
code word: 011 see table: related with first
example).
Encoding in the second example is different, it will be explained below.
Um-maximum input voltage
L- number of quantization levels
(n-number
of encoding bits)
D - quantization step
![]()
------------------
![]()
| Input voltage range[V] | Segment |
| -8D ¸ -7D | 0 |
| -7D ¸ -6D | 1 |
| -6D ¸ -5D | 2 |
| -5D ¸ -4D | 3 |
| -4D ¸ -3D | 4 |
| -3D ¸ -2D | 5 |
| -2D ¸ -1D | 6 |
| -1D ¸ 0 | 7 |
| 0 ¸ D | 8 |
| D ¸ 2D | 9 |
| 2D ¸ 3D | 10 |
| 3D ¸ 4D | 11 |
| 4D ¸ 5D | 12 |
| 5D ¸ 6D | 13 |
| 6D ¸ 7D | 14 |
| 7D ¸ 8D | 15 |
Table 2. Input voltage intervals with belonging segments
Segments are numbered in the way that segment 0 represents
the lowest input voltage range.
There are positive and negative values of an analog input signal so 1 bit of
a code word will be used to code the sign of the value and the other bits (3 in this example)
will represent a binary form of a discreet amplitude value which is determined
by quantization step.
The most significant bit(MSB) represents the sign of input value, and rest of code
word is a binary encoded number which was the result of amplitude quantization.

sign
3 bits represent
binary code for result of amplitude
quantization
1=+
0=-
Now, lets see example of coding two analog values:
Ex1. x=2,10 [V]
D=0,275 [V] - value calculated in Fig 1.
x - analog value
N - result of amplitude quantization
-
cuts of decimal places, example: (
)
Code word: x is positive voltage so MSB is 1, three bits
are binary coded result of amplitude quantization (N=111).
So, code word in this case is : 1111
Ex2. x=-1,64 [V]
D=0,275 [V] - value calculated in Fig 1.
x - analog value
N - result of amplitude quantization
Code word: x is negative voltage so MSB is now 0, three
bits are binary coded result of amplitude quantization (N=101).
So, code word in this case is : 0101
As was presented the quantization level is the value which lies in the middle of the segment. So every quantization level in this example has a belonging voltage representative.In the following table quantization levels with belonging voltage representatives and code words will be shown. So after a code word is calculated it is possible to find in which quantization level the observed voltage lies.
| Quantization level | Voltage representative[V] | Code word |
| 0 | -7,5D=-2,0625 | 0111 |
| 1 | -6,5D=-1,7875 | 0110 |
| 2 | -5,5D=-1,5125 | 0101 |
| 3 | -4,5D=-1,2375 | 0100 |
| 4 | -3,5D=-0,9625 | 0011 |
| 5 | -2,5D=-0,6875 | 0010 |
| 6 | -1,5D=-0,4125 | 0001 |
| 7 | -0,5D=-0,1375 | 0000 |
| 8 | 0,5D=0,1375 | 1000 |
| 9 | 1,5D=0,4125 | 1001 |
| 10 | 2,5D=0,6875 | 1010 |
| 11 | 3,5D=0,9625 | 1011 |
| 12 | 4,5D=1,2375 | 1100 |
| 13 | 5,5D=1,5125 | 1101 |
| 14 | 6,5D=1,2375 | 1110 |
| 15 | 7,5D=2,0625 | 1111 |
Table 3. Quantization levels with belonging voltage representatives and code words
It can be noticed that unlike first example the code word in general is not a binary represented quantization level, positive values of quantization levels are just binary representatives, while negative values are represented binary in different way which corresponds to the encoding process. After we established the quantization levels and belonging voltage representatives it can be shown how the example analog input is quantized.
| Time | Analog signal value [V] | Quantization level | Code word |
| 0 | 2,12 | 15 | 1111 |
| 1 | 1,84 | 14 | 1110 |
| 2 | -0,08 | 7 | 0000 |
| 3 | -1,07 | 4 | 0100 |
| 4 | -0,02 | 7 | 0000 |
| 5 | 0,42 | 9 | 1001 |
| 6 | 1,80 | 14 | 1110 |
| 7 | 1,30 | 12 | 1100 |
| 8 | 1,00 | 11 | 1011 |
| 9 | -0,50 | 6 | 0001 |
| 10 | -1,12 | 3 | 0100 |
Table 4. PCM encoded input signal value
After quantization levels are formed we can see how the input signal is quantized and digitized.

Chart 2. The input signal with digitized samples
Finally, PCM encoded input signal in binary form looks like this:
1111 1110 0000 0100 0000 1001 1110 1100 1011 0001 0100
We used 44 bits to encode this signal.
If we want to restore the original
signal we will have to follow the digital PCM recording and using quantization levels
representatives form an analog output.
Restoring a signal is shown in the chart below.

Chart 3. Input signal and restored signal
As it can be seen in Chart 3. that there is a slight divergence of restored signal from
the input signal.
This divergence is the result of quantization because the process of quantization is
followed by quantization noise.
Now, let's calculate quantization noise (as
normalized power - defined for 1W)
![]()
![]()
![]()

N - quantization noise
D
- quantization step
L - number of segments (levels)
Quantization noise for our example:
![]()
More important than quantization noise is signal to noise ratio.
We should know the power of the signal which we don't so just to show approximately
how to calculate let's suppose that input signal is sinusoidal, then we could
calculate the signal to noise ratio.
The signal to noise ratio is usually expressed in dB.
S - signal, N - noise
n - number of bits
n=4:
![]()
The signal to noise ratio for sinusoidal signal and 4 bit PCM encoding.
The signal can be compressed if we reduce the number of quantization
segments. We can reduce the number of segments from 16 to 8, so we will end up
with 3 bit code words instead of 4.
We will join the two neighboring segments into one, it means that quantization
step (D) will be doubled.According
to Table 2. we will form Table 4. with 8 segments.
| Input voltage range[V] | Segment |
| -4D ¸ -3D | 0 |
| -3D ¸ -2D | 1 |
| -2D ¸ -D | 2 |
| -D ¸ 0 | 3 |
| 0 ¸ D | 4 |
| D ¸ 2D | 5 |
| 2D ¸ 3D | 6 |
| 3D ¸ 4D | 7 |
Table 4. Input voltage range with the reduced number of segments
![]()
Now, we can use a Table 3. to form a Table 5.
| Quantization level | Voltage representative[V] | Code word |
| 0 | -3,5D=-1,925 | 011 |
| 1 | -2,5D=-1,375 | 010 |
| 2 | -1,5D=-0,825 | 001 |
| 3 | -0,5D=-0,275 | 000 |
| 4 | 0,5D=0,275 | 100 |
| 5 | 1,5D=0,825 | 101 |
| 6 | 2,5D=1,375 | 110 |
| 7 | 3,5D=1,925 | 111 |
Table 5. Quantization level, representative,code word for reduced number of segments(levels)
Now, of course we must form PCM encoded table for our example by joining quantization levels in Table 4.
| Time | Quantization level w/o compression | Quantization level with compression | Code word (with compression) |
| 0 | 15 | 7 | 111 |
| 1 | 14 | 6 | 110 |
| 2 | 7 | 3 | 000 |
| 3 | 4 | 2 | 001 |
| 4 | 7 | 3 | 000 |
| 5 | 9 | 4 | 100 |
| 6 | 14 | 7 | 111 |
| 7 | 12 | 6 | 110 |
| 8 | 11 | 5 | 101 |
| 9 | 6 | 3 | 000 |
| 10 | 3 | 1 | 010 |
Table 6. PCM encoded signal values after compression
It can be now shown how we form compressed signal joining neighborhood levels, as described earlier in the text. The following chart will show how the signal is compressed with halved quantization levels.

Chart 4. Compression by reducing number of quantization levels
PCM encoded compressed signal in binary form looks like this:
111 110 000 001
000 100 111 110 101 000 010
After compression we have 33 bits, which means 25%
reduction in size and a 1,333 : 1 compression ratio.
Restoration of the original signal was shown on Chart 3., now in the chart below
restoration of compressed signal is shown.

Chart 5. Process of restoration (when compression is used)
As it can be noticed divergence from original signal is now greater because
the step of quantization was doubled. The result of the compression is the increased quantization
noise.
We can now calculate it as in Fig2.
![]()
The result confirmed earlier showed the fact that quantization noise will be increased.
With the same assumption as in Fig3. we can calculate signal
to noise ratio.
![]()
We can notice that the signal to noise ratio dropped because noise has been increased by a process of compression.
Reducing the number of samples is a second method of signal compression.
This compression can be formed when two neighboring samples are
replaced with one which is equal to their average.
The frequency of quantization by time is now halved (sampling frequency is halved)
so the bandwidth of the restored signal got halved.
In our example this means that now we will have
five instead of ten samples, that is shown in the table below.
| Time | Quantization level | Code word |
| 0 | 15 | 1111 |
| 1 | 6 | 0001 |
| 2 | 8 | 1000 |
| 3 | 13 | 1101 |
| 4 | 9 | 1001 |
| 5 | 5 | 0010 |
Table 7. PCM encoded signal values after compression
In the following chart it will be shown how a signal with compression is formed which includes reducing sampling frequency.

Chart 6. Compression by reducing sampling frequency

Chart 7. The restored signal and the signal before compression by reducing sampling frequency
PCM encoded signal with compression by reducing sampling frequency
in binary form:
1111 0001 1000 1101 1001 0010
After the compression signal is encoded with 24 bits, which means 45%
reduction in size and a1,833:1 compression ratio.
The restoration of signal after compression by
reducing number of samples shows divergence which is greater than after
compression by reducing the number of quantization levels. When compression by
reducing number of samples was used the divergence was caused by quantization noise
which was caused by amplitude quantization, in this case (compression by
reducing number of samples) divergence is caused by time quantization (remember
we halved sampling frequency).
HomePage - Basic
Facts -Commercial - Algorithms
- Hardware - FAQ - Glossary
![]()
Maintained and Copyrighted © 1997-2000 by DataCompression Reference Center
![]()