News | July 22, 2015

Sora High Performance Software Radio Is Now Open Source

Microsoft researchers recently announced that their high-performance software radio project is now open sourced through GitHub. The goal for Microsoft Research Software Radio (Sora) is to develop the most advanced software radio possible, capable of implementing the latest wireless communication technology easily and efficiently.

"We believe that a fully open source Sora will better support the research community on more scientific innovation," said Kun Tan, a senior research on the software radio project team.

Conventionally, the critical lower layer processing in wireless communication systems, i.e., the physical layer (PHY) and medium access control (MAC), are typically implemented in hardware (ASIC chips), due to high-computational and real-time requirements. However, designing ASIC is very costly and inflexible since ASIC chips are fixed. Once delivered, it cannot be changed or upgraded. The lack of flexibility and programmability makes experimental research in wireless communication very difficult. Software Radio (or SDR), on the contrary, proposes implementing all these low-level PHY and MAC processes through software, which is practical for development, debugging and updating. The challenge, however, is how the software can stay up to date with hardware in terms of performance.

Sora was developed to solve this significant challenge. Sora is a fully programmable high-performance software radio that is capable of implementing state-of-the-art wireless technologies (Wi-Fi, LTE, MIMO, etc.). Sora is based on software running on a low-cost, commodity multi-core PC with a general purpose OS, i.e., Windows. A multi-core PC, plugged in to a PCIe radio control board, connecting to a third-party radio front-end with antenna, becomes a powerful software radio platform. The PC interface board transfers the raw wireless (I/Q) signals between the RF front-end and the PC memory through fast DMA. All signals are processed in the software running in the PC.

Sora uses both hardware and software techniques to address the challenges of using PC architecture for high-speed SDR. First, a new, inexpensive radio control board (RCB) is developed for transmission and reception (with 3rd party radio frontends). The RCB bridges an RF front-end with PC memory over the high-speed and low-latency PCIe bus. Second, Sora makes full use of various features of widely adopted multi-core architecture to accelerate wireless signal processing (e.g., SIMD, Cache). Sora’s software architecture also supports parallel processing by distributing processing pipelines to multiple cores efficiently. Finally, Sora provides a new kernel service, core dedication, which allocates processor cores exclusively for real-time SDR tasks.

Since being designed and published in 2009, Sora has won a number of academic awards. In 2011, the Sora API (in the form of Sora SDK) was released to academic users. Since then, Sora has evolved from a single antenna to multiple antennas, from a single ISM band to multiple radio spectrum bands. Recently, Sora has been used for research in TV whitespace, large scale MIMO, and distributed MIMO systems.

There are now more than 50 universities and research institutes using Sora for wireless research or communication courses. As the wide range of adoption has raised more demands for new features and other extensions for the Sora platform, Microsoft Research has decided to make Sora a fully open source project. The open source Sora system provides a lot of features, including:

  • Customizable RF front-ends
  • A customizable RCB (including the timing control and synchronization function, new processing accelerators, etc.,)
  • Support of new communication models, e.g., full duplex radios

Source: Inside Microsoft Research