1
© Heikki Koivo
SIMULINK FOR BEGINNERS:
- To begin your SIMULINK session open first MATLAB ICON by clicking mouse twice and then type
»simulink
You will now see the Simulink block library.
- Browse through block libraries. E.g., if you click Continuous, you will see the following:
Observe the description of the integrator beside the block that will be used for integrator, . This operator notation comes from linear systems domain, where s is Laplace variable. Roughly, s corresponds to derivative operator, , and its inverse , to integration, .
- Math Operations library is shown below
After browsing through other block libraries, we are now ready to start generating a simple Simulink diagram.
• Choosein menu selection File, then New and Model. This file will be called untitled.
Untitled file, where the SIMULINK configuration is constructed using different blocks in the library.With a mouse you can configure your model
into the empty space.
EXAMPLE 1: Input signal is sin t . It is fed into an amplifier with gain 2. Simulate the output of the amplifier.
Solution: Pick first the amplifier. This you can find under Math and it is called Gain. Move the cursor on top of Gain, keep it down and move the Gain block to untitled file and release it. If you fail, try again. The result is shown below.
The gain has only one parameter, which has value of 1. You can change it by moving the cursor close to 1 and clicking once and then operating as you would with any word processing system. Once finished, click OK. The numerical value inside the block will now change to 2. Next find the input signal block. This is under Sources and is called Sine Wave. Again move the cursor on top of it, keep pressing the mouse while you move the block to the untitled file and then release the mouse. In order to see the result, you need to install a sink from Sinks library. In the beginning, the easiest sink to use is scope. Move that block in the same way as the others to the untitled file. The result is shown below.
The only thing missing of the system is to connect the peaces together. This is done with the mouse. Take the cursor to the output of Sine Wave block. You’ll see a hairline cursor, when you are close enough. Now press the mouse down. Keep it down and move it close to the input of gain. You’ll see a line forming, while you drag your mouse. Once you reach the input another hairline cursor can be seen and you can release the mouse.
Your simulation system is now complete. Before simulation you should check that the parameter values in the Sine Wave block are correct. Open it by placing the cursor on top and click twice.
For this example Amplitude is 1 and frequency (rad/s) is also 1, so default values are OK. There is no phase shift and sampling is not issue here.
You can begin simulation by choosing Start simulation from Simulation menu or by clicking the start button.
EXERCISE 2: Solve the differential equation
Note: The input is 1 after t> 0. This can be taken as a step function from the Sources block library. Note however, that the stepping time is not t=0 but t=1.
Solution: If you are inexperienced with differential equations, you can use differential operator D. Let . Then the differential equation becomes
(1)
or
.
This further leads to
(2)
You can use either (1) or (2) for SIMULINK configuration. We will use the first one:
.
Laplace transform operator s is almost the same as D, except for the initial conditions. In SIMULINK means integration (see the block below). Input to the integrator is and output x. Thus in configuration you set up the right hand side and connect the everything to the input of the integrator.
The solution is found by choosing under Simulation menu Start simulation or by clicking Start button.
The result is shown above. If you study the equation and the result, it is clear (why?) that we have made a mistake in configuration. The sign in summation is wrong. Correct it as shown below. Now the result corresponds to our expectations (if any).
If you want to see both the input and output at the same time, use Mux (multiplexer) block, which you can find under Signals and Systems block library. Set up the system as shown below.
MATLAB Command window
Once you have defined your system in SIMULINK window, you can simulate also on the MATLAB Command window. Save your model – currently it has the name Untitled, so use that. Go to MATLAB command window and type » help sim. The following lines will help you to understand how to simulate.
» help sim
SIM Simulate a Simulink model
SIM('model') will simulate your Simulink model using all simulation
parameter dialog settings including Workspace I/O options.
The SIM command also takes the following parameters. By default
time, state, and output are saved to the specified left hand side
arguments unless OPTIONS overrides this. If there are no left hand side
arguments, then the simulation parameters dialog Workspace I/O settings
are used to specify what data to log.
[T,X,Y] = SIM('model',TIMESPAN,OPTIONS,UT)
[T,X,Y1,...,Yn] = SIM('model',TIMESPAN,OPTIONS,UT)
T : Returned time vector.
X : Returned state in matrix or structure format.
The state matrix contains continuous states followed by
discrete states.
Y : Returned output in matrix or structure format.
For block diagram models this contains all root-level
outport blocks.
Y1,...,Yn : Can only be specified for block diagram models, where n
must be the number of root-level outport blocks. Each
outport will be returned in the Y1,...,Yn variables.
'model' : Name of a block diagram model.
TIMESPAN : One of:
TFinal,
[TStart TFinal], or
[TStart OutputTimes TFinal].
OutputTimes are time points which will be returned in
T, but in general T will include additional time points.
OPTIONS : Optional simulation parameters. This is a structure
created with SIMSET using name value pairs.
UT : Optional extern input. UT = [T, U1, ... Un]
where T = [t1, ..., tm]' or UT is a string containing a
function u=UT(t) evaluated at each time step. For
table inputs, the input to the model is interpolated
from UT.
Specifying any right hand side argument to SIM as the empty matrix, [],
will cause the default for the argument to be used.
Only the first parameter is required. All defaults will be taken from the
block diagram, including unspecified options. Any optional arguments
specified will override the settings in the block diagram.
See also SLDEBUG, SIMSET.
Overloaded methods
help network/sim.m
The simplest way to start is to use sim command in the following way.
» [t,x,y]=sim('untitled');
Next you can use plot command to see the result.
» plot(t,x)
To see y, you need to introduce an output in the SIMULINK model. Check below.
Another issue that we have not considered is initial condition. As you know every differential equation should have initial conditions given. The default value in SIMULINK is zero. To change that click the integrator. You’ll see the following display.
As seen above you can change the initial value to e.g. –3.
The default time for simulation is 10. If you wish to simulate longer you have to change it. To do that open Simulation menu and choose Simulation parameters.
You can change the Stop time according to your needs.
Complete the exercise. Run the simulation from SIMULINK and also from Command window.
DAMPED OSCILLATOR
Solve the damped oscillator problem
Assume that u(t) = 0, that is, there is no input.
PURPOSE: To illustrate how to configure a SIMULINK diagram for a higher order differential equation and how to introduce initial conditions into it.
SOLUTION: Solve equation first with respect to the highest order derivative to obtain
To set up the right-hand side two integrators are needed:
The input to the first integraror is the second derivative and its output is . The latter is the innput to the second integrator producing x(t) at its output. In this way we have constructed the left-hand side of the equation. Since the second derivative is equal to the right hand side, we collect it term by term. In order to do that we need from the output of the first integrator, x(t) from the output of the second integrator and u(t), the step input must be generated. Here x(t) must also be multiplied by 9, so a gain is required. All these items are to be summed up so a sum block is also needed. The final configuration is given below. The initial values are added to the integrators. The resulting configuration is given below.
Next, set up the initial conditions by clicking the integrators one at a time and making appropriate changes.
The solution x(t) and are shown in Fig. below. The first figure is SIMULINK scope and the second is the result from Command window simulation.
The sharpness of the lower curve around t = 0.4 s is not real, it should be smooth. First you might suspect numerical difficulties (there are none) due to too large a step size. This is not the case. It is due to display graphics, i.e., not enough points have been saved to have a smooth presentation.
The damping factor can be changed by changing the coefficient 5 in front of . If the coefficient is zero (no damping), the result is a sinusoidal. Increasing the damping will result in damping oscillations. Complete the study to obtain the following responses.
Let us also plot a phase plane plot (x vs dx/dt). Note that here time has been eliminated. To see the effect better, start with less damping. Change the coefficient 5 to 1.
The result is shown below.
XY Graph does not adjust the scales automatically. In order to see the whole picture, click the XY Graph open and adjust the scales. Adjusting also the Sample time results in smooth picture.
CONCLUSION: A stable system. It converges towards the origin. Physical interpretation: In origin both position and velocity are zero.