Lately I have been working with one of the few mass market receivers which outputs raw observables: the Skytraq S1315F-RAW. The only other "low cost" alternative to it is the uBlox LEA-4T, LEA-5T, and LEA-6T.
My purpose was to assess its capabilities, to understand if there are applications in which this device can really be useful. I don't know the answer yet, but I can publish some preliminary results obtained with RTKLIB.
So, I assembled a few of these on a board together with a FT232RQ UART-to-USB transceiver and run Cutecom on my Linux machine.
Figure 1: Yuan10 20-Hz raw measurements GPS receiver. |
To my surprise, this does not work like the uBlox chips, which can output both NMEA and binary. The S1315F-RAW only outputs binary data. The news you don't read anywhere else is that the observations are taken at 20Hz, and do not include a PVT solution. Also, the clock bias is let running free and therefore the measures can be quite far off (tens of milliseconds) the real GPS time.
Ultimately I wanted to know what is the quality of the carrier phase, since this will tell if the receiver is fit for low-cost RTK applications.
Scenario 1: Zero Baseline, Open Sky
Figure 2: Zero baseline track results in 1 hour. |
Figure 3: Zero baseline ENU results in 1 hour. |
Scenario 2: Short (known) Baseline, Open Sky
To be done still :)
Comparison 1: Orcam GPS-26 OEM (SiRF Star II)
Using the board below I collected RAW observables (pseudorange, carrier phase, Doppler, and C/N0) from two SiRF Star II receivers.
Figure 4: Dual SiRF Star II receiver board assembly |
> 2011 04 08 17 23 47.7684297 0 8
G26 50696315.376 1063480.948 91453.281 46.500
G17 51072993.018 1467528.376 86392.422 43.500
G27 48803613.805 2145210.883 87538.367 48.000
G09 48571516.433 925322.182 85910.797 50.000
G22 51765421.846 1955361.390 86170.438 40.800
G12 51568741.123 921796.354 84204.570 42.900
G28 51649721.912 1347484.069 90745.469 42.900
G15 48654575.927 1362007.686 89023.945 53.800
> 2011 04 08 17 23 48.7684297 0 8
G26 50713719.228 1154933.716 91452.766 46.000
G17 51089432.729 1553920.546 86392.164 43.000
G27 48820272.359 2232748.763 87537.875 47.900
G09 48587864.077 1011232.602 85910.422 50.400
G22 51781819.554 2041531.555 86170.164 41.000
G12 51584765.483 1006000.356 84204.008 42.900
G28 51666990.473 1438229.023 90744.961 42.900
G15 48671516.093 1451031.430 89023.742 53.300
> 2011 04 08 17 23 49.7684297 0 8
G26 50731122.086 1246383.916 91450.203 46.000
G17 51105869.630 1640310.413 86389.867 43.000
G27 48836930.232 2320284.139 87535.375 48.000
G09 48604211.074 1097140.644 85908.039 50.000
G22 51798218.833 2127699.431 86167.875 40.900
G12 51600789.059 1090201.716 84201.359 42.700
G28 51684257.464 1528971.343 90742.320 42.600
G15 48688455.438 1540052.871 89021.438 53.000
> 2011 04 08 17 23 50.7684297 0 8
G26 50748523.408 1337830.931 91447.016 46.300
G17 51122307.805 1726697.388 86386.977 43.100
G27 48853586.988 2407816.398 87532.266 48.100
G09 48620558.438 1183045.689 85905.047 50.000
G22 51814616.209 2213864.420 86164.992 40.800
G12 51616810.906 1174399.828 84198.109 42.300
G28 51701524.646 1619710.464 90739.117 43.000
G15 48705394.801 1629071.432 89018.555 53.000
G26 50696315.376 1063480.948 91453.281 46.500
G17 51072993.018 1467528.376 86392.422 43.500
G27 48803613.805 2145210.883 87538.367 48.000
G09 48571516.433 925322.182 85910.797 50.000
G22 51765421.846 1955361.390 86170.438 40.800
G12 51568741.123 921796.354 84204.570 42.900
G28 51649721.912 1347484.069 90745.469 42.900
G15 48654575.927 1362007.686 89023.945 53.800
> 2011 04 08 17 23 48.7684297 0 8
G26 50713719.228 1154933.716 91452.766 46.000
G17 51089432.729 1553920.546 86392.164 43.000
G27 48820272.359 2232748.763 87537.875 47.900
G09 48587864.077 1011232.602 85910.422 50.400
G22 51781819.554 2041531.555 86170.164 41.000
G12 51584765.483 1006000.356 84204.008 42.900
G28 51666990.473 1438229.023 90744.961 42.900
G15 48671516.093 1451031.430 89023.742 53.300
> 2011 04 08 17 23 49.7684297 0 8
G26 50731122.086 1246383.916 91450.203 46.000
G17 51105869.630 1640310.413 86389.867 43.000
G27 48836930.232 2320284.139 87535.375 48.000
G09 48604211.074 1097140.644 85908.039 50.000
G22 51798218.833 2127699.431 86167.875 40.900
G12 51600789.059 1090201.716 84201.359 42.700
G28 51684257.464 1528971.343 90742.320 42.600
G15 48688455.438 1540052.871 89021.438 53.000
> 2011 04 08 17 23 50.7684297 0 8
G26 50748523.408 1337830.931 91447.016 46.300
G17 51122307.805 1726697.388 86386.977 43.100
G27 48853586.988 2407816.398 87532.266 48.100
G09 48620558.438 1183045.689 85905.047 50.000
G22 51814616.209 2213864.420 86164.992 40.800
G12 51616810.906 1174399.828 84198.109 42.300
G28 51701524.646 1619710.464 90739.117 43.000
G15 48705394.801 1629071.432 89018.555 53.000
but unfortunately RTKLIB refuses to process the raw measurements and I am still trying to work out why!
Anyway, the first results with the S1315F-RAW seem promising enough, showing 2-3 cm errors in Kinematic mode. More will come on this post soon.
Cheers,
Michele
20 comments:
Ciao Michele,
in case you are interested, there is another low-cost receiver providing raw observations: Fastrax IT03
http://www.fastraxgps.com/products/gpsmodules/03series/it03/
Ciao ege,
Yes I am aware of the Fastrax IT03... I am just wondering what is going to be its lifespan, after uNav has been acquired by Atheros, which has been in turn acquired by Qualcomm!
Anyway, if I get hold of a couple of those, I'll test them as well :)
Cheers,
Michele
Hi ege again,
Actually yes I could buy two of these for £40 from RS Components, but are the pseudorange and carrier-phase available without paying for the Fastrax iSuite SDK licence (and how much is it)?
And once I have the SDK, how much can I really tweak the IT03?
For example, could I change the frequency search range in acquisition?
And the tracking loop parameters?
;)
Regards,
Michele
Ciao Michele,
I was not aware of the Atheros/Qualcomm acquisition of uNav.
Thanks for the information :)
I'm not sure about the license: I'm working with some colleagues in Italy for adding Fastrax support to goGPS and, as far as I know, they just asked Fastrax for an evaluation kit which could provide us with raw data, so they bought an application board with the IT03 and a "mini evaluation kit". Maybe there was also a license in the bundle, I don't know... but I can ask further details if you need.
As for the tweaking, I don't think that you can tweak things so deep, but you cannot do that with SkyTraq or u-blox too (AFAIK). That's one of the good things about [open source] software defined receivers, isn't it? ;)
Actually, after having implemented u-blox and SkyTraq binary format decoders in goGPS we had (and are still having) some troubles with Fastrax because it lets you access much "lower level" components compared to the other two. You can see that from iTalk protocol description.
But still, I don't think that you can tweak acquisition/tracking parameters (but maybe I'm wrong).
Cheers,
ege
Sorry I forgot to write this in the last comment...
You can set the S1315F-RAW to output observations at 1 Hz (or any other rate among 2, 4, 5, 10 and 20 Hz): in GPS Viewer you can use "Binary" -> "Configure Binary Message", or you can send the appropriate configuration message through the COM port.
The same thing for the PVT solution: you can get it in NMEA format by enabling it in "Binary" -> "Configure Message Type". Unfortunately, NMEA and binary data are mutually exclusive (while with u-blox it is so convenient to get both observations and NMEA data, so that I can easily compare goGPS result with u-blox positioning! ;)
As for the clock bias, I also noticed the issue...
Cheers,
ege
Hi ege,
I suspected you were involved with the goGPS project :)
I recently discovered it and since then I am following its development:
there is a whole lot of applications which could benefit from low-cost RTK.
Let's keep in touch and if you need some raw observables to run through your code, please do not hesitate to contact me at name dot surname at gmail dot com.
Cheers,
Michele
Hello Michele and EGE
Probably we synchronously with you do very similar devices.
Probably it is destiny:)
Modules IT03 can be bought directly from the manufacturer. We in February have received them without problems.
Michele,
Module S1315F-RAW shows very good results. We recommend to increase gradually frequency of poll in RTKLIB – 1Hz, 5Hz …. The result in many respects depends on quality of antennas.
Regards,
Vlad
Hello Michele
Does your Sirf Binary to Rinex3 converter parse Sirf IV binary from Navman Jupiter F2 OEM chip?
My output file shows
SiRFLive Version: SiRFLive 2.0 Marketing
Thursday, August 25, 2011
PC: W037D299
Thx DK
Physical Connection: UART
SW Version: GSD4e_4.1.0-P1 12/20/2010 354 GSD4e
DUT Name:
28,0,860041386,25,3.8972801716003340e+005,2.5330147020331487e+007,1.8319525e+004,2.5330178622016661e+007,30000,191,27,27,27,27,27,27,27,27,27,27,1000,500,-4,0,0
Hi Unknown,
Seems like your SiRF IV receiver is compatible with SiRFDemo, as your logging seems similar to the one that program produces (see MID28 message format in the SiRF binary protocol specification).
Even better: your module outputs carrier phase! Amazing.
You don't need any binary parser as SiRFDemo does it for you, so good luck with RTK processing and thanks for sharing!
Cheers,
Michele
Wow, it's the first time that I hear of a SiRF module outputting phase measurements.
I checked the Navman Jupiter F2 chip data sheet (http://bit.ly/oW9uhy), but it does not specify that MID28 message is provided in output. Nonetheless, Unknown's data seem to be exactly that.
Any idea about the reason?
Hi Ege,
I know that NAVSAS had some SiRF III modules that, using a special firmware they were granted for research purposes, did output carrier phase.
I am afraid only "Unknown" can say where he bought this Jupiter F2 OEM with SW version
GSD4e_4.1.0-P1 12/20/2010 354 GSD4e
I see Navman has many distributors around the World. I could have access to Comprel in Italy:
http://www.comprel.it/modellodispo.aspx?idMacrogruppoSel=0&CodProduttore=NVM&CatMerc=NB&Fam=NBA
and AvnetEmbedded in UK:
http://www.avnet-embedded.eu/index.php?32&tx_aveproductsfe_pi1[country]=0&tx_aveproductsfe_pi1[maincat]=WIRELESS&tx_aveproductsfe_pi1[subcat]=GPS&tx_aveproductsfe_pi1[w_manufacturer]=11
Most importantly, Digikey has some Jupiter-F2 modules in stock and RS has some older models so could soon stock the new one as well pretty.
Hi everyone,
This a very interesting discussion. This is my very small contribution:
28,0,1987139567,9,1.27214082377451e+005,4.4580521878e+007,1.8214373047e+004,4.4580506085e+007,30000,255,33,33,33,33,33,33,33,33,33,33,1000,5001,0,0
This output comes from an ORG4472 despite Origin stated that none of their receivers provide raw data measurements... someone wants to boycott low cost RTK ;)
Hi Mirko,
I have dealt before with the ORG4472, shame I listened to Origin and did not try MID28 :)
Actually Fastrax also says that their IT430 does not output carrier phase.. I wonder if they just did not try. Anyway, could you please mention the firmware version of your receiver as well? Did you try processing the SiRF output with RTKLIB? Could you post a bigger snapshot of data somewhere?
Cheers,
Michele
Hi Michael,
The GPS dump came from Navman's Jupiter F2 OEM module. We used it on one of our custom R&D devices.
The data was collected using SirfLive by someone else in my organization.
I understand this data is not yet RINEX. My understanding to get to RTK I can...
1) Convert Sirf -> RINEX.
assume MSG ID 7, 15, 28 needed
2) Get data from nearest CORS station
3) Use tools RTKlib (Free), GrafNav ($), Topcon ($), etc to calculate corrected position.
Do I need to convert to Sirf to RINEX? What tool can convert Sirf to RINEX (step1)?
Thanks DK
Hi DK,
Now that you have a text file (and you lost the original binary stream) my suggestion is to write a simple text parser in your favourite language (mine is C) to build a Rinex OBS file.
The one I wrote was compatible with Sirf II binary (where some double precision floating point numbers are split and transmitted in different order), but very simple and with no pretension of being as good as CONVBIN.EXE is.
People can write a parser for you and give you a hand, but you will have to share the file you collected with the community I am afraid.
Bests,
Michele
Hi Michele,
The software version is:
GSD4e_1.0.0-P1 12/18/2009 352
I did not try to process the data with RTKlib. We are working with our own algorithms at the moment. I am asking my colleagues to do a 1 hour clear sky recording session with two receivers and short baseline. They are quite busy at the moment and weather is so hot in Rome that they are not so happy for my request ;-) I will post the results as soon as available. Then, can we help us to pre-process the SIRF data to use in RTKlib?
Regards
Mirko
Ps: MID 28 and MID 30 are disabled by default. Initialize Data Source – Message ID 128 is used to enable Nav Lib (raw) data output.
Hi Mirko,
may I ask you what kind of algorithms you are developing?
Are you planning to use a low-cost base station or a "standard" permanent station for your tests?
ege
Hi Ege,
We are developing a very short baseline (< 10 meters) algorithm for attitude determination. Our algorithm does not perform positioning or navigation.
Regards
Mirko
Hi Michele, did you ever get your Rinex working with RTKLib? I was getting errors with my output before, but it may be my SBAS information that is not getting parsed out correctly.
Post a Comment