Main Content

Control System Designer

Design single-input, single-output (SISO) controllers


The Control System Designer app lets you design single-input, single-output (SISO) controllers for feedback systems modeled in MATLAB® or Simulink® (requires Simulink Control Design™ software).

Using this app, you can:

  • Design controllers using:

    • Interactive Bode, root locus, and Nichols graphical editors for adding, modifying, and removing controller poles, zeros, and gains.

    • Automated PID, LQG, or IMC tuning.

    • Optimization-based tuning (requires Simulink Design Optimization™ software).

    • Automated loop shaping (requires Robust Control Toolbox™ software).

  • Tune compensators for single-loop or multiloop control architectures.

  • Analyze control system designs using time-domain and frequency-domain responses, such as step responses and pole-zero maps.

  • Compare response plots for multiple control system designs.

  • Design controllers for multimodel control applications.

Control System Designer app

Open the Control System Designer App

  • MATLAB Toolstrip: On the Apps tab, under Control System Design and Analysis, click the app icon.

  • MATLAB command prompt: Enter controlSystemDesigner.

  • Simulink Toolstrip: On the Apps tab, under Control Systems, click the app icon.

Programmatic Use

expand all

controlSystemDesigner opens the Control System Designer app using the following default control architecture:

The architecture consists of the LTI objects:

  • G — Plant model

  • C — Compensator

  • H — Sensor model

  • F — Prefilter

By default, the app configures each of these models as a unit gain.

controlSystemDesigner(plant) initializes the plant, G, to plant. plant can be any SISO LTI model created with ss, tf, zpk or frd, or an array of such models.

controlSystemDesigner(plant,comp) initializes the compensator, C, to the SISO LTI model comp.

controlSystemDesigner(plant,comp,sensor) initializes the sensor model, H, to sensor. sensor can be any SISO LTI model or an array of such models. If you specify both plant and sensor as LTI model arrays, the lengths of the arrays must match.

controlSystemDesigner(plant,comp,sensor,prefilt) initializes the prefilter model, F, to the SISO LTI model prefilt.

controlSystemDesigner(views) opens the app and specifies the initial graphical editor configuration. views can be any of the following character vectors, or a cell array of multiple character vectors.

  • 'rlocus' — Root locus editor

  • 'bode' — Open-loop Bode Editor

  • 'nichols' — Open-loop Nichols Editor

  • 'filter' — Bode Editor for the closed-loop response from prefilter input to the plant output

In addition to opening the specified graphical editors, the app plots the closed-loop, input-output step response.

controlSystemDesigner(views,plant,comp,sensor,prefilt) specifies the initial plot configuration and initializes the plant, compensator, sensor, and prefilter using the specified models. If a model is omitted, the app uses the default value.

controlSystemDesigner(initData) opens the app and initializes the system configuration using the initialization data structure initdata. To create initdata, use sisoinit.

controlSystemDesigner(sessionFile) opens the app and loads a previously saved session. sessionFile is the name of a session data file on the MATLAB path. This data includes the current system architecture and plot configuration, and any designs and responses saved in the Data Browser.

To save a session, in the Control System Designer app, on the Control System tab, click Save Session.

Version History

Introduced in R2015a

expand all

See Also