Path Loss and Shadowing
Why Path Loss Modeling Is Critical
Before worrying about fading or noise, you need to know how much power arrives at the receiver. Path loss determines the coverage area, the required transmit power, and ultimately the system capacity. Every link budget starts with a path loss model.
Definition: Free-Space Path Loss (Friis)
Free-Space Path Loss (Friis)
The free-space path loss (FSPL) at distance and frequency is:
where is the speed of light. Power decays as (20 dB/decade).
def fspl(d_m, fc_hz):
"""Free-space path loss in dB."""
return 20 * np.log10(4 * np.pi * d_m * fc_hz / 3e8)
FSPL applies only in free space (no reflections). Real environments always have higher path loss due to obstructions and multipath.
Definition: Log-Distance Path Loss Model
Log-Distance Path Loss Model
The log-distance model generalizes FSPL with an adjustable path loss exponent :
where is a reference distance, is the path loss exponent (typically 2-6), and is log-normal shadow fading.
def log_distance_pl(d, d0=1.0, PL0=None, n=3.5, sigma_sf=8.0, fc=2.4e9):
if PL0 is None:
PL0 = 20 * np.log10(4 * np.pi * d0 * fc / 3e8)
sf = np.random.randn(*np.shape(d)) * sigma_sf
return PL0 + 10 * n * np.log10(d / d0) + sf
Definition: 3GPP TR 38.901 Path Loss Models
3GPP TR 38.901 Path Loss Models
The 3GPP standard defines path loss models for different deployment scenarios. For Urban Macro (UMa) LOS:
where is in meters and in GHz. For UMa NLOS:
def uma_los(d, fc_ghz):
return 28.0 + 22*np.log10(d) + 20*np.log10(fc_ghz)
def uma_nlos(d, fc_ghz, h_ut=1.5):
return 13.54 + 39.08*np.log10(d) + 20*np.log10(fc_ghz) - 0.6*(h_ut - 1.5)
Definition: Log-Normal Shadow Fading
Log-Normal Shadow Fading
Shadow fading models the slow, location-dependent fluctuations in received power due to obstructions. In dB, it is modeled as:
Typical values: - dB for outdoor, - dB for indoor. Shadow fading is spatially correlated with decorrelation distance - m.
Definition: Link Budget Equation
Link Budget Equation
The received power in dBm is:
where is transmit power, are antenna gains, is path loss, and includes cable losses, body loss, etc. The received SNR is:
Theorem: Two-Ray Ground Reflection Model
For transmitter/receiver heights and distance :
The path loss exponent transitions from (free space) to beyond the breakpoint distance .
Close to the transmitter, the direct and reflected paths add constructively and destructively (fast fading). Beyond the breakpoint, the reflected path always partially cancels the direct path, doubling the exponent.
Theorem: Coverage Probability with Shadow Fading
The probability that the received SNR exceeds a threshold at distance is:
where lumps antenna gains and is the Gaussian tail function.
Shadow fading creates a "soft" coverage boundary instead of a hard circle. At the cell edge, coverage probability is typically 50%.
Theorem: COST-231 Hata Model
For urban environments at 1500-2000 MHz:
where is a correction factor for mobile antenna height, is base station height, and dB (suburban) or dB (urban).
The Hata model is an empirical fit to Okumura's measurements. It captures the key dependencies on frequency, distance, and antenna heights.
Example: Comparing Path Loss Models
Plot free-space, log-distance (), and 3GPP UMa path loss from 10 m to 1 km at 3.5 GHz.
Implementation
import numpy as np
d = np.logspace(1, 3, 200) # 10 to 1000 m
fc = 3.5e9
pl_fs = 20*np.log10(4*np.pi*d*fc/3e8)
pl_ld = pl_fs[0] + 35*np.log10(d/d[0]) # n=3.5
pl_uma = 28 + 22*np.log10(d) + 20*np.log10(3.5) # UMa LOS
Key observation
Free space is always the most optimistic. The UMa model sits between free space and log-distance with .
Example: Generating a Correlated Shadow Fading Map
Generate a 2D spatially-correlated shadow fading map on a 500 m x 500 m grid with decorrelation distance 50 m and standard deviation 8 dB.
Exponential correlation
grid_size = 100
d_corr = 50 # m
sigma_sf = 8 # dB
x = np.linspace(0, 500, grid_size)
X, Y = np.meshgrid(x, x)
# Distance matrix
dist = np.sqrt((X[:,:,None,None]-X[None,None,:,:])**2
+ (Y[:,:,None,None]-Y[None,None,:,:])**2)
# This is expensive; use FFT-based approach instead
FFT-based generation
# Efficient: filter white noise with exponential kernel
kernel_1d = np.exp(-x / d_corr)
kernel_2d = np.outer(kernel_1d, kernel_1d)
kernel_2d /= np.sqrt(np.sum(kernel_2d**2))
from scipy.signal import fftconvolve
white = np.random.randn(grid_size, grid_size)
sf_map = sigma_sf * fftconvolve(white, kernel_2d, mode='same')
Example: 5G NR Link Budget Calculation
Compute the maximum cell radius for a 5G NR base station at 3.5 GHz with 43 dBm transmit power, 18 dBi antenna gain, targeting -100 dBm receiver sensitivity.
Calculation
Pt = 43 # dBm
Gt = 18 # dBi
Gr = 0 # dBi (mobile)
sens = -100 # dBm
margin = 10 # dB (shadow + interference)
max_PL = Pt + Gt + Gr - sens - margin # = 151 dB
# Using UMa LOS: PL = 28 + 22*log10(d) + 20*log10(3.5)
# 151 = 28 + 22*log10(d) + 10.88
d_max = 10**((151 - 28 - 10.88) / 22)
print(f"Max cell radius: {d_max:.0f} m")
Path Loss Model Comparison
Compare FSPL, log-distance, and 3GPP UMa models across frequency and distance.
Parameters
Path Loss Exponent in Different Environments
Quick Check
What path loss exponent does free-space propagation correspond to?
1
2
3
4
Free-space: power decays as , so (20 dB/decade).
Common Mistake: Mixing dB and Linear Scales
Mistake:
Adding path loss in dB to power in watts, or multiplying path loss in dB with distance.
Correction:
All link budget arithmetic is done in dB/dBm: additions and subtractions
only. Convert to linear scale only for SNR-dependent computations
like capacity: snr_linear = 10**(snr_dB / 10).
Key Takeaway
Path loss determines the fundamental coverage and capacity limits of a wireless system. Use the appropriate model for your scenario: FSPL for satellite, log-distance for general analysis, and 3GPP models for standards-compliant simulations.
Historical Note: Okumura's Measurements (1968)
1968Yoshihisa Okumura conducted extensive field measurements in Tokyo at frequencies from 150 MHz to 1920 MHz. His empirical curves became the basis for the Hata model (1980) and its COST-231 extension, which remain widely used for coverage planning even today.
Path Loss
The reduction in signal power as it propagates through space, measured in dB. Includes free-space spreading and environmental attenuation.
Related: Shadow Fading
Shadow Fading
Slow, log-normal fluctuations in received power due to large obstacles (buildings, terrain). Also called large-scale fading.
Related: Path Loss
Link Budget
An accounting of all gains and losses in a communication link, from transmitter to receiver, used to determine system feasibility.