Microsoft has decided to open-source its six-year-old Sora software radio project.
As Redmond's Jane Ma explained at Technet, Sora has been designed to replicate the behaviour of specialised ASICs on a PC.
Its focus is on the PHY and MAC layers. ASIC design is expensive and inflexible, so software platforms are attractive to those trying to develop, debug and update code for these low-level processes.
Microsoft said that Sora was fully programmable and able to implement wireless technologies like Wi-Fi, LTE, and MIMO.
It's written to run on commodity multi-core PCs under Windows 8, and implements the company's BRICK baseband programming library for DSP baseband programming.
“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,” Ma explained.
Sora puts radio MAC/PHY processing on commodity hardware
So the PC can keep up with the real-time demands of handling low-level radio processing, Microsoft said that Sora uses a low-cost radio control board on the PCIe bus, to act as a bridge between the software and third-party air interface cards.
It makes use of multi-core processor features like SIMD (single instruction, multiple data) and caching, and to support parallel processing, Sora has been designed to distribute 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”, Microsoft said.
All Sora baseband development work has been written in C, the project page explained.
Microsoft reckoned its own research shows Sora can cope with running 300 MHz Wi-Fi with 40 MHz channels, 64 QAM modulation, and 4x4 MIMO.
“Spectrum-wise, Sora supports a wide range of radio front-end options, from standard Wi-Fi (ISM bands) to TV Whitespace (TVWS), in both single antenna setting and in 4x4 MIMO setting (8x8 also possible)”, the project description added.
Sora's GitHub page can be viewed here. ®