pyncbt
pyncbt is an open-source Python library for Non-iterative Correlation-based Tuning (NCbT), a data-driven controller design method for discrete-time SISO LTI systems.
The library enables direct computation of fixed-structure controllers from input–output data, without explicit plant identification or iterative optimization.
Key features
- Non-iterative data-driven controller tuning
- Support for open-loop and closed-loop datasets
- Instrumental-variable-based noise rejection
- Reproducible examples and benchmarks
- Designed for research, teaching, and experimental setups
Typical workflow
- Collect input–output data (simulation or experiment)
- Choose a reference model and controller structure
- Estimate weighting filter and instruments
- Compute controller parameters via least squares
When to use pyncbt?
- Rapid controller prototyping from experimental data
- Teaching data-driven control concepts
- Reproducible research and benchmarking
- Virtual or physical laboratory setups