The Describing Function
A Tool for Predicting Nonlinear System Oscillation
Why Nonlinear Analysis?
An Oscillating System
Another Nonlinearity - A Saturating Amplifier
    Saturating Amplifier Example
Summary
Problems
You are at: Nonlinear Systems - Oscillating Nonlinear Systems - The Describing Function
Click here to return to the Table of Contents


Introduction - Why Nonlinear Analysis?

        Control system analysis is based on the concept that the system is linear.  That's not always true, but the reason that designers do that is that there are very few analytical techniques that can be used to predict the behavior of nonlinear systems.  Prediction is the key here.  When control systems are designed it is imperative that users and customers know how the system will behave in all situations.  Linear analysis techniques are good in that way because you can guarantee stability, for example.  You would know that the system is stable and that the stability of the system was in no way dependent upon the conditions in the system, either the input(s) or the initial state of the system.

        Nonlinear systems present a problem in that regard.  Here are some facts about nonlinear systems.

        In this lesson we are going to examine a technique that will permit prediction of limit cycles in certain situations.


An Oscillating System

        We will begin by examining a very simple system.  The system is nonlinear and has the following characteristics.

Here is the system.

Under certain conditions this system will oscillate - i.e. exhibit a limit cycle.  We are going to determine conditions that will tell us when the system oscillates.  We will build on what we know about the system, and we will make a few assumptions about what might happen in the system.

        Let us consider a situation with no input to the system.  (We say that we have an autonomous system.)  Here is the whole list of things we will assume.

Now, it isn't obvious, but under those conditions, if the system oscillates, then the oscillations at the output of the closed loop system will be almost sinusoidal.  We need to work through the argument that leads to that conclusion.

        Let's start by asssuming that the system is oscillating.  Remember, we are working on the system shown below.

Assuming no input and a sinusoidal output, the input to the controller (the ideal relay) is a sinusoid.  That's the signal shown below.

Now, if the input signal to the ideal relay is a sinusoid, the output surely is not a sinusoid.  The output of the ideal relay is +A when the input is positive, and -A when the input is negative.  A is some constant.  The output is, in fact, a square wave.  Here is what it will look like.  In the example square wave, the output saturates at +10.5v and -10.5v, which is what you would get with a power operational amplifier with +12 and -12v supplies.

Now, you have to consider what happens to the square wave as it goes through the transfer function, G(s).  Remember that we are assuming that G(s) is the transfer function of a low-pass filter.  The periodic signal out of the ideal relay can be described by a Fourier Series.  If we have a square wave that "flips" between +A and -A, the Fourier series is given by:

What is important here is that the periodic signal - the square wave above - is composed of sinusoids at different frequencies and that G(s) is the transfer function of a low-pass filter.  Here's what we need to argue and be sure of.         Now, we are going to examine a particular system.  Here is the block diagram of the system.  This block diagram is taken from a Simulink block diagram that was used to calculate the response of the system.  (Note, in this system, the ideal relay had no dead zone, and the output amplitudes were +10.5 and -10.5, which would correspond to a saturating operational amplifier with 12v supplies.)

Now, using this block diagram (Simulink representation) it is possible to calculate the response of the system and get a graph of that response.  Here is the calculated response as shown on the scope in the diagram.

Notice that the response of the system is oscillatory.  And, that's with no input.  There are several interesting aspects of the oscillations.

Any analysis that we do for this system should explain the effects noted above.  We will try to work through how the situation above is achieved.

        First, let's examine the transfer function, G(s).  For this system, G(s) is given below.

This system has two time constants, an electrical time constant (faster) and a mechanical time constant (slower).

        Now, let's combine two of the things we have noticed here.

        Now, given all of the above, the first thing we are going to do is to compute the frequency at which the phase shifts by exactly -180o.  We have chosen the transfer function to be one where we can do that analytically (i.e. do a pencil and paper calculation).  Normally, you would probably have to use a Bode' plot for G(s) to determine that frequency.

        So, let's look at the transfer function again.  First, we will expand the denominator.  We do that because we will be better able to compute the point where phase shifts by exactly -180o.  (Click here if you want a the details on these computations in a shorter web page.)

        Since we are interested in frequency response we let s = jw.  Then the frequency response function, G(jw), becomes:

We want to compute the frequency at which the phase shifts by exactly -180o. Notice that we always get exactly -90o from the integrator term, so we need to compute the frequency for which we get  -90o from the quadratic term.  We'll get exactly -90o from the quadratic term when the real terms disappear.  To do that we must have:

-w2tetm+ 1 = 0

or:

This should give us the frequency of oscillation of the closed loop system.  Let's check that for the example system.  In the example system, we had:

Now, that's the frequency, but we need to know the amplitude as well.

        The amplitude of the oscillations can be computed fairly easily in this situation.  We know the Fourier Series of the relay output.  That is repeated below.

The fundamental is 4A/p.  Let us work on only the fundamental frequency component for a while.  That component is at a frequency of:

We can compute how the fundamental component changes as it passes through G(s).  Remember that the frequency response is given by:

And, at the oscillation frequency, wo, the magnitude of the frequency response can be computed as:

Then, note that at the oscillation frequency, wo, we have:

And, for the time constants for the example system, this works out to be 0.091.  That means that the output of G(s) will have a fundamental component with a magnitude of:

.091(4A/p)

For the system we simulated, we chose A = 10.5, which is about what you would get from a saturating operational amplifier with +12v and -12v supplies.  That yields an amplitude of 1.215v.  Comparing that to the response, the amplitude seems to be on the money.

So, it seems like we have a good method for predicting the magnitude and frequency of oscillations in this kind of system.  There are just a few unresolved questions.

        Let's get the first question out of the way.  Higher frequency components must be accounted for, and we haven't done that.  Since there is no component at twice the fundamental, let's look at the component at three times the fundamental.  At that frequency, the frequency response has a magnitude of .008.  Now, if we compute the magnitude of this component we have:

Magnitude of component at 3xfundamenal = .008(4A/3p)

= .036v

So, comparing the first few components of the output signal we have (after computing another point):
 

Output Freq
Magnitude
Fund
1.215v
3xFund
.036v
5xFund
.0057v

So, the output isn't a pure sine wave, but the harmonic content is not that large.  Our assumption that the output was sinusoidal was a fairly good assumption.

        So, our conclusion has to be that this is a reasonable way to predict oscillations in a system with an ideal relay.  Here are the main points in the argument.

That means that the block diagram of the system is the one below.

The process you use to analyze the system is as follows:


Other Nonlinearities

        If the nonlinearity is not a ideal relay, then the analysis above must be modified.  Another common situation would be a saturating amplifier.  In that case, the block diagram would look like the one below.

Now, if we want to determine whether the system oscillates we need to account for the saturating amplifier.  However, the output of the saturating amplifier is more complex than a square wave, and the Fourier Series for the output will now have a fundamental component that has a magnitude dependent upon the magnitude of the input sinusoid.  The problem now is to incorporate that fact into our analysis.

        Let's assume that there is a sinusoid at the input of the nonlinearity - the saturating amplifier.  Here is a plot of the output of the saturating amplifier against the input amplitude, A.  In the plot the saturation levels are -10.5v and +10.5v.

Shown below is an example of a sine wave that saturates at +10.5 and at -10.5v.  You can set the amplitude of the sine wave by typing in a value in the text box provided.  Be prepared for a little "noise" when you type.  The sine wave can react instantaneously.  Click the button to start after you type in your first value, but you can change amplitude "on the fly".

We want to be able to compute the fundamental component of a general signal like the one above, where the size of the sine part is variable, and the saturation takes place at a fixed level, but at at different angle within the sine wave as the size/amplitude of the sine part varies.

        Let's consider what we are going to do.

Actually, we can simplify the integral a little bit because we only need to integrate over the first quarter cycle if we take advantage of the symmetry of the signal, SatSine(t).  That would give us the following.

Now, we can evaluate these two integrals.  First note:

sin2(2pft) = [1 - cos(4pft)]/2

Then, use that identity in the first integral and we have:

Then, doing the integration, we find:

Now, note the following:


Then, we can use the trigonometric identity:

sin(2x) = 2sin(x)cos(x)

to simplify the middle term.  Doing that we get:

Now, we can take advantage of what we know about some of these quantities.  For example, we know:

Asin(2pfts) = Asat

So:
sin(2pfts) = Asat/A
Then, we can say:

Then, finally, we have:

or:

Now, sum up what we know.

        The next question is how do we use the information we have above.  Let's go back to the system we began this section with.  That's shown below.

Now, let's note the following.

We can examine the implications of all this.  In effect, we are saying that the loop gain has to be exactly one, at least for the fundamental.  Let's look at the result we had earlier, but cast things in the form of a gain for the fundamental component of the output signal.

The term on the right - the "equivalent gain" is the describing function.  It is a function of the input amplitude, A, and we will represent it as DF(A).  It's not really a gain because it is not constant.  It depends on the input amplitude, A.  Here is a plot of the describing function plotted against A, the input amplitude to the nonlinearity.

Note the following about this function.

However, that might be good because there might be an amplitude for which the loop gain is one.  First, rewrite the describing function as below.

Let's go back to the block diagram of the system.  That's shown again below.

Now, treat the nonlinearity as a "variable gain" using the Describing Function.  That means that we will focus on the equivalent block diagram below.

Then, taking into account the gain of the describing function, the gain of G(jw) and the change in sign in the comparator/subtractor in the loop, we have to have the following for sustained oscillations.

DF(A)G(jw) = -1

or

G(jw) = -1/DF(A)


Example

            Let's see how this can be applied.  Let's look at a particular system.  It is similar to what we have been considering, but it has a gain of 50 in front of the saturation.  That will simulate an amplifier that saturates at -10.5 and +10.5v.  Here is the system.

First, we need to consider how we can plot G(jw).  The plot of choice is the Nyquist plot - not a Bode' plot, not a Nichols Chart, whatever.  The Nyquist plot for the transfer function we are using as an example is shown below.  This plot does not contain the gain of 50 in the amplifier.

The transfer function, G(s), that is plotted here is:

The parameters for the example system are: Then, we need to figure out how we can use this information to determine if the system oscillates, and if it does determine the frequency and amplitude of the oscillations.  Here is the approach we will take. Now, let's work through the steps outlined above.  Here is a plot of the frequency response and the negative inverse describing function shown together.  The frequenc response is shown in red and the negative inverse describing function is shown in blue.  Adding a gain of 50 to G(s) expands the frequency response plot, and the low frequency portion goes off scale.  The negative inverse descsribing function has a dot at -1 to show the value of the describing function for a range of amplitudes up to the saturation value.

The frequency response intersects the negative inverse describing function at around -4.8.  At that point we can do the following computations.

We can check these predictions by doing a simulation in Simulink.  Here is the system we will use.

Compare this simulation with the block diagram of the system just for reference.

Then, examine the computed response of the system.  That is shown below.

We can compare the computed response with our predictions.  Here is the comparison


Summary

        We can summarize what has been presented in this lesson.

What if?

        There are several points that should be noted.

        These considerations may mean that you have to modify your analysis.  In those cases you may or may note have the comfort of a describing function analysis, and you may have to rely upon doing simulations (using Simulink, for example) to compute response for various sets of circumstances.


Problems Send us your comments on these lessons.