Examples#
This gallery walks through every public feature of
engineeringkit.communications, one breakthrough per script: decibels,
radio propagation and link budgets, thermal noise, analog modulation,
information and capacity, optimum detection, error-correcting codes and OFDM.
Units, assumptions and numerical validation
gives the physical validity limits. Each script is self-contained and can be
run directly with python examples/communications/<section>/<script>.py.
Sections#
decibels – the Bell System transmission unit.
propagation – Hertz’s waves, the Friis transmission formula and the Telstar link budget.
noise – Johnson-Nyquist noise and Friis’s cascaded noise factor.
modulation – Fessenden’s AM, Carson’s suppressed carrier and Armstrong’s FM.
information – Nyquist’s signalling rate, Hartley’s law, Shannon’s entropy and capacity.
detection – Kotel’nikov’s optimum BPSK receiver and quadrature (QPSK) modulation.
coding – the Hamming(7,4) code.
multiplexing – DFT-based OFDM with a cyclic prefix.
Coding#
Single-error-correcting block codes.
Decibels#
Logarithmic power ratios.
Detection#
Bit-error rates of coherent BPSK and QPSK in Gaussian noise.
Kotel’nikov’s optimum receiver: BPSK in white Gaussian noise
Quadrature modulation: QPSK doubles the rate at the same error rate
Information and capacity#
Signalling rate, entropy and channel capacity.
Hartley’s law: information grows with the logarithm of the levels
Shannon’s entropy and the binary symmetric channel
The Shannon-Hartley capacity of a noisy band-limited channel
Modulation#
Amplitude, suppressed-carrier and frequency modulation.
Armstrong’s wideband FM and Carson’s bandwidth rule
Multiplexing#
Orthogonal frequency-division multiplexing.
Noise#
Thermal noise and the noise factor of receiver chains.
Propagation#
Wavelength, free-space path loss and link budgets.
Hertz’s electromagnetic waves and their wavelength