def __init__(self, options): gr.top_block.__init__(self) data_capsule = ( (+0+0j), (+0+0j), (+0+0j), (+0+0j), (+0+0j), (+1+1j), (+1+1j), (+1+1j), (+1+1j), (+1+1j) ) symbol_rate = 500000 self.source = uhd_receiver(options.args, symbol_rate, 2, options.rx_freq, 30, options.spec, "RX2", options.verbose) self.tx = uhd_transmitter(options.args, symbol_rate, 2, options.tx_freq, 30, options.spec, "TX/RX", options.verbose) options.samples_per_symbol = self.source._sps # Set up receive path # do this after for any adjustments to the options that may # occur in the sinks (specifically the UHD sink) self.serve = gr.vector_source_c(data_capsule) #self.correlator = correlator_cc.correlator_cc() #self.sink = gr.vector_sink_c() #self.file_sink = gr.file_sink(gr.sizeof_gr_complex, "out") self.server = correlator_cc.go_start_cc() self.inserter = correlator_cc.preamble_insert_cc() self.correlator = correlator_cc.correlator_cc() self.connect(self.source, self.correlator) self.connect(self.serve, (self.server,0)) self.connect(self.correlator, (self.server,1)) self.connect(self.server, self.inserter) self.connect(self.inserter, self.tx)
def __init__(self, options): gr.top_block.__init__(self) # some arbitrary data data_capsule = ( (+1+1j), (+1+1j), (-1-1j), (-1-1j), (+1+1j), (-1+1j), (-1+1j), (+1-1j), (+1-1j), (-1-1j) ) # Work-around to get the modulation's bits_per_symbol symbol_rate = 500000 self.sink = uhd_transmitter(options.args, symbol_rate, 2, options.tx_freq, 30, options.spec, "TX/RX", options.verbose) self.rx = uhd_receiver(options.args, symbol_rate, 2, options.rx_freq, 30, options.spec, "RX2", options.verbose) options.samples_per_symbol = self.sink._sps self.serve = gr.vector_source_c(data_capsule) #self.inserter = correlator_cc.preamble_insert_cc() #self.connect(self.source, self.inserter) #self.connect(self.inserter, self.sink) self.server = correlator_cc.go_start_cc() self.inserter = correlator_cc.preamble_insert_cc() self.correlator = correlator_cc.correlator_cc() self.connect(self.rx, self.correlator) self.connect(self.serve, (self.server,0)) self.connect(self.correlator, (self.server,1)) self.connect(self.server, self.inserter) self.connect(self.inserter, self.sink)