[FOSS-GPS] High accuracy positioning with low cost GPS devices:a FOSS project

Michael Tandy m.j.tandy at warwick.ac.uk
Wed May 6 05:04:32 EDT 2009


When you get the measurement time tag, like so:

rawTime = rinexObsData.getEpoch(recentEpoch); // raw time read from receiver

could you explain how you get the measurement time tag? Do you just
use the ITOW from the UBX-RXM-RAW message?

2009/5/5 Jaykob <jraible at gmx.de>:
>
> Hi Eugenio,
>
> maybe I can jump in. I'm currently developing kinematic software for AEK-4Ts
> using the GPSTk for my diploma thesis. I'm also reading your thesis, pretty
> interesting!
> My solution is based on John's solution used in Kinematic (
> http://www.precision-gps.org precision-gps.org ).
> First I'm getting the nearest epoch, the time of the observation when it
> wouldn't have the jitter bias:
>
>  DayTime AntarisMessage::nearestHz(DayTime time, int msgRateHz) const
>  {
>           int nSecPerHz = NSEC_PER_SEC / msgRateHz;
>           int nSec = (time.DOYsecond() - floor(time.DOYsecond())) * NSEC_PER_SEC;
>           nSec += nSecPerHz/2;
>           double adjust = nSec % nSecPerHz - nSecPerHz/2;
>           adjust /= NSEC_PER_SEC;
>           return time - adjust;
>  }
>
>
> Then I'm calculating adjustments for the observations:
>
>
>  DayTime rawTime, epoch;
>
>  // We need to align epochs to nearest HZ for synchronization
>  rawTime = rinexObsData.getEpoch(recentEpoch); // raw time read from
> receiver
>  epoch = rinexObsData.nearestHz(rawTime, msgRateHz); // epoch we need to
> align observations to
>  double adjust = epoch - rawTime;
>
>  // Adjusting observations
>  // D1 = Doppler observation, C1 = Pseudorange observation, L1 = Phase
> observation
>  double freq = L1_FREQ - D1;
>        if (C1 > 0.0)
>                C1 += adjust * freq * L1_WAVELENGTH;
>        if (L1 > 0.0)
>                L1 += adjust * freq;
>
> Don't forget to use the jitter free times (variable epoch) for further
> calculations.
> Hope I could help you! I didn't really compare the results with the ones
> without time correction yet but I'm getting pretty good results so far.
>
>
>
>
>
>
> Eugenio Realini wrote:
>>
>> Hi Stefan,
>>
>> could you give us more details on how to use doppler measurements to
>> extrapolate carrier phase observations to the reference station
>> time-tag? Up to now we never investigated this matter, but we agree with
>> you that this would improve accuracy.
>>
>> Eugenio
>>
>>
>> stefans wrote:
>>> Hello Eugenio,
>>>
>>>
>>>
>>>
>>> please take a look on Q/A7 in that FAQ:
>>> http://www.u-blox.de/customersupport/faq_antaris/Rinex.html
>>>
>>> You should "correct" the u-blox carrier phase by extrapolating the
>>> carrier
>>> phase to the top-of-second
>>> (timetag of your reference station data)  by using doppler, before
>>> computing
>>> roverpositions.
>>>
>>> This would significantly improve accuracy.
>>>
>>>
>>>
>>> Stefan
>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> This message is sent to you from FOSS-GPS at lists.osgeo.org mailing list.
>> Visit http://lists.osgeo.org/mailman/listinfo/foss-gps to manage your
>> subscription
>> For more information, check http://wiki.osgeo.org/wiki/FOSS-GPS
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/High-accuracy-positioning-with-low-cost-GPS-devices%3A-a-FOSS-project-tp1312818p2797802.html
> Sent from the Open Source GPS-related discussion and support mailing list archive at Nabble.com.
>
> _______________________________________________
> This message is sent to you from FOSS-GPS at lists.osgeo.org mailing list.
> Visit http://lists.osgeo.org/mailman/listinfo/foss-gps to manage your subscription
> For more information, check http://wiki.osgeo.org/wiki/FOSS-GPS
>


More information about the FOSS-GPS mailing list