The availability of the RTL-SDR device for less than $20 brings software defined radio (SDR) to the home and work desktops of EE students, professional engineers and the maker community. The RTL-SDR can be used to acquire and sample RF (radio frequency) signals transmitted in the frequency range 25MHz to 1.75GHz, and the MATLAB and Simulink environment can be used to develop receivers using first principles DSP (digital signal processing) algorithms. Signals that the RTL-SDR hardware can receive include: FM radio, UHF band signals, ISM signals, GSM, 3G and LTE mobile radio, GPS and satellite signals, and any that the reader can (legally) transmit of course! In this book we introduce readers to SDR methods by viewing and analysing downconverted RF signals in the time and frequency domains, and then provide extensive DSP enabled SDR design exercises which the reader can learn from. The hands-on SDR design examples begin with simple AM and FM receivers, and move on to the more challenging aspects of PHY layer DSP, where receive filter chains, real-time channelisers, and advanced concepts such as carrier synchronisers, digital PLL designs and QPSK timing and phase synchronisers are implemented. In the book we will also show how the RTL-SDR can be used with SDR transmitters to develop complete communication systems, capable of transmitting payloads such as simple text strings, images and audio across the lab desktop.