我在GNU Radio Companion 3.8中创建了一个简单的GnuRadio流程图,将矢量源块(带有矢量[1,2,3,4,5])连接到QT GUI矢量水槽。运行流程图时,我看到两条线:一条从1到5(按预期),另一条则完全为零。如果我将接收器中的参考电平设置为零以外的其他值(例如1),则该零线仍会保留(除了参考线之外)。此外,右上角的图例包含“最小保持”和“最大保持”按钮。一个例子如下所示:

python - 定制和了解GnuRadio QT GUI矢量接收器-LMLPHP

我有几个问题:


这条零线是什么?我如何摆脱它?
如何摆脱绘图右上方的“最小”和“最大保持”选项?
总的来说,在显式编写代码(例如在基于python的流程图中)以显示绘图而不是使用协同绘图时,是否可以对GNURadio中的绘图格式进行更好的控制?

最佳答案

向量图将标记(水平线)放在“ LowerIntensityLevel”和“ UpperIntensityLevel”上。除非它们进行了设置,否则它们似乎都为零。 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文件。获取GRC,将其与“ QSS主题”下“选项”块的属性中的流程图一起使用。只需要使“ ref_level”行消失即可。

python - 定制和了解GnuRadio QT GUI矢量接收器-LMLPHP

VectorDisplayPlotvector_sink的私有成员,cc是一个人使用的GNU Radio块。我没有看到vector_sink_impl中设置高/低强度值的任何方法,并且由于只有该类才能访问私有的VectorDisplayPlot,所以其他任何方法也都无法设置它们。因此,使用向量接收器的任何代码(Python / C ++)都完全无法使用该功能,而GRC则少得多。

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

关于python - 定制和了解GnuRadio QT GUI矢量接收器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59700437/

10-11 21:24