First Order System: System Identification

Problem Background
Determining System Parameters
Checking the System Model


The idea behind these tutorials is that you can view them in one window while running Simulink in another window.  Do not confuse the windows, icons, and menus in the tutorials for your actual Simulink windows.  Most images in these tutorials are not live - they simply display what you should see in your own Simulink windows.  All Simulink operations should be done in your Simulink windows.


Problem Background

Suppose you are an engineer working for a boat manufacturer, and you have been asked to study and predict the performance of a new propeller design.  To do this, you determine that you need to know basic characteristics of this particular design (its moment of inertia and damping coefficient, to be specific).  As a first approximation, you assume the damping force on the propeller-shaft system (which is due to shaft friction as well as the resistance provided by the water the propeller pushes) is proportional to the system's angular velocity.  Having made this assumption, you sketch the free body diagram of the moments acting on the system:

In this diagram:

Using this free body diagram, you write the system equation in terms of the total moment being applied on the propeller-shaft system:

Determining System Parameters

To determine approximate values of I and b, you decide to analyze the system's response to known inputs.  You will do this by using a test stand, consisting of the propeller-shaft system mounted stationary in a tub of water.  An electric motor is used to drive the shaft, and the torque it outputs to the system (T) can be controlled by the user.  A tachometer is attached to the shaft to monitor the system's angular velocity.

A Simulink block representing the propeller-shaft system can be downloaded by clicking here (save this file, then use Simulink to open it).  This is essentially a "black-box system" that has been created to duplicate the characteristics of the actual propeller-shaft system.  In our real-world example, a Simulink model such as this could not accurately be created until we understand the system's characteristics and parameters.  The purpose of the Simulink block provided is to give you a way to "test" the actual propeller-shaft system (using Simulink instead of the actual test stand) and determine for yourself its characteristics and parameters.

Note that the block we have provided takes the system input, T, in units of N-m, but its output, Omega, is provided in RPM.  Thus, in determining I and b values we will have to convert angular velocity measurements with units of RPM to rad/sec in order to agree with the system equation.

As an initial test, let us apply a step input of 800 N-m to the propeller-shaft system using the electric motor.  This can be modeled with Simulink by connecting a Step block to the Propeller-Shaft system block's input and a Scope block to the system block's output, giving the following block diagram:

Open the Simulation Parameters window (click Simulation on the model toolbar, then click Parameters).  Set the Stop Time to 6.0 (thus, the simulation will run for 6.0 seconds).  Let's assume that our tachometer measures the shaft's angular velocity every 0.05 seconds.  So, set the Solver Option Type to "Fixed-Step" and choose the "ode5 (Dormand-Prince)" solver from the pull-down menu.   Also set the Fixed Step Size to "0.05".  If we had left the simulation set to "Variable-Step", then as the simulation runs, it is free to modify its step size (which can help to control error).  If you now run this simulation, the scope plot you get from it should look similar to:

Notice that this graph's shape, for the most part, is consistent with the exponential response we would expect if the system was indeed first order (remember that our assumption that the propeller-shaft system could be approximated by a first order system was a guess we made initially).  To estimate the values of I and b, let's take a closer look at a couple important features of this plot.  If we zoom in on the last part of the graph, we can estimate the steady-state angular velocity of the system.   Notice that when you do focus in on the response (as below), its graph appears to jump up and down, even at what appears to be its steady-state.  In real-world situations, this fluctuation could be caused by a variety of phenomena, such as small disturbances to the system not accounted for in the model or noise in the tachometer's signal.  Even with these fluctuations, we can estimate that the steady-state angular velocity is about 2500 RPM (262 rad/sec).

We should also be able to estimate the time constant (Tau) by using this figure.   For our first-order approximation, the time constant represents the instance at which the response has reached about 63% of its steady-state value.  If the steady-state is 2500 RPM, this corresponds to about 1575 RPM.  If we zoom in on the scope plot (by clicking on the magnifying glass icon in the upper left corner of the Scope window), we can make a rough estimate of the time at which the system reaches this angular velocity.   From the zoomed-in plot below, we estimate the time constant to be about 0.60 seconds.

Using the steady-state angular velocity and the time constant we have determined, we should be able to estimate the values of b and I.  If we set the angular acceleration (Omega-dot) equal to zero in the original system equation, the resulting equation describes the steady-state angular velocity.  If we substitute this value into the equation, we get:

Now, let's look at the characteristic equation for our model, and use it to determine the system's pole:

We can relate this pole to the time constant of the system, and thus arrive at an estimation for I:

Checking the System Model

Now, let's determine how good our estimates of b and I really are (as well as whether or not a first order approximation is appropriate for this system) by comparing the predicted response we get using our estimated values of b and I to the one we actually got from the propeller-shaft system.  We can do this by adding a couple of blocks to the model we made originally to test the Propeller-Shaft system:

Notice that this model takes the signal from the step input to two different blocks.  The first is the original Propeller-Shaft system block, and this outputs the actual system RPM based on the input.  The second block is the transfer function for our first order system approximation using our estimated values of b and I.   Can you verify that this is the correct transfer function by plugging values for b and I into the system equation?  The Gain block following the Transfer Function block converts the angular velocity output from rad/sec to RPM (remember that Omega in the system equation, which was used to get the transfer function, is in units of rad/sec).   The two signals are brought back together at a Mux block (Signals & Systems subfolder).  This block combines the two signals into a vector that we input to the Scope block in order to plot the responses on the same graph.  If we view the scope, we should see something like:

In this graph, the purple curve represents the response predicted using estimated system parameter values, and the yellow one shows the actual system response.  From this plot, it appears that assuming the system to be first order with the system parameter (b and I) values we determined does a good job of approximating the actual propeller-shaft system in this case. 

Using the propeller-shaft system block provided above, try applying different step inputs to the system, and determine approximate values for b and I based on the responses you obtain (as we just did).  Are these new estimates for b and I similar to the ones we found above?  If not, does that mean that our first order approximation of the system is not reasonable?  You should find that the first order approximation with the b and I values we found originally does quite well in estimating the actual system response over a broad range of step inputs.  Notice that at very small step input values (T less than about 200 N-m), the effects of unaccounted disturbances and signal noise make it difficult to accurately estimate b and I using the methods we employed above.  In cases such as these, or in situations where you need more exact approximations of the system parameters than can be obtained from the response plot, you will want to use different techniques to find b and I.  You can take a look at a couple of these techniques by clicking here.

If you would like to take a closer look at the Propeller-Shaft system block to gain a better understanding for the causes of its behavior, click here.

 

Author:  RDM
Updated:  6/7/00