Aim:- To study Adaptive Delta Modulation Technique.
Apparatus:- Matlab 2013a, PC.
Theory:- Adaptive delta modulation (ADM) or continuously variable slope delta modulation
(CVSD) is a modification of DM in which the step size is not fixed. Rather, when several
consecutive bits have the same direction value, the encoder and decoder assume that slope
overload is occurring, and the step size becomes progressively larger. Otherwise, the step
size becomes gradually smaller over time. ADM reduces slope error, at the expense of
increasing quantizing error. This error can be reduced by using a low pass filter ADM
provides robust performance in the presence of bit errors meaning error detection and
correction are not typically used in an ADM radio design, this allows for a reduction in host
processor workload.
Diagrams:-
MATLAB Code:-
clc;
clear all;
close all;
%% Input Signals, m(t).
t = 0 : 2*pi/100 : 2*pi;
mt = sin(t); % Sine wave.
mt = sin(t) + 2; % Sine wave with non-zero DC value.
%% Step Size, S.
quantizationLevels = 16;
S = (max(mt) - min(mt)) / quantizationLevels;
%% Modulate.
totalSamples = length(mt) - 1;
mqt = zeros(1, totalSamples); % Quantized Signal, mq(t).
dk = zeros(1, totalSamples); % Output Binary Sequence, d[k].
dt = 0; % Difference, d(t) = m(t) - mq(t).
Sk = zeros(1, totalSamples); % Step Size, S[k].
for n = 2 : totalSamples
dt = mt(n) - mqt(n);
if(dt >= 0)
dk(n) = 1;
else
dk(n) = -1;
end
Sk(n) = abs(Sk(n-1))*dk(n) + S*dk(n-1);
mqt(n+1) = mqt(n) + Sk(n);
end
%% Display Modulation Result.
plot(t, mt,'r','LineWidth',2);
hold on;
stairs(t, mqt,'k','LineWidth',2);
axis([t(1) t(end) (min(min(mqt), min(mt)) - 0.5) (max(max(mqt), max(mt)) + 0.5)]);
title('Adaptive Delta Modulation', 'Fontsize', 14);
xlabel('Time');
ylabel('Amplitude');
legend('Input Signal, m(t)', 'Modulated Signal, m_q(t)');
grid on;
Result:- Quantization levels= 8
Advantage Over Delta Modulation:-
1) Overcome limitation of Slope Overload:-
Quantization Levels= 16
2) Overcome limitation of Granular Noise:-
Quantization levels= 3