AbstractSDRs: Bring Down the Two-Language Barrier With Julia Language for Efficient SDR Prototyping

This letter proposes a new methodology based on the recently proposed Julia language for efficient software-defined radio (SDR) prototyping. SDRs are immensely popular as they allow to have a flexible approach for sounding, monitoring, or processing radio signals through the use of generic analog components and lot of digital signal processing. As, in this paradigm, most of the processing is done at software levels (i.e., on a CPU), an efficient software methodology has to be envisioned. Right now, most of the existing methods focus on low-level languages (C or C++) for good runtime performance (at the cost of easy prototyping) or high-level languages (such as Python) for flexibility (at the price of runtime performance). In this article, we propose a new methodology based on Julia language that addresses this two-language problem and paves the way for efficient prototyping without giving up runtime performance. To prove the benefits of the proposed approach, a performance benchmark with several optimization levels compares the Julia approach with C++ and Python.

[1]  Miao Shi,et al.  Blind OFDM Systems Parameters Estimation for Software Defined Radio , 2007, 2007 2nd IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks.

[2]  Alan Edelman,et al.  Julia: A Fresh Approach to Numerical Computing , 2014, SIAM Rev..

[3]  David M. Beazley,et al.  SWIG: An Easy to Use Tool for Integrating Scripting Languages with C and C++ , 1996, Tcl/Tk Workshop.

[4]  Sebastian Hack,et al.  Whole-function vectorization , 2011, International Symposium on Code Generation and Optimization (CGO 2011).

[5]  Kevin Marquet,et al.  Software defined radio architecture survey for cognitive testbeds , 2012, 2012 8th International Wireless Communications and Mobile Computing Conference (IWCMC).

[6]  Min Li,et al.  Future Software-Defined Radio Platforms and Mapping Flows , 2010, IEEE Signal Processing Magazine.

[7]  Nancy Alonistioti,et al.  Network slicing - enabled RAN management for 5G: Cross layer control based on SDN and SDR , 2020, Comput. Networks.

[8]  Olivier Berder,et al.  Towards Real Time Interception of Frequency Hopping Signals , 2020, 2020 IEEE Workshop on Signal Processing Systems (SiPS).

[9]  Tim Besard,et al.  Effective Extensible Programming: Unleashing Julia on GPUs , 2017, IEEE Transactions on Parallel and Distributed Systems.

[10]  Steven G. Johnson,et al.  FFTW: an adaptive software architecture for the FFT , 1998, Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP '98 (Cat. No.98CH36181).

[11]  Jan Vitek,et al.  Julia: dynamism and performance reconciled by design , 2018, Proc. ACM Program. Lang..

[12]  Alexander M. Wyglinski,et al.  Revolutionizing software defined radio: case studies in hardware, software, and education , 2016, IEEE Communications Magazine.

[13]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[14]  J. Mitola,et al.  Software radios: Survey, critical evaluation and future directions , 1992, IEEE Aerospace and Electronic Systems Magazine.

[15]  Martin Braun,et al.  RFNoC: RF Network-on-Chip , 2016 .