Analog Devices ADRV9005 Reference Manual page 158

Table of Contents

Advertisement

Reference Manual
RECEIVER/OBSERVATION RECEIVER SIGNAL CHAIN
/* Linear power is calculated by this formula: linear power = (mantissa * 2^-15) * 2^-exponent */
uint16_t linearPower_mantissa;
uint16_t linearPower_exponent;
} adi_adrv9001_RxRssiStatus_t
To accommodate different applications, the ADRV9001 provides some flexibility in configuring the RSSI calculation. There is the option to
configure the duration of each RSSI calculation and the number of individual RSSI calculations used in moving the average to generate a more
smooth RSSI result.
Manual RSSI
Manual RSSI is an alternative method of reading the RSSI (received signal strength indicator). The legacy RSSI API uses a mailbox command
to read the RSSI, which normally takes around 1 ms to complete. Manual RSSI instead directly reads the ADRV9001 registers where the
latest RSSI value is stored (direct register access). It has two modes of operation, high speed and high precision, and one user-configurable
parameter, the RSSI Interval.
The RSSI in the ADRV9001 works by loading a buffer with a set number of samples (determined by the RSSI interval), and performing the
calculation. When the calculation is complete, a new set of samples is loaded into the buffer. There is no overlap between the buffer in one
calculation and the buffer in the next—each calculation uses an entirely new set of samples.
The RSSI value calculated by the RSSI block in the ADRV9001 is stored across three bytes: two bytes for the mantissa, and one byte for the
exponent. Those values must be combined with the current slicerIn and slicerOffset values to get an accurate value of RSSI.
It is critical to note that while the RSSI will always return a value, this value may be out-of-date depending on the settings used. This is due to
the difference between read time and measurement time. These two times are combined into a single reaction time, which is discussed in the
High Precision
and
High Speed
The manual RSSI API comes in two parts: configuration (adi_adrv9001_Rx_Rssi_Manual_Configure()), and readback
(adi_adrv9001_Rx_Rssi_Manual_Status_Get()), and the readback API returns a struct of type adi_adrv9001_ManualRssiReadStatus_t.
RSSI Interval
The RSSI Interval determines how many samples are used for each RSSI calculation. This offers a trade-off between speed and accuracy—the
more samples are used, the more accurate the RSSI value, but the longer it takes to calculate.
The RSSI runs at the same sample rate as the SSI, so the time taken for the RSSI value to update is the product of the RSSI Interval and the
sample period.
High Precision
The high-precision mode is used to read the full value of RSSI stored in the registers of the ADRV9001. It starts by stopping the RSSI block,
reading the registers, then restarting the RSSI block. This is done to ensure that the RSSI value is not updated while the registers are being
read, which could lead to incorrect values if the exponent of one RSSI calculation is combined with the mantissa of another.
The registers read by this mode are the three RSSI registers (two bytes for the mantissa, and one exponent), and the slicer registers (slicerIn,
and slicerOffset). The expected reaction time for this mode is the sum of the RSSI update period (RSSI interval × sample period), the SPI
transaction time (the time taken to read all the registers over SPI), and the calculation time. The formula for the calculation is as follows:
RSSI_linear = mantissa × (2^ − 15) × (2^ (−exponent + slicerIn × (18 − 2 × (3 − slicerOffset))))
RSSI_dBFS = 10log10(RSSI_linear)
High Speed
The high-speed mode is used to read to read an approximate value of RSSI stored in the registers of the ADRV9001. It does so by reading only
the exponent register. Since only one register is being read, there is no need to stop the RSSI block for the duration of the read.
Due to the floating-point nature of how the linear RSSI value is stored, using only the exponent the high-speed mode returns readings in
increments of 3 dB. The expected reaction time for this mode is the sum of the RSSI update period (RSSI interval × sample period), the
SPI transaction time (the time taken to read one register over SPI), and the calculation time. The formula for calculating the RSSI using the
high-speed mode is as follows:
analog.com
/* Mantissa of Linear Power */
/* Exponent of Linear Power */
sections.
ADRV9001
(3)
(4)
Rev. A | 158 of 377

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ADRV9005 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

This manual is also suitable for:

Adrv9002Adrv9003Adrv9004Adrv9001Adrv9006

Table of Contents

Save PDF