What are LQI and RSSI in ZigBee

In wireless network development, noise interference is often encountered, and two concepts, LQI (Link Quality Indication) and RSSI (Received Signal Strength Indication) are provided in ZigBee technology to reflect the quality of the environment. To understand LQI and RSSI more clearly, this article combines Silicon Labs’ ZigBee to explain in detail.

Links in wireless networks typically have asymmetric link quality due to variations in the local noise floor, receiver sensitivity, and transmit power. The routing layer must use knowledge of bidirectional link quality to establish working routes and optimize the reliability and efficiency of those routes. It can also use this knowledge to establish reliable bi-directional routes through individual discovery.

ZigBee routers typically track the quality of incoming links in their neighbor tables by averaging the LQI measurements made at the physical layer. To handle link asymmetries, the ZigBee PRO stack profile specifies that the router obtains and stores the cost of outgoing links measured by its neighbors. This is done by periodically exchanging link status information in a one-hop broadcast called a “linkstatus” message.

The EmberZnet Stack uses the emberGetLastHopLqi() function to provide LQI values for incoming packets and the emberGetLastHopRssi() function to provide RSSI values for each packet message. The above functions can be called within emberincomingbootloadmessagehandler() and emberincomingmessagehandler() to go past the LQI and RSSI values, respectively, to pass the current packet through the last hop of the incoming route. So for is a given Stack and Radio, is there a direct relationship between LQI and RSSI?

The lqi value is an unsigned 8-bit integer (int8u) ranging from 0 to 255, with the maximum value indicating the best possible link quality. For routing/neighborhood maintenance in the stack, the relationship between LQI and link “cost” is such that an LQI value of 200 maps to minimum costs of 1, 3, and 5, while an LQI below 200 indicates a link with a high error rate and therefore a worst-case cost of 7. An LQI value of 200 indicates that the reliability of receiving a complete packet is about 80%. reliability of about 80%. Note that the LQI measurement is based on the chip error rate (similar to BER) of the current packet received from the previous hop of the inbound route, so it provides information specific to the link-layer connection. Adjacent devices relay the current packet to the local device. This LQI data is also used by the stack to determine the connectivity between adjacent nodes and to select the parent device when joining the network as a ZigBee end device. The RSSI value is a signed 8-bit integer (int8s) ranging from approximately -100 (based on the reception sensitivity level of the chip used) to 127, with each value indicating the energy level of the radio receiver (in dBm). Note that the RSSI measurement is based on the peak (highest) energy level detected by the radio on the current frequency during the first 8 symbol periods (approximately 128 microseconds) of the current packet being received. Keep in mind that the signal energy at a given frequency can come from any transmitter/interference source on that frequency, whether it is another neighboring node on the same network, a device from a different PAN on the same channel, or a non-ZigBee, non-802.15.4 interference source such as a WiFi transmitter or microwave oven. Since the RSSI is not part of any specific link with another device, it can also be evaluated outside of the incoming message handler. This is done using the emberStartScan() API call and the EZSP transaction, which supports the EMBER_ENERGY_SCAN scan type used for RSSI energy level evaluation. This allows the user to customize the duration of the scan for the desired measurement of the peak energy level.

Note that the emberEnergyScanResultHandler() function returns the raw value from the radio, calculating the decimal number, which happens to be the true RSSI value, plus an offset of 154. Therefore, if comparing them to RSSI values obtained in other contexts, the application will need to do some conversion of the return value here.

There is no direct relationship between RSSI and LQI. In a relatively clean environment, the LQI (reliability) decreases as the RSSI decreases. When if in a more disturbing environment, then LQI (reliability) may decrease with a constant or increasing RSSI. It is important to realize that these two concepts are essentially different quantities and that the formula cannot be applied to convert one value to the other. Remember that LQI is a measure of the reliability of a link connected to a specific adjacent radio based on the current packet bit error rate (BER). This is not a linear measurement because the reliability of the link decreases dramatically as the BER increases. The RSSI reads only the peak of the radio energy on the channel at a given time of measurement, regardless of where this radio energy comes from.

Silicon labs’EFR32MG Series multi-protocol SoC Based on Arm Cortex-M4 core, it supports Bluetooth 5, BLE Mesh, ZigBee, and Thread multi-wireless protocols. Thanks to its stable ZigBee protocol stack, superior RF performance, and ultra-low power consumption performance, it is widely used in smart home products.