332:505 Control Theory I

Describing Function Example

We did an example in lecture in which we predicted the existence or absence of limit cycles in a specific nonlinear feedback system. The transfer function of the linear element had poles at 0, -1, and -2. We predicted that if they occurred, limit cycles would have frequency sqrt(2). We then determined the dscribing function for a sign function and used it to predict that we would see a limit cycle with and amplitude 2/(3 pi). We repeated the analysis for a saturation element that constrained its output to the range [-1,1] and predicted that in that case no limit cycle would occur.

To test our predictions, I prepared a simulink block diagram called dfe.mdl. If you copy this file to your own computer, you can use Matlab/Simulink to see the simulation results for the sign function. Here are some brief instructions that should allow you to run the simulations yourself.

    Start Matlab, then at the Matlab prompt ">>", type "dfe". A window containing the model should pop up on your screen.
    To run a simulation, first double click on each of the scope icons to open them. These are the blocks labeled "dfe1 u", "dfe1 f(u)", and "dfe1 y". A window should pop up on your screen for each block. The signal corresponding to the named variable will be plotted as a function of time in the window.
    Then, in the "Simulation" pull-down menu, select "Start". You should then see the limit cycle behavior in the resulting plots.
In order to excite the limit cycle behavior, I had to give the system some nominal input, so I used a sine wave of (small) amplitude 0.001 and frequency 2 rad/s (not the predicted limit cycle frequency). You can see this by double clicking on the "Sine Wave" block. To change the parameters of any block, double click on that block.

Now, try switching the sign block to a saturation block and see what happens. To do this, follow the steps below.

    At the Matlab prompt type "simulink".
    In the graphical user interface that pops up, double clock on the "Discontinuities" block.
    Select the "Saturation" block and drag it into the window of the "dfe" block diagram.
    Clock on the "Sign" block and press the delete key.
    Drag the "Saturation" block into the empty spot in the block diagram. If the signal paths don't automatically connect, reposition the block until they do. If you're not sure whether they connected, drag the block out of place to see if the connections follow.

You should be able to recreate the analysis that we did in class for these systems and verify that the frequency and amplitude of the limit cycle obtained for the system containing the sign block match your predictions.

Page last modified 07/18/07.