NewTutorial
Beginning Tutorials
This introductory guide is intended for new users and will walk you through installing GNU Radio and creating your first couple of flowgraphs using GNU Radio Companion. Please start here if you are new to GNU Radio.
Introducing GNU Radio
Flowgraph Tutorials
- Variables in Flowgraphs
- Updating Variables in Real time
- Signal Data Types
- Converting Data Types
- Streams and Vectors
Advanced Tutorials
The following guides will describe advanced topics in GNU Radio such as creating your own signal processing block and digital modulations using GNU Radio.
Creating Custom Blocks
The following tutorials describe how to create a custom signal processing block in GNU Radio.
- Understanding a Flowgraph's Python Code
- Writing your own block (using Embedded Python Block)
- Out of Tree Modules
- Writing blocks in c++
- Writing the XML file for a block (for 3.7) or Writing the YAML file for a block (for 3.8+)
Using GNU Radio with a Radio
Modulation and Demodulation
- Narrowband FM
- Single Sideband (SSB)
- BPSK Demodulation
- QPSK Modulation and Demodulation
- Frequency Shift Keying (FSK)
- Orthogonal Frequency Division Multiplexing
- Packet Communications
Metadata
GNU Radio uses metadata such as stream tags and messages to represent information about the radio system, separate from the information contained in the digitized RF data streams. Metadata can include information such as timestamps or the frequency the radio receiver is currently tuned to.
Porting Blocks and Flowgraphs
- Porting Existing Flowgraphs to a Newer Version
- Porting Existing OOTs from 3.7 to 3.8
- Porting Existing OOTs from 3.8 to 3.9
DSP Background
The following pages describe background information on digital signal processing.
Developer Resources
- Volk- what it does, why it rocks, how to write new kernels
- 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
- GNU Radio Scheduler
- Using Custom Buffers for Hardware Accelerated Blocks
- Remote Control and Automation of Flowgraphs with XMLRPC