PosterPDF Available

Latest developments in goGPS open source positioning software: EGNOS corrections, integer ambiguity resolution by LAMBDA method and multi-constellation support

Authors:

Abstract

goGPS is a free and open source positioning software package written in MATLAB that processes single--‐frequency observations in either absolute or relative mode [1]. It can use both code and phase observations by geodetic or low--‐cost receivers. goGPS can compute single--‐epoch solutions by weighted least squares adjustment, or apply a Kalman filter on either positions or observations, also by exploiting a dynamic model. The positioning is optionally supported by route constraints (e.g. a railway). Moreover, it is possible to introduce an additional observation extracted from a digital terrain model in order to increase the accuracy in the vertical direction. goGPS is developed collaboratively online, thus users can contribute code and propose new features and tools. During last year the following improvements have been added to the software, partly contributed by users: the possibility to use EGNOS ionospheric, pseudorange and satellite position/clock corrections (also by exploiting the EGNOS Message Server--‐EMS) for absolute positioning, the resolution of integer ambiguities by LAMBDA method in single--‐frequency relative positioning, and multi--‐constellation support including GLONASS, Galileo, BeiDou and QZSS. In this work we present the state of the art of the software and the performance achieved with the latest implemented features.
!"#$%#&'$($)*+,$-#%&.-&/*012&*+$-&%*345$&+*%.6*-.-/&%*78"4$9&
:0;<2&5*44$56*-%=&.-#$/$4&",>./3.#?&4$%*)36*-&>?&!@ABC@&,$#D*'&
"-'&,3)6E5*-%#$))"6*-&%3++*4#&
&
@-#*-.*&AF&G$44$4"H=&G$-'?&IF&23D"-'4.J=&:3/$-.*&K$").-.L=&AF&M)"4"&'$&!"5?H=&A.4N*&K$/3OO*-.P&
&
HC$+"4#",$-#*&'$&Q-/$-.$4R"&M"4#*/4ST5"=&0$*'$%."&?&I*#*/4",$#4R"=&:%53$)"&1*).#U5-.5"&23+$4.*4=&V-.($4%.'"'&'$&W"U-=&2+".-&
&&JQ-%6#3#&XY4&;"(./"6*-=&V-.($4%.#Z#&2#3[/"4#=&0$4,"-?&&&LKQ2G=&\?*#*&V-.($4%.#?=&W"+"-&&PCQM@=&1*).#$5-.5*&'.&A.)"-*=&Q#")?
/*012&*+$-&%*345$&+*%.6*-.-/&%*78"4$&
/*012& .%& "& X4$$& "-'& *+$-& %*345$& +*%.6*-.-/& %*78"4$& +"5N"/$& 84.[$-& .-& A@]!@B& #D"#& +4*5$%%$%& %.-/)$EX4$^3$-5?& *>%$4("6*-%& .-& $.#D$4& ">%*)3#$& *4&
4$)"6($&,*'$&_H`F&Q#&5"-&3%$&>*#D&5*'$&"-'&+D"%$&*>%$4("6*-%&>?&/$*'$65&*4&)*8E5*%#&4$5$.($4%F&/*012&5"-&5*,+3#$&%.-/)$E$+*5D&%*)36*-%&>?&8$./D#$'&
)$"%#&%^3"4$%&"'a3%#,$-#=&*4&"++)?&"&\"),"-&T)#$4&*-&$.#D$4&+*%.6*-%&*4&*>%$4("6*-%=&")%*&>?&$b+)*.6-/&"&'?-",.5&,*'$)F&]D$&+*%.6*-.-/&.%&*+6*-"))?&
%3++*4#$'&>?&4*3#$&5*-%#4".-#%&c$F/F&"&4".)8"?dF&A*4$*($4=&.#&.%&+*%%.>)$&#*&.-#4*'35$&"-&"''.6*-")&*>%$4("6*-&$b#4"5#$'&X4*,&"&'./.#")&#$44".-&,*'$)&.-&
*4'$4& #*& .-54$"%$& #D$& "5534"5?& .-& #D$& ($465")& '.4$56*-F& /*012& .%& '$($)*+$'& 5*))">*4"6($)?& *-).-$=& #D3%& 3%$4%& 5"-& 5*-#4.>3#$& 5*'$& "-'& +4*+*%$& -$8&
X$"#34$%& "-'& #**)%F& C34.-/& )"%#& ?$"4& #D$& X*))*8.-/& .,+4*($,$-#%& D"($& >$$-& "''$'& #*& #D$& %*78"4$=& +"4#)?& 5*-#4.>3#$'& >?& 3%$4%9& #D$& +*%%.>.).#?& #*& 3%$&
:0;<2&.*-*%+D$4.5=&+%$3'*4"-/$&"-'&%"#$)).#$&+*%.6*-e5)*5N&5*44$56*-%&c")%*&>?&$b+)*.6-/&#D$&:0;<2&A$%%"/$&2$4($4&E&:A2d&X*4&">%*)3#$&+*%.6*-.-/=&
#D$& 4$%*)36*-& *X& .-#$/$4& ",>./3.6$%& >?& !@ABC@& ,$#D*'& .-& %.-/)$EX4$^3$-5?& 4$)"6($& +*%.6*-.-/=& "-'& ,3)6E5*-%#$))"6*-& %3++*4#& .-5)3'.-/& 0!<;@22=&
0").)$*=&B$.C*3&"-'&fg22F&Q-&#D.%&8*4N&8$&+4$%$-#&#D$&%#"#$&*X&#D$&"4#&*X&#D$&%*78"4$&"-'&#D$&+$4X*4,"-5$&"5D.$($'&8.#D&#D$&)"#$%#&.,+)$,$-#$'&X$"#34$%F&
2#"-'E")*-$&+*%.6*-.-/&8.#D&:0;<2&5*44$56*-%&
2.-/)$EX4$^3$-5?&4$5$.($4%&
K$)"6($&+*%.6*-.-/&8.#D&.-#$/$4&",>./3.#?&4$%*)36*-&>?&!@ABC@&,$#D*'&
A3)6E5*-%#$))"6*-&%3++*4#&c$b+$4.,$-#")d&
!"#$%#&($4%.*-9&hFPFh>$#"&
<+$-&%*345$&).5$-%$9&01!(L&
!"-/3"/$9&A@]!@B&
&
@&W"("&($4%.*-&.%&")%*&"(".)">)$&c8.#D&
*-)?&#D$&,".-&X3-56*-").6$%d&&
]D$&!"#$%&'()*&$+,'-$('#.)/'012'-$()
30&#4'.) 5&#016&) 7!*/358& .%& "& %"#$)).#$E
>"%$'& "3/,$-#"6*-& %?%#$,& c2B@2d=&
'$($)*+$'&#*&.,+4*($& &#D$&+$4X*4,"-5$&
*X& 012& .-& #D$& :34*+$"-& 4$/.*-F& :0;<2&
"))*8%& X*4& .,+4*($'& "5534"5?& 8.#D&
4$%+$5#&#*&012E*-)?&%*)36*-%=&>?&,$"-%&
*X& 6$##&6-$(+) ,$) *95) $#:1,+;) +',&441,&)
64$6<+)'(=)1$($+%>&#16)=&4'.+F&
;$8&0;22&5*-%#$))"6*-%&8.))&%./-.T5"-#)?&.-54$"%$&#D$&
-3,>$4&*X&(.%.>)$&%"#$)).#$%&"#&"-?&/.($-&$+*5DF&
&
/*012& A@]!@B& 5"-& +4*5$%%& 5*'$& "-'& +D"%$&
*>%$4("6*-%& *X& "))& #D$& 5344$-#)?& "(".)">)$& 0;22&
5*-%#$))"6*-%&c$b5)3'.-/&QK;22dF&
&
23++*4#& X*4& #D$& ,3)6E5*-%#$))"6*-& )*8E5*%#& 4$5$.($4&
;ihjMEM2A& c>?& ;i2& ]$5DFd& .%& 5344$-#)?& 3-'$48"?=&
3%.-/&"&'$,*&T4,8"4$&#D"#&+4*(.'$%&%3++*4#&X*4&012=&
0!<;@22=&0").)$*&"-'&fg22F&
]D$&T/34$&*-&#D$&4./D#& %D*8%&#D$&+*%.6*-.-/&
4$%3)#%& *>#".-$'& X4*,& HED*34& *>%$4("6*-%& *X&
"&)*8E5*%#&4$5$.($4&3E>)*b&@:\EP]F&
&
3E>)*b&;@iE2B@29&X"%#&5*44$56*-%&c.F$F&"++).$'&&
#*&+%$3'*4"-/$d&"-'&.*-*%+D$4$&
:A29& X"%#& 5*44$56*-%=& )*-/E#$4,& 5*44$56*-%&
c.F$F& "++).$'& #*& %"#$)).#$& +*%.6*-%& "-'&
5)*5N%d&"-'&.*-*%+D$4$
Q-#$4-"6*-")&@%%*5."6*-&*X&0$*'$%?&cQ@0d&25.$-6T5&@%%$,>)?&JhHL=&2$+#$,>$4&HEk=&1*#%'",=&0$4,"-?&
09&&012&
K9&&0!<;@22&
:9&&0").)$*&
M9&&B$.C*3&
W9&&&fg22
@5N-*8)$'/,$-#%&
D[+9ee888F/*/+%E+4*a$5#F*4/&
/*012& A@]!@B& 5"-& '$5*'$& *>%$4("6*-%& X4*,&
4$5$.($4%&>"%$'&*-&#D$&X*))*8.-/&)*8E5*%#&,*'3)$%9&
&
E3E>)*b&!:@EP]el]ek]&
E2N?]4"^&2HLHlIEK@m&
EI"%#4"b&Q]hL&
E;i2&;ihjMEM2A&c8*4NE.-E+4*/4$%%d&
m$&8*3)'&).N$&#*&"5N-*8)$'/$&C4F&@-'4$"&;"4'*=&8D*&5*-#4.>3#$'&
#D$&5*'$& X*4&"''.-/&!@ABC@& %3++*4#&#*& /*012&\"),"-&T)#$4& "-'&
8D*&+4*(.'$'&3%$X3)&%3//$%6*-%&4$/"4'.-/&#D$&,3)6E5*-%#$))"6*-&
%3++*4#F&
]D$&!*/35)?&++'2&)5&#0&#&c:A2d&%#*4$%&
:0;<2& "3/,$-#"6*-& ,$%%"/$%& .-&
D*34)?& #$b#& T)$%F& :A2& +$4,.#%& "-& *n.-$&
"55$%%&#*&"45D.($'&>4*"'5"%#&,$%%"/$%F&
/*012&A@]!@B&5"-&"3#*,"65"))?&5*--$5#&
#*&:A2=&'*8-)*"'&#D$&-$5$%%"4?&'"#"=&"-'&
3%$&#D$,&#*&"++)?&#D$&5*44$56*-%&#*&
012&*4>.#%&"-'&*>%$4("6*-%F
0 100 200 300 400 500
ï44.285
ï44.295
0 100 200 300 400 500
ï45.136
ï45.146
0 100 200 300 400 500
6.025
6.045
epoch (15ïsec interval)
Float solution (estimated by Kalman filter)
Float solution (LAMBDA applied, rejected)
Fixed solution (LAMBDA applied, accepted)
0 100 200 300 400 500
ï46
ï45
ï44
EAST [m]
0 100 200 300 400 500
ï45.5
ï45
ï44.5
NORTH [m]
0 100 200 300 400 500
5
10
epoch (15ïsec interval)
UP [m]
Float solution (estimated by Kalman filter)
Float solution (LAMBDA applied, rejected)
Fixed solution (LAMBDA applied, accepted)
/*012& "++).$%& .-#$/$4& ",>./3.#?&
4$%*)36*-& >?& !@ABC@& ,$#D*'& $.#D$4&
.-&$+*5DE>?E$+*5D&)$"%#E%^3"4$%&_J`&*4&
.-&\"),"-&T)#$4&+4*5$%%.-/&,*'$%F&
&
Q-& #D$& )"[$4& 5"%$=& #D$& \"),"-& T)#$4&
N$$+%& "& 5*-6-3*3%& o*"#& ",>./3.#?&
$%6,"6*-p& !@ABC@& .%& #D$-& "++).$'&
"7$4&#D$&T)#$4&3+'"#$&%#$+F&
]D$& #">)$& >$)*8& %D*8%& "-& $b",+)$& *X& #D$&
"5534"5.$%& *>#".-$'& >?& +4*5$%%.-/& "& %#"6*-"4?&
3E>)*b& @:\EP]& 4$5$.($4& 8.#D& 4$%+$5#& #*& "&
/$*'$65& >"%$& %#"6*-& cHlE%$5& *>%$4("6*-%=& Jl&
'"?%& 6,$%+"-p& qkh& ,& >"%$).-$p& %#"6%65%& *-&
'".)?&%*)36*-%dF
:@2];<K]GV1
A$"-L&,,JJ&,,Ej&,,
2#F'$(FL&,,&L&,,&L&,,
!H& *>%$4("6*-%& X4*,& /$*'$65& 4$5$.($4%& 5"-& >$& 3%$'& "%& 8$))=& .X& #D$?& "4$&
+4*(.'$'&"%&KQ;:r&T)$%&c*4&K]MA&%#4$",%&#D4*3/D&;]KQ1&X*4&>"%$&%#"6*-%dF&
K$X$4$-5$%&
_H`& K$").-.& :F=& K$/3OO*-.& AF=& JhHL=& 2$*95@) $%&() +$"#6&) +$AB'#&)
C$#) &(>'(61(2) ,>&) '66"#'6.) $C) 4$BD6$+,) #&6&10&#+:.) +1(24&D
C#&E"&(6.) #&4'-0&) <1(&F'-6) %$+1-$(1(2=& A$"%34$,$-#& 25.$-5$&
"-'&]$5D-*)*/?=&3-'$4&4$(.$8F&
&
_J`& 23D"-'4.& GFIF=& K$").-.& :F=& JhHL=& G++"&+) $C) H1I&#&(,) !+-F'-$()
?$=&4+) C$#) !%$6>D:.D!%$6>) H$":4&DH1I&#&(6&) *95) 3:+&#0'-$()
!E"'-$(+@) J) K$F%'#'-0&) 5,"=.=& 14*5$$'.-/%& *X& :;M& JhHL=&
i.$--"=&@3%#4."=&JLEJl&@+4.)&JhHLF&
ï5ï4ï3ï2ï1 0 1 2 3 4 5
ï5
ï4
ï3
ï2
ï1
0
1
2
3
4
5
EAST [m]
NORTH [m]
Epochïbyïepoch leastïsquares solution
(C/A code, broadcast ephemeris, 15 deg cutoff)
GPS only (with Klobuchar)
GPS+EGNOS
(uïblox NAVïSBAS)
GPS+EGNOS
(EMS)
True position
mean GPS only
mean GPS+EGNOS
(uïblox NAVïSBAS)
mean GPS+EGNOS
(EMS)
ResearchGate has not been able to resolve any citations for this publication.
ResearchGate has not been able to resolve any references for this publication.