Mercurial > hg > ltpda
comparison m-toolbox/html_help/help/ug/sigproc_diff.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>Discrete Derivative (LTPDA Toolbox)</title> | |
12 <link rel="stylesheet" href="docstyle.css" type="text/css"> | |
13 <meta name="generator" content="DocBook XSL Stylesheets V1.52.2"> | |
14 <meta name="description" content= | |
15 "Presents an overview of the features, system requirements, and starting the toolbox."> | |
16 </head> | |
17 | |
18 <body> | |
19 <a name="top_of_page" id="top_of_page"></a> | |
20 | |
21 <p style="font-size:1px;"> </p> | |
22 | |
23 <table class="nav" summary="Navigation aid" border="0" width= | |
24 "100%" cellpadding="0" cellspacing="0"> | |
25 <tr> | |
26 <td valign="baseline"><b>LTPDA Toolbox</b></td><td><a href="../helptoc.html">contents</a></td> | |
27 | |
28 <td valign="baseline" align="right"><a href= | |
29 "sigproc_applyfilt.html"><img src="b_prev.gif" border="0" align= | |
30 "bottom" alt="Applying digital filters to data"></a> <a href= | |
31 "sigproc_spec.html"><img src="b_next.gif" border="0" align= | |
32 "bottom" alt="Spectral Estimation"></a></td> | |
33 </tr> | |
34 </table> | |
35 | |
36 <h1 class="title"><a name="f3-12899" id="f3-12899"></a>Discrete Derivative</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>Discrete derivative estimation in LTPDA.</td> | |
60 </tr> | |
61 <tr valign="top"> | |
62 <td> | |
63 <a href="#algorithm">Algorithm</a> | |
64 </td> | |
65 <td>Derivatives Algorithms.</td> | |
66 </tr> | |
67 <tr valign="top"> | |
68 <td> | |
69 <a href="#examples">Examples</a> | |
70 </td> | |
71 <td>Usage examples of discrete derivative estimation tools.</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 | |
88 | |
89 <p> | |
90 | |
91 </p> | |
92 | |
93 | |
94 <h2><a name="description">Derivative calculation for dicrete data series</a></h2> | |
95 | |
96 <p> | |
97 Derivative estimation on discrete data series is implemented by the function | |
98 <a href="matlab:doc('ao/diff')">ao/diff</a>. | |
99 This function embeds several algorithms for the calculation | |
100 of zero, first and second order derivative. Where with zero order derivative we intend | |
101 a particular category of data smoothers [1]. | |
102 </p> | |
103 | |
104 | |
105 | |
106 <h2><a name="algorithm">Algorithm</a></h2> | |
107 | |
108 <p> | |
109 <table cellspacing="0" class="body" cellpadding="2" border="0" width="80%"> | |
110 <colgroup> | |
111 <col width="15%"/> | |
112 <col width="85%"/> | |
113 </colgroup> | |
114 <thead> | |
115 <tr valign="top"> | |
116 <th class="categorylist">Method</th> | |
117 <th class="categorylist">Description</th> | |
118 </tr> | |
119 </thead> | |
120 <tbody> | |
121 <tr valign="top"> | |
122 <td bgcolor="#f3f4f5"> | |
123 <p><span class="string">'2POINT'</span></p> | |
124 </td> | |
125 <td bgcolor="#f3f4f5"> | |
126 <p> | |
127 Compute first derivative with two point equation according to: | |
128 <div align="center"> | |
129 <IMG src="images/sigproc_diff_algo01.gif" align="center" border="0"> | |
130 </div> | |
131 </p> | |
132 </td> | |
133 </tr> | |
134 <tr valign="top"> | |
135 <td bgcolor="#f3f4f5"> | |
136 <p><span class="string">'3POINT'</span></p> | |
137 </td> | |
138 <td bgcolor="#f3f4f5"> | |
139 <p> | |
140 Compute first derivative with three point equation according to: | |
141 <div align="center"> | |
142 <IMG src="images/sigproc_diff_algo02.gif" align="center" border="0"> | |
143 </div> | |
144 </p> | |
145 </td> | |
146 </tr> | |
147 <tr valign="top"> | |
148 <td bgcolor="#f3f4f5"> | |
149 <p><span class="string">'5POINT'</span></p> | |
150 </td> | |
151 <td bgcolor="#f3f4f5"> | |
152 <p> | |
153 Compute first derivative with five point equation according to: | |
154 <div align="center"> | |
155 <IMG src="images/sigproc_diff_algo03.gif" align="center" border="0"> | |
156 </div> | |
157 </p> | |
158 </td> | |
159 </tr> | |
160 <tr valign="top"> | |
161 <td bgcolor="#f3f4f5"> | |
162 <p><span class="string">'FPS'</span></p> | |
163 </td> | |
164 <td bgcolor="#f3f4f5"> | |
165 <p> | |
166 Five Point Stencil is a generalized method to calculate zero, first and second | |
167 order discrete derivative of a given time series. Derivative approximation, | |
168 at a given time <i>t = kT</i> (<i>k</i> being an integer and <i>T</i> | |
169 being the sampling time), is calculated by means of finite differences | |
170 between the element at <i>t</i> with its four neighbors: | |
171 <div align="center"> | |
172 <IMG src="images/sigproc_diff_algo04.gif" align="center" border="0"> | |
173 </div> | |
174 </p> | |
175 <p> | |
176 It can be demonstrated that the coefficients of the expansion can be | |
177 expressed as a function of one of them [1]. This allows the construction | |
178 of a family of discrete derivative estimators characterized by a | |
179 good low frequency accuracy and a smoothing behavior at high frequencies | |
180 (near the nyquist frequency). <br/> | |
181 Non-trivial values for the <span class="string">'COEFF'</span> parameter are: | |
182 <ul> | |
183 <li> Parabolic fit approximation <br/> | |
184 These coefficients can be obtained by a parabolic fit procedure on | |
185 a generic set of data [1]. | |
186 <ul> | |
187 <li> Zeroth order -3/35 | |
188 <li> First order -1/5 | |
189 <li> Second order 2/7 | |
190 </ul> | |
191 <li> Taylor series expansion <br/> | |
192 These coefficients can be obtained by a series expansion of a generic set of data [1 - 3]. | |
193 <ul> | |
194 <li> First order 1/12 | |
195 <li> Second order -1/12 | |
196 </ul> | |
197 <li> PI <br/> | |
198 This coefficient allows to define a second derivative estimator with | |
199 a notch feature at the nyquist frequency [1]. | |
200 <ul> | |
201 <li> Second order 1/4 | |
202 </ul> | |
203 </ul> | |
204 </p> | |
205 </td> | |
206 </tr> | |
207 </tbody> | |
208 </table> | |
209 </p> | |
210 | |
211 <h2><a name="examples"></a>Examples</h2> | |
212 | |
213 Consider <tt>a</tt> as a time series analysis object. First and second | |
214 derivative of <tt>a</tt> can be easily obtained with a call to | |
215 <a href="matlab:doc('ao/diff')">diff</a>. Please refer to | |
216 <a href="matlab:doc('ao/diff')">ao/diff</a> documantation page for the | |
217 meaning of any parameter. | |
218 <p> | |
219 Frequency response of first and second order estimators is reported in | |
220 figures 1 and 2 respectively. | |
221 </p> | |
222 | |
223 <h3>First derivative</h3> | |
224 | |
225 <div class="fragment"><pre> | |
226 | |
227 pl = plist(... | |
228 <span class="string">'method'</span>, <span class="string">'2POINT'</span>); | |
229 b = diff(a, pl); | |
230 | |
231 pl = plist(... | |
232 <span class="string">'method'</span>, <span class="string">'ORDER2SMOOTH'</span>); | |
233 c = diff(a, pl); | |
234 | |
235 pl = plist(... | |
236 <span class="string">'method'</span>, <span class="string">'3POINT'</span>); | |
237 d = diff(a, pl); | |
238 | |
239 pl = plist(... | |
240 <span class="string">'method'</span>, <span class="string">'5POINT'</span>); | |
241 e = diff(a, pl); | |
242 | |
243 pl = plist(... | |
244 <span class="string">'method'</span>, <span class="string">'FPS'</span>, ... | |
245 <span class="string">'ORDER'</span>, <span class="string">'FIRST'</span>, ... | |
246 <span class="string">'COEFF'</span>, -1/5); | |
247 f = diff(a, pl); | |
248 | |
249 </pre></div> | |
250 | |
251 <h3>Second derivative</h3> | |
252 | |
253 <div class="fragment"><pre> | |
254 | |
255 pl = plist(... | |
256 <span class="string">'method'</span>, <span class="string">'FPS'</span>, ... | |
257 <span class="string">'ORDER'</span>, <span class="string">'SECOND'</span>, ... | |
258 <span class="string">'COEFF'</span>, 2/7); | |
259 b = diff(a, pl); | |
260 | |
261 pl = plist(... | |
262 <span class="string">'method'</span>, <span class="string">'FPS'</span>, ... | |
263 <span class="string">'ORDER'</span>, <span class="string">'SECOND'</span>, ... | |
264 <span class="string">'COEFF'</span>, -1/12); | |
265 c = diff(a, pl); | |
266 | |
267 pl = plist(... | |
268 <span class="string">'method'</span>, <span class="string">'FPS'</span>, ... | |
269 <span class="string">'ORDER'</span>, <span class="string">'SECOND'</span>, ... | |
270 <span class="string">'COEFF'</span>, 1/4); | |
271 d = diff(a, pl); | |
272 | |
273 </pre></div> | |
274 | |
275 | |
276 <div align="center"> | |
277 <p> | |
278 <IMG src="images/sigproc_diff_algo05.png" align="center" border="0"> | |
279 </p> | |
280 <p> | |
281 <b> Figure 1:</b> Frequency response of first derivative estimators. | |
282 </p> | |
283 | |
284 </div> | |
285 <div align="center"> | |
286 <p> | |
287 </p> | |
288 <IMG src="images/sigproc_diff_algo06.png" align="center" border="0"> | |
289 <p> | |
290 <b> Figure 2:</b> Frequency response of second derivative estimators. | |
291 </p> | |
292 </div> | |
293 | |
294 | |
295 <h2><a name="references">References</a></h2> | |
296 | |
297 <ol> | |
298 <li> L. Ferraioli, M. Hueller and S. Vitale, Discrete derivative | |
299 estimation in LISA Pathfinder data reduction, | |
300 <a href="matlab:web('http://www.iop.org/EJ/abstract/0264-9381/26/9/094013/','-browser')">Class. Quantum Grav. 26 (2009) 094013.</a>. <br/> | |
301 L. Ferraioli, M. Hueller and S. Vitale, Discrete derivative | |
302 estimation in LISA Pathfinder data reduction | |
303 <a href="matlab:web('http://arxiv.org/abs/0903.0324v1','-browser')">arXiv:0903.0324v1</a> | |
304 <li> Steven E. Koonin and Dawn C. Meredith, Computational Physics, Westview Press (1990). | |
305 <li> John H. Mathews, Computer derivations of numerical differentiation formulae, | |
306 <i>Int. J. Math. Educ. Sci. Technol.<i>, 34:2, 280 - 287. | |
307 </ol> | |
308 | |
309 | |
310 | |
311 | |
312 | |
313 | |
314 | |
315 | |
316 | |
317 </p> | |
318 | |
319 <br> | |
320 <br> | |
321 <table class="nav" summary="Navigation aid" border="0" width= | |
322 "100%" cellpadding="0" cellspacing="0"> | |
323 <tr valign="top"> | |
324 <td align="left" width="20"><a href="sigproc_applyfilt.html"><img src= | |
325 "b_prev.gif" border="0" align="bottom" alt= | |
326 "Applying digital filters to data"></a> </td> | |
327 | |
328 <td align="left">Applying digital filters to data</td> | |
329 | |
330 <td> </td> | |
331 | |
332 <td align="right">Spectral Estimation</td> | |
333 | |
334 <td align="right" width="20"><a href= | |
335 "sigproc_spec.html"><img src="b_next.gif" border="0" align= | |
336 "bottom" alt="Spectral Estimation"></a></td> | |
337 </tr> | |
338 </table><br> | |
339 | |
340 <p class="copy">©LTP Team</p> | |
341 </body> | |
342 </html> |