有没有办法在 gnuradio 中的块之间传输矩阵数据?
Is there a way to transfer matrix data between blocks in gnuradio?
我一直在寻找将矩阵数据从一个块传输到另一个块的方法。我想知道是否可以这样做。到目前为止,我一直想到的是将 numpy 矩阵转换为列表,并在最后用行数和列数填充列表后发送列表。接收后,只需将列表重塑为 numpy 矩阵并根据需要进行处理。但是据我了解,在制作块时必须知道列表的长度。
我想知道是否可以实现它,或者我是否必须以其他方式查看它。
GNU Radio 不关心你的项目实际代表什么,只关心它们的字节大小。
因此,您可以定义任意项目大小,并在一个项目中放置多个数字。事实上,stream_to_vector 和 vector_to_stream 所做的正是那样。
您将使用 output_signature = gr.io_signature(1,1, [gr.sizeofgr_complex] * N_elements)
,其中 N_elements 是您的矩阵条目数。
附带说明:交换矩阵确实有信道估计或均衡的问题;与项目流相比,异步消息传递通常更优雅地处理这些。
我一直在寻找将矩阵数据从一个块传输到另一个块的方法。我想知道是否可以这样做。到目前为止,我一直想到的是将 numpy 矩阵转换为列表,并在最后用行数和列数填充列表后发送列表。接收后,只需将列表重塑为 numpy 矩阵并根据需要进行处理。但是据我了解,在制作块时必须知道列表的长度。
我想知道是否可以实现它,或者我是否必须以其他方式查看它。
GNU Radio 不关心你的项目实际代表什么,只关心它们的字节大小。
因此,您可以定义任意项目大小,并在一个项目中放置多个数字。事实上,stream_to_vector 和 vector_to_stream 所做的正是那样。
您将使用 output_signature = gr.io_signature(1,1, [gr.sizeofgr_complex] * N_elements)
,其中 N_elements 是您的矩阵条目数。
附带说明:交换矩阵确实有信道估计或均衡的问题;与项目流相比,异步消息传递通常更优雅地处理这些。