📄 ergamf.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 + -