A question about the Analog RSS I measued at the RX end

Hello, all!!!

I have a question of measuring RSSI on the USRP board. I searched the
answer throughout the mailing list and I only found out three ways:

  1. Analog RSSI (we can read it using AUX ADC)
  2. Digital RSSI in FPGA (from output of ADCs)
  3. Digital RSSI in host (computed however you like, from the channel zed
    signal sent over the bus by the USRP)
    Here, I usedv = u.read_aux_adc(0, 0) to read RSSI whenever there is a
    packet received, and then I average the whole RSSI values of 3000
    packets I received. Below are the data I got: the working condition is
    bitrate=2Mbps, modulation = dqpsk, the demo file i was using are
    benchmark_tx.py and benchmark_rx.py under
    gnuradio-examples/python/digital

–tx-amplitude -s PER Rssi
100 100 60.30% 168
250 100 47% 170
500 100 40% 177
1000 100 39% 248
1500 100 40% 819
2000 100 40.2% 19372

50 50 25.09% 169.2084
500 50 25.06% 173.0687
1000 50 22.24% 215.4980
1500 50 22.05% 651.8132
2000 50 23.30% 1138.7028
4000 50 23.40% 1721.1643

250 40 21.30% 168.2404
500 40 19.34% 172.1490
1000 40 18.15% 208.2196
1500 40 18.72% 462.1265

My question is what these digital numbers stand for!!! e.g. if it is
168, how much is the actual RSSI value in dB?
it is a wireless communication with two USRPs standing 0.4 meters apart
from each other. Why does the RSSI increase so nonlinearly when the
tx-amplitude increases linearly or regularly?

Matt told us that the RSSI measures the analog signal level after the
lowpass filters on the board and these filters are about 15-20 MHz wide.
So, how can I narrow the bandwidth of those lowpass filters using
software to get it fit into my intrested area? Is there a way out? Any
help will be very useful to us! Thanks a lot for all!

Bill