vi er her !!!

02120

DifferentielGPS
home

Anna's Test

Problemet med data i dette projekt er, at det på det nærmeste er umuligt at generere testdata der kan illudere data modtagen fra en kilde

Anna B.O. Jensen kom derfor op med den følgende test af om vores datafangst virker korrekt. Teorien bag testen er, at man sammenligner to på hinanden følgende registreringer for den samme satellit fra den sammen kilde, udregner den faktiske Range Rate Correction og sammenligner denne med den modtagne RRC i forhold til kvalitetsfaktoren fra UDRE feltet.

Dette er så et af de tilfælde, hvor man er glad for at have lagret hver eneste stump modtagen data. Efter lidt research i litteraturen fremkom følgende MySQL script/procedure:

use dGPS ;

set @n=0 ;
drop table if exists kvalitet ;

create  table kvalitet 
select  @n:=@n+1 as linje , 
        satelliteId , udre , pseudorangeC , rangeRateC ,
        (tidsstempel/1000) as tidsstempel
from data 
where satelliteId=23 and device='TaarnbyDGPS' 
order by tidsstempel;

delete from kvalitet where udre=3 ;

update kvalitet set udre=8 where udre=2 ;
update kvalitet set udre=4 where udre=1 ;
update kvalitet set udre=1 where udre=0 ;

select
        k1.satelliteId ,
        from_unixtime(k1.tidsstempel) as tidspunkt ,
        ((k2.pseudorangeC-k1.pseudorangeC)/(k2.tidsstempel-k1.tidsstempel)) as beregnet ,
        k1.rangeRateC ,
        (abs((k2.pseudorangeC-k1.pseudorangeC)/(k2.tidsstempel-k1.tidsstempel))-abs(k1.rangeRateC)) as difference ,
        sqrt(pow(k1.udre,2)+pow(k2.udre,2)) as tolerance
from kvalitet as k1 , kvalitet as k2
where k1.linje+1 = k2.linje
      and k1.udre = 8
limit 10;

Tricket består i at udtrække de felter fra databasen, som er relevante for kontrollen. Dernæst erstattes værdien for udre med den øvre grænse for tolerancen (for udre=3 er denne uendelig, hvorfor disse ikke kan bruges og derfor fjernes fra analysen). Der laves dernæst et join af tabellen med sig selv skubbet en linje.

Resultaterne viser følgende:

  • antallet af linjer i tabellen er lig med summen af linjer indeholdende lovlige værdier for udre, hvilket indikerer at vi registrerer denne værdi korrekt.
  • resultaterne ser fornuftige ud

Om ønsket, kan denne test eventuelt udvikles til et modul i programmet.


home