1.简介
RSSI:信号强度值
LQI:连接质量
在协议栈中中,LQI是可以直接从接收数据后的结构体中得到,例如接收数据使用的结构定义为pkt
:LQI =pkt->LinkQuality;
RSSI是通过读取max_rx.c文件中的数组rxBuf的第一位得到的,这里得到的信号强度值是以2进制补码的形式体现,具体使用可以参看2430Da
RSSI = rxBuf[0];
2.RSSI与LQI之间的转换关系如下:
RSSI =
3.补充
RSSI反映接收信号强度,LQI反映信号的连接质量,两者都可以通过读取芯片的寄存器得到。LQI虽然能够判断连接质量,但会因调制方式的不同而不同。
RSSI是判断两个节点距离的很好的参数。在从RSSI寄存器中读到数值后我们需要进行一系列转化,才能得到接收强度值。首先判断RSSI寄存器中的值RSSIdec是否大于128,如果成立,则:
如果小于128,则:

CC2430内置接收信号强度指示器(RSSI),其数字值为8位有符号二进制补码,可以从寄存器RSSIL.RSSI_VAL读出。RSSI寄存器值RSSI.RSSI_VAL在RF上涉及的电能P为:P=(RSSI_VAL+RSSI_OFFSET) dBm,式中:RSSI_OFFSET是一个系统开发期间得到的来自前端增益的经验值,RSSI_OFFSET近似值为-45。
ZStack中获得P的语句为:
#define MAC_RADIO_RSSI_OFFSET
#define HAL_MAC_RSSI_OFFSET
rssiDbm = PROPRIETARY_FCS_RSSI(rxBuf) + MAC_RADIO_RSSI_OFFSET;
链路质量指示(LQI)计量所收到的数据包的强度和质量,可使用接收信号强度指示器(RSSI)软件产生LQI值,尽管这样计算有若干缺点,但ZStack中的确是这样计算的。
#define MAC_RADIO_RECEIVER_SENSITIVITY_DBM
#define MAC_RADIO_RECEIVER_SATURATION_DBM
#define MAC_SPEC_ED_MIN_DBM_ABOVE_RECEIVER_SENSITIVITY
#define ED_RF_POWER_MIN_DBM
#define ED_RF_POWER_MAX_DBM
ed = (MAC_SPEC_ED_MAX * (rssiDbm - ED_RF_POWER_MIN_DBM)) / (ED_RF_POWER_MAX_DBM - ED_RF_POWER_MIN_DBM);
pRxBuf->mac.mpduLinkQuality = macRadioComputeLQI(rssiDbm, corr);
LQI值也可以在应用层通过afIncomingMSGPacket_t *pkt; pkt->LinkQuality直接获得。
RSSI和LQI的关系为:LQI=255*(RSSI+81)/91
本文详细介绍了RSSI(信号强度值)和LQI(链接质量指示)的概念及应用,包括它们如何通过读取芯片寄存器获取,RSSI与LQI之间的转换公式,并提供了实际使用的代码示例。

8145

被折叠的 条评论
为什么被折叠?



