LQ and RSSI in Bluetooth Protocol: Principles and Application Scenarios

In the physical layer of the Bluetooth protocol stack, there are two useful parameters: LQI and RSSI. Both are used by the receiver to evaluate the current wireless environment quality (link quality) and guide subsequent actions. However, the calculation principles and application scenarios of these two values differ significantly.

LQI (Link Quality Indication) measures the quality of the received signal. The quality of the received signal is estimated by the receiver by comparing the received signal with the ideal signal and calculating the error accumulation value. For example, when using FSK or GFSK modulation, the receiver can compare the frequency of each bit with the expected frequency and accumulate a certain number of symbols (e.g., 64) to obtain the error accumulation value. Therefore, LQI can relatively reflect the current link quality, and its value is smaller when the link quality is better, and larger when the link quality is worse.

RSSI (Received Signal Strength Indication) indicates the signal strength, regardless of the signal quality or correctness. LQI does not care about the actual signal strength, but the signal quality is related to the signal strength, as a stronger signal is less susceptible to interference, resulting in a higher "correctness" rate, lower LQI, and better signal quality.

The following typical scenarios illustrate the application of LQI and RSSI:

Weak signal and strong noise: low RSSI, high LQI
Weak signal with little noise: low RSSI, low LQI
Strong interference (e.g., jammer): high RSSI, high LQI (i.e., high RSSI does not necessarily mean good signal quality)
Strong signal with low noise: high RSSI, low LQI
Overly strong signal (causing receiver saturation): high RSSI, high LQI

Note: If you are familiar with Linux's Bluez, you can use the following commands to view LQI and RSSI:

hcitool rssi <BT ADDR>
hcitool lq <BT ADDR>