Question about setting transmited signal power

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.

Hi,
I’ve got a similar problem, I’ve been searching the online documentation
at http://www.gnu.org/software/gnuradio/doc/ for info about the
set_pga(), but couldn’t find anything, because the usrp sources and
sinks don’t seem to be documented there.
The programmable gain amplifier immediately follows the dac and is
directly built onto the the motherboard, right?

Can anybody point me to some info source about the set_pga() member
and/or, more generally, about the usrp source/sink blocks?

thanks
merry Xmas to everybody

vincenzo

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]: