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 <[EMAIL PROTECTED]>:

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.


_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to