[FOSS-GPS] rtklib: simple DGPS post-processing experiment, try #2

Timo Juhani Lindfors timo.lindfors at iki.fi
Mon Jul 26 14:18:57 EDT 2010


Hello Tomoji,

"Tomoji Takasu" <ttaka at yk.rim.or.jp> writes:
> Large multipath might much degrades solutions. I recommend
> you had better use good antennas.

I see. I connected two cheap external antennas to the receivers and
performed the experiment again in the same place. I converted the
resulting files

http://iki.fi/lindi/gps/experiment/2/neo1.ubx
http://iki.fi/lindi/gps/experiment/2/neo2.ubx

to RINEX using

$ rtklib-convbin neo1.ubx
$ rtklib-convbin neo2.ubx

and then went on to try different rtklib modes.

Single mode (-p 0)
==================

I used

$ rtklib-rnx2rtkp -p 0 neo1.obs neo1.nav > neo1.pos
$ rtklib-rnx2rtkp -p 0 neo2.obs neo2.nav > neo2.pos

to calculate positions of individual receivers separately. From

http://iki.fi/lindi/gps/experiment/2/p0-neo1-scatter.png
http://iki.fi/lindi/gps/experiment/2/p0-neo2-scatter.png

you can see that the radius of scatter is around 0.00005 degrees.

DGPS mode (-p 1)
================

I used

$ rtklib-rnx2rtkp -x 2 -p 1 -l 60.217480929 24.393206102 71.2617 neo1.obs neo2.obs neo2.nav > p1-neo1.pos

to calculate the position of neo1 by using neo2 as base. As you can see in

http://iki.fi/lindi/gps/experiment/2/p1-neo1-scatter.png

the resulting scatter is still around 0.00005 degrees. Is this because
DGPS only helps with systematic error that is the same for both
receivers?

In the log file Q==4 so I assume that DGPS itself worked. The trace
file contains segments like

$ sed -n 2000,2020p rnx2rtkp.trace
2 valpos : validation failed (08:40:49.99 nv=6 np=3 vv=54.85 cs=16.30)
2 valpos : large residual (08:40:50.99 sat=8-26 L1 v=-4.932 sig=0.904)
2 valpos : validation failed (08:40:50.99 nv=6 np=3 vv=53.01 cs=16.30)
2 valpos : large residual (08:40:51.99 sat=8-26 L1 v=-4.889 sig=0.904)
2 valpos : validation failed (08:40:51.99 nv=6 np=3 vv=53.64 cs=16.30)
2 valpos : large residual (08:40:52.99 sat=8-26 L1 v=-3.779 sig=0.904)
2 valpos : validation failed (08:40:52.99 nv=6 np=3 vv=34.25 cs=16.30)
2 valpos : validation failed (08:40:53.99 nv=6 np=3 vv=31.12 cs=16.30)
2 valpos : validation failed (08:40:54.99 nv=6 np=3 vv=26.83 cs=16.30)
2 valpos : validation failed (08:40:55.99 nv=6 np=3 vv=25.01 cs=16.30)
2 valpos : validation failed (08:40:56.99 nv=6 np=3 vv=24.13 cs=16.30)
2 valpos : validation failed (08:40:57.99 nv=6 np=3 vv=31.10 cs=16.30)
2 valpos : validation failed (08:40:58.99 nv=6 np=3 vv=42.23 cs=16.30)
2 valpos : validation failed (08:40:59.99 nv=6 np=3 vv=41.14 cs=16.30)
2 valpos : large residual (08:41:00.99 sat=8-26 L1 v=-3.995 sig=0.904)
2 valpos : large residual (08:41:00.99 sat=8-28 L1 v=-3.673 sig=0.917)
2 valpos : validation failed (08:41:00.99 nv=6 np=3 vv=51.05 cs=16.30)
2 valpos : large residual (08:41:01.99 sat=8-26 L1 v=-4.333 sig=0.904)
2 valpos : large residual (08:41:01.99 sat=8-28 L1 v=-3.760 sig=0.917)
2 valpos : validation failed (08:41:01.99 nv=6 np=3 vv=56.15 cs=16.30)
2 valpos : large residual (08:41:02.99 sat=8-26 L1 v=-4.155 sig=0.904)

Are these a real problem?

Kinematic mode (-p 2)
=====================

I first tried

$ rtklib-rnx2rtkp -x 2 -p 2 neo1.obs neo2.obs neo2.nav > p2-neo1.pos

since this is recommended on page 53 of the manual. However, the
resulting file has no positions, why is this? If I add -l and use

$ rtklib-rnx2rtkp -p 2 -x 2 -l 60.217480929 24.393206102 71.2617 neo1.obs neo2.obs neo2.nav > p2-neo1.pos

then I get positions where the scatter plot

http://iki.fi/lindi/gps/experiment/2/p2-neo1-scatter.png

still has a radius of around 0.00005 degrees. As you can see with

$ grep -c " 1 " p2-neo1.pos
304
$ grep -c " 2 " p2-neo1.pos
10516

most calculated positions have the Q==2 set. According to manual page
60 this should indicate that integer ambiguity is not resolved.

Am I still suffering from a poor antenna?

The trace file

$ sed -n 10000,10020p rnx2rtkp.trace
2 valpos : large residual (09:53:09.00 sat=26-28 L1 v= 4.763 sig=0.891)
2 valpos : validation failed (09:53:09.00 nv=14 np=3 vv=68.98 cs=31.30)
2 valpos : large residual (09:53:10.00 sat=26-9 L1 v= 7.358 sig=1.556)
2 valpos : large residual (09:53:10.00 sat=26-28 L1 v= 4.753 sig=0.891)
2 valpos : validation failed (09:53:10.00 nv=14 np=3 vv=69.81 cs=31.30)
2 valpos : large residual (09:53:11.00 sat=26-9 L1 v= 6.876 sig=1.556)
2 valpos : large residual (09:53:11.00 sat=26-28 L1 v= 4.250 sig=0.891)
2 valpos : validation failed (09:53:11.00 nv=14 np=3 vv=52.83 cs=31.30)
2 valpos : large residual (09:53:12.00 sat=26-9 L1 v= 6.776 sig=1.555)
2 valpos : large residual (09:53:12.00 sat=26-28 L1 v= 4.188 sig=0.891)
2 valpos : validation failed (09:53:12.00 nv=14 np=3 vv=50.52 cs=31.30)
2 valpos : large residual (09:53:13.00 sat=26-9 L1 v= 6.421 sig=1.555)
2 valpos : large residual (09:53:13.00 sat=26-28 L1 v= 4.131 sig=0.891)
2 valpos : validation failed (09:53:13.00 nv=14 np=3 vv=47.92 cs=31.30)
2 valpos : large residual (09:53:14.00 sat=26-28 L1 v= 3.968 sig=0.891)
2 valpos : validation failed (09:53:14.00 nv=14 np=3 vv=42.19 cs=31.30)
2 valpos : large residual (09:53:15.00 sat=26-9 L1 v= 6.403 sig=1.554)
2 valpos : large residual (09:53:15.00 sat=26-28 L1 v= 4.385 sig=0.891)
2 valpos : validation failed (09:53:15.00 nv=14 np=3 vv=52.14 cs=31.30)
2 valpos : large residual (09:53:16.00 sat=26-9 L1 v= 6.232 sig=1.553)
2 valpos : large residual (09:53:16.00 sat=26-28 L1 v= 4.486 sig=0.891)

does contain errors but I am not quite sure what they mean. If I use

$ rtklib-rnx2rtkp -v 2 -p 2 -x 2 -l 60.217480929 24.393206102 71.2617 neo1.obs neo2.obs neo2.nav > p2-neo1.pos

I naturally get more Q==1 positions

$ grep -c " 1 " p2-neo1.pos
1084
$ grep -c " 2 " p2-neo1.pos
9736

but the resulting scatter plot still looks the same.

-Timo


More information about the FOSS-GPS mailing list