NewTutorial: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
=='''Quick Start'''==
=='''Quick Start'''==
1. What is GNURadio?<br>
# What is GNURadio?<br>
2. [[InstallingGR|Installation]]<br>
# [[InstallingGR|Installation]]<br>
3. [[Guided_Tutorial_GRC| Introduction to GNU Radio Usage: GRC and Flowgraphs]]<br>
# [[Guided_Tutorial_GRC| Introduction to GNU Radio Usage: GRC and Flowgraphs]]<br>


=='''GNURadio Tutorials'''==
=='''GNURadio Tutorials'''==
=== Creating Blocks===
=== Creating Blocks===
1. [[Flowgraph_Python_Code|Understanding a Flowgraph's Python Code]]<br>
# [[Flowgraph_Python_Code|Understanding a Flowgraph's Python Code]]<br>
2. [[Embedded_Python_Block|Writing your own block (using Embedded Python Block)]]<br>
# [[Embedded_Python_Block|Writing your own block (using Embedded Python Block)]]<br>
3. [[OutOfTreeModules|Out of Tree Modules]]<br>
# [[OutOfTreeModules|Out of Tree Modules]]<br>
4. [[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>
5. [[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>
===Modulation and Demodulation===
===Modulation and Demodulation===
1. [[Simulation_example:_Narrowband_FM_transceiver|Narrowband FM]]<br>
# [[Simulation_example:_Narrowband_FM_transceiver|Narrowband FM]]<br>
2. [[Simulation_example:_Single_Sideband_transceiver|Single Sideband (SSB)]]<br>
# [[Simulation_example:_Single_Sideband_transceiver|Single Sideband (SSB)]]<br>
3. [[Simulation_example:_BPSK_Demodulation|BPSK Demodulation]]<br>
# [[Simulation_example:_BPSK_Demodulation|BPSK Demodulation]]<br>
4. [[Guided_Tutorial_PSK_Demodulation|QPSK Modulation and Demodulation]]<br>
# [[Guided_Tutorial_PSK_Demodulation|QPSK Modulation and Demodulation]]<br>
5. [[Simulation_example:_FSK|Frequency Shift Keying (FSK)]]<br>
# [[Simulation_example:_FSK|Frequency Shift Keying (FSK)]]<br>
6. [[Basic_OFDM_Tutorial|Orthogonal Frequency Division Multiplexing]]<br>
# [[Basic_OFDM_Tutorial|Orthogonal Frequency Division Multiplexing]]<br>
7. [[Packet_Communications|Packet Communications]]<br>
# [[Packet_Communications|Packet Communications]]<br>
===Data Types===
===Data Types===
1. [[Stream_Tags|Stream Tags]]<br>
# [[Stream_Tags|Stream Tags]]<br>
2. [[Polymorphic_Types_(PMTs)|Polymorphic Types (PMTs)]]<br>
# [[Polymorphic_Types_(PMTs)|Polymorphic Types (PMTs)]]<br>
3. [[Message_Passing|Message Passing]]<br>
# [[Message_Passing|Message Passing]]<br>
4. [[Understanding_ZMQ_Blocks|Understanding ZMQ Blocks]]<br>
# [[Understanding_ZMQ_Blocks|Understanding ZMQ Blocks]]<br>


===More===
===More===
1. [[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>
2. [[Guided_Tutorial_Hardware_Considerations|Using GNURadio With Hardware]]<br>
# [[Guided_Tutorial_Hardware_Considerations|Using GNURadio With Hardware]]<br>
3. [[Understanding_XMLRPC_Blocks|Remote Control and Automation of Flowgraphs with XMLRPC]]<br>
# [[Understanding_XMLRPC_Blocks|Remote Control and Automation of Flowgraphs with XMLRPC]]<br>


==Developer Resources==
=='''Developer Resources'''==
1. [[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>
2. [[GNU_Radio_3.8_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.7 to 3.8]]<br>
# [[GNU_Radio_3.8_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.7 to 3.8]]<br>
3. [[GNU_Radio_3.9_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.8 to 3.9]]<br>
# [[GNU_Radio_3.9_OOT_Module_Porting_Guide|Porting Existing OOTs from 3.8 to 3.9]]<br>
4. [[ALSAPulseAudio|Working with ALSA and Pulse Audio]]<br>
# [[ALSAPulseAudio|Working with ALSA and Pulse Audio]]<br>
5. [[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>
6. [[UsingEclipse|Using Eclipse for Building and Source level debugging C++ OOTs]]<br>
# [[UsingEclipse|Using Eclipse for Building and Source level debugging C++ OOTs]]<br>
7. [[UsingCB|Using Code::Blocks IDE for GNU Radio Development]]<br>
# [[UsingCB|Using Code::Blocks IDE for GNU Radio Development]]<br>
8. [[DevelopingWithGit|Git and GNU Radio]]<br>
# [[DevelopingWithGit|Git and GNU Radio]]<br>
9. [[Octave|How to use Octave or Matlab with GNU Radio]]<br>
# [[Octave|How to use Octave or Matlab with GNU Radio]]<br>
10. [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>
11. [[CustomBuffers|Using Custom Buffers for Hardware Accelerated Blocks]]<br>
# [[CustomBuffers|Using Custom Buffers for Hardware Accelerated Blocks]]<br>


== '''DSP Background'''==
== '''DSP Background'''==
===DSP Basics===
===DSP Basics===
1. [[Guided_Tutorial_Introduction|A Brief Introduction to GNU Radio, SDR, and DSP]]<br>
# [[Guided_Tutorial_Introduction|A Brief Introduction to GNU Radio, SDR, and DSP]]<br>
2. [[Sample_Rate_Tutorial|Understanding Sample Rate]]<br>
# [[Sample_Rate_Tutorial|Understanding Sample Rate]]<br>
3. [[IQ_Complex_Tutorial|IQ and Complex Signals]]<br>
# [[IQ_Complex_Tutorial|IQ and Complex Signals]]<br>

Revision as of 15:25, 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+)

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

More

  1. Porting Existing Flowgraphs to a Newer Version
  2. Using GNURadio With Hardware
  3. Remote Control and Automation of Flowgraphs with XMLRPC

Developer Resources

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

DSP Background

DSP Basics

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