Sunday, January 1, 2012

Processing Galileo


The first prototype of SdrNav20 is working these days to receive the Galileo signal in space.

Figure 1: First SdrNav20 assembled prototype.


Using a simple patch antenna, the first acquisition done using a 8MHz bandwidth reports the expected spectrum purity and signal properties.
Figure 2: Power spectrum of signal acquired on SdrNav20 channel 1. A bandwidth of 8MHz is wide enough for BOC(1,1), but not CBOC(6,1,1/11). A bandwidth limitation is anyway introduced by the antenna SAW filter as well.
Figure 3: Time series and histogram of the acquired signal. The gain of the satellite tuner was set to 60dB (RF) and 8dB (IF), which could not excite the second MSB of the MAX19505 ADC.

The acquisition of Galileo PFM shows the typical BOC(1,1) correlation shape.:
Figure 4: BOC(1,1) correlation shape, averaged on 100 codes (400ms).
A short file (for anybody to try his/her own acquisition) can be found here.

EDIT 27/12/2012: Acquiring with SdrNav20 Galileo-FM2 (Galileo-PFM seemed momentarily disabled)
Figure 5: Galileo-FM2 E1 correlation shape, averaged on 100 codes (400ms).
The messages on E1B looked good, but still dummy:

a98e40000000002aaaaa4f4f2ffb8000
00955555555555555555555544790000
a98ec0000000002aaaaa5063173b8000
3f4a63d11ea372ec4d3b4f84dcbb0000
934ed3e1372ec4d3b4f83b4db6d54000
3f4a63f11ea372ec4d3b4f84dcbb0000
934ed3e1372ec4d3b4f803cb10954000
3f4a64111ea372ec4d3b4f84dcbb0000
934ed3e1372ec4d3b4f8225d9ad54000
00955555555555555555555544790000
a990c0000000002aaaaa4823ab3b8000
00955555555555555555555544790000
a99140000000002aaaaa6957e27b8000
3f4a64711ea372ec4d3b4f84dcbb0000
934ed3e1372ec4d3b4f80a454ed54000
3f4a64911ea372ec4d3b4f84dcbb0000
934ed3e1372ec4d3b4f803617e554000
3f4a64b11ea372ec4d3b4f84dcbb0000
934ed3e1372ec4d3b4f83be7d8154000
3f4a64d11ea372ec4d3b4f84dcbb0000
934ed3e1372ec4d3b4f813ff0c154000
3f4a64f11ea372ec4d3b4f84dcbb0000
934ed3e1372ec4d3b4f82b79aa554000
00955555555555555555555544790000
a99440000000002aaaaa6d48287b8000
00955555555555555555555544790000
a994c0000000002aaaaa726410bb8000
00955555555555555555555544790000
a99540000000002aaaaa531059fb8000
d3978d7c6c2e85281e379780ce9f8000

A sample file is here.

Adding to the above, SdrNav20 demonstrates acquisition of L2C and L5 (or Galileo E5a):
Figure 6: Power spectrum of L2C signal captured with SdrNav20
Figure 7: Signal acquisition of GPS L2C signal (only of enabled PRNs)
Figure 8: Power spectrum of L5 signal captured with SdrNav20

Figure 9: Signal acquisition of GPS L5 signal (only of enabled PRNs
Figure 10: Signal acquisition of Galileo-PFM on E5a
A couple of files for L2C and L5 are stored respectively here and here. Please mind that L2C acquisition (without assistance) can be a long process given the length of the codes :)

Cheers!
Michele

P.S.: The file name is self-explicative: fs is sampling frequency, fif is intermediate frequency, bw is bandwidth, interleaved I&Q has 'int8_t' type samples (pretty much as the GN3Sv2 used to output).

Monday, December 26, 2011

NVS08C-CSM, the first mass market receiver to track Galileo

I would like to report the great work done by NVS which -to my knowledge- is the first Company to produce a mass market single frequency four constellation receiver tracking Galileo.

Figure 1: NVS Storegis displaying simultaneous tracking of GPS, Glonass, and Galileo PRN11 (in yellow).

The receiver was flashed with a custom firmware kindly provided by the manufacturer to us on Boxing Day and was then perfectly able to track GALILEO-PFM (GSAT0101). Elevation and azimuth are -obviously-
not measured as the satellite transmits dummy data and it's therefore marked as unhealthy right now.

Other bespoke versions of the firmware enable tracking of GIOVE A and B or raw observables on all constellations, which shows the potential of this little module.

Another good thing is that the NVS08C-CSM is easily available for purchase through NVS reps as well as here:
http://it.farnell.com/nvs-technologies/nv08c-csm/receiver-sat-navigation-smt/dp/1902504

Merry Christmas to all the GNSS community!

All the best,
Michele

Monday, August 29, 2011

Is SiRF really bringing back carrier phase?

Lately I have been witnessing people reporting about getting carrier phase from various SiRF GSD4e receivers, such as Navman and OriginGPS. 
There is a moltitude of SiRF IV receivers out there, and the list below is not exhaustive:


Fastrax IT430
Maestro Wireless A-2100
Inventek ISM420

Wi2Wi W2SG0084i

Micro-modular MN8010
OriginGPS ORG4472

Locosys Technologies S4-0606
Navman Wireless Jupiter J-F2

Thanks to Димма on a Russian Geodesy blog, we have a snapshot of data collected with SiRFLive2.0 (please forgive text wrapping):


SiRFLive Version: SiRFLive 2.0 Marketing
Thursday, August 25, 2011
PC: W037D299
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
28,1,860041386,12,3.8972801716003340e+005,2.6510500006031543e+007,1.8745631e+004,2.6510516541034564e+007,30000,191,44,44,44,44,44,44,44,44,44,44,1000,500,-4,0,0
28,2,860041386,2,3.8972801716003340e+005,2.7095735858978566e+007,1.8233168e+004,2.7095742224695239e+007,30000,191,45,45,45,45,45,45,45,45,45,45,1000,500,-4,0,0
28,3,860041386,4,3.8972801716003340e+005,2.8811696972083870e+007,1.8818879e+004,2.8811729208855990e+007,30000,191,43,43,43,43,43,43,43,43,43,43,1000,500,-4,0,0
28,4,860041386,10,3.8972801716003340e+005,2.9933113007417683e+007,1.7881320e+004,2.9933150167102419e+007,30000,191,41,41,41,41,41,41,41,41,41,41,1000,500,-4,0,0
28,5,860041386,30,3.8972801716003340e+005,2.5056555168215591e+007,1.8287135e+004,2.5056605592962816e+007,30000,45,15,15,15,15,15,15,15,15,15,15,1000,500,0,50,0
28,6,860041386,31,3.8972801716003340e+005,2.7253274315252494e+007,1.7911645e+004,2.7253302286751069e+007,30000,45,21,20,20,20,20,20,20,20,20,20,1000,500,-4,50,0
64,2,25,16,2,0,860046711,2711796546,-2018378871,202101184,34,13,19486396,161,170064,14592,765,5295,127,0,373,37,19486200,8,0,0,1
64,2,12,16,2,0,860045683,2711665022,-999316371,206803073,-1,9,19486396,93,88983,14592,243,263,236,0,419,19,19486200,6,0,0,1
64,2,2,16,2,0,860044900,2711564712,590426562,201150408,2,7,19486396,58,34257,14592,209,-410,237,0,471,15,19486200,9,0,0,1
64,2,4,16,2,0,860056748,2713081329,-637293933,207611290,1,2,19486396,178,173482,14592,200,328,229,0,384,20,19486200,9,0,0,1
64,2,10,16,2,0,860052503,2712537904,-712001231,197268336,1,65534,19486396,206,199974,14592,-294,-424,231,0,340,16,19486200,14,0,0,1
64,2,30,16,6,0,860048142,2711979654,-68870448,201744724,2,14,19486396,265,271360,14592,-1060,2049,-30,0,108,130,19486200,0,-1,0,1
64,2,31,16,6,0,860053502,2712665770,-161848563,197604358,5,7,19486396,147,150528,14592,2103,-464,-38,0,83,165,19486200,8,0,0,1
30,25,3.8972799999998091e+005,1.5076749765686795e+007,3.5933861764103957e+006,2.1542989468968987e+007,6.4299937762260811e+001,2.7401660794328523e+003,-4.9865148201605086e+002,1.5608991872749377e-005,1.5621511e-012,1,0.0000000e+000,0.0000000e+000,3.2923935e+000
30,12,3.8972799999998091e+005,1.1884563679683834e+007,1.6291456387266476e+007,1.7384876625289034e+007,-1.1622553644346129e+002,2.1962242709684892e+003,-1.9626822261160808e+003,1.8102194566119174e-005,3.3094907e-012,1,0.0000000e+000,0.0000000e+000,4.2158856e+000
30,2,3.8972799999998091e+005,6.2082524729776531e+006,1.8408282380763520e+007,1.8385535284110300e+007,-2.1201026021377620e+003,-9.3213884708925502e+002,1.6059507862227920e+003,3.5292745438883114e-004,4.0546915e-012,1,0.0000000e+000,0.0000000e+000,4.7821899e+000
30,4,3.8972799999998091e+005,-1.0762067066920688e+007,1.1736652988876456e+007,2.1071583778895516e+007,-2.3825680363444444e+003,-1.3365420890936439e+003,-4.3364700696691807e+002,2.1170121762251255e-004,9.2645414e-012,1,0.0000000e+000,0.0000000e+000,6.5737190e+000
30,10,3.8972799999998091e+005,-9.8302346586159449e+006,2.0084912631979931e+007,1.3816020695044205e+007,-2.8794790172300321e+002,-1.8082575793544818e+003,2.4235822198007645e+003,-1.1038774409012209e-005,-4.5888042e-012,1,0.0000000e+000,0.0000000e+000,9.3115501e+000
30,30,3.8972799999998091e+005,1.5365798544428909e+007,2.2397196288039838e+006,2.1188563043022357e+007,3.0218839841904361e+002,2.7624647015425176e+003,-5.0214592859035730e+002,9.1548491532589152e-005,-3.8803110e-012,4,4.0960000e+005,1.0816000e+004,3.2914379e+000
30,31,3.8972799999998091e+005,7.1807381854674015e+006,-1.3033520067140032e+007,2.2198544705630817e+007,2.4188392313643085e+003,1.3389951664065002e+003,2.4421316559121053e+001,1.3109461800722862e-004,9.3347006e-012,4,4.0960000e+005,1.0816000e+004,4.2912688e+000
41,0,516,1650,389728000,2011,8,25,12,15,13000,16779786,577739216,142115489,22129,18638,21,0,19942,0,0,0,2504,2291,0,1,514445417,0,1830720,0,0,0,0,5,23,8
4,626,38972800,12,2,86,42,191,46,46,45,45,45,45,45,45,45,45,10,62,6,191,41,41,41,41,41,41,41,41,41,41,12,107,50,191,44,44,44,44,44,44,44,43,43,43,30,219,83,45,15,15,15,15,15,15,15,15,15,14,4,38,18,191,44,44,43,43,43,43,43,43,43,43,25,185,85,191,27,27,27,27,27,27,27,26,26,26,31,300,40,45,21,21,21,21,20,20,20,20,20,20,29,215,50,0,0,0,0,0,0,0,0,0,0,0,14,240,16,0,0,0,0,0,0,0,0,0,0,0,9,156,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2,3305164,837044,5372540,0.000,0.000,0.000,4,4.6,2,626,38972800,5,25,12,2,4,10,0,0,0,0,0,0,0
9,0,0,0,0
7,1650,389728,5,96205,17160052,389727999
50,0,0,18,0,0
As this is a fantastic opportunity for people looking for a cheap RTK system, I am planning to have a further look into this. Any help and comments are appreciated!

EDIT 11/09/26:
I assembled Shilling20, a dual Origin GPS ORG4472 board

Figure1: Dual GSD4e (ORG4472) assembly, for short baseline applications.



And seems that both receivers, with firmware  
GSD4e_4.0.4-P1 08/13/2010 225 GSD4e
Output RAW measurements: pseudorange, carrier phase, Doppler, etc. MID64.2 is also preent. More to come soon.

Cheers,
Michele
 

Sunday, April 10, 2011

The benefit of Glonass?

Another study I am carrying out is how much benefit the availability of Glonass satellites really brings. Low-cost dual constellation GPS-Glonass standalone receiver are starting to show up in the market: Skytraq released the S4554GNS-LP and the S2525G2F, and NVS is soon coming out with their NV08C.

Well, I assembled a few S455GNS-LP on a carrier board:

Figure 1: Kopeke10 USB GPS-GLonass receiver
..and drove in the countryside doing some tests.

Figure 2: Test drive with two dual constellation antennas: a non-branded one (20EUR, left) and a Tallysman TW2400 (80EUR, right).
On the left antenna I had:
- a S1315F-RAW
- a S4554GNS-LP

on the right antenna I had:
- a uBlox LEA-5H evaluation kit
- a S1315F-RAW
- a S4554GNS-LP

So that I would make sure to test my receivers with both antennas and compare them against a good reference. Some preliminary results are shown below.

Figure 3. The roundabout is always good to test how much filtering the PVT solution has. Considering that Google Earth might not necessarily be super-accurate, all the receivers perform pretty well.
 
Figure 4. Driving under a big junction does not affect the receivers very much. Well done!

Figure 5. Uhm? What the heck is that? The Skytraq receiver obviously picked up quite a bit of multipath from the South-East building when I stopped. The good LEA-5H -on the same antenna- did not make a move, and neither the other S4554GNS-LP.



Figure 6. Approching a parking slot just after the road bends, running along a bunch of trees. Multipath has again an interesting different effect on the receivers. But I am more likely to have parked where the uBlox said :)

I will soon add some results in urban environment, where having twice as many satellites should make a real difference.


EDIT 26/08/2011:
Recently, I went out again to compare data from the Sytraq S455GNS-LP and a NVS NV08C-CSM which I soldered onto a carrier board called Denga10 (shown below). The antenna was a low-cost GPS/Glonass magnet-mount patch.

Figure 7. Denga10 carrier board for NV08C-CSM GPS/Glonass receiver.


NVS provides easy software to manage their receivers and translate what is a unconventional NMEA stream:

$GPGGA,203211.00,4340.7619,N,01020.8364,E,2,14,00.8,002.0,M,47.9,M,,*59
$GPRMC,203211.00,A,4340.7619,N,01020.8364,E,00.00,218.2,020811,,,D*5B
$GPGSV,4,1,13,03,65,155,48,06,53,140,47,11,32,282,44,14,24,117,41*7D
$GPGSV,4,2,13,16,19,193,46,18,22,048,41,19,77,307,49,22,58,066,48*7B
$GPGSV,4,3,13,24,21,268,41,32,14,210,40,33,33,214,43,37,38,164,41*7A
$GPGSV,4,4,13,39,37,159,00*48
$GLGSV,2,1,06,66,55,046,46,73,09,307,24,74,05,353,20,81,52,106,38*6C
$GLGSV,2,2,06,82,62,338,44,83,12,313,01*6D
$GNGSA,A,3,03,14,19,06,24,32,22,16,11,18,,,01.3,00.8,01.0*16
$GNGSA,A,3,66,73,82,81,,,,,,,,,01.3,00.8,01.0*10
$PORZD,A,002.8*36

Figure 8. Navis converter to generate a KML from the GPS/Glonass NMEA output of the NV08C-CSM
Also Skytraq is working hard and recently added a GNS Viewer to their software in order to allow customers to quickly evaluate what is again a non conventional NMEA stream:

$GNGNS,203211.170,4340.7630,N,01020.8350,E,AA,16,0.7,14.1,45.7,,0000*53
$GNGSA,A,3,03,06,22,14,18,19,24,32,11,16,,,1.1,0.7,0.9*23
$GNGSA,A,3,66,81,82,73,65,74,,,,,,,1.1,0.7,0.9*25
$GPGSV,3,1,12,19,77,308,49,03,65,155,49,22,58,067,48,06,54,141,46*7B
$GPGSV,3,2,12,11,32,283,44,14,24,118,40,18,23,049,41,24,21,268,40*71
$GPGSV,3,3,12,16,19,194,46,32,14,210,40,28,02,333,,08,00,299,*79
$GLGSV,3,1,09,82,62,338,44,66,56,047,47,81,52,106,37,83,12,314,15*6C
$GLGSV,3,2,09,73,10,307,24,74,06,354,32,65,05,030,32,88,03,125,*6D
$GLGSV,3,3,09,80,00,261,*51
$GNRMC,203211.170,A,4340.7630,N,01020.8350,E,000.0,221.9,020811,,,A*7B
$GNVTG,221.9,T,,M,000.0,N,000.0,K,A*1B

Figure 9. Skytraq GNS Viewer.
Some results are shown below. Seems that the NVS tends to filter a bit too much. Luckily it's possible to upgrade the firmware of these receivers and hopefully NVS has already worked on it to improve accuracy.






Figures 10. The NVS receiver tends to filter too much compared to the Skytraq.

EDIT 07/12/2011: NVS released recently a new firmware for their NVS08C-CSM. I will update Denga10 and have another test session very soon!

Questions?

To be continued (again),
Michele