Software-Defined Radio


DragonRadio began life as Drexel’s entry into DARPA’s Spectrum Spectrum Collaboration Challenge (SC2), where it placed eighth internationally. More information about the competition is available in this video; the official DragonRadio team video introduces our team.

DragonRadio is used as a platform for a wide range of research projects in collaboration with the Drexel Wireless Systems Laboratory in collaboration with Kapil Dandekar.

Full source code and documentation are available. DragonRadio is currently the only SC2 competition available on the Northeastern Colosseum. Notable features of DragonRadio include:


Software-defined radio (SDR) has the potential to enable major innovation in wireless networking design. However, its impact so far has been limited due to complex programming tools. Ziria addresses this problem by providing a novel programming language and an optimizing compiler that can synthesize efficient SDR code from a high-level description of a physical layer (PHY) protocol.

There are currently two compilers for the Ziria language, both available on GitHub. The first, wplc, is available from the Ziria project. A newer compiler, kzc, supports programs written in the original Ziria language as well as a dialect that has additional language features, such as generics. It as available as part of the kyllini project. Currently, a Ziria program can only be compiled to run on a CPU. We are actively working on an FPGA backend for kyllini.

The paper Better Living through Operational Semantics: An Optimizing Compiler for Radio Protocols defines the operational semantics of Ziria and describes several compiler optimizations in kzc that leverage this semantics. Ziria’s semantics is formulated using PLT Redex and is available on GitHub.

Also see the Ziria project page at Microsoft Research.



  1. Shahmohammadian, M. and Mainland, G. 2021. Metaprogramming with Combinators. Proceedings of 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (Oct. 2021).
    DOI  PDF  BibTeX
      title = {Metaprogramming with Combinators},
      booktitle = {Proceedings of 20th {{ACM SIGPLAN International Conference}} on {{Generative Programming}}: {{Concepts}} and {{Experiences}}},
      author = {Shahmohammadian, Mahshid and Mainland, Geoffrey},
      year = {2021},
      month = oct,
      series = {{{GPCE}} '21},
      doi = {10.1145/3486609.3487198},
      acceptrate = {50}


  1. Rey, X.R., Mainland, G. and Dandekar, K. 2020. Real-Time Online Learning for Pattern Reconfigurable Antenna State Selection. 7th NAFOSTED Conference on Information and Computer Science (Nov. 2020), 13–18. Abstract 
    DOI  BibTeX

    Pattern reconfigurable antennas (PRAs) can dynamically change their radiation pattern and provide diversity and directional gain. These properties allow them to adapt to channel variations by steering directional beams toward desired transmissions and away from interference sources, thus enhancing the overall performance of a wireless communication system. To fully exploit the benefits of a PRA, the key challenge is being able to optimally select the antenna state in real time. Current literature on this topic, to the best of our knowledge, focuses on the design of algorithms to optimally select the best antenna mode with evaluation performed in simulation or postprocessing. In this study, we have not only designed a real-time online antenna state selection framework for SISO wireless links but we have also implemented it in an experimental software defined radio testbed. We benchmarked the multi-armed bandit algorithm against other antenna state selection algorithms and show how it can improve system performance by mitigating the effects of interference taking advantage of the directionality PRAs provide. We also show that when the optimal state changes over time the bandit approach does not work very well. For such a scenario, we show how the Adaptive Pursuit algorithm works well and can be a great solution. We also discuss what changes could be done to the bandit algorithm to work better in this case.

      title = {Real-Time Online Learning for Pattern Reconfigurable Antenna State Selection},
      booktitle = {7th {{NAFOSTED Conference}} on {{Information}} and {{Computer Science}}},
      author = {Rey, Xaime Rivas and Mainland, Geoffrey and Dandekar, Kapil},
      year = {2020},
      month = nov,
      series = {{{NICS}} '20},
      pages = {13--18},
      doi = {10.1109/NICS51282.2020.9335872},
      citations = {2}
  2. Lackpour, A., Rey, X.R., Mainland, G. and Dandekar, K.R. 2020. Greedy Channel Selection for Dynamic Spectrum Access Radios. 2020 IEEE International Symposium on Circuits and Systems (Sevilla, Spain, Oct. 2020), 1–4. Abstract 
    DOI  BibTeX

    Dynamic Spectrum Access (DSA) radios typically select their radio channels according to their data networking goals, a defined DSA spectrum operating policy, and the state of the RF spectrum. RF spectrum sensing can be used to collect information about the state of the RF spectrum and prioritize which channels should be assigned for DSA radio waveform transmission and reception. This paper describes a Greedy Channel Ranking Algorithm (GCRA) used to calculate and rank RF interference metrics for observed DSA radio channels. The channel rankings can then be used to select and/or avoid channels in order to attain a desired DSA radio performance level. Experimental measurements are collected using our custom software-defined radio (SDR) system to quantify the performance of using GCRA for a DSA radio application. Analysis of these results show that both pre and post-detection average interference power metrics are the most accurate metrics for selecting groups of radio channels to solve constrained channel assignment problems in occupied gray space spectrum.

      title = {Greedy Channel Selection for Dynamic Spectrum Access Radios},
      booktitle = {2020 {{IEEE International Symposium}} on {{Circuits}} and {{Systems}}},
      author = {Lackpour, Alex and Rey, Xaime Rivas and Mainland, Geoffrey and Dandekar, Kapil R.},
      year = {2020},
      month = oct,
      series = {{{ISCAS}} '20},
      pages = {1--4},
      address = {{Sevilla, Spain}},
      issn = {2158-1525},
      doi = {10.1109/ISCAS45731.2020.9180882}


  1. Shahmohammadian, M. and Mainland, G. 2019. Synthesizing Efficient Hardware from High-Level Functional Hardware Description Languages. 26th IEEE International Conference on Electronics, Circuits and Systems (Genoa, Italy, Nov. 2019), 634–637. Abstract 
    DOI  BibTeX

    Functional hardware description languages (FHDL) provide powerful tools for building new abstractions that enable sophisticated hardware system to be constructed by composing small reusable parts. Raising the level of abstractions in hardware designs means the programmer can focus on high-level circuit structure rather than mundane low-level details. The language features that facilitate this include high-order functions, rich static type system with type inference, and parametric polymorphism. We use hand-written structural and behavioral VHDL, Simulink, and the Kansas Lava FHDL to re-implement several components taken from a Simulink model of an orthogonal frequency-division multiplexing (OFDM) physical layer (PHY). Our development demonstrates that an FHDL can require fewer lines of code than traditional design languages without sacrificing performance.

      title = {Synthesizing Efficient Hardware from High-Level Functional Hardware Description Languages},
      booktitle = {26th {{IEEE International Conference}} on {{Electronics}}, {{Circuits}} and {{Systems}}},
      author = {Shahmohammadian, Mahshid and Mainland, Geoffrey},
      year = {2019},
      month = nov,
      series = {{{ICECS}} '19},
      pages = {634--637},
      address = {{Genoa, Italy}},
      doi = {10.1109/ICECS46596.2019.8964954}
  2. Dandekar, K., Begashaw, S., Jacovic, M., Lackpour, A., Rasheed, I., Rey, X.R., Sahin, C., Shaher, S. and Mainland, G. 2019. Grid Software Defined Radio Network Testbed for Hybrid Measurement and Emulation. 16th Annual IEEE International Conference on Sensing, Communication, and Networking (Boston, USA, Jun. 2019). Abstract 
    DOI  BibTeX

    Traditional approaches to experimental characterization of wireless communication systems typically involves highly specialized and small-scale experiments to examine narrow aspects of each of these applications. We present the Grid SDR testbed, a unified experimental framework to rapidly prototype and evaluate these diverse systems using: (i) field measurements to evaluate real time transceiver and channel-specific effects and (ii) network emulation to evaluate systems at a large scale with controllable and repeatable channels. We present the hardware and software architecture for our testbed, and describe how it being used for research and education. Specifically, we show experimental network layer metrics in different application domains, and discuss future opportunities using this unique experimental capability.

      title = {Grid Software Defined Radio Network Testbed for Hybrid Measurement and Emulation},
      booktitle = {16th {{Annual IEEE International Conference}} on {{Sensing}}, {{Communication}}, and {{Networking}}},
      author = {Dandekar, Kapil and Begashaw, Simon and Jacovic, Marko and Lackpour, Alex and Rasheed, Ilhaan and Rey, Xaime Rivas and Sahin, Cem and Shaher, Sharif and Mainland, Geoffrey},
      year = {2019},
      month = jun,
      address = {{Boston, USA}},
      doi = {10.1109/SAHCN.2019.8824901},
      citations = {14}
  3. Jacovic, M., Kraus, M., Mainland, G. and Dandekar, K.R. 2019. Evaluation of Physical Layer Secret Key Generation for IoT Devices. 20th IEEE Wireless and Microwave Technology Conference (Apr. 2019), 1–6. Abstract 
    DOI  BibTeX

    As aspects of our daily lives become more interconnected with the emergence of the Internet of Things (IoT), it is imperative that our devices are reliable and secure from threats. Vulnerabilities of Wi-Fi Protected Access (WPA/WPA2) have been exposed in the past, motivating the use of multiple security techniques, even with the release of WPA3. Physical layer security leverages existing components of communication systems to enable methods of protecting devices that are well-suited for IoT applications. In this work, we provide a low-complexity technique for generating secret keys at the Physical layer to enable improved IoT security. We leverage the existing carrier frequency offset (CFO) and channel estimation components of Orthogonal Frequency Division Multiplexing (OFDM) receivers for an efficient approach. The key generation algorithm we propose focuses on the unique CFO and channel experienced between a pair of desired nodes, and to the best of our understanding, the combination of the features has not been examined previously for the purpose of secret key generation. Our techniques are appropriate for IoT devices, as they do not require extensive processing capabilities and are based on second order statistics. We obtain experimental results using USRP N210 software defined radios and analyze the performance of our methods in post-processing. Our techniques improve the capability of desired nodes to establish matching secret keys, while hindering the threat of an eavesdropper, and are useful for protecting future IoT devices.

      title = {Evaluation of Physical Layer Secret Key Generation for {{IoT}} Devices},
      booktitle = {20th {{IEEE Wireless}} and {{Microwave Technology Conference}}},
      author = {Jacovic, Marko and Kraus, Martin and Mainland, Geoffrey and Dandekar, Kapil R.},
      year = {2019},
      month = apr,
      pages = {1--6},
      doi = {10.1109/WAMICON.2019.8765465},
      citations = {5}


  1. Mainland, G. and Shanmugam, S. 2017. From High-Level Radio Protocol Specifications to Efficient Low-Level Implementations via Partial Evaluation. Proceedings of the 6th International Workshop on Functional High-Performance Computing (Oxford, UK, Sep. 2017).
    DOI  PDF  BibTeX
      title = {From High-Level Radio Protocol Specifications to Efficient Low-Level Implementations via Partial Evaluation},
      booktitle = {Proceedings of the 6th {{International Workshop}} on {{Functional High-Performance Computing}}},
      author = {Mainland, Geoffrey and Shanmugam, Siddhanathan},
      year = {2017},
      month = sep,
      address = {{Oxford, UK}},
      doi = {10.1145/3122948.3122950},
      acceptrate = {83}
  2. Mainland, G. 2017. Better Living through Operational Semantics: An Optimizing Compiler for Radio Protocols. Proceedings of the ACM on Programming Languages. 1, 1 (Sep. 2017), 19:1–19:26.
    DOI  PDF  BibTeX
      title = {Better Living through Operational Semantics: An Optimizing Compiler for Radio Protocols},
      author = {Mainland, Geoffrey},
      year = {2017},
      month = sep,
      journal = {Proceedings of the ACM on Programming Languages},
      volume = {1},
      number = {1},
      pages = {19:1--19:26},
      issn = {2475-1421},
      doi = {10.1145/3110263},
      acceptrate = {35},
      citations = {3}
  3. Mainland, G. 2017. A Domain-Specific Language for Software-Defined Radio. Proceedings of the 19th International Symposium on Practical Aspects of Declarative Languages (PADL ’17). Springer International Publishing. 173–188.
    DOI  PDF  BibTeX
      title = {A Domain-Specific Language for Software-Defined Radio},
      booktitle = {Proceedings of the 19th {{International Symposium}} on {{Practical Aspects}} of {{Declarative Languages}} ({{PADL}} '17)},
      author = {Mainland, Geoffrey},
      year = {2017},
      month = jan,
      series = {Lecture {{Notes}} in {{Computer Science}}},
      volume = {10137},
      pages = {173--188},
      publisher = {{Springer International Publishing}},
      address = {{Paris, France}},
      doi = {10.1007/978-3-319-51676-9_12},
      acceptrate = {50},
      citations = {2}


  1. Stewart, G., Gowda, M., Mainland, G., Radunovic, B., Vytiniotis, D. and Agulló, C.L. 2015. Ziria: A DSL for Wireless Systems Programming. Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (Istanbul, Turkey, Mar. 2015), 415–428.
    DOI  PDF  BibTeX
      title = {Ziria: A {{DSL}} for Wireless Systems Programming},
      booktitle = {Proceedings of the 20th {{International Conference}} on {{Architectural Support}} for {{Programming Languages}} and {{Operating Systems}}},
      author = {Stewart, Gordon and Gowda, Mahanth and Mainland, Geoffrey and Radunovic, Bozidar and Vytiniotis, Dimitrios and Agull{\'o}, Cristina Luengo},
      year = {2015},
      month = mar,
      pages = {415--428},
      address = {{Istanbul, Turkey}},
      doi = {10.1145/2694344.2694368},
      acceptrate = {17},
      citations = {25}