This repository contains MATLAB codes and technical documents for a systematic comparison of three observers for nonlinear systems of the form
[ \dot{x} = A x + b\big(f(x)+g(x)u+d(t)\big), \qquad y = c^T x. ]
The observers studied in this project are:
- Adaptive Neural Observer (ANO)
- Extended Kalman Filter (EKF)
- High-Gain Observer (HGO)
An important outcome of the benchmark is that the ANO does not use the true nonlinear functions (f) and (g), while EKF and HGO are implemented with explicit nonlinear model knowledge. Despite this, ANO achieves comparable and often better performance in the tested scenarios.
Overall results on 63 generated scenarios:
- ANO: 62/63 full convergence (98.4%)
- EKF: 60/63 full convergence (95.2%)
- HGO: 46/63 full convergence (73.0%)
Under high noise:
- ANO: 31/32 full convergence (96.9%)
- EKF: 29/32 full convergence (90.6%)
- HGO: 19/32 full convergence (59.4%)
src/ANO/: implementation of the Adaptive Neural Observersrc/EKF/: implementation of the Extended Kalman Filtersrc/HGO/: implementation of the High-Gain Observertests/: simulation and benchmark scriptsdocs/: technical and comparative documents
docs/Technical details of ANO.pdfdocs/Theoretical foundation of observers.pdfdocs/Comparative analysis of observers.pdf
tests/run_observer.mtests/test1.mtests/test2.m
Roozbeh Abolpour