python - 不同类型的 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)
解决方案
如何调整代码以测试不同类型的两个输出(复杂和浮点)
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测试的一个例子
推荐阅读
- sql - 如何压缩返回的具有多个角色的用户行
- logstash - Logstash - csv 内的嵌套 json
- architecture - YOLOv5:基本架构 - 在哪里可以找到?
- wordpress - 如何从 Gatsby WordPress 网站的页面内容查询中排除作者和日期
- php - mysqli 和 php 在中添加列
- web-scraping - 通过在实际数据中添加无用数据来妨碍网站解析
- postgresql - Postgresql/rails - 加入不同的值,或者只为不同的值创建重复的行
- r - 如何在闪亮的应用程序中指定 kable 表的尺寸?
- python - 如何在单个应用程序运行期间使用 os.remove 删除多个文件
- mips - 堆栈中的 MIPS 函数和变量