getbtrack.m
changeset 22 624b1ed6e9c9
parent 0 0a450563f904
equal deleted inserted replaced
21:bce791a17f4e 22:624b1ed6e9c9
     1 function [d,p]=getbtrack(d,p);
     1 function [d,p]=getbtrack(d,p);
     2 % function [d,p]=getbtrack(d,p);
     2 % function [d,p]=getbtrack(d,p);
     3 %
     3 %
     4 % create own bottom track in addition to the one used before
     4 % create own bottom track in addition to the one used before
     5 %
     5 %
       
     6 
       
     7 %======================================================================
       
     8 %                    G E T B T R A C K . M 
       
     9 %                    doc: Wed Sep  4 17:07:35 2019
       
    10 %                    dlm: Wed Sep  4 17:09:37 2019
       
    11 %                    (c) 2019 A.M. Thurnherr
       
    12 %                    uE-Info: 108 68 NIL 0 0 72 0 2 8 NIL ofnI
       
    13 %======================================================================
       
    14 
       
    15 % CHANGES BY ANT:
       
    16 %   Sep  4, 2019: - fixed minor typo (GK suggestion)
     6 
    17 
     7 % force own distance to RDI bottom track
    18 % force own distance to RDI bottom track
     8 p=setdefv(p,'bottomdist',0);
    19 p=setdefv(p,'bottomdist',0);
     9 % "manual" bottom track for down looker
    20 % "manual" bottom track for down looker
    10 p=setdefv(p,'btrk_mode',3);
    21 p=setdefv(p,'btrk_mode',3);
    23 
    34 
    24 % convert echo amplitude to relative target strength
    35 % convert echo amplitude to relative target strength
    25 % at=0.039; % attenuation dB/m for 150 kHz
    36 % at=0.039; % attenuation dB/m for 150 kHz
    26 % at=0.062; % attenuation dB/m for 300 kHz
    37 % at=0.062; % attenuation dB/m for 300 kHz
    27 if d.down.Frequency==300,
    38 if d.down.Frequency==300,
    28   p=setdefv(p,'ts_att_dn',0.06);
    39   p=setdefv(p,'ts_att_dn',0.062);
    29 else
    40 else
    30   p=setdefv(p,'ts_att_dn',0.039);
    41   p=setdefv(p,'ts_att_dn',0.039);
    31 end
    42 end
    32 d.tg(d.izd,:)=targ(d.ts(d.izd,:),d.zd,p.ts_att_dn);
    43 d.tg(d.izd,:)=targ(d.ts(d.izd,:),d.zd,p.ts_att_dn);
    33 
    44 
    48 
    59 
    49 if p.btrk_mode>=1
    60 if p.btrk_mode>=1
    50     if p.btrk_ts>0
    61     if p.btrk_ts>0
    51 
    62 
    52       disp(' using increased bottom echo amplitudes to create bottom track')
    63       disp(' using increased bottom echo amplitudes to create bottom track')
    53       % don't use first bin
       
    54       fitb1=1;
    64       fitb1=1;
    55       zd=d.zd(fitb1:end);
    65       zd=d.zd(fitb1:end);
    56       ead=d.tg(d.izd(fitb1:end),:);
    66       ead=d.tg(d.izd(fitb1:end),:);
    57       % fit parabola to locate bottom
    67       % fit parabola to locate bottom
    58       [zmead,mead,imead]=localmax2(zd',ead);
    68       [zmead,mead,imead]=localmax2(zd',ead);
    92        end
   102        end
    93       end
   103       end
    94 
   104 
    95       disp([' use ',num2str(p.btrk_below),...
   105       disp([' use ',num2str(p.btrk_below),...
    96          ' bins below maximum target strength for own bottom track velocity'])
   106          ' bins below maximum target strength for own bottom track velocity'])
    97       % locate acceptable bottom tracks (don't accept first/last bin)
   107       % locate acceptable bottom tracks (don't accept first two and last bin)
    98       ii=find(dts>p.btrk_ts & ...
   108       ii=find(dts>p.btrk_ts & ...
    99               zmead>min(p.btrk_range) & zmead<max(p.btrk_range) & ...
   109               zmead>min(p.btrk_range) & zmead<max(p.btrk_range) & ...
   100                imeadbv<(nbin-1) & imeadbv>fitb1);
   110                imeadbv<(nbin-1) & imeadbv>fitb1);
   101  
   111  
   102       if length(ii)>0
   112       if length(ii)>0