discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Re: Question about setting transmited signal power


From: hanwen
Subject: [Discuss-gnuradio] Re: Question about setting transmited signal power
Date: Sat, 23 Dec 2006 14:46:49 +0800

After reading some threads and codes as well as doing some experiment I've got the following idea about this question.
 
1. The difference transmitting power is due to the irregularity of the filter on TX/RX port of flex2400. This filter (SAWTEK855816) limit the band to 2.4~2.483GHz(ISM band). Actually this d'board can operate in a much wider band ( 2.3~2.9GHz)(see it on www.ettus.com). After bypassing this filter, the transmitting power becomes much better.
2. The PGA do works. According to flex2400 tx, the pga is set to maximum (20dB) in subdev.set_gain(). Actually the transmitting power is only controlled by PGA. The set_gain() do nothing but maximizing PGA gain for TX. The return value of set_gain() for TX is (0, 0, 1), of which 0 means the maximum value of PGA gain([-20, 0]). According to RX, there are two gain controller, the AD8052 on d'board and PGA in the AD9862 on m'board. This two levels of gain control are combined together in the set_gain() function. Eg. the gain range of flex2400 RX is [0, 90] dB. 20 dB on PGA and 70dB on AD8052.


 
2006/12/20, hanwen <address@hidden>:
Hi,
 
I've got some pieces of flex2400 in the lab, one of which runs usrp_oscope.py at 2.45GHz for monitoring the signal power. We change different flex2400 on another motherboard to see the difference of their power. Surprisingly, with the same transmitter program, and the same location of TX & RX antennas, the signal power received differs a lot from board to board. Some with amplitude of 1~2 hundred, some several thousand.
 
Is there anything I missed when setting transmitting power in the script? The following is the code setting the usrp_sink:
 
        u = usrp.sink_c (0, self.usrp_interp)
        subdev_spec = usrp.pick_tx_subdevice(u)
        print "subdev_spec = ", subdev_spec
        mux_val = usrp.determine_tx_mux_value(u, subdev_spec)
        print "mux_val = 0x%x" % mux_val
        u.set_mux(mux_val)
        subdev = usrp.selected_subdev(u, subdev_spec)
        u.set_pga (0, options.gain)
        u.set_pga (1, options.gain)
        subdev.set_gain(subdev.gain_range()[1])
        subdev.set_auto_tr(True)
        r = u.tune(subdev._which, subdev, freq)
 
It seems the set_pga() has no effect on transmitting power. Why?
The return value of subdev.gain_range() is [0, 0, 1], I don't know what it mean, and still, it seems there is no differnce whether I set the gain of daughterborad to 0 or 1.
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]