1-2.4Python Block Tags
本教程演示了如何创建两个嵌入式 Python 块,其中一个模块用于检测输入信号是否超过阈值并超过时为其写入标签,然后在另一个单独的模块中读取该标签并使用自上次检测以来的时间更新输出。
内容
1 标签概述
2 创建测试信号
3 阈值检测器:定义块
4 阈值检测器:编写标签
5 检测计数器:定义块
6 检测计数器:读取标签
7 标签传播
1.Tags Overview
标签是一种以时间同步方式伴随数字化RF样本一起传递信息的方式。应用场景:当下游模块想知道在哪个样本需要调谐到新频率时;或者特定样本需要包含时间戳。(即给样本打上标记以便下游模块进行特别处理)
相比于消息以异步方式传递信息,没有基于时钟的时间保证,标签是与特定 RF 样本相关联的信息。标签与数据流或矢量中的数字化RF样本同步传送,包括Complex Float 32、Float 32、Byte和所有其他格式。
使用以下行代码添加标签:
outputPortNumber决定将标签添加到哪个输出流。absoluteIndex是索引被添加标签的样本。流程图对每一个样本进行计数,生成的第一个样本位于绝对样本索引0处。key是一个PMT类型,包含要存储的变量名称。value是另一个 PMT 类型,包含要存储信息的。(流出图中的每个块都可被视为一个线程,对其输出的samplel流添加标签需要一些参数,如输出的端口号,样本索引,关于添加的标签的信息)
可以使用如下函数能读取标签:
在窗口中读取标签会根据当前input_items向量中的相对索引来读取它们。获取与当前input_items样本对应的所有标签的最简单方法是使用函数调用: