comparison m-toolbox/html_help/help/ug/sdomainfit.html @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:f0afece42f48
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
3
4 <html lang="en">
5 <head>
6 <meta name="generator" content=
7 "HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org">
8 <meta http-equiv="Content-Type" content=
9 "text/html; charset=us-ascii">
10
11 <title>S-Domain Fit (LTPDA Toolbox)</title>
12 <link rel="stylesheet" href="docstyle.css" type="text/css">
13 <meta name="generator" content="DocBook XSL Stylesheets V1.52.2">
14 <meta name="description" content=
15 "Presents an overview of the features, system requirements, and starting the toolbox.">
16 </head>
17
18 <body>
19 <a name="top_of_page" id="top_of_page"></a>
20
21 <p style="font-size:1px;">&nbsp;</p>
22
23 <table class="nav" summary="Navigation aid" border="0" width=
24 "100%" cellpadding="0" cellspacing="0">
25 <tr>
26 <td valign="baseline"><b>LTPDA Toolbox</b></td><td><a href="../helptoc.html">contents</a></td>
27
28 <td valign="baseline" align="right"><a href=
29 "zdomainfit.html"><img src="b_prev.gif" border="0" align=
30 "bottom" alt="Z-Domain Fit"></a>&nbsp;&nbsp;&nbsp;<a href=
31 "gui.html"><img src="b_next.gif" border="0" align=
32 "bottom" alt="Graphical User Interfaces in LTPDA"></a></td>
33 </tr>
34 </table>
35
36 <h1 class="title"><a name="f3-12899" id="f3-12899"></a>S-Domain Fit</h1>
37 <hr>
38
39 <p>
40
41 <!-- ================================================== -->
42 <!-- BEGIN CONTENT FILE -->
43 <!-- ================================================== -->
44 <!-- ===== link box: Begin ===== -->
45 <p>
46 <table border="1" width="80%">
47 <tr>
48 <td>
49 <table border="0" cellpadding="5" class="categorylist" width="100%">
50 <colgroup>
51 <col width="37%"/>
52 <col width="63%"/>
53 </colgroup>
54 <tbody>
55 <tr valign="top">
56 <td>
57 <a href="#description">Description</a>
58 </td>
59 <td>S-domain system identification in LTPDA.</td>
60 </tr>
61 <tr valign="top">
62 <td>
63 <a href="#algorithm">Algorithm</a>
64 </td>
65 <td>Fit Algorithm.</td>
66 </tr>
67 <tr valign="top">
68 <td>
69 <a href="#examples">Examples</a>
70 </td>
71 <td>Usage example of s-domain system identification tool.</td>
72 </tr>
73 <tr valign="top">
74 <td>
75 <a href="#references">References</a>
76 </td>
77 <td>Bibliographic references.</td>
78 </tr>
79 </tbody>
80 </table>
81 </td>
82 </tr>
83 </table>
84 </p>
85 <!-- ===== link box: End ====== -->
86
87 <h2><a name="description">S-domain system identification in LTPDA</a></h2>
88 <p>
89 System identification in s-domain is performed with the function
90 <a href="matlab:doc('ao/sDomainFit')">sDomainFit</a>.
91 It is based on a modeified version of the vector fitting algorithm.
92 Details on the core agorithm can be found in [1 - 2].
93 </p>
94
95
96
97 <h2><a name="algorithm">Fit Algorithm</a></h2>
98
99 <p>
100 The function performs a fitting loop to automatically identify model
101 order and parameters in s-domain. Output is a s-domain model expanded
102 in partial fractions:
103 </p>
104 <div class="fragment"><pre>
105 r1 rN
106 f(s) = ------- + ... + ------- + d
107 s - p1 s - pN
108 </pre></div>
109 <p>
110 Since the function can fit more than one input analysis object at a time
111 with a common set of poles, output
112 <a href="parfrac.html">parfrac</a> are embedded in a
113 <a href="class_desc_matrix.html">matrix</a> (note that this characteristic
114 will be probably changed becausse of the introduction of the
115 <a href="class_desc_collection.html">collection</a> class).
116 </p>
117 <p>
118 Identification loop stops when the stop condition is reached.
119 Stop criterion is based on three different approachs:
120 <ol>
121 <li> Mean Squared Error and variation <br>
122 Check if the normalized mean squared error is lower than the value specified in
123 <tt>FITTOL</tt> and if the relative variation of the mean squared error is lower
124 than the value specified in <tt>MSEVARTOL</tt>.
125 E.g. <tt>FITTOL = 1e-3</tt>, <tt>MSEVARTOL = 1e-2</tt> search for a fit with
126 normalized meam square error lower than <tt>1e-3</tt> and <tt>MSE</tt> relative
127 variation lower than <tt>1e-2</tt>.
128 </li>
129 <li> Log residuals difference and root mean squared error
130 <ul>
131 <li> Log Residuals difference </br>
132 Check if the minimum of the logarithmic difference between data and
133 residuals is larger than a specified value. ie. if the conditioning
134 value is <tt>2</tt>, the function ensures that the difference between data and
135 residuals is at lest two order of magnitude lower than data itsleves.
136 <li> Root Mean Squared Error </br>
137 Check that the variation of the root mean squared error is lower than
138 <tt>10^(-1*value)</tt>.
139 </ul>
140 </li>
141 <li> Residuals spectral flatness and root mean squared error
142 <ul>
143 <li> Residuals Spectral Flatness </br>
144 In case of a fit on noisy data, the residuals from a good fit are
145 expected to be as much as possible similar to a white noise. This
146 property can be used to test the accuracy of a fit procedure. In
147 particular it can be tested that the spectral flatness coefficient of
148 the residuals is larger than a certain qiantity sf such that <tt>0 < sf < 1</tt>.
149 <li> Root Mean Squared Error </br>
150 Check that the variation of the root mean squared error is lower than
151 <tt>10^(-1*value)</tt>.
152 </ul>
153 </li>
154 </ol>
155
156 </p>
157 <p>
158 The function can also perform a single loop without taking care of
159 the stop conditions. This happens when <span class="string">'AutoSearch'</span> parameter is
160 set to <span class="string">'off'</span>.
161 </p>
162
163
164 <h2><a name="examples">Usage example of s-domain system identification tool</a></h2>
165 <p>
166 In this example we fit a given frequency response to get a partial fraction model.
167 For the meaning of any parameter please refer to
168 <a href="matlab:doc('ao')">ao</a> and
169 <a href="matlab:doc('ao/sDomainFit')">sDomainFit</a>
170 documentation pages.
171 </p>
172
173 <div class="fragment"><pre>
174 pl = plist(...
175 <span class="string">'fsfcn'</span>, <span class="string">'(1e-3./(f).^2 + 1e3./(0.001+f) + 1e5.*f.^2).*1e-10'</span>,...
176 <span class="string">'f1'</span>, 1e-6,...
177 <span class="string">'f2'</span>, 5,...
178 <span class="string">'nf'</span>, 100);
179
180 a = ao(pl);
181 a.setName;
182
183 <span class="comment">% Fit parameter list</span>
184 pl_fit = plist(...
185 <span class="string">'AutoSearch'</span>,<span class="string">'on'</span>,...
186 <span class="string">'StartPolesOpt'</span>,<span class="string">'clog'</span>,...
187 <span class="string">'maxiter'</span>,50,...
188 <span class="string">'minorder'</span>,7,...
189 <span class="string">'maxorder'</span>,15,...
190 <span class="string">'weightparam'</span>,<span class="string">'abs'</span>,...
191 <span class="string">'CONDTYPE'</span>,<span class="string">'MSE'</span>,...
192 <span class="string">'FITTOL'</span>,1e-3,...
193 <span class="string">'MSEVARTOL'</span>,1e-2,...
194 <span class="string">'Plot'</span>,<span class="string">'on'</span>,...
195 <span class="string">'ForceStability'</span>,<span class="string">'off'</span>);
196
197 <span class="comment">% Do fit</span>
198 mod = sDomainFit(a, pl_fit);
199 </pre></div>
200
201 <p>
202 <tt>mod</tt> is a <tt>matrix</tt> object containing a <tt>parfrac</tt> object.
203 </p>
204
205 <div class="fragment"><pre>
206 >> mod
207 ---- matrix 1 ----
208 name: fit(a)
209 size: 1x1
210 01: parfrac | parfrac(fit(a))
211 description:
212 UUID: 2dc1ac28-4199-42d2-9b1a-b420252b3f8c
213 ------------------
214 </pre></div>
215
216 <div class="fragment"><pre>
217 >> mod.objs
218 ---- parfrac 1 ----
219 model: fit(a)
220 res: [1.69531090137847e-006;-1.69531095674486e-006;1.39082537801437e-007;-1.39094453401266e-007;3.9451875151135e-007;-3.94524993613367e-007;4.53671387948961e-007;-4.53664974359603e-007;1124.81020427899;0.000140057852149302-i*0.201412268649905;0.000140057852149302+i*0.201412268649905]
221 poles: [-1.18514026248382e-006;1.18514354570495e-006;-0.00457311582050939;0.0045734088943545;-0.0316764149343339;0.0316791653277322;-0.276256442292693;0.27627799022013;330754.550617933;-0.0199840558095427+i*118.439896186467;-0.0199840558095427-i*118.439896186467]
222 dir: 0
223 pmul: [1;1;1;1;1;1;1;1;1;1;1]
224 iunits: []
225 ounits: []
226 description:
227 UUID: 2afc4c82-7c2a-4fe3-8910-d8590884d58c
228 -------------------
229 </pre></div>
230
231
232 <h2><a name="references">References</a></h2>
233 <p>
234 <ol>
235 <li> B. Gustavsen and A. Semlyen, "Rational approximation of frequency
236 domain responses by Vector Fitting", IEEE Trans. Power Delivery
237 vol. 14, no. 3, pp. 1052-1061, July 1999.
238 <li> B. Gustavsen, "Improving the Pole Relocating Properties of Vector
239 Fitting", IEEE Trans. Power Delivery vol. 21, no. 3, pp.
240 1587-1592, July 2006.
241 </ol>
242 </p>
243 </p>
244
245 <br>
246 <br>
247 <table class="nav" summary="Navigation aid" border="0" width=
248 "100%" cellpadding="0" cellspacing="0">
249 <tr valign="top">
250 <td align="left" width="20"><a href="zdomainfit.html"><img src=
251 "b_prev.gif" border="0" align="bottom" alt=
252 "Z-Domain Fit"></a>&nbsp;</td>
253
254 <td align="left">Z-Domain Fit</td>
255
256 <td>&nbsp;</td>
257
258 <td align="right">Graphical User Interfaces in LTPDA</td>
259
260 <td align="right" width="20"><a href=
261 "gui.html"><img src="b_next.gif" border="0" align=
262 "bottom" alt="Graphical User Interfaces in LTPDA"></a></td>
263 </tr>
264 </table><br>
265
266 <p class="copy">&copy;LTP Team</p>
267 </body>
268 </html>