Conversion

Pulse Code Modulation (PCM)

A method for representing analog signals in digital form, including voice.

What is Pulse Code Modulation (PCM)?

Pulse Code Modulation (PCM) is used to represent analog signals in digital form. It is used in digital telephony and audio applications, from music CDs to voice transmission over the internet.

PCM transforms a continuous analog signal, such as telephone speech, into a binary stream, meaning a sequence of 0s and 1s that digital systems can process, store, and transmit.

Three Stages of the PCM Process

PCM conversion from analog to digital has three stages: sampling, quantization, and coding.

  1. 1. Sampling: Discretizing Time

    The first step is sampling, which converts a signal that is continuous in time into a sequence of values at discrete instants. After sampling, the values can be represented as a Pulse Amplitude Modulation (PAM) signal: sample times are discrete, while their amplitudes still belong to a continuous range.

    • The PAM Signal: Sampling produces a sequence of pulses corresponding to a PAM signal. It is discrete in time because samples are captured at specific instants, while the amplitude of each pulse can still have any value in a continuous range.
    • The rule: The rate at which the signal is sampled is governed by the . Mathematically: fs≥2⋅fmaxf_s \ge 2 \cdot f_{max}
    • Voice sampling: In voice telephony, the useful band extends to about 3400 Hz. To meet the theorem's condition, a sampling frequency of 8000 Hz (8 kHz) was standardized. The speech signal is sampled 8,000 times per second.
  2. 2. Quantization: Discretizing Amplitude

    After sampling, each amplitude in the PAM signal can have infinitely many values. Quantization converts this continuous range into a finite, discrete set of levels. In a uniform model, each sample amplitude is assigned to the nearest level. G.711 uses 256 codes corresponding to quantization levels; its A-law and μ-law companding laws produce a nonuniform quantization.

  3. 3. Coding: Assigning Binary Codes

    The final step is to assign a binary code, meaning a string of 0s and 1s, to each amplitude level. There are 256 codes, and the relation 28=2562^8 = 256 shows that 8 bits are needed to represent them. Each sample is converted into an 8-bit binary word.

64 kbps Channel Bit Rate

These parameters determine the bit rate of a single digital voice channel:

8000 samples/second × 8 bits/sample = 64,000 bits/second (64 kbps)

The PCM 30/32 (E1) Frame Structure

To transmit multiple 64 kbps voice channels over a single line, they are combined using Time Division Multiplexing (TDM) into a structure called a frame. The European primary hierarchy is known as E1.

E1 Frame Characteristics

  • Frame duration: The 8 kHz sampling rate determines the frame rate. Each frame is sent every 1/80001 / 8000 seconds, which is 125 microseconds (µs).
  • Time slots: Each 125 µs frame is divided into 32 equal , numbered 0 to 31.
  • Bits per slot: Each time slot has 8 bits. User slots carry 8-bit samples for the payload channels.
  • Total bit rate: The total speed of the E1 stream is calculated as:
    8000 frames/s×32 slots/frame×8 bits/slot=2,048,000 bps=2.048 Mbps8000 \text{ frames/s} \times 32 \text{ slots/frame} \times 8 \text{ bits/slot} = 2,048,000 \text{ bps} = 2.048 \text{ Mbps}

Allocation of time slots

In E1, some of the 32 slots carry framing or signaling information instead of voice:

  • Time slot 0 (TS0): In the classic E1 structure, it is used for synchronization. In even frames it carries a special pattern, the , so the receiver can identify each frame boundary. Odd frames carry a different pattern with supervision and frame-management bits.
  • Time slots 1-15 and 17-31: These 30 slots carry user data, for example 8-bit samples from 30 different voice calls.
  • Time slot 16 (TS16): In the classic PCM 30/32 configuration, it carries signaling, meaning control data needed to set up, manage, and tear down calls in the other 30 channels.

Related articles