[FOSS-GPS] High accuracy positioning with low cost GPS
devices:a FOSS project
Jaykob
jraible at gmx.de
Tue May 5 11:28:44 EDT 2009
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.
More information about the FOSS-GPS
mailing list