Rayleigh and Ricean Fading

Small-Scale Fading: The Wireless Channel's Signature

Small-scale fading causes rapid amplitude fluctuations as the receiver moves, due to constructive and destructive interference of multipath components. Understanding and simulating fading is essential for designing reliable wireless systems.

Definition:

Rayleigh Fading Channel

When there is no line-of-sight (LOS) path, the channel coefficient is:

h∼CN(0,1)β€…β€ŠβŸΉβ€…β€Šβˆ£h∣∼Rayleighh \sim \mathcal{CN}(0, 1) \implies |h| \sim \text{Rayleigh}

The envelope PDF is f(r)=2r eβˆ’r2f(r) = 2r\,e^{-r^2} for rβ‰₯0r \ge 0 (unit power), and the power ∣h∣2∼Exp(1)|h|^2 \sim \text{Exp}(1).

rng = np.random.default_rng(42)
N = 100000
h = (rng.standard_normal(N) + 1j*rng.standard_normal(N)) / np.sqrt(2)
# |h| is Rayleigh, |h|^2 is Exponential(1)
print(f"Mean |h|^2 = {np.mean(np.abs(h)**2):.4f}")  # ~1.0

Definition:

Ricean Fading Channel

When a LOS component exists, the channel is Ricean:

h=KK+1+1K+1 w,w∼CN(0,1)h = \sqrt{\frac{K}{K+1}} + \sqrt{\frac{1}{K+1}}\,w, \quad w \sim \mathcal{CN}(0,1)

where KK is the Ricean KK-factor (ratio of LOS to scattered power). K=0K = 0 gives Rayleigh; Kβ†’βˆžK \to \infty gives AWGN.

def ricean_channel(K, N, rng=None):
    if rng is None:
        rng = np.random.default_rng()
    w = (rng.standard_normal(N) + 1j*rng.standard_normal(N)) / np.sqrt(2)
    h = np.sqrt(K/(K+1)) + np.sqrt(1/(K+1)) * w
    return h

The envelope ∣h∣|h| follows a Rice distribution. As KK increases, the deep fades become less severe.

Definition:

Nakagami-m Fading

The Nakagami-m distribution generalizes Rayleigh (m=1m=1) and approximates Ricean (m=(K+1)2/(2K+1)m = (K+1)^2/(2K+1)). The power PDF is:

f(x)=mmxmβˆ’1Ξ“(m)Ξ©meβˆ’mx/Ξ©,xβ‰₯0f(x) = \frac{m^m x^{m-1}}{\Gamma(m)\Omega^m} e^{-mx/\Omega}, \quad x \ge 0

where Ω=E[∣h∣2]\Omega = E[|h|^2]. Useful when fitting measured data.

from scipy.stats import nakagami
m, Omega = 2.0, 1.0
samples = nakagami.rvs(m, scale=np.sqrt(Omega), size=10000)

Definition:

Clarke-Jakes Doppler Spectrum

For a mobile receiver moving at speed vv, the maximum Doppler frequency is fd=vfc/cf_d = v f_c / c. The Clarke-Jakes autocorrelation is:

Rh(Ξ”t)=J0(2Ο€fdΞ”t)R_h(\Delta t) = J_0(2\pi f_d \Delta t)

and the Doppler power spectrum is:

S(f)=1Ο€fd1βˆ’(f/fd)2,∣f∣<fdS(f) = \frac{1}{\pi f_d \sqrt{1 - (f/f_d)^2}}, \quad |f| < f_d

from scipy.special import j0
fd = 100  # Hz (60 km/h at 1.8 GHz)
dt = np.linspace(0, 0.01, 200)
R_h = j0(2 * np.pi * fd * dt)

Definition:

Coherence Time and Coherence Bandwidth

The coherence time TcT_c is the time duration over which the channel remains approximately constant:

Tcβ‰ˆ0.423fd=0.423cvfcT_c \approx \frac{0.423}{f_d} = \frac{0.423 c}{v f_c}

The coherence bandwidth BcB_c is the frequency range over which the channel has approximately flat gain:

Bcβ‰ˆ15Ο„rmsB_c \approx \frac{1}{5\tau_{\text{rms}}}

where Ο„rms\tau_{\text{rms}} is the RMS delay spread.

Theorem: BER of BPSK in Rayleigh Fading

The average BER of BPSK over a Rayleigh fading channel is:

PΛ‰b=12(1βˆ’Ξ³Λ‰1+Ξ³Λ‰)\bar{P}_b = \frac{1}{2}\left(1 - \sqrt{\frac{\bar{\gamma}}{1 + \bar{\gamma}}}\right)

where Ξ³Λ‰=Eb/N0\bar{\gamma} = E_b/N_0 is the average SNR. At high SNR, PΛ‰bβ‰ˆ1/(4Ξ³Λ‰)\bar{P}_b \approx 1/(4\bar{\gamma}), decaying as 1/SNR1/\text{SNR} instead of exponentially.

Fading destroys the exponential BER improvement. The probability of a deep fade (∣h∣2β‰ͺ1|h|^2 \ll 1) dominates the average BER. This is why diversity is essential for reliable wireless communication.

Theorem: Diversity Order and BER Slope

With LL-fold diversity (MRC combining), the average BER at high SNR scales as:

PΛ‰b∝(1Ξ³Λ‰)L\bar{P}_b \propto \left(\frac{1}{\bar{\gamma}}\right)^L

The diversity order LL equals the negative slope of the BER curve (in log-log scale) at high SNR.

Each independent diversity branch reduces the probability of a simultaneous deep fade. LL branches give a 10L10L dB/decade slope instead of just 10 dB/decade for no diversity.

Theorem: Level Crossing Rate of Rayleigh Fading

The rate at which the Rayleigh fading envelope crosses a threshold RR from below is:

NR=2π fd ρ eβˆ’Ο2N_R = \sqrt{2\pi}\, f_d\, \rho\, e^{-\rho^2}

where ρ=R/Rrms\rho = R/R_{\text{rms}} is the normalized threshold. The average fade duration below RR is:

Ο„Λ‰=eρ2βˆ’12π fd ρ\bar{\tau} = \frac{e^{\rho^2} - 1}{\sqrt{2\pi}\,f_d\,\rho}

A mobile at 60 km/h at 2 GHz experiences about 50-100 fades per second below the RMS level.

Example: Generating Time-Correlated Rayleigh Fading

Generate a Rayleigh fading process with Jakes spectrum using the filter method (IFFT of shaped spectrum).

Example: BER Simulation Over Rayleigh Fading

Simulate BPSK BER over Rayleigh fading and compare with the closed-form expression.

Example: Estimating the Ricean K-Factor

Given channel envelope samples, estimate the Ricean KK-factor using the moment-based method.

Fading Channel Realizations

Generate and visualize Rayleigh and Ricean fading envelopes with adjustable K-factor and Doppler frequency.

Parameters

BER: AWGN vs Rayleigh vs Ricean

Compare BPSK BER over AWGN, Rayleigh, and Ricean channels.

Parameters

Fading Envelope Over Time

Watch the Rayleigh fading envelope evolve as time progresses, highlighting deep fades below a threshold.

Parameters

Quick Check

How does the BER of uncoded BPSK decrease with SNR over a Rayleigh fading channel at high SNR?

Exponentially (like AWGN)

As 1/SNR1/\text{SNR} (diversity order 1)

As 1/SNR21/\text{SNR}^2 (diversity order 2)

Remains constant

Quick Check

What happens to a Ricean channel as Kβ†’βˆžK \to \infty?

It becomes Rayleigh

It becomes an AWGN channel

The channel gain goes to zero

The Doppler spread increases

Common Mistake: Not Normalizing Channel Power

Mistake:

Generating Rayleigh fading with h=randn+j randnh = \text{randn} + j\,\text{randn} without the 1/21/\sqrt{2} factor, giving E[∣h∣2]=2E[|h|^2] = 2 instead of 1.

Correction:

Always use h = (randn + 1j*randn) / sqrt(2) for unit-power Rayleigh. Verify with np.mean(np.abs(h)**2).

Key Takeaway

Rayleigh fading degrades BER from exponential (AWGN) to 1/SNR1/\text{SNR} decay. Diversity (spatial, frequency, time) is the only way to restore steep BER curves. The Ricean KK-factor quantifies the LOS strength and interpolates between Rayleigh (K=0K=0) and AWGN (Kβ†’βˆžK \to \infty).

Why This Matters: From Fading to OFDM

Frequency-selective fading (when bandwidth exceeds BcB_c) causes inter-symbol interference. OFDM solves this by dividing the wideband channel into many narrowband subcarriers, each experiencing flat fading. This is why OFDM is the waveform of choice in 4G, 5G, and Wi-Fi.

See full treatment in Chapter 22

Historical Note: William Jakes and Mobile Radio

1974

William Jakes of Bell Labs published 'Microwave Mobile Communications' in 1974, establishing the theoretical framework for mobile radio channels. The Clarke-Jakes model with its J0J_0 autocorrelation and U-shaped Doppler spectrum remains the standard reference for mobile fading simulation.

Historical Note: Stephen O. Rice and the Rice Distribution

1944-1945

Stephen O. Rice of Bell Labs derived the distribution of the envelope of a sinusoid plus Gaussian noise in 1944-1945. His work, published in the Bell System Technical Journal, laid the mathematical foundation for all subsequent fading channel analysis.

Rayleigh Fading

Fading model for channels without a line-of-sight path; the envelope of the complex Gaussian channel coefficient follows a Rayleigh distribution.

Related: Ricean Fading

Ricean Fading

Fading model with a dominant LOS component; characterized by the KK-factor. Reduces to Rayleigh when K=0K = 0.

Related: Rayleigh Fading

Doppler Spread

The range of frequency shifts caused by relative motion between transmitter and receiver; fd=vfc/cf_d = v f_c / c.

Coherence Time

The time interval over which the channel fading coefficient remains approximately constant; inversely proportional to Doppler spread.

Fading Model Comparison

PropertyRayleighRiceanNakagami-m
LOS componentNoYesParametric
Envelope PDF2reβˆ’r22r e^{-r^2}Rice distributionNakagami PDF
KK-factorK=0K = 0K>0K > 0m=(K+1)2/(2K+1)m = (K+1)^2/(2K+1)
BER slope at high SNR1/SNR1/\text{SNR}Between 1/SNR1/\text{SNR} and expDepends on mm
Deep fade probabilityHighModerateTunable
Python (scipy)rayleighricenakagami