Vista de Lectura

Hay nuevos artículos disponibles. Pincha para refrescar la página.

Crowdsourcing Ionosphere Data with Phones

How do you collect a lot of data about the ionosphere? Well, you could use sounding rockets or specialized gear. Or maybe you can just conscript a huge number of cell phones. That was the approach taken by Google researchers in a recent paper in Nature.

The idea is that GPS and similar navigation satellites measure transit time of the satellite signal, but the ionosphere alters the propagation of those signals. In fact, this effect is one of the major sources of error in GPS navigation. Most receivers have an 8-parameter model of the ionosphere that reduces that error by about 50%.

However, by measuring the difference in time between signals of different frequencies, the phone can estimate the total electron current (TEC) of the ionosphere between the receiver and the satellite. This requires a dual-frequency receiver, of course.

This isn’t a new idea. There are a large number of fixed-position stations that make this measurement to contribute to a worldwide database. However, the roughly 9,000 stations can’t compete with cell phones everywhere. The paper outlines how Android smartphones can do calculations on the GPS propagation delays to report the TEC numbers.

Hams often study the ionosphere. So do sounding rockets.

GNSS Reception with Clone SDR Board

We love seeing the incredible work many RF enthusiasts manage to pull off — they make it look so easy! Though RF can be tricky, it’s not quite the voodoo black art that it’s often made out to be. Many radio protocols are relatively simple and with tools like gnuradio and PocketSDR you can quickly put together a small system to receive and decode just about anything.

[Jean-Michel] wanted to learn more about GNSS and USB communication. Whenever you start a project like this, it’s a good idea to take a look around at existing projects for designs or code you can reuse, and in this case, the main RF front-end board is taken from the PocketSDR project. This is then paired with a Cypress FX2 development board, and he re-wrote almost all of the PocketSDR code so that it would compile using sdcc instead of the proprietary Keil compiler. Testing involved slowly porting the code while learning about using Python 3 to receive data over USB, and using other equipment to simulate antenna diversity (using multiple antennas to increase the signal-to-noise ratio):

Testing antenna diversity

The main board uses two MAX2771 GNSS front-ends, which filter and convert the received signals to either a digital output or optionally as I and Q outputs for conversion with discrete ADCs. This data is then read by the 8051 core on the FX2, and the data is sent over USB to maintain a fast and reliable stream. On the PC side, this can be decoded using the original PocketSDR software, or one can build a decoder using gnuradio.

The result is a working GNSS decoder. If you would like to see more detail about the project, [Jean-Michel] put together a YouTube video talking about his work in cloning and porting the code, which you can see below:

❌