Variables in Flowgraphs: Difference between revisions
Mattcarrick (talk | contribs) No edit summary |
Mattcarrick (talk | contribs) |
||
Line 41: | Line 41: | ||
Click ''OK'' to save the properties. The ''frequency'' variable | Click ''OK'' to save the properties. The ''frequency'' variable and the value within the ''Signal Source'' block are updated: | ||
[[File:FlowgraphWithFrequencyVariable.png|600px]] | [[File:FlowgraphWithFrequencyVariable.png|600px]] |
Revision as of 17:51, 10 March 2022
Beginner Tutorials
Introducing GNU Radio Flowgraph Fundamentals
Creating and Modifying Python Blocks DSP Blocks
SDR Hardware |
This tutorial describes how to use variables in a flowgraph. The flowgraph from a previous tutorial (Your First Flowgraph) is used as a starting point for this tutorial. Please complete the Your First Flowgraph tutorial beforehand.
The previous tutorial, Python Variables in GRC, describes how GRC uses Python data types and how values are displayed in Variable blocks. The next tutorial, Runtime Updating Variables, demonstrates how variables are updated while a flowgraph is running.
Basic Variables
A GNURadio flowgraph is a .py Python file. Python code can have variables and a GNURadio flowgraph can have variables with the Variable block.
Every new flowgraph starts with the samp_rate variable:
GNURadio blocks are implemented as functions. GNU Radio blocks take parameters which modify the behavior. All of the blocks in the flowgraph above use samp_rate as a parameter. Create a new variable block by dragging and dropping it from the block library on the right:
Double-click the variable_0 block to view and modify the parameters.
The Id field is the name of the variable. The variable will be the frequency of the Signal Source block. Edit the name to frequency. Now edit the value to 4000.
Click OK to save.
Double-click the Signal Source block to modify the parameters:
The Frequency is set to 1000. Enter frequency into the Frequency field to use the variable:
Click OK to save the properties. The frequency variable and the value within the Signal Source block are updated:
Re-run the flowgraph:
You'll notice that the peak of the frequency response has moved to 4,000 due to the variable that was added.
Dependent Variables
Variables can be dependent on one another in the same way variables in Python can be derived from other variables.
The Id and Value fields are converted into a line of Python in the following manner:
Id = Value
Previously the frequency variable was modified to accept the value 4000, which is the same as a line of Python code:
frequency = 4000
The frequency variable can also be dependent on another variable. Edit frequency such that it is now samp_rate/3, which for samp_rate = 32000 will be a frequency of 10,667.
The change will now ripple through the flowgraph:
Re-running the flowgraph shows that the frequency has been updated:
The next tutorial, Runtime Updating Variables, demonstrates how variables can be updated while a flowgraph is running.