Coherence Bandwidth
Coherence bandwidth is a concept in wireless communication and signal processing that relates to the frequency range over which a wireless channel remains approximately constant in terms of its characteristics.
Coherence bandwidth is inversely related to the delay spread time (e.g., RMS delay spread). The coherence bandwidth is related to the delay spread of the channel, which is a measure of the time it takes for signals to traverse the channel due to multipath. The two are related by the following approximation:
Coherence Bandwidth ≈ 1/(delay spread time)
Or, Coherence Bandwidth ≈ 1/(root-mean-square delay spread time)
(Coherence bandwidth in Hertz)
For instance, if the root-mean-square delay spread is 500 ns (i.e., {1/(2*10^6)} seconds), the coherence bandwidth is approximately 2 MHz (1 / 500e-9) in a household indoor environment.
For narrowband approximation:
Coherence Bandwidth ≈ 1/root-mean-square delay spread time
Frequency Auto-correlation Function
The frequency auto-correlation function RH(ฮf) of the channel transfer function H(f) is defined as:
RH(ฮf) = E{H(f)H*(f+ฮf)}
E{⋅} denotes the expectation operator, and H*(f) is the complex conjugate of H(f).
The Coherence Bandwidth (B_c) is precisely derived from this function. It's defined as the maximum ฮf for which R_H(ฮf) remains above a certain threshold (e.g., 0.5 or 1/e of its peak value).
This threshold indicates the point where the channel response at f and f + ฮf becomes sufficiently "uncorrelated" or "different" that they can no longer be considered "coherently" related.
Coherence Bandwidth Definition
The coherence bandwidth is often defined as the frequency separation ฮf over which the auto-correlation function RH(ฮf) drops to a certain fraction of its maximum value, typically 0.5 or 1/e:
Bc ≈ 1 / (ฮฒ * Tm)
Where Tm is the root-mean-square delay spread time, which characterizes the extent of multi-path propagation, and ฮฒ is a constant (e.g., 5 for a 0.5 correlation drop or 2ฯ for other definitions).
Coherence Time
Coherence time represents the duration for which the channel conditions remain approximately constant. It describes the amount of time during which the wireless channel's characteristics, including phase, amplitude, and delay, can be considered relatively stable.
The relationship between coherence time and Doppler spread is inverse. A larger Doppler spread (faster change) corresponds to a shorter coherence time and vice versa.
Time Auto-correlation Function
The time auto-correlation function Rh(ฮt) of the channel impulse response h(t) is defined as:
Rh(ฮt) = E{h(t)h*(t+ฮt)}
E{⋅} denotes the expectation operator, and h*(t) is the complex conjugate of h(t).
The Coherence Time (T_c) is precisely derived from this function. It's defined as the maximum ฮt for which R_H(ฮt) remains above a certain threshold (e.g., 0.5 or 1/e of its peak value).
This threshold indicates the point where the channel response at t and t + ฮt becomes sufficiently "uncorrelated" or "different" that they can no longer be considered "coherently" related.
Coherence Time Definition
The coherence time is often defined as the time lag ฮt over which the auto-correlation function Rh(ฮt) drops to a certain fraction of its maximum value, typically 0.5 or 1/e:
Tc ≈ 1 / fD
Where fD is the Doppler spread, which characterizes the rate of change of the channel due to relative motion.
If a vehicle is moving at 30 m/s and the carrier frequency is 2 GHz:
fD = v * f / c = (30 * 2 * 10^9) / (3 * 10^8) = 200 Hz
So, the coherence time using the general approximation is 1 / (200) = 5 ms (approx).
MATLAB Code Example for Approximating Coherence Time and Bandwidth
% The code is written by SalimWireless.Com
clc;
clear all;
close all;
% Example: Define Doppler Spread and RMS Delay Spread directly for approximation
% (In a real scenario, these would be measured or estimated from channel data)
% --- Parameters for Coherence Time ---
vehicle_speed = 30; % m/s
carrier_frequency = 2e9; % Hz (2 GHz)
speed_of_light = 3e8; % m/s
doppler_spread = (vehicle_speed * carrier_frequency) / speed_of_light; % Hz
% Approximate Coherence Time (Tc ~ 1/fD)
coherence_time_approx = 1 / doppler_spread; % seconds
disp(['Doppler Spread (fD): ', num2str(doppler_spread), ' Hz']);
disp(['Approximate Coherence Time (Tc): ', num2str(coherence_time_approx), ' seconds']);
% --- Parameters for Coherence Bandwidth ---
rms_delay_spread = 500e-9; % seconds (e.g., 500 ns)
% Approximate Coherence Bandwidth (Bc ~ 1/rms_delay_spread, using a common factor like 1/5)
% A typical constant 'beta' is often used, for example, 5 for 0.5 correlation drop
beta_for_Bc = 5;
coherence_bandwidth_approx = 1 / (beta_for_Bc * rms_delay_spread); % Hz
disp(['RMS Delay Spread (Tm): ', num2str(rms_delay_spread), ' seconds']);
disp(['Approximate Coherence Bandwidth (Bc): ', num2str(coherence_bandwidth_approx), ' Hz']);
Output from the MATLAB Code above
Doppler Spread (fD): 200 Hz
Approximate Coherence Time (Tc): 0.005 seconds
RMS Delay Spread (Tm): 5e-07 seconds
Approximate Coherence Bandwidth (Bc): 400000 Hz
Relationship between Coherence Time and Doppler Spread, and Coherence Bandwidth and Delay Spread
The coherence time of a wireless channel is inversely proportional to its Doppler spread. Doppler spread refers to the range of Doppler shifts experienced by different multipath components, indicating how rapidly the channel changes due to motion.
Conversely, the coherence bandwidth of a wireless channel is inversely proportional to its delay spread. Delay spread refers to the time difference between the arrival of the first and last significant multipath components of a signal, indicating the frequency selectivity of the channel.
The relationship between coherence time (Tc) and Doppler spread (fD) can be approximated using the formula:
Tc ≈ 1 / fD
And for coherence bandwidth (Bc) and delay spread (Tm):
Bc ≈ 1 / (ฮฒ ⋅ Tm)
Where ฮฒ is a factor depending on the specific characteristics of the wireless environment and the correlation level considered, typically ranging from 1 to 5 or 2ฯ.
MATLAB Code Example for Coherence Time Approximation (based on Doppler Spread)
% The code is written by SalimWireless.Com
clc;
clear all;
close all;
% Define parameters for Doppler Spread
vehicle_speed = 30; % m/s
carrier_frequency = 2e9; % Hz (2 GHz)
speed_of_light = 3e8; % m/s
% Calculate Doppler spread
doppler_spread = (vehicle_speed * carrier_frequency) / speed_of_light;
% Calculate coherence time using approximation
coherence_time = 1 / doppler_spread;
% Display coherence time
disp(['Calculated Doppler Spread (fD): ', num2str(doppler_spread), ' Hz']);
disp(['Approximate Coherence Time (Tc): ', num2str(coherence_time), ' seconds']);
Output from the MATLAB Code above
Calculated Doppler Spread (fD): 200 Hz
Approximate Coherence Time (Tc): 0.005 seconds