Sunday, September 23, 2018

Learning a bit about Beidou3 signals

I have pretty busy these last couple of years contributing to features and improvements to the Piksi Multi measurement engine, but during the Summer I managed to contribute to a blog post on the Swift Navigation page together with two colleagues of mine who I thank sincerely: Michael Wurm (lead FPGA engineer) and Keerthan Jaic (python and many other languages expert).
We studied a bit the signals of Beidou3, which is growing at incredible pace. For the interested readers, here is the link.

A screenshot of the Swift Console says more than 1000 words:

There should be data and code you all can play with.And questions welcome, hope you enjoy the read.

P.S.: I won't be at the ION this year (too busy with other things) but I will likely be at the Stanford PNT meeting in November.

Sunday, December 31, 2017

One year in review

As 2017 heads to the end, it calls for a retrospective. Which events characterized this year most?
Both most prominent magazines in the domain ( and dedicate a piece of their December issue to this very topic,  and one can find there their point of view which I hope to complement here. Let's begin from GNSS itself, in no order what-so-ever.

Probably one of the most difficult years for the Navstar constellation, with no satellite launched and OCX still not yet. Yes the US maintains the gold standard of satellite radio-navigation but it's hard to predict if and how long that will hold true. In the congress itself there is strong controversy on how adequate GPS is for 21th century warfare. As vulnerabilities of SIS against jamming and spoofing became evident to everyone, and as Navstar satellites continue to exceed their life expectancy, most of the R&D in the US was dedicated to PTA (Protect, Toughen and Augment), with little room for modernization. Yet, despite reading about the first GPSIII satellites readiness and even a new GPSIIIF generation in the works, it all sounded to me quite like a collection of forward-looking statements and promotional material.

Europe managed to declare initial services and launch 4 satellites this year. On the web it is not difficult to gather proof that Worldwide acceptance of the EU system is growing... many GNSS Companies have now claimed compatibility of their services with Galileo, and even penetration in smartphone chipsets became a reality this year (I was already involved with BQ and its Qualcomm IZAT 8C last year). We will not see another quadruple launch for a few more months now, but in the meantime there will be ~20 quadruple-open-frequency birds to work with in 2018. As resilience is developed on the GPS side, modernization and new signal multi-carrier processing techniques are worked on in the old continent.

The Chinese government promised 6 BDS3 satellites this year, later de-scoped to 4 and finally managed to launch 2 last November. Not discouraging though, as the 4 gone missing this year are queued up for flying in early 2018 ...together with another 12. Yes, 16 in total. If even half of that promise is kept, it would put Beidou on the top of the list of GNSS to watch out for. It feels like Beidou is at a cross-roads as new generation birds don't appear to broadcast B2 (the 2 MHz signal on E5b), but just B1. So multi-frequency users will have two heterogeneous groups to deal with: BDS2 with B1+B2 (BPSK2 on 1526f0 and 1180f0) and BDS3 with the legacy B1 plus B1C (TMBOC at 1540f0) and B2a (BPSK10 at 1150f0). Understandably there isn't much clarity towards foreign users on which signal/services combinations China will continue to support or slowly discontinue.

I cannot help but not being very excited about Glonass. Russia launched one satellite in September this year. The system has greatly improved, but FDMA signals at frequencies far away from the GPS ones enough to need a separate RF down-conversion chain do not sound fun to me. However, many more launches (18 according to this source?) are scheduled for 2018, with as many as 5 K2 generation (full CDMA) birds. That yes would change my mind. Right now, with codes already just half as accurate as GPS L1C/A, L1OF/L2OF to me looks only useful for high-sensitivity urban navigation. Not to be mistaken, it's all very good but just a great headache of biases for precision navigation. Glonass modernization is about switching to CDMA signals and new frequencies (L1+E5b on K2, E5a on KM), but it could be a long time before there will be enough satellites to make that constellation a concrete option.

Japan quietly launched 3 satellites this year. QZSS is often overlooked as a purely regional system, versus its global counterparts. But each satellite carries an advanced navigation payload, capable of many frequencies and signals, not to mention services on top of them. So Japan has now a regional constellation of GPSIII-like satellites which are almost always in view. That comes with great benefit for users in the Asia-pacific region as each QZSS satellite is worth approximately 4+ GPSIIF MEO birds. So effectively multi-frequency users have the equivalent of a FOC of GPSIIF - which is pretty cool. I encourage everyone to follow Tomoji's and Takuji's blogs for more hacker friendly info on QZSS.

I followed on the side India's Navic and Australia's efforts towards a SBAS, but I am not much up to date with those or other systems, so feel free to share with me updates and links in the comments section and I will try to integrate them.

System of systems 2017 wrap-up.
Many ask questions about GNSS adoption and especially the future roles of Galileo, Beidou and Glonass. There are always unknowns of course, but to me the answer is clear:  Beidou3 is (involuntarily?) Galileo's best mate and Glonass will eventually align. The new Beidou English ICD is out and all bets are off: BDS3 promotes a dual frequency L1C+L5 open service. Navstar's L2C seems already old, and yet the user segment adoption of it is largely immature. Most services and receivers still rely on L2P(Y) as 19 satellites aren't enough to justify switching across to the civil signal, despite its many benefits over semi-codeless tracking of the encrypted military one. The GPSIIF L5 signal is affected by line biases which make PPP difficult, but Galileo is free of them if my results are correct. Incidentally I have not yet tried with BDS3 satellites... it's slightly more tricky without a third open frequency. When the legacy P(Y) signals are turned off we might witness a shift between GPS L1C/A + L2P to GPS/Galileo/Beidou L1 + L5 before L2C has a chance of picking up universally. Each system will offer a third open frequency: GPS L2C, Galileo/BDS3 E6/E5b and Glonass L3.

Industry news.
Trying to be as unbiased as possible, the GNSS industry also had some interesting developments this year. Pure GNSS looks slowly disappearing as the low-end of the GNSS offering is nowadays largely owned by the smartphone industry. Multi-aggregated-band LTE and WiFI are more complex than GNSS from a DSP perspective so understandably the latter is considered a commodity. As general purpose modems have multiple wireless capabilities, they can easily do single frequency all-constellation tracking. Navigation is provided through a fusion of technologies and sensors, where GNSS plays the poorest availability highest accuracy one. While Mediatek has been quiet for a while now, maybe reaping the results of its flagship MTK3333, others have moved forward. HED Navigation is continuing to sell through its high-sensitivity all-constellation single frequency engine. u-blox released this year its 8-th generation silicon for the IoT/wearables market as well as a single-frequency RTK-capable chipset (the M8P line). Geostar-navigation also came out with a single frequency RTK capable engine associated to its last GeoS-5MR baseband. NVS released its sub-1K$ multi-constellation dual-frequency receiver and we, at Swift Navigation, continue to release FW updates enabling new features of the Piksi Multi. Last but not least, Broadcom stepped on the high-precision field releasing a multi-frequency multi-constellation chip the BCM4775x. I am glad to see I had anticipated this some time ago, and my vision has materialized.

A little give-back
As prof. Borre disappeared this year and I had offered him my SdrNav40 sources as academic material for his new book, I think it's appropriate to open-source that design as promised.
Here is an archive with the 4-channels front-end HW design:
Here the SW for Linux and Windows:
It's an old design, not nearly as polished as Peter Monta's firehose.. but it's done an egregious job for me in lots of personal research projects. Feel free to ask questions if needed.


Sunday, October 1, 2017

Tribute to Prof. Kai Borre

Whilst attending the latest ION GNSS+ conference I had the confirmation that Prof. Kai Borre disappeared this Summer. He has been a very important reference to me, especially in the early stages of my career. I am sure many other radio-navigation, geodesy and DSP engineers will convene with me. I knew him pretty well and I could not find anywhere an epitaph, so I today feel compelled to my leave my tribute to him here and hope others will intimately share my feeling.

Rest in peace Kai. My gratitude, for inspiring me until your very last moment.

Tuesday, January 26, 2016

uBlox: Galileo, anti-jamming and anti-spoofing firmware

Just downloaded the firmware upgrade for flash-based M8 modules from uBlox.
Flashed it in no time.
The result of UBX-MON-VER is now:

So checked Galileo in CFG-GNSS:

Result :)

Incidentally, there is a "spoofing" flag now as well :O

Don't dare trying this on M8T...