zigbee提取RSSI值
来源:互联网 发布:毕业生就业数据 编辑:程序博客网 时间:2024/06/05 20:55
1.
RSSI反映接收信号强度,LQI反映信号的连接质量,两者都可以通过读取芯片的寄存器得到。
RSSI:信号强度值
LQI:连接质量
在协议栈中中,LQI是可以直接从接收数据后的结构体中得到,例如接收数据使用的结构定义为pkt:LQI = pkt->LinkQuality;
RSSI是通过读取max_rx.c文件中的数组rxBuf的第一位得到的,这里得到的信号强度值是以2进制补码的形式体现,具体使用可以参看2430 或者1110/2510的Data Sheet。
2.RSSI与LQI之间的转换关系如下:
3.补充
RSSI反映接收信号强度,LQI反映信号的连接质量,两者都可以通过读取芯片的寄存器得到。LQI虽然能够判断连接质量,但会因调制方式的不同而不同。RSSI是判断两个节点距离的很好的参数。在从RSSI寄存器中读到数值后我们需要进行一系列转化,才能得到接收强度值.
以“\C51RF-3演示程序\菜单综合测试程序”为例。
为什么RSSI寄存器值需要减去45?
CC2430有一个内置的接收信号强度指示器(RSSI),其数字值为8 位有符号的二进制补码,可以从寄存器位RSSIL.RSSI_VAI读出。
RSSI值总是通过8个符号周期内(128μs)取平均值得到。RSSI 寄存器值RSSI.RSSI_VAI在RF引脚上涉及电能P,由下式表示:
P = RSSI_VAL + RSSI_OFFSET [dBm]
式中:RSSI_OFFSET是一个系统开发期间得到的来自前端增益的经验值。RSSI_OFFSET近似值为-45。例如,从RSSI寄存器中读到的值是-20,那么RF的输入功率大约是-65dBm。
典型的作为输入功率功能的RSSI_VAI 如图所示。从图中可以看到,从CC2430中读出的RSSI 值线性极好,且具有大约100dB的动态范围。
在系统开发RSSI_OFFSET期间,被发现前端增益RSSI_OFFSET约为-45。
例如: 如果读值-20从接收信号强度指示登记,射频输入功率约为-65dBm的。
LinkQuality其实就是LQI值,通过这个公式RSSI = -(81-(LQI*91)/255)转换成了RSSI值,RSSI值再通过这个公式d=10^((ABS(RSSI)-A)/(10*n))得到距离了,至于精确度可以自己做实验测得对应曲线图,环境不一样精确度都会不一样的。
从程序包上看:
typedef struct
{
osal_event_hdr_t hdr;
uint16 groupId;
uint16 clusterId;
afAddrType_t srcAddr;
byte endPoint;
byte wasBroadcast;
byte LinkQuality;
byte SecurityUse;
uint32 timestamp;
afMSGCommandFormat_t cmd;
} afIncomingMSGPacket_t;
每个接收到的数据包里面都有byte LinkQuality;这个参数,只需要取出来就可以了!
- zigbee提取RSSI值
- zigbee RSSI 定位
- rssi
- RSSI
- RSSI
- rssi
- RSSI
- <蓝牙BLE>cc2540主机读RSSI值
- SIM800的CSQ值与RSSI关系
- OpenWrt下WiFi无线指标的提取(MAC地址、RSSI等)
- Z-Stack中RSSI和LQI值的获取
- TinyOS学习 - 射频层析成像之获取RSSI值
- Zstack之RSSI信号值获取以及显示
- 送给小白,关于cc2530的rssi 读取值
- Zstack之RSSI信号值获取以及显示
- Android 蓝牙4.0 BLE 获取链接设备Rssi值
- 从Zstack中获取RSSI值(CC2530)
- RSSI简介
- istream_iterator和ostream_iterator
- effective C++笔记(二)
- hdu4508 完全背包
- CMD命令-adb相关
- Time
- zigbee提取RSSI值
- CODE 129: Two Sum
- MyEclipse 2013(professional) 破解方法
- 测试印象笔记公开链接,看搜索引擎能否搜索到
- poj 2299 Ultra-QuickSort
- 机房收费系统之上机过程
- 八连块(类似水池数目(nyoj27),水池问题只有四个方向, 八连快有八个方向)
- 开始用cocos2d 写个简单魔塔
- VIM 多窗口操作