This readme file was generated on *2026-05-09* by *Maximilian Schütte*

# GENERAL INFORMATION
**Project name:** Optimal Robust Distributed Control Towards Attosecond Synchronization Systems - Model, Analysis, and Synthesis Code  
**doi:** 10.15480/882.17065  
**Version:** v1.0.0  
**Short description:** Dynamic model building, robust analysis and robust controller synthesis MATLAB code for synchronization systems.

___

# PROJECT OVERVIEW
This project includes code that:
- implements methods developed or referenced in [1].
- produces simulation results published in [1].

This content is relevant for researchers with background in control theory aiming to analyse or optimize the performance of synchronization systems.

In particular, this code includes:
1) Dynamic system modelling code for key components of the DESY laser-based synchronization system: piezo actuated mode-locked lasers in electro-otpical phase-locked loops (PLLs) and for piezo actuated time-of-flight stabilized optical fibres. Exemplary system parameters derived from [2] are supplied.
2) Control theoretic analysis code for robust H2-performance in terms of linear-matrix inequalities (LMIs) and integral-quadartic constraints (IQCs). In particular for linear-time-varying parametric uncertainty and time delay uncertainty.
3) Feedback controller synthesis code using IQC, LMI and nonsmooth optimization methods. Modifications to proprietary Mathworks code are not released due to licensing issues, but are described in [1]
4) Simulation code for case study results presented in [1].

Some files in `util` are from IQClab [3] and need to be replaced with the same file from the original project.

___

# USAGE
**Tested with:**
- MATLAB 2025b
- YALMIP R20250626
- MOSEK 11

**Step by step instructions:**
1) Add `models` and `synthesis` directories to the MATLAB path
2) Use code from `models` to build dynamic system models for PLLs and stabilized timing links.
3) Use code from `synthesis` to develop robust controllers for the developed models.
4) use code from `analysis` to analyse robustness properties of the modelled open- or closed-loop system.
5) run code from `studies` to reproduce results published in [1].

**Known limitations:**
- Certain parameters are known to render the dynamic system and/or optimization problems numerically instable, see [1]. Results may not be perfectly reproducible across different systems and computing architectures.

___

# LICENSE
**Software License:** GNU General Public License Version 3 (GPL v3) (unless otherwise noted in document header)

Code in `util` is in part obtained from the Mathworks MATLAB community file exchange (see file header). The respective BSD license applies.

___

# CONTACT INFORMATION
**Maximilian Schütte**  
Role: code developer, copyright owner  
ORCID: 0000-0002-4684-0633  
Institution: Deutsches Elektronen-Synchrotron DESY;Hamburg University of Technology  
Email: maximilian.schuette@desy.de

**Annika Eichler**  
Role: principal investigator  
ORCID: 0000-0003-3282-3135  
Institution: Deutsches Elektronen-Synchrotron DESY;Hamburg University of Technology  
Email: annika.eichler@desy.de;annika.eichler@tuhh.de

___

# ACKNOWLEDGEMENTS
**Publications using our software:**  
- [1] Maximilian Schütte - "Optimal Robust Distributed Control Towards Attosecond Synchronization Systems," doi:10.15480/882.17063, Verlag Dr. Hut, 2026.

**Project is available:** https://doi.org/10.15480/882.17065  
**Related relationships:** 
- [2] doi:10.15480/882.17064
- [3] J Veenman et al - "IQClab: A new IQC based toolbox for robustness analysis and control design," IFAC-PapersOnLine, Volume 54, Issue 8, 2021, Pages 69-74, ISSN 2405-8963, https://doi.org/10.1016/j.ifacol.2021.08.583.