Exemple #1
0
 def setup_tdma_engines(self):
     print ' setup_tdma_engines'
     self.tdmaegns = []
     for i in range(self.n_devices):
         #initial_slot = NODES_PC*self._node_id + i
         initial_slot = self.node_slot_start + i
         print ' initial slot = %d' % (initial_slot)
         print self.addrs[i]
         if self.tx_only == False:
             number_of_slots = NETWORK_SIZE
             self.tdmaegns.append(
                 precog.tdma_engine(
                     initial_slot,
                     0.100,  #options.slot_interval,
                     0.040,  #options.guard_interval,
                     70,  #number_of_slots,#options.number_of_slots,
                     0.000,  #options.lead_limit,
                     self.link_rate,
                     self.addrs[i],
                     self.randbinfile,
                     False))
         else:
             # if tx_only == True, all the transmitter will transmitt simuletaneously and continuously.
             self.tdmaegns.append(
                 precog.tdma_engine(
                     initial_slot,
                     0.100,  #options.slot_interval,
                     0.000,  #options.guard_interval,
                     1,  #number_of_slots,#options.number_of_slots,
                     0.005,  #options.lead_limit,
                     self.link_rate,
                     self.addrs[i],
                     self.randbinfile,
                     False))
Exemple #2
0
 def setup_tdma_engines(self):
     print ' setup_tdma_engines'
     self.tdmaegns = []
     for i in range(self.n_devices):
         #initial_slot = NODES_PC*self._node_id + i
         initial_slot = self.node_slot_start + i 
         print ' initial slot = %d' %(initial_slot)
         print self.addrs[i]
         if self.tx_only == False:
             number_of_slots = NETWORK_SIZE
             self.tdmaegns.append(precog.tdma_engine(initial_slot,
                                                     0.100,#options.slot_interval,
                                                     0.040,#options.guard_interval,
                                                     70,    #number_of_slots,#options.number_of_slots,
                                                     0.000,#options.lead_limit,
                                                     self.link_rate,
                                                     self.addrs[i],
                                                     self.randbinfile,
                                                     False))
         else:
             # if tx_only == True, all the transmitter will transmitt simuletaneously and continuously.
             self.tdmaegns.append(precog.tdma_engine(initial_slot,
                                                     0.100,#options.slot_interval,
                                                     0.000,#options.guard_interval,
                                                     1,    #number_of_slots,#options.number_of_slots,
                                                     0.005,#options.lead_limit,
                                                     self.link_rate,
                                                     self.addrs[i],
                                                     self.randbinfile,
                                                     False))                
Exemple #3
0
 def setup_tdma_engines(self):
     print ' setup_tdma_engines'
     self.tdmaegns = []
     for i in range(self.n_devices):
         initial_slot = NODES_PC*self._node_id + i
         number_of_slots = NETWORK_SIZE
         self.tdmaegns.append(precog.tdma_engine(initial_slot,
                                                 0.050,#options.slot_interval,
                                                 0.010,#options.guard_interval,
                                                 number_of_slots,#options.number_of_slots,
                                                 0.005,#options.lead_limit,
                                                 self.link_rate))
Exemple #4
0
	def __init__(self, rx_gain=15, rate=1e6, samp_per_sym=4, args="", freq=915e6, ampl=0.7, tx_gain=15, number_of_slots=10, lead_limit=0.025, initial_slot=15, link_speed=15, slot_interval=0.010, guard_interval=15):
		gr.hier_block2.__init__(
			self, "TDMA_HIER",
			gr.io_signaturev(2, 2, [gr.sizeof_char*1, gr.sizeof_char*1]),
			gr.io_signaturev(2, 2, [gr.sizeof_char*1, gr.sizeof_char*1]),
		)

		##################################################
		# Parameters
		##################################################
		self.rx_gain = rx_gain
		self.rate = rate
		self.samp_per_sym = samp_per_sym
		self.args = args
		self.freq = freq
		self.ampl = ampl
		self.tx_gain = tx_gain
		self.number_of_slots = number_of_slots
		self.lead_limit = lead_limit
		self.initial_slot = initial_slot
		self.link_speed = link_speed
		self.slot_interval = slot_interval
		self.guard_interval = guard_interval

		##################################################
		# Variables
		##################################################
		self.samp_rate = samp_rate = rate

		##################################################
		# Blocks
		##################################################
		self.usrp_source = uhd.usrp_source(
			device_addr=args,
			stream_args=uhd.stream_args(
				cpu_format="fc32",
				channels=range(1),
			),
		)
		self.usrp_source.set_time_source("external", 0)
		self.usrp_source.set_time_unknown_pps(uhd.time_spec())
		self.usrp_source.set_samp_rate(samp_rate)
		self.usrp_source.set_center_freq(freq, 0)
		self.usrp_source.set_gain(rx_gain, 0)
		self.usrp_source.set_antenna("TX/RX", 0)
		self.usrp_sink = uhd.usrp_sink(
			device_addr=args,
			stream_args=uhd.stream_args(
				cpu_format="fc32",
				channels=range(1),
			),
		)
		self.usrp_sink.set_time_source("external", 0)
		self.usrp_sink.set_time_unknown_pps(uhd.time_spec())
		self.usrp_sink.set_samp_rate(samp_rate)
		self.usrp_sink.set_center_freq(freq, 0)
		self.usrp_sink.set_gain(tx_gain, 0)
		self.usrp_sink.set_antenna("TX/RX", 0)
		self.tdma_engine = precog.tdma_engine(initial_slot,slot_interval,guard_interval,number_of_slots,lead_limit,link_speed)
		self.gr_multiply_const_vxx_0 = gr.multiply_const_vcc((ampl, ))
		self.gmsk_mod = digital.gmsk_mod(
			samples_per_symbol=samp_per_sym,
			bt=0.35,
			verbose=False,
			log=False,
		)
		self.gmsk_demod = digital.gmsk_demod(
			samples_per_symbol=samp_per_sym,
			gain_mu=0.175,
			mu=0.5,
			omega_relative_limit=0.005,
			freq_error=0.0,
			verbose=False,
			log=False,
		)
		self.extras_pmt_rpc_0 = gr_extras.pmt_rpc(obj=self, result_msg=False)
		self.extras_packet_framer_0 = gr_extras.packet_framer(
		    samples_per_symbol=1,
		    bits_per_symbol=1,
		    access_code="",
		)
		self.extras_packet_deframer_0 = gr_extras.packet_deframer(
		    access_code="",
		    threshold=-1,
		)
		self.burst_gate_0 = precog.burst_gate()

		##################################################
		# Connections
		##################################################
		self.connect((self.usrp_source, 0), (self.tdma_engine, 0))
		self.connect((self.tdma_engine, 0), (self.extras_packet_framer_0, 0))
		self.connect((self.usrp_source, 0), (self.gmsk_demod, 0))
		self.connect((self.gmsk_demod, 0), (self.extras_packet_deframer_0, 0))
		self.connect((self.extras_packet_framer_0, 0), (self.gmsk_mod, 0))
		self.connect((self, 1), (self.tdma_engine, 1))
		self.connect((self, 0), (self.tdma_engine, 3))
		self.connect((self.extras_packet_deframer_0, 0), (self, 1))
		self.connect((self.gmsk_mod, 0), (self.gr_multiply_const_vxx_0, 0))
		self.connect((self.gr_multiply_const_vxx_0, 0), (self.burst_gate_0, 0))
		self.connect((self.burst_gate_0, 0), (self.usrp_sink, 0))
		self.connect((self.extras_packet_deframer_0, 0), (self.tdma_engine, 2))
		self.connect((self, 0), (self.extras_pmt_rpc_0, 0))
		self.connect((self.tdma_engine, 1), (self, 0))
Exemple #5
0
    def __init__(self,
                 rx_gain=15,
                 rate=1e6,
                 samp_per_sym=4,
                 args="",
                 freq=915e6,
                 ampl=0.7,
                 tx_gain=15,
                 number_of_slots=10,
                 lead_limit=0.025,
                 initial_slot=15,
                 link_speed=15,
                 slot_interval=0.010,
                 guard_interval=15):
        gr.hier_block2.__init__(
            self,
            "TDMA_HIER",
            gr.io_signaturev(2, 2, [gr.sizeof_char * 1, gr.sizeof_char * 1]),
            gr.io_signaturev(2, 2, [gr.sizeof_char * 1, gr.sizeof_char * 1]),
        )

        ##################################################
        # Parameters
        ##################################################
        self.rx_gain = rx_gain
        self.rate = rate
        self.samp_per_sym = samp_per_sym
        self.args = args
        self.freq = freq
        self.ampl = ampl
        self.tx_gain = tx_gain
        self.number_of_slots = number_of_slots
        self.lead_limit = lead_limit
        self.initial_slot = initial_slot
        self.link_speed = link_speed
        self.slot_interval = slot_interval
        self.guard_interval = guard_interval

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = rate

        ##################################################
        # Blocks
        ##################################################
        self.usrp_source = uhd.usrp_source(
            device_addr=args,
            stream_args=uhd.stream_args(
                cpu_format="fc32",
                channels=range(1),
            ),
        )
        self.usrp_source.set_time_source("external", 0)
        self.usrp_source.set_time_unknown_pps(uhd.time_spec())
        self.usrp_source.set_samp_rate(samp_rate)
        self.usrp_source.set_center_freq(freq, 0)
        self.usrp_source.set_gain(rx_gain, 0)
        self.usrp_source.set_antenna("TX/RX", 0)
        self.usrp_sink = uhd.usrp_sink(
            device_addr=args,
            stream_args=uhd.stream_args(
                cpu_format="fc32",
                channels=range(1),
            ),
        )
        self.usrp_sink.set_time_source("external", 0)
        self.usrp_sink.set_time_unknown_pps(uhd.time_spec())
        self.usrp_sink.set_samp_rate(samp_rate)
        self.usrp_sink.set_center_freq(freq, 0)
        self.usrp_sink.set_gain(tx_gain, 0)
        self.usrp_sink.set_antenna("TX/RX", 0)
        self.tdma_engine = precog.tdma_engine(initial_slot, slot_interval,
                                              guard_interval, number_of_slots,
                                              lead_limit, link_speed)
        self.gr_multiply_const_vxx_0 = gr.multiply_const_vcc((ampl, ))
        self.gmsk_mod = digital.gmsk_mod(
            samples_per_symbol=samp_per_sym,
            bt=0.35,
            verbose=False,
            log=False,
        )
        self.gmsk_demod = digital.gmsk_demod(
            samples_per_symbol=samp_per_sym,
            gain_mu=0.175,
            mu=0.5,
            omega_relative_limit=0.005,
            freq_error=0.0,
            verbose=False,
            log=False,
        )
        self.extras_pmt_rpc_0 = gr_extras.pmt_rpc(obj=self, result_msg=False)
        self.extras_packet_framer_0 = gr_extras.packet_framer(
            samples_per_symbol=1,
            bits_per_symbol=1,
            access_code="",
        )
        self.extras_packet_deframer_0 = gr_extras.packet_deframer(
            access_code="",
            threshold=-1,
        )
        self.burst_gate_0 = precog.burst_gate()

        ##################################################
        # Connections
        ##################################################
        self.connect((self.usrp_source, 0), (self.tdma_engine, 0))
        self.connect((self.tdma_engine, 0), (self.extras_packet_framer_0, 0))
        self.connect((self.usrp_source, 0), (self.gmsk_demod, 0))
        self.connect((self.gmsk_demod, 0), (self.extras_packet_deframer_0, 0))
        self.connect((self.extras_packet_framer_0, 0), (self.gmsk_mod, 0))
        self.connect((self, 1), (self.tdma_engine, 1))
        self.connect((self, 0), (self.tdma_engine, 3))
        self.connect((self.extras_packet_deframer_0, 0), (self, 1))
        self.connect((self.gmsk_mod, 0), (self.gr_multiply_const_vxx_0, 0))
        self.connect((self.gr_multiply_const_vxx_0, 0), (self.burst_gate_0, 0))
        self.connect((self.burst_gate_0, 0), (self.usrp_sink, 0))
        self.connect((self.extras_packet_deframer_0, 0), (self.tdma_engine, 2))
        self.connect((self, 0), (self.extras_pmt_rpc_0, 0))
        self.connect((self.tdma_engine, 1), (self, 0))