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()
Thanks in advance, big thanks,
maybe someone can help,
Sherest
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()
Thanks in advance, big thanks,
maybe someone can help,
Sherest