There is a mismatch between input signal level and RSSI reading. When i feed -6dBm in RX port, I am reading 32dB of RSSI. Signal is at 5000MHz. I think RSSI should be 6dB. How to correct it?
J S Hyanki
By the way, you are talking about dBm, but the RSSI value is not in absolute units. The AD9361 measures RSSI by measuring the power level in dB and compensating for the receive path gain. Equating the RSSI read-back value to an absolute power level (e.g., in dBm) requires a system factory or bench calibration.
A new issue means a new thread.
According to the datasheet, the RSSI error typically is within 2 dB of the expected value, so you are doing something wrong.
This is how you can get and display the RSSI for RX1:
struct rf_rssi rssi;
rssi.ant = 0;
rssi.duration = 1;
ad9361_get_rx_rssi(ad9361_phy, 0, &rssi);
printf("rssi = %d.%02d dB\n", rssi.symbol / rssi.multiplier, rssi.symbol % rssi.multiplier);
I have followed the code for RSSI display still problem is same.
1. warning in printf
there is a warning for redefining of ADI_R1_mode also.
2. RSSI when No signal
3. RSSI when input is -10dBm
still offset is 20dB.
Do you get the same result for any LO frequency? ARRADIO has 2.4G baluns.
I think RSSI is input signal level and as per data sheet at 5000MHz AGC gain should be 60dB.
So I assume that it will handle 0 to -60dBm signal.
So RSSI should indicate these signal level.
Is it possible to experiment in your place?
Please help me.
As I said, you have to convert the value to an absolute power level. If you need more help regarding this conversion, my suggestion is to open a thread on the Design Support AD9361/AD9363/AD9364 community.
Retrieving data ...