June 14, 2009
June 14, 2009
June 17, 2009
Electrical and Computer
14.1128.1 - 14.1128.9
Teaching Communication Systems using the Universal Software Radio Peripheral (USRP) and GNU Radio
The Universal Software Radio Peripheral (USRP) is a moderately priced hardware board that implements software defined radio systems. It allows a computer to acquire and generate RF signals in a similar way that a sound card allows a computer capture and produce audio signals. The board includes high speed analog-to-digital converters (ADC), high speed digital-to-analog converters (DAC), digital up and down converters, and a universal serial bus (USB) interface. Various daughter boards are available that interface a wide range of radio frequency (RF) signals with the ADC's and DAC's. The USRP is an open source platform, so the schematic and design files are freely available.
In addition, the USRP is compatible with the open source project GNU Radio that has implemented a vast array of algorithms needed to construct analog and digital communication systems (modulation, source coding, error correction, interleaving, filtering, etc.). The low-level algorithms are written in C++ and are controlled by high-level Python programs. The source code for GNU Radio is also freely available.
Together the USRP and GNU Radio form a powerful and flexible platform that allows the user to implement various real-time communication systems simply by writing software. Receivers that operate in real-time can be constructed for such commercial systems as AM and FM radio, TV, WWV time signal, etc. Two-way real-time systems such as ham radio, family services radio, etc. can also be constructed. The USRP and GNU Radio also make an excellent platform for implementing custom and experimental communication systems.
This paper evaluates the USRP board and the GNU Radio software as tools for teaching communication systems courses. The capabilities and limitations of the device and software are discussed, and ideas for laboratory experiments and projects are presented. This approach to teaching communication systems is compared to software-based and hardware-based simulated systems. The evaluation is based on the capabilities and limitations of the USRP and GNU Radio, the author’s experience using some of the proposed projects in a communication systems course using MATLAB (but not the USRP and GNU Radio), and on the author’s experience of implementing some of the projects with the USRP and GNU Radio (but not as part of a course). None of the proposed experiments have yet been incorporated into the author’s communication systems course using the USRP and GNU Radio.
It is often useful to motivate students to learn the mathematical theory of communication systems by showing how the theory applies to real world systems. Some of the possible ways to show this link include using examples or homework problems dealing with real communication systems, using software to simulate communication systems1,2,3, using hardware to perform the
Hoffbeck, J. (2009, June), Teaching Communication Systems Using The Universal Software Radio Peripheral (Usrp) And Gnu Radio Paper presented at 2009 Annual Conference & Exposition, Austin, Texas. https://peer.asee.org/5126
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2009 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015