Small MATLAB/Simulink projects on adaptive control and on a few related estimation problems: a model-reference adaptive controller for an active suspension, the textbook MRAC example for a second-order plant, a harmonic-tracker (observer-based) analysis for grid signals, and a coupled PDE/ODE thermal simulation used as a control-oriented modelling exercise.
The projects are self-contained: each folder has an initialization script that fills the base
workspace and, where present, a Simulink model to run afterwards. No external library is
required, except that adaptive_control_active_suspension uses a small custom Simscape
component (+suspension_single_mass), which is compiled locally with ssc_build.
| Folder | Content |
|---|---|
adaptive_control_active_suspension |
MRAC of a single-mass active suspension (quarter-car style) with a speed-bump disturbance, a road-profile observer and a Kalman filter variant |
adaptive_control_example_2_2 |
Model-reference adaptive control of a double integrator (mass), reference model with prescribed poles, plus a state observer |
harmonics_tracker_analysis |
Discrete-time design of resonant PI, SOGI, phase-shift filter, DDSRF-PLL and first-harmonic tracker (FHT) observers for 50 Hz / 400 Hz signals |
pde_ode_ctrl |
Explicit finite-difference simulation of a 1D heat-conduction bar (PDE) coupled with a lumped heater (ODE) |
Each folder has its own README.
init_*.m/init_model.mscripts useclear all; close all; clcat the top, then define the plant, the reference model and the controller gains; run them before opening the.slx.- Continuous-time designs are discretized explicitly in the scripts (forward Euler or
expm), so that the same gains can be reused in fixed-step Simulink blocks. - Figures in the plotting scripts use LaTeX labels and are exported with
print -deps2.