Experiment 1
DELTA MODULATION
AIM
To study and implement the following:
1. Simulation model of delta modulation and reconstruction of analog signal. Also find
the effect of step size delta on signal reconstruction.
2. Simulation model for adaptive delta modulation.
SOFTWARE USED
Python (Jupyter/Spyder Notebook)
THEORY
In delta modulation, an incoming message signal is oversampled (i.e., at rate higher than
Nyquist rate) to purposely increase the correlation between adjacent samples of signal. It
uses the simplest possible quantizer, namely a two level (one bit) quantizer. The price paid
for achieving the simplicity of the quantizer is the increased sampling rate (much higher
than the Nyquist rate) and the possibility of slope-overload distortion in the waveform
reconstruction.
Delta modulation provides a staircase approximation of the input sampled signal. The
principle of delta modulation can be explained as follows. One notes, at t = nTs , the
polarity of the difference between m(n) and the latest staircase approximation to it; that is,
mq(t) at t = nTs which is indicated by mq(n − 1) in the figure. mq(n − 1) is incremented by a
step of size ∆ if m(n) − mq(n − 1) is positive or decremented by ∆ , if this is of negative
polarity. Mathematically,
e[n] = m[n] − mq[n − 1]) (1.1)
eq[n] = ∆sgn(e[n]) (1.2)
mq[n] = mq[n − 1] + eq[n] (1.3)
1
DM Transmitter
Figure 1.1: DM Transmitter
DM Receiver
Figure 1.2: DM Receiver
In the receiver the staircase approximation mq(t) is reconstructed by passing the sequence
of positive and negative pulses, produced at the decoder output through an accumulator.
The out of band quantization noise in the high frequency staircase waveform is rejected by
passing it through a low pass filter.
There are two types of quantization errors in DM: slope overload distortion (noise) and
granular noise. Slope-overload is said to occur when the step size is too small to follow a
steep segment of the input waveform m(t). Granularity, on the other hand, refers to a
situation where the staircase function mq(t) hunts around a relatively flat segment of the
input function, with a step size that is too large relative to the local slope characteristic of
the input. It is therefore clear that for a given statistics of the input signal slope relatively
small values of ∆ accentuate slope-overload while relatively large values of ∆ increase
granularity.
2
Adaptive Delta Modulation
The principle underlying all ADM algorithms is two fold.
1. If successive errors are operating in opposite polarity, then the delta modulator is
oper ating in its granular mode and it may be advantageous to reduce step size.
2. If successive errors are operating in same polarity, then the delta modulator is
operating in its slope overload mode and it may be advantageous to increase step
size.
PROCEDURE
Delta Modulation
Transmitter
1. Generate a sinusoidal signal of amplitude 5 and frequency 100 Hz. Choose
appropriate sampling frequency (usually 4- or 5-times Nyquist rate) and plot for two
cycles.
2. Generate the staircase approximation to the sinusoidal signal.
3. Plot the original signal and staircase approximation on the same graph. 4.
Change the step size and observe slope-overloading issue in Delta
Modulation.
5. Generate the DM wave transmitted binary stream of ±∆. Encode +∆ to 1 and -∆ to
zero.
Receiver
1. Decode the received binary stream and pass through an
accumulator. 2. Pass through a low pass filter to reconstruct the
signal.
Adaptive Delta Modulation
Transmitter
1. Generate a sinusoidal signal of amplitude 5 and frequency 100 Hz. Choose
appropriate sampling frequency (usually 4- or 5-times Nyquist rate) and plot for two
cycles.
2. Choose an initial stepsize, δmin
3. For each sample calculate the stepsize according to the rule δ(n) = g(n)δ(n − 1) where
P if b(n) = b(n
g(n) = − 1) 1/P if b(n) (1.4)
6= b(n − 1)
3
4. Choose an optimum value of P (1 < P < 2).
5. Use the adaptive stepsize logic in a range δmin < δ < δmax
6. Generate the staircase approximation to the sinusoidal signal. 7. Plot
the original signal and staircase approximation on the same graph.
Receiver
1. Pass the encoded signal through adaptive stepsize logic to generate the
stepsize. 2. Decode the received binary stream and pass through an
accumulator. 3. Pass through a low pass filter to reconstruct the signal.
Python Code
RESULTS AND OBSERVATIONS
Sample waveforms
Case 1a (∆ = 2πAmfm
fs)
Input Signal
2
plitude
0
Am
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time
Staircase wave
2
plitude
0
Am
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Time
Encoded Signal
1
plitude
0.5
Am
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Time
Decoded Signal
2
plitude
0
Am
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time
Reconstructed Signal
2
plitu
d
e
0
Am
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Time
Figure 1.3: Illustrative waveforms for DM
4
Case 1b (∆ < 2πAmfm
fs)
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.5
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
2
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Figure 1.4: Illustrative waveforms for DM
5