Software-defined radio is a field at the intersection of several technological domains including radio, digital signal processing, integrated circuit design, and software-based control systems, among others.
The SDR Forum (now known as the Wireless Innovation Forum) and the Institute of Electrical and Electronic Engineers (IEEE) P1900.1 group formulated a definition of software-defined radio:
Radio in which some or all of the physical layer functions are software defined
Traditional radio hardware is limited in its capabilities and can only be modified using physical intervention with the radio device. However, in software-defined radio, antennas, receivers, signal processing systems, and other components can be adjusted via a software control layer.
A basic SDR system may consist of a personal computer equipped with a sound card, or other analog-to-digital converter, preceded by some form of RF front end. Significant amounts of signal processing are handed over to the general-purpose processor, rather than being done in special-purpose hardware (electronic circuits). Such a design produces a radio which can receive and transmit widely different radio protocols (sometimes referred to as waveforms) based solely on the software used.
Hardware devices could include field programmable gate arrays (FPGA), digital signal processors (DSP), general purpose processors, systems on a chip (SoC), and other types of programmable processors. The use of these technologies makes it possible to add wireless capabilities and features to existing radio systems without the need for new hardware.
There are a number of software packages which interact with radio hardware as part of a software-defined radio system. GNU Radio is a popular open source platform for software-defined radio applications.