コード例 #1
0
    def __init__(self, address="type=b200", param_freq=2450e6):
        grc_wxgui.top_block_gui.__init__(self, title="Cognitiva Node")

        ##################################################
        # Parameters
        ##################################################
        self.address = address
        self.param_freq = param_freq

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = 4e6

        ##################################################
        # Blocks
        ##################################################
        self.uhd_usrp_source_0 = uhd.usrp_source(
        	",".join((address, "")),
        	uhd.stream_args(
        		cpu_format="fc32",
        		channels=range(1),
        	),
        )
        self.uhd_usrp_source_0.set_samp_rate(samp_rate)
        self.uhd_usrp_source_0.set_center_freq(param_freq, 0)
        self.uhd_usrp_source_0.set_gain(0, 0)
        self.uhd_usrp_source_0.set_antenna("TX/RX", 0)
        self.uhd_usrp_sink_0 = uhd.usrp_sink(
        	",".join((address, "")),
        	uhd.stream_args(
        		cpu_format="fc32",
        		channels=range(1),
        	),
        )
        self.uhd_usrp_sink_0.set_samp_rate(samp_rate)
        self.uhd_usrp_sink_0.set_center_freq(param_freq, 0)
        self.uhd_usrp_sink_0.set_gain(0, 0)
        self.uhd_usrp_sink_0.set_antenna("TX/RX", 0)
        self.cognitiva_spectrum_sense_0 = cognitiva.spectrum_sense()
        self.cognitiva_phy_0 = cognitiva_phy(
            debug_mask=0,
            phy_ver=2,
        )
        self.cognitiva_cognitiva_mac_0 = cognitiva.cognitiva_mac(
          "::1020", 
          True, 
          0, 
          10, 
          0.1, 
          2.0, 
          True, 
          0.05, 
          10.0, 
          True, 
          True, 
          1)
          
        self.cognitiva_bin_statistics_0 = cognitiva.bin_statistics(1024, 0.1, 0.2, samp_rate, 1)
        self.blocks_random_pdu_0 = blocks.random_pdu(240, 240, chr(0xFF), 2)
        self.blocks_message_strobe_0_0_0 = blocks.message_strobe(pmt.intern("TEST"), 2000)
        self.blocks_message_strobe_0_0 = blocks.message_strobe(pmt.intern("TEST"), 1000)
        self.blocks_message_debug_0_0_0 = blocks.message_debug()
        self.blocks_message_debug_0_0 = blocks.message_debug()

        ##################################################
        # Connections
        ##################################################
        self.connect((self.uhd_usrp_source_0, 0), (self.cognitiva_spectrum_sense_0, 0))
        self.connect((self.uhd_usrp_source_0, 0), (self.cognitiva_phy_0, 0))
        self.connect((self.cognitiva_phy_0, 0), (self.uhd_usrp_sink_0, 0))
        self.connect((self.cognitiva_spectrum_sense_0, 0), (self.cognitiva_bin_statistics_0, 0))

        ##################################################
        # Asynch Message Connections
        ##################################################
        self.msg_connect(self.cognitiva_cognitiva_mac_0, "payload out", self.blocks_message_debug_0_0, "print_pdu")
        self.msg_connect(self.blocks_message_strobe_0_0, "strobe", self.blocks_random_pdu_0, "generate")
        self.msg_connect(self.blocks_random_pdu_0, "pdus", self.cognitiva_cognitiva_mac_0, "payload in")
        self.msg_connect(self.cognitiva_cognitiva_mac_0, "mpdu out", self.cognitiva_phy_0, "from_mac")
        self.msg_connect(self.cognitiva_phy_0, "to_mac", self.cognitiva_cognitiva_mac_0, "mpdu in")
        self.msg_connect(self.blocks_message_strobe_0_0_0, "strobe", self.cognitiva_bin_statistics_0, "start")
        self.msg_connect(self.cognitiva_bin_statistics_0, "bins", self.blocks_message_debug_0_0_0, "print")
コード例 #2
0
    def __init__(self, param_freq=800e6, address="name=b100c"):
        grc_wxgui.top_block_gui.__init__(self, title="Cognitiva Node B")

        ##################################################
        # Parameters
        ##################################################
        self.param_freq = param_freq
        self.address = address

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = 4e6
        self.phy_ver = phy_ver = 0

        ##################################################
        # Blocks
        ##################################################
        self.uhd_usrp_source_0 = uhd.usrp_source(
        	",".join((address, "")),
        	uhd.stream_args(
        		cpu_format="fc32",
        		channels=range(1),
        	),
        )
        self.uhd_usrp_source_0.set_samp_rate(samp_rate)
        self.uhd_usrp_source_0.set_center_freq(param_freq, 0)
        self.uhd_usrp_source_0.set_gain(10, 0)
        self.uhd_usrp_source_0.set_antenna("TX/RX", 0)
        self.uhd_usrp_sink_0 = uhd.usrp_sink(
        	",".join((address, "")),
        	uhd.stream_args(
        		cpu_format="fc32",
        		channels=range(1),
        	),
        )
        self.uhd_usrp_sink_0.set_samp_rate(samp_rate)
        self.uhd_usrp_sink_0.set_center_freq(param_freq, 0)
        self.uhd_usrp_sink_0.set_gain(0, 0)
        self.uhd_usrp_sink_0.set_antenna("TX/RX", 0)
        self.cognitiva_phy_0 = cognitiva_phy(
            debug_mask=0,
            phy_ver=phy_ver,
        )
        self.cognitiva_cognitiva_mac_0 = cognitiva.cognitiva_mac(
          "::3040", 
          False, 
          0, 
          10, 
          0.1, 
          2.0, 
          True, 
          0.05, 
          10.0, 
          True, 
          True, 
          0)
          
        self.blocks_pdu_to_tagged_stream_0 = blocks.pdu_to_tagged_stream(blocks.byte_t, "packet_len")
        self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_char*1, "/home/tchiwewe/Documents/music_fifo.mp3", False)
        self.blocks_file_sink_0.set_unbuffered(False)

        ##################################################
        # Connections
        ##################################################
        self.connect((self.uhd_usrp_source_0, 0), (self.cognitiva_phy_0, 0))
        self.connect((self.cognitiva_phy_0, 0), (self.uhd_usrp_sink_0, 0))
        self.connect((self.blocks_pdu_to_tagged_stream_0, 0), (self.blocks_file_sink_0, 0))

        ##################################################
        # Asynch Message Connections
        ##################################################
        self.msg_connect(self.cognitiva_phy_0, "to_mac", self.cognitiva_cognitiva_mac_0, "mpdu in")
        self.msg_connect(self.cognitiva_cognitiva_mac_0, "mpdu out", self.cognitiva_phy_0, "from_mac")
        self.msg_connect(self.cognitiva_cognitiva_mac_0, "payload out", self.blocks_pdu_to_tagged_stream_0, "pdus")
コード例 #3
0
    def __init__(self, param_freq=800e6, address="name=b100a"):
        grc_wxgui.top_block_gui.__init__(self, title="Cognitiva Node A")

        ##################################################
        # Parameters
        ##################################################
        self.param_freq = param_freq
        self.address = address

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = 4e6
        self.phy_ver = phy_ver = 0

        ##################################################
        # Blocks
        ##################################################
        self.uhd_usrp_source_0 = uhd.usrp_source(
            ",".join((address, "")),
            uhd.stream_args(
                cpu_format="fc32",
                channels=range(1),
            ),
        )
        self.uhd_usrp_source_0.set_samp_rate(samp_rate)
        self.uhd_usrp_source_0.set_center_freq(param_freq, 0)
        self.uhd_usrp_source_0.set_gain(10, 0)
        self.uhd_usrp_source_0.set_antenna("TX/RX", 0)
        self.uhd_usrp_sink_0 = uhd.usrp_sink(
            ",".join((address, "")),
            uhd.stream_args(
                cpu_format="fc32",
                channels=range(1),
            ),
        )
        self.uhd_usrp_sink_0.set_samp_rate(samp_rate)
        self.uhd_usrp_sink_0.set_center_freq(param_freq, 0)
        self.uhd_usrp_sink_0.set_gain(0, 0)
        self.uhd_usrp_sink_0.set_antenna("TX/RX", 0)
        self.cognitiva_phy_0 = cognitiva_phy(
            debug_mask=0,
            phy_ver=phy_ver,
        )
        self.cognitiva_cognitiva_mac_0 = cognitiva.cognitiva_mac(
            "::1020", False, 0, 10, 0.1, 2, True, 0.05, 10.0, True, False, 0)

        self.blocks_throttle_0 = blocks.throttle(gr.sizeof_char * 1, 22050,
                                                 True)
        self.blocks_tagged_stream_to_pdu_0 = blocks.tagged_stream_to_pdu(
            blocks.byte_t, "packet_len_stream")
        self.blocks_stream_to_tagged_stream_0 = blocks.stream_to_tagged_stream(
            gr.sizeof_char, 1, 1024, "packet_len_stream")
        self.blocks_file_source_0 = blocks.file_source(
            gr.sizeof_char * 1, "../../../data/music_low_rate_.mp3", True)

        ##################################################
        # Connections
        ##################################################
        self.connect((self.uhd_usrp_source_0, 0), (self.cognitiva_phy_0, 0))
        self.connect((self.cognitiva_phy_0, 0), (self.uhd_usrp_sink_0, 0))
        self.connect((self.blocks_stream_to_tagged_stream_0, 0),
                     (self.blocks_tagged_stream_to_pdu_0, 0))
        self.connect((self.blocks_file_source_0, 0),
                     (self.blocks_throttle_0, 0))
        self.connect((self.blocks_throttle_0, 0),
                     (self.blocks_stream_to_tagged_stream_0, 0))

        ##################################################
        # Asynch Message Connections
        ##################################################
        self.msg_connect(self.cognitiva_cognitiva_mac_0, "mpdu out",
                         self.cognitiva_phy_0, "from_mac")
        self.msg_connect(self.cognitiva_phy_0, "to_mac",
                         self.cognitiva_cognitiva_mac_0, "mpdu in")
        self.msg_connect(self.blocks_tagged_stream_to_pdu_0, "pdus",
                         self.cognitiva_cognitiva_mac_0, "payload in")
コード例 #4
0
    def __init__(self):
        grc_wxgui.top_block_gui.__init__(self, title="Test Cognitiva Streaming")

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = 8e6
        self.phy_ver = phy_ver = 0

        ##################################################
        # Blocks
        ##################################################
        self.foo_packet_pad_0_0_0 = foo.packet_pad(False, False, 0.001, 100, 100)
        self.foo_packet_pad_0_0 = foo.packet_pad(False, False, 0.001, 100, 100)
        self.cognitiva_phy_0_0 = cognitiva_phy(
            debug_mask=0,
            phy_ver=phy_ver,
        )
        self.cognitiva_phy_0 = cognitiva_phy(
            debug_mask=0,
            phy_ver=phy_ver,
        )
        self.cognitiva_cognitiva_mac_1 = cognitiva.cognitiva_mac(
          "::3040", 
          False, 
          0, 
          10, 
          0.1, 
          2.0, 
          True, 
          0.05, 
          10.0, 
          True, 
          True, 
          0)
          
        self.cognitiva_cognitiva_mac_0 = cognitiva.cognitiva_mac(
          "::1020", 
          False, 
          0, 
          10, 
          0.1, 
          2.0, 
          True, 
          0.05, 
          10.0, 
          True, 
          True, 
          0)
          
        self.blocks_throttle_1 = blocks.throttle(gr.sizeof_gr_complex*1, samp_rate,True)
        self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex*1, samp_rate,True)
        self.blocks_tagged_stream_to_pdu_0 = blocks.tagged_stream_to_pdu(blocks.byte_t, "packet_len_stream")
        self.blocks_stream_to_tagged_stream_0 = blocks.stream_to_tagged_stream(gr.sizeof_char, 1, 1024, "packet_len_stream")
        self.blocks_pdu_to_tagged_stream_0 = blocks.pdu_to_tagged_stream(blocks.byte_t, "packet_len")
        self.blocks_file_source_0 = blocks.file_source(gr.sizeof_char*1, "../../../data/music_.mp3", True)
        self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_char*1, "/home/tchiwewe/Documents/music_fifo.mp3", False)
        self.blocks_file_sink_0.set_unbuffered(False)

        ##################################################
        # Connections
        ##################################################
        self.connect((self.foo_packet_pad_0_0, 0), (self.cognitiva_phy_0_0, 0))
        self.connect((self.cognitiva_phy_0, 0), (self.blocks_throttle_1, 0))
        self.connect((self.blocks_throttle_1, 0), (self.foo_packet_pad_0_0, 0))
        self.connect((self.cognitiva_phy_0_0, 0), (self.foo_packet_pad_0_0_0, 0))
        self.connect((self.blocks_throttle_0, 0), (self.cognitiva_phy_0, 0))
        self.connect((self.foo_packet_pad_0_0_0, 0), (self.blocks_throttle_0, 0))
        self.connect((self.blocks_file_source_0, 0), (self.blocks_stream_to_tagged_stream_0, 0))
        self.connect((self.blocks_stream_to_tagged_stream_0, 0), (self.blocks_tagged_stream_to_pdu_0, 0))
        self.connect((self.blocks_pdu_to_tagged_stream_0, 0), (self.blocks_file_sink_0, 0))

        ##################################################
        # Asynch Message Connections
        ##################################################
        self.msg_connect(self.cognitiva_cognitiva_mac_0, "mpdu out", self.cognitiva_phy_0, "from_mac")
        self.msg_connect(self.cognitiva_phy_0_0, "to_mac", self.cognitiva_cognitiva_mac_1, "mpdu in")
        self.msg_connect(self.cognitiva_phy_0, "to_mac", self.cognitiva_cognitiva_mac_0, "mpdu in")
        self.msg_connect(self.cognitiva_cognitiva_mac_1, "mpdu out", self.cognitiva_phy_0_0, "from_mac")
        self.msg_connect(self.blocks_tagged_stream_to_pdu_0, "pdus", self.cognitiva_cognitiva_mac_0, "payload in")
        self.msg_connect(self.cognitiva_cognitiva_mac_1, "payload out", self.blocks_pdu_to_tagged_stream_0, "pdus")
コード例 #5
0
    def __init__(self):
        grc_wxgui.top_block_gui.__init__(self, title="Test Cognitiva")

        ##################################################
        # Variables
        ##################################################
        self.variable_slider_0 = variable_slider_0 = 0
        self.samp_rate = samp_rate = 4e6
        self.phy_ver = phy_ver = 0

        ##################################################
        # Blocks
        ##################################################
        _variable_slider_0_sizer = wx.BoxSizer(wx.VERTICAL)
        self._variable_slider_0_text_box = forms.text_box(
            parent=self.GetWin(),
            sizer=_variable_slider_0_sizer,
            value=self.variable_slider_0,
            callback=self.set_variable_slider_0,
            label='variable_slider_0',
            converter=forms.float_converter(),
            proportion=0,
        )
        self._variable_slider_0_slider = forms.slider(
            parent=self.GetWin(),
            sizer=_variable_slider_0_sizer,
            value=self.variable_slider_0,
            callback=self.set_variable_slider_0,
            minimum=0,
            maximum=1000,
            num_steps=100,
            style=wx.SL_HORIZONTAL,
            cast=float,
            proportion=1,
        )
        self.Add(_variable_slider_0_sizer)
        self.foo_packet_pad_1 = foo.packet_pad(False, False, 0.001, 2000, 2000)
        self.foo_packet_pad_0 = foo.packet_pad(False, False, 0.001, 2000, 2000)
        self.cognitiva_phy_1 = cognitiva_phy(
            debug_mask=0,
            parameter_dwell_delay=0.001,
            parameter_fft_size=1024,
            parameter_tune_delay=0.1,
            phy_ver=phy_ver,
            samp_rate=samp_rate,
        )
        self.cognitiva_phy_0 = cognitiva_phy(
            debug_mask=0,
            parameter_dwell_delay=0.001,
            parameter_fft_size=1024,
            parameter_tune_delay=0.1,
            phy_ver=phy_ver,
            samp_rate=samp_rate,
        )
        self.cognitiva_cognitiva_mac_2 = cognitiva.cognitiva_mac(
            "::1020", 0, True, 0, 0, 0.1, 2.0, True, 0.05, 10.0, True, False,
            0)

        self.cognitiva_cognitiva_mac_1 = cognitiva.cognitiva_mac(
            "::3040", 0, True, 0, 10, 0.1, 2.0, True, 0.05, 10.0, True, True,
            0)

        self.blocks_throttle_1 = blocks.throttle(gr.sizeof_gr_complex * 1,
                                                 samp_rate, True)
        self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex * 1,
                                                 samp_rate, True)
        self.blocks_socket_pdu_1 = blocks.socket_pdu("UDP_SERVER", "localhost",
                                                     "52002", 10000, False)
        self.blocks_socket_pdu_0 = blocks.socket_pdu("UDP_SERVER", "localhost",
                                                     "52001", 10000, False)
        self.blocks_random_pdu_0 = blocks.random_pdu(1024, 1024, chr(0xFF), 2)
        self.blocks_message_strobe_0_0 = blocks.message_strobe(
            pmt.intern("TEST"), 1000)
        self.blocks_add_xx_0 = blocks.add_vcc(1)
        self.analog_noise_source_x_0 = analog.noise_source_c(
            analog.GR_GAUSSIAN, variable_slider_0 / 1000, 0)

        ##################################################
        # Connections
        ##################################################
        self.msg_connect((self.blocks_message_strobe_0_0, 'strobe'),
                         (self.blocks_random_pdu_0, 'generate'))
        self.msg_connect((self.blocks_random_pdu_0, 'pdus'),
                         (self.cognitiva_cognitiva_mac_2, 'payload_in'))
        self.msg_connect((self.blocks_socket_pdu_0, 'pdus'),
                         (self.cognitiva_cognitiva_mac_2, 'payload_in'))
        self.msg_connect((self.blocks_socket_pdu_1, 'pdus'),
                         (self.cognitiva_cognitiva_mac_1, 'payload_in'))
        self.msg_connect((self.cognitiva_cognitiva_mac_1, 'payload_out'),
                         (self.blocks_socket_pdu_1, 'pdus'))
        self.msg_connect((self.cognitiva_cognitiva_mac_1, 'control_out'),
                         (self.cognitiva_phy_1, 'control_in'))
        self.msg_connect((self.cognitiva_cognitiva_mac_1, 'mpdu_out'),
                         (self.cognitiva_phy_1, 'psdu_in'))
        self.msg_connect((self.cognitiva_cognitiva_mac_2, 'payload_out'),
                         (self.blocks_socket_pdu_0, 'pdus'))
        self.msg_connect((self.cognitiva_cognitiva_mac_2, 'control_out'),
                         (self.cognitiva_phy_0, 'control_in'))
        self.msg_connect((self.cognitiva_cognitiva_mac_2, 'mpdu_out'),
                         (self.cognitiva_phy_0, 'psdu_in'))
        self.msg_connect((self.cognitiva_phy_0, 'control_out'),
                         (self.cognitiva_cognitiva_mac_2, 'control_in'))
        self.msg_connect((self.cognitiva_phy_0, 'psdu_out'),
                         (self.cognitiva_cognitiva_mac_2, 'mpdu_in'))
        self.msg_connect((self.cognitiva_phy_1, 'control_out'),
                         (self.cognitiva_cognitiva_mac_1, 'control_in'))
        self.msg_connect((self.cognitiva_phy_1, 'psdu_out'),
                         (self.cognitiva_cognitiva_mac_1, 'mpdu_in'))
        self.connect((self.analog_noise_source_x_0, 0),
                     (self.blocks_add_xx_0, 1))
        self.connect((self.blocks_throttle_0, 0), (self.blocks_add_xx_0, 0))
        self.connect((self.cognitiva_phy_0, 0), (self.foo_packet_pad_0, 0))
        self.connect((self.cognitiva_phy_1, 0), (self.foo_packet_pad_1, 0))
        self.connect((self.foo_packet_pad_0, 0), (self.blocks_throttle_0, 0))
        self.connect((self.foo_packet_pad_1, 0), (self.blocks_throttle_1, 0))
        self.connect((self.blocks_throttle_1, 0), (self.cognitiva_phy_0, 0))
        self.connect((self.blocks_add_xx_0, 0), (self.cognitiva_phy_1, 0))
コード例 #6
0
    def __init__(self, address="name=b100a", param_freq=2400e6):
        grc_wxgui.top_block_gui.__init__(self,
                                         title="Test Cognitiva With Hardware")

        ##################################################
        # Parameters
        ##################################################
        self.address = address
        self.param_freq = param_freq

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = 4e6
        self.phy_ver = phy_ver = 2

        ##################################################
        # Blocks
        ##################################################
        self.uhd_usrp_source_0 = uhd.usrp_source(
            ",".join((address, "")),
            uhd.stream_args(
                cpu_format="fc32",
                channels=range(1),
            ),
        )
        self.uhd_usrp_source_0.set_samp_rate(samp_rate)
        self.uhd_usrp_source_0.set_center_freq(param_freq, 0)
        self.uhd_usrp_source_0.set_gain(10, 0)
        self.uhd_usrp_source_0.set_antenna("TX/RX", 0)
        self.uhd_usrp_sink_0 = uhd.usrp_sink(
            ",".join((address, "")),
            uhd.stream_args(
                cpu_format="fc32",
                channels=range(1),
            ),
        )
        self.uhd_usrp_sink_0.set_samp_rate(samp_rate)
        self.uhd_usrp_sink_0.set_center_freq(param_freq, 0)
        self.uhd_usrp_sink_0.set_gain(0, 0)
        self.uhd_usrp_sink_0.set_antenna("TX/RX", 0)
        self.cognitiva_phy_0 = cognitiva_phy(
            debug_mask=0,
            parameter_dwell_delay=0.001,
            parameter_fft_size=1024,
            parameter_tune_delay=0.1,
            phy_ver=phy_ver,
            samp_rate=samp_rate,
        )
        self.cognitiva_cognitiva_mac_0 = cognitiva.cognitiva_mac(
            "::1020", 3, True, 0, 10, 0.1, 2.0, True, 0.05, 10.0, True, True,
            0)

        self.blocks_socket_pdu_0 = blocks.socket_pdu("UDP_SERVER", "localhost",
                                                     "52001", 10000, False)

        ##################################################
        # Connections
        ##################################################
        self.msg_connect((self.blocks_socket_pdu_0, 'pdus'),
                         (self.cognitiva_cognitiva_mac_0, 'payload_in'))
        self.msg_connect((self.cognitiva_cognitiva_mac_0, 'payload_out'),
                         (self.blocks_socket_pdu_0, 'pdus'))
        self.msg_connect((self.cognitiva_cognitiva_mac_0, 'control_out'),
                         (self.cognitiva_phy_0, 'control_in'))
        self.msg_connect((self.cognitiva_cognitiva_mac_0, 'mpdu_out'),
                         (self.cognitiva_phy_0, 'psdu_in'))
        self.msg_connect((self.cognitiva_phy_0, 'control_out'),
                         (self.cognitiva_cognitiva_mac_0, 'control_in'))
        self.msg_connect((self.cognitiva_phy_0, 'psdu_out'),
                         (self.cognitiva_cognitiva_mac_0, 'mpdu_in'))
        self.connect((self.cognitiva_phy_0, 0), (self.uhd_usrp_sink_0, 0))
        self.connect((self.uhd_usrp_source_0, 0), (self.cognitiva_phy_0, 0))