Example #1
0
    def __init__(self, options):
        gr.top_block.__init__(self)
        
        # build graph
        
        #updated 2011 May 27, MR
        self.u = uhd.usrp_source(device_addr="", io_type=uhd.io_type.COMPLEX_FLOAT32, num_channels=1)
        self.u.set_subdev_spec("", 0)
        self.u.set_antenna("TX/RX", 0)
        self.u.set_samp_rate(options.samp_rate)

        #adc_rate = self.u.adc_rate()                # 64 MS/s
        #usrp_decim = options.decim
        #self.u.set_decim_rate(usrp_decim)
        self.usrp_rate = self.u.get_samp_rate() #adc_rate / usrp_decim
        if options.verbose:
            print "sample rate is", self.usrp_rate
        
        self.sense = sense_path(self.usrp_rate, self.set_freq, options)

        self.connect(self.u, self.sense)

        if options.gain is None:
            # if no gain was specified, use the mid-point in dB
            # updated 2011 May 31, MR
            #g = self.subdev.gain_range()
            g = self.u.get_gain_range()
            options.gain = float(g.start()+g.stop())/2

        self.set_gain(options.gain)
        if options.verbose:
            print "gain =", options.gain
Example #2
0
    def __init__(self, callback, options):
        gr.top_block.__init__(self)

        #self._tx_freq            = options.tx_freq         # tranmitter's center frequency
        self._tx_gain = options.tx_gain  # transmitter's gain
        self._samp_rate = options.samp_rate  # sample rate for USRP
        #self._rx_freq            = options.rx_freq         # receiver's center frequency
        self._rx_gain = options.rx_gain  # receiver's gain

        #if self._tx_freq is None:
        #    sys.stderr.write("-f FREQ or --freq FREQ or --tx-freq FREQ must be specified\n")
        #    raise SystemExit

        #if self._rx_freq is None:
        #    sys.stderr.write("-f FREQ or --freq FREQ or --rx-freq FREQ must be specified\n")
        #    raise SystemExit

        # Set up USRP sink and source
        self._setup_usrp_sink()
        self._setup_usrp_source()

        self.txpath = transmit_path(options)
        self.rxpath = receive_path(callback, options)
        self.rx_valve = gr.copy(gr.sizeof_gr_complex)

        self.sense = sense_path(self.set_freq, options)

        # Set center frequency of USRP
        ok = self.set_freq(self.sense.channels[0])  #self._tx_freq)
        if not ok:
            print "Failed to set Tx frequency to %s" % (
                eng_notation.num_to_str(self.sense.channels[0]), )
            raise ValueError

        self.sense_valve = gr.copy(gr.sizeof_gr_complex)

        self.rx_valve.set_enabled(True)
        self.sense_valve.set_enabled(False)

        self.connect(self.txpath, self.u_snk)
        self.connect(self.u_src, self.rx_valve, self.rxpath)
        self.connect(self.u_src, self.sense_valve, self.sense)

        if options.verbose:
            self._print_verbage()
        if options.show_rx_gain_range:
            print "RX gain range: ", self.u_src.get_gain_range()
        if options.show_tx_gain_range:
            print "TX gain range: ", self.u_snk.get_gain_range()
Example #3
0
    def __init__(self, callback, options):
        gr.top_block.__init__(self)

        #self._tx_freq            = options.tx_freq         # tranmitter's center frequency
        self._tx_gain            = options.tx_gain         # transmitter's gain
        self._samp_rate          = options.samp_rate       # sample rate for USRP
        #self._rx_freq            = options.rx_freq         # receiver's center frequency
        self._rx_gain            = options.rx_gain         # receiver's gain

        #if self._tx_freq is None:
        #    sys.stderr.write("-f FREQ or --freq FREQ or --tx-freq FREQ must be specified\n")
        #    raise SystemExit

        #if self._rx_freq is None:
        #    sys.stderr.write("-f FREQ or --freq FREQ or --rx-freq FREQ must be specified\n")
        #    raise SystemExit

        # Set up USRP sink and source
        self._setup_usrp_sink()
        self._setup_usrp_source()

        self.txpath = transmit_path(options)
        self.rxpath = receive_path(callback, options)
        self.rx_valve = gr.copy(gr.sizeof_gr_complex)
                
        self.sense = sense_path(self.set_freq, options)
        
        # Set center frequency of USRP
        ok = self.set_freq(self.sense.channels[0]) #self._tx_freq)
        if not ok:
            print "Failed to set Tx frequency to %s" % (eng_notation.num_to_str(self.sense.channels[0]),)
            raise ValueError
        
        self.sense_valve = gr.copy(gr.sizeof_gr_complex)
        
        self.rx_valve.set_enabled(True)
        self.sense_valve.set_enabled(False)

        self.connect(self.txpath, self.u_snk)
        self.connect(self.u_src, self.rx_valve, self.rxpath)
        self.connect(self.u_src, self.sense_valve, self.sense)
        
        if options.verbose:
            self._print_verbage()
        if options.show_rx_gain_range:
            print "RX gain range: ", self.u_src.get_gain_range()
        if options.show_tx_gain_range:
            print "TX gain range: ", self.u_snk.get_gain_range()