diff m-toolbox/html_help/help/ug/ao_convert_content.html @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m-toolbox/html_help/help/ug/ao_convert_content.html	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,80 @@
+<!-- $Id: ao_convert_content.html,v 1.3 2008/03/03 09:08:10 hewitson Exp $ -->
+  <p>
+	In some cases it is desirable to build AOs 'by hand' from existing data files. If the data file
+	doesn't conform to one of the existing AO constructors, then a conversion script can easily be 	
+	written to create AOs from your data files.
+  </p>
+  <p>The following example shows how to convert an ASCII data file into Analysis Objects. The data file
+	has 4 columns representing 4 different data channels. All 4 channels are sampled at the same rate of 
+	10Hz. The conversion function returns 4 AOs.</p>
+
+	<div class="fragment"><pre>	<span class="code"> function b = myConverter(filename, fs)</span>
+	 
+	<span class="comment">% MYCONVERTER converts a multi-column ASCII data file into multiple AOs.</span>
+	<span class="comment">%</span>
+	<span class="comment">% usage: b = myConverter(filename, fs)</span>
+	<span class="comment">%</span>
+	<span class="comment">% Inputs:</span>
+	<span class="comment">%   filename   - name of input data file</span>
+	<span class="comment">%   fs         - sample rate of input data</span>
+	<span class="comment">%</span>
+	<span class="comment">% Outputs:</span>
+	<span class="comment">%   b    - vector of AOs</span>
+	<span class="comment">%</span>
+	<span class="comment">%</span>
+	 
+	<span class="comment">% Load the data from text file</span>
+	data_in = load(filename);
+	ncols   = size(data_in, 2);
+	 
+	<span class="comment">% Create AOs</span>
+	b = [];
+	<span class="keyword">for</span> j=1:ncols
+	
+	<span class="comment">% Get this column of data</span>
+	  d = data_in(:,j);
+	
+	<span class="comment">% name for this data</span>
+	  dataName = [<span class="string">'column'</span> num2str(j)];
+	
+	<span class="comment">% Make tsdata object</span>
+	  ts = tsdata(d, fs);
+	<span class="comment">% set name of data object</span>
+	  ts = set(ts, <span class="string">'name'</span>, dataName);
+	<span class="comment">% set xunits to seconds</span>
+	  ts = set(ts, <span class="string">'xunits'</span>, <span class="string">'s'</span>);  
+	<span class="comment">% set xunits to Volts</span>
+	  ts = set(ts, <span class="string">'yunits'</span>, <span class="string">'V'</span>);
+	
+	<span class="comment">% make history object</span>
+	  h = history(<span class="string">'myConverter'</span>, <span class="string">'0.1'</span>, plist(param(<span class="string">'filename'</span>, filename)));
+	
+	<span class="comment">% make AO</span>
+	  a = ao(ts, h);
+	
+	<span class="comment">% set AO name</span>
+	  a = set(a, <span class="string">'name'</span>, dataName);
+	
+	<span class="comment">% add to output vector</span>
+	  b = [b a];
+	
+	<span class="keyword">end</span></pre></div>
+	
+	<br>
+  	<p>
+		The script works by loading the four columns of data from the ASCII file into a matrix. The 
+		script then loops over the number of columns and creates an AO for each column. 
+	</p>
+	<p>First a time-series (<tt>tsdata</tt>) object is made from the data in a column and given the 
+		input sample rate of the data. The 'name', 'xunits', and 'yunits' fields of the time-series data
+		object are then set using calls to the <tt>set</tt> method of the <tt>tsdata</tt> class.
+	</p>
+	<p>
+		Next a history object is made with its 'name' set to 'myConverter', the version set to '0.1',
+		and the input filename is recorded in a parameter list attached to the history object.
+	</p>
+	<p>
+		Following the creation of the data object and the history object, we can then create an 
+		Analysis Object. The name of the AO is then set and the object is added to a vector that is
+		output by the function.
+	</p>