PCM vs. DPCM vs. ADPCM: Digital Modulation Explained
Advertisement
This article explains the differences between PCM (Pulse Code Modulation), DPCM (Differential Pulse Code Modulation), and ADPCM (Adaptive Differential Pulse Code Modulation) techniques. These are all pulse digital modulation methods.
PCM (Pulse Code Modulation)
PCM stands for Pulse Code Modulation. In PCM, an analog speech waveform is sampled and directly converted into a multi-bit digital code using an Analog-to-Digital converter (ADC). This digital code is then stored in memory and later retrieved for playback.
In essence, PCM involves sampling and quantizing analog data before representing it in a digital binary format. Consequently, a continuous amplitude and continuous-time signal waveform is transformed into a discrete amplitude and discrete-time waveform.
-
Bit Rate: If a n -bit quantizer is used with a sampling rate of Fs, the bit rate will be Rb (bits/sec) = n * Fs.
-
Sampling Rate: The sampling rate must be greater than or equal to the Nyquist rate to avoid aliasing. A higher sampling rate simplifies reconstruction at the receiver.
-
Bandwidth: The minimum bandwidth requirement is Rb/2, and the maximum is Rb.
-
Signal to Quantization Noise Ratio (SQNR): For PCM with a sinusoidal input, the SQNR (in dB) is given by:
where n represents the number of bits of the uniform quantizer.
DPCM (Differential Pulse Code Modulation)
DPCM stands for Delta Pulse Code Modulation. In DPCM, a multi-bit difference value is stored. A bipolar Digital-to-Analog converter (DAC) is employed for playback, converting successive difference values into an analog waveform.
Figures 1 and 2 (not included here, see below) depict the DPCM encoder and decoder block diagrams. This modulation scheme encodes the difference between the current and predicted values.
DPCM encoder
DPCM decoder
A simplified block diagram of a linear predictor used in DPCM is shown in Figure 3 (not included here, see below).
linear predictor
DPCM is particularly useful when signal samples are highly correlated, as it allows for bandwidth savings or the use of the same bandwidth at a higher data rate.
Delta Modulation
Delta Modulation is a special case of DPCM. It’s often referred to as 1-bit DPCM because it transmits only one bit per sample.
In delta modulation, a “slope overload” problem can occur if the input changes very rapidly:
To mitigate slope overload error, an optimum size for Δ is chosen such that:
For :
Another issue is “hunting,” which arises when the message signal is almost constant.
ADPCM (Adaptive Differential Pulse Code Modulation)
In Adaptive Delta Modulation, the step size is adjusted according to the sampled value of the message signal. This addresses both slope overload error and hunting. If the message is changing rapidly, the step size is increased; conversely, if the message is changing slowly, the step size is decreased.
ADPCM encoder
ADPCM decoder
ADPCM stands for Adaptive Delta Pulse Code Modulation. In ADPCM, a difference value is stored, but this value has been mathematically adjusted based on the slope of the input waveform. A bipolar DAC is used to convert the stored digital code to an analog signal for playback. Figures 4 and 5 (shown above) illustrate the ADPCM encoder and decoder block diagrams.