My Errors !!

30 October 1997. In the ionospheric delay procedure the first line (calculation
of the earthcentered angle) the constant should be 0.0137. The online version
of the GPS SPS Signal Specification is here in error. (Thanks to Peter Dana)

16 November 1997. In the 'const' sections of my programs I defined:
We = 7.292115E5 {WGS84 earth rotation rate} and
Wedot = 7.2921151467E5 {WGS 84 value of the earth's rotation rate}.
The first constant is a left over from earlier programming exercises and
can be removed (thanks to Nick Ryan).

28 January 1998. In the procedure 'satpos' the iteration limit of Ek, 1.0E6,
is too crude. Lower it to e.g. 1.0E8 (sources involved: stdalone.pas,
singldif.pas and gpsproc.pas) (Thanks to David Hindman).

23 March 1998. In the page describing the decoding of the navigation message
I mentioned a word length of 32 bit and a parity length of 8 bit. This should
be: a word length of 30 bit and a parity length of 6 bit (Thanks to Frank
Yellin).

31 March 1998. In the page 'Decoding the GPS Navigation Message' a formatting
error in the example 'Subframe 2,3  ephemeris parameters' has been solved.
(Thanks to Frank Yellin).

20 October 1998. In the page 'satpos.htm' the final line of the calculation
steps is in error: change sin(Wc) into sin(i). (Thanks to JeanBaptiste Gagnon).

9 November 1998. The page 'Decoding the GPS Navigation Message' contains
has been corrected for two errors: in example subframe 1  clock parameters
word 93 should read EC not FC, and in example subframe 2,3  Ephemeris
parameters the computed value for W0 should be 5.82.....E1 in stead of
5.82.....E10 (Thanks to Gavin Andrews).

28 May 1999. I forgot to correct for weekcrossovers in the clock correction
in the sample program stdalone.pas. Change :
dTclck := + clk[prn,5] + clk[prn,4] * (Ttr  clk[prn,2]) + clk[prn,3] * (Ttr
 clk[prn,2]) * (Ttr  clk[prn,2]) + Trel  clk[prn,1];
into :
T := Ttr  clk[prn,2];
{correct for week crossover}
if T > 302400 then T := T  604800;
if T < 302400 then T := T + 604800;
dTclck := + clk[prn,5] + clk[prn,4] * T + clk[prn,3] * T * T + Trel 
clk[prn,1];
on two places in main (Thanks to Gavin Andrews).

8 September 1999. In the page describing the decoding of the navigation message
I made a typo in the navigation message table at the 'pageID' parameter:
the join factor should be : b1 mod 2^6 , not b1 mod 2^5. (Thanks to Koh,
Sungook)

4 January 2000. Garry Delbridge found an error in XYZ2LLA, the procedure
in stdalone.pas to convert ECEF XYZ to Lat, Lo, Alt. Please
download the new version of stdalone.pas.

28 February 2001. An error in stdalone.pas for the clock correction in pass
2 has been corrected a long time ago, but I forgot to update the internet
version. Bence Takacs made me aware, thanks! Please
dowload the most recent version of stdalone.pas.

28 May 2001. Niilo Sirola spotted a bug in the ionospheric delay procedure:
the line
if T >= 86400 then T := T  86400 else if T < 0 then T := T +
86400 still allows T to be outside the interval 0 <= T < 86400.
A correct implementation is:
while T > =86400 do T := T  86400 else while T < 0 do T := T +
86400
Back to software index