GPS : Basic pseudo-distance computation

Discussion in 'VHDL' started by le Cl?, Mar 6, 2005.

  1. le Cl?

    le Cl? Guest

    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
    le Cl?, Mar 6, 2005
    #1
    1. Advertising

  2. le Cl?

    Peter Guest

    le Cl? wrote:

    > 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
    Peter, Mar 6, 2005
    #2
    1. Advertising

  3. le Cl?

    Ted Edwards Guest

    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
    Ted Edwards, Mar 8, 2005
    #3
  4. In article <>,
    le Cl? <> wrote:
    >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


    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.
    Randolph J. Herber, Mar 8, 2005
    #4
  5. le Cl?

    Iwo Mergler Guest

    Randolph J. Herber wrote:
    >
    >
    > 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
    Iwo Mergler, Mar 9, 2005
    #5
  6. In article <dsAXd.126$>,
    Iwo Mergler <> wrote:
    >Randolph J. Herber wrote:


    >> Your description seems adequate and accurate.


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


    Now, my turn.

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


    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.


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


    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.

    >> 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". :^)


    ``assuming ....''

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


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

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


    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.

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


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

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


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

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


    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.


    >> 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
    Randolph J. Herber, Mar 9, 2005
    #6
  7. le Cl?

    le Cl? Guest

    Ted Edwards <> wrote in message news:<fzlXd.15531$KI2.8460@clgrps12>...
    > 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 !
    le Cl?, Mar 9, 2005
    #7
  8. le Cl?

    le Cl? Guest

    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
    le Cl?, Mar 9, 2005
    #8
  9. le Cl?

    Guest

    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
    , Mar 9, 2005
    #9
  10. le Cl?

    jtw Guest

    "le Cl?" <> wrote in message
    news:...
    > Ted Edwards <> wrote in message
    > news:<fzlXd.15531$KI2.8460@clgrps12>...
    >> 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 !


    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
    jtw, Mar 11, 2005
    #10
  11. le Cl?

    le Cl? Guest

    > 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
    le Cl?, Mar 18, 2005
    #11
  12. On 18 Mar 2005 08:22:55 -0800, (le Cl?)
    wrote:


    >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
    Peter Bennett, Mar 19, 2005
    #12
  13. le Cl?

    Iwo Mergler Guest

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


    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
    Iwo Mergler, Mar 21, 2005
    #13
  14. le Cl?

    le Cl? Guest

    Iwo Mergler <> wrote in message news:<FgB%d.28$>...
    > le Cl? wrote:
    > > 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


    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
    le Cl?, Mar 22, 2005
    #14
  15. le Cl?

    Iwo Mergler Guest

    le Cl? wrote:
    > 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
    Iwo Mergler, Mar 24, 2005
    #15
  16. le Cl?

    Michel

    Joined:
    Apr 11, 2009
    Messages:
    2
    GPS : Pseudo-distance computation


    -----------------------------------------------------------
    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
    Michel, Apr 11, 2009
    #16
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. walala
    Replies:
    2
    Views:
    2,314
    joris
    Mar 24, 2010
  2. Amjad
    Replies:
    0
    Views:
    431
    Amjad
    Jan 24, 2008
  3. Amjad
    Replies:
    0
    Views:
    371
    Amjad
    Jan 25, 2008
  4. Amjad
    Replies:
    0
    Views:
    336
    Amjad
    Jan 26, 2008
  5. Michel
    Replies:
    0
    Views:
    1,018
    Michel
    Apr 11, 2009
Loading...

Share This Page