Differential PCM (DPCM/ADPCM)
Advanced differential coding using multi-bit quantization for better compression.
Beyond Absolute Values: The Principle of Differential Coding
Standard PCM is a universal method for digitizing signals, but it can be inefficient. For many signals, especially natural ones like speech, consecutive samples are often highly correlated-meaning they don't change drastically from one moment to the next. PCM encodes the absolute value of every single sample, even if it's very similar to the previous one.
Differential Modulation (or differential coding) takes a smarter approach. Instead of encoding the absolute value of each sample, it encodes the difference between the current sample and the previous one (or a predicted value of the current sample). Since this difference is typically much smaller than the absolute value, it can be represented with fewer bits. This leads to data compression and a lower overall bit rate.
Delta Modulation (DM)
Delta Modulation is the simplest form of differential coding. It's essentially a 1-bit version of DPCM. Its main principle is to create a simple "staircase" approximation that follows the analog signal.
Principle of Operation
At each sampling instant, the system compares the input analog signal to the last value of the staircase approximation:
- If the analog signal is greater than the approximation, a binary '1' is generated, and the approximation steps up by a fixed amount, .
- If the analog signal is less than the approximation, a binary '0' is generated, and the approximation steps down by .
Drawbacks of DM
The choice of the step size is critical and leads to two main types of distortion:
- : This happens if the step size is too small. The approximation cannot keep up with rapid changes in the signal.
- : This happens if the step size is too large. For slowly changing signals, the approximation constantly "overshoots", creating noise.
Adaptive Delta Modulation (ADM)
ADM is an enhancement of DM that addresses its main drawback. Instead of a fixed step size, the step size in ADM is adaptive-it changes dynamically based on the characteristics of the input signal.
The adaptation logic is straightforward: if the system detects that the approximation is consistently falling behind the signal (e.g., a sequence of identical bits like '1111' is generated), it increases the step size. Conversely, if it detects that the approximation is oscillating around the signal (e.g., alternating bits like '101010'), it decreases the step size. This allows ADM to reduce both slope overload and granular noise, achieving better quality at a similar bit rate.
Differential Pulse Code Modulation (DPCM)
DPCM is a more sophisticated technique that combines the ideas of PCM and differential coding. Instead of a simple 1-bit comparator, it uses a multi-level quantizer.
The DPCM Process
- Predict: The system uses a to estimate the value of the current sample. A simple predictor might just use the value of the previous reconstructed sample.
- Calculate Difference: It calculates the difference (prediction error) between the actual input sample and the predicted value.
- Quantize: This small difference signal is then quantized using a with fewer bits than would be needed for the original sample (e.g., 4 bits instead of 8).
- Encode & Transmit: The quantized difference is encoded and transmitted.
Since the prediction error is generally much smaller and less variable than the signal itself, DPCM can achieve signal quality comparable to PCM at about half the bit rate (e.g., 32 kbps DPCM vs. 64 kbps PCM).
Adaptive Differential Pulse Code Modulation (ADPCM)
ADPCM is the most advanced of these techniques, combining DPCM with adaptive mechanisms. In ADPCM, both the predictor and the quantizer can dynamically adjust their parameters to match the changing characteristics of the signal. This results in the highest compression efficiency. For example, a 32 kbps ADPCM stream can often provide audio quality that is perceived as equal to or even better than a 64 kbps PCM stream, making it highly effective for voice transmission in telecommunication systems.