Control System Toolbox

Key Features

  • Transfer-function, state-space, zero-pole-gain and frequency-response models of linear systems
  • Series, parallel, feedback, and general block-diagram connection of linear models
  • Step response, Nyquist plot, and other time-domain and frequency-domain tools for analyzing stability and performance measures
  • Root locus, Bode diagrams, LQR, LQG, and other classical and state-space control system design techniques
  • Automatic tuning of PID controllers
  • Model representation conversion, continuous-time model discretization, and low-order approximation of high-order systems
  • LAPACK and SLICOT algorithms optimized for accuracy and performance
Control System Designer app to interactively analyze, design, and tune controllers.
Control System Designer app (top) to interactively analyze, design, and tune controllers. Available tools include root locus, Bode, and step response plots (bottom).

Analyzing and Designing Control Systems

Linear control techniques are the foundation of control system design and analysis. Control System Toolbox lets you create and manipulate the linear models of your control system. Using interactive plots, you can analyze these models to gain insight into your control system's behavior, performance, and limitations. You can also systematically tune control system parameters using single-input/single-output (SISO) and multi-input/multi-output (MIMO) design techniques.

Linear models from Control System Toolbox can be used in other control design products, such as Robust Control Toolbox™ and Model Predictive Control Toolbox™. You can use Simulink Control Design™ together with Control System Toolbox for control system design and analysis in Simulink.

Tuning a PID controller with the PID Tuner app.
Tuning a PID controller C, defined by the equation, with the PID Tuner app. You can automatically calculate an initial design and then interactively adjust the response time to recompute PID gains.

Creating and Manipulating Linear Models

Control System Toolbox lets you create and manipulate linear models of your control system as objects. All standard model representations are supported, including transfer function, zero-pole-gain, explicit and descriptor state-space, and frequency-response data. Linear models can be SISO or MIMO, and continuous or discrete. You can represent PID controllers as PID objects. In addition, you can accurately model and simulate systems with time delays, including feedback loops with delays.

Control System Toolbox provides commands for:

  • Performing arithmetic on linear models
  • Building complex block diagrams by connecting simple models in series, parallel, or feedback
  • Discretizing continuous-time models
  • Computing low-order approximations of high-order models

Building a linear model of your plant is usually the first step in designing a control system. If no linear model is available, you can build one by fitting test data using System Identification Toolbox™, or by linearizing a Simulink model using Simulink Control Design. Once you have created a linear model, you can use Control System Toolbox to analyze it and design a controller.

MATLAB code for creating and analyzing a feedback loop with a controller and plant model.
MATLAB® code for creating and analyzing a feedback loop with controller C and plant model G. The plant is modeled as a first-order transfer function with a delay of T seconds.

Analyzing Models

Control System Toolbox provides an app and functions for analyzing linear models. Using the Linear System Analyzer app, you can view and compare the time and frequency responses of several linear models at once. You can also inspect key performance parameters, such as rise time, settling time, maximum overshoot, and stability margins. Available plots include step response, impulse response, Bode, Nichols, Nyquist, singular value, and zero-pole. You can simulate the response to user-defined inputs and initial conditions to further investigate system performance.

Linear System Analyzer app for analyzing linear models in the time and frequency domains.
The Linear System Analyzer app, for analyzing linear models in the time and frequency domains. You can compare several linear models at once using a variety of time-domain and frequency-domain plots.

Tuning Control Systems

Control System Toolbox lets you systematically tune control system parameters using SISO and MIMO design techniques.

Tuning PID Controllers

Control System Toolbox provides tools for manipulating and tuning PID controllers through the PID Tuner app or command-line functions. You can:

  • Use PID objects to represent continuous-time or discrete-time PID controllers in standard or parallel form
  • Automatically tune PID gains to balance performance and robustness
  • Specify tuning parameters, such as desired response time and phase margin

PID Control Design with Control System Toolbox
Design PID controllers using Control System Toolbox.

If a linear model of the plant is not available, you can identify a plant model from measured input-output data directly in the PID Tuner app using System Identification Toolbox.

PID Controller Tuning Based on Measured Input-Output Data
Identify a plant model from measured input-output data and use this model to tune PID Controller gains.


Tuning SISO Controllers

The Control System Designer app lets you the design and analyze SISO control systems. You can:

  • Design common control components, such as PIDs, lead/lag networks, and notch filters
  • Graphically tune SISO loops using classical tools, such as root locus, Bode diagrams, and Nichols charts
  • Monitor closed-loop responses and performance requirements in real time while tuning your controller
  • Evaluate design factors, such as choice of sample time and controller complexity

Control System Design with Control System Tuning App
Design control systems with the Control System Tuning app.

In addition to standard model representations, such as transfer function and frequency-response data, the Control System Designer app supports systems with time delays. You can also work with several plant models simultaneously to evaluate your control design for different operating conditions.

Simulink Control Design extends Control System Toolbox by enabling you to tune controllers in Simulink that consist of several SISO loops. You can close SISO loops sequentially, visualize loop interactions, and iteratively tune each loop for best overall performance. Simulink Control Design lets you export the tuned parameters directly to Simulink for further design validation through nonlinear simulation.

When used with Simulink Design Optimization™, the Control System Designer app lets you optimize the control system parameters to enforce time-based and frequency-based performance requirements. When used with Robust Control Toolbox, the app lets you automatically shape open-loop responses using H-infinity algorithms.

Nonlinear Plant Control at Different Operating Points
Design and analyze a controller for different operating points of a nonlinear plant simultaneously.

Tuning MIMO Controllers

Control System Toolbox supports established methods for MIMO design, including LQR/LQG and pole-placement algorithms. It also provides tools for designing observers, including Kalman filters.