EASY10.M
资源名称:easy.zip [点击查看]
上传用户:sfyaiting
上传日期:2009-10-25
资源大小:320k
文件大小:2k
源码类别:
GPS编程
开发平台:
Matlab
- % EASY10 plots ionospheric delay from phase observations.
- % The present code does not handle
- % 1. cycle slips, and
- % 2. outliers.
- %Kai Borre 27-07-2002
- %Copyright (c) by Kai Borre
- %$Revision: 1.0 $ $Date: 2002/07/27 $
- % Initial computations of constants
- v_light = 299792458; % vacuum speed of light m/s
- f1 = 154*10.23E6; % L1 frequency Hz
- f2 = 120*10.23E6; % L2 frequency Hz
- lambda1 = v_light/f1; % wavelength on L1: .19029367 m
- lambda2 = v_light/f2; % wavelength on L2: .244210213 m
- % We identify the observation file and open it
- ofile = 'kofi1.01o';
- fid = fopen(ofile,'rt');
- [Obs_types, ant_delta, ifound_types, eof1] = anheader(ofile);
- NoObs_types = size(Obs_types,2)/2;
- obsstr(1,1:2) = 'P1'; % P1
- obsstr(2,1:2) = 'P2'; % P2
- obsstr(3,1:2) = 'L1'; % Phi1
- obsstr(4,1:2) = 'L2'; % Phi2
- match = zeros(1,4);
- for t = 1:4
- for ii = 1:NoObs_types
- mat = strmatch(obsstr(t,1:2),Obs_types(1,2*ii-1:2*ii),'exact');
- if isempty(mat) == 0, match(1,t) = ii; end
- end
- end
- Oc = match;
- qend = 300;
- phase_diff = zeros(32,qend)*inf;
- disp(' ')
- disp('Please wait for creation of plot!')
- for q = 1:qend
- [time, dt, sats, eof] = fepoch_0(fid);
- NoSv = size(sats,1);
- obsm = grabdata(fid, NoSv, NoObs_types);
- obs = obsm(:,Oc); % P1 P2 Phi1 Phi2
- for t = 1:NoSv
- Phi1 = obs(t,3)*lambda1;
- Phi2 = obs(t,4)*lambda2;
- sat = sats(t);
- phase_diff(sat,q) = Phi1-Phi2;
- end
- end;
- pd = phase_diff-phase_diff(:,1)*ones(1,qend);
- prn = find(~isnan(pd(:,1)));
- % We must delete rows with NaN's in order to cycle correctly through the colours
- pd(isnan(pd(:,1:qend))) = [];
- pd = reshape(pd,length(prn),qend);
- pd = pd/(1-(f1/f2)^2);
- [m,n] = size(pd);
- figure(1);
- plot_handles = plot(1:n,1000*pd(1,:)','-',...
- 1:n,1000*pd(2,:)','--',...
- 1:n,1000*pd(3,:)','-.',...
- 1:n,1000*pd(4,:)',':',...
- 1:n,1000*pd(5,:)','.',...
- 1:n,1000*pd(6,:)','o',...
- 1:n,1000*pd(7,:)','*');
- set(gca,'fontsize',16)
- set(plot_handles,'linewidth',1,'markersize',1)
- legend(eval('num2str(prn)'),2)
- title('Ionospheric Delay From {itL}_1 and {itL}_2 Phases')
- ylabel('Delay [mm]')
- xlabel('Epochs [1 s interval]')
- legend
- print -deps easy10
- %%%%%%%%%%%%%%%%%%%%%% end easy10.m %%%%%%%%%%%%%%%%%%%