Software-Defined Radio (SDR)

Build software-defined radios (SDRs) with MATLAB

A software-defined radio (SDR) is a wireless communication system whose functionality can be configured using software or programmable hardware. Traditional radio transmitters and receivers can usually send and receive a single type of signal. Software-defined radios are more versatile. Using different software configurations, SDR hardware can communicate at different frequencies using multiple wireless standards such as Bluetooth, FM radio, Wi-Fi, GPS, and LTE technology.

A software-defined radio has a significant portion of the system defined in software. This has several advantages: ease of development, flexibility in reconfiguration, and cost effectiveness. SDRs typically consist of an RF front end (transmitter or receiver) with an analog-to-digital or digital-to-analog converter. A general-purpose computer or reconfigurable hardware (e.g., FPGA) is used with the SDR for baseband signal processing.

Development Workflow

An optimal workflow for developing SDRs involves designing and verifying the system in a single development environment. SDR hardware can be incorporated into your design in two ways:

Software-Defined Radio
  1. Input and Output (I/O) – Connect and configure your SDR hardware to send and receive live radio signals using the transmitter and receiver terminals of the radio. Process these signals on the host, for rapid prototyping of the transmitter and receiver algorithms.
  2. Target – Deploy the code onto the FPGA or SDR hardware platform. You can either program the FPGA with the precompiled bitstream file or generate HDL code from your design, compile the code, and program the FPGA.

An optimal workflow for developing SDRs involves designing and verifying the system in a single development environment using Communications System Toolbox.

Supported Hardware

Request additional hardware support

Examples and How To

Software Reference


See also: Signal Processing Toolbox, DSP System Toolbox, Phased Array System Toolbox, MATLAB GPU computing, LTE System Toolbox, low-pass filter, high-pass filter, logic analyzer, parametric equalizer, spectrum analyzer software, audio signal processing, oscilloscope software