コード例 #1
0
ファイル: ofdm_phy.py プロジェクト: panchenglong/gr-mofdm
    def __init__(self):
        gr.hier_block2.__init__(
            self, "OFDM PHY",
            gr.io_signature(1, 1, gr.sizeof_gr_complex * 1),
            gr.io_signature2(2, 2, gr.sizeof_gr_complex * 1, gr.sizeof_char))
        
        # Message Port
        self.message_port_register_hier_out("from_mac")
        self.message_port_register_hier_in("to_mac")

        # Blocks
        self.tx_pdu = blocks.pdu_to_tagged_stream(blocks.byte_t, "packet_length")
        self.tx_path = ofdm_tx(scramble_bits=True)

        self.rx_path = ofdm_rx(scramble_bits=True)
        self.rx_pdu = blocks.tagged_stream_to_pdu(blocks.byte_t, "packet_length")

        # Connections
        self.connect(self.tx_pdu, self.tx_path, self)
        self.connect(self, self.rx_path, self.rx_pdu)
        self.connect((self.rx_path, 1), (self, 1))

        # Message Connection
        self.msg_connect(self, "from_mac", self.tx_pdu, "pdus")
        self.msg_connect(self.rx_pdu, "pdus", self, "to_mac")
コード例 #2
0
 def __init__(self, samples, len_tag_key, channel=None, prepend_zeros=100):
     gr.top_block.__init__(self, "ofdm_rx")
     if prepend_zeros:
         samples = (0,) * prepend_zeros + tuple(samples)
     src = blocks.vector_source_c(tuple(samples) + (0,) * 1000)
     self.rx = ofdm_rx(frame_length_tag_key=len_tag_key, debug_log=LOG_DEBUG_INFO)
     if channel is not None:
         self.connect(src, channel, self.rx)
     else:
         self.connect(src, self.rx)
     self.sink = blocks.vector_sink_b()
     self.connect(self.rx, self.sink)