⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 amfplot.m

📁 这是国外关于卫星导航方面一书的源代码
💻 M
字号:
% -----------------------------------------------------------------------------
%  GPSLab - AMFPLOT.M  Plot of the results of a
%                      Carrier Phase Differential GPS (DGPS) solution
%                      (by means Ambiguity Mapping Function technique)
%                      for the vector between Reference and Rover.
% -----------------------------------------------------------------------------
%  Before starting this file the program AMFLAB.M had to produce the  
%  variables needed (look at warning below).
%
% (c) iapg 1999 zeb
% -----------------------------------------------------------------------------


if ~exist('amf_is_calc')
   warndlg(['Nothing to display, as long as no AMF-solution was calculated: '...
         'Please perform "CDGPS(amf)"  -> "calculate" at first.'] ,...
         'GPS Lab: application error at call of AMFPLOT.M');
   return;
end 


% PLOTS
% -----
% Plot der Aufrisse der Werte (Summation) auf die 3 Koordinatenebenen 
% Plot der Maximumdarstellung, Histo + Plot aller L鰏ungen, RDOP-Verlauf, 
%          Satellitenbodenspuren, Anz. der verwendeten Beob. je Sat.

figure(99);
subplot(1,1,1);

% statt contourf() evtl. auch contour3() oder waterfall() ...

% *** noch aus Testphase ***
% a=rand([21,21,21]);
% a(10,7,12)=1;
% [i,j]=find(a==max(max(max((a)))))
% [k,l]=ind2sub([21,21],j)
% format long
% wert=a(i,k,l)
% *** ------------------ ***


switch amf_pl_nr
   
case 1

e1=reshape(ddamfnorm(m1i,:,:),[21 21]);
e2=reshape(ddamfnorm(:,m1k,:),[21 21]);
e3=reshape(ddamfnorm(:,:,m1l),[21 21]);

colormap('summer');

subplot(2,3,1)
contourf(e1)
colorbar;
title('YZ-plane cutting Max.');

subplot(2,3,2)
contourf(e2)
colorbar;
title('XZ-plane cutting Max.');

subplot(2,3,3)
contourf(e3)
colorbar;
title('XY-plane cutting Max.');

subplot(2,3,4)
axis([1 21 1 21 1 21])
grid
hold on;
slice(ddamfnorm,m1i,m1k,m1l);
colorbar('horiz');
hold off;
title('surrounding of Max.');

% subplot(2,3,5)

subplot(2,3,6)
axis([1 21 1 21 1 21])
grid
hold on;
% 1. Maximum / best1st
plot3(21,m1k,m1l,'r.')
plot3(m1i,21,m1l,'r.')
plot3(m1i,m1k,1,'r.')
plot3(m1i,m1k,m1l,'b.')
% 2. Maximum / best2nd
% plot3(m2i,m2k,m2l,'g.')
% plot3(21,m2k,m2l,'y.')
% plot3(m2i,21,m2l,'y.')
% plot3(m2i,m2k,1,'y.')
hold off;
title('Position of Maximum');


case 2
subplot(1,2,1)   
colormap('summer');
n_hist=hist(reshape(ddamfnorm,(21*21*21),1),[-1:.15:1]);
hist(reshape(ddamfnorm,(21*21*21),1),[-1:.15:1]);grid;
axis([-1 1 0 max(n_hist)]);
title('Histogram of all solutions');
xlabel('normed AFM-Wert');
ylabel('frequency');

subplot(1,2,2)
plot(sort(reshape(ddamfnorm,(21*21*21),1)),'+');grid;
axis([1 length(reshape(ddamfnorm,(21*21*21),1)) -1 1]);
title('AMF-values of all solutions');
xlabel('all solutions, sorted by magnitude');
ylabel('normed AFM-Wert');


case 3
plot(s1epo(:,1),rdops2);
title('variation of RDOP');
xlabel('observation time [Wsec]');
ylabel('RDOP-value');


case 6
if mit_l2==2     % laning
   
subplot(1,2,1)   
colormap('summer');
hist(acos(sort(reshape(ddamfnorm,(21*21*21),1)))./2./pi.*lambdax);grid;
title('histogram of the mean residuals');
xlabel('[ meter ]');
ylabel('frequency');

subplot(1,2,2)
plot(acos(sort(reshape(ddamfnorm,(21*21*21),1)))./2./pi.*lambdax,'+');grid;
axis([1 length(reshape(ddamfnorm,(21*21*21),1)) ...
      min(acos(sort(reshape(ddamfnorm,(21*21*21),1)))./2./pi.*lambdax) ...
      max(acos(sort(reshape(ddamfnorm,(21*21*21),1)))./2./pi.*lambdax)]);
title('mean residuals of all solutions');
xlabel('all solutions, sorted by magnitude');
ylabel('[ meter ]');
  
else     % L1+L2

subplot(1,2,1)   
colormap('summer');
hist(acos(sort(reshape(ddamfnorm,(21*21*21),1)))./2./pi.*lambda1);grid;
title('histogram of the mean residuals');
xlabel('[ meter ]');
ylabel('frequency');

subplot(1,2,2)
plot(acos(sort(reshape(ddamfnorm,(21*21*21),1)))./2./pi.*lambda1,'+');grid;
axis([1 length(reshape(ddamfnorm,(21*21*21),1)) ...
      min(acos(sort(reshape(ddamfnorm,(21*21*21),1)))./2./pi.*lambda1) ...
      max(acos(sort(reshape(ddamfnorm,(21*21*21),1)))./2./pi.*lambda1)]);
title('mean residuals of all solutions');
xlabel('all solutions, sorted by magnitude');
ylabel('[ meter ]');

end

   
case 4
load coast0;		% K黶tenlinien-Daten laden
colormap('default');
plot(lam,phi,'k'); 		% liefert Weltkarte
hold on;		% Plot "黚ermalen"
hg=plot(s2l(s2l~=0),s2b(s2b~=0),'.b');
plot(app1_l,app1_b,'or');
plot(app1_l,app1_b,'*r');
xlabel('longitude');
ylabel('latitude');
title('GPS - groundtracks during observation time');
text(-180,-90,'Reference in red, observes satellites in blue');
hold off;		% "躡ermalen" aus


case 5
hist(satnrs,[1:32]);
colormap cool;
title('simultaneous epochs of observation (all sat. at Rover)');
xlabel('PRN-number of the Satellites');
ylabel('Number of observations depending on satellite');
grid;


case 7
subplot(2,1,1);
plot(s1epo(:,1),satmask1,'.');
axis([min(s1epo(:,1)) max(s1epo(:,1)) 0 12]);
grid;
% xlabel('Beobachtungszeit in GPS-Wochensekunden');
ylabel('number of satellites');
title('number of observed sat. at every epoch, Reference');

subplot(2,1,2);
plot(s2epo(:,1),satmask2,'.');
axis([min(s2epo(:,1)) max(s2epo(:,1)) 0 12]);
grid;
xlabel('observation time in GPS week seconds');
ylabel('number of satellites');
title('number of observed sat. at every epoch, Rover');


otherwise
   
   warndlg(['unvalid case switch variable "amf_pl_nr": the value has to ' ...
   ' be an integer between 1 und 7 !'], 'Error in call of AMFPLOT.M');
   return;
   
end   % end switch   

% Ende  ==================================================================================
% (c) iapg 1999 Zebhauser


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -