u-blox library functions getFixType and getCarrierSolutionType return values

Hello,

I have ZED-F9P module powered and antenna connected. After 1-2 minutes I get GPS lock and PPS led starts blinking.

Function getFixtype return value goes from 0->2->3 (documented values are 0,3,4 so maybe 2 is some intermediate value ?) that is ok. The green rtk led stays green. Then I start NTRIP client to send data via bluetooth and rtk led starts blinking. So I think the module receives RTK correction data. However the return value of getCarrierSolutionType stays at zero (0). In documentation it should be 1 = floating solution or 2=fixed solution.

So how can in Arduino program be sure that I have good GPS lock with RTK correction ?

I have studied this little more, I am confused, what is going on ?

Here is my log (reported every 10 second):

Starting with NTRIP client off diff (getDiffSoln)=false ftype (getFixType) =3 gfix (getGnssFixOk)=true

sat = SIV number of satellites, rtk (getCarrierSolutionType( is always 0 acc (getPositionAccuracy) is about 4000mm

lat=602991743,lon=223073174,sat=8,ftype=3,rtk=0,PDOP=316,HDOP=164,acc=19031,gfix=1,diff=0 >

lat=602991752,lon=223073186,sat=9,ftype=3,rtk=0,PDOP=311,HDOP=160,acc=9820,gfix=1,diff=0 >

lat=602991752,lon=223073196,sat=12,ftype=3,rtk=0,PDOP=253,HDOP=152,acc=7138,gfix=1,diff=0 >

lat=602991770,lon=223073239,sat=12,ftype=3,rtk=0,PDOP=253,HDOP=152,acc=5812,gfix=1,diff=0 >

lat=602991797,lon=223073241,sat=12,ftype=3,rtk=0,PDOP=253,HDOP=152,acc=5199,gfix=1,diff=0 >

lat=602991845,lon=223073281,sat=13,ftype=3,rtk=0,PDOP=251,HDOP=150,acc=4811,gfix=1,diff=0 >

lat=602991906,lon=223073321,sat=13,ftype=3,rtk=0,PDOP=252,HDOP=150,acc=4515,gfix=1,diff=0 >

lat=602991945,lon=223073321,sat=13,ftype=3,rtk=0,PDOP=252,HDOP=150,acc=4353,gfix=1,diff=0 >

lat=602991954,lon=223073309,sat=13,ftype=3,rtk=0,PDOP=252,HDOP=151,acc=4220,gfix=1,diff=0 >

lat=602991974,lon=223073310,sat=13,ftype=3,rtk=0,PDOP=253,HDOP=151,acc=4153,gfix=1,diff=0 >

lat=602992024,lon=223073329,sat=13,ftype=3,rtk=0,PDOP=253,HDOP=151,acc=4028,gfix=1,diff=0 >

lat=602992052,lon=223073340,sat=13,ftype=3,rtk=0,PDOP=253,HDOP=151,acc=3953,gfix=1,diff=0 >

lat=602992037,lon=223073341,sat=13,ftype=3,rtk=0,PDOP=253,HDOP=151,acc=3955,gfix=1,diff=0 >

lat=602991912,lon=223073724,sat=13,ftype=3,rtk=0,PDOP=254,HDOP=151,acc=4008,gfix=1,diff=0 >

Here I turned NTRIP client on, diff goes to true, but acc goes to 5-10meters ! Should it be about 100mm ?

lat=602991321,lon=223075150,sat=9,ftype=3,rtk=0,PDOP=286,HDOP=178,acc=5437,gfix=1,diff=1 >

lat=602990967,lon=223075368,sat=11,ftype=3,rtk=0,PDOP=294,HDOP=183,acc=6509,gfix=1,diff=1 >

lat=602991329,lon=223073615,sat=11,ftype=3,rtk=0,PDOP=255,HDOP=152,acc=6231,gfix=1,diff=1 >

lat=602990623,lon=223072337,sat=13,ftype=3,rtk=0,PDOP=217,HDOP=127,acc=10622,gfix=1,diff=0 > Suddenly diff to false

lat=602991277,lon=223072781,sat=11,ftype=3,rtk=0,PDOP=217,HDOP=9999,acc=8910,gfix=1,diff=0 >

lat=602991683,lon=223073085,sat=14,ftype=3,rtk=0,PDOP=9999,HDOP=149,acc=5695,gfix=1,diff=0 >

lat=602990758,lon=223072828,sat=9,ftype=3,rtk=0,PDOP=251,HDOP=149,acc=7647,gfix=1,diff=0 >

lat=602991220,lon=223072929,sat=10,ftype=3,rtk=0,PDOP=251,HDOP=149,acc=7129,gfix=1,diff=0 >

lat=602991496,lon=223073601,sat=10,ftype=3,rtk=0,PDOP=252,HDOP=150,acc=6005,gfix=1,diff=1 > new fix

lat=602991167,lon=223073601,sat=10,ftype=3,rtk=0,PDOP=251,HDOP=170,acc=6385,gfix=1,diff=1 >

lat=602991133,lon=223074760,sat=15,ftype=3,rtk=0,PDOP=275,HDOP=164,acc=0,gfix=1,diff=0 >

lat=602990753,lon=223074921,sat=12,ftype=3,rtk=0,PDOP=268,HDOP=126,acc=6486,gfix=1,diff=1 >

lat=602991044,lon=223075345,sat=14,ftype=3,rtk=0,PDOP=218,HDOP=170,acc=0,gfix=1,diff=0 >

lat=602991412,lon=223072808,sat=9,ftype=3,rtk=0,PDOP=267,HDOP=493,acc=11118,gfix=1,diff=1 >

Here I moved my antenna about 0.5m, longitude changes slightly

lat=602992772,lon=223067297,sat=8,ftype=2,rtk=0,PDOP=1091,HDOP=267,acc=13468,gfix=1,diff=1 >

lat=602994112,lon=223056793,sat=6,ftype=2,rtk=0,PDOP=431,HDOP=238,acc=18904,gfix=1,diff=1 >

lat=603001502,lon=223048239,sat=5,ftype=2,rtk=0,PDOP=322,HDOP=9999,acc=31417,gfix=1,diff=1 >

lat=602998881,lon=223024717,sat=0,ftype=0,rtk=0,PDOP=9999,HDOP=9999,acc=27014,gfix=0,diff=1 > satellites =0

lat=602991443,lon=223047482,sat=12,ftype=3,rtk=0,PDOP=9999,HDOP=9999,acc=15368,gfix=1,diff=0 >

lat=602991125,lon=223073130,sat=0,ftype=0,rtk=0,PDOP=9999,HDOP=150,acc=12114,gfix=0,diff=1 >

So can I trust the data received from ZED-F9P ? Is there RTK fix or not ? Accuracy is about 4meters without RTCM correction messages and with correction messages only about 10 meters ? Promised accuracy should be about 100mm ?? Can I trust return values of u-blox library functions ?

Hi heikkiw,

When you moved your antenna, the module lost the satellite fix completely (“sat=0,ftype=0”). That usually indicates a very poor signal or a faulty antenna.

I saw your earlier posts about cutting the antenna cable shorter. Are you sure you have a good signal? Maybe you have a loose connection? Can you connect with u-center and check the satellite signal levels?

Best wishes,

Paul

Yes, I cut my antenna wire, but this test is made with new uncut 3m antenna placed outside my window. It has clear skyview to the southern sky. My idea is to test this more outside with both antennas (once it gets warmer here !)

The biggest problem is the accuracy with RTK fixes applied, accuracy seems to decrease with fixes than without ?

Does it matter what data stream I use to get RTK fixes ? I use currently our national streams. Does it matter how far the station is ? (Maybe 200-300km now)

Hi heikkiw,

Forgive me, I think your main issue is signal quality and/or not having a clear view of the whole sky. RTK GNSS needs good signal quality on both L1 and L2 bands in order to work correctly. Reflections from other buildings will cause problems.

We use the exact same library and exact same functions in our Surveyor product and it works very well.

Best wishes,

Paul