• Course code:63546E
  • Contents

Title: Software Radio for Smart Wireless Systems

The design and implementation of radio transceivers for certain classes of applications is increasingly shifting from the hardware to the software domain. The “softwarization” of radio systems is enabled by the increased speed and reduced cost of general-purpose processors, and allows developing systems that are more flexible, adaptable and evolvable than traditional hardware-based systems. It also facilitates experimentation and over-the-air testing of novel wireless communication techniques and systems for communication and/or sensing.
 

The high-level goal of the course is to enable students to develop radio transceiver systems for advanced wireless applications entirely in software. The course is designed specifically for Computer Science (CS) students, it is entirely self-consistent and does not require previous knowledge of Communication theory. 


The course consists of three parts.

Part I – Fundamentals. The initial part of the course will provide a thorough review of basic concepts that are the foundation of communication theory and signal processing: baseband vs. pass-band signals, complex representation of pass-band signal, representation and reasoning in the frequency and time/frequency domain, sampling/decimation, aliasing, definition of basic functions like modulation, coding, etc. This initial part covers topics that are normally thought in basic communication courses, but they are addressed here with a different cut, more pragmatic and oriented to (software) implementation. The use of mathematical formalism is limited to the minimum that is necessary to facilitate the comprehension of basic signal manipulations and the reasoning in frequency and time/frequency domains. Furthermore, mathematical notions and signal processing concepts are readily “interpreted” and illustrated with reference to software (not hardware) implementation.

Part II - Functions and components. The second part of the system provides a high-level view of various components and functions of a radio transceiver system that are traditionally accounted to the PHY/MAC/LLC layers in the reference OSI model. Differently from other courses on signal processing, the goal here is not to provide an in-depth treatment of individual components, but rather provide a synthetic view of what these modules are needed for, and what are the key properties of the most common state-of-art solutions. The perspective taken in the course is that the students will not have to implement each component individually from scratch: instead, they will select and use existing implementations, possibly with some level of optimization (e.g., parameter tuning) and/or customization of few selected module, in order to build a whole transmitter/receiver system.  To this end, they need to have a high-level understanding of (i) whether a specific function is needed at all for the particular application at hand, and if so, (ii) how to select the most appropriate implementation (in terms of various performance vs. cost tradeoffs).

Part IIII – Advanced wireless systems and applications. The final part of the course addresses the system level: how functions and components can be combined to implement a specific application. At this stage of the course it is important to refer to concrete examples of applications, or classes thereof. Instead of established radio standards, the course will focus on advanced applications that are currently at the forefront of the research activities in the wireless research arena, namely wireless localization and physical-layer security. Selected case-study from the recent research literature will be presented. Collectively, these exemplary applications will be mind-opening for the students and give them a different perspective on the current capabilities and further potential of modern wireless systems.

During the laboratory sessions the students will learn to program radio protocol stack in the open-source platform GNU-Radio (for an overview see en.wikipedia.org/wiki/GNU_Radio). Basic implementations of protocol stack for various radio standards are already available in GNU-Radio (e.g. FM Stereo, WiFi, IEEE 802.15.4, RFID, ADS-B, and many others). During the laboratory course, the implementation of 2-3 selected radio standards will be studied and used to quickly acquire familiarity and hands-on experience with (the processing) of real-world radio signals. Programming languages will be C/C++  and Python.
 

  • Study programmes