Professor, Faculty of Advanced Science and Technology, Kumamoto University, Japan Control theory and control engineering: robust control (Model Error Compensator), LMI-based design, multi-rate systems, state estimation, system identification.
This page is an index of reproducible code for my papers and teaching materials. Each research entry links the paper, the code, and an explanatory article.
- Lab web: control-theory.com | Publications: full list
- Google Scholar | ORCID | Researchmap | ResearchGate
- Blog (English articles): blog.control-theory.com | MATLAB File Exchange: H. Okajima
- YouTube: Control Engineering Channel (Japanese, 10,000+ subscribers) | English channel | X: @control_eng_ch
Most repositories include an "Open in MATLAB Online" button. Python versions are noted where available.
MEC is a compensator structure that adds robustness to an existing control system without redesigning the base controller. It minimizes the effect of model error and disturbances in the input–output relation and applies to nonlinear, time-delay, non-minimum-phase, MIMO, and multi-rate systems.
- Overview paper: H. Okajima, Model Error Compensator for adding Robustness toward Existing Control, IFAC World Congress 2023
- Research page: MEC | Blog hub: MEC guide | YouTube (14 min, English)
| Topic | Code | Paper |
|---|---|---|
| MEC design (polytopic uncertainty, PSO + LMI) | Robust-control-MATLAB_MEC01 |
see repository README |
| MEC with sensor noise | MATLAB_MEC02_sensor_noise |
see repository README |
| MEC with parallel feed-forward compensator (non-minimum-phase zeros) | MATLAB_MEC03_withPFC |
Ichimasa, Okajima, Okumura, Matsunaga, SICE JCMSI 10(5), 2017 (Open Access) |
| MEC for nonlinear systems | non_linear_control_MATLAB_MEC04 |
see repository README |
| Signal limitation filter | MATLAB_MEC05_signal_limitation_filter |
see repository README |
| Robust vehicle control with MEC | Vehicle_control_MEC05 |
see repository README |
Sensors and actuators in practice run at different sampling rates. Cyclic reformulation turns a multi-rate system into a time-invariant one, enabling LMI-based observer, Kalman filter, controller, and identification design.
- Research page: Multi-rate System
| Topic | Code | Paper |
|---|---|---|
| LMI-based multi-rate steady-state Kalman filter | multirate-kalman-filter (MATLAB / Python) · File Exchange | H. Okajima, IEEE Access, 2026 (Open Access) · arXiv:2602.01537 · Blog |
| Multi-rate state observer (l2-induced norm) | Code Ocean capsule · MATLAB_state_observer | Okajima, Hosoe, Hagiwara, IEEE Access, 2023 (Open Access) |
| System identification under multi-rate sensing | MATLAB_system_identification | Okajima, Furukawa, Matsunaga, J. Robotics and Mechatronics 37(5), 2025 (Open Access) · arXiv:2503.12750 · Blog |
- Research page: System Identification | Blog hub: From Data to Dynamical Models
| Topic | Code | Paper |
|---|---|---|
| Cyclic-reformulation-based identification of LPTV systems | MATLAB_system_identification | Okajima, Fujimoto, Oku, Kondo, IEEE Access, 2025 (Open Access) |
| Classical parametric methods (ARX / ARMAX / OE / BJ, PEM), subspace, kernel regularization — tutorial codes | MATLAB_system_identification | — |
- Research page: State Estimation | MCV Observer | Blog hub: State Observer guide
| Topic | Code | Paper |
|---|---|---|
| Luenberger / Kalman / H∞ / multi-rate / MCV observers — unified code collection | MATLAB_state_observer · File Exchange: Multi-Rate Observer, MCV Observer | — |
| MCV (Median of Candidate Vectors) observer for outliers — original paper code | MATLAB_state_estimation | Okajima, Kaneda, Matsunaga, SICE JCMSI 14(1), 2021 (Open Access) |
A dynamic quantizer is a linear difference-equation filter that converts continuous-valued signals into discrete-valued ones so that the closed-loop input–output behavior is preserved as closely as possible.
| Topic | Code | Paper |
|---|---|---|
| Dynamic quantizer design under communication-rate constraints | MATLAB_Dynamic_Quantizer01 |
Okajima, Sawada, Matsunaga, IEEE Trans. Automatic Control 61(10), 2016 |
- Research page: Dynamic Quantizer
Interactive tools run in a browser; MATLAB codes have Live Script versions. Japanese-language video collections are listed on the Japanese page.
| Material | Repository | Notes |
|---|---|---|
| Interactive control simulators (HTML + JS, 18 tools) | control-interactive-tools · Run online (GitHub Pages) | 1st/2nd-order response, Bode, PID, pole placement, observer, crane, ACC, inverted pendulum, plus games for kids |
| State feedback, pole placement, LQR, observer-based control | control_state_feedback (MATLAB / Python) | Blog hub: State Feedback Control guide |
| Linear Matrix Inequalities (4 codes: stability, discrete, l2 performance, design) | Linear-matrix-inequality-and-control-MATLAB_fandamental_control |
Education page · Blog · YouTube |
| Control animations (MATLAB → mp4: crane, state feedback, PID) | MATLAB_animation | |
| Fundamental control Live Scripts (transfer function & state space) | MATLAB_fandamental_control-LiveScriptFiles- |
Video portals (Japanese): Control engineering portal (500+ videos) · Electrical/electronic portal (200 videos)
Each repository README states the corresponding paper. Please cite the paper; a repository link may be added as a secondary reference.
