LMI-Based Multirate Kalman Filter Design
Versión 1.0.2 (19,5 KB) por
Hiroshi Okajima
This package provides MATLAB implementations for optimal Kalman filter design in multirate systems.
OVERVIEW
This package provides MATLAB implementations for optimal Kalman filter design in multirate systems where sensors operate at different sampling rates. The code uses Linear Matrix Inequality (LMI) optimization with cyclic reformulation to handle the challenging case where measurement noise covariance becomes semidefinite (not positive definite).
Key innovation: Standard DARE-based Kalman filter methods fail when the measurement noise covariance R is singular. This LMI-based approach naturally handles semidefinite R through dual LQR formulation, enabling stable and optimal filter design.
MAIN FEATURES
- Handles semidefinite measurement noise covariance (R ≽ 0)
- Unified LMI framework for multiple design objectives
- Optimal Kalman filter design minimizing estimation error
- Multi-objective design with eigenvalue placement (guaranteed convergence rate)
- Multi-objective design with l2-induced norm constraint (robust worst-case performance)
- Offline computation of periodic steady-state Kalman gains
- Trade-off analysis tools for performance vs robustness/convergence
APPLICATION EXAMPLE
Automotive navigation system fusing GPS (1 Hz) and wheel speed sensor (10 Hz):
- State: [position; velocity; acceleration]
- Achieves position RMSE of 0.600 m and velocity RMSE of 0.268 m/s
- Handles intermittent GPS measurements naturally
INCLUDED FILES
1. MultirateKF_LMI_Rcyc_success_02.m
- Basic optimal Kalman filter design
- Minimizes estimation error covariance
- Includes simulation with automotive navigation example
- Outputs: periodic gains, RMSE performance, stability analysis
2. MultirateKF_02_eig.m
- Multi-objective design with eigenvalue placement
- Guarantees convergence rate |λ| < r_bar
- Trade-off analysis: performance vs convergence speed
- Outputs: trade-off curves, comparative gain analysis
3. MultirateKF_03_l2.m
- Multi-objective design with l2-induced norm constraint
- Limits worst-case disturbance amplification ||G||_l2 < γ_bar
- Trade-off analysis: average vs worst-case performance
- Outputs: trade-off curves, robustness comparison
QUICK START
Simply run any of the three main scripts in MATLAB:
>> MultirateKF_LMI_Rcyc_success_02 % Basic optimal design
>> MultirateKF_02_eig % With eigenvalue constraints
>> MultirateKF_03_l2 % With l2-induced norm constraints
Each script is self-contained and includes:
- System definition (automotive navigation example)
- Cyclic reformulation construction
- LMI-based filter design
- Simulation and visualization
- Performance analysis
TECHNICAL BACKGROUND
In multirate systems, the measurement equation is:
y(k) = S_k * C * x(k) + S_k * v(k)
where S_k is a diagonal selection matrix indicating sensor availability. This leads to periodic time-varying dynamics even when the plant is time-invariant.
Cyclic reformulation transforms the periodic system into time-invariant form:
x̌(k+1) = Ǎ * x̌(k) + B̌ * u(k) + w̌(k)
y̌(k) = Č * x̌(k) + v̌(k)
However, the cyclic measurement noise covariance becomes:
Ř_cyc = diag(S_0*R*S_0^T, ..., S_{N-1}*R*S_{N-1}*T)
When sensors are unavailable (S_k has zeros), Ř_cyc is semidefinite, not positive definite. Standard DARE solvers require positive definite R and will fail.
The LMI approach reformulates the problem using dual LQR theory and solves via semidefinite programming, naturally handling the semidefinite covariance.
UNIFIED LMI STRUCTURE
All three design methods share a common block matrix structure:
[X, XA+YC, XQ^{1/2}, YR^{1/2}]
[*, (2,2), 0, 0 ]
[*, 0, (3,3), 0 ] > 0
[*, 0, 0, (4,4) ]
The (2,2), (3,3), (4,4) blocks change based on design objective:
- Optimal Kalman: (2,2)=X, (3,3)=I, (4,4)=I
- Eigenvalue: (2,2)=r²X, (3,3)=I, (4,4)=I
- l2-induced norm: (2,2)=X-I, (3,3)=γ²I, (4,4)=γ²I
Variables: X (Lyapunov matrix, X = P^{-1}), Y = -XL (observer gain)
Objective: minimize trace(W) where W ≽ X^{-1}
Gain recovery: L = -X^{-1} * Y
REQUIREMENTS
- MATLAB R2020b or later
- Robust Control Toolbox (for LMI optimization via mincx)
- Control System Toolbox (for basic system analysis)
RESULTS SUMMARY
Automotive navigation example (GPS 1Hz + wheel speed 10Hz):
- Position RMSE: 0.600 m
- Velocity RMSE: 0.268 m/s
- Acceleration RMSE: 1.165 m/s²
- Closed-loop stability: max|λ| = 0.967
Trade-off analysis (eigenvalue placement):
- Relaxed constraint (r̄=0.90): 128% increase in trace(W)
- Strict constraint (r̄=0.75): 2237% increase in trace(W)
Conclusion: Faster convergence requires significant performance sacrifice
Trade-off analysis (l2-induced norm):
- Moderate constraint (γ̄=1.5×γ_opt): 28% increase in trace(W)
- Tight constraint (γ̄=1.01×γ_opt): 92% increase in trace(W)
Conclusion: Better worst-case robustness moderately degrades average performance
RELATED PUBLICATION
This code accompanies the paper:
H. Okajima, "LMI Optimization Based Multirate Steady-State Kalman Filter Design,"
ArXiv, IEEE Access (submitted to)
GitHub Repository:
https://github.com/Hiroshi-Okajima/multirate-kalman-filter
LICENSE
CC BY 4.0 - Creative Commons Attribution 4.0 International
You are free to share and adapt with appropriate attribution.
AUTHOR
Hiroshi Okajima
Graduate School of Science and Technology
Kumamoto University, Japan
Email: okajima@cs.kumamoto-u.ac.jp
ACKNOWLEDGMENTS
Code documentation created with assistance from Claude (Anthropic). All technical content, research methodology, and results are the author's original work.
Citar como
Hiroshi Okajima (2026). LMI-Based Multirate Kalman Filter Design (https://es.mathworks.com/matlabcentral/fileexchange/183162-lmi-based-multirate-kalman-filter-design), MATLAB Central File Exchange. Recuperado .
Compatibilidad con la versión de MATLAB
Se creó con
R2023b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS LinuxEtiquetas
Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.
