Software Defined Radio (SDR) Training

Software Defined Radio (SDR) Training

Print Friendly, PDF & Email


Introduction to Tactical Data Links (TDL) Training Course with Hands-on Exercises (Online, Onsite and Classroom Live)

This three-day Software Defined Radio (SDR) Training course will provide the foundational skills required to develop software defined radios using the GNURadio framework. This course consists of both lecture material and worked SDR software examples. The Software Defined Radio (SDR) Training course begins with a background in SDR technologies and communications theory. The course then covers programming in the Linux environment common to GNURadio via examples of SDR without a framework like GNURadio. Then introductory GNURadio is presented to demonstrate the utility of the stock framework. Worked examples in the GNURadio Companion GUI are used to demonstrate basic SDR signal processing functions.

Then the Software Defined Radio Training class will cover how to develop and debug custom signal processing blocks. A worked example of an OOK modem is used to demonstrate working with data buffers in GNURadio. The advanced features of GNURadio will be covered such as RPC, message passing, data tagging, and burst (event) processing. Finally, additional open-source packages such as GQRX, gr-modes (ADS-B) , and REDHAWK are presented.

What’s Included?

  • 3 days of Software Defined Radio (SDR) Training with an expert Instructor
  • Software Defined Radio (SDR) manual.
  • Certificate of Completion
  • 100% Satisfaction Guarantee


Related Courses

Customize It:

  • We can adapt this Software Defined Radio (SDR) course to your group’s background and work requirements at little to no added cost.
  • If you are familiar with some aspects of this Software Defined Radio (SDR) course, we can omit or shorten their discussion.
  • We can adjust the emphasis placed on the various topics or build the Software Defined Radio (SDR) course around the mix of technologies of interest to you (including technologies other than those included in this outline).
  • If your background is nontechnical, we can exclude the more technical topics, include the topics that may be of special interest to you (e.g., as a manager or policy-maker), and present the Software Defined Radio (SDR) course in manner understandable to lay audiences.


The target audience for this Software Defined Radio (SDR) course:

  • Anyone who wish to know more about SDR technology and its implementation.

Software Defined Radio (SDR) Training – Course Objectives:

Upon completing this Software Defined Radio Training course, learners will be able to meet these objectives:

  • What applications utilize SDR
  • Common SDR architectures
  • Basic communications theory (spectrum access, modulation)
  • Basic algorithms utilized in SDR (carrier recovery, timing recovery)
  • Modem structure
  • Linux software development and debugging
  • SDR development in GNURadio Companion
  • Custom signal processing in GNURadio
  • Worked examples of SDR Modems in GNURadio
  • Advanced GNURadio features (stream tags, message passing, control port)

Software Defined Radio (SDR) Training – Course Syllabus:

  1. Basic Communications Theory. Spectrum analysis. Media access. Carrier modulation. Bandwidth utilization. Error correcting codes.
  2. Basic Radio Signal Processing. Sampling theory. Filtering. Carrier recovery. Timing recovery. Equalization. Modulation and demodulation.
  3. Channel and Hardware Signal Impairments. Path loss. Multi-path. Noise. Doppler. IP3, 1-dB Compression, Noise Figure, IQ Imbalance.
  4. Software-Defined Radio Development in Linux. C++ and Python software development in Linux. Worked example of building C++ and Python signal processing programs in Linux. Build systems. Debugging using GDB. Worked examples of debugging with GDB. Profiling tools to measure SDR software performance. Integrated Development Environments. Eclipse and LiClipse. Worked examples of the SWIG C++ to Python interface generator used in GNURadio.
  5. Introduction to GNURadio. GNURadio architecture. Flowgraphs and data buffers. Stock signal processing blocks. How to set-up a GNURadio development environment (like the one provided with the class). Developing with GNURadio Companion. Worked examples in GNURadio Companion including a QPSK data modem. Worked example of a python GNURadio app. Working with SDR hardware such as the USRP. Worked example with RTL-Dongle.
  6. Custom Signal Processing in GNURadio. Worked example of how to write a GNURadio signal processing block. Generating block skeleton code. Populating the signal processing. Compiling and debugging the signal processing. Communicating with and monitoring the signal processing in operation.
  7. Burst processing in GNURadio. Worked example for custom signal processing to demodulate OOK burst signals. Demonstration of working with GNURadio data buffers and writing general work functions to consume and produce data in processing blocks.
  8. Advanced GNURadio features. Overview of advanced GNURadio features. Worked examples of system logging. Worked examples of message passing and burst processing with PDUs. Worked examples of metadata passing using stream tags. Worked example of burst processing using metadata enabled tagged-streams. Worked example of external process monitoring using GNURadio control port. Worked example of hardware accelerated signal processing using the VOLK optimized kernel library.
  9. Open source SDR projects. Discussion and simple demonstration of available open-source SDR projects. Scanner utilities such as GQRX, SDR#, and Baudline. SDR modems projects such as ADS-B, AIS, Airprobe and OpenBTS.
  10. Introduction to REDHAWK.Worked examples in the REDHAWK IDE. Worked examples of writing signal processing blocks in REDHAWK. Worked example of how to integrate GNURadio processing into REDHAWK applications.

Software Defined Radio (SDR) Training Course Wrap-Up Software Defined Radio (SDR) Training Course Wrap-Up

Whether you are looking for general information or have a specific question, we want to help!

Request More Information

    Time frame: