首页 > 解决方案 > 不同类型的 gnuradio 上的多个输出的 QA_test

问题描述

我写了一个带有 1 个输入和 2 个输出的 gnuradio 块。现在我正在用 python 编写 qa_test 。下面的代码是测试一个具有 1 个输入和 1 个输出的块。如何调整代码以测试不同类型的两个输出(复杂和浮点)

src_data = (0, 1, -2, 5.5, -0.5)
expected_result = (0, 2, -4, 11, -1)
src = blocks.vector_source_f (src_data)
mult = multiply_py_ff (2)
snk = blocks.vector_sink_f ()
self.tb.connect (src, mult)
self.tb.connect (mult, snk)
self.tb.run ()
result_data = snk.data ()
self.assertFloatTuplesAlmostEqual (expected_result, result_data, 6)

标签: pythontestingqagnuradio

解决方案


如何调整代码以测试不同类型的两个输出(复杂和浮点)

src_port尝试创建两个接收器块 - 一个 vector_sink_f 和一个 vector_sink_c,然后使用 connect 函数通过指定和将被测块的相应输出连接到它们dst_port。见https://www.gnuradio.org/doc/doxygen/classgr_1_1hier__block2.html#a915d1d5b4b6d8a9db4211d9a4507c955

它应该是这样的

tb.connect((block,0), (snk1,0))
tb.connect((block,1), (snk2,0))

pfb_channelizer测试的一个例子


推荐阅读