GNU Radio官方教程系列(四):流程图中的变量

llium2026-06-23 14:01:57
1 浏览 0 评论

本教程介绍如何在流程图中使用变量。本教程以之前教程( 第一个流程图 )中的流程图为基础。请事先完成 “第一个流程图” 教程。

上一篇教程 《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)

0 / 1000
请遵守社区规范
暂无评论,快来抢沙发吧~
l

lium

社区创作者

帖子信息

所属板块GNU Radio
发布时间2026-06-23 14:01:57
1浏览
0点赞
0评论