定制和理解 GnuRadio QT GUI Vector Sink

Customizing and understanding GnuRadio QT GUI Vector Sink

我在 GNU Radio Companion 3.8 中创建了一个简单的 GnuRadio 流程图,我在其中将矢量源块(带有矢量 [1,2,3,4,5])连接到 QT GUI 矢量接收器。当我 运行 流程图时,我看到两条线:一条从 1 到 5(如预期的那样),另一条在零处完全水平。如果我将水槽中的参考水平设置为零以外的其他值(例如 1),则零线仍然存在(除了参考线上)。此外,右上角的图例包含 Min Hold 和 Max Hold 按钮。示例如下:

我有几个问题:

  1. 这条零线是什么?我该如何摆脱它?
  2. 如何去掉绘图右上角的 Min 和 Max Hold 选项?
  3. 一般来说,当显式编写代码(比如在基于 python 的流程图中)渲染绘图而不是使用 companion 时,是否可以更好地控制 GNURadio 中绘图的格式?

矢量图在 "LowerIntensityLevel" 和 "UpperIntensityLevel" 处放置标记(水平线)。除非有什么设置,否则它们似乎都为 0。 VectorDisplayPlot 中有设置级别的函数,但没有调用它们。 VectorDisplayPlot 是基于 Qt 的图形小部件,用于显示实际的绘图。

这些标记默认打开。这对我来说似乎是错误的,因为没有设置它们并且它们没有默认值,所以除非您要使用它们,否则您似乎不需要它们。

线条样式、颜色以及是否启用它们是 VectorDisplayPlot 的样式属性。 "dark.qss" 主题关闭它们,但默认主题打开它们。

所以你可以用主题关闭它们。

主题的重要部分是:

VectorDisplayPlot {
    qproperty-marker_lower_intensity_visible: false;
    qproperty-marker_upper_intensity_visible: false;
    qproperty-marker_ref_level_visible: false;
}

应该可以制作一个只包含其中的 .qss 文件。在 "QSS Theme" 下的选项块的属性中获取 GRC 以将其与流程图一起使用。 "ref_level" 行只需要让参考电平标记消失。

VectorDisplayPlotvector_sink 的私有成员,它是一个人使用的 GNU Radio 块。我在 vector_sink_impl 中看不到任何设置 upper/lower 强度值的方法,并且由于只有 class 可以访问私有 VectorDisplayPlot,所以没有任何其他方法可以设置它们任何一个。因此,该功能在使用向量接收器的任何代码 (Python/C++) 中完全不可用,更不用说在 GRC 中了。

这些标记似乎用于其他一些绘图,例如频谱图。我认为有人将该代码剪切并粘贴到矢量图中,这种行为是一个错误。