GPS : Basic pseudo-distance computation

L

le Cl?

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 <t'< 1ms). I can understand it's
possible to measure t' (by autocorrelation) ... but what about N (1 ms
corresponds to 300km !)

- I know we need a 4 equations system to determine the 4 variables
(time and position) ... but maybe one satellite isn't enough to
calculate its pseudo range. And so the way to think distance
measurement presented on http://www.trimble.com/gps/distance1.html is
a very simplified view.

Of course, I assume that all my questions are linked together ...

Really sorry for my level of English and thank you for your answers !

Clément
 
P

Peter

le said:
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 ?)
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).
...

- I know we need a 4 equations system to determine the 4 variables
(time and position) ... but maybe one satellite isn't enough to
calculate its pseudo range. And so the way to think distance
measurement presented on http://www.trimble.com/gps/distance1.html is
a very simplified view.

Yes, which the Trimble site explains a few pages later. For example
start at:
http://www.trimble.com/gps/clockerrors1.html
 
T

Ted Edwards

le Cl? wrote:

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
 
R

Randolph J. Herber

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 <t'< 1ms). I can understand it's
possible to measure t' (by autocorrelation) ... but what about N (1 ms
corresponds to 300km !)
- I know we need a 4 equations system to determine the 4 variables
(time and position) ... but maybe one satellite isn't enough to
calculate its pseudo range. And so the way to think distance
measurement presented on http://www.trimble.com/gps/distance1.html is
a very simplified view.
Of course, I assume that all my questions are linked together ...
Really sorry for my level of English and thank you for your answers !

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.
(http://en.wikipedia.org/wiki/LORAN)

Receivers that combine GPS, Galileo, GLONASS, LORAN, INS or a miniature
cesium clock (http://www.nist.gov/public_affairs/releases/miniclock.htm)
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.
 
I

Iwo Mergler

Randolph said:
Your description seems adequate and accurate.

Largely correct, but I'll nitpick anyway... :^)
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.

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.
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.

After receiving and demodulating the first SV signal for about 6 seconds,
the GPS time is known within better than 0.07 seconds.
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.
Yes, these are the most common tricks to speed up the initial search.
It relies on creative definitions of "cold start". :^)
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.

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.
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.

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?
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 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.
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).

Two points actually, but one is outside the satellite orbits.
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.

Thats why it's called 'pseudo' range. it is subjected to the common
mode error of the receiver clock.
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.

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.
You might find it interesting or useful to study the LORAN system.
(http://en.wikipedia.org/wiki/LORAN)

Receivers that combine GPS, Galileo, GLONASS, LORAN, INS or a miniature
cesium clock (http://www.nist.gov/public_affairs/releases/miniclock.htm)
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.

Kind regards,

Iwo
 
R

Randolph J. Herber

Randolph J. Herber wrote:
Largely correct, but I'll nitpick anyway... :^)

Now, my turn.
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.

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.
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.

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.
Yes, these are the most common tricks to speed up the initial search.
It relies on creative definitions of "cold start". :^)

``assuming ....''
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.

Exactly, what I meant and exactly what I thought I had said!
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?

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.
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.

``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.
There are more advanced ways of doing this, usually with an enormous
increase in required computing power.

Not necessarily. And, DSPs can supply enormous computing power
and many GPS receivers have (d)igital (s)ignal (p)rocessors.
Two points actually, but one is outside the satellite orbits.

Touche (I considered my LORAN example ... Your point
is at least possible if not probable.)
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.

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.
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.
 
L

le Cl?

Ted Edwards said:
le Cl? wrote:

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

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 !
 
L

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
 
S

s_anode

le said:
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


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
 
J

jtw

le Cl? said:
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 !

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
 
L

le Cl?

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

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
 
P

Peter Bennett

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


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
 
I

Iwo Mergler

le said:
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

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
 
L

le Cl?

Iwo Mergler said:
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

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
 
I

Iwo Mergler

le said:
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

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 <10 steps to converge on the real position/time.

On the other hand, it is posible to find a closed analytical solution
to the problem. It's not pretty, but can have advantages in some
marginal situations. It's still a research subject, e.g.

http://nr.stic.gov.tw/ejournal/ProceedingA/v25n2/102-106.pdf

Kind regards,

Iwo
 
Joined
Apr 11, 2009
Messages
2
Reaction score
0
GPS : Pseudo-distance computation

le Cl? wrote:
> 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



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


-----------------------------------------------------------
Hi all,

I still don't understand how to resolve the integer ambiguity given
by "N" in the following relation

PR=N*293km + d

PR : pseudo-range or pseudo-distance
293 km : distance travelled by the luz during 1023 time chips
d : distance resolved by the shift between the C/A code received and
the C/A replica code at the receiver side where the two sequences are identical.

thanks for your help

regards

Michel
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,900
Latest member
Nell636132

Latest Threads

Top