Mercurial > hg > ltpda
comparison m-toolbox/html_help/help/ug/ssm_simulation.html @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:f0afece42f48 |
---|---|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | |
2 "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> | |
3 | |
4 <html lang="en"> | |
5 <head> | |
6 <meta name="generator" content= | |
7 "HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org"> | |
8 <meta http-equiv="Content-Type" content= | |
9 "text/html; charset=us-ascii"> | |
10 | |
11 <title>Simulations (LTPDA Toolbox)</title> | |
12 <link rel="stylesheet" href="docstyle.css" type="text/css"> | |
13 <meta name="generator" content="DocBook XSL Stylesheets V1.52.2"> | |
14 <meta name="description" content= | |
15 "Presents an overview of the features, system requirements, and starting the toolbox."> | |
16 </head> | |
17 | |
18 <body> | |
19 <a name="top_of_page" id="top_of_page"></a> | |
20 | |
21 <p style="font-size:1px;"> </p> | |
22 | |
23 <table class="nav" summary="Navigation aid" border="0" width= | |
24 "100%" cellpadding="0" cellspacing="0"> | |
25 <tr> | |
26 <td valign="baseline"><b>LTPDA Toolbox</b></td><td><a href="../helptoc.html">contents</a></td> | |
27 | |
28 <td valign="baseline" align="right"><a href= | |
29 "ssm_assemble.html"><img src="b_prev.gif" border="0" align= | |
30 "bottom" alt="Assembling systems"></a> <a href= | |
31 "TransferFunction_model.html"><img src="b_next.gif" border="0" align= | |
32 "bottom" alt="Transfer Function Modelling"></a></td> | |
33 </tr> | |
34 </table> | |
35 | |
36 <h1 class="title"><a name="f3-12899" id="f3-12899"></a>Simulations</h1> | |
37 <hr> | |
38 | |
39 <p> | |
40 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> | |
41 <HTML> | |
42 <HEAD> | |
43 <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252"> | |
44 <TITLE></TITLE> | |
45 <META NAME="GENERATOR" CONTENT="OpenOffice.org 3.1 (Win32)"> | |
46 <META NAME="CREATED" CONTENT="0;0"> | |
47 <META NAME="CHANGEDBY" CONTENT="Adrien G"> | |
48 <META NAME="CHANGED" CONTENT="20090827;18204600"> | |
49 </HEAD> | |
50 <BODY LANG="en-US" DIR="LTR"> | |
51 <P>The function simulate can use ssm object to produce simulations. | |
52 </P> | |
53 <H2>Simulation example. | |
54 </H2> | |
55 <P>The following closed loop system is built. | |
56 </P> | |
57 <DIV CLASS="fragment"><PRE><FONT SIZE=2>>> sys = ssm(plist(</FONT><FONT COLOR="#a020f0">'built-in'</FONT>, <FONT COLOR="#a020f0">'standard_system_params'</FONT>, <FONT COLOR="#a020f0">'setnames'</FONT>, {<FONT COLOR="#a020f0">'W'</FONT> <FONT COLOR="#a020f0">'C'</FONT>}, <FONT COLOR="#a020f0">'setvalues'</FONT>, [-0.2 -0.5])); | |
58 >> sys.modifTimeStep(0.01); | |
59 <FONT SIZE=2>>> sys.duplicateInput(</FONT><FONT COLOR="#a020f0">'U'</FONT>,<FONT COLOR="#a020f0">'Negative Bias'</FONT>); | |
60 >> controller = ssm(plist( <FONT COLOR="#0000ff">...</FONT> | |
61 <FONT COLOR="#a020f0">'amats'</FONT><FONT COLOR="#000000">,cell(0,0), </FONT><FONT COLOR="#a020f0">'bmats'</FONT><FONT COLOR="#000000">,cell(0,1), </FONT><FONT COLOR="#a020f0">'cmats'</FONT><FONT COLOR="#000000">,cell(1,0), </FONT><FONT COLOR="#a020f0">'dmats'</FONT><FONT COLOR="#000000">,{-1}, </FONT><FONT COLOR="#0000ff">...</FONT> | |
62 <FONT COLOR="#a020f0">'timestep'</FONT><FONT COLOR="#000000">,0.01, </FONT><FONT COLOR="#a020f0">'name'</FONT><FONT COLOR="#000000">,</FONT><FONT COLOR="#a020f0">'controller'</FONT><FONT COLOR="#000000">, </FONT><FONT COLOR="#a020f0">'params'</FONT><FONT COLOR="#000000">,plist, </FONT><FONT COLOR="#0000ff">...</FONT> | |
63 <FONT COLOR="#a020f0">'statenames'</FONT><FONT COLOR="#000000">,{}, </FONT><FONT COLOR="#a020f0">'inputnames'</FONT><FONT COLOR="#000000">,{</FONT><FONT COLOR="#a020f0">'Y'</FONT><FONT COLOR="#000000">}, </FONT><FONT COLOR="#a020f0">'outputnames'</FONT><FONT COLOR="#000000">,{</FONT><FONT COLOR="#a020f0">'U'</FONT><FONT COLOR="#000000">} ));</FONT> | |
64 ------ ssm/1 ------- | |
65 amats: { [2x2] } [1x1] | |
66 mmats: { [2x2] } [1x1] | |
67 bmats: { [2x2] [2x1] } [1x2] | |
68 cmats: { [1x2] | |
69 [1x2] } [2x1] | |
70 dmats: { [1x2] [] | |
71 [1x2] [] } [2x2] | |
72 timestep: 0.01 | |
73 inputs: [1x2 ssmblock] | |
74 1 : N | Fn [kg m s^(-2)], On [m] | |
75 2 : Negative Bias | Fu [kg m s^(-2)] | |
76 states: [1x1 ssmblock] | |
77 1 : standard test system | x [m], xdot [m s^(-1)] | |
78 outputs: [1x2 ssmblock] | |
79 1 : Y | y [m] | |
80 2 : U | U > 1 [] | |
81 params: (empty-plist) [1x1 plist] | |
82 version: $Id: ssm_simulation_content.html,v 1.3 2009/08/28 14:20:07 adrien Exp $ | |
83 Ninputs: 2 | |
84 inputsizes: [2 1] | |
85 Noutputs: 2 | |
86 outputsizes: [1 1] | |
87 Nstates: 1 | |
88 statesizes: 2 | |
89 Nparams: 0 | |
90 isnumerical: true | |
91 hist: ssm.hist [1x1 history] | |
92 procinfo: (empty-plist) [1x1 plist] | |
93 plotinfo: (empty-plist) [1x1 plist] | |
94 name: assembled( standard_system_params + controller)) | |
95 description: | |
96 mdlfile: | |
97 UUID: 163d7103-063b-4a57-af7e-b08d22fe42c1 | |
98 --------------------</PRE></DIV><P> | |
99 Then we wish to use the inputs of N for a correlated force noise and | |
100 measurement noise, “Negative Bias” for a sinewave, and | |
101 there will be an observation DC offset.</P> | |
102 <P>We want as an output the controller output “U” and the | |
103 sensor output “y”.</P> | |
104 <DIV CLASS="fragment"><PRE>>> ao1 = ao(plist(<FONT COLOR="#a020f0">'FCN'</FONT>,<FONT COLOR="#a020f0">'sin(0:0.01:100)'</FONT>)); | |
105 <FONT COLOR="#000000">>> ao_out = sysCL.simulate( plist(</FONT><FONT COLOR="#0000ff">...</FONT> | |
106 <FONT COLOR="#a020f0"> 'NOISE VARIABLE NAMES'</FONT><FONT COLOR="#000000">, {</FONT><FONT COLOR="#a020f0">'Fn'</FONT><FONT COLOR="#000000"> </FONT><FONT COLOR="#a020f0">'On'</FONT><FONT COLOR="#000000">}, </FONT><FONT COLOR="#a020f0">'COVARIANCE'</FONT><FONT COLOR="#000000">, [1 0.1 ; 0.1 2] , </FONT><FONT COLOR="#0000ff">...</FONT> | |
107 <FONT COLOR="#a020f0"> 'AOS VARIABLE NAMES'</FONT><FONT COLOR="#000000">, {</FONT><FONT COLOR="#a020f0">'Fu'</FONT><FONT COLOR="#000000">} ,</FONT><FONT COLOR="#a020f0">'AOS'</FONT><FONT COLOR="#000000">, ao1 ,</FONT><FONT COLOR="#0000ff">...</FONT> | |
108 <FONT COLOR="#a020f0"> 'CONSTANT VARIABLE NAMES'</FONT><FONT COLOR="#000000">, {</FONT><FONT COLOR="#a020f0">'On'</FONT><FONT COLOR="#000000">}, </FONT><FONT COLOR="#a020f0">'CONSTANTS'</FONT><FONT COLOR="#000000">, 35, </FONT><FONT COLOR="#0000ff">...</FONT> | |
109 <FONT COLOR="#a020f0"> 'RETURN STATES'</FONT><FONT COLOR="#000000">, {</FONT><FONT COLOR="#a020f0">'x'</FONT><FONT COLOR="#000000">}, </FONT><FONT COLOR="#a020f0">'RETURN OUTPUTS'</FONT><FONT COLOR="#000000">, {</FONT><FONT COLOR="#a020f0">'y'</FONT><FONT COLOR="#000000"> </FONT><FONT COLOR="#a020f0">'U > 1'</FONT><FONT COLOR="#000000">}, </FONT><FONT COLOR="#0000ff">...</FONT> | |
110 <FONT COLOR="#a020f0"> 'SSINI'</FONT><FONT COLOR="#000000"> , {[100;3]}, </FONT><FONT COLOR="#a020f0">'TINI'</FONT><FONT COLOR="#000000">, 0));</FONT> | |
111 >> iplot(ao_out([1, 2, 3]));</PRE></DIV><P> | |
112 <IMG SRC="images/simulate.png" NAME="images1" ALIGN=LEFT WIDTH=567 HEIGHT=454 BORDER=0><BR CLEAR=LEFT>It | |
113 turns out the system output (blue) is not much like the state (red), | |
114 causing the control (green) to waste a lot of energy. The state is | |
115 not experimentally available, but might be obtained through | |
116 filtering. The kalman method is so far the only filtering method | |
117 implemented in the toolbox.</P> | |
118 <DIV CLASS="fragment"><PRE><FONT COLOR="#000000">>> ao_est = sysCL.kalman( plist(</FONT><FONT COLOR="#0000ff">...</FONT> | |
119 <FONT COLOR="#a020f0"> 'NOISE VARIABLE NAMES'</FONT><FONT COLOR="#000000">, {</FONT><FONT COLOR="#a020f0">'Fn'</FONT><FONT COLOR="#000000"> </FONT><FONT COLOR="#a020f0">'On'</FONT><FONT COLOR="#000000">}, </FONT><FONT COLOR="#a020f0">'COVARIANCE'</FONT><FONT COLOR="#000000">, [1 0.1 ; 0.1 2] , </FONT><FONT COLOR="#0000ff">...</FONT> | |
120 <FONT COLOR="#a020f0"> 'AOS VARIABLE NAMES'</FONT><FONT COLOR="#000000">, {</FONT><FONT COLOR="#a020f0">'Fu'</FONT><FONT COLOR="#000000">} ,</FONT><FONT COLOR="#a020f0">'AOS'</FONT><FONT COLOR="#000000">, ao1 ,</FONT><FONT COLOR="#0000ff">...</FONT> | |
121 <FONT COLOR="#a020f0"> 'CONSTANT VARIABLE NAMES'</FONT><FONT COLOR="#000000">, {</FONT><FONT COLOR="#a020f0">'On'</FONT><FONT COLOR="#000000">}, </FONT><FONT COLOR="#a020f0">'CONSTANTS'</FONT><FONT COLOR="#000000">, 35, </FONT><FONT COLOR="#0000ff">...</FONT> | |
122 <FONT COLOR="#a020f0"> 'OUTPUT VARIABLE NAMES'</FONT><FONT COLOR="#000000">, {</FONT><FONT COLOR="#a020f0">'y'</FONT><FONT COLOR="#000000">}, </FONT><FONT COLOR="#a020f0">'OUTPUTS'</FONT><FONT COLOR="#000000"> , ao_out(2), </FONT><FONT COLOR="#0000ff">...</FONT> | |
123 <FONT COLOR="#a020f0"> 'RETURN STATES'</FONT><FONT COLOR="#000000">, 1, </FONT><FONT COLOR="#a020f0">'RETURN OUTPUTS'</FONT><FONT COLOR="#000000">, 1 ));</FONT> | |
124 >> iplot(ao_out(2), ao_est(1), ao_out(1))</PRE></DIV><P> | |
125 <IMG SRC="images/kalman.png" NAME="images2" ALIGN=LEFT WIDTH=567 HEIGHT=454 BORDER=0><BR CLEAR=LEFT>In | |
126 this example the estimate (blue) of the state (green) is | |
127 satisfactory. It leads us to think that such a filter should be used | |
128 to provide with the input of the controller. | |
129 </P> | |
130 <P>However, the DC offset correction by the kalman filter is one | |
131 information that is not available under usual circumstances. | |
132 </P> | |
133 <P><BR><BR> | |
134 </P> | |
135 <P STYLE="margin-bottom: 0cm"><BR> | |
136 </P> | |
137 <P STYLE="margin-bottom: 0cm"><BR> | |
138 </P> | |
139 <P><BR><BR> | |
140 </P> | |
141 </BODY> | |
142 </HTML> | |
143 </p> | |
144 | |
145 <br> | |
146 <br> | |
147 <table class="nav" summary="Navigation aid" border="0" width= | |
148 "100%" cellpadding="0" cellspacing="0"> | |
149 <tr valign="top"> | |
150 <td align="left" width="20"><a href="ssm_assemble.html"><img src= | |
151 "b_prev.gif" border="0" align="bottom" alt= | |
152 "Assembling systems"></a> </td> | |
153 | |
154 <td align="left">Assembling systems</td> | |
155 | |
156 <td> </td> | |
157 | |
158 <td align="right">Transfer Function Modelling</td> | |
159 | |
160 <td align="right" width="20"><a href= | |
161 "TransferFunction_model.html"><img src="b_next.gif" border="0" align= | |
162 "bottom" alt="Transfer Function Modelling"></a></td> | |
163 </tr> | |
164 </table><br> | |
165 | |
166 <p class="copy">©LTP Team</p> | |
167 </body> | |
168 </html> |