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

📄 ergamf.m

📁 这是国外关于卫星导航方面一书的源代码
💻 M
字号:
% -----------------------------------------------------------------------------
% GPSLab:     ERGAMF.M
%
% Save results after running of CDGPS(amf):
% results, observation statistics   [lstamf.txt]
%
% -----------------------------------------------------------------------------
% (c) iapg 1999-2001 zeb  -  Version 12-99/e05-01


if ~exist('amf_is_calc')
   %warndlg(['Ergebnisdatei nicht erstellbar, solange keine AMF-L鰏ung berechnet wurde: '...
   %      'Bitte f黨ren Sie zuerst "CDGPS(amf)"  -> "berechnen" aus.'] ,...
   %      'GPS Lab: Anwendungsfehler beim Aufruf von ERGAMF.M');
   return;
end 


fid=fopen('lstamf.txt','wt+');
a1='#########################################################################';
a2='                  Results of the Carrier Phase Processing ';
a22='  applying the ambiguity function technique (AMF) on double differences ';
a3='                       GPSLab (c) iapg 1999-2001 zeb';
a4='################################ END ####################################';
a5=['            This file was created ',datestr(datenum(now),0)];
a6='-------------------------------------------------------------------------';
a7='------------------------------------';

fprintf(fid,'%s\n%s\n%s\n%s\n%s\n%s\n%s\n',a1,a2,a22,a3,a1,a5,a6);
fprintf(fid,'%s%s\n\n','comment:    ',comment);
fprintf(fid,'%s\n','parameters set    :');

if mit_l2==1
   fprintf(fid,'%s\n','- observation type      = L1 + L2');
elseif mit_l2==2
   fprintf(fid,'%s%s\n','- observation type      = ',lane);
else
   fprintf(fid,'%s\n','- observation type      = L1 ; no L2 available or squared:');
end

fprintf(fid,'%s%5.3f\n','- grid width       [m]  = ',raster);
fprintf(fid,'%s%2i\n','- elevation mask  [deg] = ',el_mask);
fprintf(fid,'%s%s\n%s\n\n','- troposphere model     = ',what_trop,a6);

a8='Reference station                   X [m]        Y [m]        Z [m]';
a9='Rover station                       X [m]        Y [m]        Z [m]';
ag8='Reference station (WGS84 ellipsoid) Lat [癩      Lon [癩      H [m]';
ag9='Rover station     (WGS84 ellipsoid) Lat [癩      Lon [癩      H [m]';


fprintf(fid,'%s\n%s\n%s%12.3f %12.3f %12.3f\n\n',a8,a6,'approximate coordinates        :',xs1,ys1,zs1);
fprintf(fid,'%s\n%s\n%s%12.3f %12.3f %12.3f\n',a9,a6,'approximate coordinates        :',xs2,ys2,zs2);
fprintf(fid,'%s%12.3f %12.3f %12.3f\n','estimated coordinates          :',xxs2,yys2,zzs2);
fprintf(fid,'%s%12.3f %12.3f %12.3f\n\n\n','standard deviations            :',sxs2,sys2,szs2);

fprintf(fid,'%s%12.3f %12.3f %12.3f\n\n\n','correlation coeff.  (XY|XZ|YZ) :',korrxy,korrxz,korryz);

fprintf(fid,'%s\n%s\n%s%12.8f %12.8f %12.3f\n\n',ag8,a6,'approximate coordinates        :',app1_b,app1_l,app1_h);
fprintf(fid,'%s\n%s\n%s%12.8f %12.8f %12.3f\n',ag9,a6,'approximate coordinates        :',app2_b,app2_l,app2_h);
fprintf(fid,'%s%12.8f %12.8f %12.3f\n','estimated coordinates          :',bbs2,lls2,hhs2);
fprintf(fid,'%s%12.3f %12.3f %12.3f\n\n\n','standard deviations            :',sbbs2,slls2,shhs2);

fprintf(fid,'%s %10.3f\n\n','average position error                       [m]:',sigma_0);
fprintf(fid,'%s %10.3f\n\n','average double difference residual           [m]:',m_res);
fprintf(fid,'%s %10.3f\n\n','grid width                                   [m]:',raster);

fprintf(fid,'%s %10.3f %s %2i %2i %2i%s\n','max. AMF value, [coord. in 21*21*21 search cube]:',best1st,'[',m1i,m1k,m1l,' ]');
fprintf(fid,'%s %10.3f %s %2i %2i %2i%s\n','min. AMF value, [coord. in 21*21*21 search cube]:',mist2nd,'[',m2i,m2k,m2l,' ]');
fprintf(fid,'%s %10.3f\n\n','Ratio         (0 < r < 1 , greater means better):',(best1st-mist2nd)/2);
if ((best1st-mist2nd)<1 & mit_l2==1) | ((best1st-mist2nd)<1 & mit_l2==0)
   fprintf(fid,'%s\n','****  Ratio unsufficient (<0.5) !  ****');
   fprintf(fid,'%s\n','A ratio < 0.5 means, that min and max in the search area are seperated less than');
   fprintf(fid,'%s\n','a half cosine amplitude (flat, insignificant maximum).');
   fprintf(fid,'%s\n\n','It is a possible result when the distance is > 5 km or the search cube is too small.');
end

if best1st<.60
   fprintf(fid,'%s\n','***** maximum unsufficient (<60%) ! *****');
   fprintf(fid,'%s\n','Either the solution is outside of the search cube');
   fprintf(fid,'%s\n','or the observations are too noisy or otherwise unsufficient.');
   fprintf(fid,'%s\n\n','It is a possible result when the distance is > 5 km and/or the grid width is to broad.');
end

if (abs((best1st-mist2nd)/2-best1st) > 15)
   fprintf(fid,'%s\n','***** difference Ratio - Max. >15% *****');
   fprintf(fid,'%s\n','The peak was found at the limit of the search area and its broadness is dominating this.');
   fprintf(fid,'%s\n','That is normal for a grid width of less than one cm,');
   fprintf(fid,'%s\n','especially when large wavelengths (like Lw) were used for processing.');
   fprintf(fid,'%s\n','But attention: the maximum should not be found on the cube plains,');
   fprintf(fid,'%s\n\n','because the correct solution eventually is outside of the search space.');
end

if m_res>.05
   fprintf(fid,'%s\n','*****  Average residual > 5 cm  *****');
   fprintf(fid,'%s\n','The observations are very noisy and are so eventually unsufficient for a correct solution.');
   fprintf(fid,'%s\n','If doble frequency data are available, please use a');
   fprintf(fid,'%s\n\n','linear combination with larger wavelength or smaller noise.');
end

if m_res>(3*raster)
   fprintf(fid,'%s\n','***** too little grid width *****');
   fprintf(fid,'%s\n','The average double difference resudual is more than tree times bigger than the');
   fprintf(fid,'%s\n','chose grid width. The noise of the observation data is too large for a');
   fprintf(fid,'%s %5.3f %s\n\n','coordinate determination in an accuracy of ',raster,' meter');
end

fprintf(fid,'%s %10.3f\n','antenna height reference stat.(phase center) [m]:',ants1);
fprintf(fid,'%s %10.3f\n\n','antenna height at rover stat. (phase center) [m]:',ants2);

fprintf(fid,'%s %10.3f\n','height difference from approximate coordin.  [m]:',dapp_h);
fprintf(fid,'%s %10.3f\n\n','height difference from CDGPS (amf)           [m]:',m_delta_h);
fprintf(fid,'%s %10.3f\n','baseline length from approximate coordinates [m]:',app_bsl);
fprintf(fid,'%s %10.3f\n\n','baseline length from CDGPS (amf)             [m]:',m_bsl);

fprintf(fid,'%s %6.3f %s %6.3f %s %6.3f\n\n','RDOP of the DGPS solution - mean:',rdmit,'   min:',rdmin,'   max:',rdmax);

fprintf(fid,'\n%s\n%s\n%s\n%s\n','simultaneous observation epochs: all satellites at rover ',a7,'PRN      #',a7);
fprintf(fid,'%3i  %5i\n',[n2;haufig2]);

fprintf(fid,'%s %10i\n\n','sum of all observations   :',used_all);

t1st=s2epo(1,1);
tlast=s2epo(size(s2epo,1),1);
tspan=tlast-t1st;
tsec=mod(tspan,60);
tmin=(tspan-tsec)/60;
fprintf(fid,'\n%s %6i\n','first  epoch    [GPS week seconds]:  ',t1st);
fprintf(fid,'%s %6i\n','last epoch      [GPS week seconds]:  ',tlast);
fprintf(fid,'%s %6i %s %3i %s\n','time span (processable obs. time) :  ',tmin,' minutes  ',tsec,' seconds ');

fprintf(fid,'\n%s\n\n',a4);


fclose(fid);

% --------------------------------------------------------------------------------
% (c) iapg 1999-2001 zeb

⌨️ 快捷键说明

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