Skip to main content

Doppler Delay

 

Doppler Shift Formula

When either the transmitter or the receiver is in motion, or when both are in motion, Doppler Shift is an essential parameter in wireless Communication. We notice variations in reception frequencies in vehicles, trains, or other similar environments. In plain language, the received signal frequency increases as the receiver moves toward the transmitter and drops as the receiver moves in the opposite direction of the transmitter. This phenomenon is called the Doppler shift or Doppler spread.


Doppler Shift Formula:

By equation,                fR = fT (+/-) fD

                                     fR= receiving frequency
                                     fT= transmitted frequency
                                     fD= Doppler frequency
We frequently see an increase or decrease in reception frequencies due to the equation. Now, the Doppler frequency is bounded by several rules, 


Doppler shift of LOS path: ν1 = fc*v/c, 

Doppler shift of reflected path: ν2fc*v/c*cos(theta)

where, c = speed of light
v = speed of the vehicle

Doppler spread: ν2 − ν1

Or, Doppler spread, fD = |v/lambda * {cos(theta) - 1}|, 

** '|' indicates mod

where, v = velocity of vehicle

            lambda = wavelength = c/frequency

For example, when MS (in motion) reaches towards BS, cos = cos(0 degrees)=1, and when MS goes away from BS or base station, cos = cos(180 degrees)=-1.

As a result of the preceding equation, the receiving frequency increases if the receiver moves towards the receiver.

fT+fD, here frequency increases as fR = fT + fD
                                                      or, fR = fT + v/lambda * 1
                                                       or, fR =fT + v/lambda
                                                Here, lambda = wavelength of operating frequency

Similarly, when the receiver moves away from BS or the cell tower, the frequency decreases by v/lambda* cos ( 180 degrees) or v/lambda * (-1), as cos180 = -1. So, now the received frequency at the receiver side is,

fR = fT - fD 


Doppler Shift vs Doppler Spread

1. Doppler Shift:
The term "Doppler Shift" refers to a wave's shift in frequency as it relates to an observer moving with respect to the wave source.
The amount that the frequency has changed due to relative motion is represented by a single number.
The Doppler shift, for example, is the difference between the transmitted and received frequencies of a radar signal when it reflects off a moving object.

2. Doppler Spread: 
This is the range of frequency shifts (Doppler shifts) that happen in a multipath environment or when a signal is scattered by several moving objects.
The signal's spectral broadening brought on by these numerous Doppler shifts is indicated by Doppler spread.It affects the channel's coherence time and is a measure of the variance or dispersion of the Doppler shifts. High Doppler spread indicates quick changes in the channel's properties, which may have an impact on the efficiency of a communication system.

To sum up, Doppler spread measures the range of frequency shifts brought on by multipath propagation and the relative motion of multiple scatterers, whereas Doppler shift is a single frequency change resulting from relative motion. 
    

MATLAB Code for Doppler Shift vs Doppler Spread

clc;
clear;
close all;

% Constants
c = 3e8; % Speed of light in m/s (for electromagnetic waves)
f0 = 2.4e9; % Original frequency in Hz (e.g., 2.4 GHz for WiFi)

% Relative velocities (in m/s) for different objects
velocities = [-30, -10, 0, 10, 20]; % Example velocities of objects

% Calculate Doppler Shifts
doppler_shifts = (velocities / c) * f0;

% Calculate Doppler Spread
doppler_spread = max(doppler_shifts) - min(doppler_shifts);

% Display results
fprintf('Relative velocities (in m/s) for different vehicles:\n');
disp(velocities);
fprintf('Doppler Shifts (Hz):\n');
disp(doppler_shifts);
fprintf('Doppler Spread (Hz): %f\n', doppler_spread);

Output 

 Relative velocities (in m/s) for different vehicles:
   -30   -10     0    10    20

Doppler Shifts (Hz):
  -240   -80     0    80   160

Doppler Spread (Hz): 400.000000
 

Copy the MATLAB Code from here

 
 

How Doppler Spread Affects Communication

The Doppler spread causes fading in wireless Communication. Fading occurs when the received power fluctuates or decreases at the receiver side for a short or large amount of time. Fast and slow fading in wireless channels is caused by Doppler spread. All of those topics have already been covered in another article. Please read the full article.

For practical communication systems, if the received symbol or signal is R[t,f], then

R[t, f] = S(Ï„)*h(Ï„, f)*exp(2*pi*(t - Ï„))

where S(Ï„) is the transmitted signal with some delay Ï„

h(Ï„, f) is the Doppler delay channel impulse (DD-CIR) response which characterizes how the signal's amplitude and phase change with respect to time delay Ï„ and frequency f

exp(2*pi*(t - Ï„)) represents the phase shift due to the Doppler effect


Also, read about

[1] Fading - Slow & Fast and Large & Small Scale Fading



People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...(MATLAB Code + Simulator)

📘 Overview of BER and SNR 🧮 Online Simulator for BER calculation of m-ary QAM and m-ary PSK 🧮 MATLAB Code for BER calculation of M-ary QAM, M-ary PSK, QPSK, BPSK, ... 📚 Further Reading 📂 View Other Topics on M-ary QAM, M-ary PSK, QPSK ... 🧮 Online Simulator for Constellation Diagram of m-ary QAM 🧮 Online Simulator for Constellation Diagram of m-ary PSK 🧮 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 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. BER = (number of bits received in error) / (total number of tran...

Theoretical BER vs SNR for binary ASK, FSK, and PSK with MATLAB Code + Simulator

📘 Overview & Theory 🧮 MATLAB Codes 📚 Further Reading Theoretical BER vs SNR for Amplitude Shift Keying (ASK) The theoretical Bit Error Rate (BER) for binary ASK depends on how binary bits are mapped to signal amplitudes. For typical cases: If bits are mapped to 1 and -1, the BER is: BER = Q(√(2 × SNR)) If bits are mapped to 0 and 1, the BER becomes: BER = Q(√(SNR / 2)) Where: Q(x) is the Q-function: Q(x) = 0.5 × erfc(x / √2) SNR : Signal-to-Noise Ratio N₀ : Noise Power Spectral Density Understanding the Q-Function and BER for ASK Bit '0' transmits noise only Bit '1' transmits signal (1 + noise) Receiver decision threshold is 0.5 BER is given by: P b = Q(0.5 / σ) , where σ = √(N₀ / 2) Using SNR = (0.5)² / N₀, we get: BER = Q(√(SNR / 2)) Theoretical BER vs ...

Online Simulator for ASK, FSK, and PSK

Try our new Digital Signal Processing Simulator!   Start Simulator for binary ASK Modulation Message Bits (e.g. 1,0,1,0) Carrier Frequency (Hz) Sampling Frequency (Hz) Run Simulation Simulator for binary FSK Modulation Input Bits (e.g. 1,0,1,0) Freq for '1' (Hz) Freq for '0' (Hz) Sampling Rate (Hz) Visualize FSK Signal Simulator for BPSK Modulation ...

How Windowing Affects Your Periodogram

The windowed periodogram is a widely used technique for estimating the Power Spectral Density (PSD) of a signal. It enhances the classical periodogram by mitigating spectral leakage through the application of a windowing function. This technique is essential in signal processing for accurate frequency-domain analysis.   Power Spectral Density (PSD) The PSD characterizes how the power of a signal is distributed across different frequency components. For a discrete-time signal, the PSD is defined as the Fourier Transform of the signal’s autocorrelation function: S x (f) = FT{R x (Ï„)} Here, R x (Ï„)}is the autocorrelation function. FT : Fourier Transform   Classical Periodogram The periodogram is a non-parametric PSD estimation method based on the Discrete Fourier Transform (DFT): P x (f) = \(\frac{1}{N}\) X(f) 2 Here: X(f): DFT of the signal x(n) N: Signal length However, the classical periodogram suffers from spectral leakage due to abrupt truncation of the ...

MATLAB Code for QPSK Modulation and Demodulation

📘 Overview 🧮 MATLAB Codes 🧮 Theory 🧮 BER performance of QPSK with BPSK, 4-QAM, 16-QAM, 64-QAM, 256-QAM, etc 📚 Further Reading   Quadrature Phase Shift Keying (QPSK) is a digital modulation scheme that conveys two bits per symbol by changing the phase of the carrier signal. Each pair of bits is mapped to one of four possible phase shifts: 0°, 90°, 180°, or 270° 00  ===> 0 degree phase shift of carrier signal 01  ===> 90 degree 11  ===> 180 degree 10  ===> 270 degree   MATLAB Script clc; clear all; close all; clc; M = 4; data = randi([0 (M-1)], 1000, 1); Phase = 0; modData=pskmod(data,M,Phase); figure(1); scatterplot(modData); channelAWGN = 15; rxData2 = awgn(modData, channelAWGN); figure(2); scatterplot(rxData2); demodData = pskdemod(rxData2,M,Phase);   Result data 1 0 2 2 0 2 1 . . . modData -1.00000000000000 + 1.22464679914735e-16i -1.83697019872103e-16 - 1.000000000000...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...(with Online Simulator)

🧮 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 clc; clear; close all; num_symbols = 1e5; snr_db = -20:2:20; psk_orders = [2, 4, 8, 16, 32]; qam_orders = [4, 16, 64, 256]; ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); for i = 1:length(psk_orders) psk_order = psk_orders(i); for j = 1:length(snr_db) data_symbols = randi([0, psk_order-1], 1, num_symbols); modulated_signal = pskmod(data_symbols, psk_order, pi/psk_order); received_signal = awgn(modulated_signal, snr_db(j), 'measured'); demodulated_symbols = pskdemod(received_signal, psk_order, pi/psk_order); ber_psk_results(i, j) = sum(data_symbols ~= demodulated_symbols) / num_symbols; end end for i...

MATLAB code for Pulse Code Modulation (PCM) and Demodulation

📘 Overview & Theory 🧮 Quantization in Pulse Code Modulation (PCM) 🧮 MATLAB Code for Pulse Code Modulation (PCM) 🧮 MATLAB Code for Pulse Amplitude Modulation and Demodulation of Digital data 🧮 Other Pulse Modulation Techniques (e.g., PWM, PPM, DM, and PCM) 📚 Further Reading MATLAB Code for Pulse Code Modulation clc; close all; clear all; fm=input('Enter the message frequency (in Hz): '); fs=input('Enter the sampling frequency (in Hz): '); L=input('Enter the number of the quantization levels: '); n = log2(L); t=0:1/fs:1; % fs nuber of samples have tobe selected s=8*sin(2*pi*fm*t); subplot(3,1,1); t=0:1/(length(s)-1):1; plot(t,s); title('Analog Signal'); ylabel('Amplitude--->'); xlabel('Time--->'); subplot(3,1,2); stem(t,s);grid on; title('Sampled Sinal'); ylabel('Amplitude--->'); xlabel('Time--->'); % Quantization Process vmax=8; vmin=-vmax; %to quanti...

BER performance of QPSK with BPSK, 4-QAM, 16-QAM, 64-QAM, 256-QAM, etc (MATLAB + Simulator)

📘 Overview 📚 QPSK vs BPSK and QAM: A Comparison of Modulation Schemes in Wireless Communication 📚 Real-World Example 🧮 MATLAB Code 📚 Further Reading   QPSK provides twice the data rate compared to BPSK. However, the bit error rate (BER) is approximately the same as BPSK at low SNR values when gray coding is used. On the other hand, QPSK exhibits similar spectral efficiency to 4-QAM and 16-QAM under low SNR conditions. In very noisy channels, QPSK can sometimes achieve better spectral efficiency than 4-QAM or 16-QAM. In practical wireless communication scenarios, QPSK is commonly used along with QAM techniques, especially where adaptive modulation is applied. Modulation Bits/Symbol Points in Constellation Usage Notes BPSK 1 2 Very robust, used in weak signals QPSK 2 4 Balanced speed & reliability 4-QAM ...