Software-Defined Radio​​

Software-Defined Radio

Within the past decade, software-defined radios (SDRs) have emerged as an especially valuable platform for Global navigation Satellite System (GNSS) research and development. GNSS-SDRs implementations vary greatly, but are characterized by processing more-or-less-raw samples of radio frequency (RF) data from an analog front-end using general purpose processors, either online (i.e. in real time) or offline (i.e. post-processing). GNSS-SDR receivers obtain positioning, navigation, and timing (PNT) solutions in software on a general-purpose processor, enabling rapid development of new PNT technologies. Because they enable researchers to collect and share large raw-sample datasets, GNSS SDRs are an ideal tool for collaboration and repeatable, high-fidelity cross-verification within the GNSS community. 

The Radionavigation Laboratory has developed it’s own GNSS-SDR called the General Radionavigation Interfusion Device (GRID). The Radionavigation Laboratory has had great success in the field with the RadioLynx, a custom, in-house GNSS-SDR platform. The RadioLynx is a four-channel receiver (two antennas × two bands). Its successor, the RadioLion, is a new low-cost, dual-antenna, triple-frequency receiver front-end, developed at the Radionavigation Laboratory. The RadioLion’s six individually-configurable channels operate at up to 44 Msps with a variety of real and complex quantization modes and depths up to three bits. With simultaneous access to three GNSS bands, GNSS-SDR receivers built on the RadioLion will be better able to compensate for ionospheric delays and multipath than is possible with the RadioLynx. The device optionally includes one of a family of MEMS inertial measurement units (IMUs) specialized for applications in aerial robotics, automotive navigation, and virtual reality. The RadioLion is a highly-reconfigurable front-end capable of heterogenous sampling rates and bit-depths. Additionally, the RadioLion can automatically produce the corresponding VHDL code for packing and C code for unpacking RF data.