Error Probability in AWGN

The Q-function as Universal Currency

Section 9.1 established the optimal detector structure. Now we compute the exact error probabilities for the constellations introduced in Chapter 8. Every BER/SER expression in AWGN ultimately reduces to the Gaussian Q-function or its close relative, the complementary error function. We also introduce Craig's formula β€” an alternative Q-function representation that is indispensable for averaging BER over fading distributions in Section 9.4.

Definition:

The Gaussian Q-Function

The Q-function is the tail probability of the standard normal distribution:

Q(x)=12Ο€βˆ«x∞eβˆ’t2/2 dt=12 erfc⁑ ⁣(x2)Q(x) = \frac{1}{\sqrt{2\pi}} \int_x^{\infty} e^{-t^2/2}\, dt = \frac{1}{2}\, \operatorname{erfc}\!\left(\frac{x}{\sqrt{2}}\right)

Key properties:

  • Q(0)=1/2Q(0) = 1/2, Q(∞)=0Q(\infty) = 0, Q(βˆ’βˆž)=1Q(-\infty) = 1
  • Symmetry: Q(βˆ’x)=1βˆ’Q(x)Q(-x) = 1 - Q(x)
  • Monotonically decreasing for x>0x > 0
  • Relationship to erfc: Q(x)=12erfc⁑(x/2)Q(x) = \frac{1}{2}\operatorname{erfc}(x/\sqrt{2})

Chernoff bound: for x>0x > 0,

Q(x)≀12eβˆ’x2/2Q(x) \leq \frac{1}{2} e^{-x^2/2}

Tighter bounds: for x>0x > 0,

12π xx2+1 eβˆ’x2/2≀Q(x)≀12π 1x eβˆ’x2/2\frac{1}{\sqrt{2\pi}}\, \frac{x}{x^2 + 1}\, e^{-x^2/2} \leq Q(x) \leq \frac{1}{\sqrt{2\pi}}\, \frac{1}{x}\, e^{-x^2/2}

The Q-function is implemented as a built-in function in MATLAB (qfunc), Python/SciPy (from scipy.stats import norm; norm.sf), and most numerical computing environments.

Theorem: BER for BPSK and QPSK in AWGN

The bit error rate for BPSK and QPSK with Gray mapping in an AWGN channel is

Pb=Q ⁣(2EbN0)P_b = Q\!\left(\sqrt{\frac{2E_b}{N_0}}\right)

For QPSK, this result holds because the I and Q channels are independent BPSK detectors, each with energy EbE_b per bit.

Equivalently, in terms of symbol energy EsE_s:

PbBPSK=Q ⁣(2EsN0),PbQPSK=Q ⁣(EsN0)P_b^{\text{BPSK}} = Q\!\left(\sqrt{\frac{2E_s}{N_0}}\right), \qquad P_b^{\text{QPSK}} = Q\!\left(\sqrt{\frac{E_s}{N_0}}\right)

since Es=EbE_s = E_b for BPSK and Es=2EbE_s = 2E_b for QPSK.

The argument of the Q-function is 2Eb/N0=dmin⁑/2N0\sqrt{2E_b/N_0} = d_{\min}/\sqrt{2N_0}, which is the ratio of half the minimum distance to the noise standard deviation. Larger dmin⁑d_{\min} or smaller N0N_0 gives a larger argument and hence lower PbP_b.

Theorem: Approximate BER for M-QAM in AWGN

For square MM-QAM (M=4,16,64,256,…M = 4, 16, 64, 256, \ldots) with Gray mapping in AWGN, the bit error rate is approximately

Pbβ‰ˆ4log⁑2M(1βˆ’1M)Q ⁣(3log⁑2MMβˆ’1β‹…2EbN0)P_b \approx \frac{4}{\log_2 M} \left(1 - \frac{1}{\sqrt{M}}\right) Q\!\left(\sqrt{\frac{3 \log_2 M}{M - 1} \cdot \frac{2E_b}{N_0}}\right)

This approximation becomes exact as SNR β†’βˆž\to \infty (where only nearest-neighbour errors contribute).

In terms of symbol energy:

Psβ‰ˆ4(1βˆ’1M)Q ⁣(3Es(Mβˆ’1)N0)P_s \approx 4\left(1 - \frac{1}{\sqrt{M}}\right) Q\!\left(\sqrt{\frac{3E_s}{(M-1)N_0}}\right)

The factor (1βˆ’1/M)(1 - 1/\sqrt{M}) accounts for the fraction of nearest neighbours: corner points have 2 neighbours, edge points have 3, and interior points have 4. The average number of neighbours weighted by position gives 4(1βˆ’1/M)4(1 - 1/\sqrt{M}) per symbol.

Definition:

Craig's Formula (Alternative Q-Function Representation)

Craig's formula expresses the Q-function as a single integral with finite limits:

Q(x)=1Ο€βˆ«0Ο€/2exp⁑ ⁣(βˆ’x22sin⁑2Ο•)dΟ•Q(x) = \frac{1}{\pi} \int_0^{\pi/2} \exp\!\left(-\frac{x^2}{2\sin^2\phi}\right) d\phi

More generally, the square of the Q-function is

Q2(x)=1Ο€βˆ«0Ο€/4exp⁑ ⁣(βˆ’x22sin⁑2Ο•)dΟ•Q^2(x) = \frac{1}{\pi} \int_0^{\pi/4} \exp\!\left(-\frac{x^2}{2\sin^2\phi}\right) d\phi

Craig's formula is essential for computing average BER over fading channels because:

  1. The SNR Ξ³\gamma appears only in the exponent
  2. The expectation EΞ³[β‹…]E_\gamma[\cdot] can be taken inside the integral, yielding the MGF of Ξ³\gamma
  3. The resulting integral over Ο•\phi has finite limits and can often be evaluated in closed form

Substituting Ξ³=x2/2\gamma = x^2/2:

Q(2Ξ³)=1Ο€βˆ«0Ο€/2exp⁑ ⁣(βˆ’Ξ³sin⁑2Ο•)dΟ•Q(\sqrt{2\gamma}) = \frac{1}{\pi} \int_0^{\pi/2} \exp\!\left(-\frac{\gamma}{\sin^2\phi}\right) d\phi

Craig's formula was published in 1991 and immediately became the standard tool for performance analysis of digital communications over fading channels. Before this result, averaging BER over fading required numerical integration of nested integrals.

Example: Computing BER at Specific Eb/N0E_b/N_0

Compute the BER for BPSK, QPSK, 16-QAM, and 64-QAM at Eb/N0=10E_b/N_0 = 10 dB in AWGN.

Example: Comparing Modulation Schemes

Find the Eb/N0E_b/N_0 required for BER =10βˆ’6= 10^{-6} for BPSK, QPSK, 16-QAM, and 64-QAM. What is the power penalty (in dB) of each scheme relative to BPSK?

BER Curves in AWGN

Compare the bit error rate of standard modulation schemes as a function of Eb/N0E_b/N_0. Toggle modulation formats on/off and optionally show the Chernoff and high-SNR approximations. Note the 3 dB gap between each doubling of MM for QAM.

Parameters

Q-Function and Its Approximations

Compare the exact Q-function with the Chernoff bound Q(x)≀12eβˆ’x2/2Q(x) \leq \frac{1}{2}e^{-x^2/2} and Craig's integral form. The plot shows Q(x)Q(x) on a log scale. Notice that the Chernoff bound is within 3 dB for x>3x > 3, while Craig's formula is exact (the curves coincide).

Parameters
6

Quick Check

Rank the following modulation schemes from lowest to highest BER at Eb/N0=12E_b/N_0 = 12 dB in AWGN: (A) BPSK, (B) 16-QAM, (C) 64-QAM, (D) QPSK.

A = D < B < C

A < D < B < C

C < B < D < A

A < D < C < B

Common Mistake: Confusing Eb/N0E_b/N_0 with SNR

Mistake:

Using Eb/N0E_b/N_0 and SNR interchangeably in BER calculations.

Correction:

Eb/N0E_b/N_0 and SNR are related but not the same:

SNR=EsN0W=Eblog⁑2MN0W=EbN0β‹…log⁑2MWTs\text{SNR} = \frac{E_s}{N_0 W} = \frac{E_b \log_2 M}{N_0 W} = \frac{E_b}{N_0} \cdot \frac{\log_2 M}{W T_s}

For Nyquist signaling (W=1/TsW = 1/T_s):

SNR=EbN0β‹…log⁑2M=EbN0β‹…Ξ·\text{SNR} = \frac{E_b}{N_0} \cdot \log_2 M = \frac{E_b}{N_0} \cdot \eta

At the same Eb/N0E_b/N_0, higher-order modulations have higher SNR (more energy per symbol) but also more constellation points to distinguish. The BER depends on the ratio dmin⁑2/N0∝Es/(Mβˆ’1)N0d_{\min}^2/N_0 \propto E_s/(M-1)N_0, which decreases with MM.

Common Mistake: Using BER Formulas Outside Their Validity Range

Mistake:

Applying the approximate BER formula Pbβ‰ˆNmin⁑/log⁑2Mβ‹…Q(dmin⁑/2N0)P_b \approx N_{\min}/\log_2 M \cdot Q(d_{\min}/\sqrt{2N_0}) at low SNR where multiple error events contribute significantly.

Correction:

The nearest-neighbour approximation is accurate only at high SNR (typically Eb/N0>5E_b/N_0 > 5 dB for QAM). At low SNR:

  • Second and third nearest neighbours contribute non-negligibly
  • The union bound overestimates PeP_e significantly
  • The Gray mapping approximation BER β‰ˆ\approx SER/log⁑2M/\log_2 M breaks down because errors to distant symbols become probable

For low-SNR analysis, use the exact SER expression (summing over all decision region boundaries) or Monte Carlo simulation.

⚠️Engineering Note

Numerical Computation of the Q-Function

Computing Q(x)Q(x) for large xx (high SNR) requires care. The naive formula Q(x)=0.5β‹…erfc⁑(x/2)Q(x) = 0.5 \cdot \operatorname{erfc}(x/\sqrt{2}) suffers from catastrophic cancellation in floating-point arithmetic when Q(x)<10βˆ’15Q(x) < 10^{-15} (roughly x>8x > 8).

Recommended implementations:

  • Python/SciPy: Use scipy.special.erfc or scipy.stats.norm.sf, which use extended-precision internal routines. Alternatively, scipy.special.log_ndtr computes ln⁑Q(x)\ln Q(x) directly, avoiding underflow for xx up to 37.

  • MATLAB: qfunc(x) handles large arguments correctly.

  • C/C++: Use erfc() from <math.h> (IEEE 754 compliant), or the logarithmic form ln⁑Q(x)β‰ˆβˆ’x2/2βˆ’ln⁑(x2Ο€)\ln Q(x) \approx -x^2/2 - \ln(x\sqrt{2\pi}) for asymptotic regimes.

For Monte Carlo BER simulations, avoid computing Q(x)Q(x) and instead count errors directly. To reliably estimate Pe=10βˆ’kP_e = 10^{-k}, collect at least 100/Pe=10k+2100 / P_e = 10^{k+2} transmitted symbols.

Practical Constraints
  • β€’

    Double-precision floating point: accurate for Q(x) down to approximately 1e-308

  • β€’

    Monte Carlo: 100/P_e symbols needed for 10% relative accuracy

Key Takeaway

The core message of this section in three points:

  • The Q-function is the universal building block for error probability in AWGN: every BER and SER expression reduces to Q(β‹…)Q(\cdot).

  • BER improves exponentially with SNR in AWGN: doubling Eb/N0E_b/N_0 (3 dB) dramatically reduces BER, and the improvement accelerates at higher SNR.

  • Craig's formula rewrites Q(2Ξ³)Q(\sqrt{2\gamma}) with Ξ³\gamma only in the exponent, enabling closed-form BER averaging over fading via the MGF β€” the key technique in Section 9.4.

Q-Function

The tail probability of the standard Gaussian distribution: Q(x)=P(Z>x)Q(x) = P(Z > x) for Z∼N(0,1)Z \sim \mathcal{N}(0,1). It is the universal function for expressing error probabilities in AWGN channels. Related to erfc by Q(x)=12erfc⁑(x/2)Q(x) = \frac{1}{2}\operatorname{erfc}(x/\sqrt{2}).

Related: Forgetting the 12\frac{1}{2} in the Q-function vs erfc Relationship, MGF Approach for Averaging BER Over Fading, Craig's Formula (Alternative Q-Function Representation)

Bit Error Rate (BER)

The probability that a transmitted bit is decoded incorrectly at the receiver. For uncoded systems in AWGN, BER depends on the modulation scheme and Eb/N0E_b/N_0. With Gray mapping, BER β‰ˆ\approx SER/log⁑2M/\log_2 M at high SNR.

Related: Ser, The Gaussian Q-Function, Modulation and Coding Scheme (MCS) Tables