comparison m-toolbox/html_help/help/ug/ltpda_training_topic_5_5.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>IFO/Temperature Example - signal subtraction (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 "ltpda_training_topic_5_4.html"><img src="b_prev.gif" border="0" align=
30 "bottom" alt="Non-linear least squares fitting of time series"></a>&nbsp;&nbsp;&nbsp;<a href=
31 "examplesindex.html"><img src="b_next.gif" border="0" align=
32 "bottom" alt="Examples"></a></td>
33 </tr>
34 </table>
35
36 <h1 class="title"><a name="f3-12899" id="f3-12899"></a>IFO/Temperature Example - signal subtraction</h1>
37 <hr>
38
39 <p>
40
41
42
43 <p>
44 During this exercise we will:
45 <ol>
46 <li> Load the AOs with the IFO and Temperature data
47 <li> Load the transfer function of the data
48 <li> Split the TF to select the meaningful region only
49 <li> Fit the TF with <tt>zDomainFit</tt>
50 <li> Subtract the temperature contribution from the IFO signal
51 </ol>
52 </p>
53
54 <p>
55 Let us load the test data and split out the 'good' part as we did in Topic 3:
56 </p>
57
58 <div class="fragment"><pre>
59 ifo = ao(plist(<span class="string">'filename'</span>, <span class="string">'ifo_temp_example/ifo_fixed.xml'</span>));
60 ifo.setName;
61 T = ao(plist(<span class="string">'filename'</span>, <span class="string">'ifo_temp_example/temp_fixed.xml'</span>));
62 T.setName;
63
64 <span class="comment">% Split out the good part of the data</span>
65 pl_split = plist(<span class="string">'split_type'</span>, <span class="string">'interval'</span>, ...
66 <span class="string">'start_time'</span>, ifo.t0 + 40800, ...
67 <span class="string">'end_time'</span>, ifo.t0 + 193500);
68
69 ifo_red = split(ifo, pl_split);
70 T_red = split(T, pl_split);
71 </pre></div>
72
73 <p>
74 These data are already preprocessed with <tt>ao/consolidate</tt> in order to set
75 the sampling frequency to 1Hz. <br/>
76 We could look at the data...
77 </p>
78 <div class="fragment"><pre>
79 iplot(ifo_red,T_red,plist(<span class="string">'arrangement'</span>, <span class="string">'subplots'</span>))
80 </pre></div>
81
82 <p>
83 <div align="center">
84 <IMG src="images/ltpda_training_1/topic5/ltpda_training_5_5_1.png" align="center" border="0">
85 </div>
86 </p>
87
88 <p>
89 Let us load the transfer function estimate we made in Topic 3.
90 </p>
91
92 <div class="fragment"><pre>
93 tf = ao(<span class="string">'ifo_temp_example/T_ifo_tf.xml'</span>);
94 </pre></div>
95
96 <p>
97 The meaningful frequency region is in the range 2e-5 <i>Hz</i> - 1e-3 <i>Hz</i>.
98 Therefore we split the transfer function to extract only meaningful data.
99 </p>
100
101 <div class="fragment"><pre>
102 tfsp = split(tf,plist(<span class="string">'frequencies'</span>, [2e-5 1e-3]));
103 iplot(tf,tfsp)
104 </pre></div>
105
106 <p>
107 The plot compares full range TF with splitted TF
108 <div align="center">
109 <IMG src="images/ltpda_training_1/topic5/ltpda_training_5_5_4.png" align="center" border="0">
110 </div>
111 Once we have the proper transfer function, we could start the fitting process.
112 A rapid look to the TF data should convince us that we need a very simple object
113 to fit our data so we could try a fitting session "by hand". In other words,
114 it is more convenient to skip the automathic functionality of <tt>zDomainFit</tt>.
115 Moreover, we force <tt> zDomainFit </tt> to fit a stable model to data because
116 we want to output a stable filter.
117 </p>
118
119 <div class="fragment"><pre>
120 plfit = plist(<span class="string">'FS'</span>,1,...
121 <span class="string">'AutoSearch'</span>,<span class="string">'off'</span>,...
122 <span class="string">'StartPolesOpt'</span>,<span class="string">'clog'</span>,...
123 <span class="string">'maxiter'</span>,20,...
124 <span class="string">'minorder'</span>,3,...
125 <span class="string">'maxorder'</span>,3,...
126 <span class="string">'weightparam'</span>,<span class="string">'abs'</span>,...
127 <span class="string">'Plot'</span>,<span class="string">'on'</span>,...
128 <span class="string">'ForceStability'</span>,<span class="string">'on'</span>,...
129 <span class="string">'CheckProgress'</span>,<span class="string">'off'</span>);
130
131 fobj = zDomainFit(tfsp,plfit);
132 fobj.filters.setIunits(<span class="string">'K'</span>);
133 fobj.filters.setOunits(<span class="string">'m'</span>);
134 </pre></div>
135
136 <p>
137 <div align="center">
138 <IMG src="images/ltpda_training_1/topic5/ltpda_training_5_5_5.png" align="center" border="0">
139 </div>
140 </p>
141
142 <p>
143 It is time to filter temperature data with the fit output in order to
144 extract temperature contribution to interferometer output. Detrend
145 after the filtering is performed to subtract mean to data (bias subtraction).
146 </p>
147
148 <div class="fragment"><pre>
149 ifoT = filter(T_red,fobj,plist(<span class="string">'bank'</span>,<span class="string">'parallel'</span>));
150 ifoT.detrend(plist(<span class="string">'order'</span>,0));
151 ifoT.simplifyYunits;
152 ifoT.setName;
153 </pre></div>
154
155 <p>
156 Then we subtract temperature contribution from measured interferometer data
157 </p>
158
159 <div class="fragment"><pre>
160 ifonT = ifo_red - ifoT;
161 ifonT.setName;
162 </pre></div>
163
164 <p>
165 The figure reports measured interferometer data, temperature contribution
166 to interferometer output and interferometer output without thermal drifts.
167 </p>
168
169 <div class="fragment"><pre>
170 iplot(ifo_red,ifoT,ifonT)
171 </pre></div>
172
173 <p>
174 <div align="center">
175 <IMG src="images/ltpda_training_1/topic5/ltpda_training_5_5_6.png" align="center" border="0">
176 </div>
177 </p>
178
179 <p>
180 If you now compare spectra of the original IFO signal and the one with the temperature contribution
181 removed, you should see something like the figure below:
182 </p>
183 <div class="fragment"><pre>
184 ifoxx = ifo_red.lpsd;
185 ifonTxx = ifonT.lpsd;
186 iplot(ifoxx,ifonTxx)
187 </pre></div>
188 <p>
189 <div align="center">
190 <IMG src="images/ltpda_training_1/topic5/ltpda_training_5_5_7.png" align="center" border="0">
191 </div>
192 </p>
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208 </p>
209
210 <br>
211 <br>
212 <table class="nav" summary="Navigation aid" border="0" width=
213 "100%" cellpadding="0" cellspacing="0">
214 <tr valign="top">
215 <td align="left" width="20"><a href="ltpda_training_topic_5_4.html"><img src=
216 "b_prev.gif" border="0" align="bottom" alt=
217 "Non-linear least squares fitting of time series"></a>&nbsp;</td>
218
219 <td align="left">Non-linear least squares fitting of time series</td>
220
221 <td>&nbsp;</td>
222
223 <td align="right">Examples</td>
224
225 <td align="right" width="20"><a href=
226 "examplesindex.html"><img src="b_next.gif" border="0" align=
227 "bottom" alt="Examples"></a></td>
228 </tr>
229 </table><br>
230
231 <p class="copy">&copy;LTP Team</p>
232 </body>
233 </html>