def __init__(self, gui, options): ''' See below for what options should hold ''' gr.hier_block2.__init__(self, "transmit_path", gr.io_signature(0, 0, 0), # Input signature gr.io_signature(0, 0, 0)) # Output signature options = copy.copy(options) # make a copy so we can destructively modify self._verbose = options.verbose self._tx_amplitude = options.tx_amplitude # digital amplitude sent to USRP self._bitrate = options.rate # desired bit rate self._samples_per_symbol = options.sps # desired samples/baud #setup usrp self._setup_usrp_sink(options) #create a BPSK modulator self.modulator = bpsk_modulator(gui, options) # the modulator we are using #create packet input like in ieee 802.15.4 #the size of the queue is 2 messages #######################************* msgq_limit = 10 self.pkt_input = gr.message_source(gr.sizeof_char, msgq_limit) #self.vector_source = gr.vector_source_b([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,1,0,1,0,0,1,1,1,], True) #The same chain like in ieee transceiver #add gain like in ieee802.15.4 #######################################***************** #self.normal_gain = 8000 #self.gain = gr.multiply_const_cc (self.normal_gain) #self.amp = gr.multiply_const_cc(1) #self.set_tx_amplitude(self._tx_amplitude) # Display some information about the setup if self._verbose: self._print_verbage() # Connect components in the flowgraph #self.connect(self.packet_transmitter, self.amp, self) #self.connect(self.vector_source, self.modulator, self.u) self.connect(self.pkt_input, self.modulator, self.u)
def __init__(self, principal_gui, options): ''' See below for what options should hold ''' gr.hier_block2.__init__(self, "transmit_path", gr.io_signature(0, 0, 0), # Input signature gr.io_signature(0, 0, 0)) # Output signature options = copy.copy(options) # make a copy so we can destructively modify self._verbose = options.verbose self._tx_amplitude = options.tx_amplitude # digital amplitude sent to USRP self._bitrate = options.rate # desired bit rate self._samples_per_symbol = options.sps # desired samples/baud #setup usrp self._setup_usrp_sink(options) #create a BPSK modulator self.modulator = bpsk_modulator(principal_gui, options) # the modulator we are using #create packet input like in ieee 802.15.4 #the size of the queue is 2 messages #######################************* msgq_limit = 10 self.pkt_input = blocks.message_source(gr.sizeof_char, msgq_limit) #The same chain like in ieee transceiver #add gain like in ieee802.15.4 #######################################***************** #self.normal_gain = 8000 #self.gain = gr.multiply_const_cc (self.normal_gain) self.amp = blocks.multiply_const_cc(options.amplitude) #self.set_tx_amplitude(self._tx_amplitude) # Display some information about the setup if self._verbose: self._print_verbage() # Connect components in the flowgraph #self.connect(self.packet_transmitter, self.amp, self) # self.wxgui_constellationsink2_0 = constsink_gl.const_sink_c( # principal_gui.GetWin(), # title="Constellation Plot", # sample_rate=options.samp_rate, # frame_rate=5, # const_size=2048, # M=2, # theta=0, # fmax=0.06, # mu=0.5, # gain_mu=0.005, # symbol_rate=options.samp_rate/self._samples_per_symbol, # omega_limit=0.005, # ) # principal_gui.Add(self.wxgui_constellationsink2_0.win) '''For Stream of bits ''' self.vector_source = blocks.vector_source_b([1,], True) self.scrambler = digital.scrambler_bb(0x10,0x7F,7) #self.connect(self.vector_source,self.scrambler, self.modulator, self.amp, self.u) #self.connect(self.modulator,self.wxgui_constellationsink2_0) '''End For Stream of bits ''' self.connect(self.pkt_input, self.modulator, self.amp, self.u)