source: trunk/src/uvmat_doc/FUNCTIONS_DOC/raw2phys.html @ 37

Last change on this file since 37 was 37, checked in by sommeria, 14 years ago

create_grid.fig ,
uvmat_doc and all the included files added

File size: 11.2 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2                "http://www.w3.org/TR/REC-html40/loose.dtd">
3<html>
4<head>
5  <title>Description of raw2phys</title>
6  <meta name="keywords" content="raw2phys">
7  <meta name="description" content="'raw2phys': transform raw signal to physical values using different calibrations laws">
8  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
10  <meta name="robots" content="index, follow">
11  <link type="text/css" rel="stylesheet" href="../m2html.css">
12</head>
13<body>
14<a name="_top"></a>
15<div><a href="../index.html">Home</a> &gt;  <a href="index.html">.</a> &gt; raw2phys.m</div>
16
17<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td>
18<td align="right"><a href="index.html">Index for .&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
19
20<h1>raw2phys
21</h1>
22
23<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
24<div class="box"><strong>'raw2phys': transform raw signal to physical values using different calibrations laws</strong></div>
25
26<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
27<div class="box"><strong>function FieldPhys=raw2phys(Field) </strong></div>
28
29<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
30<div class="fragment"><pre class="comment">'raw2phys': transform raw signal to physical values using different calibrations laws</pre></div>
31
32<!-- crossreference -->
33<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
34This function calls:
35<ul style="list-style-image:url(../matlabicon.gif)">
36</ul>
37This function is called by:
38<ul style="list-style-image:url(../matlabicon.gif)">
39</ul>
40<!-- crossreference -->
41
42
43<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
44<div class="fragment"><pre>0001 <span class="comment">%'raw2phys': transform raw signal to physical values using different calibrations laws</span>
450002 <span class="comment">%</span>
460003 <a name="_sub0" href="#_subfunctions" class="code">function FieldPhys=raw2phys(Field)</a>
470004
480005 <span class="comment">% do not transform if Field already in phys coordinates</span>
490006 FieldPhys=Field;<span class="comment">%default</span>
500007 <span class="keyword">if</span> isfield(Field,<span class="string">'CoordType'</span>) &amp; isequal(Field.CoordType,<span class="string">'phys'</span>)
510008     <span class="keyword">return</span> <span class="comment">%no transform if the data are already physical</span>
520009 <span class="keyword">else</span>
530010     FieldPhys.CoordType=<span class="string">'phys'</span>;
540011 <span class="keyword">end</span>
550012
560013 <span class="comment">%Filtering of the initial data</span>
570014 nbfilter=51;
580015 nbhalf=floor(nbfilter/2);
590016 <span class="keyword">for</span> ivar=1:length(FieldPhys.ListVarName)
600017     VarName=FieldPhys.ListVarName{ivar};
610018     <span class="keyword">if</span> ~isequal(VarName,<span class="string">'time'</span>)
620019         eval([<span class="string">'FirstVal=FieldPhys.'</span> VarName <span class="string">'(1);'</span>])
630020         eval([<span class="string">'LastVal=FieldPhys.'</span> VarName <span class="string">'(end);'</span>])
640021         FirstVal=ones(nbhalf,1)*FirstVal;
650022         LastVal=ones(nbhalf,1)*LastVal;   
660023         eval([<span class="string">'FieldPhys.'</span> VarName <span class="string">'=[FirstVal;FieldPhys.'</span> VarName <span class="string">';LastVal];'</span>])
670024         eval([<span class="string">'FieldPhys.'</span> VarName <span class="string">'=conv(ones(1,nbfilter)/nbfilter,FieldPhys.'</span> VarName <span class="string">');'</span>]);
680025          eval([<span class="string">'FieldPhys.'</span> VarName <span class="string">'([1:nbfilter-1])=[];'</span>]);
690026          eval([<span class="string">'FieldPhys.'</span> VarName <span class="string">'([end-nbfilter+2:end])=[];'</span>]);
700027     <span class="keyword">end</span>
710028 <span class="keyword">end</span>
720029
730030
740031
750032 ScanRate=240; <span class="comment">%data points per second</span>
760033 VelTranslation=1; <span class="comment">% 1 cm/s A VERIFIER</span>
770034 test_Offset=0;
780035 test_Thermistance_B=0;
790036 test_Thermistance_M=0;
800037 <span class="keyword">if</span> isfield(Field,<span class="string">'ListVarAttribute'</span>)
810038     <span class="keyword">for</span> ilist=1:length(Field.ListVarAttribute)
820039         attr_name=Field.ListVarAttribute{ilist}
830040         <span class="keyword">if</span> isequal(attr_name,<span class="string">'PhysUnits'</span>)
840041             FieldPhys.units =Field.PhysUnits;
850042         <span class="keyword">end</span>
860043         <span class="keyword">if</span> isequal(attr_name,<span class="string">'Offset'</span>)
870044             test_Offset=1;
880045         <span class="keyword">end</span>
890046         <span class="keyword">if</span> isequal(attr_name,<span class="string">'ThermistanceCalib_B'</span>)
900047             test_Thermistance_B=1;
910048         <span class="keyword">end</span> 
920049         <span class="keyword">if</span> isequal(attr_name,<span class="string">'ThermistanceCalib_M'</span>)
930050             test_Thermistance_M=1;
940051         <span class="keyword">end</span>
950052     <span class="keyword">end</span>
960053 <span class="keyword">end</span>
970054
980055
990056
1000057 <span class="comment">% substract offset</span>
1010058 <span class="keyword">if</span> test_Offset
1020059     <span class="keyword">for</span> ivar=1:length(Field.ListVarName)
1030060         Val_Offset=Field.Offset{ivar};
1040061         <span class="keyword">if</span> isnumeric(Val_Offset)&amp;~isempty(Val_Offset)
1050062             VarName=Field.ListVarName{ivar};
1060063             eval([<span class="string">'FieldPhys.'</span> VarName <span class="string">'=FieldPhys.'</span> VarName <span class="string">'-Val_Offset;'</span>])
1070064         <span class="keyword">end</span>
1080065     <span class="keyword">end</span>
1090066 <span class="keyword">end</span>
1100067
1110068 <span class="comment">%thermistance calibration</span>
1120069 <span class="keyword">if</span> test_Thermistance_M &amp; test_Thermistance_B
1130070     <span class="keyword">for</span> ivar=1:length(Field.ListVarName)
1140071         Val_B=Field.ThermistanceCalib_B{ivar};
1150072         Val_M=Field.ThermistanceCalib_M{ivar};
1160073         <span class="keyword">if</span> isnumeric(Val_B) &amp; ~isempty(Val_B) &amp; isnumeric(Val_M) &amp; ~isempty(Val_M)
1170074             VarName=Field.ListVarName{ivar};
1180075             eval([<span class="string">'FieldPhys.'</span> VarName <span class="string">'=(Val_M ./ (log( FieldPhys.'</span> VarName <span class="string">')-Val_B)) -273.15;'</span>])
1190076         <span class="keyword">end</span>
1200077     <span class="keyword">end</span>
1210078 <span class="keyword">end</span>
1220079 <span class="keyword">return</span>
1230080
1240081 <span class="comment">%NON USED</span>
1250082 <span class="comment">%density profile</span>
1260083 Density=(Conductivity-B)/A;<span class="comment">%calibration</span>
1270084 Density=Density(find(Motor&gt;1));<span class="comment">%restrict the record to the time motor on</span>
1280085 Density=flipdim(Density,2)';
1290086 <span class="comment">%detect free surface</span>
1300087 [dmax,imax]=max(diff(Density));
1310088 nbpoints=length(Density);
1320089 Pos=linspace(0,nbpoints*VelTranslation/ScanRate,nbpoints);
1330090 Pos=Pos-imax*VelTranslation/ScanRate;
1340091
1350092 <span class="comment">%[dmax,jmax]=max(diff(Conductivity))</span>
1360093 napoints=length(Conductivity);
1370094 Pos1=linspace(0,napoints*VelTranslation/ScanRate,napoints);
1380095 <span class="comment">%Pos1=Pos1-jmax*VelTranslation/ScanRate;</span>
1390096
1400097 figure(2);
1410098 clf
1420099 plot(Pos1,Conductivity)
1430100 grid on
1440101 figure(3);
1450102 size(Pos)
1460103 size(Density)
1470104 plot(Pos,Density)
1480105 hold on
1490106 grid on
1500107 <span class="comment">%determination of N</span>
1510108 PosCentr=Pos([floor(nbpoints/4):floor(3*nbpoints/4)]);
1520109 DensityCentr=Density([floor(nbpoints/4):floor(3*nbpoints/4)]);
1530110 p=polyfit(PosCentr,DensityCentr,1);
1540111 LinDens=polyval(p,PosCentr);
1550112 plot(PosCentr,LinDens,<span class="string">'r'</span>)
1560113 grad=p(1)
1570114 <span class="comment">%find(Motor&gt;1)</span>
1580115
1590116 <span class="comment">% data.conductivity=flipdim(Conductivity(find(Motor&gt;5)),1)';</span>
1600117 <span class="comment">% data.deplacement=[100/size(data.conductivity,2):100/size(data.conductivity,2):100];</span>
1610118 <span class="comment">%</span>
1620119 <span class="comment">% figure;plot(data.deplacement,data.conductivity);hold on;</span>
1630120
1640121 <span class="comment">%data.density=flipdim(Conductivity(find(Motor&gt;1)),1)'*3.4764+15.1367;</span>
1650122 <span class="comment">%data.density=flipdim(Conductivity(find(Motor&gt;1)),2)'*5+14.6090;</span>
1660123 <span class="comment">%data.density=flipdim(Conductivity(find(Motor&gt;1)),2)'*4.1525+19.50;</span>
1670124 <span class="comment">% data.density=flipdim(Conductivity(find(Motor&gt;1)),2)'</span>
1680125 <span class="comment">% data.deplacement=[92/size(data.density,2):92/size(data.density,2):92];</span>
1690126 <span class="comment">% figure(101)</span>
1700127 <span class="comment">% plot(data.deplacement,data.density);hold on;</span>
1710128
1720129 <span class="comment">% t=data.deplacement(find(data.deplacement&gt;20&amp;data.deplacement&lt;80));</span>
1730130 <span class="comment">%t=data.deplacement(find(data.deplacement&gt;0&amp;data.deplacement&lt;90));</span>
1740131 <span class="comment">% X=[ones(size(t,2),1)';t];</span>
1750132 <span class="comment">% Y=data.density(find(data.deplacement&gt;20&amp;data.deplacement&lt;80));</span>
1760133 <span class="comment">% %Y=data.density(find(data.deplacement&gt;0&amp;data.deplacement&lt;90));</span>
1770134 <span class="comment">% coeff=Y/X;</span>
1780135
1790136 <span class="comment">% plot(data.deplacement,data.deplacement*coeff(2)+coeff(1),'r');</span>
1800137
1810138 <span class="comment">% grad=abs(coeff(2)*100)</span>
1820139 Tbv=2*pi/sqrt(981*0.001*grad)
1830140 N=2*pi/Tbv
1840141 title(strcat(<span class="string">''</span>,name,<span class="string">''</span>))
1850142 xpos=get(gca,<span class="string">'XLim'</span>)
1860143 ypos=get(gca,<span class="string">'YLim'</span>)
1870144 <span class="comment">%xtext=xpos(1)+(xpos(2)-xpos(1))*3/4</span>
1880145 xtext=xpos(1)+(xpos(2)-xpos(1))/2
1890146 ytext=ypos(1)+(ypos(2)-ypos(1))/4
1900147 TabText={strcat(<span class="string">'Tbv : '</span>,num2str(Tbv),<span class="string">'s'</span>); strcat(<span class="string">'Stratification : '</span>,num2str(grad)); strcat(<span class="string">'N : '</span>,num2str(2*pi/Tbv),<span class="string">'rad.s-1'</span>)}
1910148 text(xtext,ytext,TabText)
1920149 <span class="comment">% text(xtext,13,strcat('Tbv : ',num2str(Tbv),'s'));</span>
1930150 <span class="comment">% text(55,10,strcat('Stratification : ',num2str(grad)));</span>
1940151 <span class="comment">% text(55,16,strcat('N : ',num2str(2*pi/Tbv),'rad.s-1'));</span></pre></div>
195<hr><address>Generated on Fri 13-Nov-2009 11:17:03 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
196</body>
197</html>
Note: See TracBrowser for help on using the repository browser.