Capacity of SISO system over a fading channel

MIMO — Capacity path

1. Intro → 2. Channel model → 3. SISO capacity → 4. Ergodic SISO → 5. MIMO capacity

Tools: Shannon calculator

Introduction

Shannon’s formula \(C=\log_2(1+\mathrm{SNR})\) shows up in every communications course. On a fading channel the SNR itself is random, so capacity becomes a random variable. What does that mean in practice? When do we average over fades, and when do we protect against the bad draws?

Motive

Suppose you send a codeword over a mobile link. If the codeword is long compared with the coherence time, it sees many fades and the quantity that matters is the average mutual information—ergodic capacity. If the codeword sits inside one fade (slow fading, short packets), the link is in outage whenever that fade’s mutual information falls below the chosen rate. Mix the two up and you design the wrong code.

Technical development

With receiver CSI and instantaneous power gain \(|h|^2\),

\[C(|h|^2)=\log_2\bigl(1+|h|^2\rho\bigr), \qquad \rho=\frac{P}{N_0}.\]

On AWGN we set \(|h|=1\). On Rayleigh fading, \(|h|^2\sim\mathrm{Exp}(1)\) if \(h\sim\mathcal{CN}(0,1)\). Then:

  • Ergodic capacity: \(C_{\mathrm{erg}}(\rho)=E[C(|h|^2)]\).
  • \(\varepsilon\)-outage capacity: the largest \(R\) with \(P\bigl(C(|h|^2)<R\bigr)\le\varepsilon\).
SISO capacity
Figure 1: AWGN Shannon rate, Rayleigh ergodic capacity, and the 10%-outage rate versus SNR.

How this achieves the motive

Figure 1 separates the two design worlds. The ergodic curve lies below AWGN—fading costs average rate—but still grows like \(\log\rho\) at high SNR. The 10%-outage curve lies lower still: if you insist that nine out of ten fades support your rate, you must back off. That is precisely the price of not coding across many fades.

Sample simulation

import numpy as np
import matplotlib.pyplot as plt

snr_db = np.arange(0, 31, 2)
awgn = np.log2(1 + 10 ** (snr_db / 10))
rng = np.random.default_rng(2)
erg, out10 = [], []
for s in snr_db:
    rho = 10 ** (s / 10)
    h2 = rng.exponential(1.0, size=20000)
    c = np.log2(1 + rho * h2)
    erg.append(c.mean())
    out10.append(np.percentile(c, 10))

plt.plot(snr_db, awgn, label="AWGN Shannon")
plt.plot(snr_db, erg, label="Rayleigh ergodic")
plt.plot(snr_db, out10, "--", label="10% outage")
plt.xlabel("SNR (dB)"); plt.ylabel("Capacity (bit/s/Hz)")
plt.grid(True); plt.legend(); plt.show()

Sample results

Your plot should overlay Figure 1. At 20 dB SNR the AWGN rate is about 6.7 bit/s/Hz; the Rayleigh ergodic value is a bit lower; the 10%-outage value is noticeably lower. Try changing the percentile to 1%: the outage curve drops again. That dial is the reliability target of a slow-fading link.

Next topic

The next article drills into the ergodic average alone—Monte Carlo versus the exponential-integral closed form—so you trust the numerical method before we generalise it to matrices and then to MIMO.

References

  1. A. Goldsmith, Wireless Communications, Cambridge University Press, Cambridge, UK, 2005. Chapter 4.
  2. D. Tse and P. Viswanath, Fundamentals of Wireless Communication, Cambridge University Press, Cambridge, UK, 2005. Chapter 5.
  3. M. K. Simon and M.-S. Alouini, Digital Communication over Fading Channels, 2nd ed., John Wiley & Sons, Hoboken, NJ, 2005.

Frequently asked questions

What is the difference between ergodic capacity and outage capacity? Ergodic capacity is the average mutual information when a codeword spans many independent fades. Outage capacity is the largest rate \(R\) such that the probability that a single fade’s mutual information falls below \(R\) stays under a target \(\varepsilon\). Long coded blocks favour the ergodic view; short packets in slow fading favour the outage view.

Why does Rayleigh fading reduce average rate relative to AWGN? Because \(\log_2(1+|h|^2\rho)\) is concave in the power gain, Jensen’s inequality places the average below the AWGN rate at the mean SNR. Deep fades pull the average down more than good fades push it up.

How is the 10% outage capacity read from a simulation? Draw many realisations of \(|h|^2\), compute instantaneous capacity for each, and take the 10th percentile of that empirical distribution. That rate is supported by at least 90% of the fades at the chosen SNR.

When should a link designer use outage capacity instead of ergodic capacity? When the codeword duration is comparable to or shorter than the coherence time, so the packet experiences essentially one channel draw. Then reliability is set by the outage probability at the chosen rate, not by a long-term average.

11 thoughts on “Capacity of SISO system over a fading channel”

  1. Sir,
    please continue this discussion. it is extremely useful. I request you to extend it to space time codes, OFDM and CDMA.

    Reply
  2. In Probability density function of noise (i.e. eqn no.10) ” pi ” is missing in the denominator. Is it right or wrong ?

    Reply

Leave a Comment