GNU Radio官方教程系列(四):流程图中的变量
本教程介绍如何在流程图中使用变量。本教程以之前教程( 第一个流程图 )中的流程图为基础。请事先完成 “第一个流程图” 教程。
上一篇教程 《GRC 中的 Python 变量 》介绍了 GRC 如何使用 Python 数据类型以及如何在 变量 块中显示值。下一篇教程 《运行时更新变量 》演示了如何在流程图运行时更新变量。
基本变量
GRC 允许用户与 GNURadio 流程图进行交互,无论是用户从头开始交互式创建的流程图,还是从 .grc 文件读取的流程图。
当 GRC 用户使用 播放 按钮执行流程图时,GRC 会创建一个包含流程图代码的 .py Python 文件。
Python 代码可以包含变量,GNURadio 流程图也可以包含由 Variable 块创建的变量。
每个新的流程图都以 samp_rate 变量开始:
![]()

GNU Radio 模块以函数的形式实现。GNU Radio 模块接受参数来修改其行为。上图中流程图中的所有模块都使用 samp_rate 作为参数。您可以从右侧的模块库中拖放模块来创建一个新的变量模块:
![]()

双击 variable_0 块以查看和修改参数。
![]()

“ID” 字段是变量的名称。该变量将表示 信号源 模块的频率。将名称编辑为 “frequency” 。现在将值编辑为 4000 。
![]()

点击 确定 保存。
双击 “信号源” 模块以修改参数:
![]()

频率 已设置为 1000。 请在“频率”字段中输入 频率值 以使用该变量:
![]()

单击 频率 “确定” 信号源 保存属性。 变量和 模块中的值将更新:
![]()

运行流程图:
![]()

由于变量变化,频率响应峰值已移至 4,000 。
因变量
变量之间可以相互依赖。id 和 value 字段按以下 方式 转换为一行 Python 代码:
Id = Value
频率 变量已修改为接受值 4000 ,这与一行 Python 代码的值相同:
frequency = 4000
频率 变量也可以依赖于另一个变量。编辑 频率 ,输入值 samp_rate/3 ,对于 samp_rate = 32000 ,频率将为 10,667 。
![]()

变更过程已在流程图中显示:
![]()

运行流程图显示频率已更新:
![]()

下一个教程“ 运行时更新变量 ”演示了如何在流程图运行时更新变量。
全部回复 (0)
lium
社区创作者
