Software-defined radio (SDR) is a radio communication system where components that have been traditionally implemented in hardware (e.g. mixers, Filters, Modulators/demodulators, etc.) are instead implemented by means of software on a personal computer or embedded system with access to ubiquitous wireless communications – enabling them to communicate with whomever they need, whenever they need to and in whatever manner is appropriate. The benefit is that since software can be easily replaced in the radio system, the same hardware can be used to create many kinds of radios for many different communications standards; thus, one software radio can be used for a variety of application.
GNU Radio is a open-source software development tool that provides signal processing blocks to implement software radios. It can be used with readily-available low-cost external RF hardware to create software-defined radios, or without hardware in a simulation-like environment. It is widely used in research, industry, academia, government, and hobbyist environments to support both wireless communications research and real-world radio systems.