Prerequisites & Notation

Before You Begin

This chapter assumes comfort with NumPy array operations (Chapter 5), basic linear algebra in NumPy/SciPy (Chapter 6), and undergraduate-level probability theory. If any item feels completely foreign, review the linked material first.

  • NumPy arrays, broadcasting, and random number generation (Chapter 5)(Review ch05)

    Self-check: Can you draw 10000 samples from a Gaussian using rng.standard_normal(10000)?

  • Linear algebra: Cholesky, eigendecomposition (Chapter 6)(Review ch06)

    Self-check: Can you compute the Cholesky factor of a positive-definite matrix with np.linalg.cholesky?

  • Probability basics: PDF, CDF, expectation, variance

    Self-check: Do you know that Var[X]=E[X2](E[X])2\mathrm{Var}[X] = E[X^2] - (E[X])^2?

  • Complex numbers and baseband signal representation

    Self-check: Do you know that a complex Gaussian has independent real and imaginary parts?

Notation for This Chapter

Symbols and conventions introduced in this chapter. We use jj for the imaginary unit (engineering convention) and boldface for vectors/matrices.

SymbolMeaningIntroduced
fX(x)f_X(x)Probability density function (PDF) of random variable XXs01
FX(x)F_X(x)Cumulative distribution function (CDF)s01
mathcalN(mu,sigma2)\\mathcal{N}(\\mu, \\sigma^2)Gaussian (normal) distribution with mean μ\mu and variance σ2\sigma^2s01
mathcalCN(mathbf0,mathbfR)\\mathcal{CN}(\\mathbf{0}, \\mathbf{R})Circularly symmetric complex Gaussian with covariance R\mathbf{R}s01
mathbfR\\mathbf{R}Covariance or correlation matrixs01
mathbfL\\mathbf{L}Lower-triangular Cholesky factor (R=LLH\mathbf{R} = \mathbf{L}\mathbf{L}^H)s01
PbP_b, BER$Bit error rate (probability of bit error)s03
Eb/N0E_b/N_0Bit energy to noise spectral density ratios03
hh, mathbfH\\mathbf{H}Fading channel coefficient (scalar) or MIMO channel matrixs04
KKRicean KK-factor (ratio of LOS to scattered power)s04
hattheta\\hat{\\theta}Estimator of parameter θ\thetas02
NsN_sNumber of Monte Carlo sampless03