Exemplo n.º 1
0
    def __init__(self, dps=500, l1=10.0, l2=15.0, ld=4.0, nthreads=8):
        gr.top_block.__init__(self, "Test Sim")

        ##################################################
        # Parameters
        ##################################################
        self.dps = dps
        self.l1 = l1
        self.l2 = l2
        self.ld = ld
        self.nthreads = nthreads

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = 25e6
        self.dbps = dbps = 100

        ##################################################
        # Blocks
        ##################################################
        self.eventsim_operation2_0 = eventsim.operation2(samp_rate, 0, l2)
        self.eventsim_operation1_0 = eventsim.operation1(samp_rate, 0, l1)
        self.eventsim_detector_0 = eventsim.detector(samp_rate, dps, ld)
        self.es_trigger_sample_timer_0 = es.trigger_sample_timer(
            gr.sizeof_gr_complex, int(samp_rate / dbps), 10000, int(samp_rate),
            int(samp_rate / dbps))
        (self.es_trigger_sample_timer_0).set_min_output_buffer(2000000)
        self.es_sink_0 = es.sink(1 * [gr.sizeof_gr_complex], nthreads, 256, 0,
                                 2, "")
        self.blocks_file_source_0 = blocks.file_source(
            gr.sizeof_gr_complex * 1, "test.dat", True)

        ##################################################
        # Connections
        ##################################################
        self.msg_connect((self.es_trigger_sample_timer_0, 'which_stream'),
                         (self.es_sink_0, 'schedule_event'))
        self.msg_connect(
            (self.es_trigger_sample_timer_0, 'sample_timer_event'),
            (self.eventsim_detector_0, 'handle_event'))
        self.msg_connect((self.eventsim_detector_0, 'which_stream'),
                         (self.es_sink_0, 'schedule_event'))
        self.msg_connect((self.eventsim_detector_0, 'detect_type1_event'),
                         (self.eventsim_operation1_0, 'handle_event'))
        self.msg_connect((self.eventsim_detector_0, 'detect_type2_event'),
                         (self.eventsim_operation2_0, 'handle_event'))
        self.msg_connect((self.eventsim_operation1_0, 'which_stream'),
                         (self.es_sink_0, 'schedule_event'))
        self.msg_connect((self.eventsim_operation1_0, 'type1_event'),
                         (self.eventsim_operation2_0, 'handle_event'))
        self.msg_connect((self.eventsim_operation2_0, 'which_stream'),
                         (self.es_sink_0, 'schedule_event'))
        self.connect((self.blocks_file_source_0, 0),
                     (self.es_trigger_sample_timer_0, 0))
        self.connect((self.es_trigger_sample_timer_0, 0), (self.es_sink_0, 0))
Exemplo n.º 2
0
    def __init__(self, l1=10.0, l2=15.0, ld=4.0, nthreads=1, dps=500, nsinks=4):
        gr.top_block.__init__(self, "Test Sim Multi")

        ##################################################
        # Parameters
        ##################################################
        self.l1 = l1
        self.l2 = l2
        self.ld = ld
        self.nthreads = nthreads
        self.dps = dps
        self.nsinks = nsinks

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = 25e6
        self.dbps = dbps = 10

        ##################################################
        # Blocks
        ##################################################
        self.eventsim_operation2_0 = eventsim.operation2(samp_rate, 0, l2)
        self.eventsim_operation1_0 = eventsim.operation1(samp_rate, 0, l1)
        self.eventsim_detector_0 = eventsim.detector(samp_rate, dps, ld, 20)
        self.es_trigger_sample_timer_0 = es.trigger_sample_timer(gr.sizeof_gr_complex, int(samp_rate/dbps), 0, 4*int(samp_rate), int(samp_rate/dbps) )
        (self.es_trigger_sample_timer_0).set_min_output_buffer(8000000)
        self.es_mulisink_0 = es.multisink(1*[gr.sizeof_gr_complex],nthreads,128,1,2,"grp", nsinks)
        self.blocks_null_source_0 = blocks.null_source(gr.sizeof_gr_complex*1)

        ##################################################
        # Connections
        ##################################################
        self.msg_connect((self.es_trigger_sample_timer_0, 'which_stream'), (self.es_mulisink_0, 'schedule_event'))    
        self.msg_connect((self.es_trigger_sample_timer_0, 'sample_timer_event'), (self.eventsim_detector_0, 'handle_event'))    
        self.msg_connect((self.eventsim_detector_0, 'which_stream'), (self.es_mulisink_0, 'schedule_event'))    
        self.msg_connect((self.eventsim_detector_0, 'detect_type1_event'), (self.eventsim_operation1_0, 'handle_event'))    
        self.msg_connect((self.eventsim_detector_0, 'detect_type2_event'), (self.eventsim_operation2_0, 'handle_event'))    
        self.msg_connect((self.eventsim_operation1_0, 'which_stream'), (self.es_mulisink_0, 'schedule_event'))    
        self.msg_connect((self.eventsim_operation1_0, 'type1_event'), (self.eventsim_operation2_0, 'handle_event'))    
        self.msg_connect((self.eventsim_operation2_0, 'which_stream'), (self.es_mulisink_0, 'schedule_event'))    
        self.connect((self.blocks_null_source_0, 0), (self.es_trigger_sample_timer_0, 0))    
        self.connect((self.es_trigger_sample_timer_0, 0), (self.es_mulisink_0, 0))    
Exemplo n.º 3
0
    def __init__(self, dps=500, l1=10.0, l2=15.0, ld=4.0, nthreads=8):
        gr.top_block.__init__(self, "Test Sim")

        ##################################################
        # Parameters
        ##################################################
        self.dps = dps
        self.l1 = l1
        self.l2 = l2
        self.ld = ld
        self.nthreads = nthreads

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = 25e6
        self.dbps = dbps = 100

        ##################################################
        # Blocks
        ##################################################
        self.eventsim_operation2_0 = eventsim.operation2(samp_rate, 0, l2)
        self.eventsim_operation1_0 = eventsim.operation1(samp_rate, 0, l1)
        self.eventsim_detector_0 = eventsim.detector(samp_rate, dps, ld)
        self.es_trigger_sample_timer_0 = es.trigger_sample_timer(gr.sizeof_gr_complex, int(samp_rate/dbps), 10000, int(samp_rate), int(samp_rate/dbps) )
        (self.es_trigger_sample_timer_0).set_min_output_buffer(2000000)
        self.es_sink_0 = es.sink(1*[gr.sizeof_gr_complex],nthreads,256,0,2,"")
        self.blocks_file_source_0 = blocks.file_source(gr.sizeof_gr_complex*1, "test.dat", True)

        ##################################################
        # Connections
        ##################################################
        self.msg_connect((self.es_trigger_sample_timer_0, 'which_stream'), (self.es_sink_0, 'schedule_event'))    
        self.msg_connect((self.es_trigger_sample_timer_0, 'sample_timer_event'), (self.eventsim_detector_0, 'handle_event'))    
        self.msg_connect((self.eventsim_detector_0, 'which_stream'), (self.es_sink_0, 'schedule_event'))    
        self.msg_connect((self.eventsim_detector_0, 'detect_type1_event'), (self.eventsim_operation1_0, 'handle_event'))    
        self.msg_connect((self.eventsim_detector_0, 'detect_type2_event'), (self.eventsim_operation2_0, 'handle_event'))    
        self.msg_connect((self.eventsim_operation1_0, 'which_stream'), (self.es_sink_0, 'schedule_event'))    
        self.msg_connect((self.eventsim_operation1_0, 'type1_event'), (self.eventsim_operation2_0, 'handle_event'))    
        self.msg_connect((self.eventsim_operation2_0, 'which_stream'), (self.es_sink_0, 'schedule_event'))    
        self.connect((self.blocks_file_source_0, 0), (self.es_trigger_sample_timer_0, 0))    
        self.connect((self.es_trigger_sample_timer_0, 0), (self.es_sink_0, 0))    
Exemplo n.º 4
0
    def __init__(self, div=200, fc=683e6, gain=0, samp_rate=6e6):
        gr.top_block.__init__(self, "Uhdgps Rssi Log")
        Qt.QWidget.__init__(self)
        self.setWindowTitle("Uhdgps Rssi Log")
        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", "uhdgps_rssi_log")
        self.restoreGeometry(self.settings.value("geometry").toByteArray())

        ##################################################
        # Parameters
        ##################################################
        self.div = div
        self.fc = fc
        self.gain = gain
        self.samp_rate = samp_rate

        ##################################################
        # Blocks
        ##################################################
        self.uhdgps_meta_to_json_file_0 = uhdgps.meta_to_json_file(
            '/tmp/WAMU_RSSI_all_the_test%(time)s.json')
        self.uhdgps_cpdu_average_power_0 = uhdgps.cpdu_average_power(-60)
        self.uhd_usrp_source_0 = uhd.usrp_source(
            ",".join(("addr=192.168.10.7", "")),
            uhd.stream_args(
                cpu_format="fc32",
                channels=range(1),
            ),
        )
        self.uhd_usrp_source_0.set_clock_rate(120e6, uhd.ALL_MBOARDS)
        self.uhd_usrp_source_0.set_samp_rate(samp_rate)
        self.uhd_usrp_source_0.set_center_freq(fc, 0)
        self.uhd_usrp_source_0.set_gain(gain, 0)
        self.frequency_hopper_frequency_sweeper_0 = frequency_hopper.frequency_sweeper(
            fc, 6e6, 887e6)
        self.es_trigger_sample_timer_0 = es.trigger_sample_timer(
            gr.sizeof_gr_complex,
            int(samp_rate) / div, int(3e3),
            int(samp_rate) / div, 1024)
        self.es_sink_0 = es.sink(1 * [gr.sizeof_gr_complex], 8, 64, 2, 2, 0)
        self.es_handler_pdu_0 = es.es_make_handler_pdu(
            es.es_handler_print.TYPE_C32)
        self.blocks_pdu_remove_0 = blocks.pdu_remove(
            pmt.intern("es::event_buffer"))
        self.blocks_message_strobe_0 = blocks.message_strobe(
            pmt.intern("TEST"), 1e6 / div)
        self.blocks_message_debug_0 = blocks.message_debug()

        ##################################################
        # Connections
        ##################################################
        self.msg_connect((self.blocks_message_strobe_0, 'strobe'),
                         (self.frequency_hopper_frequency_sweeper_0, 'clock'))
        self.msg_connect((self.blocks_pdu_remove_0, 'pdus'),
                         (self.blocks_message_debug_0, 'print_pdu'))
        self.msg_connect((self.blocks_pdu_remove_0, 'pdus'),
                         (self.uhdgps_meta_to_json_file_0, 'pdus'))
        self.msg_connect((self.es_handler_pdu_0, 'pdus_out'),
                         (self.uhdgps_cpdu_average_power_0, 'cpdus'))
        self.msg_connect(
            (self.es_trigger_sample_timer_0, 'sample_timer_event'),
            (self.es_handler_pdu_0, 'handle_event'))
        self.msg_connect((self.es_trigger_sample_timer_0, 'which_stream'),
                         (self.es_sink_0, 'schedule_event'))
        self.msg_connect(
            (self.frequency_hopper_frequency_sweeper_0, 'msg_out'),
            (self.uhd_usrp_source_0, 'command'))
        self.msg_connect((self.uhdgps_cpdu_average_power_0, 'cpdus'),
                         (self.blocks_pdu_remove_0, 'pdus'))
        self.connect((self.es_trigger_sample_timer_0, 0), (self.es_sink_0, 0))
        self.connect((self.uhd_usrp_source_0, 0),
                     (self.es_trigger_sample_timer_0, 0))
Exemplo n.º 5
0
    def __init__(self, freq=2480000000, gain=48, method=7):
        gr.top_block.__init__(self,
                              "IEEE 802.15.4 Transceiver using OQPSK PHY")

        ##################################################
        # Parameters
        ##################################################
        self.freq = freq
        self.gain = gain
        self.method = method

        ##################################################
        # Blocks
        ##################################################
        self.uhdgps_cpdu_average_power_0 = uhdgps.cpdu_average_power(-60)
        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(5000000)
        self.uhd_usrp_source_0.set_center_freq(freq, 0)
        self.uhd_usrp_source_0.set_gain(gain, 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(5000000)
        self.uhd_usrp_sink_0.set_center_freq(freq, 0)
        self.uhd_usrp_sink_0.set_gain(gain, 0)
        self.lqe_powerControl_0 = lqe.powerControl(
            gain, '/home/wendley/SerieGanho100ms.txt', False)
        self.lqe_getRSSI_0 = lqe.getRSSI(False, 2, 2, 40, -108, -67, 0.500,
                                         0.2, 0.1, 0.05)
        self.ieee802_15_4_rime_stack_0 = ieee802_15_4.rime_stack(
            ([129]), ([131]), ([132]), ([23, 42]))
        self.ieee802_15_4_oqpsk_phy_0 = ieee802_15_4_oqpsk_phy()
        self.ieee802_15_4_mac_0 = ieee802_15_4.mac(True)
        self.foo_periodic_msg_source_1 = foo.periodic_msg_source(
            pmt.intern(
                "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
            ), 400, 1000, True, False)
        self.es_trigger_sample_timer_0 = es.trigger_sample_timer(
            gr.sizeof_gr_complex, int(2000), 2, int(4000000), 512)
        self.es_sink_0 = es.sink(1 * [gr.sizeof_gr_complex], 8, 64, 0, 2, 0)
        self.es_handler_pdu_0 = es.es_make_handler_pdu(
            es.es_handler_print.TYPE_C32)
        self.digital_probe_mpsk_snr_est_c_0 = digital.probe_mpsk_snr_est_c(
            2, 1000, 0.001)
        self.blocks_socket_pdu_0_0 = blocks.socket_pdu("UDP_SERVER", '',
                                                       '52001', 10000, False)
        self.blocks_pdu_remove_0 = blocks.pdu_remove(
            pmt.intern("es::event_buffer"))

        ##################################################
        # Connections
        ##################################################
        self.msg_connect((self.blocks_pdu_remove_0, 'pdus'),
                         (self.ieee802_15_4_mac_0, 'cs in'))
        self.msg_connect((self.blocks_socket_pdu_0_0, 'pdus'),
                         (self.ieee802_15_4_rime_stack_0, 'bcin'))
        self.msg_connect((self.digital_probe_mpsk_snr_est_c_0, 'snr'),
                         (self.lqe_getRSSI_0, 'SNR'))
        self.msg_connect((self.es_handler_pdu_0, 'pdus_out'),
                         (self.uhdgps_cpdu_average_power_0, 'cpdus'))
        self.msg_connect(
            (self.es_trigger_sample_timer_0, 'sample_timer_event'),
            (self.es_handler_pdu_0, 'handle_event'))
        self.msg_connect((self.es_trigger_sample_timer_0, 'which_stream'),
                         (self.es_sink_0, 'schedule_event'))
        self.msg_connect((self.foo_periodic_msg_source_1, 'out'),
                         (self.ieee802_15_4_rime_stack_0, 'bcin'))
        self.msg_connect((self.foo_periodic_msg_source_1, 'out'),
                         (self.lqe_getRSSI_0, 'sendOrder'))
        self.msg_connect((self.ieee802_15_4_mac_0, 'pdu out'),
                         (self.ieee802_15_4_oqpsk_phy_0, 'txin'))
        self.msg_connect((self.ieee802_15_4_mac_0, 'app out'),
                         (self.ieee802_15_4_rime_stack_0, 'fromMAC'))
        self.msg_connect((self.ieee802_15_4_mac_0, 'ackOut'),
                         (self.lqe_getRSSI_0, 'Ackin'))
        self.msg_connect((self.ieee802_15_4_mac_0, 'packLost'),
                         (self.lqe_getRSSI_0, 'lostPacks'))
        self.msg_connect((self.ieee802_15_4_mac_0, 'resendPck'),
                         (self.lqe_getRSSI_0, 'sendPacks'))
        self.msg_connect((self.ieee802_15_4_mac_0, 'ackOut'),
                         (self.lqe_powerControl_0, 'saveGain'))
        self.msg_connect((self.ieee802_15_4_mac_0, 'resendPck'),
                         (self.lqe_powerControl_0, 'saveGain'))
        self.msg_connect((self.ieee802_15_4_oqpsk_phy_0, 'rxout'),
                         (self.ieee802_15_4_mac_0, 'pdu in'))
        self.msg_connect((self.ieee802_15_4_rime_stack_0, 'bcout'),
                         (self.blocks_socket_pdu_0_0, 'pdus'))
        self.msg_connect((self.ieee802_15_4_rime_stack_0, 'toMAC'),
                         (self.ieee802_15_4_mac_0, 'app in'))
        self.msg_connect((self.lqe_getRSSI_0, 'estimation'),
                         (self.lqe_powerControl_0, 'estimation'))
        self.msg_connect((self.uhdgps_cpdu_average_power_0, 'cpdus'),
                         (self.blocks_pdu_remove_0, 'pdus'))
        self.msg_connect((self.uhdgps_cpdu_average_power_0, 'rssi'),
                         (self.lqe_getRSSI_0, 'RSSIin'))
        self.connect((self.es_trigger_sample_timer_0, 0), (self.es_sink_0, 0))
        self.connect((self.ieee802_15_4_oqpsk_phy_0, 0),
                     (self.uhd_usrp_sink_0, 0))
        self.connect((self.uhd_usrp_source_0, 0),
                     (self.digital_probe_mpsk_snr_est_c_0, 0))
        self.connect((self.uhd_usrp_source_0, 0),
                     (self.es_trigger_sample_timer_0, 0))
        self.connect((self.uhd_usrp_source_0, 0),
                     (self.ieee802_15_4_oqpsk_phy_0, 0))