08. Differential Pulse Code Modulation (DPCM)
08. Differential Pulse Code Modulation (DPCM)
Presented By:
E-mail:
[email protected]
Agenda
• Challenges.
• DPCM.
• Advantages of DPCM.
• Enhancement of DPCM Performance.
• Estimation (Prediction).
Instead of transmitting the sample values, we transmit the difference between the successive
sample values. Thus, if m[k] is the kth sample, instead of transmitting m[k], we transmit the
difference.
At the receiver, knowing d[k] and several previous sample value m[k -1] , we can reconstruct
m[k]. Thus, from knowledge of the difference d[k] , we can reconstruct m[k] iteratively at the
receiver.
Assume that we have the following signal plotted in red. This is a continuous
signal (analog signal) and in this example it is sampled using sampling interval
Example 1: equal one second.
Let us assume that quantization levels = 12 levels, so the step size will be 1 ➔
this for the following signal ranging from 0v to 12v.
Example 2:
Example 3:
The higher the number of samples by reducing the sampling interval, the lower the
maximum amplitude of the differential signal.
Representing the differential signal as showing to us. The signal that represent the
difference is much smaller in amplitude than the original signal without any loss of
information because from this differential signal we can reconstruct the original
signal (just by an accumulation).
Advantages of DPCM:
Now, the difference between successive samples is generally much smaller than the
sample values. Thus, the peak amplitude mp of the transmitted values is reduced
considerably. Because the quantization interval ∆v = mp/L, for a given L ( or n ), this
reduces the quantization interval ∆v, thus reducing the quantization noise. This means
that for a given n (or transmission bandwidth), we can increase the SNR, or for a given
SNR, we can reduce n (or transmission bandwidth).
𝒎𝒂𝒙 −𝒎𝒊𝒏
∆v =
𝑳
Performing the quantization levels for differential signal instead of original signal
which will reduce the quantization error and increasing the SQNR.
Enhancement of DPCM Performance:
We can improve upon this scheme by estimating (predicting) the value of the kth sample m[k]
from a knowledge of several previous sample values. If this estimate is m [k], then we transmit
ෝ
the difference (prediction error) d[k] = m[k] - 𝒎[𝒌].
Consequently, this scheme, known as the differential PCM (DPCM), is superior to the naive
prediction described in the preceding paragraph, which is a special case of DPCM, where the
estimate of a sample value is taken as the previous sample value, that is, m[k] = m[k - 1].
The best reduction of the signal range to improve the performance of DPCM is if we find the
difference between the current signal and a value which is related or close enough to this
current sample.
Estimation (Prediction):
Instead of find the difference between the current sample and the immediate previous
sample, we are going to find the difference between the current sample and all the previous
samples. This estimate might be the closest estimate to the actual value of the signal.
The closer that estimate to the actual value, the less the range of the difference signal.
We create such difference between the current sample and estimate based on the
previous samples.
ෝ
d[k] = m[k] - 𝒎[𝒌]
ෝ
𝒎[𝒌] = σ𝑁
𝑖=1 𝑎𝑖𝑚[𝑘 − 𝑖]
Estimation (Prediction) – Cont.:
Simply the estimation (or prediction) of a certain value would be the weighted average
of the previous n values of the same signal.
ෝ
𝒎[𝒌] = σ𝑁
𝑖=1 𝑎𝑖𝑚[𝑘 − 𝑖]
First Order Linear Predictor
It is based only on the previous sample and only one delay element where, a1=1
Second order linear predictor uses two previous samples and has two delay elements
ෝ
𝒎[𝒌]
σ
It is not necessary that all weights are equal, in general the weights are decreasing from
a1 to aN.
DPCM Encoder and Decoder:
We transmit the differential signal d[k], and then when we receive the differential signal
at the receiver, we generate the estimate 𝒎 ෝ 𝒌 and add the received d(k) that will be the
recovered signal.
Tx Rx
ෝ
d[k] = m[k] - 𝒎[𝒌] ෝ 𝒌 + d[k]
m[k] = 𝒎
Challenge:
Reversable
Version
Example:
Solution:
ෝ q[k]
𝒎 0 9 9.2 9.4 9.5 9.4 9.2
Example (Cont.):
Solution (Cont.):
dq[k] 9 0.2 0.2 0.1 -0.1 -0.2 -0.1
ෝ q[k]
𝒎 0 9 9.2 9.4 9.5 9.4 9.2