Skip to main content

Is Delta Modulation practically used for Typical Wireless Communication?

 

Delta modulation and demodulation [↗] processes are pretty simple. It uses a 1-bit quantizer, or there are 2^(1) = two quantization levels. In this encoding technique, we compare the succeeded sample with the previous sample. If it is greater than the previous sample, we assign 1. Otherwise, we assign 0. Here, we encode the modulated signal like this. However, this modulation scheme is susceptible to noise. So Delta modulation (DM) is not commonly used in typical wireless communication systems for several reasons:

Noise Sensitivity: 

Delta modulation is highly sensitive to noise due to its reliance on small changes (delta) in the input signal. In wireless communication systems, especially in environments with high levels of noise and interference, delta modulation may result in poor performance and low signal fidelity.

Quantization Errors: 

Delta modulation suffers from quantization errors, which occur when the difference between the input signal and the predicted value exceeds the step size (delta). These errors can accumulate over time, leading to distortion and degradation of the decoded signal quality.

Low Bit Efficiency: 

Delta modulation typically uses only one bit per sample to represent the signal, resulting in low bit efficiency compared to more sophisticated modulation schemes. This limitation makes delta modulation less suitable for applications requiring high data rates or efficient spectrum utilization.

Better Alternatives: 

In modern wireless communication systems, there are several alternative modulation schemes that offer better performance, robustness to noise, and higher data rates than delta modulation. Techniques such as amplitude modulation (AM), frequency modulation (FM), phase modulation (PM), and various digital modulation schemes (e.g., QPSK, QAM) are commonly used in wireless standards like Wi-Fi, Bluetooth, LTE, and 5G.

Adaptive Techniques: 

While adaptive delta modulation (ADM) can improve the performance of delta modulation by dynamically adjusting the step size based on the input signal characteristics, it still suffers from limitations related to noise sensitivity and quantization errors.

Overall, while delta modulation has certain advantages such as simplicity and low complexity, it is not commonly used in typical wireless communication systems due to its limitations in terms of noise sensitivity, quantization errors, and low bit efficiency. More advanced modulation schemes are preferred for achieving higher performance, robustness, and efficiency in wireless communication applications. 

MATLAB Code for BER vs SNR for Delta Modulation 

clear all;
close all;
clc;

% Parameters
N = 1000000; % Number of bits
SNR_dB = 0:1:20; % SNR in dB
SNR_lin = 10.^(SNR_dB./10); % Linear SNR
delta = 0.1; % Step size for delta modulation

% Generate random binary data
data = randi([0,1],N,1);

% Delta modulation
for k = 1:length(SNR_dB)
% Encode data using delta modulation
encoded_data = zeros(N,1);
for i = 1:N
if i == 1
encoded_data(i) = data(i); % First bit directly encoded
else
prediction = encoded_data(i-1) + delta*2*(randi([0,1])-0.5); % Predictor
if data(i) == 0 % If bit is 0, follow prediction
encoded_data(i) = prediction;
else % If bit is 1, add delta to the prediction
encoded_data(i) = prediction + delta;
end
end
end

% Add noise
noise_power = 1/SNR_lin(k);
noise = sqrt(noise_power) * randn(size(encoded_data));
received_data = encoded_data + noise;

% Decode received data
decoded_data = zeros(N,1);
for i = 1:N
if i == 1
decoded_data(i) = received_data(i); % First bit directly decoded
else
if received_data(i) >= encoded_data(i-1) % If received value is greater than previous, decode as 1
decoded_data(i) = 1;
else % Otherwise, decode as 0
decoded_data(i) = 0;
end
end
end

% Calculate BER
errors = sum(data ~= decoded_data);
BER(k) = errors/N;
end

% Plot BER vs SNR
figure;
semilogy(SNR_dB,BER,'b-o');
grid on;
xlabel('SNR (dB)');
ylabel('Bit Error Rate (BER)');
title('BER vs SNR in Delta Modulation');

Output


 
Fig: BER vs SNR in Delta Modulation (DM) where step-size = 0.1
 

Copy the MATLAB Code from here


People are good at skipping over material they already know!

View Related Topics to







Admin & Author: Salim

s

  Website: www.salimwireless.com
  Interests: Signal Processing, Telecommunication, 5G Technology, Present & Future Wireless Technologies, Digital Signal Processing, Computer Networks, Millimeter Wave Band Channel, Web Development
  Seeking an opportunity in the Teaching or Electronics & Telecommunication domains.
  Possess M.Tech in Electronic Communication Systems.


Contact Us

Name

Email *

Message *

Popular Posts

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...

📘 Overview of BER and SNR 🧮 Online Simulator for BER calculation of m-ary QAM and m-ary PSK 🧮 Online Simulator for Constellation Diagram of m-ary QAM 🧮 Online Simulator for Constellation Diagram of m-ary PSK 🧮 MATLAB Code for BER calculation of M-ary QAM, M-ary PSK, QPSK, BPSK, ... 🧮 MATLAB Code for BER calculation of ASK, FSK, and PSK 🧮 MATLAB Code for BER calculation of Alamouti Scheme 🧮 Different approaches to calculate BER vs SNR 📚 Further Reading Modulation Constellation Diagrams BER vs. SNR BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ... What is Bit Error Rate (BER)? The abbreviation BER stands for bit error rate, which indicates how many corrupted bits are received (after the demodulation process) compared to the total number of bits sent in a communication process. It is defined as,  In mathematics, BER = (number of bits received in error / total number of ...

Comparisons among ASK, PSK, and FSK | And the definitions of each

https://www.salimwireless.com/2024/11/constellation-diagram-in-matlab.html 📘 Overview 🧮 Simulator 🧮 Noise Sensitivity, Bandwidth, Complexity, etc. 🧮 MATLAB Code for BER vs. SNR Analysis of ASK, FSK, and PSK 🧮 MATLAB Code for Constellation Diagrams of ASK, FSK, and PSK 🧮 Simulator for ASK, FSK, and PSK Generation 🧮 Simulator for ASK, FSK, and PSK Constellation 🧮 Some Questions and Answers 📚 Further Reading Modulation ASK, FSK & PSK Constellation MATLAB Simulink MATLAB Code Comparisons among ASK, PSK, and FSK    Comparisons among ASK, PSK, and FSK   Simulator for Calculating Bandwidth of ASK, FSK, and PSK The baud rate represents the number of symbols transmitted per second. Both baud rate and bit rate are same for binary ASK, FSK, and PSK. Select Modulation Type: ASK FSK PSK Baud Rat...

MATLAB Code for Pulse Amplitude Modulation (PAM) and Demodulation

📘 Overview & Theory 🧮 MATLAB Code for Pulse Amplitude Modulation and Demodulation of an Analog Signal 🧮 MATLAB Code for Pulse Amplitude Modulation and Demodulation of an Analog Signal (2) 🧮 MATLAB Code for Pulse Amplitude Modulation and Demodulation of Digital data 🧮 Simulation Results 🧮 Other Pulse Modulation Techniques (e.g., PWM, PPM, DM, and PCM) 📚 Further Reading   Pulse Amplitude Modulation (PAM) & Demodulation of an Analog Message Signal MATLAB Script clc; clear all; close all; fm= 10; % frequency of the message signal fc= 100; % frequency of the carrier signal fs=1000*fm; % (=100KHz) sampling frequency (where 1000 is the upsampling factor) t=0:1/fs:1; % sampling rate of (1/fs = 100 kHz) m=1*cos(2*pi*fm*t); % Message signal with period 2*pi*fm (sinusoidal wave signal) c=0.5*square(2*pi*fc*t)+0.5; % square wave with period 2*pi*fc s=m.*c; % modulated signal (multiplication of element by element) subplot(4,1,1); plot(t...

Constellation Diagrams of ASK, PSK, and FSK

📘 Overview 🧮 Online Simulator for constellation diagrams of ASK, FSK, and PSK 🧮 Theory 🧮 MATLAB Codes 🧮 Simulator for constellation diagrams of m-ary PSK 🧮 Simulator for constellation diagrams of m-ary QAM 📚 Further Reading BASK (Binary ASK) Modulation: Transmits one of two signals: 0 or -√Eb, where Eb​ is the energy per bit. These signals represent binary 0 and 1.    BFSK (Binary FSK) Modulation: Transmits one of two signals: +√Eb​ ( On the y-axis, the phase shift of 90 degrees with respect to the x-axis, which is also termed phase offset ) or √Eb (on x-axis), where Eb​ is the energy per bit. These signals represent binary 0 and 1.  BPSK (Binary PSK) Modulation: Transmits one of two signals: +√Eb​ or -√Eb (they differ by 180 degree phase shift), where Eb​ is the energy per bit. These signals represent binary 0 and 1.    Simulator for BASK, BPSK, and BFSK Constellation Diagrams ...

Relationship between Gaussian and Rayleigh distributions

📘 Introduction, Gaussian Distribution, Relationship Between Gaussian and Rayleigh Distribution 🧮 How to mitigate Rayleigh fading? 🧮 Equalizer to reduce Rayleigh Fading (or Multi-path Effects) in MATLAB 🧮 MATLAB Code for Effects of AWGN and Rayleigh Fading in Wireless Communication 🧮 Simulator for the effect of AWGN and Rayleigh Fading on a BPSK Signal 📚 Further Reading Wireless Signal Processing Gaussian and Rayleigh distributions ...   The Rayleigh distribution in classical fading models (like wireless communication) arises from modeling the real and imaginary parts of a complex baseband signal as independent, zero-mean Gaussian random variables — under specific assumptions . 1. Gaussian Distribution  The Gaussian distribution has a lot of applications in wireless communication. Since noise in wireless communication systems is unpredictable, we frequently assume that it has a Gaussian distribution...

RMS Delay Spread, Excess Delay Spread and Multi-path ...

📘 Overview 🧮 Multipath Components or MPCs 🧮 Excess Delay spread 🧮 Power delay Profile 🧮 RMS Delay Spread 🧮 Simulator for Calculating RMS Delay Spread 🧮 Why is there significant multipath in the case of very high frequencies? 🧮 Why RMS Delay Spread is essential for wireless communication? 🧮 Why the Power Delay Profile is essential? 🧮 MATLAB Codes 📚 Further Reading Signal Processing RMS Delay Spread, Excess Delay Spread, and Multipath... RMS Delay Spread, Excess Delay Spread, and Multipath (MPCs) The fundamental distinction between wireless and wired connections is that in wireless connections signal reaches at receiver thru multipath signal propagation rather than directed transmission like co-axial cable. Wireless Communication has no set communication path between the transmitter and the receiver. The line of sight path, also known as the LOS path, is the shortest and most direc...

Channel Impulse Response (CIR)

Channel Impulse Response (CIR) 📘 Overview & Theory 📘 How does the channel impulse response affect the signal? 🧮 Online Channel Impulse Response Simulator 🧮 MATLAB Codes 📚 Further Reading Wireless Signal Processing CIR, Doppler Shift & Gaussian Random Variable  The Channel Impulse Response (CIR) is a concept primarily used in the field of telecommunications and signal processing. It provides information about how a communication channel responds to an impulse signal.   What is the Channel Impulse Response (CIR) ? It describes the behavior of a communication channel in response to an impulse signal. In signal processing,  an impulse signal has zero amplitude at all other times and amplitude  ∞ at time 0 for the signal. Using a Dirac Delta function, we can approximate this.  ...(i) δ( t) now has a very intriguing characteristic. The answer is 1 when the Fourier Transform of  δ(...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...

📘 Overview 🧮 Simulator for m-ary QAM and m-ary PSK 🧮 MATLAB Code for BPSK, M-ary PSK, and M-ary QAM Together 🧮 MATLAB Code for M-ary QAM 🧮 MATLAB Code for M-ary PSK 📚 Further Reading   MATLAB Script for  BER vs. SNR for M-QAM, M-PSK, QPSk, BPSK %Written by Salim Wireless %Visit www.salimwireless.com for study materials on wireless communication %or, if you want to learn how to code in MATLAB clc; clear; close all; % Parameters num_symbols = 1e5; % Number of symbols snr_db = -20:2:20; % Range of SNR values in dB % PSK and QAM orders to be tested psk_orders = [2, 4, 8, 16, 32]; qam_orders = [4, 16, 64, 256]; % Initialize BER arrays ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); % BER calculation for each PSK order and SNR value for i = 1:length(psk_orders) psk_order = psk_orders(i); for j = 1:length(snr_db) % Generate random symbols ...