Tutorials

= GNU Radio Academy =

The following sequence of tutorials will carry a new user through the core GNU Radio concepts, while providing examples along the way. If you already have experience with GNU Radio, feel free to skip the first several.


 * 1) A Brief Introduction to GNU Radio, SDR, and DSP
 * 2) Introduction to GNU Radio Usage: GRC and Flowgraphs
 * 3) Porting Existing Flowgraphs to a Newer Version
 * 4) Understanding Sample Rate
 * 5) IQ and Complex Signals
 * 6) Simulation Examples (we recommend going through at least one):
 * 7) * Frequency Shift Keying (FSK)
 * 8) * AM transmitter and receiver
 * 9) * Single Sideband transceiver
 * 10) * Narrowband FM transceiver
 * 11) * QPSK Modulation / Demodulation
 * 12) * BPSK Demodulation
 * 13) * OFDM Basics
 * 14) Using GNU Radio with Hardware
 * 15) Understanding a Flowgraph's Python Code
 * 16) Writing your own block (using Embedded Python Block)
 * 17) Polymorphic Types (PMTs)
 * 18) Stream Tags
 * 19) Message Passing
 * 20) Understanding ZMQ Blocks
 * 21) Packet Communications
 * 22) Out of Tree modules
 * 23) Writing the XML file for a block (for 3.7) or Writing the YAML file for a block (for 3.8+)
 * 24) Writing blocks in C++

= Developer Resources =
 * Volk- what it does, why it rocks, how to write new kernels
 * Porting Existing OOTs from 3.7 to 3.8
 * Porting Existing OOTs from 3.8 to 3.9
 * Working with ALSA and Pulse Audio
 * Using Visual Studio Code for Source level debugging of C++ OOTs
 * Using Eclipse for Building and Source level debugging C++ OOTs
 * Using Code::Blocks IDE for GNU Radio Development
 * Git and GNU Radio
 * How to use Octave or Matlab with GNU Radio
 * The GNU Radio Scheduler
 * Using Custom Buffers for Hardware Accelerated Blocks