Tutorials: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
No edit summary
Line 13: Line 13:
{| class="wikitable" style="background-color:#f1edff;" cellpadding="10"
{| class="wikitable" style="background-color:#f1edff;" cellpadding="10"
|'''Intermediate Tutorials'''
|'''Intermediate Tutorials'''
Core GNU Radio Mechanics
# [[Stream_Tags|Stream Tags]]
# [[Polymorphic_Types_(PMTs)|Polymorphic Types (PMTs)]]
# [[Message_Passing|Message Passing]]
Modulation and Demodulation
Modulation and Demodulation
# [[Simulation_example:_Narrowband_FM_transceiver|Narrowband FM]]
# [[Simulation_example:_Narrowband_FM_transceiver|Narrowband FM]]
Line 34: Line 38:
|
|
{| class="wikitable" style="background-color:#f1edff;" cellpadding="10"
{| class="wikitable" style="background-color:#f1edff;" cellpadding="10"
| '''Reference Pages'''
{| class="wikitable" style="background-color:#f1edff;" cellpadding="10"
Core GNU Radio Mechanics
|'''Developer Resources'''
# [[Stream_Tags|Stream Tags]]
# [[Polymorphic_Types_(PMTs)|Polymorphic Types (PMTs)]]
# [[Message_Passing|Message Passing]]
Porting Blocks and Flowgraphs
# [[Porting_Existing_Flowgraphs_to_a_Newer_Version|Porting Existing Flowgraphs to Newer Version]]
# [[Porting_Existing_Flowgraphs_to_a_Newer_Version|Porting Existing Flowgraphs to Newer Version]]
# [[GNU_Radio_3.8_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.7 to 3.8]]
# [[GNU_Radio_3.8_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.7 to 3.8]]
# [[GNU_Radio_3.9_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.8 to 3.9]]
# [[GNU_Radio_3.9_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.8 to 3.9]]
|}
{| class="wikitable" style="background-color:#f1edff;" cellpadding="10"
|'''Developer Resources'''
# [[VOLK_Guide|Volk- what it does, why it rocks, how to write new kernels]]
# [[VOLK_Guide|Volk- what it does, why it rocks, how to write new kernels]]
# [[ALSAPulseAudio|Working with ALSA and Pulse Audio]]
# [[ALSAPulseAudio|Working with ALSA and Pulse Audio]]

Revision as of 06:57, 2 February 2022

For someone brand new to GNU Radio, we recommend the following sequence:

  1. All beginner tutorials
  2. The three "Core GNU Radio Mechanics" reference pages
  3. A couple mod/demod tutorials

Please leave tutorials-related feedback (either for an individual tutorial or overall organization) in the Discussion page of this article (tab at the top), we are always looking for ways to improve.

Beginner Tutorials

Introducing GNU Radio

  1. What is GNU Radio?
  2. Installing GNU Radio
  3. Your First Flowgraph

Flowgraph Fundamentals

  1. Python Variables in GRC
  2. Variables in Flowgraphs
  3. Runtime Updating Variables
  4. Signal Data Types
  5. Converting Data Types
  6. Packing Bits
  7. Streams and Vectors
  8. Hier Blocks and Parameters

Creating and Modifying Python Blocks

  1. Creating Your First Block
  2. Python Block With Vectors
  3. Python Block Message Passing
  4. Python Block Tags

DSP Blocks

  1. Low Pass Filter Example
  2. Designing Filter Taps
  3. Sample Rate Change
Intermediate Tutorials

Core GNU Radio Mechanics

  1. Stream Tags
  2. Polymorphic Types (PMTs)
  3. Message Passing

Modulation and Demodulation

  1. Narrowband FM
  2. Single Sideband (SSB)
  3. BPSK Demodulation
  4. QPSK Mod and Demod
  5. Frequency Shift Keying (FSK)
  6. OFDM Basics
  7. Packet Communications

Creating Custom Blocks

  1. Out of Tree Modules (OOTs)
  2. Writing blocks in C++
  3. Writing the YAML file for a block (GR 3.8+)

Miscellaneous

  1. Understanding a Flowgraph's Python Code
  2. Using GNU Radio With SDRs
  3. IQ and Complex Signals
  4. Understanding Sample Rate
  5. Understanding ZMQ Blocks
Developer Resources
  1. Porting Existing Flowgraphs to Newer Version
  2. Porting Existing OOTs from 3.7 to 3.8
  3. Porting Existing OOTs from 3.8 to 3.9
  4. Volk- what it does, why it rocks, how to write new kernels
  5. Working with ALSA and Pulse Audio
  6. Using Visual Studio Code for Source level debugging of C++ OOTs
  7. Using Eclipse for Building and Source level debugging C++ OOTs
  8. Using Code::Blocks IDE for GNU Radio Development
  9. Git and GNU Radio
  10. How to use Octave or Matlab with GNU Radio
  11. GNU Radio Scheduler
  12. Using Custom Buffers for Hardware Accelerated Blocks
  13. Remote Control and Automation of Flowgraphs with XMLRPC