- #1
plain stupid
- 18
- 1
I've been reading about this, but the sources I've consulted differ on what exactly is the case, fundamentally. I know this is a pretty basic question, but you'll see what I mean.
In this () YouTube video, the professor (I assume) from Standard University explains (in the first 5 minutes of the video) that transmission time is stamped on the signal in the navigation message. From this, and the time we record the arrival of the signal, we get these pseudoranges (simply multiply the time diff. with the speed of light), which we then use in those four equations (I know they instead linearize them and use some iterative methods, but who cares), etc.
Another source (https://www.e-education.psu.edu/geog862/node/1756) says the following under the heading Code Correlation:
To conceptualize the process, one can imagine two codes generated at precisely the same time and identical in every regard: one in the satellite and one in the receiver. The satellite sends its code to the receiver but, on its arrival, the codes do not line up even though they are identical. They do not correlate, that is until the replica code in the receiver is time shifted a little bit. Once that is done, the receiver generated replica code fits the received satellite code. It is this time shift that reveals the propagation delay. The propagation delay is the time it took the signal to make the trip from the satellite to the receiver, dτ. It is the same idea described above as the time it took the tone to travel through the telephone lines, except the GPS code is traveling through space and atmosphere. Once the time shift of the replica code is accomplished, the two codes match perfectly and the time the satellite signal spends in transit has been measured, well, almost.
From this, I see that there's no need to use the navigation message; one instead simply shifts (with time) this receiver-generated signal, until it matches the received signal (from the satellite). This time difference, when multiplied by the speed of light would give us the pseudorange.
Another source (https://gssc.esa.int/navipedia/GNSS_Book/ESA_GNSS-Book_TM-23_Vol_I.pdf) says on p.18 in the book (30 in the document), in describing the signal sent from the satellite, that it consists of:
- the carrier signal,
- the ranging code: "Sequences of zeros and ones which allow the receiver to determine the travel time of the radio signal from the satellite to the receiver. They are called PRN sequences or PRN codes."
- navigation data: "A binary-coded message providing information on thesatellite ephemeris (pseudo-Keplerian elements or satellite positionand velocity), clock bias parameters, almanac (with a reduced-accuracy ephemeris data set), satellite health status and other complementary information."
From this, again, I can only conclude that the navigation data (contained in the navigation message) isn't necessary to (ultimately) compute pseudoranges, but that this C/A code or whatever is in fact used to determine these things.
On p.65 in that same book (77 in the PDF), there's also an inadequate description of this entire process:
"As mentioned in section 2.2, the GNSS signals contain ranging codes toallow users to compute the travel time ∆T. Indeed, the receiver determines ∆T by correlating the received code (P) from the satellite with a replicaof this code generated in the receiver, so this replica moves in time (∆T)until the maximum correlation is obtained (see Fig. 4.1)."
This description sort of matches the one provided by the 'GPS and GNSS for Geospatial Professionals' (second URL) excerpt above this one.
Absolutely nowhere is this explained in any detail.
What confuses me further is when I take actual GPS data using my smartphone, I get these so-called RINEX O files, which only contain pseudoranges every, I don't know, 5 s or something. In order for me to compute actual positions, I need RINEX N files, which contain navigation messages. Now, here's the thing, these N files contain data that satellites broadcast (I use so-called brdc, broadcast files, which I download directly from cddis.nasa.gov, which contain nonredundant Navigation messages from all satellites, as recorded by many stations, and which are compiled into a single file) every two hours. So I don't think navigation messages actually contain any sort of current data (current time, satellite position) (I see no reason why they should), but rather some parameters that can be used to approximate the transmitting satellite's orbit, given any possible timestamp. Maybe it's this nonredundancy thing where they simply cut out all those equivalent messages because aside from the current time, each satellite transmits the same navigation message throughout the period of 2 hours, when they change it a bit. So maybe that's why I don't see as many navigation messages in these files as there could be.
I hope someone can clarify this basic thing for me. Thank you.
In this () YouTube video, the professor (I assume) from Standard University explains (in the first 5 minutes of the video) that transmission time is stamped on the signal in the navigation message. From this, and the time we record the arrival of the signal, we get these pseudoranges (simply multiply the time diff. with the speed of light), which we then use in those four equations (I know they instead linearize them and use some iterative methods, but who cares), etc.
Another source (https://www.e-education.psu.edu/geog862/node/1756) says the following under the heading Code Correlation:
To conceptualize the process, one can imagine two codes generated at precisely the same time and identical in every regard: one in the satellite and one in the receiver. The satellite sends its code to the receiver but, on its arrival, the codes do not line up even though they are identical. They do not correlate, that is until the replica code in the receiver is time shifted a little bit. Once that is done, the receiver generated replica code fits the received satellite code. It is this time shift that reveals the propagation delay. The propagation delay is the time it took the signal to make the trip from the satellite to the receiver, dτ. It is the same idea described above as the time it took the tone to travel through the telephone lines, except the GPS code is traveling through space and atmosphere. Once the time shift of the replica code is accomplished, the two codes match perfectly and the time the satellite signal spends in transit has been measured, well, almost.
From this, I see that there's no need to use the navigation message; one instead simply shifts (with time) this receiver-generated signal, until it matches the received signal (from the satellite). This time difference, when multiplied by the speed of light would give us the pseudorange.
Another source (https://gssc.esa.int/navipedia/GNSS_Book/ESA_GNSS-Book_TM-23_Vol_I.pdf) says on p.18 in the book (30 in the document), in describing the signal sent from the satellite, that it consists of:
- the carrier signal,
- the ranging code: "Sequences of zeros and ones which allow the receiver to determine the travel time of the radio signal from the satellite to the receiver. They are called PRN sequences or PRN codes."
- navigation data: "A binary-coded message providing information on thesatellite ephemeris (pseudo-Keplerian elements or satellite positionand velocity), clock bias parameters, almanac (with a reduced-accuracy ephemeris data set), satellite health status and other complementary information."
From this, again, I can only conclude that the navigation data (contained in the navigation message) isn't necessary to (ultimately) compute pseudoranges, but that this C/A code or whatever is in fact used to determine these things.
On p.65 in that same book (77 in the PDF), there's also an inadequate description of this entire process:
"As mentioned in section 2.2, the GNSS signals contain ranging codes toallow users to compute the travel time ∆T. Indeed, the receiver determines ∆T by correlating the received code (P) from the satellite with a replicaof this code generated in the receiver, so this replica moves in time (∆T)until the maximum correlation is obtained (see Fig. 4.1)."
This description sort of matches the one provided by the 'GPS and GNSS for Geospatial Professionals' (second URL) excerpt above this one.
Absolutely nowhere is this explained in any detail.
What confuses me further is when I take actual GPS data using my smartphone, I get these so-called RINEX O files, which only contain pseudoranges every, I don't know, 5 s or something. In order for me to compute actual positions, I need RINEX N files, which contain navigation messages. Now, here's the thing, these N files contain data that satellites broadcast (I use so-called brdc, broadcast files, which I download directly from cddis.nasa.gov, which contain nonredundant Navigation messages from all satellites, as recorded by many stations, and which are compiled into a single file) every two hours. So I don't think navigation messages actually contain any sort of current data (current time, satellite position) (I see no reason why they should), but rather some parameters that can be used to approximate the transmitting satellite's orbit, given any possible timestamp. Maybe it's this nonredundancy thing where they simply cut out all those equivalent messages because aside from the current time, each satellite transmits the same navigation message throughout the period of 2 hours, when they change it a bit. So maybe that's why I don't see as many navigation messages in these files as there could be.
I hope someone can clarify this basic thing for me. Thank you.