📊 Datasets and notebooks
Each module has its own notebook per language. Data is generated in code (deliberate simulated signals with known parameters) so you can check the answers. Notebooks run locally or on Google Colab and need only NumPy, SciPy and Matplotlib.
| # | Module | Generated data | Notebook |
|---|---|---|---|
| 01 | Introduction: why transform methods | Generated in code: three sinusoids at 50/120/300 Hz, a low-pass filter $a=0.9$, a squarer and a cubic stage, the sequences $\{2,2,3,3,4\}$ and $\{1,1,2\}$ | Colab · .ipynb |
| 02 | Groundwork: the transform, existence and symmetry | Generated in code: Gaussian, sech, rectangle and triangle, $e^{-x}H(x)$, modulated Gaussians, symmetric random sequences | Colab · .ipynb |
| 03 | Convolution, serial products and correlation | Generated in code: truncated exponentials, repeated rectangles, Bracewell's number sequences, a daily-temperature series, three sinusoids with different phases, the pulse sequence $\{1100101\}$ | Colab · .ipynb |
| 04 | Notation for useful functions: Π, Λ, H, sgn, sinc, Gaussian | Generated in code: gate, triangle, step and ramp functions, simulated 2D Gaussian (Rayleigh), sinc low-pass filtering, windows, a scanning slit | Colab · .ipynb |
| 05 | The impulse symbol: $\delta$, sifting, shah and generalized functions | Generated in code: an RC circuit driven by pulses of different shapes, pulse sequences of many shapes (rectangle, Gaussian, triangle, sinc, Lorentzian), the shah train and Poisson sums | Colab · .ipynb |
| 06 | The basic theorems of the Fourier transform | Generated in code: Gaussians, sinc, rectangles, an amplitude-modulated carrier, an RC circuit, symmetric complex sequences | Colab · .ipynb |
| 07 | Obtaining transforms | Generated in code: sampled rectangles, staircase functions, triangles, a parabola, two closely spaced spectral lines, 7-day data | Colab · .ipynb |
| 08 | The two domains: a function and its transform | Generated in code: exponentials, gamma, Gaussian, triangle, rectangle, sech, Lorentzian | Colab · .ipynb |
| 09 | Waveforms, spectra, filters and linearity | Generated in code: an RC circuit, a moving-average filter, an amplitude-modulated wave, nonlinear and time-varying systems, a pulse-forming line | Colab · .ipynb |
| 10 | Probability, random variables and the characteristic function | Generated in code: dice, urns, resistors, a barrel of banknotes, exponential and Poisson variables, joint probability tables | Colab · .ipynb |
| 11 | The distributions that arise in practice | Generated in code: Bernoulli trials, urns, normal variables, a Rayleigh-times-gamma product (K) | Colab · .ipynb |
| 12 | Random processes, power spectra and noise | Generated in code: random phase, random binary, random walk, Wiener, digits of $\pi$, bandpass noise, an RC circuit, thermal noise | Colab · .ipynb |
| 13 | Sampling, Fourier series and orthogonal representation | Generated in code: sinc functions, a square wave, triangles, rectangular signals, Wiener and exponential kernels | Colab · .ipynb |
| 14 | The DFT, the FFT and discrete-time random processes | Generated in code: Bracewell's short sequences, white noise, AR/MA/ARMA processes and Markov transition matrices | Colab · .ipynb |
| 15 | The discrete Hartley transform and the sine and cosine family | Generated in code: Bracewell's short sequences, the exponential and binomial examples, a plucked string and a first-order Markov process | Colab · .ipynb |
| 16 | Relatives of the Fourier transform: multidimensional, Hankel, Mellin, z, Abel, Radon, Hilbert, fractional | Generated in code: 2D Gaussians, a ball, Bessel functions, exponentials, AM and FM signals and Radon projections | Colab · .ipynb |
| 17 | The Laplace transform: strips of convergence, transient response, initial-value problems | Generated in code: exponentials, LR, RC and RLC circuits, second-order differential equations and a rational function with three poles | Colab · .ipynb |
| 18 | Antennas and optics: apertures, angular spectrum, transfer functions and diffraction | Generated in code: uniform and tapered apertures, antenna arrays, circular apertures, a Gaussian beam and evanescent waves | Colab · .ipynb |
| 19 | Heat conduction and diffusion: the equation, Green's function, the electrical analogy | Generated in code: the Gaussian solution of the diffusion equation, its convolution with an initial distribution, sinusoidal decay, the third-order line, the complex characteristic impedance | Colab · .ipynb |
| 20 | Dynamic power spectra, the wavelet transform and the Wigner distribution | Generated in code: a gliding-tone (chirp) signal, constant-bandwidth and constant-Q filter banks, a Gaussian Gabor window, a dilated wavelet, a chirplet, and the Wigner distribution of an impulse, a chirp, a cosine wave and two impulses | Colab · .ipynb |
| 21 | Statistical decision theory | Generated in code: a binary Gaussian test, a three-hypothesis MAP test, Bayes risk against the prior, Gaussian and exponential ROC curves, Wald sequential detection | Colab · .ipynb |
| 22 | Parameter estimation | Generated in code: the ML estimates of a Gaussian mean and variance, Bayes estimation for a random Gaussian parameter and a mixed discrete-continuous case, a check of the Cramér–Rao inequality, the best linear unbiased estimator, least-squares estimation | Colab · .ipynb |
| 23 | Wiener and Kalman filtering | Generated in code: verifying the orthogonality principle, unrealizable and realizable Wiener filters via spectral factorization, the discrete Wiener filter from the normal equations, the scalar Kalman filter via Monte Carlo simulation | Colab · .ipynb |
| 24 | The general Gaussian problem | Generated in code: the linear sufficient statistic and detection parameter for diagonal and nondiagonal covariance, diagonalizing the covariance matrix, the chi-square energy detector, the error probability of symmetric hypotheses | Colab · .ipynb |
| 25 | Waveform detection and estimation | Generated in code: the binary matched filter, the general binary test with a correlation coefficient, M-ary orthogonal detection, maximum likelihood estimation via a correlator, the Bessel-function likelihood ratio for a random phase | Colab · .ipynb |
| 26 | Adaptive thresholding: CFAR detection | Generated in code: the sensitivity of $P_F$ for a fixed threshold, the CA-CFAR detector ($P_F,P_D$ in closed form), the Swerling chi-square-family densities, GO-CFAR and SO-CFAR at a clutter edge, the AND/OR fusion rules for distributed CFAR | Colab · .ipynb |