0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
2 "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
3
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
4 <html lang="en">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
5 <head>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
6 <meta name="generator" content=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
7 "HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
8 <meta http-equiv="Content-Type" content=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
9 "text/html; charset=us-ascii">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
10
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
11 <title>Statespace models (LTPDA Toolbox)</title>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
12 <link rel="stylesheet" href="docstyle.css" type="text/css">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
13 <meta name="generator" content="DocBook XSL Stylesheets V1.52.2">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
14 <meta name="description" content=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
15 "Presents an overview of the features, system requirements, and starting the toolbox.">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
16 </head>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
17
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
18 <body>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
19 <a name="top_of_page" id="top_of_page"></a>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
20
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
21 <p style="font-size:1px;"> </p>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
22
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
23 <table class="nav" summary="Navigation aid" border="0" width=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
24 "100%" cellpadding="0" cellspacing="0">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
25 <tr>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
26 <td valign="baseline"><b>LTPDA Toolbox</b></td><td><a href="../helptoc.html">contents</a></td>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
27
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
28 <td valign="baseline" align="right"><a href=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
29 "smodel_introduction.html"><img src="b_prev.gif" border="0" align=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
30 "bottom" alt="Introduction to parametric models in LTPDA"></a> <a href=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
31 "ssm_introduction.html"><img src="b_next.gif" border="0" align=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
32 "bottom" alt="Introduction to Statespace Models with LTPDA"></a></td>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
33 </tr>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
34 </table>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
35
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
36 <h1 class="title"><a name="f3-12899" id="f3-12899"></a>Statespace models</h1>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
37 <hr>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
38
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
39 <p>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
40 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
41 <HTML>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
42 <HEAD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
43 <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
44 <TITLE></TITLE>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
45 <META NAME="GENERATOR" CONTENT="OpenOffice.org 3.1 (Win32)">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
46 <META NAME="CREATED" CONTENT="0;0">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
47 <META NAME="CHANGEDBY" CONTENT="Adrien G">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
48 <META NAME="CHANGED" CONTENT="20090827;17521500">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
49 </HEAD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
50 <BODY LANG="en-US" DIR="LTR">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
51 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
52 <H2>Why use state space modeling?</H2>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
53 <P>State space modeling is efficient to simulate systems with large
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
54 dimensionality, be it in terms of inputs, outputs, or pole/zeros.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
55 Adding nonlinearities to a model is also easier as in the frequency
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
56 domain, however there is no such capability in the toolbox yet.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
57 Another reason to use them is to build complex parametric models,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
58 where intricated parameters make impossible the symbolic calculation
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
59 of the transfer function coefficients – as a matter of fact
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
60 the transfer function can be computed out of a determinant involving
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
61 the A matrix, explaining the complexity of the calculation.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
62 <P>For tasks such as identification, state space modeling is a
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
63 computationally rather heavy, especially if colored noise is
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
64 involved in the process.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
65 <P>State space models can be converted into a matrix of transfer
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
66 function in the s- or the z-domain. The functions in the toolbox
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
67 that enable this are ss2pzmodel, ss2miir, ss2rational.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
68 <H2>Generalities on State Space Modeling</H2>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
69 <P><FONT COLOR="#000000">In order to familiarize with state space
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
70 modeling, this help page is a mere copy of the wiki page.</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
71 <P><FONT COLOR="#000000">In control engineering, a </FONT><FONT COLOR="#000000"><B>state
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
72 space representation</B></FONT><FONT COLOR="#000000"> is a
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
73 mathematical model of a physical system as a set of input, output
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
74 and state variables related by first-order <A HREF="http://en.wikipedia.org/wiki/Differential_equation">differential
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
75 equations</A>. To abstract from the number of inputs, outputs </FONT>and<FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
76 states, the variables are expressed as vectors and the differential
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
77 and algebraic equations are written in matrix form (the last one can
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
78 be done when the <A HREF="http://en.wikipedia.org/wiki/Dynamical_system">dynamical
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
79 system</A> is linear and time invariant). The state space
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
80 representation (also known as the "time-domain approach")
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
81 provides a convenient and compact way to model and analyze systems
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
82 with multiple inputs and outputs. With </FONT><FONT COLOR="#000000"><I>p</I></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
83 inputs and </FONT><FONT COLOR="#000000"><I>q</I></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
84 outputs, we would otherwise have to write down <A HREF="http://en.wikipedia.org/wiki/Laplace_transform">Laplace
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
85 transforms</A> to encode all the information about a system. Unlike
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
86 the frequency domain approach, the use of the state space
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
87 representation is not limited to systems with linear components and
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
88 zero initial conditions. "State space" refers to the space
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
89 whose axes are the state variables. The state of the system can be
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
90 represented as a vector within that space.</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
91 <H2><FONT COLOR="#000000">State variables</FONT></H2>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
92 <H2><FONT COLOR="#000080"><A HREF="http://en.wikipedia.org/wiki/File:Typical_State_Space_model.png"><FONT COLOR="#000080"><IMG SRC="images/State_space_fichiers/Typical_State_Space_model.png" NAME="images3" ALIGN=BOTTOM WIDTH=382 HEIGHT=154 BORDER=1></FONT></A></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
93 </FONT>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
94 </H2>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
95 <P>Typical state space model</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
96 <P><FONT COLOR="#000000">The internal <A HREF="http://en.wikipedia.org/wiki/State_variable">state
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
97 variables</A> are the smallest possible subset of system variables
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
98 that can represent the entire state of the system at any given time.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
99 State variables must be linearly independent; a state variable
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
100 cannot be a linear combination of other state variables. The minimum
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
101 number of state variables required to represent a given system, </FONT><FONT COLOR="#000000"><I>n</I></FONT><FONT COLOR="#000000">,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
102 is usually equal to the order of the system's defining differential
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
103 equation. If the system is represented in transfer function form,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
104 the minimum number of state variables is equal to the order of the
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
105 transfer function's denominator after it has been reduced to a
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
106 proper fraction. It is important to understand that converting a
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
107 state space realization to a transfer function form may lose some
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
108 internal information about the system, and may provide a description
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
109 of a system which is stable, when the state-space realization is
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
110 unstable at certain points. In electric circuits, the number of
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
111 state variables is often, though not always, the same as the number
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
112 of energy storage elements in the circuit such as <A HREF="http://en.wikipedia.org/wiki/Capacitor">capacitors</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
113 and <A HREF="http://en.wikipedia.org/wiki/Inductor">inductors</A>.</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
114 <H2><FONT COLOR="#000000">Linear systems</FONT></H2>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
115 <P>The most general state-space representation of a linear system
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
116 with <I>p</I> inputs, <I>q</I> outputs and <I>n</I> state variables
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
117 is written in the following form:</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
118 <P><IMG SRC="images/State_space_fichiers/036212a5fe0e6fded881a8f2d536cbb1.png" NAME="images4" ALT="\dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=227 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
119 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
120 <P><IMG SRC="images/State_space_fichiers/1d1151bf91e0a3f42167568730cead9f.png" NAME="images5" ALT="\mathbf{y}(t) = C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=229 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
121 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
122 <P>where:</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
123 <UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
124 <LI><P><IMG SRC="images/State_space_fichiers/0b46dcfa3789d90891d7d22aa4bf1b83.png" NAME="images6" ALT="x(\cdot)" ALIGN=BOTTOM WIDTH=31 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
125 is called the "state vector",
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
126 <IMG SRC="images/State_space_fichiers/76bfa39f75341b43cc349cbf72261ac6.png" NAME="images7" ALT="x(t) \in \mathbb{R}^n" ALIGN=BOTTOM WIDTH=80 HEIGHT=21 BORDER=0>;
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
127 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
128 <LI><P><IMG SRC="images/State_space_fichiers/89df6576cd198dc2449bf59e97a61df3.png" NAME="images8" ALT="y(\cdot)" ALIGN=BOTTOM WIDTH=30 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
129 is called the "output vector",
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
130 <IMG SRC="images/State_space_fichiers/592f30a36abb23d30f67aeac77f10a63.png" NAME="images9" ALT="y(t) \in \mathbb{R}^q" ALIGN=BOTTOM WIDTH=78 HEIGHT=21 BORDER=0>;
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
131 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
132 <LI><P><IMG SRC="images/State_space_fichiers/918aa6368974b6014859c56e1ef6762c.png" NAME="images10" ALT="u(\cdot)" ALIGN=BOTTOM WIDTH=31 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
133 is called the "input (or control) vector",
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
134 <IMG SRC="images/State_space_fichiers/09a537199dfe82dc35d0050c72850b4c.png" NAME="images11" ALT="u(t) \in \mathbb{R}^p" ALIGN=BOTTOM WIDTH=78 HEIGHT=21 BORDER=0>;
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
135 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
136 <LI><P><IMG SRC="images/State_space_fichiers/b53a04dbe423d4e39eaedadf54e3ee31.png" NAME="images12" ALT="A(\cdot)" ALIGN=BOTTOM WIDTH=35 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
137 is the "state matrix",
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
138 <IMG SRC="images/State_space_fichiers/d67f69962a6411d08f1ba642d8c75617.png" NAME="images13" ALT="\operatorname{dim}[A(\cdot)] = n \times n" ALIGN=BOTTOM WIDTH=153 HEIGHT=21 BORDER=0>,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
139 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
140 <LI><P><IMG SRC="images/State_space_fichiers/8f528e3252e95ac5edef108971a1d43f.png" NAME="images14" ALT="B(\cdot)" ALIGN=BOTTOM WIDTH=36 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
141 is the "input matrix",
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
142 <IMG SRC="images/State_space_fichiers/a4d9e024860226d6ad283d1d217f1c31.png" NAME="images15" ALT="\operatorname{dim}[B(\cdot)] = n \times p" ALIGN=BOTTOM WIDTH=152 HEIGHT=21 BORDER=0>,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
143 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
144 <LI><P><IMG SRC="images/State_space_fichiers/d4d99b70fae67ddcd7923dbe5dbb6424.png" NAME="images16" ALT="C(\cdot)" ALIGN=BOTTOM WIDTH=34 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
145 is the "output matrix",
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
146 <IMG SRC="images/State_space_fichiers/452963fb0f31641c763dab57d77f6d15.png" NAME="images17" ALT="\operatorname{dim}[C(\cdot)] = q \times n" ALIGN=BOTTOM WIDTH=151 HEIGHT=21 BORDER=0>,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
147 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
148 <LI><P><IMG SRC="images/State_space_fichiers/9828f5f36ec8af68cc289bbf41a2c751.png" NAME="images18" ALT="D(\cdot)" ALIGN=BOTTOM WIDTH=37 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
149 is the "feedthrough (or feedforward) matrix" (in cases
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
150 where the system model does not have a direct feedthrough,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
151 <IMG SRC="images/State_space_fichiers/9828f5f36ec8af68cc289bbf41a2c751.png" NAME="images19" ALT="D(\cdot)" ALIGN=BOTTOM WIDTH=37 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
152 is the zero matrix),
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
153 <IMG SRC="images/State_space_fichiers/5b6e715515525947881d6fb6ea56fb15.png" NAME="images20" ALT="\operatorname{dim}[D(\cdot)] = q \times p" ALIGN=BOTTOM WIDTH=151 HEIGHT=21 BORDER=0>,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
154 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
155 <LI><P><IMG SRC="images/State_space_fichiers/b6b4d433fef1cae095423823ab60d1e5.png" NAME="images21" ALT="\dot{\mathbf{x}}(t) := \frac{\operatorname{d}}{\operatorname{d}t} \mathbf{x}(t)" ALIGN=BOTTOM WIDTH=120 HEIGHT=42 BORDER=0>.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
156 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
157 </UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
158 <P><FONT COLOR="#000000">In this general formulation, all matrices
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
159 are allowed to be time-variant (i.e., their elements can depend on
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
160 time); however, in the common <A HREF="http://en.wikipedia.org/wiki/LTI_system">LTI</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
161 case, matrices will be time invariant. The time variable </FONT><FONT COLOR="#000000"><I>t</I></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
162 can be a "continuous" (e.g.,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
163 <IMG SRC="images/State_space_fichiers/6080cfaa75ff6363d282e29a14b46632.png" NAME="images22" ALT="t \in \mathbb{R}" ALIGN=BOTTOM WIDTH=45 HEIGHT=15 BORDER=0>)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
164 or discrete (e.g.,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
165 <IMG SRC="images/State_space_fichiers/d3bd3b5e80beacc6f4a28dacabf2c0c5.png" NAME="images23" ALT="t \in \mathbb{Z}" ALIGN=BOTTOM WIDTH=45 HEIGHT=15 BORDER=0>).
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
166 In the latter case, the time variable is usually indicated as </FONT><FONT COLOR="#000000"><I>k</I></FONT><FONT COLOR="#000000">.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
167 <A HREF="http://en.wikipedia.org/wiki/Hybrid_system">Hybrid systems</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
168 allow for time domains that have both continuous and discrete parts.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
169 Depending on the assumptions taken, the state-space model
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
170 representation can assume the following forms:</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
171 <TABLE DIR="LTR" CELLPADDING=4 CELLSPACING=2>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
172 <TR VALIGN=TOP>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
173 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
174 <P><B>System type</B></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
175 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
176 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
177 <P><B>State-space model</B></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
178 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
179 </TR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
180 <TR VALIGN=TOP>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
181 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
182 <P>Continuous time-invariant</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
183 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
184 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
185 <P><IMG SRC="images/State_space_fichiers/ddfd74546a0e35f9ec054af2ecd3f2fa.png" NAME="images24" ALT="\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=182 HEIGHT=21 BORDER=0><BR><IMG SRC="images/State_space_fichiers/d0ac09f5cde2ce822ecc3e369692d04b.png" NAME="images25" ALT="\mathbf{y}(t) = C \mathbf{x}(t) + D \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=184 HEIGHT=21 BORDER=0></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
186 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
187 </TR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
188 <TR VALIGN=TOP>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
189 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
190 <P>Continuous time-variant</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
191 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
192 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
193 <P><IMG SRC="images/State_space_fichiers/95f05c22aefb06c919d8fb5ce8b26689.png" NAME="images26" ALT="\dot{\mathbf{x}}(t) = \mathbf{A}(t) \mathbf{x}(t) + \mathbf{B}(t) \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=230 HEIGHT=21 BORDER=0><BR><IMG SRC="images/State_space_fichiers/b2f523062e3020870da5e52c293a6a49.png" NAME="images27" ALT="\mathbf{y}(t) = \mathbf{C}(t) \mathbf{x}(t) + \mathbf{D}(t) \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=230 HEIGHT=21 BORDER=0></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
194 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
195 </TR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
196 <TR VALIGN=TOP>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
197 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
198 <P>Discrete time-invariant</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
199 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
200 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
201 <P><IMG SRC="images/State_space_fichiers/ab56c0fbbdf9445c187021a5df2553fa.png" NAME="images28" ALT="\mathbf{x}(k+1) = A \mathbf{x}(k) + B \mathbf{u}(k)" ALIGN=BOTTOM WIDTH=227 HEIGHT=21 BORDER=0><BR><IMG SRC="images/State_space_fichiers/7da081c23726f8324878080112ec1af3.png" NAME="images29" ALT="\mathbf{y}(k) = C \mathbf{x}(k) + D \mathbf{u}(k)" ALIGN=BOTTOM WIDTH=195 HEIGHT=21 BORDER=0></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
202 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
203 </TR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
204 <TR VALIGN=TOP>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
205 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
206 <P>Discrete time-variant</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
207 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
208 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
209 <P><IMG SRC="images/State_space_fichiers/9fae6c7e6be7c79bde9cff343e96e853.png" NAME="images30" ALT="\mathbf{x}(k+1) = \mathbf{A}(k) \mathbf{x}(k) + \mathbf{B}(k) \mathbf{u}(k)" ALIGN=BOTTOM WIDTH=281 HEIGHT=21 BORDER=0><BR><IMG SRC="images/State_space_fichiers/693a070bff55c952ca4b781867656bcf.png" NAME="images31" ALT="\mathbf{y}(k) = \mathbf{C}(k) \mathbf{x}(k) + \mathbf{D}(k) \mathbf{u}(k)" ALIGN=BOTTOM WIDTH=248 HEIGHT=21 BORDER=0></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
210 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
211 </TR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
212 <TR VALIGN=TOP>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
213 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
214 <P>Laplace domain of<BR>continuous time-invariant</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
215 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
216 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
217 <P><IMG SRC="images/State_space_fichiers/73704ff87694600b875bcdbe9dd47f82.png" NAME="images32" ALT="s \mathbf{X}(s) = A \mathbf{X}(s) + B \mathbf{U}(s)" ALIGN=BOTTOM WIDTH=211 HEIGHT=21 BORDER=0><BR><IMG SRC="images/State_space_fichiers/b4edd4ea37a52ac0cfb97ef2cf8b6166.png" NAME="images33" ALT="\mathbf{Y}(s) = C \mathbf{X}(s) + D \mathbf{U}(s)" ALIGN=BOTTOM WIDTH=206 HEIGHT=21 BORDER=0></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
218 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
219 </TR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
220 <TR VALIGN=TOP>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
221 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
222 <P>Z-domain of<BR>discrete time-invariant</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
223 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
224 <TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
225 <P><IMG SRC="images/State_space_fichiers/f40fb3cdcef75a4ffb787848e34f1a5d.png" NAME="images34" ALT="z \mathbf{X}(z) = A \mathbf{X}(z) + B \mathbf{U}(z)" ALIGN=BOTTOM WIDTH=216 HEIGHT=21 BORDER=0><BR><IMG SRC="images/State_space_fichiers/db506ab5a492b5f2ce0d1645db661c8e.png" NAME="images35" ALT="\mathbf{Y}(z) = C \mathbf{X}(z) + D \mathbf{U}(z)" ALIGN=BOTTOM WIDTH=208 HEIGHT=21 BORDER=0></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
226 </TD>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
227 </TR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
228 </TABLE>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
229 <P><FONT COLOR="#000000">Example: Continuous-time LTI case</FONT>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
230 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
231 <P><FONT COLOR="#000000">Stability and natural response
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
232 characteristics of a continuous-time <A HREF="http://en.wikipedia.org/wiki/LTI_system">LTI
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
233 system</A> (i.e., linear with matrices that are constant with
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
234 respect to time) can be studied from the <A HREF="http://en.wikipedia.org/wiki/Eigenvalue">eigenvalues</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
235 of the matrix </FONT><FONT COLOR="#000000"><B>A</B></FONT><FONT COLOR="#000000">.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
236 The stability of a time-invariant state-space model can be
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
237 determined by looking at the system's <A HREF="http://en.wikipedia.org/wiki/Transfer_function">transfer
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
238 function</A> in factored form. It will then look something like
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
239 this:</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
240 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
241 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
242 <IMG SRC="images/State_space_fichiers/3fa715cc96511bc510aabcb71c1f2781.png" NAME="images36" ALT=" \textbf{G}(s) = k \frac{ (s - z_{1})(s - z_{2})(s - z_{3}) }{ (s - p_{1})(s - p_{2})(s - p_{3})(s - p_{4}) }" ALIGN=BOTTOM WIDTH=346 HEIGHT=48 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
243 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
244 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
245 <FONT COLOR="#000000">The denominator of the transfer function is
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
246 equal to the <A HREF="http://en.wikipedia.org/wiki/Characteristic_polynomial">characteristic
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
247 polynomial</A> found by taking the <A HREF="http://en.wikipedia.org/wiki/Determinant">determinant</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
248 of </FONT><FONT COLOR="#000000"><I>sI</I></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
249 − </FONT><FONT COLOR="#000000"><I>A</I></FONT><FONT COLOR="#000000">,</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
250 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
251 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
252 <IMG SRC="images/State_space_fichiers/05e74baab950e092f7ef8acbf4654c84.png" NAME="images37" ALT="\mathbf{\lambda}(s) = |sI - A|" ALIGN=BOTTOM WIDTH=129 HEIGHT=21 BORDER=0>.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
253 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
254 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
255 <FONT COLOR="#000000">The roots of this polynomial (the <A HREF="http://en.wikipedia.org/wiki/Eigenvalue">eigenvalues</A>)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
256 are the system transfer function's <A HREF="http://en.wikipedia.org/wiki/Complex_pole">poles</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
257 (i.e., the <A HREF="http://en.wikipedia.org/wiki/Singularity">singularities</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
258 where the transfer function's magnitude is unbounded). These poles
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
259 can be used to analyze whether the system is <A HREF="http://en.wikipedia.org/wiki/Exponential_stability">asymptotically
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
260 stable</A> or <A HREF="http://en.wikipedia.org/wiki/Marginal_stability">marginally
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
261 stable</A>. An alternative approach to determining stability, which
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
262 does not involve calculating eigenvalues, is to analyze the system's
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
263 <A HREF="http://en.wikipedia.org/wiki/Lyapunov_stability">Lyapunov
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
264 stability</A>.</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
265 <P><FONT COLOR="#000000">The zeros found in the numerator of
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
266 <IMG SRC="images/State_space_fichiers/e75eebaaa95472ea1407f43448f37ab8.png" NAME="images38" ALT="\textbf{G}(s)" ALIGN=BOTTOM WIDTH=39 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
267 can similarly be used to determine whether the system is <A HREF="http://en.wikipedia.org/wiki/Minimum_phase">minimum
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
268 phase</A>.</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
269 <P><FONT COLOR="#000000">The system may still be </FONT><FONT COLOR="#000000"><B>input–output
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
270 stable</B></FONT><FONT COLOR="#000000"> (see <A HREF="http://en.wikipedia.org/wiki/BIBO_stability">BIBO
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
271 stable</A>) even though it is not internally stable. This may be the
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
272 case if unstable poles are canceled out by zeros (i.e., if those
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
273 singularities in the transfer function are <A HREF="http://en.wikipedia.org/wiki/Removable_singularity">removable</A>).</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
274 <H3 STYLE="border: none; padding: 0cm"><FONT COLOR="#000000">Controllability</FONT></H3>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
275 <P><FONT COLOR="#000000">Main article: <A HREF="http://en.wikipedia.org/wiki/Controllability">Controllability</A></FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
276 <P><FONT COLOR="#000000">Thus, state controllability condition
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
277 implies that it is possible – by admissible inputs –
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
278 to steer the states from any initial value to any final value within
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
279 some finite time window. A continuous time-invariant linear
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
280 state-space model is </FONT><FONT COLOR="#000000"><B>controllable</B></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
281 <A HREF="http://en.wikipedia.org/wiki/Iff">if and only if</A></FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
282 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
283 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
284 <IMG SRC="images/State_space_fichiers/43a31067bb4883d16e9670dee45cafa6.png" NAME="images39" ALT="\operatorname{rank}\begin{bmatrix}B& AB& A^{2}B& ...& A^{n-1}B\end{bmatrix} = n" ALIGN=BOTTOM WIDTH=319 HEIGHT=24 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
285 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
286 <H3 STYLE="border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
287 <FONT COLOR="#000000">Observability</FONT></H3>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
288 <P><FONT COLOR="#000000">Main article: <A HREF="http://en.wikipedia.org/wiki/Observability">Observability</A></FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
289 <P>Observability is a measure for how well internal states of a
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
290 system can be inferred by knowledge of its external outputs. The
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
291 observability and controllability of a system are mathematical duals
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
292 (i.e., as controllablity provides that an input is available that
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
293 brings any initial state to any desired final state, observability
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
294 provides that knowing an output trajectory provides enough
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
295 information to predict the initial state of the system).</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
296 <P>A continuous time-invariant linear state-space model is
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
297 <B>observable</B> if and only if</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
298 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
299 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
300 <IMG SRC="images/State_space_fichiers/0fda525c5450269a5ee9e6a429c318d8.png" NAME="images40" ALT="\operatorname{rank}\begin{bmatrix}C\\ CA\\ ...\\ CA^{n-1}\end{bmatrix} = n" ALIGN=BOTTOM WIDTH=161 HEIGHT=97 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
301 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
302 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
303 <FONT COLOR="#000000">(<A HREF="http://en.wikipedia.org/wiki/Rank_%28linear_algebra%29">Rank</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
304 is the number of linearly independent rows in a matrix.)</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
305 <H3 STYLE="border: none; padding: 0cm"><FONT COLOR="#000000">Transfer
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
306 function</FONT></H3>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
307 <P><FONT COLOR="#000000">The "<A HREF="http://en.wikipedia.org/wiki/Transfer_function">transfer
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
308 function</A>" of a continuous time-invariant linear state-space
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
309 model can be derived in the following way:</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
310 <P><FONT COLOR="#000000">First, taking the <A HREF="http://en.wikipedia.org/wiki/Laplace_transform">Laplace
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
311 transform</A> of</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
312 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
313 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
314 <IMG SRC="images/State_space_fichiers/ddfd74546a0e35f9ec054af2ecd3f2fa.png" NAME="images41" ALT="\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=182 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
315 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
316 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
317 yields</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
318 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
319 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
320 <IMG SRC="images/State_space_fichiers/73704ff87694600b875bcdbe9dd47f82.png" NAME="images42" ALT="s\mathbf{X}(s) = A \mathbf{X}(s) + B \mathbf{U}(s)" ALIGN=BOTTOM WIDTH=211 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
321 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
322 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
323 Next, we simplify for
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
324 <IMG SRC="images/State_space_fichiers/0762e07773e4f1f30137d7915c154851.png" NAME="images43" ALT="\mathbf{X}(s)" ALIGN=BOTTOM WIDTH=40 HEIGHT=21 BORDER=0>,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
325 giving</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
326 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
327 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/f28999fa2e82ade6d97d98696ca7ff3a.png" NAME="images44" ALT="(s\mathbf{I} - A)\mathbf{X}(s) = B\mathbf{U}(s)" ALIGN=BOTTOM WIDTH=194 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
328 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
329 <IMG SRC="images/State_space_fichiers/5b52cc12764f99ab8e3fcfab7bb54706.png" NAME="images45" ALT="\mathbf{X}(s) = (s\mathbf{I} - A)^{-1}B\mathbf{U}(s)" ALIGN=BOTTOM WIDTH=214 HEIGHT=23 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
330 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
331 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
332 this is substituted for
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
333 <IMG SRC="images/State_space_fichiers/0762e07773e4f1f30137d7915c154851.png" NAME="images46" ALT="\mathbf{X}(s)" ALIGN=BOTTOM WIDTH=40 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
334 in the output equation</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
335 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
336 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/b4edd4ea37a52ac0cfb97ef2cf8b6166.png" NAME="images47" ALT="\mathbf{Y}(s) = C\mathbf{X}(s) + D\mathbf{U}(s)" ALIGN=BOTTOM WIDTH=206 HEIGHT=21 BORDER=0>,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
337 giving
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
338 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
339 <IMG SRC="images/State_space_fichiers/97826155d4972cbddde77a96957af4b6.png" NAME="images48" ALT="\mathbf{Y}(s) = C((s\mathbf{I} - A)^{-1}B\mathbf{U}(s)) + D\mathbf{U}(s)" ALIGN=BOTTOM WIDTH=327 HEIGHT=23 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
340 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
341 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
342 <FONT COLOR="#000000">Because the <A HREF="http://en.wikipedia.org/wiki/Transfer_function">transfer
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
343 function</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
344 <IMG SRC="images/State_space_fichiers/046cdad9e9789e63b5196b2be94110e7.png" NAME="images49" ALT="\mathbf{G}(s)" ALIGN=BOTTOM WIDTH=40 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
345 is defined as the ratio of the output to the input of a system, we
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
346 take</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
347 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
348 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
349 <IMG SRC="images/State_space_fichiers/64c51e4be94f51d2064e88ccd44c5927.png" NAME="images50" ALT="\mathbf{G}(s) = \mathbf{Y}(s) / \mathbf{U}(s)" ALIGN=BOTTOM WIDTH=159 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
350 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
351 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
352 and substitute the previous expression for
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
353 <IMG SRC="images/State_space_fichiers/336fec49a4b9e27e1bc99139f4023267.png" NAME="images51" ALT="\mathbf{Y}(s)" ALIGN=BOTTOM WIDTH=40 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
354 with respect to
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
355 <IMG SRC="images/State_space_fichiers/3f0af3cafb3dcd9039883b8047986fc2.png" NAME="images52" ALT="\mathbf{U}(s)" ALIGN=BOTTOM WIDTH=40 HEIGHT=21 BORDER=0>,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
356 giving</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
357 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
358 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
359 <IMG SRC="images/State_space_fichiers/510b6fe3ab8ef640745bfc65e481fdb6.png" NAME="images53" ALT="\mathbf{G}(s) = C(s\mathbf{I} - A)^{-1}B + D" ALIGN=BOTTOM WIDTH=229 HEIGHT=23 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
360 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
361 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
362 Clearly
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
363 <IMG SRC="images/State_space_fichiers/046cdad9e9789e63b5196b2be94110e7.png" NAME="images54" ALT="\mathbf{G}(s)" ALIGN=BOTTOM WIDTH=40 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
364 must have <I>q</I> by <I>p</I> dimensionality, and thus has a total
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
365 of <I>qp</I> elements. So for every input there are <I>q</I>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
366 transfer functions with one for each output. This is why the
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
367 state-space representation can easily be the preferred choice for
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
368 multiple-input, multiple-output (MIMO) systems.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
369 <H3 STYLE="border: none; padding: 0cm"><FONT COLOR="#000000">Canonical
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
370 realizations</FONT></H3>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
371 <P><FONT COLOR="#000000">Any given transfer function which is
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
372 <A HREF="http://en.wikipedia.org/wiki/Strictly_proper">strictly
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
373 proper</A> can easily be transferred into state-space by the
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
374 following approach (this example is for a 4-dimensional,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
375 single-input, single-output system)):</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
376 <P>Given a transfer function, expand it to reveal all coefficients
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
377 in both the numerator and denominator. This should result in the
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
378 following form:</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
379 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
380 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
381 <IMG SRC="images/State_space_fichiers/cc96db353659ef3ff0408ce45112743e.png" NAME="images55" ALT=" \textbf{G}(s) = \frac{n_{1}s^{3} + n_{2}s^{2} + n_{3}s + n_{4}}{s^{4} + d_{1}s^{3} + d_{2}s^{2} + d_{3}s + d_{4}}" ALIGN=BOTTOM WIDTH=298 HEIGHT=47 BORDER=0>.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
382 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
383 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
384 The coefficients can now be inserted directly into the state-space
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
385 model by the following approach:</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
386 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
387 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
388 <IMG SRC="images/State_space_fichiers/612dae4aec269355721c7ad6ec438adf.png" NAME="images56" ALT="\dot{\textbf{x}}(t) = \begin{bmatrix} -d_{1}& -d_{2}& -d_{3}& -d_{4}\\ 1& 0& 0& 0\\ 0& 1& 0& 0\\ 0& 0& 1& 0 \end{bmatrix}\textbf{x}(t) + \begin{bmatrix} 1\\ 0\\ 0\\ 0\\ \end{bmatrix}\textbf{u}(t)" ALIGN=BOTTOM WIDTH=398 HEIGHT=97 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
389 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
390 <IMG SRC="images/State_space_fichiers/b578227cbffe36298e451dddad03316a.png" NAME="images57" ALT=" \textbf{y}(t) = \begin{bmatrix} n_{1}& n_{2}& n_{3}& n_{4} \end{bmatrix}\textbf{x}(t)" ALIGN=BOTTOM WIDTH=238 HEIGHT=25 BORDER=0>.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
391 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
392 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
393 This state-space realization is called <B>controllable canonical
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
394 form</B> because the resulting model is guaranteed to be
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
395 controllable (i.e., because the control enters a chain of
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
396 integrators, it has the ability to move every state).</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
397 <P>The transfer function coefficients can also be used to construct
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
398 another type of canonical form</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
399 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
400 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
401 <IMG SRC="images/State_space_fichiers/48a1d333782665d7903fe3f142cbeed6.png" NAME="images58" ALT="\dot{\textbf{x}}(t) = \begin{bmatrix} -d_{1}& 1& 0& 0\\ -d_{2}& 0& 1& 0\\ -d_{3}& 0& 0& 1\\ -d_{4}& 0& 0& 0 \end{bmatrix}\textbf{x}(t) + \begin{bmatrix} n_{1}\\ n_{2}\\ n_{3}\\ n_{4} \end{bmatrix}\textbf{u}(t)" ALIGN=BOTTOM WIDTH=337 HEIGHT=97 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
402 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
403 <IMG SRC="images/State_space_fichiers/79354cdcf381d3986dafa970009f10b4.png" NAME="images59" ALT=" \textbf{y}(t) = \begin{bmatrix} 1& 0& 0& 0 \end{bmatrix}\textbf{x}(t)" ALIGN=BOTTOM WIDTH=198 HEIGHT=25 BORDER=0>.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
404 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
405 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
406 This state-space realization is called <B>observable canonical form</B>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
407 because the resulting model is guaranteed to be observable (i.e.,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
408 because the output exits from a chain of integrators, every state
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
409 has an effect on the output).</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
410 <H3 STYLE="border: none; padding: 0cm"><FONT COLOR="#000000">Proper
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
411 transfer functions</FONT></H3>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
412 <P><FONT COLOR="#000000">Transfer functions which are only <A HREF="http://en.wikipedia.org/wiki/Proper_transfer_function">proper</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
413 (and not <A HREF="http://en.wikipedia.org/wiki/Strictly_proper">strictly
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
414 proper</A>) can also be realised quite easily. The trick here is to
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
415 separate the transfer function into two parts: a strictly proper
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
416 part and a constant.</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
417 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
418 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
419 <IMG SRC="images/State_space_fichiers/4634759df4f7389f67ac2d972c937ee6.png" NAME="images60" ALT=" \textbf{G}(s) = \textbf{G}_{SP}(s) + \textbf{G}(\infty)" ALIGN=BOTTOM WIDTH=205 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
420 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
421 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
422 The strictly proper transfer function can then be transformed into a
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
423 canonical state space realization using techniques shown above. The
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
424 state space realization of the constant is trivially
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
425 <IMG SRC="images/State_space_fichiers/f66dfcf330a8db1668e1fefff7ef58bb.png" NAME="images61" ALT="\textbf{y}(t) = \textbf{G}(\infty)\textbf{u}(t)" ALIGN=BOTTOM WIDTH=146 HEIGHT=20 BORDER=0>.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
426 Together we then get a state space realization with matrices <I>A</I>,<I>B</I>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
427 and <I>C</I> determined by the strictly proper part, and matrix <I>D</I>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
428 determined by the constant.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
429 <P><BR>Here is an example to clear things up a bit:</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
430 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
431 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
432 <IMG SRC="images/State_space_fichiers/53d2d208c9f9c252174c85b1e0c7bce3.png" NAME="images62" ALT=" \textbf{G}(s) = \frac{s^{2} + 3s + 3}{s^{2} + 2s + 1} = \frac{s + 2}{s^{2} + 2s + 1} + 1" ALIGN=BOTTOM WIDTH=322 HEIGHT=45 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
433 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
434 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
435 which yields the following controllable realization</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
436 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
437 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
438 <IMG SRC="images/State_space_fichiers/d9679b5a5a38271e615b871f76c79c38.png" NAME="images63" ALT="\dot{\textbf{x}}(t) = \begin{bmatrix} -2& -1\\ 1& 0\\ \end{bmatrix}\textbf{x}(t) + \begin{bmatrix} 1\\ 0\end{bmatrix}\textbf{u}(t)" ALIGN=BOTTOM WIDTH=270 HEIGHT=48 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
439 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
440 <IMG SRC="images/State_space_fichiers/278467bd0ca464c472b4e47477bdaaa5.png" NAME="images64" ALT=" \textbf{y}(t) = \begin{bmatrix} 1& 2\end{bmatrix}\textbf{x}(t) + \begin{bmatrix} 1\end{bmatrix}\textbf{u}(t)" ALIGN=BOTTOM WIDTH=231 HEIGHT=25 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
441 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
442 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
443 Notice how the output also depends directly on the input. This is
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
444 due to the
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
445 <IMG SRC="images/State_space_fichiers/b00b33e9ecc56576da0c0710f7fd548e.png" NAME="images65" ALT="\textbf{G}(\infty)" ALIGN=BOTTOM WIDTH=51 HEIGHT=20 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
446 constant in the transfer function.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
447 <H3 STYLE="border: none; padding: 0cm"><FONT COLOR="#000000">Feedback</FONT></H3>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
448 <P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><FONT COLOR="#000080"><A HREF="http://en.wikipedia.org/wiki/File:Typical_State_Space_model_with_feedback.png"><FONT COLOR="#000080"><IMG SRC="images/State_space_fichiers/Typical_State_Space_model_with_feedback.png" NAME="images66" ALIGN=BOTTOM WIDTH=359 HEIGHT=224 BORDER=1></FONT></A></FONT>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
449 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
450 <P>Typical state space model with feedback</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
451 <P><FONT COLOR="#000000">A common method for feedback is to multiply
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
452 the output by a matrix </FONT><FONT COLOR="#000000"><I>K</I></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
453 and setting this as the input to the system:
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
454 <IMG SRC="images/State_space_fichiers/3b8be748204028e004ff5140c7ed2e78.png" NAME="images67" ALT="\mathbf{u}(t) = K \mathbf{y}(t)" ALIGN=BOTTOM WIDTH=112 HEIGHT=21 BORDER=0>.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
455 Since the values of </FONT><FONT COLOR="#000000"><I>K</I></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
456 are unrestricted the values can easily be negated for <A HREF="http://en.wikipedia.org/wiki/Negative_feedback">negative
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
457 feedback</A>. The presence of a negative sign (the common notation)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
458 is merely a notational one and its absence has no impact on the end
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
459 results.</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
460 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
461 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/ddfd74546a0e35f9ec054af2ecd3f2fa.png" NAME="images68" ALT="\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=182 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
462 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
463 <IMG SRC="images/State_space_fichiers/d0ac09f5cde2ce822ecc3e369692d04b.png" NAME="images69" ALT="\mathbf{y}(t) = C \mathbf{x}(t) + D \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=184 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
464 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
465 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
466 becomes</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
467 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
468 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/75e73a990aed8d68c4ea0dfe1dc04823.png" NAME="images70" ALT="\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B K \mathbf{y}(t)" ALIGN=BOTTOM WIDTH=200 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
469 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
470 <IMG SRC="images/State_space_fichiers/417f9e2993d831bf2ec0777be3f684d9.png" NAME="images71" ALT="\mathbf{y}(t) = C \mathbf{x}(t) + D K \mathbf{y}(t)" ALIGN=BOTTOM WIDTH=202 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
471 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
472 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
473 solving the output equation for
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
474 <IMG SRC="images/State_space_fichiers/8bd1b0065e60113616b6750730e820f4.png" NAME="images72" ALT="\mathbf{y}(t)" ALIGN=BOTTOM WIDTH=34 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
475 and substituting in the state equation results in</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
476 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
477 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/57650b1210f16a5bcd9a545c351f0be8.png" NAME="images73" ALT="\dot{\mathbf{x}}(t) = \left(A + B K \left(I - D K\right)^{-1} C \right) \mathbf{x}(t)" ALIGN=BOTTOM WIDTH=312 HEIGHT=26 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
478 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
479 <IMG SRC="images/State_space_fichiers/78413a2591cd295ceda503bc6b2ea91b.png" NAME="images74" ALT="\mathbf{y}(t) = \left(I - D K\right)^{-1} C \mathbf{x}(t)" ALIGN=BOTTOM WIDTH=216 HEIGHT=24 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
480 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
481 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
482 <FONT COLOR="#000000">The advantage of this is that the <A HREF="http://en.wikipedia.org/wiki/Eigenvalues">eigenvalues</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
483 of </FONT><FONT COLOR="#000000"><I>A</I></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
484 can be controlled by setting </FONT><FONT COLOR="#000000"><I>K</I></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
485 appropriately through eigendecomposition of
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
486 <IMG SRC="images/State_space_fichiers/ff1b77ecd88e145dd3c106bdc6e98811.png" NAME="images75" ALT="\left(A + B K \left(I - D K\right)^{-1} C \right)" ALIGN=BOTTOM WIDTH=212 HEIGHT=30 BORDER=0>.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
487 This assumes that the open-loop system is <A HREF="http://en.wikipedia.org/wiki/Controllability">controllable</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
488 or that the unstable eigenvalues of </FONT><FONT COLOR="#000000"><I>A</I></FONT><FONT COLOR="#000000">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
489 can be made stable through appropriate choice of </FONT><FONT COLOR="#000000"><I>K</I></FONT><FONT COLOR="#000000">.</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
490 <P>One fairly common simplification to this system is removing <I>D</I>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
491 and setting <I>C</I> to identity, which reduces the equations to</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
492 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
493 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/3468897c1e237cff1ab38682f9b78693.png" NAME="images76" ALT="\dot{\mathbf{x}}(t) = \left(A + B K \right) \mathbf{x}(t)" ALIGN=BOTTOM WIDTH=184 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
494 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
495 <IMG SRC="images/State_space_fichiers/67a23f55dcbb3f93c3c5c8fc3681952b.png" NAME="images77" ALT="\mathbf{y}(t) = \mathbf{x}(t)" ALIGN=BOTTOM WIDTH=94 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
496 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
497 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
498 This reduces the necessary eigendecomposition to just <I>A</I> + <I>BK</I>.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
499 <H3 STYLE="border: none; padding: 0cm"><FONT COLOR="#000000">Feedback
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
500 with setpoint (reference) input</FONT></H3>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
501 <P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><FONT COLOR="#000080"><A HREF="http://en.wikipedia.org/wiki/File:Typical_State_Space_model_with_feedback_and_input.png"><FONT COLOR="#000080"><IMG SRC="images/State_space_fichiers/Typical_State_Space_model_with_feedback_and_input.png" NAME="images78" ALIGN=BOTTOM WIDTH=446 HEIGHT=240 BORDER=1></FONT></A></FONT>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
502 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
503 <P>Output feedback with set point</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
504 <P>In addition to feedback, an input, <I>r</I>(<I>t</I>), can be
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
505 added such that
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
506 <IMG SRC="images/State_space_fichiers/c821af7d0e7d7d7b2a163898969ff496.png" NAME="images79" ALT="\mathbf{u}(t) = -K \mathbf{y}(t) + \mathbf{r}(t)" ALIGN=BOTTOM WIDTH=183 HEIGHT=21 BORDER=0>.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
507 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
508 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/ddfd74546a0e35f9ec054af2ecd3f2fa.png" NAME="images80" ALT="\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=182 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
509 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
510 <IMG SRC="images/State_space_fichiers/d0ac09f5cde2ce822ecc3e369692d04b.png" NAME="images81" ALT="\mathbf{y}(t) = C \mathbf{x}(t) + D \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=184 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
511 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
512 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
513 becomes</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
514 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
515 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/3d79549a0fc64810b943e3cb57e13af8.png" NAME="images82" ALT="\dot{\mathbf{x}}(t) = A \mathbf{x}(t) - B K \mathbf{y}(t) + B \mathbf{r}(t)" ALIGN=BOTTOM WIDTH=272 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
516 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
517 <IMG SRC="images/State_space_fichiers/798f03a10bb4be76f6abf2ac6910a396.png" NAME="images83" ALT="\mathbf{y}(t) = C \mathbf{x}(t) - D K \mathbf{y}(t) + D \mathbf{r}(t)" ALIGN=BOTTOM WIDTH=274 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
518 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
519 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
520 solving the output equation for
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
521 <IMG SRC="images/State_space_fichiers/8bd1b0065e60113616b6750730e820f4.png" NAME="images84" ALT="\mathbf{y}(t)" ALIGN=BOTTOM WIDTH=34 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
522 and substituting in the state equation results in</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
523 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
524 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/38d70e22f115d9278eb21de4e4e484e6.png" NAME="images85" ALT="\dot{\mathbf{x}}(t) = \left(A - B K \left(I + D K\right)^{-1} C \right) \mathbf{x}(t) + B \left(I - K \left(I + D K\right)^{-1}D \right) \mathbf{r}(t)" ALIGN=BOTTOM WIDTH=588 HEIGHT=25 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
525 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
526 <IMG SRC="images/State_space_fichiers/37aad76449d0f436741f30b04413c4cd.png" NAME="images86" ALT="\mathbf{y}(t) = \left(I + D K\right)^{-1} C \mathbf{x}(t) + \left(I + D K\right)^{-1} D \mathbf{r}(t)" ALIGN=BOTTOM WIDTH=394 HEIGHT=24 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
527 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
528 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
529 One fairly common simplification to this system is removing <I>D</I>,
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
530 which reduces the equations to</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
531 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
532 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/680eb3b0a3e7da89e78ed453cd1667ad.png" NAME="images87" ALT="\dot{\mathbf{x}}(t) = \left(A - B K C \right) \mathbf{x}(t) + B \mathbf{r}(t)" ALIGN=BOTTOM WIDTH=271 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
533 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
534 <IMG SRC="images/State_space_fichiers/2f8e4ed7d6ee668acb3731a715a41e64.png" NAME="images88" ALT="\mathbf{y}(t) = C \mathbf{x}(t)" ALIGN=BOTTOM WIDTH=109 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
535 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
536 <H3 STYLE="border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
537 <FONT COLOR="#000000">Moving object example</FONT></H3>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
538 <P><FONT COLOR="#000000">A classical linear system is that of
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
539 one-dimensional movement of an object. The <A HREF="http://en.wikipedia.org/wiki/Newton%27s_laws_of_motion">Newton's
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
540 laws of motion</A> for an object moving horizontally on a plane and
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
541 attached to a wall with a spring</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
542 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
543 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
544 <IMG SRC="images/State_space_fichiers/4ac69961a4f494cd12470e4005c7b6c9.png" NAME="images89" ALT="m \ddot{y}(t) = u(t) - k_1 \dot{y}(t) - k_2 y(t)" ALIGN=BOTTOM WIDTH=258 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
545 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
546 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
547 where</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
548 <UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
549 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><I>y</I>(<I>t</I>)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
550 is position;
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
551 <IMG SRC="images/State_space_fichiers/4721de091b5d15bb9809fa41a5e40db7.png" NAME="images90" ALT="\dot y(t)" ALIGN=BOTTOM WIDTH=32 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
552 is velocity;
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
553 <IMG SRC="images/State_space_fichiers/d822334addb31f4d4fe1683e609e2742.png" NAME="images91" ALT="\ddot{y}(t)" ALIGN=BOTTOM WIDTH=32 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
554 is acceleration
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
555 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
556 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><I>u</I>(<I>t</I>)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
557 is an applied force
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
558 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
559 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><I>k</I><SUB>1</SUB>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
560 is the viscous friction coefficient
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
561 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
562 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><I>k</I><SUB>2</SUB>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
563 is the spring constant
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
564 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
565 <LI><P><I>m</I> is the mass of the object
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
566 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
567 </UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
568 <P>The state equation would then become</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
569 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
570 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/c3b6d7d7cd783c7f6a6dd2ff7478f8a0.png" NAME="images92" ALT="\left[ \begin{matrix} \mathbf{\dot{x_1}}(t) \\ \mathbf{\dot{x_2}}(t) \end{matrix} \right] = \left[ \begin{matrix} 0 & 1 \\ -\frac{k_2}{m} & -\frac{k_1}{m} \end{matrix} \right] \left[ \begin{matrix} \mathbf{x_1}(t) \\ \mathbf{x_2}(t) \end{matrix} \right] + \left[ \begin{matrix} 0 \\ \frac{1}{m} \end{matrix} \right] \mathbf{u}(t)" ALIGN=BOTTOM WIDTH=357 HEIGHT=49 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
571 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
572 <IMG SRC="images/State_space_fichiers/7771c47e6e2f82d6138ee2e2ec920c7e.png" NAME="images93" ALT="\mathbf{y}(t) = \left[ \begin{matrix} 1 & 0 \end{matrix} \right] \left[ \begin{matrix} \mathbf{x_1}(t) \\ \mathbf{x_2}(t) \end{matrix} \right]" ALIGN=BOTTOM WIDTH=176 HEIGHT=49 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
573 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
574 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
575 where</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
576 <UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
577 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><I>x</I><SUB>1</SUB>(<I>t</I>)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
578 represents the position of the object
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
579 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
580 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/93381b17950c251e433b768a2e2ba6b3.png" NAME="images94" ALT="x_2(t) = \dot{x_1}(t)" ALIGN=BOTTOM WIDTH=108 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
581 is the velocity of the object
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
582 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
583 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/08b851e43484faf6400aa16c3632cda5.png" NAME="images95" ALT="\dot{x_2}(t) = \ddot{x_1}(t)" ALIGN=BOTTOM WIDTH=108 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
584 is the acceleration of the object
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
585 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
586 <LI><P>the output
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
587 <IMG SRC="images/State_space_fichiers/8bd1b0065e60113616b6750730e820f4.png" NAME="images96" ALT="\mathbf{y}(t)" ALIGN=BOTTOM WIDTH=34 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
588 is the position of the object
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
589 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
590 </UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
591 <P><FONT COLOR="#000000">The <A HREF="http://en.wikipedia.org/wiki/Controllability">controllability</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
592 test is then</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
593 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
594 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
595 <IMG SRC="images/State_space_fichiers/1b66d8f8c0227384d70806878463f8ce.png" NAME="images97" ALT="\left[ \begin{matrix} B & AB \end{matrix} \right] = \left[ \begin{matrix} \left[ \begin{matrix} 0 \\ \frac{1}{m} \end{matrix} \right] & \left[ \begin{matrix} 0 & 1 \\ -\frac{k_2}{m} & -\frac{k_1}{m} \end{matrix} \right] \left[ \begin{matrix} 0 \\ \frac{1}{m} \end{matrix} \right] \end{matrix} \right] = \left[ \begin{matrix} 0 & \frac{1}{m} \\ \frac{1}{m} & \frac{k_1}{m^2} \end{matrix} \right]" ALIGN=BOTTOM WIDTH=422 HEIGHT=49 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
596 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
597 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
598 which has full rank for all <I>k</I><SUB>1</SUB> and <I>m</I>.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
599 <P><FONT COLOR="#000000">The <A HREF="http://en.wikipedia.org/wiki/Observability">observability</A>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
600 test is then</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
601 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
602 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
603 <IMG SRC="images/State_space_fichiers/05e20d83a2969f3b9e48fef4bacc8d3c.png" NAME="images98" ALT="\left[ \begin{matrix} C \\ CA \end{matrix} \right] = \left[ \begin{matrix} \left[ \begin{matrix} 1 & 0 \end{matrix} \right] \\ \left[ \begin{matrix} 1 & 0 \end{matrix} \right] \left[ \begin{matrix} 0 & 1 \\ -\frac{k_2}{m} & -\frac{k_1}{m} \end{matrix} \right] \end{matrix} \right] = \left[ \begin{matrix} 1 & 0 \\ 0 & 1 \end{matrix} \right]" ALIGN=BOTTOM WIDTH=340 HEIGHT=74 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
604 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
605 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
606 which also has full rank. Therefore, this system is both
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
607 controllable and observable.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
608 <H2 STYLE="border: none; padding: 0cm"><FONT COLOR="#000000">Nonlinear
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
609 systems</FONT></H2>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
610 <P>The more general form of a state space model can be written as
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
611 two functions.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
612 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
613 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/0902bfc977a4f7f7c7cc8bc54ac93634.png" NAME="images99" ALT="\mathbf{\dot{x}}(t) = \mathbf{f}(t, x(t), u(t))" ALIGN=BOTTOM WIDTH=174 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
614 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
615 <IMG SRC="images/State_space_fichiers/f5d907725ffb26ae9fd08b9615298756.png" NAME="images100" ALT="\mathbf{y}(t) = \mathbf{h}(t, x(t), u(t))" ALIGN=BOTTOM WIDTH=178 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
616 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
617 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
618 The first is the state equation and the latter is the output
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
619 equation. If the function
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
620 <IMG SRC="images/State_space_fichiers/f6980ec56e3e7fcce7a143b507a53126.png" NAME="images101" ALT="f(\cdot,\cdot,\cdot)" ALIGN=BOTTOM WIDTH=59 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
621 is a linear combination of states and inputs then the equations can
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
622 be written in matrix notation like above. The <I>u</I>(<I>t</I>)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
623 argument to the functions can be dropped if the system is unforced
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
624 (i.e., it has no inputs).</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
625 <H3 STYLE="border: none; padding: 0cm"><FONT COLOR="#000000">Pendulum
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
626 example</FONT></H3>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
627 <P><FONT COLOR="#000000">A classic nonlinear system is a simple
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
628 unforced <A HREF="http://en.wikipedia.org/wiki/Pendulum">pendulum</A></FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
629 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
630 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
631 <IMG SRC="images/State_space_fichiers/7880de515445681f6e12f7c482ddc9ef.png" NAME="images102" ALT="ml\ddot\theta(t)= -mg\sin\theta(t) - kl\dot\theta(t)" ALIGN=BOTTOM WIDTH=258 HEIGHT=25 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
632 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
633 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
634 where</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
635 <UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
636 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm">θ(<I>t</I>)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
637 is the angle of the pendulum with respect to the direction of
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
638 gravity
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
639 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
640 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><I>m</I>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
641 is the mass of the pendulum (pendulum rod's mass is assumed to be
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
642 zero)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
643 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
644 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><I>g</I>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
645 is the gravitational acceleration
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
646 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
647 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><I>k</I>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
648 is coefficient of friction at the pivot point
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
649 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
650 <LI><P><I>l</I> is the radius of the pendulum (to the center of
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
651 gravity of the mass <I>m</I>)
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
652 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
653 </UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
654 <P>The state equations are then</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
655 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
656 <DD STYLE="margin-left: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/0cec7d908b5ca88fb84845636a5aa5b2.png" NAME="images103" ALT="\dot{x_1}(t) = x_2(t)" ALIGN=BOTTOM WIDTH=108 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
657 </DD><DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
658 <IMG SRC="images/State_space_fichiers/66a8c07009561c21dcf5481d01b376f3.png" NAME="images104" ALT="\dot{x_2}(t) = - \frac{g}{l}\sin{x_1}(t) - \frac{k}{m}{x_2}(t)" ALIGN=BOTTOM WIDTH=254 HEIGHT=41 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
659 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
660 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
661 where</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
662 <UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
663 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><I>x</I><SUB>1</SUB>(<I>t</I>):
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
664 = θ(<I>t</I>) is the angle of the pendulum
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
665 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
666 <LI><P STYLE="margin-bottom: 0cm; border: none; padding: 0cm"><IMG SRC="images/State_space_fichiers/5cd1da7ba81f4b866e8174ab86e3c5c8.png" NAME="images105" ALT="x_2(t) :=\dot{x_1}(t)" ALIGN=BOTTOM WIDTH=112 HEIGHT=21 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
667 is the rotational velocity of the pendulum
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
668 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
669 <LI><P><IMG SRC="images/State_space_fichiers/7bbc064941778c6e2e4d88bf4152c728.png" NAME="images106" ALT="\dot{x_2} =\ddot{x_1}" ALIGN=BOTTOM WIDTH=63 HEIGHT=17 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
670 is the rotational acceleration of the pendulum
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
671 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
672 </UL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
673 <P>Instead, the state equation can be written in the general form</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
674 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
675 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
676 <IMG SRC="images/State_space_fichiers/e0da7bf257cb650885319ce4b5833bd8.png" NAME="images107" ALT="\dot{x}(t) = \left( \begin{matrix} \dot{x_1}(t) \\ \dot{x_2}(t) \end{matrix} \right) = \mathbf{f}(t, x(t)) = \left( \begin{matrix} x_2(t) \\ - \frac{g}{l}\sin{x_1}(t) - \frac{k}{m}{x_2}(t) \end{matrix} \right)." ALIGN=BOTTOM WIDTH=473 HEIGHT=49 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
677 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
678 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
679 <FONT COLOR="#000000">The <A HREF="http://en.wikipedia.org/wiki/Mechanical_equilibrium">equilibrium</A>/<A HREF="http://en.wikipedia.org/wiki/Stationary_point">stationary
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
680 points</A> of a system are when
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
681 <IMG SRC="images/State_space_fichiers/4009ed416fcf36f8b7ec3dbabe9fa791.png" NAME="images108" ALT="\dot{x} = 0" ALIGN=BOTTOM WIDTH=46 HEIGHT=15 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
682 and so the equilibrium points of a pendulum are those that satisfy</FONT></P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
683 <DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
684 <DD STYLE="margin-left: 0cm; margin-bottom: 0.5cm; border: none; padding: 0cm">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
685 <IMG SRC="images/State_space_fichiers/f8f06079d8991d2831f60ec5a190f11b.png" NAME="images109" ALT="\left( \begin{matrix} x_1 \\ x_2 \end{matrix} \right) = \left( \begin{matrix} n\pi \\ 0 \end{matrix} \right)" ALIGN=BOTTOM WIDTH=120 HEIGHT=48 BORDER=0>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
686 </DD></DL>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
687 <P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
688 for integers <I>n</I>.</P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
689 </SPAN><BR><BR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
690 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
691 <P><BR><BR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
692 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
693 <P><BR><BR>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
694 </P>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
695 </BODY>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
696 </HTML>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
697 </p>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
698
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
699 <br>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
700 <br>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
701 <table class="nav" summary="Navigation aid" border="0" width=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
702 "100%" cellpadding="0" cellspacing="0">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
703 <tr valign="top">
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
704 <td align="left" width="20"><a href="smodel_introduction.html"><img src=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
705 "b_prev.gif" border="0" align="bottom" alt=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
706 "Introduction to parametric models in LTPDA"></a> </td>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
707
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
708 <td align="left">Introduction to parametric models in LTPDA</td>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
709
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
710 <td> </td>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
711
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
712 <td align="right">Introduction to Statespace Models with LTPDA</td>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
713
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
714 <td align="right" width="20"><a href=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
715 "ssm_introduction.html"><img src="b_next.gif" border="0" align=
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
716 "bottom" alt="Introduction to Statespace Models with LTPDA"></a></td>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
717 </tr>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
718 </table><br>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
719
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
720 <p class="copy">©LTP Team</p>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
721 </body>
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
722 </html>
|