Home > mfiles > part5.m

part5

PURPOSE ^

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 clear;
0002 warning('off','all');
0003 warning;
0004 
0005 nsats = 4;
0006 
0007 rho = 26570*1000; % distance from origin in meters
0008 
0009 niter = 10;
0010 
0011 x0 = [ 0 0 6370 0 ]';
0012 
0013 % backward error (i.e. input error)
0014 delta_t = [ 10^-6 10^-7 10^-8 10^-9 10^-10 10^-11 10^-12 ];
0015 delta_t = fliplr(delta_t);
0016 
0017 emf = zeros(niter,1);
0018 err = zeros(niter,1);
0019 maxEMF = zeros( length(delta_t), 1 );
0020 minEMF = zeros( length(delta_t), 1 );
0021 maxERR = zeros( length(delta_t), 1 );
0022 
0023 distEMF = zeros( length(delta_t), niter );
0024 distERR = zeros( length(delta_t), niter );
0025 
0026 pct = 0.95;
0027 
0028 for x = 1:niter,
0029     for i = 1:length(delta_t),
0030         for j = 1:niter,
0031             sat = genRandomSatellites( nsats, rho, pct );      
0032             [emf(j), err(j)] = pertubateClockError( sat, x0, delta_t(i), @solveNavEqns1 );
0033         end % END for j
0034         maxEMF(i) = max(emf);
0035         minEMF(i) = min(emf);
0036         maxERR(i) = max(err);    
0037     end % END for i
0038     distEMF(1:length(maxEMF),x) = maxEMF;
0039     distERR(1:length(maxERR),x) = maxERR;
0040 end % END for x
0041 
0042 meanEMF = zeros( length(delta_t), 1 );
0043 meanERR = zeros( length(delta_t), 1 );
0044 % take the avg of the randomized trend
0045 for i = 1:length(delta_t),
0046     meanEMF(i) = mean(distEMF(i,1:niter));
0047     meanERR(i) = mean(distERR(i,1:niter));
0048 end
0049 
0050 figure(4);
0051 semilogx(delta_t, meanEMF,'b-',delta_t, meanEMF,'ro');
0052 ylabel('cond(EMF)');
0053 xlabel('clock error');
0054 title('cond vs clock error');
0055 
0056 figure(5);
0057 semilogx(delta_t, meanERR,'b-',delta_t, meanERR,'ro');
0058 ylabel('position error (m)');
0059 xlabel('clock error');
0060 title('position error vs clock error');
0061 
0062 figure(6);
0063 semilogx(delta_t(1:3), meanERR(1:3),'b-', delta_t(1:3), meanERR(1:3),'ro');
0064 set(gca,'XTick', delta_t(1:3));
0065 ylabel('position error (m)');
0066 xlabel('clock error');
0067 title('position error vs clock error');

Generated on Sat 22-Feb-2014 01:14:24 by m2html © 2005