Erivelton's GSoC 2018


The Interactive Tool for Single Input Single Output (SISO) Linear Control System Design let you design SISO controllers for feedback system modeled in GNU Octave.

Currently, it presents the following functionalities:


To get the latest updates as they come, install sisotool from git. To download the repository execute the following from the command line:

git clone

To update to the latest version, go into your repository and execute:

git pull origin master

Open GNU Octave and go to the folder octave-control/TARGET. Then, run the following commands to install:

pkg install control-3.1.0_gsoc.tar.gz

After installation, you need to load the control package and finally run the sisotool as following:

pkg load control

Run sisotool

sisotool (G) specifies the plant model G to be used in the SISO Tool. Here G is any linear model created with TF, ZPK, or SS.

sisotool (G, C, H, F) further specify values for the feedback compensator C, sensor H, and prefilter F. By default, C, H, and F are all unit gains.

sisotool (..., VIEWS) specifies the initial set of views for graphically editing C. You can set VIEWS to any of the following strings or combination of strings:


G = zpk([],[-10 -2],0.01);      % Plant
C = zpk([-2 -20], [0], 1000);   % Controller

sisotool(G,C, 'bode');
sisotool(G,C, 'locus','bode');

Additionally, the user can also add the plant at following edit box.

alternate text

Display Diagrams

Sisotool can show three different diagrams plus the step response which will be always displayed in the main tool. The interactive diagrams are: Root locus, Nyquist and Bode. The user can select the check box with the desired diagrams; Select the tab View or either using the shortcuts as showing in the following image:

alternate text

Design a Controller

In order to desing a controller, the user tool provides many options to support this task. The user can add, adjust and remove poles, zeros, gains, differentiator and integrator transfer function. Therefore the user can:

alternate text

Then, the user can add the feature to the desired position; adjust the position or delete the feature. Additionally, the user can open the Edit Controller Tool by clicking in the top of the page.

alternate text

Compare Controllers Performance

In order to compare the performance of two or more different control system designs, we need to salve all the desired compensators using the button Save. All the controllers will be saved and can be showed in the tab "Controller/Desing.../..."

alternate text

Control Architecture

In sisotool you can also specify multiple models for any plant or sensor using an array of LTI models (see Model Arrays). This tool can be execute in the following way. The front-end of this functionality is working; however, it still need a bit work in order to upload the LTI system.

alternate text


If you have a question about installation or sisotool in general, feel free to contact myself. In addition, Octave mailing list is an excellent source of community support.

If you think there’s a bug or you would like to request a feature, please open an issue ticket.

Theme created by Jim Crist. Licensed under Creative Commons.

Find me on Twitter, GitHub, old personal webpage, or shoot me an email.