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")
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")
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")
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")
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))
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))