NewTutorial: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
No edit summary
Line 11: Line 11:
# [[Guided_Tutorial_GNU_Radio_in_C%2B%2B|Writing blocks in c++]]<br>
# [[Guided_Tutorial_GNU_Radio_in_C%2B%2B|Writing blocks in c++]]<br>
# [[XML_GRC|Writing the XML file for a block (for 3.7)]] or [[YAML_GRC|Writing the YAML file for a block (for 3.8+)]]<br>
# [[XML_GRC|Writing the XML file for a block (for 3.7)]] or [[YAML_GRC|Writing the YAML file for a block (for 3.8+)]]<br>
# [[Guided_Tutorial_Hardware_Considerations|Using GNURadio With Hardware]]<br>
===Modulation and Demodulation===
===Modulation and Demodulation===
# [[Simulation_example:_Narrowband_FM_transceiver|Narrowband FM]]<br>
# [[Simulation_example:_Narrowband_FM_transceiver|Narrowband FM]]<br>
Line 25: Line 26:
# [[Understanding_ZMQ_Blocks|Understanding ZMQ Blocks]]<br>
# [[Understanding_ZMQ_Blocks|Understanding ZMQ Blocks]]<br>


===More===
===Porting Blocks and Flowgraphs===
# [[Porting_Existing_Flowgraphs_to_a_Newer_Version|Porting Existing Flowgraphs to a Newer Version]]<br>
# [[Porting_Existing_Flowgraphs_to_a_Newer_Version|Porting Existing Flowgraphs to a Newer Version]]<br>
# [[Guided_Tutorial_Hardware_Considerations|Using GNURadio With Hardware]]<br>
# [[GNU_Radio_3.8_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.7 to 3.8]]<br>
# [[Understanding_XMLRPC_Blocks|Remote Control and Automation of Flowgraphs with XMLRPC]]<br>
# [[GNU_Radio_3.9_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.8 to 3.9]]<br>


=='''Developer Resources'''==
=='''Developer Resources'''==
# [[VOLK_Guide|Volk- what it does, why it rocks, how to write new kernels]]<br>
# [[VOLK_Guide|Volk- what it does, why it rocks, how to write new kernels]]<br>
# [[GNU_Radio_3.8_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.7 to 3.8]]<br>
# [[GNU_Radio_3.9_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.8 to 3.9]]<br>
# [[ALSAPulseAudio|Working with ALSA and Pulse Audio]]<br>
# [[ALSAPulseAudio|Working with ALSA and Pulse Audio]]<br>
# [[UsingVSCode|Using Visual Studio Code for Source level debugging of C++ OOTs]]<br>
# [[UsingVSCode|Using Visual Studio Code for Source level debugging of C++ OOTs]]<br>
Line 42: Line 41:
# [http://www.trondeau.com/blog/2013/9/15/explaining-the-gnu-radio-scheduler.htmlThe GNU Radio Scheduler]<br>
# [http://www.trondeau.com/blog/2013/9/15/explaining-the-gnu-radio-scheduler.htmlThe GNU Radio Scheduler]<br>
# [[CustomBuffers|Using Custom Buffers for Hardware Accelerated Blocks]]<br>
# [[CustomBuffers|Using Custom Buffers for Hardware Accelerated Blocks]]<br>
# [[Understanding_XMLRPC_Blocks|Remote Control and Automation of Flowgraphs with XMLRPC]]<br>


== '''DSP Background'''==
== '''DSP Background'''==

Revision as of 15:27, 3 January 2022

Quick Start

  1. What is GNURadio?
  2. Installation
  3. Introduction to GNU Radio Usage: GRC and Flowgraphs

GNURadio Tutorials

Creating Blocks

  1. Understanding a Flowgraph's Python Code
  2. Writing your own block (using Embedded Python Block)
  3. Out of Tree Modules
  4. Writing blocks in c++
  5. Writing the XML file for a block (for 3.7) or Writing the YAML file for a block (for 3.8+)
  6. Using GNURadio With Hardware

Modulation and Demodulation

  1. Narrowband FM
  2. Single Sideband (SSB)
  3. BPSK Demodulation
  4. QPSK Modulation and Demodulation
  5. Frequency Shift Keying (FSK)
  6. Orthogonal Frequency Division Multiplexing
  7. Packet Communications

Data Types

  1. Stream Tags
  2. Polymorphic Types (PMTs)
  3. Message Passing
  4. Understanding ZMQ Blocks

Porting Blocks and Flowgraphs

  1. Porting Existing Flowgraphs to a Newer Version
  2. Porting Existing OOTs from 3.7 to 3.8
  3. Porting Existing OOTs from 3.8 to 3.9

Developer Resources

  1. Volk- what it does, why it rocks, how to write new kernels
  2. Working with ALSA and Pulse Audio
  3. Using Visual Studio Code for Source level debugging of C++ OOTs
  4. Using Eclipse for Building and Source level debugging C++ OOTs
  5. Using Code::Blocks IDE for GNU Radio Development
  6. Git and GNU Radio
  7. How to use Octave or Matlab with GNU Radio
  8. GNU Radio Scheduler
  9. Using Custom Buffers for Hardware Accelerated Blocks
  10. Remote Control and Automation of Flowgraphs with XMLRPC

DSP Background

DSP Basics

  1. A Brief Introduction to GNU Radio, SDR, and DSP
  2. Understanding Sample Rate
  3. IQ and Complex Signals