Beispiel #1
0
 def add_parser_options (parser):
     if not parser.has_option("-v"):
         parser.add_option ("-v", "--verbose", type="int", \
                 default=default_phy_setup.d_options['verbose'], \
                 help="set verbose level of output [default=%default]")
     if not parser.has_option("--debug"):
         parser.add_option ("", "--debug", type="int", \
                 default=default_phy_setup.d_options['debug'], \
                 help="set debug level of system [default=%default]")
     if not parser.has_option("-n"):
         parser.add_option ("-n", "--nchannels", type="int", \
                 default=default_phy_setup.d_options['nchannels'], \
                 help="set number of channels (or antennas) on USRP board [default=%default]")
     if not parser.has_option("-G"):
         parser.add_option ("-G", "--rx-gain", type="eng_float", \
                 default=default_phy_setup.d_options['rx_gain'], \
                 help="set usrp receive gain in dB [default=%default]")
     if not parser.has_option("-g"):
         parser.add_option ("-g", "--tx-gain", type="eng_float", \
                 default=default_phy_setup.d_options['tx_gain'], \
                 help="set software transmit gain in dB [default=%default]")
     if not parser.has_option("-u"):
         parser.add_option ("-u", "--upsample", type="int",
                 default=default_phy_setup.d_options['upsample'], \
                 help="set the upsampling factor [default=%default]")
     if not parser.has_option("--inband"):
         parser.add_option("", "--inband", action="store_true", \
                 default=default_phy_setup.d_options['inband'],
                 help="enable inband signalling in RF [default=%default]")
     RadioRx.add_parser_options(parser)
     RadioTx.add_parser_options(parser)
Beispiel #2
0
def TestTx():
    """ Parser Options """
    parser = OptionParser (option_class=eng_option)
    RadioTx.add_parser_options (parser)
    (options, args) = parser.parse_args ()
    if len(args)!=0:
        parser.print_help()
        sys.exit(1)

    print "TestTx\n=========="

    tb = gr.top_block()
    tx = RadioTx(options)
    tb.connect(tx)

    #T, w, C = 10.0, 100.0e3, 100
    T, w, C = 10.0, 40.0e3, 100
    A = 4000
    if SEND_MIMO_TRAINING:
        T = 10.0
        s = "hi"*4
        txvector = mimo.txvector()
        txvector.set_length(len(s) )
        phy = mimo.tx(options.nchannels)
        phy.configure(txvector)
        phy.set_gain(10000)
        phy.set_upsampling_factor(2)
        phy.transmit(s)
        m = phy.outputQ().delete_head()
        print "created message ... %d samples"%(m.length()/gr.sizeof_gr_complex/options.nchannels)
    else:
        P = min(T, C/w)
        k = max(1, int(T/P) )
        s = Signal()
        s.setData(make_exponential(A, P, w, options.sample_rate) )
        m = gr.message_from_string(s.string(k), 0, 1, len(s.vector())*k )
        print "created message ... %d samples"%(int(k*P*options.sample_rate) )

    interval = 0.2
    g = FuncThread(send_msg, "send msg", m, tx.pad.inputQ(), interval)
    g.setDaemon(1)
    g.start()
    
    stoptime = T+5.0
    f = FuncThread(send_stoprf, "stop rf", tx, stoptime)
    f.setDaemon(1)
    f.start()
    
    print "running ..."
    tb.run()
    print "stoppping ..."