Software Defined Radio: Choosing the Right System for Your Communications Course

Software Defined Radio (SDR) has recently been popularized as a powerful and full-featured alternative to delivering instruction in the area of analog and digital communications. Fortunately, there is a wide array of hardware to support SDR instruction, spanning a range of capabilities as well as price. Such higher-capable systems include the networked series of the Universal Software Radio Peripheral (USRP) platform that allow for complete stand-alone radio systems, able to acquire and process large portions of the RF spectrum. A mid-point system is the HackRF One, with both receive and transmit capability, sample rates of up to 20 MS/sec, and operating up to 6 GHz. At a very modest price but with surprising capability are systems such as the RealTek RTL2832U stick, sampling up to 2.4 MS/sec, operating up to 2 GHz (where these systems double their usable spectrum through the use of Complex Sampling). Software support for these systems includes the ability to write custom routines in various programming languages such as C++ or Python or the option of using the GNU Radio signal processing package to link the routines to the hardware. Of particular interest for instructional purposes is the use of graphical development tools such as GNU Radio Companion (GRC) or MATLAB Simulink to allow students to configure and link communication blocks to create communication systems. Additionally, open source modules are available to seamlessly and easily connect these communication system flow graphs to many compatible hardware devices; with a low-cost antenna, students are transmitting and receiving communication signals while examining their characteristics on standard laboratory test equipment. Additionally, powerful and easy to use analysis tools such as SDR# augment the experience. In this paper, we describe and compare the features, cost and capabilities of several of the more popular SDR systems typically used for instructional purposes. We further discuss how these systems are configured and programmed with several of the more popular software programs. We consider such factors as ease of use, cost and features. In short, our goal is to provide other educators with a “quick-start” guide to implementing SDR in their communications course. As these tools have been used for communications instruction at our university, we describe several of the more interesting laboratory exercises. These include transmission and reception of signals for both analog and digital communications systems. Finally, we include survey results demonstrating our students’ perceptions in comparing SDR-based instruction to more conventional methods.