def __init__(self): gr.top_block.__init__(self, "Ornl 1") ################################################## # Variables ################################################## self.samp_rate = samp_rate = 32000 ################################################## # Blocks ################################################## self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex * 1, samp_rate, True) self.blocks_magphase_to_complex_1 = blocks.magphase_to_complex(1) self.blocks_magphase_to_complex_0 = blocks.magphase_to_complex(1) self.blocks_head_0 = blocks.head(gr.sizeof_gr_complex * 1, 50 * samp_rate) self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_gr_complex * 1, 'ornl_1.bin', False) self.blocks_file_sink_0.set_unbuffered(False) self.blocks_complex_to_magphase_0 = blocks.complex_to_magphase(1) self.blocks_complex_to_mag_0 = blocks.complex_to_mag(1) self.blocks_complex_to_arg_0 = blocks.complex_to_arg(1) self.analog_noise_source_x_0 = analog.noise_source_c( analog.GR_GAUSSIAN, 1, 0) ################################################## # Connections ################################################## self.connect((self.analog_noise_source_x_0, 0), (self.blocks_throttle_0, 0)) self.connect((self.blocks_complex_to_arg_0, 0), (self.blocks_magphase_to_complex_1, 1)) self.connect((self.blocks_complex_to_mag_0, 0), (self.blocks_magphase_to_complex_1, 0)) self.connect((self.blocks_complex_to_magphase_0, 1), (self.blocks_magphase_to_complex_0, 1)) self.connect((self.blocks_complex_to_magphase_0, 0), (self.blocks_magphase_to_complex_0, 0)) self.connect((self.blocks_head_0, 0), (self.blocks_complex_to_magphase_0, 0)) self.connect((self.blocks_magphase_to_complex_0, 0), (self.blocks_complex_to_arg_0, 0)) self.connect((self.blocks_magphase_to_complex_0, 0), (self.blocks_complex_to_mag_0, 0)) self.connect((self.blocks_magphase_to_complex_1, 0), (self.blocks_file_sink_0, 0)) self.connect((self.blocks_throttle_0, 0), (self.blocks_head_0, 0))
def __init__(self): gr.top_block.__init__(self, "Top Block") Qt.QWidget.__init__(self) self.setWindowTitle("Top Block") qtgui.util.check_set_qss() try: self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) except: pass self.top_scroll_layout = Qt.QVBoxLayout() self.setLayout(self.top_scroll_layout) self.top_scroll = Qt.QScrollArea() self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) self.top_scroll_layout.addWidget(self.top_scroll) self.top_scroll.setWidgetResizable(True) self.top_widget = Qt.QWidget() self.top_scroll.setWidget(self.top_widget) self.top_layout = Qt.QVBoxLayout(self.top_widget) self.top_grid_layout = Qt.QGridLayout() self.top_layout.addLayout(self.top_grid_layout) self.settings = Qt.QSettings("GNU Radio", "top_block") self.restoreGeometry(self.settings.value("geometry").toByteArray()) ################################################## # Variables ################################################## self.occupied_carriers = occupied_carriers = ( range(-26, -21) + range(-20, -7) + range(-6, 0) + range(1, 7) + range(8, 21) + range(22, 27), ) self.sync_word_zeros = sync_word_zeros = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] self.sync_word = sync_word = [ 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 0, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 0, 0, 0, 0 ] self.pilot_symbols = pilot_symbols = (( 1, 1, 1, -1, ), ) self.pilot_carriers = pilot_carriers = (( -21, -7, 7, 21, ), ) self.packet_len = packet_len = 80 - 48 self.occupied_carriers_len = occupied_carriers_len = len( occupied_carriers[0]) self.variable_function_probe_0_2 = variable_function_probe_0_2 = 0 self.variable_function_probe_0_1_0 = variable_function_probe_0_1_0 = 0 self.variable_function_probe_0_0_1 = variable_function_probe_0_0_1 = 0 self.variable_function_probe_0_0_0_0 = variable_function_probe_0_0_0_0 = 0 self.usrp_source_addr = usrp_source_addr = "addr0=192.168.30.4" self.usrp_sink_addr = usrp_sink_addr = "addr0=192.168.30.4" self.sync_word_zero_len = sync_word_zero_len = len(sync_word_zeros) self.sync_word_len = sync_word_len = len(sync_word) self.sync_word2 = sync_word2 = [ 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 0, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 0, 0, 0, 0 ] self.sync_word1 = sync_word1 = [ 0., 0., 0., 0., 0., 0., 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 0., 0., 0., 0., 0. ] self.symbols_num = symbols_num = ( packet_len + 4) * 8 / 2 / occupied_carriers_len + 3 self.samp_rate = samp_rate = 1e6 self.qf_1 = qf_1 = 0 self.qf_0 = qf_0 = 0 self.pilot_symbols_len = pilot_symbols_len = len(pilot_symbols[0]) self.pilot_carriers_len = pilot_carriers_len = len(pilot_carriers[0]) self.pad_tail_len = pad_tail_len = 1000 self.pad_front_len = pad_front_len = 20000 * 2 self.out_buf_size = out_buf_size = 96000 self.len_tag_key = len_tag_key = "packet_len" self.freq = freq = 950e6 self.frame_len = frame_len = ( (packet_len + 4) / 12 + 3 + 2 + 2 + 2 * 2) * 80 self.fft_len = fft_len = 64 self.delay_tx2rx = delay_tx2rx = 50 self.dac_2 = dac_2 = 0 self.dac_1 = dac_1 = 0 self.dac_0 = dac_0 = 0 self.cf_1 = cf_1 = 0 self.cf_0 = cf_0 = 0 self.cap_2 = cap_2 = 0 self.cap_1 = cap_1 = 0 self.cap_0 = cap_0 = 0 self.canc_path = canc_path = 0 self.att_2 = att_2 = 0 self.att_1 = att_1 = 0 self.att_0 = att_0 = 0 ################################################## # Blocks ################################################## self.uhd_usrp_source = uhd.usrp_source( ",".join((usrp_source_addr, "")), uhd.stream_args( cpu_format="fc32", channels=range(1), ), ) self.uhd_usrp_source.set_samp_rate(samp_rate) self.uhd_usrp_source.set_center_freq(freq, 0) self.uhd_usrp_source.set_gain(15, 0) self.uhd_usrp_source.set_antenna('RX2', 0) self.uhd_usrp_source.set_auto_dc_offset(True, 0) self.uhd_usrp_source.set_auto_iq_balance(True, 0) self.uhd_usrp_sink = uhd.usrp_sink( ",".join((usrp_sink_addr, "")), uhd.stream_args( cpu_format="fc32", channels=range(1), ), ) self.uhd_usrp_sink.set_samp_rate(samp_rate) self.uhd_usrp_sink.set_center_freq(freq, 0) self.uhd_usrp_sink.set_gain(0, 0) self.uhd_usrp_sink.set_antenna('TX/RX', 0) self.tab = Qt.QTabWidget() self.tab_widget_0 = Qt.QWidget() self.tab_layout_0 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.tab_widget_0) self.tab_grid_layout_0 = Qt.QGridLayout() self.tab_layout_0.addLayout(self.tab_grid_layout_0) self.tab.addTab(self.tab_widget_0, 'Rx Packets') self.tab_widget_1 = Qt.QWidget() self.tab_layout_1 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.tab_widget_1) self.tab_grid_layout_1 = Qt.QGridLayout() self.tab_layout_1.addLayout(self.tab_grid_layout_1) self.tab.addTab(self.tab_widget_1, 'Rx Signal Spectr') self.tab_widget_2 = Qt.QWidget() self.tab_layout_2 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.tab_widget_2) self.tab_grid_layout_2 = Qt.QGridLayout() self.tab_layout_2.addLayout(self.tab_grid_layout_2) self.tab.addTab(self.tab_widget_2, 'Estimated Digital Taps') self.tab_widget_3 = Qt.QWidget() self.tab_layout_3 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.tab_widget_3) self.tab_grid_layout_3 = Qt.QGridLayout() self.tab_layout_3.addLayout(self.tab_grid_layout_3) self.tab.addTab(self.tab_widget_3, 'Sync b/w Two Radios') self.tab_widget_4 = Qt.QWidget() self.tab_layout_4 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.tab_widget_4) self.tab_grid_layout_4 = Qt.QGridLayout() self.tab_layout_4.addLayout(self.tab_grid_layout_4) self.tab.addTab(self.tab_widget_4, 'SI Channel') self.top_grid_layout.addWidget(self.tab, 0, 0, 1, 3) self._delay_tx2rx_range = Range(0, 100, 1, 50, 200) self._delay_tx2rx_win = RangeWidget(self._delay_tx2rx_range, self.set_delay_tx2rx, "delay_tx2rx", "counter_slider", int) self.top_grid_layout.addWidget(self._delay_tx2rx_win, 7, 0, 1, 3) def _variable_function_probe_0_2_probe(): while True: val = self.uhd_usrp_sink.set_time_now(uhd.time_spec_t(0.0)) try: self.set_variable_function_probe_0_2(val) except AttributeError: pass time.sleep(1.0 / (1e-9)) _variable_function_probe_0_2_thread = threading.Thread( target=_variable_function_probe_0_2_probe) _variable_function_probe_0_2_thread.daemon = True _variable_function_probe_0_2_thread.start() def _variable_function_probe_0_1_0_probe(): while True: val = self.uhd_usrp_source.set_time_now(uhd.time_spec_t(0.0)) try: self.set_variable_function_probe_0_1_0(val) except AttributeError: pass time.sleep(1.0 / (1e-9)) _variable_function_probe_0_1_0_thread = threading.Thread( target=_variable_function_probe_0_1_0_probe) _variable_function_probe_0_1_0_thread.daemon = True _variable_function_probe_0_1_0_thread.start() def _variable_function_probe_0_0_1_probe(): while True: val = self.uhd_usrp_sink.set_start_time(uhd.time_spec_t(1.0)) try: self.set_variable_function_probe_0_0_1(val) except AttributeError: pass time.sleep(1.0 / (1e-9)) _variable_function_probe_0_0_1_thread = threading.Thread( target=_variable_function_probe_0_0_1_probe) _variable_function_probe_0_0_1_thread.daemon = True _variable_function_probe_0_0_1_thread.start() def _variable_function_probe_0_0_0_0_probe(): while True: val = self.uhd_usrp_source.set_start_time(uhd.time_spec_t(1.0)) try: self.set_variable_function_probe_0_0_0_0(val) except AttributeError: pass time.sleep(1.0 / (1e-9)) _variable_function_probe_0_0_0_0_thread = threading.Thread( target=_variable_function_probe_0_0_0_0_probe) _variable_function_probe_0_0_0_0_thread.daemon = True _variable_function_probe_0_0_0_0_thread.start() self.sub20fde_fde_config_0 = sub20fde.fde_config(0, 0, '5647') self.qtgui_time_sink_x_1 = qtgui.time_sink_c( 21 * 1, #size samp_rate, #samp_rate "", #name 1 #number of inputs ) self.qtgui_time_sink_x_1.set_update_time(0.10) self.qtgui_time_sink_x_1.set_y_axis(-1, 1) self.qtgui_time_sink_x_1.set_y_label('Amplitude', "") self.qtgui_time_sink_x_1.enable_tags(-1, True) self.qtgui_time_sink_x_1.set_trigger_mode(qtgui.TRIG_MODE_TAG, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "packet_len") self.qtgui_time_sink_x_1.enable_autoscale(False) self.qtgui_time_sink_x_1.enable_grid(False) self.qtgui_time_sink_x_1.enable_axis_labels(True) self.qtgui_time_sink_x_1.enable_control_panel(True) if not True: self.qtgui_time_sink_x_1.disable_legend() labels = [ "Digital Canc. Tap - I", "Digital Canc. Tap - Q", '', '', '', '', '', '', '', '' ] widths = [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [0, 0, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(2): if len(labels[i]) == 0: if (i % 2 == 0): self.qtgui_time_sink_x_1.set_line_label( i, "Re{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_1.set_line_label( i, "Im{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_1.set_line_label(i, labels[i]) self.qtgui_time_sink_x_1.set_line_width(i, widths[i]) self.qtgui_time_sink_x_1.set_line_color(i, colors[i]) self.qtgui_time_sink_x_1.set_line_style(i, styles[i]) self.qtgui_time_sink_x_1.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_1.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_1_win = sip.wrapinstance( self.qtgui_time_sink_x_1.pyqwidget(), Qt.QWidget) self.tab_layout_2.addWidget(self._qtgui_time_sink_x_1_win) self.qtgui_time_sink_x_0_0_0_1 = qtgui.time_sink_c( 80, #size samp_rate, #samp_rate 'Scope Plot', #name 2 #number of inputs ) self.qtgui_time_sink_x_0_0_0_1.set_update_time(0.10) self.qtgui_time_sink_x_0_0_0_1.set_y_axis(-1, 1) self.qtgui_time_sink_x_0_0_0_1.set_y_label('Amplitude', "") self.qtgui_time_sink_x_0_0_0_1.enable_tags(-1, True) self.qtgui_time_sink_x_0_0_0_1.set_trigger_mode( qtgui.TRIG_MODE_TAG, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "packet_len") self.qtgui_time_sink_x_0_0_0_1.enable_autoscale(True) self.qtgui_time_sink_x_0_0_0_1.enable_grid(False) self.qtgui_time_sink_x_0_0_0_1.enable_axis_labels(True) self.qtgui_time_sink_x_0_0_0_1.enable_control_panel(True) if not True: self.qtgui_time_sink_x_0_0_0_1.disable_legend() labels = [ "SI after Circ. + RF Canc. - I", "SI after Circ. + RF Canc. - Q", "SI after Circ. + RF Canc. + Digital Canc. - I", "SI after Circ. + RF Canc. + Digital Canc. - Q", '', '', '', '', '', '' ] widths = [2, 2, 2, 2, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(4): if len(labels[i]) == 0: if (i % 2 == 0): self.qtgui_time_sink_x_0_0_0_1.set_line_label( i, "Re{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_0_0_0_1.set_line_label( i, "Im{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_0_0_0_1.set_line_label(i, labels[i]) self.qtgui_time_sink_x_0_0_0_1.set_line_width(i, widths[i]) self.qtgui_time_sink_x_0_0_0_1.set_line_color(i, colors[i]) self.qtgui_time_sink_x_0_0_0_1.set_line_style(i, styles[i]) self.qtgui_time_sink_x_0_0_0_1.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_0_0_0_1.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_0_0_0_1_win = sip.wrapinstance( self.qtgui_time_sink_x_0_0_0_1.pyqwidget(), Qt.QWidget) self.tab_layout_3.addWidget(self._qtgui_time_sink_x_0_0_0_1_win) self.qtgui_time_sink_x_0_0_0 = qtgui.time_sink_c( frame_len, #size samp_rate, #samp_rate 'Scope Plot', #name 2 #number of inputs ) self.qtgui_time_sink_x_0_0_0.set_update_time(0.10) self.qtgui_time_sink_x_0_0_0.set_y_axis(-1, 1) self.qtgui_time_sink_x_0_0_0.set_y_label('Amplitude', "") self.qtgui_time_sink_x_0_0_0.enable_tags(-1, True) self.qtgui_time_sink_x_0_0_0.set_trigger_mode(qtgui.TRIG_MODE_TAG, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "packet_len") self.qtgui_time_sink_x_0_0_0.enable_autoscale(True) self.qtgui_time_sink_x_0_0_0.enable_grid(False) self.qtgui_time_sink_x_0_0_0.enable_axis_labels(True) self.qtgui_time_sink_x_0_0_0.enable_control_panel(True) if not True: self.qtgui_time_sink_x_0_0_0.disable_legend() labels = [ "SI after Circ. + RF Canc. - I", "SI after Circ. + RF Canc. - Q", "SI after Circ. + RF Canc. + Digital Canc. - I", "SI after Circ. + RF Canc. + Digital Canc. - Q", '', '', '', '', '', '' ] widths = [2, 2, 2, 2, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(4): if len(labels[i]) == 0: if (i % 2 == 0): self.qtgui_time_sink_x_0_0_0.set_line_label( i, "Re{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_0_0_0.set_line_label( i, "Im{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_0_0_0.set_line_label(i, labels[i]) self.qtgui_time_sink_x_0_0_0.set_line_width(i, widths[i]) self.qtgui_time_sink_x_0_0_0.set_line_color(i, colors[i]) self.qtgui_time_sink_x_0_0_0.set_line_style(i, styles[i]) self.qtgui_time_sink_x_0_0_0.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_0_0_0.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_0_0_0_win = sip.wrapinstance( self.qtgui_time_sink_x_0_0_0.pyqwidget(), Qt.QWidget) self.tab_layout_0.addWidget(self._qtgui_time_sink_x_0_0_0_win) self.qtgui_time_sink_x_0 = qtgui.time_sink_f( 64, #size samp_rate, #samp_rate "", #name 1 #number of inputs ) self.qtgui_time_sink_x_0.set_update_time(0.10) self.qtgui_time_sink_x_0.set_y_axis(-1, 1) self.qtgui_time_sink_x_0.set_y_label('Amplitude', "") self.qtgui_time_sink_x_0.enable_tags(-1, True) self.qtgui_time_sink_x_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "") self.qtgui_time_sink_x_0.enable_autoscale(False) self.qtgui_time_sink_x_0.enable_grid(False) self.qtgui_time_sink_x_0.enable_axis_labels(True) self.qtgui_time_sink_x_0.enable_control_panel(True) if not True: self.qtgui_time_sink_x_0.disable_legend() labels = ['', '', '', '', '', '', '', '', '', ''] widths = [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(1): if len(labels[i]) == 0: self.qtgui_time_sink_x_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_time_sink_x_0.set_line_label(i, labels[i]) self.qtgui_time_sink_x_0.set_line_width(i, widths[i]) self.qtgui_time_sink_x_0.set_line_color(i, colors[i]) self.qtgui_time_sink_x_0.set_line_style(i, styles[i]) self.qtgui_time_sink_x_0.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_0.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_0_win = sip.wrapinstance( self.qtgui_time_sink_x_0.pyqwidget(), Qt.QWidget) self.tab_layout_4.addWidget(self._qtgui_time_sink_x_0_win) self.qtgui_freq_sink_x_1 = qtgui.freq_sink_c( 1024 * 3, #size firdes.WIN_BLACKMAN_hARRIS, #wintype 0, #fc samp_rate, #bw "", #name 2 #number of inputs ) self.qtgui_freq_sink_x_1.set_update_time(0.10) self.qtgui_freq_sink_x_1.set_y_axis(-120, 0) self.qtgui_freq_sink_x_1.set_y_label('Relative Gain', 'dB') self.qtgui_freq_sink_x_1.set_trigger_mode(qtgui.TRIG_MODE_FREE, 0.0, 0, "") self.qtgui_freq_sink_x_1.enable_autoscale(False) self.qtgui_freq_sink_x_1.enable_grid(False) self.qtgui_freq_sink_x_1.set_fft_average(1.0) self.qtgui_freq_sink_x_1.enable_axis_labels(True) self.qtgui_freq_sink_x_1.enable_control_panel(True) if not True: self.qtgui_freq_sink_x_1.disable_legend() if "complex" == "float" or "complex" == "msg_float": self.qtgui_freq_sink_x_1.set_plot_pos_half(not True) labels = [ "SI after Circ. + RF Canc.", "SI after Circ. + RF + Digital Canc.", '', '', '', '', '', '', '', '' ] widths = [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "dark blue" ] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(2): if len(labels[i]) == 0: self.qtgui_freq_sink_x_1.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_freq_sink_x_1.set_line_label(i, labels[i]) self.qtgui_freq_sink_x_1.set_line_width(i, widths[i]) self.qtgui_freq_sink_x_1.set_line_color(i, colors[i]) self.qtgui_freq_sink_x_1.set_line_alpha(i, alphas[i]) self._qtgui_freq_sink_x_1_win = sip.wrapinstance( self.qtgui_freq_sink_x_1.pyqwidget(), Qt.QWidget) self.tab_layout_1.addWidget(self._qtgui_freq_sink_x_1_win) self._qf_1_range = Range(0, 31, 1, 0, 200) self._qf_1_win = RangeWidget(self._qf_1_range, self.set_qf_1, "qf_1", "counter_slider", int) self.top_grid_layout.addWidget(self._qf_1_win, 3, 1, 1, 1) self._qf_0_range = Range(0, 31, 1, 0, 200) self._qf_0_win = RangeWidget(self._qf_0_range, self.set_qf_0, "qf_0", "counter_slider", int) self.top_grid_layout.addWidget(self._qf_0_win, 3, 0, 1, 1) self.fullduplex_parse_stream_sync_1 = fullduplex.parse_stream_sync( False, delay_tx2rx, pad_front_len, 320) (self.fullduplex_parse_stream_sync_1).set_min_output_buffer(96000) self.fullduplex_packet_encap2_0 = fullduplex.packet_encap2( False, False, 0.001, pad_front_len, pad_tail_len, 0) (self.fullduplex_packet_encap2_0).set_min_output_buffer(96000) self.fullduplex_digital_sic_0 = fullduplex.digital_sic( False, delay_tx2rx, pad_front_len, 0, frame_len, 10, 1) (self.fullduplex_digital_sic_0).set_min_output_buffer(96000) self.fft_vxx_0_0 = fft.fft_vcc(64, True, (window.blackmanharris(64)), True, 1) self.fft_vxx_0 = fft.fft_vcc(64, True, (window.blackmanharris(64)), True, 1) self.digital_ofdm_tx_0_0 = digital.ofdm_tx( fft_len=fft_len, cp_len=fft_len / 4, packet_length_tag_key=len_tag_key, occupied_carriers=occupied_carriers, pilot_carriers=pilot_carriers, pilot_symbols=pilot_symbols, sync_word1=sync_word1, sync_word2=sync_word2, bps_header=1, bps_payload=2, rolloff=0, debug_log=False, scramble_bits=False) self._dac_2_range = Range(0, 255, 1, 0, 200) self._dac_2_win = RangeWidget(self._dac_2_range, self.set_dac_2, "dac_2", "counter_slider", int) self.top_grid_layout.addWidget(self._dac_2_win, 5, 2, 1, 1) self._dac_1_range = Range(0, 255, 1, 0, 200) self._dac_1_win = RangeWidget(self._dac_1_range, self.set_dac_1, "dac_1", "counter_slider", int) self.top_grid_layout.addWidget(self._dac_1_win, 5, 1, 1, 1) self._dac_0_range = Range(0, 255, 1, 0, 200) self._dac_0_win = RangeWidget(self._dac_0_range, self.set_dac_0, "dac_0", "counter_slider", int) self.top_grid_layout.addWidget(self._dac_0_win, 5, 0, 1, 1) self._cf_1_range = Range(0, 15, 1, 0, 200) self._cf_1_win = RangeWidget(self._cf_1_range, self.set_cf_1, "cf_1", "counter_slider", int) self.top_grid_layout.addWidget(self._cf_1_win, 2, 1, 1, 1) self._cf_0_range = Range(0, 15, 1, 0, 200) self._cf_0_win = RangeWidget(self._cf_0_range, self.set_cf_0, "cf_0", "counter_slider", int) self.top_grid_layout.addWidget(self._cf_0_win, 2, 0, 1, 1) self._cap_2_range = Range(0, 15, 1, 0, 200) self._cap_2_win = RangeWidget(self._cap_2_range, self.set_cap_2, "cap_2", "counter_slider", int) self.top_grid_layout.addWidget(self._cap_2_win, 1, 2, 1, 1) self._cap_1_range = Range(0, 15, 1, 0, 200) self._cap_1_win = RangeWidget(self._cap_1_range, self.set_cap_1, "cap_1", "counter_slider", int) self.top_grid_layout.addWidget(self._cap_1_win, 1, 1, 1, 1) self._cap_0_range = Range(0, 15, 1, 0, 200) self._cap_0_win = RangeWidget(self._cap_0_range, self.set_cap_0, "cap_0", "counter_slider", int) self.top_grid_layout.addWidget(self._cap_0_win, 1, 0, 1, 1) self._canc_path_range = Range(0, 1, 1, 0, 200) self._canc_path_win = RangeWidget(self._canc_path_range, self.set_canc_path, "canc_path", "counter_slider", int) self.top_grid_layout.addWidget(self._canc_path_win, 6, 0, 1, 3) self.blocks_vector_to_stream_0_0 = blocks.vector_to_stream( gr.sizeof_gr_complex * 1, 64) self.blocks_vector_to_stream_0 = blocks.vector_to_stream( gr.sizeof_gr_complex * 1, 64) self.blocks_vector_source_x_0 = blocks.vector_source_b( range(50), True, 1, ()) self.blocks_stream_to_vector_0_0 = blocks.stream_to_vector( gr.sizeof_gr_complex * 1, 64) self.blocks_stream_to_vector_0 = blocks.stream_to_vector( gr.sizeof_gr_complex * 1, 64) self.blocks_stream_to_tagged_stream_1 = blocks.stream_to_tagged_stream( gr.sizeof_gr_complex, 1, frame_len + pad_front_len + pad_tail_len, "packet_len") (self.blocks_stream_to_tagged_stream_1).set_min_output_buffer(96000) self.blocks_stream_to_tagged_stream_0 = blocks.stream_to_tagged_stream( gr.sizeof_char, 1, packet_len, "packet_len") self.blocks_null_sink_0 = blocks.null_sink(gr.sizeof_float * 1) self.blocks_nlog10_ff_0 = blocks.nlog10_ff(20, 1, 0) self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vcc( (0.01 * 2.23 * 0.56 * 1.4 * 1.4, )) self.blocks_divide_xx_0 = blocks.divide_cc(1) self.blocks_complex_to_magphase_0 = blocks.complex_to_magphase(1) self._att_2_range = Range(0, 127, 1, 0, 200) self._att_2_win = RangeWidget(self._att_2_range, self.set_att_2, "att_2", "counter_slider", int) self.top_grid_layout.addWidget(self._att_2_win, 4, 2, 1, 1) self._att_1_range = Range(0, 127, 1, 0, 200) self._att_1_win = RangeWidget(self._att_1_range, self.set_att_1, "att_1", "counter_slider", int) self.top_grid_layout.addWidget(self._att_1_win, 4, 1, 1, 1) self._att_0_range = Range(0, 127, 1, 0, 200) self._att_0_win = RangeWidget(self._att_0_range, self.set_att_0, "att_0", "counter_slider", int) self.top_grid_layout.addWidget(self._att_0_win, 4, 0, 1, 1) ################################################## # Connections ################################################## self.connect((self.blocks_complex_to_magphase_0, 0), (self.blocks_nlog10_ff_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 1), (self.blocks_null_sink_0, 0)) self.connect((self.blocks_divide_xx_0, 0), (self.blocks_complex_to_magphase_0, 0)) self.connect((self.blocks_multiply_const_vxx_0, 0), (self.fullduplex_packet_encap2_0, 0)) self.connect((self.blocks_nlog10_ff_0, 0), (self.qtgui_time_sink_x_0, 0)) self.connect((self.blocks_stream_to_tagged_stream_0, 0), (self.digital_ofdm_tx_0_0, 0)) self.connect((self.blocks_stream_to_tagged_stream_1, 0), (self.fullduplex_digital_sic_0, 1)) self.connect((self.blocks_stream_to_tagged_stream_1, 0), (self.fullduplex_parse_stream_sync_1, 1)) self.connect((self.blocks_stream_to_vector_0, 0), (self.fft_vxx_0, 0)) self.connect((self.blocks_stream_to_vector_0_0, 0), (self.fft_vxx_0_0, 0)) self.connect((self.blocks_vector_source_x_0, 0), (self.blocks_stream_to_tagged_stream_0, 0)) self.connect((self.blocks_vector_to_stream_0, 0), (self.blocks_divide_xx_0, 1)) self.connect((self.blocks_vector_to_stream_0_0, 0), (self.blocks_divide_xx_0, 0)) self.connect((self.digital_ofdm_tx_0_0, 0), (self.blocks_multiply_const_vxx_0, 0)) self.connect((self.fft_vxx_0, 0), (self.blocks_vector_to_stream_0, 0)) self.connect((self.fft_vxx_0_0, 0), (self.blocks_vector_to_stream_0_0, 0)) self.connect((self.fullduplex_digital_sic_0, 0), (self.qtgui_freq_sink_x_1, 0)) self.connect((self.fullduplex_digital_sic_0, 1), (self.qtgui_freq_sink_x_1, 1)) self.connect((self.fullduplex_digital_sic_0, 0), (self.qtgui_time_sink_x_0_0_0, 0)) self.connect((self.fullduplex_digital_sic_0, 1), (self.qtgui_time_sink_x_0_0_0, 1)) self.connect((self.fullduplex_digital_sic_0, 2), (self.qtgui_time_sink_x_1, 0)) self.connect((self.fullduplex_packet_encap2_0, 0), (self.fullduplex_digital_sic_0, 0)) self.connect((self.fullduplex_packet_encap2_0, 0), (self.fullduplex_parse_stream_sync_1, 0)) self.connect((self.fullduplex_packet_encap2_0, 0), (self.uhd_usrp_sink, 0)) self.connect((self.fullduplex_parse_stream_sync_1, 0), (self.blocks_stream_to_vector_0, 0)) self.connect((self.fullduplex_parse_stream_sync_1, 1), (self.blocks_stream_to_vector_0_0, 0)) self.connect((self.fullduplex_parse_stream_sync_1, 0), (self.qtgui_time_sink_x_0_0_0_1, 0)) self.connect((self.fullduplex_parse_stream_sync_1, 1), (self.qtgui_time_sink_x_0_0_0_1, 1)) self.connect((self.uhd_usrp_source, 0), (self.blocks_stream_to_tagged_stream_1, 0))
def __init__(self): gr.top_block.__init__(self, "twodimension_simulation") Qt.QWidget.__init__(self) self.setWindowTitle("twodimension_simulation") qtgui.util.check_set_qss() try: self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) except: pass self.top_scroll_layout = Qt.QVBoxLayout() self.setLayout(self.top_scroll_layout) self.top_scroll = Qt.QScrollArea() self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) self.top_scroll_layout.addWidget(self.top_scroll) self.top_scroll.setWidgetResizable(True) self.top_widget = Qt.QWidget() self.top_scroll.setWidget(self.top_widget) self.top_layout = Qt.QVBoxLayout(self.top_widget) self.top_grid_layout = Qt.QGridLayout() self.top_layout.addLayout(self.top_grid_layout) self.settings = Qt.QSettings("GNU Radio", "twodimension_simulation") try: if StrictVersion(Qt.qVersion()) < StrictVersion("5.0.0"): self.restoreGeometry( self.settings.value("geometry").toByteArray()) else: self.restoreGeometry(self.settings.value("geometry")) except: pass ################################################## # Variables ################################################## self.maxtheta = maxtheta = 120 self.columns = columns = 100 self.shiftarrL = shiftarrL = np.radians( np.linspace(start=maxtheta, stop=0, num=int(columns / 2), endpoint=False)) self.left = left = np.pad(shiftarrL, (0, int(columns / 2)), 'constant') self.right = right = np.flip(left, axis=0) self.degreesTXT = degreesTXT = 0 self.degreesTXR = degreesTXR = 0 self.degreesTXL = degreesTXL = 0 self.degreesTXB = degreesTXB = 0 self.variable_qtgui_label_0_0 = variable_qtgui_label_0_0 = left self.variable_qtgui_label_0 = variable_qtgui_label_0 = right self.scale = scale = 15 self.samp_rate = samp_rate = 32000 self.keep = keep = 32 self.displayscale = displayscale = 8 self.angle_radiansStartT = angle_radiansStartT = (math.pi / 180) * degreesTXT self.angle_radiansStartR = angle_radiansStartR = (math.pi / 180) * degreesTXR self.angle_radiansStartL = angle_radiansStartL = (math.pi / 180) * degreesTXL self.angle_radiansStartB = angle_radiansStartB = (math.pi / 180) * degreesTXB ################################################## # Blocks ################################################## self.tab = Qt.QTabWidget() self.tab_widget_0 = Qt.QWidget() self.tab_layout_0 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.tab_widget_0) self.tab_grid_layout_0 = Qt.QGridLayout() self.tab_layout_0.addLayout(self.tab_grid_layout_0) self.tab.addTab(self.tab_widget_0, 'Time rasters') self.tab_widget_1 = Qt.QWidget() self.tab_layout_1 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.tab_widget_1) self.tab_grid_layout_1 = Qt.QGridLayout() self.tab_layout_1.addLayout(self.tab_grid_layout_1) self.tab.addTab(self.tab_widget_1, 'Steering vectors') self.top_grid_layout.addWidget(self.tab) self._scale_range = Range(0, 100, 5, 15, 200) self._scale_win = RangeWidget(self._scale_range, self.set_scale, 'scale', "counter_slider", float) self.top_grid_layout.addWidget(self._scale_win) self.video_sdl_sink_1_1_0 = video_sdl.sink_s(0, columns, columns, 0, columns * displayscale, columns * displayscale) self._variable_qtgui_label_0_0_tool_bar = Qt.QToolBar(self) if None: self._variable_qtgui_label_0_0_formatter = None else: self._variable_qtgui_label_0_0_formatter = lambda x: repr(x) self._variable_qtgui_label_0_0_tool_bar.addWidget( Qt.QLabel('Left' + ": ")) self._variable_qtgui_label_0_0_label = Qt.QLabel( str( self._variable_qtgui_label_0_0_formatter( self.variable_qtgui_label_0_0))) self._variable_qtgui_label_0_0_tool_bar.addWidget( self._variable_qtgui_label_0_0_label) self.tab_layout_1.addWidget(self._variable_qtgui_label_0_0_tool_bar) self._variable_qtgui_label_0_tool_bar = Qt.QToolBar(self) if None: self._variable_qtgui_label_0_formatter = None else: self._variable_qtgui_label_0_formatter = lambda x: repr(x) self._variable_qtgui_label_0_tool_bar.addWidget( Qt.QLabel('Right' + ": ")) self._variable_qtgui_label_0_label = Qt.QLabel( str( self._variable_qtgui_label_0_formatter( self.variable_qtgui_label_0))) self._variable_qtgui_label_0_tool_bar.addWidget( self._variable_qtgui_label_0_label) self.tab_layout_1.addWidget(self._variable_qtgui_label_0_tool_bar) self.qtgui_time_raster_sink_x_0_0 = qtgui.time_raster_sink_f( samp_rate / keep, columns, columns, [], [], "Elevation", 1) self.qtgui_time_raster_sink_x_0_0.set_update_time(0.01) self.qtgui_time_raster_sink_x_0_0.set_intensity_range(0, 5) self.qtgui_time_raster_sink_x_0_0.enable_grid(False) self.qtgui_time_raster_sink_x_0_0.enable_axis_labels(True) labels = ['', '', '', '', '', '', '', '', '', ''] colors = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in range(1): if len(labels[i]) == 0: self.qtgui_time_raster_sink_x_0_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_time_raster_sink_x_0_0.set_line_label(i, labels[i]) self.qtgui_time_raster_sink_x_0_0.set_color_map(i, colors[i]) self.qtgui_time_raster_sink_x_0_0.set_line_alpha(i, alphas[i]) self._qtgui_time_raster_sink_x_0_0_win = sip.wrapinstance( self.qtgui_time_raster_sink_x_0_0.pyqwidget(), Qt.QWidget) self.tab_layout_0.addWidget(self._qtgui_time_raster_sink_x_0_0_win) self.qtgui_time_raster_sink_x_0 = qtgui.time_raster_sink_f( samp_rate / keep, columns, columns, [], [], "Azimuth", 1) self.qtgui_time_raster_sink_x_0.set_update_time(0.01) self.qtgui_time_raster_sink_x_0.set_intensity_range(0, 5) self.qtgui_time_raster_sink_x_0.enable_grid(False) self.qtgui_time_raster_sink_x_0.enable_axis_labels(True) labels = ['', '', '', '', '', '', '', '', '', ''] colors = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in range(1): if len(labels[i]) == 0: self.qtgui_time_raster_sink_x_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_time_raster_sink_x_0.set_line_label(i, labels[i]) self.qtgui_time_raster_sink_x_0.set_color_map(i, colors[i]) self.qtgui_time_raster_sink_x_0.set_line_alpha(i, alphas[i]) self._qtgui_time_raster_sink_x_0_win = sip.wrapinstance( self.qtgui_time_raster_sink_x_0.pyqwidget(), Qt.QWidget) self.tab_layout_0.addWidget(self._qtgui_time_raster_sink_x_0_win) self._degreesTXT_range = Range(0, maxtheta, 5, 0, 200) self._degreesTXT_win = RangeWidget(self._degreesTXT_range, self.set_degreesTXT, 'degreesTXT', "counter_slider", float) self.top_grid_layout.addWidget(self._degreesTXT_win) self._degreesTXR_range = Range(0, maxtheta, 5, 0, 200) self._degreesTXR_win = RangeWidget(self._degreesTXR_range, self.set_degreesTXR, 'degreesTXR', "counter_slider", float) self.top_grid_layout.addWidget(self._degreesTXR_win) self._degreesTXL_range = Range(0, maxtheta, 5, 0, 200) self._degreesTXL_win = RangeWidget(self._degreesTXL_range, self.set_degreesTXL, 'degreesTXL', "counter_slider", float) self.top_grid_layout.addWidget(self._degreesTXL_win) self._degreesTXB_range = Range(0, maxtheta, 5, 0, 200) self._degreesTXB_win = RangeWidget(self._degreesTXB_range, self.set_degreesTXB, 'degreesTXB', "counter_slider", float) self.top_grid_layout.addWidget(self._degreesTXB_win) self.blocks_vector_to_stream_0 = blocks.vector_to_stream( gr.sizeof_gr_complex * 1, columns) self.blocks_vector_source_x_0_0_0_1 = blocks.vector_source_f( left, True, 1, []) self.blocks_vector_source_x_0_0_0_0_0 = blocks.vector_source_f( right, True, 1, []) self.blocks_vector_source_x_0_0_0_0 = blocks.vector_source_f( right, True, 1, []) self.blocks_vector_source_x_0_0_0 = blocks.vector_source_f( left, True, 1, []) self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex * 1, samp_rate, True) self.blocks_sub_xx_0_0_1 = blocks.sub_ff(1) self.blocks_sub_xx_0_0_0_0 = blocks.sub_ff(1) self.blocks_sub_xx_0_0_0 = blocks.sub_ff(1) self.blocks_sub_xx_0_0 = blocks.sub_ff(1) self.blocks_stream_to_vector_0 = blocks.stream_to_vector( gr.sizeof_gr_complex * 1, columns) self.blocks_repeat_0_0_0_0_2 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_1_0 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_1 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_0_1_0 = blocks.repeat( gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_0_1 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_0_0 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_0 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0 = blocks.repeat(gr.sizeof_gr_complex * columns, columns) self.blocks_repeat_0 = blocks.repeat(gr.sizeof_gr_complex * 1, columns) self.blocks_multiply_const_vxx_0_0_1_0 = blocks.multiply_const_cc( complex(math.cos(angle_radiansStartT), math.sin(angle_radiansStartT))) self.blocks_multiply_const_vxx_0_0_1 = blocks.multiply_const_cc( complex(math.cos(angle_radiansStartR), math.sin(angle_radiansStartR))) self.blocks_multiply_const_vxx_0_0_0_0_0 = blocks.multiply_const_cc( complex(math.cos(angle_radiansStartB), math.sin(angle_radiansStartB))) self.blocks_multiply_const_vxx_0_0_0_0 = blocks.multiply_const_cc( complex(math.cos(angle_radiansStartL), math.sin(angle_radiansStartL))) self.blocks_magphase_to_complex_0_0_0_0_1 = blocks.magphase_to_complex( 1) self.blocks_magphase_to_complex_0_0_0_0_0_0 = blocks.magphase_to_complex( 1) self.blocks_magphase_to_complex_0_0_0_0_0 = blocks.magphase_to_complex( 1) self.blocks_magphase_to_complex_0_0_0_0 = blocks.magphase_to_complex(1) self.blocks_keep_one_in_n_0_2 = blocks.keep_one_in_n( gr.sizeof_gr_complex * 1, keep) self.blocks_keep_one_in_n_0_1 = blocks.keep_one_in_n( gr.sizeof_gr_complex * 1, keep) self.blocks_keep_one_in_n_0_0 = blocks.keep_one_in_n( gr.sizeof_gr_complex * 1, keep) self.blocks_keep_one_in_n_0 = blocks.keep_one_in_n( gr.sizeof_gr_complex * 1, keep) self.blocks_float_to_short_0_1_0 = blocks.float_to_short(1, scale) self.blocks_complex_to_magphase_0_0_0_1 = blocks.complex_to_magphase(1) self.blocks_complex_to_magphase_0_0_0_0_0 = blocks.complex_to_magphase( 1) self.blocks_complex_to_magphase_0_0_0_0 = blocks.complex_to_magphase(1) self.blocks_complex_to_magphase_0_0_0 = blocks.complex_to_magphase(1) self.blocks_complex_to_mag_squared_0_1_0 = blocks.complex_to_mag_squared( 1) self.blocks_complex_to_mag_squared_0_0 = blocks.complex_to_mag_squared( 1) self.blocks_complex_to_mag_squared_0 = blocks.complex_to_mag_squared(1) self.blocks_add_xx_1 = blocks.add_vcc(1) self.blocks_add_xx_0_0 = blocks.add_vcc(1) self.blocks_add_xx_0 = blocks.add_vcc(1) self.analog_sig_source_x_0_0 = analog.sig_source_c( samp_rate, analog.GR_COS_WAVE, 400, 1, 0, 0) ################################################## # Connections ################################################## self.connect((self.analog_sig_source_x_0_0, 0), (self.blocks_throttle_0, 0)) self.connect((self.blocks_add_xx_0, 0), (self.blocks_complex_to_mag_squared_0, 0)) self.connect((self.blocks_add_xx_0, 0), (self.blocks_stream_to_vector_0, 0)) self.connect((self.blocks_add_xx_0_0, 0), (self.blocks_complex_to_mag_squared_0_0, 0)) self.connect((self.blocks_add_xx_0_0, 0), (self.blocks_repeat_0, 0)) self.connect((self.blocks_add_xx_1, 0), (self.blocks_complex_to_mag_squared_0_1_0, 0)) self.connect((self.blocks_complex_to_mag_squared_0, 0), (self.qtgui_time_raster_sink_x_0, 0)) self.connect((self.blocks_complex_to_mag_squared_0_0, 0), (self.qtgui_time_raster_sink_x_0_0, 0)) self.connect((self.blocks_complex_to_mag_squared_0_1_0, 0), (self.blocks_float_to_short_0_1_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0, 0), (self.blocks_repeat_0_0_0_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0, 1), (self.blocks_repeat_0_0_0_0_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0, 1), (self.blocks_repeat_0_0_0_0_0_1, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0, 0), (self.blocks_repeat_0_0_0_0_1, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0_0, 1), (self.blocks_repeat_0_0_0_0_0_1_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0_0, 0), (self.blocks_repeat_0_0_0_0_1_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_1, 1), (self.blocks_repeat_0_0_0_0_0_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_1, 0), (self.blocks_repeat_0_0_0_0_2, 0)) self.connect((self.blocks_float_to_short_0_1_0, 0), (self.video_sdl_sink_1_1_0, 0)) self.connect((self.blocks_keep_one_in_n_0, 0), (self.blocks_multiply_const_vxx_0_0_1, 0)) self.connect((self.blocks_keep_one_in_n_0_0, 0), (self.blocks_multiply_const_vxx_0_0_0_0, 0)) self.connect((self.blocks_keep_one_in_n_0_1, 0), (self.blocks_multiply_const_vxx_0_0_1_0, 0)) self.connect((self.blocks_keep_one_in_n_0_2, 0), (self.blocks_multiply_const_vxx_0_0_0_0_0, 0)) self.connect((self.blocks_magphase_to_complex_0_0_0_0, 0), (self.blocks_add_xx_0, 0)) self.connect((self.blocks_magphase_to_complex_0_0_0_0_0, 0), (self.blocks_add_xx_0, 1)) self.connect((self.blocks_magphase_to_complex_0_0_0_0_0_0, 0), (self.blocks_add_xx_0_0, 1)) self.connect((self.blocks_magphase_to_complex_0_0_0_0_1, 0), (self.blocks_add_xx_0_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_0_0_0, 0), (self.blocks_complex_to_magphase_0_0_0_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_0_0_0_0, 0), (self.blocks_complex_to_magphase_0_0_0_0_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_0_1, 0), (self.blocks_complex_to_magphase_0_0_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_0_1_0, 0), (self.blocks_complex_to_magphase_0_0_0_1, 0)) self.connect((self.blocks_repeat_0, 0), (self.blocks_add_xx_1, 1)) self.connect((self.blocks_repeat_0_0, 0), (self.blocks_vector_to_stream_0, 0)) self.connect((self.blocks_repeat_0_0_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_0, 0), (self.blocks_sub_xx_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_0_0, 0), (self.blocks_sub_xx_0_0_1, 0)) self.connect((self.blocks_repeat_0_0_0_0_0_1, 0), (self.blocks_sub_xx_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_0_1_0, 0), (self.blocks_sub_xx_0_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_1, 0), (self.blocks_magphase_to_complex_0_0_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_1_0, 0), (self.blocks_magphase_to_complex_0_0_0_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_2, 0), (self.blocks_magphase_to_complex_0_0_0_0_1, 0)) self.connect((self.blocks_stream_to_vector_0, 0), (self.blocks_repeat_0_0, 0)) self.connect((self.blocks_sub_xx_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0, 1)) self.connect((self.blocks_sub_xx_0_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0_0, 1)) self.connect((self.blocks_sub_xx_0_0_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0_0_0, 1)) self.connect((self.blocks_sub_xx_0_0_1, 0), (self.blocks_magphase_to_complex_0_0_0_0_1, 1)) self.connect((self.blocks_throttle_0, 0), (self.blocks_keep_one_in_n_0, 0)) self.connect((self.blocks_throttle_0, 0), (self.blocks_keep_one_in_n_0_0, 0)) self.connect((self.blocks_throttle_0, 0), (self.blocks_keep_one_in_n_0_1, 0)) self.connect((self.blocks_throttle_0, 0), (self.blocks_keep_one_in_n_0_2, 0)) self.connect((self.blocks_vector_source_x_0_0_0, 0), (self.blocks_sub_xx_0_0, 1)) self.connect((self.blocks_vector_source_x_0_0_0_0, 0), (self.blocks_sub_xx_0_0_0, 1)) self.connect((self.blocks_vector_source_x_0_0_0_0_0, 0), (self.blocks_sub_xx_0_0_0_0, 1)) self.connect((self.blocks_vector_source_x_0_0_0_1, 0), (self.blocks_sub_xx_0_0_1, 1)) self.connect((self.blocks_vector_to_stream_0, 0), (self.blocks_add_xx_1, 0))
def __init__(self, options, filename): gr.top_block.__init__(self, "Top Block") ################################################## # Blocks ################################################## self.dc_blocker_xx_0_0 = filter.dc_blocker_cc(32, True) self.dc_blocker_xx_0 = filter.dc_blocker_cc(32, True) self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex * 1, 20000000, True) self.blocks_skiphead_0 = blocks.skiphead(gr.sizeof_gr_complex * 1, options.skip) self.blocks_null_sink_0 = blocks.null_sink(gr.sizeof_float * 1) self.blocks_magphase_to_complex_0 = blocks.magphase_to_complex(1) self.blocks_head_0 = blocks.head(gr.sizeof_gr_complex * 1, options.maxsamp) self.blocks_file_source_0_0 = blocks.file_source( gr.sizeof_gr_complex * 1, filename[0], True) self.blocks_file_source_0 = blocks.file_source( gr.sizeof_gr_complex * 1, filename[1], True) self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_gr_complex * 1, filename[2], False) self.blocks_file_sink_0.set_unbuffered(False) self.blocks_complex_to_magphase_0 = blocks.complex_to_magphase(1) self.blocks_add_xx_0 = blocks.add_vcc(1) #self.analog_const_source_x_0 = analog.sig_source_f(0, analog.GR_CONST_WAVE, 0, 0, 1) self.blocks_complex_to_mag_0 = blocks.complex_to_mag(1) self.blocks_threshold_ff_0 = blocks.threshold_ff(0.01, 0.04, 0) ################################################## # Connections ################################################## self.connect((self.blocks_file_source_0, 0), (self.dc_blocker_xx_0, 0)) self.connect((self.blocks_file_source_0_0, 0), (self.dc_blocker_xx_0_0, 0)) self.connect((self.dc_blocker_xx_0, 0), (self.blocks_add_xx_0, 0)) self.connect((self.dc_blocker_xx_0_0, 0), (self.blocks_add_xx_0, 1)) self.connect((self.blocks_add_xx_0, 0), (self.blocks_throttle_0, 0)) self.connect((self.blocks_throttle_0, 0), (self.blocks_skiphead_0, 0)) self.connect((self.blocks_skiphead_0, 0), (self.blocks_head_0, 0)) self.connect((self.blocks_head_0, 0), (self.blocks_complex_to_magphase_0, 0)) # tap for power analysis self.connect((self.blocks_head_0, 0), (self.blocks_complex_to_mag_0, 0)) self.connect((self.blocks_complex_to_mag_0, 0), (self.blocks_threshold_ff_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 1), (self.blocks_magphase_to_complex_0, 1)) self.connect((self.blocks_complex_to_magphase_0, 0), (self.blocks_null_sink_0, 0)) #self.connect((self.analog_const_source_x_0, 0), (self.blocks_magphase_to_complex_0, 0)) self.connect((self.blocks_threshold_ff_0, 0), (self.blocks_magphase_to_complex_0, 0)) # in case you want to just add #self.connect((self.blocks_complex_to_magphase_0, 0), (self.blocks_magphase_to_complex_0, 0)) self.connect((self.blocks_magphase_to_complex_0, 0), (self.blocks_file_sink_0, 0))
def __init__(self): gr.top_block.__init__(self, "Top Block Iq2") Qt.QWidget.__init__(self) self.setWindowTitle("Top Block Iq2") qtgui.util.check_set_qss() try: self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) except: pass self.top_scroll_layout = Qt.QVBoxLayout() self.setLayout(self.top_scroll_layout) self.top_scroll = Qt.QScrollArea() self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) self.top_scroll_layout.addWidget(self.top_scroll) self.top_scroll.setWidgetResizable(True) self.top_widget = Qt.QWidget() self.top_scroll.setWidget(self.top_widget) self.top_layout = Qt.QVBoxLayout(self.top_widget) self.top_grid_layout = Qt.QGridLayout() self.top_layout.addLayout(self.top_grid_layout) self.settings = Qt.QSettings("GNU Radio", "top_block_iq2") self.restoreGeometry(self.settings.value("geometry").toByteArray()) ################################################## # Variables ################################################## self.txgain = txgain = 65 self.samp_rate = samp_rate = 32000 self.rxgain = rxgain = 100 self.button = button = 0 ################################################## # Blocks ################################################## self._txgain_range = Range(0, 100, 1, 65, 200) self._txgain_win = RangeWidget(self._txgain_range, self.set_txgain, "txgain", "counter_slider", float) self.top_grid_layout.addWidget(self._txgain_win) self._rxgain_range = Range(0, 100, 1, 100, 200) self._rxgain_win = RangeWidget(self._rxgain_range, self.set_rxgain, "rxgain", "counter_slider", float) self.top_grid_layout.addWidget(self._rxgain_win) self.uhd_usrp_source_0 = uhd.usrp_source( ",".join(("", "")), 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(5e9, 0) self.uhd_usrp_source_0.set_gain(rxgain, 0) self.uhd_usrp_sink_0 = uhd.usrp_sink( ",".join(("", "")), 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(5e9, 0) self.uhd_usrp_sink_0.set_gain(txgain, 0) self.qtgui_time_sink_x_0 = qtgui.time_sink_f( 1024, #size samp_rate, #samp_rate "", #name 2 #number of inputs ) self.qtgui_time_sink_x_0.set_update_time(0.10) self.qtgui_time_sink_x_0.set_y_axis(-5, 5) self.qtgui_time_sink_x_0.set_y_label('Magnitude & Phase', "") self.qtgui_time_sink_x_0.enable_tags(-1, True) self.qtgui_time_sink_x_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "") self.qtgui_time_sink_x_0.enable_autoscale(False) self.qtgui_time_sink_x_0.enable_grid(False) self.qtgui_time_sink_x_0.enable_axis_labels(True) self.qtgui_time_sink_x_0.enable_control_panel(False) self.qtgui_time_sink_x_0.enable_stem_plot(False) if not True: self.qtgui_time_sink_x_0.disable_legend() labels = ['Magnitude', 'Phase', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(2): if len(labels[i]) == 0: self.qtgui_time_sink_x_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_time_sink_x_0.set_line_label(i, labels[i]) self.qtgui_time_sink_x_0.set_line_width(i, widths[i]) self.qtgui_time_sink_x_0.set_line_color(i, colors[i]) self.qtgui_time_sink_x_0.set_line_style(i, styles[i]) self.qtgui_time_sink_x_0.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_0.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_0_win = sip.wrapinstance( self.qtgui_time_sink_x_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_time_sink_x_0_win) self.qtgui_freq_sink_x_0 = qtgui.freq_sink_c( 1024, #size firdes.WIN_BLACKMAN_hARRIS, #wintype 0, #fc samp_rate, #bw "", #name 1 #number of inputs ) self.qtgui_freq_sink_x_0.set_update_time(0.10) self.qtgui_freq_sink_x_0.set_y_axis(-140, 10) self.qtgui_freq_sink_x_0.set_y_label('Relative Gain', 'dB') self.qtgui_freq_sink_x_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, 0.0, 0, "") self.qtgui_freq_sink_x_0.enable_autoscale(False) self.qtgui_freq_sink_x_0.enable_grid(False) self.qtgui_freq_sink_x_0.set_fft_average(1.0) self.qtgui_freq_sink_x_0.enable_axis_labels(True) self.qtgui_freq_sink_x_0.enable_control_panel(False) if not True: self.qtgui_freq_sink_x_0.disable_legend() if "complex" == "float" or "complex" == "msg_float": self.qtgui_freq_sink_x_0.set_plot_pos_half(not True) labels = ['', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "dark blue" ] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(1): if len(labels[i]) == 0: self.qtgui_freq_sink_x_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_freq_sink_x_0.set_line_label(i, labels[i]) self.qtgui_freq_sink_x_0.set_line_width(i, widths[i]) self.qtgui_freq_sink_x_0.set_line_color(i, colors[i]) self.qtgui_freq_sink_x_0.set_line_alpha(i, alphas[i]) self._qtgui_freq_sink_x_0_win = sip.wrapinstance( self.qtgui_freq_sink_x_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_freq_sink_x_0_win) _button_push_button = Qt.QPushButton("button") self._button_choices = {'Pressed': 1, 'Released': 0} _button_push_button.pressed.connect( lambda: self.set_button(self._button_choices['Pressed'])) _button_push_button.released.connect( lambda: self.set_button(self._button_choices['Released'])) self.top_grid_layout.addWidget(_button_push_button) self.blocks_moving_average_xx_0 = blocks.moving_average_cc( 1000, 1, 4000, 1) self.blocks_complex_to_magphase_0 = blocks.complex_to_magphase(1) self.analog_sig_source_x_0 = analog.sig_source_c( samp_rate, analog.GR_CONST_WAVE, 1, 1, 0) ################################################## # Connections ################################################## self.connect((self.analog_sig_source_x_0, 0), (self.uhd_usrp_sink_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 0), (self.qtgui_time_sink_x_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 1), (self.qtgui_time_sink_x_0, 1)) self.connect((self.blocks_moving_average_xx_0, 0), (self.blocks_complex_to_magphase_0, 0)) self.connect((self.uhd_usrp_source_0, 0), (self.blocks_moving_average_xx_0, 0)) self.connect((self.uhd_usrp_source_0, 0), (self.qtgui_freq_sink_x_0, 0))
def __init__(self): gr.top_block.__init__( self, "X310 Phase Calibration, Start Time [UTC]: 2020-08-07T03:06:19.775945Z" ) Qt.QWidget.__init__(self) self.setWindowTitle( "X310 Phase Calibration, Start Time [UTC]: 2020-08-07T03:06:19.775945Z" ) qtgui.util.check_set_qss() try: self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) except: pass self.top_scroll_layout = Qt.QVBoxLayout() self.setLayout(self.top_scroll_layout) self.top_scroll = Qt.QScrollArea() self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) self.top_scroll_layout.addWidget(self.top_scroll) self.top_scroll.setWidgetResizable(True) self.top_widget = Qt.QWidget() self.top_scroll.setWidget(self.top_widget) self.top_layout = Qt.QVBoxLayout(self.top_widget) self.top_grid_layout = Qt.QGridLayout() self.top_layout.addLayout(self.top_grid_layout) self.settings = Qt.QSettings("GNU Radio", "x310_phase_cal") self.restoreGeometry(self.settings.value("geometry").toByteArray()) ################################################## # Variables ################################################## self.ts_str = ts_str = dt.strftime(dt.utcnow(), "%Y-%m-%dT%H:%M:%S.%fZ") self.phase_deg = phase_deg = 0 self.title_str = title_str = "X310 Phase Calibration, Start Time [UTC]: {:s}".format( ts_str) self.samp_rate = samp_rate = .5e6 self.rx_freq = rx_freq = 10e6 self.phase_rad = phase_rad = phase_deg * math.pi / 180.0 self.decim = decim = 10 ################################################## # Blocks ################################################## self._samp_rate_tool_bar = Qt.QToolBar(self) self._samp_rate_tool_bar.addWidget(Qt.QLabel('SAMP_RATE' + ": ")) self._samp_rate_line_edit = Qt.QLineEdit(str(self.samp_rate)) self._samp_rate_tool_bar.addWidget(self._samp_rate_line_edit) self._samp_rate_line_edit.returnPressed.connect( lambda: self.set_samp_rate( eng_notation.str_to_num( str(self._samp_rate_line_edit.text().toAscii())))) self.top_grid_layout.addWidget(self._samp_rate_tool_bar, 4, 0, 1, 1) for r in range(4, 5): self.top_grid_layout.setRowStretch(r, 1) for c in range(0, 1): self.top_grid_layout.setColumnStretch(c, 1) self._rx_freq_tool_bar = Qt.QToolBar(self) self._rx_freq_tool_bar.addWidget(Qt.QLabel('FREQ' + ": ")) self._rx_freq_line_edit = Qt.QLineEdit(str(self.rx_freq)) self._rx_freq_tool_bar.addWidget(self._rx_freq_line_edit) self._rx_freq_line_edit.returnPressed.connect(lambda: self.set_rx_freq( eng_notation.str_to_num( str(self._rx_freq_line_edit.text().toAscii())))) self.top_grid_layout.addWidget(self._rx_freq_tool_bar, 4, 1, 1, 1) for r in range(4, 5): self.top_grid_layout.setRowStretch(r, 1) for c in range(1, 2): self.top_grid_layout.setColumnStretch(c, 1) self.uhd_usrp_source_1 = uhd.usrp_source( ",".join(("addr=192.168.10.2", "")), uhd.stream_args( cpu_format="fc32", channels=range(2), ), ) self.uhd_usrp_source_1.set_clock_source('internal', 0) self.uhd_usrp_source_1.set_time_source('gpsdo', 0) self.uhd_usrp_source_1.set_subdev_spec('A:AB B:AB', 0) self.uhd_usrp_source_1.set_samp_rate(samp_rate) self.uhd_usrp_source_1.set_time_now(uhd.time_spec(time.time()), uhd.ALL_MBOARDS) self.uhd_usrp_source_1.set_center_freq(uhd.tune_request(rx_freq), 0) self.uhd_usrp_source_1.set_gain(0, 0) self.uhd_usrp_source_1.set_antenna('A', 0) self.uhd_usrp_source_1.set_auto_dc_offset(True, 0) self.uhd_usrp_source_1.set_auto_iq_balance(True, 0) self.uhd_usrp_source_1.set_center_freq(uhd.tune_request(rx_freq), 1) self.uhd_usrp_source_1.set_gain(0, 1) self.uhd_usrp_source_1.set_antenna('A', 1) self.uhd_usrp_source_1.set_auto_dc_offset(True, 1) self.uhd_usrp_source_1.set_auto_iq_balance(True, 1) self.rational_resampler_xxx_0_0 = filter.rational_resampler_ccc( interpolation=1, decimation=decim, taps=None, fractional_bw=None, ) self.rational_resampler_xxx_0 = filter.rational_resampler_ccc( interpolation=1, decimation=decim, taps=None, fractional_bw=None, ) self.qtgui_time_sink_x_0_0 = qtgui.time_sink_f( 8192, #size samp_rate / decim, #samp_rate "", #name 2 #number of inputs ) self.qtgui_time_sink_x_0_0.set_update_time(0.010) self.qtgui_time_sink_x_0_0.set_y_axis(-1, 1) self.qtgui_time_sink_x_0_0.set_y_label('Amplitude', "") self.qtgui_time_sink_x_0_0.enable_tags(-1, True) self.qtgui_time_sink_x_0_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "") self.qtgui_time_sink_x_0_0.enable_autoscale(True) self.qtgui_time_sink_x_0_0.enable_grid(True) self.qtgui_time_sink_x_0_0.enable_axis_labels(True) self.qtgui_time_sink_x_0_0.enable_control_panel(False) self.qtgui_time_sink_x_0_0.enable_stem_plot(False) if not True: self.qtgui_time_sink_x_0_0.disable_legend() labels = ['N/S', 'E/W', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(2): if len(labels[i]) == 0: self.qtgui_time_sink_x_0_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_time_sink_x_0_0.set_line_label(i, labels[i]) self.qtgui_time_sink_x_0_0.set_line_width(i, widths[i]) self.qtgui_time_sink_x_0_0.set_line_color(i, colors[i]) self.qtgui_time_sink_x_0_0.set_line_style(i, styles[i]) self.qtgui_time_sink_x_0_0.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_0_0.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_0_0_win = sip.wrapinstance( self.qtgui_time_sink_x_0_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_time_sink_x_0_0_win, 9, 0, 1, 6) for r in range(9, 10): self.top_grid_layout.setRowStretch(r, 1) for c in range(0, 6): self.top_grid_layout.setColumnStretch(c, 1) self.qtgui_number_sink_0 = qtgui.number_sink(gr.sizeof_float, 0, qtgui.NUM_GRAPH_NONE, 1) self.qtgui_number_sink_0.set_update_time(0.10) self.qtgui_number_sink_0.set_title("") labels = ['', '', '', '', '', '', '', '', '', ''] units = ['', '', '', '', '', '', '', '', '', ''] colors = [("black", "black"), ("black", "black"), ("black", "black"), ("black", "black"), ("black", "black"), ("black", "black"), ("black", "black"), ("black", "black"), ("black", "black"), ("black", "black")] factor = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] for i in xrange(1): self.qtgui_number_sink_0.set_min(i, -360) self.qtgui_number_sink_0.set_max(i, 360) self.qtgui_number_sink_0.set_color(i, colors[i][0], colors[i][1]) if len(labels[i]) == 0: self.qtgui_number_sink_0.set_label(i, "Data {0}".format(i)) else: self.qtgui_number_sink_0.set_label(i, labels[i]) self.qtgui_number_sink_0.set_unit(i, units[i]) self.qtgui_number_sink_0.set_factor(i, factor[i]) self.qtgui_number_sink_0.enable_autoscale(False) self._qtgui_number_sink_0_win = sip.wrapinstance( self.qtgui_number_sink_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_number_sink_0_win) self.qtgui_freq_sink_x_0_0 = qtgui.freq_sink_c( 2048, #size firdes.WIN_BLACKMAN_hARRIS, #wintype rx_freq * 0, #fc samp_rate / decim, #bw "East/West", #name 1 #number of inputs ) self.qtgui_freq_sink_x_0_0.set_update_time(0.010) self.qtgui_freq_sink_x_0_0.set_y_axis(-140, 0) self.qtgui_freq_sink_x_0_0.set_y_label('Relative Gain', 'dB') self.qtgui_freq_sink_x_0_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, 0.0, 0, "") self.qtgui_freq_sink_x_0_0.enable_autoscale(False) self.qtgui_freq_sink_x_0_0.enable_grid(True) self.qtgui_freq_sink_x_0_0.set_fft_average(0.2) self.qtgui_freq_sink_x_0_0.enable_axis_labels(True) self.qtgui_freq_sink_x_0_0.enable_control_panel(False) if not False: self.qtgui_freq_sink_x_0_0.disable_legend() if "complex" == "float" or "complex" == "msg_float": self.qtgui_freq_sink_x_0_0.set_plot_pos_half(not True) labels = ['', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "dark blue" ] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(1): if len(labels[i]) == 0: self.qtgui_freq_sink_x_0_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_freq_sink_x_0_0.set_line_label(i, labels[i]) self.qtgui_freq_sink_x_0_0.set_line_width(i, widths[i]) self.qtgui_freq_sink_x_0_0.set_line_color(i, colors[i]) self.qtgui_freq_sink_x_0_0.set_line_alpha(i, alphas[i]) self._qtgui_freq_sink_x_0_0_win = sip.wrapinstance( self.qtgui_freq_sink_x_0_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_freq_sink_x_0_0_win, 0, 4, 4, 4) for r in range(0, 4): self.top_grid_layout.setRowStretch(r, 1) for c in range(4, 8): self.top_grid_layout.setColumnStretch(c, 1) self.qtgui_freq_sink_x_0 = qtgui.freq_sink_c( 2048, #size firdes.WIN_BLACKMAN_hARRIS, #wintype rx_freq * 0, #fc samp_rate / decim, #bw "North/South", #name 1 #number of inputs ) self.qtgui_freq_sink_x_0.set_update_time(0.010) self.qtgui_freq_sink_x_0.set_y_axis(-140, 0) self.qtgui_freq_sink_x_0.set_y_label('Relative Gain', 'dB') self.qtgui_freq_sink_x_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, 0.0, 0, "") self.qtgui_freq_sink_x_0.enable_autoscale(False) self.qtgui_freq_sink_x_0.enable_grid(True) self.qtgui_freq_sink_x_0.set_fft_average(0.2) self.qtgui_freq_sink_x_0.enable_axis_labels(True) self.qtgui_freq_sink_x_0.enable_control_panel(False) if not False: self.qtgui_freq_sink_x_0.disable_legend() if "complex" == "float" or "complex" == "msg_float": self.qtgui_freq_sink_x_0.set_plot_pos_half(not True) labels = ['', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "dark blue" ] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(1): if len(labels[i]) == 0: self.qtgui_freq_sink_x_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_freq_sink_x_0.set_line_label(i, labels[i]) self.qtgui_freq_sink_x_0.set_line_width(i, widths[i]) self.qtgui_freq_sink_x_0.set_line_color(i, colors[i]) self.qtgui_freq_sink_x_0.set_line_alpha(i, alphas[i]) self._qtgui_freq_sink_x_0_win = sip.wrapinstance( self.qtgui_freq_sink_x_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_freq_sink_x_0_win, 0, 0, 4, 4) for r in range(0, 4): self.top_grid_layout.setRowStretch(r, 1) for c in range(0, 4): self.top_grid_layout.setColumnStretch(c, 1) self._phase_deg_tool_bar = Qt.QToolBar(self) self._phase_deg_tool_bar.addWidget( Qt.QLabel('Phase Shift [deg]' + ": ")) self._phase_deg_line_edit = Qt.QLineEdit(str(self.phase_deg)) self._phase_deg_tool_bar.addWidget(self._phase_deg_line_edit) self._phase_deg_line_edit.returnPressed.connect( lambda: self.set_phase_deg( eng_notation.str_to_num( str(self._phase_deg_line_edit.text().toAscii())))) self.top_grid_layout.addWidget(self._phase_deg_tool_bar) self.low_pass_filter_0_0 = filter.fir_filter_ccf( 1, firdes.low_pass(1, samp_rate / decim, 5e3, 1e3, firdes.WIN_HAMMING, 6.76)) self.low_pass_filter_0 = filter.fir_filter_ccf( 1, firdes.low_pass(1, samp_rate / decim, 3e3, 1e3, firdes.WIN_HAMMING, 6.76)) self.blocks_sub_xx_0 = blocks.sub_ff(1) self.blocks_null_sink_0 = blocks.null_sink(gr.sizeof_float * 1) self.blocks_multiply_const_vxx_1 = blocks.multiply_const_vcc( (complex(math.cos(phase_rad), math.sin(phase_rad)), )) self.blocks_multiply_const_vxx_0_0 = blocks.multiply_const_vff( (180.0 / math.pi, )) self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vff( (180.0 / math.pi, )) self.blocks_complex_to_magphase_1 = blocks.complex_to_magphase(1) self.blocks_complex_to_magphase_0 = blocks.complex_to_magphase(1) self.analog_agc2_xx_1 = analog.agc2_cc(1e-1, 1e-2, 1.0, 1.0) self.analog_agc2_xx_1.set_max_gain(65536) self.analog_agc2_xx_0 = analog.agc2_cc(1e-1, 1e-2, 1.0, 1.0) self.analog_agc2_xx_0.set_max_gain(65536) ################################################## # Connections ################################################## self.connect((self.analog_agc2_xx_0, 0), (self.rational_resampler_xxx_0_0, 0)) self.connect((self.analog_agc2_xx_1, 0), (self.rational_resampler_xxx_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 1), (self.blocks_multiply_const_vxx_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 0), (self.blocks_null_sink_0, 0)) self.connect((self.blocks_complex_to_magphase_1, 1), (self.blocks_multiply_const_vxx_0_0, 0)) self.connect((self.blocks_complex_to_magphase_1, 0), (self.blocks_null_sink_0, 1)) self.connect((self.blocks_multiply_const_vxx_0, 0), (self.blocks_sub_xx_0, 0)) self.connect((self.blocks_multiply_const_vxx_0, 0), (self.qtgui_time_sink_x_0_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_0, 0), (self.blocks_sub_xx_0, 1)) self.connect((self.blocks_multiply_const_vxx_0_0, 0), (self.qtgui_time_sink_x_0_0, 1)) self.connect((self.blocks_multiply_const_vxx_1, 0), (self.analog_agc2_xx_1, 0)) self.connect((self.blocks_sub_xx_0, 0), (self.qtgui_number_sink_0, 0)) self.connect((self.low_pass_filter_0, 0), (self.blocks_complex_to_magphase_1, 0)) self.connect((self.low_pass_filter_0, 0), (self.qtgui_freq_sink_x_0_0, 0)) self.connect((self.low_pass_filter_0_0, 0), (self.blocks_complex_to_magphase_0, 0)) self.connect((self.low_pass_filter_0_0, 0), (self.qtgui_freq_sink_x_0, 0)) self.connect((self.rational_resampler_xxx_0, 0), (self.low_pass_filter_0, 0)) self.connect((self.rational_resampler_xxx_0_0, 0), (self.low_pass_filter_0_0, 0)) self.connect((self.uhd_usrp_source_1, 0), (self.analog_agc2_xx_0, 0)) self.connect((self.uhd_usrp_source_1, 1), (self.blocks_multiply_const_vxx_1, 0))
def __init__(self): gr.top_block.__init__(self, "Top Block Iq") Qt.QWidget.__init__(self) self.setWindowTitle("Top Block Iq") qtgui.util.check_set_qss() try: self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) except: pass self.top_scroll_layout = Qt.QVBoxLayout() self.setLayout(self.top_scroll_layout) self.top_scroll = Qt.QScrollArea() self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) self.top_scroll_layout.addWidget(self.top_scroll) self.top_scroll.setWidgetResizable(True) self.top_widget = Qt.QWidget() self.top_scroll.setWidget(self.top_widget) self.top_layout = Qt.QVBoxLayout(self.top_widget) self.top_grid_layout = Qt.QGridLayout() self.top_layout.addLayout(self.top_grid_layout) self.settings = Qt.QSettings("GNU Radio", "top_block_iq") self.restoreGeometry(self.settings.value("geometry").toByteArray()) ################################################## # Variables ################################################## self.txgain = txgain = 65 self.samp_rate = samp_rate = 32000 self.rxgain = rxgain = 100 self.freq = freq = 5e9 ################################################## # Blocks ################################################## self._txgain_range = Range(0, 100, 1, 65, 200) self._txgain_win = RangeWidget(self._txgain_range, self.set_txgain, "txgain", "counter_slider", float) self.top_grid_layout.addWidget(self._txgain_win) self._rxgain_range = Range(0, 100, 1, 100, 200) self._rxgain_win = RangeWidget(self._rxgain_range, self.set_rxgain, "rxgain", "counter_slider", float) self.top_grid_layout.addWidget(self._rxgain_win) self._freq_range = Range(5e9, 5.64e9, 10e6, 5e9, 200) self._freq_win = RangeWidget(self._freq_range, self.set_freq, "freq", "counter_slider", float) self.top_grid_layout.addWidget(self._freq_win) self.uhd_usrp_source_0 = uhd.usrp_source( ",".join(("", "")), 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(freq, 0) self.uhd_usrp_source_0.set_gain(rxgain, 0) self.uhd_usrp_sink_0 = uhd.usrp_sink( ",".join(("", "")), 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(freq, 0) self.uhd_usrp_sink_0.set_gain(txgain, 0) self.qtgui_time_sink_x_1 = qtgui.time_sink_c( 1024, #size samp_rate, #samp_rate "", #name 1 #number of inputs ) self.qtgui_time_sink_x_1.set_update_time(0.10) self.qtgui_time_sink_x_1.set_y_axis(-1, 1) self.qtgui_time_sink_x_1.set_y_label('Amplitude', "") self.qtgui_time_sink_x_1.enable_tags(-1, True) self.qtgui_time_sink_x_1.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "") self.qtgui_time_sink_x_1.enable_autoscale(False) self.qtgui_time_sink_x_1.enable_grid(False) self.qtgui_time_sink_x_1.enable_axis_labels(True) self.qtgui_time_sink_x_1.enable_control_panel(False) self.qtgui_time_sink_x_1.enable_stem_plot(False) if not True: self.qtgui_time_sink_x_1.disable_legend() labels = ['', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(2): if len(labels[i]) == 0: if (i % 2 == 0): self.qtgui_time_sink_x_1.set_line_label( i, "Re{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_1.set_line_label( i, "Im{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_1.set_line_label(i, labels[i]) self.qtgui_time_sink_x_1.set_line_width(i, widths[i]) self.qtgui_time_sink_x_1.set_line_color(i, colors[i]) self.qtgui_time_sink_x_1.set_line_style(i, styles[i]) self.qtgui_time_sink_x_1.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_1.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_1_win = sip.wrapinstance( self.qtgui_time_sink_x_1.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_time_sink_x_1_win) self.qtgui_time_sink_x_0 = qtgui.time_sink_f( 1024, #size samp_rate, #samp_rate "", #name 2 #number of inputs ) self.qtgui_time_sink_x_0.set_update_time(0.10) self.qtgui_time_sink_x_0.set_y_axis(-5, 5) self.qtgui_time_sink_x_0.set_y_label('Amplitude', "") self.qtgui_time_sink_x_0.enable_tags(-1, True) self.qtgui_time_sink_x_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "") self.qtgui_time_sink_x_0.enable_autoscale(False) self.qtgui_time_sink_x_0.enable_grid(False) self.qtgui_time_sink_x_0.enable_axis_labels(True) self.qtgui_time_sink_x_0.enable_control_panel(False) self.qtgui_time_sink_x_0.enable_stem_plot(False) if not True: self.qtgui_time_sink_x_0.disable_legend() labels = ['', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(2): if len(labels[i]) == 0: self.qtgui_time_sink_x_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_time_sink_x_0.set_line_label(i, labels[i]) self.qtgui_time_sink_x_0.set_line_width(i, widths[i]) self.qtgui_time_sink_x_0.set_line_color(i, colors[i]) self.qtgui_time_sink_x_0.set_line_style(i, styles[i]) self.qtgui_time_sink_x_0.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_0.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_0_win = sip.wrapinstance( self.qtgui_time_sink_x_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_time_sink_x_0_win) self.blocks_complex_to_magphase_0 = blocks.complex_to_magphase(1) self.analog_sig_source_x_0 = analog.sig_source_c( samp_rate, analog.GR_CONST_WAVE, 1, 1, 0) ################################################## # Connections ################################################## self.connect((self.analog_sig_source_x_0, 0), (self.qtgui_time_sink_x_1, 0)) self.connect((self.analog_sig_source_x_0, 0), (self.uhd_usrp_sink_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 0), (self.qtgui_time_sink_x_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 1), (self.qtgui_time_sink_x_0, 1)) self.connect((self.uhd_usrp_source_0, 0), (self.blocks_complex_to_magphase_0, 0))
def __init__(self): gr.top_block.__init__(self, "Top Block") Qt.QWidget.__init__(self) self.setWindowTitle("Top Block") qtgui.util.check_set_qss() try: self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) except: pass self.top_scroll_layout = Qt.QVBoxLayout() self.setLayout(self.top_scroll_layout) self.top_scroll = Qt.QScrollArea() self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) self.top_scroll_layout.addWidget(self.top_scroll) self.top_scroll.setWidgetResizable(True) self.top_widget = Qt.QWidget() self.top_scroll.setWidget(self.top_widget) self.top_layout = Qt.QVBoxLayout(self.top_widget) self.top_grid_layout = Qt.QGridLayout() self.top_layout.addLayout(self.top_grid_layout) self.settings = Qt.QSettings("GNU Radio", "top_block") self.restoreGeometry(self.settings.value("geometry").toByteArray()) ################################################## # Variables ################################################## self.samp_rate = samp_rate = 32000 ################################################## # Blocks ################################################## self.qtgui_time_sink_x_1_0 = qtgui.time_sink_c( 1024, #size samp_rate, #samp_rate "CPU Workflow", #name 1 #number of inputs ) self.qtgui_time_sink_x_1_0.set_update_time(0.10) self.qtgui_time_sink_x_1_0.set_y_axis(-1, 1) self.qtgui_time_sink_x_1_0.set_y_label('Amplitude', "") self.qtgui_time_sink_x_1_0.enable_tags(-1, True) self.qtgui_time_sink_x_1_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "") self.qtgui_time_sink_x_1_0.enable_autoscale(False) self.qtgui_time_sink_x_1_0.enable_grid(False) self.qtgui_time_sink_x_1_0.enable_axis_labels(True) self.qtgui_time_sink_x_1_0.enable_control_panel(False) self.qtgui_time_sink_x_1_0.enable_stem_plot(False) if not True: self.qtgui_time_sink_x_1_0.disable_legend() labels = ['', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(2): if len(labels[i]) == 0: if (i % 2 == 0): self.qtgui_time_sink_x_1_0.set_line_label( i, "Re{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_1_0.set_line_label( i, "Im{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_1_0.set_line_label(i, labels[i]) self.qtgui_time_sink_x_1_0.set_line_width(i, widths[i]) self.qtgui_time_sink_x_1_0.set_line_color(i, colors[i]) self.qtgui_time_sink_x_1_0.set_line_style(i, styles[i]) self.qtgui_time_sink_x_1_0.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_1_0.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_1_0_win = sip.wrapinstance( self.qtgui_time_sink_x_1_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_time_sink_x_1_0_win) self.qtgui_time_sink_x_0 = qtgui.time_sink_c( 1024, #size samp_rate, #samp_rate "OpenACC Workflow", #name 1 #number of inputs ) self.qtgui_time_sink_x_0.set_update_time(0.10) self.qtgui_time_sink_x_0.set_y_axis(-1, 1) self.qtgui_time_sink_x_0.set_y_label('Amplitude', "") self.qtgui_time_sink_x_0.enable_tags(-1, True) self.qtgui_time_sink_x_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "") self.qtgui_time_sink_x_0.enable_autoscale(False) self.qtgui_time_sink_x_0.enable_grid(False) self.qtgui_time_sink_x_0.enable_axis_labels(True) self.qtgui_time_sink_x_0.enable_control_panel(False) self.qtgui_time_sink_x_0.enable_stem_plot(False) if not True: self.qtgui_time_sink_x_0.disable_legend() labels = ['', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] colors = [ "blue", "red", "green", "black", "cyan", "magenta", "yellow", "dark red", "dark green", "blue" ] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in xrange(2): if len(labels[i]) == 0: if (i % 2 == 0): self.qtgui_time_sink_x_0.set_line_label( i, "Re{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_0.set_line_label( i, "Im{{Data {0}}}".format(i / 2)) else: self.qtgui_time_sink_x_0.set_line_label(i, labels[i]) self.qtgui_time_sink_x_0.set_line_width(i, widths[i]) self.qtgui_time_sink_x_0.set_line_color(i, colors[i]) self.qtgui_time_sink_x_0.set_line_style(i, styles[i]) self.qtgui_time_sink_x_0.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_0.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_0_win = sip.wrapinstance( self.qtgui_time_sink_x_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_time_sink_x_0_win) self.openacc_accMagPhaseToComplex_1_0 = openacc.accMagPhaseToComplex( 1, 0, 1, 0, 1) self.openacc_accMagPhaseToComplex_1 = openacc.accMagPhaseToComplex( 1, 0, 1, 0, 0) self.openacc_accMagPhaseToComplex_0_0 = openacc.accMagPhaseToComplex( 1, 0, 1, 0, 0) self.openacc_accMagPhaseToComplex_0 = openacc.accMagPhaseToComplex( 1, 0, 1, 0, 0) self.openacc_accComplexToMag_0_0 = openacc.accComplexToMag( 1, 0, 1, 0, 0) self.openacc_accComplexToMag_0 = openacc.accComplexToMag(1, 0, 1, 0, 0) self.openacc_accComplexToMagPhase_0_0 = openacc.accComplexToMagPhase( 1, 0, 1, 0, 0) self.openacc_accComplexToMagPhase_0 = openacc.accComplexToMagPhase( 1, 0, 1, 1, 0) self.openacc_accComplexToArg_0_0 = openacc.accComplexToArg( 1, 0, 1, 0, 0) self.openacc_accComplexToArg_0 = openacc.accComplexToArg(1, 0, 1, 0, 0) self.blocks_magphase_to_complex_1_0 = blocks.magphase_to_complex(1) self.blocks_magphase_to_complex_1 = blocks.magphase_to_complex(1) self.blocks_magphase_to_complex_0_0 = blocks.magphase_to_complex(1) self.blocks_magphase_to_complex_0 = blocks.magphase_to_complex(1) self.blocks_ctrlport_monitor_performance_0 = not True or monitor( "gr-perf-monitorx") self.blocks_complex_to_magphase_0_0 = blocks.complex_to_magphase(1) self.blocks_complex_to_magphase_0 = blocks.complex_to_magphase(1) self.blocks_complex_to_mag_0_0 = blocks.complex_to_mag(1) self.blocks_complex_to_mag_0 = blocks.complex_to_mag(1) self.blocks_complex_to_arg_0_0 = blocks.complex_to_arg(1) self.blocks_complex_to_arg_0 = blocks.complex_to_arg(1) self.analog_sig_source_x_1 = analog.sig_source_c( samp_rate, analog.GR_COS_WAVE, 1000, 1, 0) self.analog_sig_source_x_0 = analog.sig_source_c( samp_rate, analog.GR_COS_WAVE, 1000, 1, 0) ################################################## # Connections ################################################## self.connect((self.analog_sig_source_x_0, 0), (self.openacc_accComplexToMagPhase_0, 0)) self.connect((self.analog_sig_source_x_1, 0), (self.blocks_complex_to_magphase_0, 0)) self.connect((self.blocks_complex_to_arg_0, 0), (self.blocks_magphase_to_complex_1, 1)) self.connect((self.blocks_complex_to_arg_0_0, 0), (self.blocks_magphase_to_complex_1_0, 1)) self.connect((self.blocks_complex_to_mag_0, 0), (self.blocks_magphase_to_complex_1, 0)) self.connect((self.blocks_complex_to_mag_0_0, 0), (self.blocks_magphase_to_complex_1_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 0), (self.blocks_magphase_to_complex_0, 0)) self.connect((self.blocks_complex_to_magphase_0, 1), (self.blocks_magphase_to_complex_0, 1)) self.connect((self.blocks_complex_to_magphase_0_0, 0), (self.blocks_magphase_to_complex_0_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0, 1), (self.blocks_magphase_to_complex_0_0, 1)) self.connect((self.blocks_magphase_to_complex_0, 0), (self.blocks_complex_to_arg_0, 0)) self.connect((self.blocks_magphase_to_complex_0, 0), (self.blocks_complex_to_mag_0, 0)) self.connect((self.blocks_magphase_to_complex_0_0, 0), (self.blocks_complex_to_arg_0_0, 0)) self.connect((self.blocks_magphase_to_complex_0_0, 0), (self.blocks_complex_to_mag_0_0, 0)) self.connect((self.blocks_magphase_to_complex_1, 0), (self.blocks_complex_to_magphase_0_0, 0)) self.connect((self.blocks_magphase_to_complex_1_0, 0), (self.qtgui_time_sink_x_1_0, 0)) self.connect((self.openacc_accComplexToArg_0, 0), (self.openacc_accMagPhaseToComplex_1, 1)) self.connect((self.openacc_accComplexToArg_0_0, 0), (self.openacc_accMagPhaseToComplex_1_0, 1)) self.connect((self.openacc_accComplexToMagPhase_0, 0), (self.openacc_accMagPhaseToComplex_0, 0)) self.connect((self.openacc_accComplexToMagPhase_0, 1), (self.openacc_accMagPhaseToComplex_0, 1)) self.connect((self.openacc_accComplexToMagPhase_0_0, 0), (self.openacc_accMagPhaseToComplex_0_0, 0)) self.connect((self.openacc_accComplexToMagPhase_0_0, 1), (self.openacc_accMagPhaseToComplex_0_0, 1)) self.connect((self.openacc_accComplexToMag_0, 0), (self.openacc_accMagPhaseToComplex_1, 0)) self.connect((self.openacc_accComplexToMag_0_0, 0), (self.openacc_accMagPhaseToComplex_1_0, 0)) self.connect((self.openacc_accMagPhaseToComplex_0, 0), (self.openacc_accComplexToArg_0, 0)) self.connect((self.openacc_accMagPhaseToComplex_0, 0), (self.openacc_accComplexToMag_0, 0)) self.connect((self.openacc_accMagPhaseToComplex_0_0, 0), (self.openacc_accComplexToArg_0_0, 0)) self.connect((self.openacc_accMagPhaseToComplex_0_0, 0), (self.openacc_accComplexToMag_0_0, 0)) self.connect((self.openacc_accMagPhaseToComplex_1, 0), (self.openacc_accComplexToMagPhase_0_0, 0)) self.connect((self.openacc_accMagPhaseToComplex_1_0, 0), (self.qtgui_time_sink_x_0, 0))
def __init__(self): gr.top_block.__init__(self, "onedimension_simulation") Qt.QWidget.__init__(self) self.setWindowTitle("onedimension_simulation") qtgui.util.check_set_qss() try: self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) except: pass self.top_scroll_layout = Qt.QVBoxLayout() self.setLayout(self.top_scroll_layout) self.top_scroll = Qt.QScrollArea() self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) self.top_scroll_layout.addWidget(self.top_scroll) self.top_scroll.setWidgetResizable(True) self.top_widget = Qt.QWidget() self.top_scroll.setWidget(self.top_widget) self.top_layout = Qt.QVBoxLayout(self.top_widget) self.top_grid_layout = Qt.QGridLayout() self.top_layout.addLayout(self.top_grid_layout) self.settings = Qt.QSettings("GNU Radio", "onedimension_simulation") try: if StrictVersion(Qt.qVersion()) < StrictVersion("5.0.0"): self.restoreGeometry(self.settings.value("geometry").toByteArray()) else: self.restoreGeometry(self.settings.value("geometry")) except: pass ################################################## # Variables ################################################## self.maxtheta = maxtheta = 150 self.columns = columns = 100 self.shiftarrL = shiftarrL = np.radians(np.linspace(start=maxtheta, stop=0, num=int(columns/2), endpoint=False)) self.variable_function_probe_0_0 = variable_function_probe_0_0 = 0 self.variable_function_probe_0 = variable_function_probe_0 = 1 self.left = left = np.pad(shiftarrL, (0, int(columns/2)), 'constant') self.degreesTXR = degreesTXR = 0 self.degreesTXL = degreesTXL = 0 self.variable_qtgui_label_0_0_0 = variable_qtgui_label_0_0_0 = variable_function_probe_0_0 self.variable_qtgui_label_0_0 = variable_qtgui_label_0_0 = variable_function_probe_0 self.scale = scale = 55 self.samp_rate = samp_rate = 64000 self.rows = rows = 100 self.right = right = np.flip(left, axis=0) self.angle_radiansStartR = angle_radiansStartR = (math.pi/180) * degreesTXR self.angle_radiansStartL = angle_radiansStartL = (math.pi/180) * degreesTXL ################################################## # Blocks ################################################## self._scale_range = Range(0, 100, 5, 55, 200) self._scale_win = RangeWidget(self._scale_range, self.set_scale, 'scale', "counter_slider", float) self.top_grid_layout.addWidget(self._scale_win) self.blocks_probe_signal_x_0_0 = blocks.probe_signal_f() self.blocks_probe_signal_x_0 = blocks.probe_signal_f() self.video_sdl_sink_1 = video_sdl.sink_s(0, columns, rows, 0, columns*6, rows*6) self._variable_qtgui_label_0_0_0_tool_bar = Qt.QToolBar(self) if None: self._variable_qtgui_label_0_0_0_formatter = None else: self._variable_qtgui_label_0_0_0_formatter = lambda x: str(x) self._variable_qtgui_label_0_0_0_tool_bar.addWidget(Qt.QLabel('Probe Signal Min' + ": ")) self._variable_qtgui_label_0_0_0_label = Qt.QLabel(str(self._variable_qtgui_label_0_0_0_formatter(self.variable_qtgui_label_0_0_0))) self._variable_qtgui_label_0_0_0_tool_bar.addWidget(self._variable_qtgui_label_0_0_0_label) self.top_grid_layout.addWidget(self._variable_qtgui_label_0_0_0_tool_bar) self._variable_qtgui_label_0_0_tool_bar = Qt.QToolBar(self) if None: self._variable_qtgui_label_0_0_formatter = None else: self._variable_qtgui_label_0_0_formatter = lambda x: str(x) self._variable_qtgui_label_0_0_tool_bar.addWidget(Qt.QLabel('Probe Signal Max' + ": ")) self._variable_qtgui_label_0_0_label = Qt.QLabel(str(self._variable_qtgui_label_0_0_formatter(self.variable_qtgui_label_0_0))) self._variable_qtgui_label_0_0_tool_bar.addWidget(self._variable_qtgui_label_0_0_label) self.top_grid_layout.addWidget(self._variable_qtgui_label_0_0_tool_bar) def _variable_function_probe_0_0_probe(): while True: val = self.blocks_probe_signal_x_0_0.level() try: self.set_variable_function_probe_0_0(val) except AttributeError: pass time.sleep(1.0 / (1)) _variable_function_probe_0_0_thread = threading.Thread(target=_variable_function_probe_0_0_probe) _variable_function_probe_0_0_thread.daemon = True _variable_function_probe_0_0_thread.start() def _variable_function_probe_0_probe(): while True: val = self.blocks_probe_signal_x_0.level() try: self.set_variable_function_probe_0(val) except AttributeError: pass time.sleep(1.0 / (1)) _variable_function_probe_0_thread = threading.Thread(target=_variable_function_probe_0_probe) _variable_function_probe_0_thread.daemon = True _variable_function_probe_0_thread.start() self.qtgui_time_raster_sink_x_0 = qtgui.time_raster_sink_f( samp_rate, columns, rows, [], [], "", 1 ) self.qtgui_time_raster_sink_x_0.set_update_time(0.01) self.qtgui_time_raster_sink_x_0.set_intensity_range(0, 5) self.qtgui_time_raster_sink_x_0.enable_grid(False) self.qtgui_time_raster_sink_x_0.enable_axis_labels(True) labels = ['', '', '', '', '', '', '', '', '', ''] colors = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in range(1): if len(labels[i]) == 0: self.qtgui_time_raster_sink_x_0.set_line_label(i, "Data {0}".format(i)) else: self.qtgui_time_raster_sink_x_0.set_line_label(i, labels[i]) self.qtgui_time_raster_sink_x_0.set_color_map(i, colors[i]) self.qtgui_time_raster_sink_x_0.set_line_alpha(i, alphas[i]) self._qtgui_time_raster_sink_x_0_win = sip.wrapinstance(self.qtgui_time_raster_sink_x_0.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_time_raster_sink_x_0_win) self._degreesTXR_range = Range(0, maxtheta/2, 5, 0, 200) self._degreesTXR_win = RangeWidget(self._degreesTXR_range, self.set_degreesTXR, 'degreesTXR', "counter_slider", float) self.top_grid_layout.addWidget(self._degreesTXR_win) self._degreesTXL_range = Range(0, maxtheta/2, 5, 0, 200) self._degreesTXL_win = RangeWidget(self._degreesTXL_range, self.set_degreesTXL, 'degreesTXL', "counter_slider", float) self.top_grid_layout.addWidget(self._degreesTXL_win) self.blocks_vector_source_x_0_0_0_0 = blocks.vector_source_f(right, True, 1, []) self.blocks_vector_source_x_0_0_0 = blocks.vector_source_f(left, True, 1, []) self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex*1, samp_rate,True) self.blocks_sub_xx_0_0_0 = blocks.sub_ff(1) self.blocks_sub_xx_0_0 = blocks.sub_ff(1) self.blocks_stream_to_vector_0_1 = blocks.stream_to_vector(gr.sizeof_float*1, samp_rate) self.blocks_repeat_0_0_0_0_1 = blocks.repeat(gr.sizeof_float*1, columns) self.blocks_repeat_0_0_0_0_0_1 = blocks.repeat(gr.sizeof_float*1, columns) self.blocks_repeat_0_0_0_0_0 = blocks.repeat(gr.sizeof_float*1, columns) self.blocks_repeat_0_0_0_0 = blocks.repeat(gr.sizeof_float*1, columns) self.blocks_multiply_const_vxx_0_0_1 = blocks.multiply_const_cc(complex(math.cos(angle_radiansStartR),math.sin(angle_radiansStartR))) self.blocks_multiply_const_vxx_0_0_0_0 = blocks.multiply_const_cc(complex(math.cos(angle_radiansStartL),math.sin(angle_radiansStartL))) self.blocks_min_xx_0 = blocks.min_ff(samp_rate,1) self.blocks_max_xx_0 = blocks.max_ff(samp_rate, 1) self.blocks_magphase_to_complex_0_0_0_0_0 = blocks.magphase_to_complex(1) self.blocks_magphase_to_complex_0_0_0_0 = blocks.magphase_to_complex(1) self.blocks_float_to_short_0 = blocks.float_to_short(1, scale) self.blocks_complex_to_magphase_0_0_0_0 = blocks.complex_to_magphase(1) self.blocks_complex_to_magphase_0_0_0 = blocks.complex_to_magphase(1) self.blocks_complex_to_mag_squared_0 = blocks.complex_to_mag_squared(1) self.blocks_add_xx_0 = blocks.add_vcc(1) self.analog_sig_source_x_0_0 = analog.sig_source_c(samp_rate, analog.GR_COS_WAVE, 1e3, 1, 0, 0) ################################################## # Connections ################################################## self.connect((self.analog_sig_source_x_0_0, 0), (self.blocks_throttle_0, 0)) self.connect((self.blocks_add_xx_0, 0), (self.blocks_complex_to_mag_squared_0, 0)) self.connect((self.blocks_complex_to_mag_squared_0, 0), (self.blocks_float_to_short_0, 0)) self.connect((self.blocks_complex_to_mag_squared_0, 0), (self.blocks_stream_to_vector_0_1, 0)) self.connect((self.blocks_complex_to_mag_squared_0, 0), (self.qtgui_time_raster_sink_x_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0, 0), (self.blocks_repeat_0_0_0_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0, 1), (self.blocks_repeat_0_0_0_0_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0, 1), (self.blocks_repeat_0_0_0_0_0_1, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0, 0), (self.blocks_repeat_0_0_0_0_1, 0)) self.connect((self.blocks_float_to_short_0, 0), (self.video_sdl_sink_1, 0)) self.connect((self.blocks_magphase_to_complex_0_0_0_0, 0), (self.blocks_add_xx_0, 0)) self.connect((self.blocks_magphase_to_complex_0_0_0_0_0, 0), (self.blocks_add_xx_0, 1)) self.connect((self.blocks_max_xx_0, 0), (self.blocks_probe_signal_x_0, 0)) self.connect((self.blocks_min_xx_0, 0), (self.blocks_probe_signal_x_0_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_0_0_0, 0), (self.blocks_complex_to_magphase_0_0_0_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_0_1, 0), (self.blocks_complex_to_magphase_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_0, 0), (self.blocks_sub_xx_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_0_1, 0), (self.blocks_sub_xx_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_1, 0), (self.blocks_magphase_to_complex_0_0_0_0_0, 0)) self.connect((self.blocks_stream_to_vector_0_1, 0), (self.blocks_max_xx_0, 0)) self.connect((self.blocks_stream_to_vector_0_1, 0), (self.blocks_min_xx_0, 0)) self.connect((self.blocks_sub_xx_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0, 1)) self.connect((self.blocks_sub_xx_0_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0_0, 1)) self.connect((self.blocks_throttle_0, 0), (self.blocks_multiply_const_vxx_0_0_0_0, 0)) self.connect((self.blocks_throttle_0, 0), (self.blocks_multiply_const_vxx_0_0_1, 0)) self.connect((self.blocks_vector_source_x_0_0_0, 0), (self.blocks_sub_xx_0_0, 1)) self.connect((self.blocks_vector_source_x_0_0_0_0, 0), (self.blocks_sub_xx_0_0_0, 1))
def __init__(self): gr.top_block.__init__(self, "twodimension_usrp_b210s") Qt.QWidget.__init__(self) self.setWindowTitle("twodimension_usrp_b210s") qtgui.util.check_set_qss() try: self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) except: pass self.top_scroll_layout = Qt.QVBoxLayout() self.setLayout(self.top_scroll_layout) self.top_scroll = Qt.QScrollArea() self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) self.top_scroll_layout.addWidget(self.top_scroll) self.top_scroll.setWidgetResizable(True) self.top_widget = Qt.QWidget() self.top_scroll.setWidget(self.top_widget) self.top_layout = Qt.QVBoxLayout(self.top_widget) self.top_grid_layout = Qt.QGridLayout() self.top_layout.addLayout(self.top_grid_layout) self.settings = Qt.QSettings("GNU Radio", "twodimension_usrp_b210s") try: if StrictVersion(Qt.qVersion()) < StrictVersion("5.0.0"): self.restoreGeometry( self.settings.value("geometry").toByteArray()) else: self.restoreGeometry(self.settings.value("geometry")) except: pass ################################################## # Variables ################################################## self.maxtheta = maxtheta = 150 self.columns = columns = 100 self.shiftarrL = shiftarrL = np.radians( np.linspace(start=maxtheta, stop=0, num=int(columns / 2), endpoint=False)) self.left = left = np.pad(shiftarrL, (0, int(columns / 2)), 'constant') self.variable_function_probe_0_0 = variable_function_probe_0_0 = 0 self.variable_function_probe_0 = variable_function_probe_0 = 1 self.right = right = np.flip(left, axis=0) self.variable_qtgui_label_0_0_0_0 = variable_qtgui_label_0_0_0_0 = variable_function_probe_0_0 self.variable_qtgui_label_0_0_0 = variable_qtgui_label_0_0_0 = variable_function_probe_0 self.variable_qtgui_label_0_0 = variable_qtgui_label_0_0 = left self.variable_qtgui_label_0 = variable_qtgui_label_0 = right self.threshold = threshold = -60 self.scale = scale = 20000 self.samp_rate = samp_rate = 100e3 self.minmag = minmag = 0 self.maxmag = maxmag = .0035 self.keep = keep = 50 self.gain = gain = 20 self.freq = freq = 422e6 self.displayscale = displayscale = 5 ################################################## # Blocks ################################################## self.tab = Qt.QTabWidget() self.tab_widget_0 = Qt.QWidget() self.tab_layout_0 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.tab_widget_0) self.tab_grid_layout_0 = Qt.QGridLayout() self.tab_layout_0.addLayout(self.tab_grid_layout_0) self.tab.addTab(self.tab_widget_0, 'Time rasters') self.tab_widget_1 = Qt.QWidget() self.tab_layout_1 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.tab_widget_1) self.tab_grid_layout_1 = Qt.QGridLayout() self.tab_layout_1.addLayout(self.tab_grid_layout_1) self.tab.addTab(self.tab_widget_1, 'Steering vectors') self.top_grid_layout.addWidget(self.tab) self._scale_range = Range(0, 60000, 1000, 20000, 200) self._scale_win = RangeWidget(self._scale_range, self.set_scale, 'scale', "counter_slider", float) self.top_grid_layout.addWidget(self._scale_win) self.blocks_probe_signal_x_0_0 = blocks.probe_signal_f() self.blocks_probe_signal_x_0 = blocks.probe_signal_f() self.video_sdl_sink_1_1_0 = video_sdl.sink_s(0, columns, columns, 0, columns * displayscale, columns * displayscale) self._variable_qtgui_label_0_0_0_0_tool_bar = Qt.QToolBar(self) if None: self._variable_qtgui_label_0_0_0_0_formatter = None else: self._variable_qtgui_label_0_0_0_0_formatter = lambda x: str(x) self._variable_qtgui_label_0_0_0_0_tool_bar.addWidget( Qt.QLabel('Probe Signal Min' + ": ")) self._variable_qtgui_label_0_0_0_0_label = Qt.QLabel( str( self._variable_qtgui_label_0_0_0_0_formatter( self.variable_qtgui_label_0_0_0_0))) self._variable_qtgui_label_0_0_0_0_tool_bar.addWidget( self._variable_qtgui_label_0_0_0_0_label) self.top_grid_layout.addWidget( self._variable_qtgui_label_0_0_0_0_tool_bar) self._variable_qtgui_label_0_0_0_tool_bar = Qt.QToolBar(self) if None: self._variable_qtgui_label_0_0_0_formatter = None else: self._variable_qtgui_label_0_0_0_formatter = lambda x: str(x) self._variable_qtgui_label_0_0_0_tool_bar.addWidget( Qt.QLabel('Probe Signal Max' + ": ")) self._variable_qtgui_label_0_0_0_label = Qt.QLabel( str( self._variable_qtgui_label_0_0_0_formatter( self.variable_qtgui_label_0_0_0))) self._variable_qtgui_label_0_0_0_tool_bar.addWidget( self._variable_qtgui_label_0_0_0_label) self.top_grid_layout.addWidget( self._variable_qtgui_label_0_0_0_tool_bar) self._variable_qtgui_label_0_0_tool_bar = Qt.QToolBar(self) if None: self._variable_qtgui_label_0_0_formatter = None else: self._variable_qtgui_label_0_0_formatter = lambda x: repr(x) self._variable_qtgui_label_0_0_tool_bar.addWidget( Qt.QLabel('variable_qtgui_label_0_0' + ": ")) self._variable_qtgui_label_0_0_label = Qt.QLabel( str( self._variable_qtgui_label_0_0_formatter( self.variable_qtgui_label_0_0))) self._variable_qtgui_label_0_0_tool_bar.addWidget( self._variable_qtgui_label_0_0_label) self.tab_layout_1.addWidget(self._variable_qtgui_label_0_0_tool_bar) self._variable_qtgui_label_0_tool_bar = Qt.QToolBar(self) if None: self._variable_qtgui_label_0_formatter = None else: self._variable_qtgui_label_0_formatter = lambda x: repr(x) self._variable_qtgui_label_0_tool_bar.addWidget( Qt.QLabel('variable_qtgui_label_0' + ": ")) self._variable_qtgui_label_0_label = Qt.QLabel( str( self._variable_qtgui_label_0_formatter( self.variable_qtgui_label_0))) self._variable_qtgui_label_0_tool_bar.addWidget( self._variable_qtgui_label_0_label) self.tab_layout_1.addWidget(self._variable_qtgui_label_0_tool_bar) def _variable_function_probe_0_0_probe(): while True: val = self.blocks_probe_signal_x_0_0.level() try: self.set_variable_function_probe_0_0(val) except AttributeError: pass time.sleep(1.0 / (1)) _variable_function_probe_0_0_thread = threading.Thread( target=_variable_function_probe_0_0_probe) _variable_function_probe_0_0_thread.daemon = True _variable_function_probe_0_0_thread.start() def _variable_function_probe_0_probe(): while True: val = self.blocks_probe_signal_x_0.level() try: self.set_variable_function_probe_0(val) except AttributeError: pass time.sleep(1.0 / (1)) _variable_function_probe_0_thread = threading.Thread( target=_variable_function_probe_0_probe) _variable_function_probe_0_thread.daemon = True _variable_function_probe_0_thread.start() self.uhd_usrp_source_0_0 = uhd.usrp_source( ",".join(("", "type=b200, name=origb210")), uhd.stream_args( cpu_format="fc32", args='', channels=list(range(0, 2)), ), ) self.uhd_usrp_source_0_0.set_center_freq(freq, 0) self.uhd_usrp_source_0_0.set_gain(gain, 0) self.uhd_usrp_source_0_0.set_antenna('RX2', 0) self.uhd_usrp_source_0_0.set_center_freq(freq, 1) self.uhd_usrp_source_0_0.set_gain(gain, 1) self.uhd_usrp_source_0_0.set_antenna('RX2', 1) self.uhd_usrp_source_0_0.set_samp_rate(samp_rate) self.uhd_usrp_source_0_0.set_time_unknown_pps(uhd.time_spec()) self.uhd_usrp_source_0 = uhd.usrp_source( ",".join(("", "type=b200, name=newb210")), uhd.stream_args( cpu_format="fc32", args='', channels=list(range(0, 2)), ), ) self.uhd_usrp_source_0.set_center_freq(freq, 0) self.uhd_usrp_source_0.set_gain(gain, 0) self.uhd_usrp_source_0.set_antenna('RX2', 0) self.uhd_usrp_source_0.set_center_freq(freq, 1) self.uhd_usrp_source_0.set_gain(gain, 1) self.uhd_usrp_source_0.set_antenna('RX2', 1) self.uhd_usrp_source_0.set_samp_rate(samp_rate) self.uhd_usrp_source_0.set_time_unknown_pps(uhd.time_spec()) self._threshold_range = Range(-160, -10, 5, -60, 200) self._threshold_win = RangeWidget(self._threshold_range, self.set_threshold, 'squelch threshold', "counter_slider", int) self.top_grid_layout.addWidget(self._threshold_win) self.qtgui_time_raster_sink_x_0_0 = qtgui.time_raster_sink_f( samp_rate / keep, columns, columns, [], [], "Elevation", 1) self.qtgui_time_raster_sink_x_0_0.set_update_time(0.01) self.qtgui_time_raster_sink_x_0_0.set_intensity_range(minmag, maxmag) self.qtgui_time_raster_sink_x_0_0.enable_grid(False) self.qtgui_time_raster_sink_x_0_0.enable_axis_labels(True) labels = ['', '', '', '', '', '', '', '', '', ''] colors = [0, 1, 0, 0, 0, 0, 0, 0, 0, 0] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in range(1): if len(labels[i]) == 0: self.qtgui_time_raster_sink_x_0_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_time_raster_sink_x_0_0.set_line_label(i, labels[i]) self.qtgui_time_raster_sink_x_0_0.set_color_map(i, colors[i]) self.qtgui_time_raster_sink_x_0_0.set_line_alpha(i, alphas[i]) self._qtgui_time_raster_sink_x_0_0_win = sip.wrapinstance( self.qtgui_time_raster_sink_x_0_0.pyqwidget(), Qt.QWidget) self.tab_layout_0.addWidget(self._qtgui_time_raster_sink_x_0_0_win) self.qtgui_time_raster_sink_x_0 = qtgui.time_raster_sink_f( samp_rate / keep, columns, columns, [], [], "Azimuth", 1) self.qtgui_time_raster_sink_x_0.set_update_time(0.01) self.qtgui_time_raster_sink_x_0.set_intensity_range(minmag, maxmag) self.qtgui_time_raster_sink_x_0.enable_grid(False) self.qtgui_time_raster_sink_x_0.enable_axis_labels(True) labels = ['', '', '', '', '', '', '', '', '', ''] colors = [0, 1, 0, 0, 0, 0, 0, 0, 0, 0] alphas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] for i in range(1): if len(labels[i]) == 0: self.qtgui_time_raster_sink_x_0.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_time_raster_sink_x_0.set_line_label(i, labels[i]) self.qtgui_time_raster_sink_x_0.set_color_map(i, colors[i]) self.qtgui_time_raster_sink_x_0.set_line_alpha(i, alphas[i]) self._qtgui_time_raster_sink_x_0_win = sip.wrapinstance( self.qtgui_time_raster_sink_x_0.pyqwidget(), Qt.QWidget) self.tab_layout_0.addWidget(self._qtgui_time_raster_sink_x_0_win) self.blocks_vector_to_stream_0 = blocks.vector_to_stream( gr.sizeof_gr_complex * 1, columns) self.blocks_vector_source_x_0_0_0_1 = blocks.vector_source_f( left, True, 1, []) self.blocks_vector_source_x_0_0_0_0_0 = blocks.vector_source_f( right, True, 1, []) self.blocks_vector_source_x_0_0_0_0 = blocks.vector_source_f( right, True, 1, []) self.blocks_vector_source_x_0_0_0 = blocks.vector_source_f( left, True, 1, []) self.blocks_sub_xx_0_0_1 = blocks.sub_ff(1) self.blocks_sub_xx_0_0_0_0 = blocks.sub_ff(1) self.blocks_sub_xx_0_0_0 = blocks.sub_ff(1) self.blocks_sub_xx_0_0 = blocks.sub_ff(1) self.blocks_stream_to_vector_0_1 = blocks.stream_to_vector( gr.sizeof_float * 1, int(samp_rate / keep)) self.blocks_stream_to_vector_0 = blocks.stream_to_vector( gr.sizeof_gr_complex * 1, columns) self.blocks_repeat_0_0_0_0_2 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_1_0 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_1 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_0_1_0 = blocks.repeat( gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_0_1 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_0_0 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0_0 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0_0_0 = blocks.repeat(gr.sizeof_float * 1, columns) self.blocks_repeat_0_0 = blocks.repeat(gr.sizeof_gr_complex * columns, columns) self.blocks_repeat_0 = blocks.repeat(gr.sizeof_gr_complex * 1, columns) self.blocks_min_xx_0 = blocks.min_ff(int(samp_rate / keep), 1) self.blocks_max_xx_0 = blocks.max_ff(int(samp_rate / keep), 1) self.blocks_magphase_to_complex_0_0_0_0_1 = blocks.magphase_to_complex( 1) self.blocks_magphase_to_complex_0_0_0_0_0_0 = blocks.magphase_to_complex( 1) self.blocks_magphase_to_complex_0_0_0_0_0 = blocks.magphase_to_complex( 1) self.blocks_magphase_to_complex_0_0_0_0 = blocks.magphase_to_complex(1) self.blocks_keep_one_in_n_0_2 = blocks.keep_one_in_n( gr.sizeof_gr_complex * 1, keep) self.blocks_keep_one_in_n_0_1 = blocks.keep_one_in_n( gr.sizeof_gr_complex * 1, keep) self.blocks_keep_one_in_n_0_0 = blocks.keep_one_in_n( gr.sizeof_gr_complex * 1, keep) self.blocks_keep_one_in_n_0 = blocks.keep_one_in_n( gr.sizeof_gr_complex * 1, keep) self.blocks_float_to_short_0_1_0 = blocks.float_to_short(1, scale) self.blocks_complex_to_magphase_0_0_0_1 = blocks.complex_to_magphase(1) self.blocks_complex_to_magphase_0_0_0_0_0 = blocks.complex_to_magphase( 1) self.blocks_complex_to_magphase_0_0_0_0 = blocks.complex_to_magphase(1) self.blocks_complex_to_magphase_0_0_0 = blocks.complex_to_magphase(1) self.blocks_complex_to_mag_squared_0_1 = blocks.complex_to_mag_squared( 1) self.blocks_complex_to_mag_squared_0_0 = blocks.complex_to_mag_squared( 1) self.blocks_complex_to_mag_squared_0 = blocks.complex_to_mag_squared(1) self.blocks_add_xx_1 = blocks.add_vcc(1) self.blocks_add_xx_0_0 = blocks.add_vcc(1) self.blocks_add_xx_0 = blocks.add_vcc(1) self.analog_pwr_squelch_xx_0_1 = analog.pwr_squelch_cc( -60, 1e-4, 0, False) self.analog_pwr_squelch_xx_0_0_0 = analog.pwr_squelch_cc( -60, 1e-4, 0, False) self.analog_pwr_squelch_xx_0_0 = analog.pwr_squelch_cc( -60, 1e-4, 0, False) self.analog_pwr_squelch_xx_0 = analog.pwr_squelch_cc( -60, 1e-4, 0, False) ################################################## # Connections ################################################## self.connect((self.analog_pwr_squelch_xx_0, 0), (self.blocks_keep_one_in_n_0_0, 0)) self.connect((self.analog_pwr_squelch_xx_0_0, 0), (self.blocks_keep_one_in_n_0, 0)) self.connect((self.analog_pwr_squelch_xx_0_0_0, 0), (self.blocks_keep_one_in_n_0_1, 0)) self.connect((self.analog_pwr_squelch_xx_0_1, 0), (self.blocks_keep_one_in_n_0_2, 0)) self.connect((self.blocks_add_xx_0, 0), (self.blocks_complex_to_mag_squared_0, 0)) self.connect((self.blocks_add_xx_0, 0), (self.blocks_stream_to_vector_0, 0)) self.connect((self.blocks_add_xx_0_0, 0), (self.blocks_complex_to_mag_squared_0_0, 0)) self.connect((self.blocks_add_xx_0_0, 0), (self.blocks_repeat_0, 0)) self.connect((self.blocks_add_xx_1, 0), (self.blocks_complex_to_mag_squared_0_1, 0)) self.connect((self.blocks_complex_to_mag_squared_0, 0), (self.qtgui_time_raster_sink_x_0, 0)) self.connect((self.blocks_complex_to_mag_squared_0_0, 0), (self.qtgui_time_raster_sink_x_0_0, 0)) self.connect((self.blocks_complex_to_mag_squared_0_1, 0), (self.blocks_float_to_short_0_1_0, 0)) self.connect((self.blocks_complex_to_mag_squared_0_1, 0), (self.blocks_stream_to_vector_0_1, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0, 0), (self.blocks_repeat_0_0_0_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0, 1), (self.blocks_repeat_0_0_0_0_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0, 1), (self.blocks_repeat_0_0_0_0_0_1, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0, 0), (self.blocks_repeat_0_0_0_0_1, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0_0, 1), (self.blocks_repeat_0_0_0_0_0_1_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_0_0, 0), (self.blocks_repeat_0_0_0_0_1_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_1, 1), (self.blocks_repeat_0_0_0_0_0_0, 0)) self.connect((self.blocks_complex_to_magphase_0_0_0_1, 0), (self.blocks_repeat_0_0_0_0_2, 0)) self.connect((self.blocks_float_to_short_0_1_0, 0), (self.video_sdl_sink_1_1_0, 0)) self.connect((self.blocks_keep_one_in_n_0, 0), (self.blocks_complex_to_magphase_0_0_0, 0)) self.connect((self.blocks_keep_one_in_n_0_0, 0), (self.blocks_complex_to_magphase_0_0_0_0, 0)) self.connect((self.blocks_keep_one_in_n_0_1, 0), (self.blocks_complex_to_magphase_0_0_0_1, 0)) self.connect((self.blocks_keep_one_in_n_0_2, 0), (self.blocks_complex_to_magphase_0_0_0_0_0, 0)) self.connect((self.blocks_magphase_to_complex_0_0_0_0, 0), (self.blocks_add_xx_0, 0)) self.connect((self.blocks_magphase_to_complex_0_0_0_0_0, 0), (self.blocks_add_xx_0, 1)) self.connect((self.blocks_magphase_to_complex_0_0_0_0_0_0, 0), (self.blocks_add_xx_0_0, 1)) self.connect((self.blocks_magphase_to_complex_0_0_0_0_1, 0), (self.blocks_add_xx_0_0, 0)) self.connect((self.blocks_max_xx_0, 0), (self.blocks_probe_signal_x_0, 0)) self.connect((self.blocks_min_xx_0, 0), (self.blocks_probe_signal_x_0_0, 0)) self.connect((self.blocks_repeat_0, 0), (self.blocks_add_xx_1, 1)) self.connect((self.blocks_repeat_0_0, 0), (self.blocks_vector_to_stream_0, 0)) self.connect((self.blocks_repeat_0_0_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_0, 0), (self.blocks_sub_xx_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_0_0, 0), (self.blocks_sub_xx_0_0_1, 0)) self.connect((self.blocks_repeat_0_0_0_0_0_1, 0), (self.blocks_sub_xx_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_0_1_0, 0), (self.blocks_sub_xx_0_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_1, 0), (self.blocks_magphase_to_complex_0_0_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_1_0, 0), (self.blocks_magphase_to_complex_0_0_0_0_0_0, 0)) self.connect((self.blocks_repeat_0_0_0_0_2, 0), (self.blocks_magphase_to_complex_0_0_0_0_1, 0)) self.connect((self.blocks_stream_to_vector_0, 0), (self.blocks_repeat_0_0, 0)) self.connect((self.blocks_stream_to_vector_0_1, 0), (self.blocks_max_xx_0, 0)) self.connect((self.blocks_stream_to_vector_0_1, 0), (self.blocks_min_xx_0, 0)) self.connect((self.blocks_sub_xx_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0, 1)) self.connect((self.blocks_sub_xx_0_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0_0, 1)) self.connect((self.blocks_sub_xx_0_0_0_0, 0), (self.blocks_magphase_to_complex_0_0_0_0_0_0, 1)) self.connect((self.blocks_sub_xx_0_0_1, 0), (self.blocks_magphase_to_complex_0_0_0_0_1, 1)) self.connect((self.blocks_vector_source_x_0_0_0, 0), (self.blocks_sub_xx_0_0, 1)) self.connect((self.blocks_vector_source_x_0_0_0_0, 0), (self.blocks_sub_xx_0_0_0, 1)) self.connect((self.blocks_vector_source_x_0_0_0_0_0, 0), (self.blocks_sub_xx_0_0_0_0, 1)) self.connect((self.blocks_vector_source_x_0_0_0_1, 0), (self.blocks_sub_xx_0_0_1, 1)) self.connect((self.blocks_vector_to_stream_0, 0), (self.blocks_add_xx_1, 0)) self.connect((self.uhd_usrp_source_0, 1), (self.analog_pwr_squelch_xx_0, 0)) self.connect((self.uhd_usrp_source_0, 0), (self.analog_pwr_squelch_xx_0_0, 0)) self.connect((self.uhd_usrp_source_0_0, 0), (self.analog_pwr_squelch_xx_0_0_0, 0)) self.connect((self.uhd_usrp_source_0_0, 1), (self.analog_pwr_squelch_xx_0_1, 0))