MATLAB Examples

Synchronous Machine and Regulator

This example shows the nonlinear control of a hydraulic turbine and a synchronous generator.

Aime Francis Okou and Louis-A. Dessaint (Ecole de technologie superieure, Montreal)



This case study investigates the application of a multi-input multi-output nonlinear controller to a system consisting of a hydraulic turbine and a synchronous generator connected to an infinite bus. The complete system is modeled using Simscape™ Power Systems™ and Simulink® blocks. The controller is based on a feedback linearization scheme. Its main goal is to control the rotor angle as well as the terminal voltage, to improve the stability properties, and to obtain good dynamic response.

The performance of the nonlinear controller is tested on the nonlinear turbine-generator system. The controller and turbine are simulated using Simulink blocks while the generator is represented by the Synchronous Machine block from the powerlib library. A three-phase short-circuit is simulated on the load busbar and the fault is cleared after 100 ms.


1. Start the simulation. Observe the field voltage Ef, power angle delta, and terminal voltage Vt.

2. You can observe how the stabilization of Vt is obtained in less than 0.25 seconds with this controller. The load angle takes longer to stabilize, because the time constant of the mechanical part of the system is much larger than the electrical time constants.

3. If you want to compare results with classical regulators, replace the nonlinear controller with the same excitation system and Hydraulic Turbine and Governor block used in the psbturbine example. You should notice that the system takes longer to stabilize than in this case study.


Akhrif O., A.F. Okou, L.A. Dessaint, and R. Champagne, "Application of a Multivariable Feedback Linearization Scheme for Rotor Angle Stability and Voltage Regulation of Power Systems", IEEE® Transactions on Power Systems, vol. 14, no. 2, May 1999, pp. 620-628.