Algorithms¶
This section explains the algorithms behind lattice-dsp. Start with
Choosing an algorithm if you are choosing an API by task. Start with the
concept map if the terminology is unfamiliar: it shows how Schur recursions,
Szegő polynomials, Christoffel-Darboux identities, all-pass completions,
Hankel/Padé approximation, and matrix/MIMO lattice filters fit together. The
emphasis is on stable recursive parameterizations and on multichannel
extensions that are uncommon in Python-first DSP packages.
The scalar path starts with reflection/PARCOR coefficients and lattice-ladder IIR realizations. The adaptive path uses those coordinates to demonstrate recursive identification without treating denominator coefficients as free, unconstrained parameters. The H∞/minimax LMS tutorial adds a complementary robust-filtering viewpoint: adaptive filters can be judged by worst-case disturbance energy gain, not only average squared error. The spectral path connects AR/Burg/Levinson tools to periodogram and Capon diagnostics. The model-reduction path explains why Hankel operators, Nehari approximation, and AAK theory motivate the finite-section SISO reduction APIs. The matrix/MIMO path explores matrix all-pass, paraunitary, and multichannel AR examples as tutorial and diagnostic material.
- The lattice DSP concept map
- How the classical ideas fit together
- 1. The core object: a stable recursive filter
- 2. Schur recursion: stability by reflection coefficients
- 3. Szegő polynomials: the orthogonal-polynomial view
- 4. Christoffel-Darboux: why prediction errors and kernels appear
- 5. Orthogonal filters: lattice stages as rotations/reflections
- 6. All-pass completion: from a stable denominator to a lossless system
- 7. Hankel forms and Padé: rational approximation and model reduction
- 8. Matrix/MIMO generalization: contractions replace scalar coefficients
- 9. Where each concept appears in the package
- Suggested reading order
- References
- Scalar lattice and lattice-ladder IIR filters
- Adaptive lattice filters: NLMS and RLS
- LMS as a minimax robust filter
- AR estimation: autocorrelation, Levinson-Durbin, and Burg
- Spectral diagnostics: periodogram, AR, Burg, and Capon
- Model reduction, Hankel operators, Nehari, and AAK
- Why model reduction is subtle for IIR filters
- The Hankel viewpoint
- Nehari approximation
- AAK theory
- Exact rational-tail validation
- What is implemented now
- Why speedups can be large for many poles
- How this differs from the baseline benchmark
- Padé, Hankel, and local moment matching
- Why this matters for the package niche
- Implemented model-reduction stack
- Tutorial outputs
- Finite candidate selection
- High-level finite-section reduction helper
- MIMO stress examples and tangential-Schur diagnostics
- MIMO to matrix-lattice bridge diagnostics
- Multichannel AR and block Levinson
- Matrix lattice all-pass filters
- Motivation
- Stage block construction
- Stable parameter generation and projection
- Causality status
- Frequency response and runtime
- Streaming coupled filtering and finite-record adjoints
- Diagonal MIMO sanity check
- Advanced context: tangential Schur and Potapov–Blaschke factors
- Finite block-Hankel MIMO reduction
- Why this is useful
- Relevant APIs
- Examples
- References
- Tangential Schur and J-inner diagnostics
- Problem represented by the API
- Pick certificate
- Residual checks
- Constant-solution sanity path
- J-inner factor diagnostics
- Potapov–Blaschke factors versus lossless filters
- Schur parameters and scope versus manifold algorithms
- RKHS interpretation of the Pick certificate
- Deep verification suite
- Data-use status
- Verification examples
- Model-reduction stress-case connection
- Benchmark connection
- Tangential Schur verification map
- MIMO verification map
- Streaming and block processing