A good software design is one of the most important aspects of a software radio. This chapter describes the software and hardware design approaches used in two software radio projects that focused on maximizing software portability, modularity, and adaptability.
The designs described in this chapter were developed in two projects that built a series of software radios over a 6-year period. The SpectrumWare software radio project at the Massachusetts Institute of Technology in the United States ran from 1995 to 1998. In 1998 most of the SpectrumWare team left MIT to start Vanu, Inc. Between 1998 and 2001 Vanu built software radio implementations of a variety of commercial and government waveforms, including the cellular telephone standards IS-91 AMPS, IS-136 TDMA, and GSM.
Although the systems developed by SpectrumWare and those developed at Vanu, Inc. differ in many details, the two development efforts followed the same design approach. In this chapter both systems are called Vanu systems.
Vanu systems have several characteristics that distinguish them from other software radios. Most signal processing functions execute on general purpose processors rather than on digital signal processors or field programmable gate arrays. Almost all signal processing code is implemented in a high level language, C++, running on top of a standard portable operating system interface (POSIX) operating ...