# Calculating GPS position from RAW data

Discussion in 'GPS Technical Discussion' started by Sherest, Aug 19, 2014.

1. ### Sherest

Joined:
Aug 19, 2014
Messages:
1
0
Hey,

I got an GPS receiver which sends me the data that it receives from the GPS satellites.
So, I get a bunch of Bits/Bytes.
I want to calculate my position using 4 satellites - as usual.

I read the Ephemerid data and parse them.
With them I can calculate the GPS satellite position. (As far as I know I dont need the Almanach data - right ?)
My main problem is that some things are defined recursive.
navcen.uscg.gov/pubs/gps/sigspec/gpssps1.pdf page 38

For example:
tk = t - toe
It says here that "t is GPS system time at time of transmission, i.e., GPS time corrected for transit time (range/speed of light)."

t = tsv - dtsv (d - Delta sign)

Where I get tsv from ? It's not transmitted by the satellite ?

and now
dtsv = af0 + af1 * (t - toc) + af2 * (t - toc)^2 + dtr
that's already recursive: t is calculated by dtsv and dtsv is caltulated by using t
Then
dtr = F * e^sqrt(A) * sin (Ek)
Mk = Ek - e * sin Ek
Mk = M0 + n * tk
which is recursive again ...

So I am a bit confused. How shall I calculate all of this.

Then the next step would be to solve the non linear equotion system.
(x1 - x)^2 + (y1 - y)^2 + (z1 - z)^2 = c * (timetransmitted - timereceived + clockcorrection)
clockcorrection will be the 4th unknown in the 4 equotions.
I guess that the timetransmitted will be the t from above.
timereceived though ... I guess it will be sufficient to use something like Time.getActualTime()