是否有Redhawk性能指标

时间:2015-01-28 18:52:04

标签: redhawksdr

我有双频道广播,其中有两个RX_DIGITIZER_CHANNELIZERs和两个DDCS。我的波形分配两个通道。波形只从每个通道获取数据并将其输出到两个DataConverters。我正在使用快照功能来捕获数据。当我开始以更高的速率收集数据时,一些数据包会被丢弃。有没有办法测量pushPacket之类的调用需要多长时间?如果我使用了日志功能,它会产生太多的输出来衡量它需要多长时间。

2 个答案:

答案 0 :(得分:0)

@michael_sw你可以在IDE中绘制来自设备的数据而不是保存到磁盘吗?

您是如何监控丢包的?

您需要通过数据转换器吗?如果必须,可以在下游REDHAWK设备的SRI中设置阻塞标志(参见手册中的第15章),以引起背压并阻塞,直到数据转换器完成消耗先前的数据。这只有在数据转换器丢弃数据包时才有用。

在IDE中有一个端口监视模式,您可以通过组件实际告知何时删除数据(右键单击端口并选择端口监视)。

数据转换器中的另一个选项是您可以修改代码以观察getQacket调用inputQueueFlushed为真。

答案 1 :(得分:0)

我通常使用时间戳 - 调用其中一个系统时钟函数,并记录时间或将时间打印到控制台。如果你在调用pushPacket的函数中执行此操作并再次在pushPacket处理程序中执行此操作,那么您只需要区分。如果这会产生太多数据,您可以简单地使用计数器并仅在每次调用1000次时记录它。或者在数组中收集数据一段时间并在关闭组件后记录/打印它们。与CORBA调用相比,调用系统时钟不会影响性能。