Linear Time-Invariant System Model
April 23, 2026 · View on GitHub
Overview & Motivation
A Linear Time-Invariant (LTI) system model is the fundamental mathematical object shared across state-space control, estimation, and signal processing. It captures the dynamics of a physical plant — a motor, a pendulum, a vehicle — in a compact matrix representation that enables the systematic application of optimal control and filtering theory.
Representing an LTI model as a first-class value type makes it possible to pass a single plant description into algorithms such as the Kalman Filter, LQR, LQG, and MPC, eliminating the error-prone practice of supplying the same system matrices (A, B, C, D) separately to each component.
Mathematical Theory
Discrete-Time State-Space Representation
A discrete-time LTI system with state , input , and output is described by two equations:
State equation:
Output equation:
where:
- is the state transition matrix
- is the input matrix (sometimes called the control matrix)
- is the output matrix (sometimes called the measurement matrix)
- is the feedthrough matrix (often zero for strictly proper systems)
Special Cases
Full-state output (, ): When all states are directly observable (e.g., a simulation or a state-feedback controller with perfect sensing), the output equation collapses to . This is the typical case for LQR.
Autonomous system (, ): A system driven only by initial conditions and process noise. Used in Kalman smoothing and spectral analysis.
Discretisation
Continuous-time plants described by must be discretised before use in digital controllers:
where is the sampling period. For small and stable , the forward-Euler approximation , may be used.
Stability and Controllability
An LTI model is:
- Stable if all eigenvalues of lie strictly inside the unit disc ( for discrete-time systems).
- Controllable if the controllability matrix has full row rank.
- Observable if the observability matrix has full column rank.
Controllability and observability are prerequisites for LQR and Kalman Filter stability, respectively.
Complexity Analysis
| Operation | Time | Space | Notes |
|---|---|---|---|
| Step (state) | One matrix-vector multiply per term | ||
| Output | One matrix-vector multiply per term | ||
| Construction | Value-type struct, no allocation |
Numerical Considerations
- Condition number of A: Poorly conditioned amplifies numerical errors during iterative integration. Monitor the spectral radius of to ensure stability is not lost due to finite-precision arithmetic.
- Feedthrough matrix D: For most physical systems (strictly proper). A nonzero requires care in closed-loop analysis since direct input-to-output coupling may cause algebraic loops.
- Fixed-point use: LTI matrices are suitable for Q15/Q31 when all matrix entries and intermediate products remain within . For real physical systems with gains exceeding unity, scale the representation (e.g., normalise state and input ranges) before using fixed-point arithmetic.
- Identity construction: When building the case (full-state output), use $0.9999 rather than \1.0 for Q15 compatibility, since \1.0$ is not representable in the Q15 format.
Pitfalls & Edge Cases
- Time-varying systems: The LTI model is invalid for systems whose matrices , , , depend on time or operating point. Use scheduling or re-linearisation for such plants.
- Nonlinear plants: State-space linearisation is valid only in a neighbourhood of the operating point. Large deviations from the linearisation point invalidate the model.
- Sampling rate: Discrete-time LTI models are sampling-rate-specific. Changing requires re-discretisation and possibly re-tuning of dependent controllers and filters.
Step-by-Step Walkthrough
Consider a double integrator (position and velocity state, force input, position output) with sample period :
Continuous-time plant: ,
Step 1 — Discretise using forward-Euler (, ):
Step 2 — Simulate one step from with :
Step 3 — Compute output at :
The position measurement is $1.0D = 0$ and noise is excluded here).
Variants & Generalizations
- Full-state output (, ): All states are directly available as outputs. Used in LQR with perfect sensing. Constructed via the
WithFullStateOutputfactory, which sets to the identity. - Autonomous system (): No input; the system evolves freely from initial conditions. Used in Kalman smoothing and spectral analysis (e.g., auto-regressive models).
- Strictly proper systems (): Most physical plants have zero feedthrough; the matrix is omitted from the signal path. The LTI representation preserves for generality.
- Continuous-time counterpart: Described by , . Requires discretisation before use in digital controllers.
- Multi-rate LTI: Different sensors and actuators may operate at different sample rates; a lifted LTI representation can handle periodic multi-rate systems.
Applications
- Digital control design: The LTI model is the canonical starting point for controller synthesis (LQR, MPC, pole placement). A linearised plant description is the single shared artefact that all design tools consume.
- Kalman Filter initialisation: The matrices are passed directly into the Kalman Filter to define the predict and update equations, ensuring consistency between plant and estimator.
- Simulation and validation: Monte Carlo simulations propagate an LTI model forward to verify closed-loop stability margins, noise sensitivity, and disturbance rejection before deployment on hardware.
- System identification: Identified discrete-time state-space models from input-output data (e.g., via subspace identification or prediction-error methods) are naturally expressed as LTI structs.
- Transfer function analysis: The -domain transfer function can be extracted from the LTI matrices for frequency-response computation and Bode plotting.
Connections to Other Algorithms
- LQR: Uses the pair to solve the DARE and compute the optimal state-feedback gain.
- Kalman Filter: Uses to predict the next state and relate states to measurements.
- LQG: Composes both — for the regulator and for the estimator.
- MPC: Uses to build the prediction model over a finite horizon.
- Kalman Smoother: Uses for the forward-backward pass in batch smoothing.
- DARE Solver: Receives as inputs to compute the Riccati solution.
References & Further Reading
- C.-T. Chen, Linear System Theory and Design, 4th ed., Oxford University Press, 2013. Chapters 4–5.
- R. E. Kalman, "Mathematical Description of Linear Dynamical Systems," SIAM Journal on Control, 1(2):152–192, 1963.
- G. F. Franklin, J. D. Powell, and A. Emami-Naeini, Feedback Control of Dynamic Systems, 8th ed., Pearson, 2019. Chapter 7.
- T. Kailath, Linear Systems, Prentice Hall, 1980. Comprehensive reference on state-space representations and transformations.
- K. J. Åström and B. Wittenmark, Computer-Controlled Systems: Theory and Design, 3rd ed., Dover, 2011. Chapter 3 (discretisation methods).