def stest_002(self): src_data=(-100,-99,-98,-97,-96,-1) expected_result = (float(min(src_data)),) src = blocks.vector_source_f(src_data) s2v = blocks.stream_to_vector(gr.sizeof_float, len(src_data)) op = blocks.min_ff(len(src_data)) dst = blocks.vector_sink_f() self.tb.connect(src, s2v, op, dst) self.tb.run() result_data = dst.data() self.assertEqual(expected_result, result_data)
def test_001(self): src_data = (0, 0.2, -0.25, 0, 12, 0) expected_result = (float(min(src_data)),) src = blocks.vector_source_f(src_data) s2v = blocks.stream_to_vector(gr.sizeof_float, len(src_data)) op = blocks.min_ff(len(src_data)) dst = blocks.vector_sink_f() self.tb.connect(src, s2v, op, dst) self.tb.run() result_data = dst.data() self.assertEqual(expected_result, result_data)
def stest_003(self): src_data0 = (0, 2, -3, 0, 12, 0) src_data1 = (1, 1, 1, 1, 1, 1) expected_result = [float(min(x,y)) for x,y in zip(src_data0, src_data1)] src0 = blocks.vector_source_f(src_data0) src1 = blocks.vector_source_f(src_data1) op = blocks.min_ff(1) dst = blocks.vector_sink_f() self.tb.connect(src0, (op, 0)) self.tb.connect(src1, (op, 1)) self.tb.connect(op, dst) self.tb.run() result_data = dst.data() self.assertEqual(expected_result, result_data)
def stest_004(self): dim = 2 src_data0 = (0, 2, -3, 0, 12, 0) src_data1 = (1, 1, 1, 1, 1, 1) expected_data = [] tmp = [float(min(x,y)) for x,y in zip(src_data0, src_data1)] for i in range(len(tmp) / dim): expected_data.append(float(min(tmp[i*dim:(i+1)*dim]))) src0 = blocks.vector_source_f(src_data0) s2v0 = blocks.stream_to_vector(gr.sizeof_float,dim) src1 = blocks.vector_source_f(src_data1) s2v1 = blocks.stream_to_vector(gr.sizeof_float,dim) op = blocks.min_ff(dim) dst = blocks.vector_sink_f() self.tb.connect(src0, s2v0, (op, 0)) self.tb.connect(src1, s2v1, (op, 1)) self.tb.connect(op, dst) self.tb.run() result_data = dst.data() self.assertEqual(expected_result, result_data)
def __init__(self): gr.top_block.__init__(self, "Not titled yet") Qt.QWidget.__init__(self) self.setWindowTitle("Not titled yet") 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", "receiver2") 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.samp_rate = samp_rate = 2048e3 self.center_freq = center_freq = 434e6 ################################################## # Blocks ################################################## self.rtlsdr_source_0 = osmosdr.source(args="numchan=" + str(1) + " " + "") self.rtlsdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t()) self.rtlsdr_source_0.set_sample_rate(samp_rate) self.rtlsdr_source_0.set_center_freq(center_freq, 0) self.rtlsdr_source_0.set_freq_corr(0, 0) self.rtlsdr_source_0.set_gain(0, 0) self.rtlsdr_source_0.set_if_gain(20, 0) self.rtlsdr_source_0.set_bb_gain(20, 0) self.rtlsdr_source_0.set_antenna('', 0) self.rtlsdr_source_0.set_bandwidth(0, 0) self.qtgui_time_sink_x_2 = qtgui.time_sink_f( 1024, #size samp_rate, #samp_rate 'Minimum', #name 1 #number of inputs ) self.qtgui_time_sink_x_2.set_update_time(0.10) self.qtgui_time_sink_x_2.set_y_axis(-1, 1) self.qtgui_time_sink_x_2.set_y_label('Amplitude', "") self.qtgui_time_sink_x_2.enable_tags(True) self.qtgui_time_sink_x_2.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "") self.qtgui_time_sink_x_2.enable_autoscale(False) self.qtgui_time_sink_x_2.enable_grid(False) self.qtgui_time_sink_x_2.enable_axis_labels(True) self.qtgui_time_sink_x_2.enable_control_panel(False) self.qtgui_time_sink_x_2.enable_stem_plot(False) labels = [ 'Signal 1', 'Signal 2', 'Signal 3', 'Signal 4', 'Signal 5', 'Signal 6', 'Signal 7', 'Signal 8', 'Signal 9', 'Signal 10' ] 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] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] for i in range(1): if len(labels[i]) == 0: self.qtgui_time_sink_x_2.set_line_label( i, "Data {0}".format(i)) else: self.qtgui_time_sink_x_2.set_line_label(i, labels[i]) self.qtgui_time_sink_x_2.set_line_width(i, widths[i]) self.qtgui_time_sink_x_2.set_line_color(i, colors[i]) self.qtgui_time_sink_x_2.set_line_style(i, styles[i]) self.qtgui_time_sink_x_2.set_line_marker(i, markers[i]) self.qtgui_time_sink_x_2.set_line_alpha(i, alphas[i]) self._qtgui_time_sink_x_2_win = sip.wrapinstance( self.qtgui_time_sink_x_2.pyqwidget(), Qt.QWidget) self.top_grid_layout.addWidget(self._qtgui_time_sink_x_2_win) self.qtgui_time_sink_x_0_0 = qtgui.time_sink_f( 1024, #size samp_rate, #samp_rate 'Averaged', #name 1 #number of inputs ) self.qtgui_time_sink_x_0_0.set_update_time(0.10) 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(True) self.qtgui_time_sink_x_0_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.5, 0, 0, "") self.qtgui_time_sink_x_0_0.enable_autoscale(False) 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) labels = [ 'Signal 1', 'Signal 2', 'Signal 3', 'Signal 4', 'Signal 5', 'Signal 6', 'Signal 7', 'Signal 8', 'Signal 9', 'Signal 10' ] 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] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] for i in range(1): 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) self.qtgui_time_sink_x_0 = qtgui.time_sink_c( 1024, #size samp_rate, #samp_rate 'Source', #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(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) labels = [ 'Signal 1', 'Signal 2', 'Signal 3', 'Signal 4', 'Signal 5', 'Signal 6', 'Signal 7', 'Signal 8', 'Signal 9', 'Signal 10' ] 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] styles = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] markers = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] for i in range(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.blocks_sub_xx_0 = blocks.sub_ff(1) self.blocks_moving_average_xx_1 = blocks.moving_average_ff( 1000, 0.5, 4000, 1) self.blocks_moving_average_xx_0 = blocks.moving_average_ff( 5, 1, 4000, 1) self.blocks_min_xx_0 = blocks.min_ff(1, 1) self.blocks_complex_to_mag_0 = blocks.complex_to_mag(1) ################################################## # Connections ################################################## self.connect((self.blocks_complex_to_mag_0, 0), (self.blocks_moving_average_xx_0, 0)) self.connect((self.blocks_complex_to_mag_0, 0), (self.blocks_moving_average_xx_1, 0)) self.connect((self.blocks_min_xx_0, 0), (self.blocks_sub_xx_0, 1)) self.connect((self.blocks_min_xx_0, 0), (self.qtgui_time_sink_x_2, 0)) self.connect((self.blocks_moving_average_xx_0, 0), (self.blocks_sub_xx_0, 0)) self.connect((self.blocks_moving_average_xx_1, 0), (self.blocks_min_xx_0, 0)) self.connect((self.blocks_sub_xx_0, 0), (self.qtgui_time_sink_x_0_0, 0)) self.connect((self.rtlsdr_source_0, 0), (self.blocks_complex_to_mag_0, 0)) self.connect((self.rtlsdr_source_0, 0), (self.qtgui_time_sink_x_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.length_tag_key = length_tag_key = "packet_len" 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.samp_rate = samp_rate = 100000 self.rolloff = rolloff = 0 self.pilot_symbols = pilot_symbols = (( 1, 1, 1, -1, ), ) self.pilot_carriers = pilot_carriers = (( -21, -7, 7, 21, ), ) self.payload_mod = payload_mod = digital.constellation_qpsk() self.packet_len = packet_len = 478 self.mysamp_rate = mysamp_rate = 50000000 self.min_singnal_var0 = min_singnal_var0 = 0 self.header_mod = header_mod = digital.constellation_bpsk() self.hdr_format = hdr_format = digital.header_format_ofdm( occupied_carriers, 1, length_tag_key, ) self.gain = gain = 0 self.fft_len = fft_len = 64 self.N_fft = N_fft = 1024 ################################################## # Blocks ################################################## self.min_signal0 = blocks.probe_signal_f() def _min_singnal_var0_probe(): while True: val = self.min_signal0.level() try: self.set_min_singnal_var0(val) except AttributeError: pass time.sleep(1.0 / (10)) _min_singnal_var0_thread = threading.Thread( target=_min_singnal_var0_probe) _min_singnal_var0_thread.daemon = True _min_singnal_var0_thread.start() self._gain_range = Range(0, 74, 1, 0, 200) self._gain_win = RangeWidget(self._gain_range, self.set_gain, 'gain', "counter_slider", float) self.top_grid_layout.addWidget(self._gain_win) self.uhd_usrp_source_0 = uhd.usrp_source( ",".join(("serial=31DDABF", "")), uhd.stream_args( cpu_format="fc32", channels=range(1), ), ) self.uhd_usrp_source_0.set_samp_rate(10e6) self.uhd_usrp_source_0.set_center_freq(2.402e9, 0) self.uhd_usrp_source_0.set_gain(gain, 0) self.uhd_usrp_source_0.set_antenna('TX/RX', 0) self.uhd_usrp_source_0.set_auto_dc_offset(True, 0) self.uhd_usrp_source_0.set_auto_iq_balance(True, 0) self.uhd_usrp_sink_0 = uhd.usrp_sink( ",".join(('serial= 31DDAA6', "")), uhd.stream_args( cpu_format="fc32", channels=range(1), ), ) self.uhd_usrp_sink_0.set_samp_rate(3000000) self.uhd_usrp_sink_0.set_center_freq(1E9, 0) self.uhd_usrp_sink_0.set_gain(50, 0) self.uhd_usrp_sink_0.set_antenna('TX/RX', 0) self.qtgui_time_sink_x_0 = qtgui.time_sink_c( 1024, #size samp_rate, #samp_rate 'Scope Plot', #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(True) 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 = ['Scope Plot', '', '', '', '', '', '', '', '', ''] 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.qtgui_freq_sink_x_0 = qtgui.freq_sink_c( 1024, #size firdes.WIN_BLACKMAN_hARRIS, #wintype 0, #fc samp_rate, #bw 'FFT Plot', #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(True) 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) self.fft_vxx_1 = fft.fft_vcc(N_fft, True, (window.blackmanharris(N_fft)), False, 1) self.fft_vxx_0 = fft.fft_vcc(fft_len, False, (()), True, 1) self.digital_protocol_formatter_bb_0 = digital.protocol_formatter_bb( hdr_format, length_tag_key) self.digital_ofdm_cyclic_prefixer_0 = digital.ofdm_cyclic_prefixer( fft_len, fft_len + fft_len / 4, rolloff, length_tag_key) self.digital_ofdm_carrier_allocator_cvc_0 = digital.ofdm_carrier_allocator_cvc( fft_len, occupied_carriers, pilot_carriers, pilot_symbols, (sync_word1, sync_word2), length_tag_key) self.digital_crc32_bb_0 = digital.crc32_bb(False, length_tag_key, True) self.digital_chunks_to_symbols_xx_0_0 = digital.chunks_to_symbols_bc( (payload_mod.points()), 1) self.digital_chunks_to_symbols_xx_0 = digital.chunks_to_symbols_bc( (header_mod.points()), 1) self.blocks_vector_to_stream_0 = blocks.vector_to_stream( gr.sizeof_float * 1, N_fft) self.blocks_tagged_stream_mux_0 = blocks.tagged_stream_mux( gr.sizeof_gr_complex * 1, length_tag_key, 0) self.blocks_tag_gate_0 = blocks.tag_gate(gr.sizeof_gr_complex * 1, False) self.blocks_tag_gate_0.set_single_key("") self.blocks_stream_to_vector_0 = blocks.stream_to_vector( gr.sizeof_gr_complex * 1, N_fft) self.blocks_stream_to_tagged_stream_0 = blocks.stream_to_tagged_stream( gr.sizeof_char, 1, packet_len, length_tag_key) self.blocks_repack_bits_bb_0_0 = blocks.repack_bits_bb( 8, 1, length_tag_key, False, gr.GR_LSB_FIRST) self.blocks_repack_bits_bb_0 = blocks.repack_bits_bb( 8, payload_mod.bits_per_symbol(), length_tag_key, False, gr.GR_LSB_FIRST) self.blocks_nlog10_ff_0_0 = blocks.nlog10_ff(10, 1, 0) self.blocks_nlog10_ff_0 = blocks.nlog10_ff(10, 1, -1 * min_singnal_var0) self.blocks_multiply_const_vxx_0_2 = blocks.multiply_const_vcc( (0.05, )) self.blocks_multiply_const_vxx_0_1 = blocks.multiply_const_vff( (N_fft / 50e6, )) self.blocks_multiply_const_vxx_0_0_0 = blocks.multiply_const_vff( (N_fft / 50e6, )) self.blocks_min_xx_0 = blocks.min_ff(N_fft, 1) self.blocks_float_to_uchar_0 = blocks.float_to_uchar() self.blocks_complex_to_mag_squared_0 = blocks.complex_to_mag_squared( N_fft) ################################################## # Connections ################################################## self.connect((self.blocks_complex_to_mag_squared_0, 0), (self.blocks_min_xx_0, 0)) self.connect((self.blocks_complex_to_mag_squared_0, 0), (self.blocks_vector_to_stream_0, 0)) self.connect((self.blocks_float_to_uchar_0, 0), (self.blocks_stream_to_tagged_stream_0, 0)) self.connect((self.blocks_min_xx_0, 0), (self.blocks_multiply_const_vxx_0_0_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_0_0, 0), (self.blocks_nlog10_ff_0_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_1, 0), (self.blocks_nlog10_ff_0, 0)) self.connect((self.blocks_multiply_const_vxx_0_2, 0), (self.blocks_tag_gate_0, 0)) self.connect((self.blocks_nlog10_ff_0, 0), (self.blocks_float_to_uchar_0, 0)) self.connect((self.blocks_nlog10_ff_0_0, 0), (self.min_signal0, 0)) self.connect((self.blocks_repack_bits_bb_0, 0), (self.digital_chunks_to_symbols_xx_0_0, 0)) self.connect((self.blocks_repack_bits_bb_0_0, 0), (self.digital_chunks_to_symbols_xx_0, 0)) self.connect((self.blocks_stream_to_tagged_stream_0, 0), (self.digital_crc32_bb_0, 0)) self.connect((self.blocks_stream_to_vector_0, 0), (self.fft_vxx_1, 0)) self.connect((self.blocks_tag_gate_0, 0), (self.qtgui_freq_sink_x_0, 0)) self.connect((self.blocks_tag_gate_0, 0), (self.qtgui_time_sink_x_0, 0)) self.connect((self.blocks_tag_gate_0, 0), (self.uhd_usrp_sink_0, 0)) self.connect((self.blocks_tagged_stream_mux_0, 0), (self.digital_ofdm_carrier_allocator_cvc_0, 0)) self.connect((self.blocks_vector_to_stream_0, 0), (self.blocks_multiply_const_vxx_0_1, 0)) self.connect((self.digital_chunks_to_symbols_xx_0, 0), (self.blocks_tagged_stream_mux_0, 0)) self.connect((self.digital_chunks_to_symbols_xx_0_0, 0), (self.blocks_tagged_stream_mux_0, 1)) self.connect((self.digital_crc32_bb_0, 0), (self.blocks_repack_bits_bb_0, 0)) self.connect((self.digital_crc32_bb_0, 0), (self.digital_protocol_formatter_bb_0, 0)) self.connect((self.digital_ofdm_carrier_allocator_cvc_0, 0), (self.fft_vxx_0, 0)) self.connect((self.digital_ofdm_cyclic_prefixer_0, 0), (self.blocks_multiply_const_vxx_0_2, 0)) self.connect((self.digital_protocol_formatter_bb_0, 0), (self.blocks_repack_bits_bb_0_0, 0)) self.connect((self.fft_vxx_0, 0), (self.digital_ofdm_cyclic_prefixer_0, 0)) self.connect((self.fft_vxx_1, 0), (self.blocks_complex_to_mag_squared_0, 0)) self.connect((self.uhd_usrp_source_0, 0), (self.blocks_stream_to_vector_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))