Traditionally, communication transceivers have been implemented using custom analog hardware. This is costly and essentially a one shot approach because new hardware must be built to implement different transmission techniques. In the last few years there has been a move toward software radio, replacing as much of the analog hardware as possible with either software or reconfigurable digital hardware. Reusability is the key tenet behind this movement. The advent of very fast, very cheap DSPs and other off-the-shelf digital components enables feasible software radio development.