author | A.M. Thurnherr <athurnherr@yahoo.com> |
Wed, 27 Apr 2011 11:07:07 -0400 | |
changeset 1 | ea3f25d9ba76 |
parent 0 | 0a450563f904 |
child 2 | ec6b10ba8a34 |
permissions | -rw-r--r-- |
0
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
1 |
function [d,p]=fixcompass(d,p) |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
2 |
% |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
3 |
% fix compass issues |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
4 |
% |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
5 |
% p.fix_compass=1 apply offset only |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
6 |
% p.fix_compass=2 fix up looking compass to down looking compass + offset |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
7 |
% p.fix_compass=3 fix down looking compass to up looking compass + offset |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
8 |
% |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
9 |
% p.hdg_offset will apply a fixed rotation to the compass. In most cases you |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
10 |
% will want to set the compass that you trust to 0 and rotate the other one |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
11 |
% by the difference in direction between the two beam 3 headings as mounted |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
12 |
% on the frame |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
13 |
% : [downoffset upoffset] |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
14 |
% |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
15 |
% once you done this rotup2down gets disabled since I assume you know what the offset was |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
16 |
% |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
17 |
% M. Visbeck LDEO 2004 |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
18 |
% |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
19 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
20 |
disp('FIXCOMPASS adjust compass') |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
21 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
22 |
% use tilt sensors to figure out allingment between instruments |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
23 |
diary off |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
24 |
hoff2=fminsearch('checktilt',0,[],[d.rol(2,:);d.pit(2,:);d.rol(1,:);d.pit(1,:)]); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
25 |
diary on |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
26 |
disp([' mean instrument alignment based on tilt is ',num2str(hoff2),' deg']) |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
27 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
28 |
[lb,lt]=size(d.ru); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
29 |
if p.fix_compass==2 |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
30 |
p=setdefv(p,'hdg_offset',[0 hoff2]); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
31 |
elseif p.fix_compass==3 |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
32 |
p=setdefv(p,'hdg_offset',[-hoff2 0]); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
33 |
else |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
34 |
p=setdefv(p,'hdg_offset',[0 0]); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
35 |
end |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
36 |
p=setdefv(p,'hdg_offset_used',[0 0]); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
37 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
38 |
rot=p.hdg_offset; |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
39 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
40 |
rotv(1,:)=ones(1,lt)*rot(1); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
41 |
disp([' offset down looking compass by : ',num2str(rot(1))]) |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
42 |
p.hdg_offset_used(1)=p.hdg_offset_used(1)+rot(1); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
43 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
44 |
if p.fix_compass==3 |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
45 |
disp(' use up looking compass on down looking ADCP') |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
46 |
rotv(1,:)=d.hdg(1,:)-d.hdg(2,:)+rot(1); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
47 |
p.rotup2down=0; |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
48 |
end |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
49 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
50 |
if length(d.izu)>0 |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
51 |
rotv(2,:)=ones(1,lt)*rot(2); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
52 |
disp([' offset up looking compass by : ',num2str(rot(2))]) |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
53 |
p.hdg_offset_used(2)=p.hdg_offset_used(2)+rot(2); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
54 |
if p.fix_compass==2 |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
55 |
disp(' use down looking compass on up looking ADCP') |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
56 |
rotv(2,:)=d.hdg(2,:)-d.hdg(1,:)+rot(2); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
57 |
p.rotup2down=0; |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
58 |
end |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
59 |
end |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
60 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
61 |
rotm=meshgrid(rotv(1,:),d.izd); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
62 |
[d.ru(d.izd,:),d.rv(d.izd,:)]=uvrot(d.ru(d.izd,:),d.rv(d.izd,:),rotm); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
63 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
64 |
if length(rotv(1,:))==size(d.bvel,1) |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
65 |
[d.bvel(:,1),d.bvel(:,2)]=uvrot(d.bvel(:,1),d.bvel(:,2),rotv(1,:)'); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
66 |
else |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
67 |
[d.bvel(1,:),d.bvel(2,:)]=uvrot(d.bvel(1,:),d.bvel(2,:),rotv(1,:)); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
68 |
end |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
69 |
|
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
70 |
if length(d.izu)>0 |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
71 |
rotm=meshgrid(rotv(2,:),d.izu); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
72 |
[d.ru(d.izu,:),d.rv(d.izu,:)]=uvrot(d.ru(d.izu,:),d.rv(d.izu,:),rotm); |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
73 |
end |
0a450563f904
VIX_6: first version for Mercurial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
74 |