GS550
Spatial Data Analysis II
Spring 2005
Class Problem No. 1
April 6, 2005
Today we will try to design a simple MATLAB program that would read ASCII data files containing (1) GPS pseudoranges, satellite coordinates, and satellite clock error, and (2) approximated coordinates of the observing station. Based on this information and the GPS range observation equation, we will derive the partial derivatives to linearize the equation, and build the A matrix and the y vector for our least squares solution of the over-determined system of equations (given number of observations will be larger than the number of unknowns). The unknowns will be the station coordinates and the receiver clock error.
The following steps will be needed to write a MATLAB program that would allow us to do the above:
1. Read the data file
2. Read the file containing the station coordinates
3. Check the size of the data file to find out how many satellites (observations) are given
4. Design a “for” loop to build A matrix and y vector based on the linearized form of the observation equation
5. Write A|y to the output ASCII file
1. GPS pseudorange observation equation and its linearized form
Consider a pseudorange observation equation in the form:
For simplicity, we neglect the troposphere (T) and inosphere (I/
f2) terms, as well as the multipath term, M. The simplified form of the above equation is:
Where:
c is the speed of light,
ti is the time of signal reception and
dti is the receiver clock error,
tk is the time of the signal transmit by a satellite, and
dtk is the satellite clock error, and
e is the random error term (white noise)
r is a geometric distance between the satellite and the receiver’s antenna
(r = sqrt((xi-xk)2+(yi-yk)2+(zi-zk) 2)
Since the unknowns are the station coordinates, which are included in the non-linear term of this equation, the equation must be linearized (first-order terms in the Taylor series). Additional unknown (linear form) is the receiver clock error term, dti.
The term ro can be evaluated based on the station’s approximated coordinates and satellite coordinates (provided in the satellite navigation message); similarly, dtk can be evaluated based on the satellite navigation message. Thus, the rearranged form of the observation equation above can be written as follows:
Where the left-hand-side now represents a term called “observed-computed”, or omc, which constitutes the y vector or “observation vector” in the least squares adjustment (this vector is also denoted as m). Partial derivatives:
The final form of the observation equations m+v = Ax (where v is the correction term, i.e., the estimate of the error e). Note: for more than one epoch of data processed together, there will be one receiver error term per epoch; if we process the data one epoch at the time (navigation case), the equation below is used. See attached pages for more information.