Float Ambiguity

Discussion in 'Global Navigation Satellite Systems' started by hannan.sadar, Mar 31, 2009.

1. Hi,

I am trying to solve float ambiguity from my zero-baseline (2 Geodetic
receivers, but single frequency computation). I used few equations
from the book GPS Theory and Practice (B. Hofmann-Wellenhof), p. 248
in order to solve my float ambiguity.

My data set are pseudorange and phase and of course satellite's
ephemeris.

i assume that the two receivers are static (what is correct), which
means that in double difference all the parameters i try to solve do
not change in time (\Delta X , \Delta Y, \Delta Z and N_1, ..., N_n,
where "n" is the number of satellites).

For simplicity assuming that the number of satellites at each epoch
also dont change with time. I dont really know where my bug is, since
when i checked the data with only pseudorange data, i got smooth
relative distance of about 20cm (but it needed a lot fo iteration each
epoch), when i add phase data, i get that the solution is stable for
odd tries and stable (but different) for even. I dont really know what
is the reason for that, that is why i am publishing my matlab code

---------------- MATLAB Code -------------------
dx = ones( 3 + satNum , 1 );
% Compute line of site to reference satellite
dXYZ = SatXYZ(RefSat, - BaseApproxXYZ;
los_rl = -dXYZ/norm( dXYZ )
% Removing data of reference satellite
satXYZ(RefSat, = [];
b(RefSat) = [];
b(RefSat + satNum) = [];
% Build wight matrix
P = zeros( satNum * 2 );
SigmaPhase = 2e4;
SigmaPRn = 2;
for i = [ 1 : satNum ]
P( i , i ) = SigmaPRn;
P( satNum + i , satNum + i ) = SigmaPhase;
end

while ( abs( norm( dx ) ) > 1e-05 )
A( (1 + satNum) : (satNum * 2), 4 3 + satNum) ) = eye( satNum )
* Lambda_1;
dPR = zeros( 2 * satNum , 1 );
for j = 1 : satNum
dXYZ = satXYZ(j, - BaseApproxXYZ;
los_rk = - dXYZ / norm( dXYZ ) ;
A( j , 1:3 ) = los_rk - los_rl;
A( satNum + j , 1:3 ) = ( los_rk - los_rl );
r_0 = ( los_rk - los_rl ) * dr;
l( j ) = b( j ) - r_0;
l( satNum + j ) = Lambda1 * b( satNum + j ) - r_0 -
Lambda1 * afloat(j);
end

G_0 = inv(CovXYZ_0);
G_1 = A' * P * A;
K = inv( G_0 + G_1 ) * A' * P;
dx = K * ( dPR - A * x_0 );
CovXYZ_0 = CovXYZ_0 - K * A * CovXYZ_0;

dr = dr + dx(1:3);

afloat = afloat + dx(4:end);
end

hannan.sadar, Mar 31, 2009

2. samsvlGuest

Hi Hannan,

In a zero baseline experiment the double differenced carrier phases
should be
very close to an integer value (depending on the quality of antenna,
and environment within a few hundredths of a cycle), the integer
number being
the ambiguity !!

Cheers,

Sam

samsvl, Apr 2, 2009

3. Jhabindra Khanal

Joined:
Mar 9, 2015
Messages:
4
0
Hello my seniors
I just started to work on gps based attitude determination using single frequency(L1) carrier phase differential GPS. could u advice me and provide me. what kinds of GPS data and tool are need to postprocess a data set. and writing matlab code from the beginning. and could u provide me related data?? I hope you have a kind heart.
junior ,
Jhabindra Khanal

Jhabindra Khanal, Mar 9, 2015