File: plotlexure.m

package info (click to toggle)
rtklib 2.4.3%2Bdfsg1-2.1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 41,796 kB
  • sloc: cpp: 51,592; ansic: 50,584; fortran: 987; makefile: 861; sh: 45
file content (55 lines) | stat: -rw-r--r-- 1,351 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function plotlexure(file,sats,trange)
%
% plot lex ure with ephemeris and clock
%
% 2010/12/09 0.1 new
%
if nargin<1, file='diffeph.out'; end
if nargin<2, sats=1:32; end
if nargin<3, trange=[0 24]; end % time range [tstart tend] (hr)

v=textread(file);

figure('color','w'), hold on, box on, grid on

range=3;
minel=15;

timv=v(:,2)-floor(v(:,2)/86400)*86400;
time=unique(timv);
v(v(:,end)<minel,end-1)=nan;

ure=repmat(nan,length(time),length(sats));
for i=1:length(sats)
    j=find(v(:,3)==sats(i)); if isempty(j), continue; end
    [tt,k]=intersect(time,timv(j));
    ure(k,i)=v(j,end-1);
end
for i=1:length(time)
    ure(i,:)=ure(i,:)-mean(ure(i,~isnan(ure(i,:))));
end
rmserr=[]; satlabel={};
for i=1:length(sats)
    
    plot(time/3600,ure(:,i),'-');
    
    satlabel={satlabel{:},sprintf('GPS%02d',sats(i))};
    rmserr=[rmserr;sqrt(mean(ure(~isnan(ure(:,i)),i).^2,1))];
    
    disp(sprintf('GPS%02d: %4d %8.4f m',sats(i),length(find(~isnan(ure(:,i)))),rmserr(end,:)));
end
xlim(trange);
ylim([-range,range]);
xlabel('Time (hr)');
ylabel('Error (m)');
title(['URE Error : ',file]);
legend({'URE'});
moveax;

figure('color','w'), hold on, box on
pos=[0.08,0.12,0.89,0.81];
h=ggt('barplot',rmserr,satlabel,'ylim',[0,range],'position',pos);
legend(h,{'URE'})
ylabel('URE RMS Error (m)');
title(['QZSS LEX Ephemeris/Clock URE Error: ',file]);