信号强度(RSSI)实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.7 信号强度(RSSI)实验

【实验内容】

RSSI指接收信号的强度,在无线定位、无线测距方面有广泛的应用。本实验通过点对点或者一点对多点通信测定RSSI的值,通过该实验希望读者知道RSSI值的获取方法,同时使读者能够更加熟练地使用SXIOT-WSN实验平台下的底层协议栈。

【实验环境】

1. 带有CC2530芯片的基站一个

2. 基本节点一个

3. 天线两个

4. 烧录器一个

5. 烧录线一根

6. Mini USB线一根

7. 平行串口线一根

【准备知识】

查阅CC2530芯片手册,了解RSSI的概念,了解RSSI和发送功率以及和传输距离的关系。

【实验原理】

RSSI即Received Signal Strength Indication,CC2530芯片中有专门读取RSSI值的寄存器,当数据包接收后,CC2530芯片中的协处理器将该数据包的RSSI值写入寄存器。如图2.7.1所示。RSS值和接收信号功率的换算关系如下:

P = RSSI_VAL + RSSI_OFFSET [dBm]

其中,RSSI_OFFSET是经验值,一般取-45,在收发节点距离固定的情况下,RSSI值随发射功率线性增长,如下图所示。

RSSI的产生过程

图 2.7-2RSSI随发射功率的变化曲线

【注意事项】

烧录基站的时候节点号一定要为1,烧录节点的时候,组号要和基站统一。因为在代码中规定,节点号为1的只收不发,而节点号不为1的只发不收。

【实验总结】

在完成这个实验后,我们能够掌握CC2530中RSSI对应的寄存器,同时可以掌握怎么去获取两个通讯节点之间的RSSI。在掌握RSSI的基础之上,可以从直观上了解RSSI和距离之间的关系。

【实验思考】

通过大量测试两个点在不同距离通讯下的RSSI值,并且完成通过RSSI进行通讯节点距离测试。

如图所示,

把采集的数据经过Excel处理之后,可以模拟出信号强度衰减的曲线方程,若要根据信号强度判断距离,则在射频接收数据的代码中加入如下语句即可:

event message_t* Receive.receive(message_t* msg, void* payload, uint8_t len)

{

int rssi = RF_MSG_GET_RSSI(msg);

float distance = 0.0117* pow(rssi,2)-11.75x+291.4

ADBG(DBG_LEV, "\r\n*Receive, len = [%d], RSSI:[%d] , distance :[%f]",

ADBG_N(len),

ADBG_N(rssi),

distance

);

LED_YELLOW_TOGGLE;

}

}

相关文档
最新文档