GPS : Basic pseudo-distance computation

I read some papers about GPS and some points still remain really misty to me, specially concerning the computation of the pseudo range thanks to the C/A code :

If I've correctly understood, the basic concept is : at the instant t0, the satellite and the receiver generate a C/A sequence The signal is received dt after. The pseudo range is (in a first approximation) equal to pr=c*dt.

- how is it possible for the receiver to generate the code at the right time (instant to) ... is it really possible to calculate the pseudo distance with only one satellite (or are the 4 satellites (3D+T) strictly necessary ?)

- the C/A is a gold code. Its "lenght" (period) is 1023 bits. The frequency of the C/A code is 1.023MHz. (Period ~1us). Consequently, the C/A has a periodicity of 1ms (maximum lenght for 10bit registers). In comparaison, the dt we want to measure is typically around 30000km (distance receiver-satellite)/300000km.s-1 (velocity of light) =

0.1s=100ms. Let's approximate the dt will be of 60ms. Let's consider only one satellite :(each satellite has a different C/A code) 60ms represent 60 same sequences of the C/A code. How is it possible for the receiver to recognize "The" sequence emitted at the instant to ? Indeed the same sequence is emitted continuously by the satellite .... and its period is 1ms. Once again, I wonder if one satellite is enough to determinate the pseudo range : dt = N*1ms + t' (0
Reply to
le Cl?
Loading thread data ...

To do this with just one satellite would require the GPS receiver to have an internal clock precisely synchronized with the one on the satellite and with atomic clock stability. So yes, what's done instead is to rely on having an extra satellite signal so the receiver can solve for the three space dimensions and the time. If only three satellite signals are available the receiver makes the assumption that the altitude has remained constant. That's usually a pretty good assumption but if it's not true then the computed position will also be off (when I've last had a lock while flying at 30000' and get a 2D lock afterwards while on the ground the position is generally off by miles).

Yes, which the Trimble site explains a few pages later. For example start at:

formatting link

Reply to
Peter

Neglecting propagation erros, etc., consider an ideal system where the satellites (birds) are perfect and the receiver clock, while not perfect, is pretty good, at least on the short term.

Supose you had a receiver with a clock "perfectly" synchronized with the satelite. You measure the time delay from the bird and thus define a sphere of position. Do the same with a second bird and you get a circle where the two spheres intersect. Put in a third and you get a point (actually, two points but one is above the orbit of the birds and can be ignored). Now take a fourth and repeat using combinations of the four taken three at a time. Each *combination* (not permutation) will give a somewhat different solution due to clock error in the receiver. Now adjust the receiver clock until the solutions agree and the clocks are now synchronized.

Actually, you would minimize the region of space spanned by the solutions from all available sets of three birds.

Ted

Reply to
Ted Edwards

Your description seems adequate and accurate.

The navigation problem is determing your location in 4-space (3D+T).

When the receiver knows nothing about its 4-space location, it tries for all possible satellites until it avails an almanac from one of them. Then the receiver knows the correct time within a few seconds and that the satellite from which the almanac was availed is above the horizon. The satellite almanac is a rough approximation of the satellite constellation orbits such that the receiver can spend its efforts on satellites which are near the satellite from which the almanac was availed as these satellites also are likely to be above the horizon. If the receiver has some idea of its location, such as assuming that it is near (~1Mm) where it was turned off, then it can the current time (such as from an internal quartz clock), assumed location and the almanac (whether a saved almanac or one just availed from a satellite) to do a more effective search.

As each satellite is detected, the receiver starts searching for that satellite's ephemeris data which is an extremely accurate description of that satellite's orbit. Normally, that accuracy is in millimeters. It is kept to that accuracy by ground station monitoring of the satellites by radar and lidar from known locations on the ground and updating the satellites ephemeris several times a day.

Once four non-coplanar satellites are located, or the equivalent from other known data, such as an accurately known time (such as a cesium clock in the receiver) or altitude (e.g., known to be a specified distance from sea level (consider a GPS receiver on a vessel at sea)), it is possible to solve the four, non-linear equations in four unknowns to determine the receiver's 4-space location. If more than 4 data can be availed, then the various combinations generally different solutions. These solutions could combined statistically to produce a hopefully more accurate solution. If the receiver stays at a fixed location in 3-space, then the time-separated solutions can be combined statistically, to produce a hopefully more accurate solution also.

The solution surfaces for two satellite signals are hyperboloids of two sheets in 4-space, for 3 satellites it is a closed curve in 4-space and for 4 satellites, a point in 4-space (some equivalent of latitude, longitude, altitude and time, all at the equivalent of a few nanoseconds accuracy).

Finally, the pseudo-range from a satellite is conversion of the (possibly, assumed) time difference between the when a satellite sent its signal and when the receiver received the signal converted to distance. Several corrections are commonly applied: an assumed base delay from passing through the atmosphere (particularly, the ionosphere) and if a correction signal can be availed, corrections for known errors in the satellites' signals. The correction signals may come from Differential GPS from either a governmental source (the US Coast Guard provides such a service), from a commercial service or your own base station at a known location; WAAS, EGNOS, LAAS or other equivalent, etc.

You might find it interesting or useful to study the LORAN system.

formatting link

Receivers that combine GPS, Galileo, GLONASS, LORAN, INS or a miniature cesium clock

formatting link
are reasonable devices to consider building as the navigation technologies complement each other. In particular, GPS and Galileo are designed so that building a combined receiver would not be much more expensive than a receiver for GPS or Galileo alone.

Reply to
Randolph J. Herber

Largely correct, but I'll nitpick anyway... :^)

The search goes over all satellites (SVs) *and* over all possible doppler shifts and local oscillator errors. The Almanac is not strictly required and doesn't help with the initial search unless you know where you are.

The 'blind' search continues until 4 SVs are found. Some tricks can be used to shrink the search space and reduce the initially required number of SVs for an initial inaccurate position.

After receiving and demodulating the first SV signal for about 6 seconds, the GPS time is known within better than 0.07 seconds.

Yes, these are the most common tricks to speed up the initial search. It relies on creative definitions of "cold start". :^)

Each satellite transmits its own Ephemerides data every ~20seconds and the almanac of the full constellation every ~12 minutes. Ephemeris is a very accurate "best fit", but only in the short term (4 hours). Almanac information is inaccurate, but degrades much more slowly.

As far as I know, the ground stations use (military) GPS to measure the orbits. I have a feeling that the required Radar baseline may be larger than the ground stations. And Lidar is normally used for aerial ground mapping, I'm not sure it can handle atmospheric scatter at sufficient accuracy.

Do you have any references for this?

The most common practice is to combine all the available measurements into a so called over determined solution. This gives you a "best position", usually according to least squares criteria. The time solution is integral to this, no special treatment needed.

There are more advanced ways of doing this, usually with an enormous increase in required computing power.

Two points actually, but one is outside the satellite orbits.

Thats why it's called 'pseudo' range. it is subjected to the common mode error of the receiver clock.

The almanac contains global average ionospheric corrections which are always applied. WAAS/EGNOS DGPS normally corrects more accurately for a large region (USA/Europe), DGPS beacons normally for an area of a few 100Km. The smaller the region, the more accurate the correction.

Survey equipment normally consists of a reference receiver at a known position and a mobile unit. This is a very small scale DGPS system with added tricks (carrier phase measurement) which can achieve sub cm accuracies.

Military GPS can measure the atmospheric delay for the exact position, because the two frequencies have different delays trough the atmosphere. Future GPS and the upcoming Gallileo system will provide dual-frequency operation for civilian receivers.

Kind regards,

Iwo

Reply to
Iwo Mergler

Your explanation is very clear ... but I'm still wondering about the way you calculate the pseudo distance (the radius of the spheres you evoque) : the C/A code permits to "refine (within 1ms)" but not to determine(>10ms) the difference of time due to the propagation. I can't get it !

Reply to
le Cl?

Thank you for your detailled answers !

I still have difficulties to understand how to determine the pseudo-distance. I read in a paper about C/A code:

"At this rate of bit transitions, the full sequence of 1023 bits is transmitted in 1 ms. Therefore, the sequence repeats 1000 times per second. The chip length (distance between bit transitions) is 293 m. Therefore, the sequence repeats every 300 km. " and "The "chip length", or physical distance between binary transitions (between digits +1 and -1), is 293 metres. The basic information that the C/A code contains is the time according to the satellite clock when the signal was transmitted (with an ambiguity of 1 ms, which is easily resolved, since this corresponds to 293 km). Each satellite has a different C/A code, so that they can be uniquely identified." I fully agree with that ... but I can't understand how to resolve the ambiguity of 1ms. In fact I don't understand how to determine APPROXIMATELY the pseudo distance between the satellite and the receiver just with the C/A code. T= N*1ms + dt that leads to PR=N*293km + d. The C/A code can give the "d". How can we get N ? Best regards,

Clément

Reply to
le Cl?

has

The 50 bit per second navigation message is on top of and synchronized with the pseudorandom gold code. The data within the navigation message gives you the time the next 6 second subframe begins. The timing mark where the subframe begins is the beginning of the first bit of the first chip of the subframe. The 1 ms chip is your coarse time ruler. The carrier cycles are your fine time ruler.

Tom

Reply to
s_anode

Now, my turn.

1) I had simplified the description of the search by not describing all the issues of the methodology of the search. 2) ``until it avails an almanac'' At that stage the receiver does not have an almanac, therefore the almanac can not be used. I was describing a ``search the sky'' cold start with a unset internal clock.

Only if one assumes that one is on or near the surface of earth, otherwise, one must only assume some location within the GPS service volume (roughly within the Lunar orbit). That gives the several seconds accuracy --- which is sufficient to make effective use of the almanac.

``assuming ....''

Exactly, what I meant and exactly what I thought I had said!

I would have to look them up again. I found them the first time at the USAF web site that is publically accessable and is managed by the same group that operate the GPS ground stations. That site mentions that military GPS receivers are used to measure the signal errors and radar is used to cross-check the distances to the satellites. I had seen a mention that lidar has been considered and tested for this purpose as well. I do not remember a mention that lidar is in production use.

``least squares'' is a statistical method for combining overdetermined data. I agree that ``least squares'' is probably the most common method. Again, I was simplifying the description for the intended benefit of the original questioner.

Not necessarily. And, DSPs can supply enormous computing power and many GPS receivers have (d)igital (s)ignal (p)rocessors.

Touche (I considered my LORAN example ... Your point is at least possible if not probable.)

Correct. I just did not use the language you used for the delay value included in the GPS signal itself (I said assumed base delay). You added more detailed descriptions of the corrections.

Reply to
Randolph J. Herber

I may have missed the information in the body of one of posts, but in any case... the C/A code itself provides 1 ms of range. However, the message (50 bps, if I remember correctly) allows you to go 20 times that by detecting data bit transitions, and you can go even further with the complete messge, which cycles every [I don't remember] seconds (I believe it is on the order of several minutes. )

Jason

Reply to
jtw

I see your point ... but I'm still wondering about the way the GPS receiver gets the "GPS time".

At the start, the receiver has no time (it just has a 10.23MHz or a

1.023MHz clock).

Then it receives the navigation message from 1 satellite. Then he gets the GPS time ... it can load its clock register ... but the time is lated by about 60ms (the time for the signal to come from the satellite to the receiver). In my view, at this point, the receiver can't compute the pseudo distance to the satellite ... true ?

The receiver will be able to calculate the pseudo distance thanks to the 4 equations.

Am I right ?

Clément

Reply to
le Cl?

As I understand it, once the GPS receiver has enough satellites, it will attempt to calculate a position, using its current time. If the clock is wrong, as it will be initially, the calculated pseudoranges will not meet in a point - the best the receiver can do is say that the position is somewhere within a fairly large volume. The receiver will then adjust its clock in an attempt to get the pseudoranges to meet at a single point. When it has done that, then its clock will be in sync with the GPS system clock.

--
Peter Bennett, VE7CEI  
peterbb4 (at) interchange.ubc.ca  
new newsgroup users info : http://vancouver-webpages.com/nnq
GPS and NMEA info: http://vancouver-webpages.com/peter
Vancouver Power Squadron: http://vancouver.powersquadron.ca
Reply to
Peter Bennett

The difference between range and pseudorange is exactly the local clock error. Incidentally, it's 20ms, the ambiguity is one earth radius.

You are right, the time error comes out of the same equations as the position.

Kind regards,

Iwo

Reply to
Iwo Mergler

Consequently, the positions and the time error are computed thanks to an iterative process, right ? Where could I find out some informations about this algorithm ? What are the values used for the time error, and the positions at the start of the receiver ? On start, the position of the receiver is unknown ... and the receiver must load the time in its clock counter ....

Clément

Reply to
le Cl?

Well, the problem to be solved is a quadratic equation system, and solving that directly is expensive. So the common approach is to linearise in a point hopefully close to the real position/time and solve the linear system, using least squares or similar.

Look up "Newton Iteration" to get the basic idea.

If your starting point was far enough away from the truth, you take the current result as the next starting point, linerise there and solve it again. Many real-world receivers will implement "coarse" (=low prcision) and "fine" iteration steps to speed up the calculation.

Depending on the exact algorithm, you only need one iteration if you start within a few miles of the real position.

If you're in a cold start situation and have no idea where you are, you normally start at the center of earth and the mentioned 20ms time error due to the earth radius. Again, depending on the algoritm it takes

Reply to
Iwo Mergler

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.