微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 无线传感网络(WSN)设计经典参考实例(四)

无线传感网络(WSN)设计经典参考实例(四)

时间:12-14 来源:互联网 点击:

1.4 滤波

  第一步:设定RSSI 的期望值,如式(3)式所示:

  

  其中, R 0 是预期的RSSI 值,R 是实际得到的RSSI 值, R 1 是前一次得到的RSSI 值,R2是在此之前的第二次得到的RSSI 值,α、β、γ 分别是R, R1 , R2 在期望值中所占的权重,分别将其设置为0.6,0.25,0.15。

  第二步:设定阈值,阈值是在大量实验基础上进行总结再设定的,该系统中设为0.5。

  第三步:除噪,若期望值0 R 和当前值R 差的绝对值小于设定的阈值,就让令上一次的值作为当前值,R= 1 R ,同时2 R = 1 R;若期望值和当前值差的绝对值已经大于阈值,则令期望值作为当前值,R= R 0 ,同时, R2 = R 1 , R 1 = R 0 ;实验结果表明:通过以上滤波处理,不仅减小了节点不稳定带来的轨迹震荡,节点的轨迹变化曲线更加趋于平缓。

  1.5 串口数据提取

  在串口通信协议中一个串口通信数据帧的格式如图5所示:

  

  图5 串口通信数据帧的格式

  Sync 是一个数据帧的起始和结束标志符,用0x7E 来表示该标志符。紧跟在起始Sync后面的是Type标志符。CRC用来表示冗余校验码,其中,参与冗余校验的字段为TOS MsgHeader 和Payload,这两个字段存放的是网关收到的一个传感器节点发出的完整的路由包。

  最后面的一个Sync 用来表示帧的结束。

  在实验过程中,串口接收到的原始数据如图6 所示:

  

  图6 串口原始数据

  通过对上表中数据分析得知:表中第一条数据中0x7E 表示一个数据帧的起始,0x42 表示一个数据帧的Type,不要求接收方对发送方回复一个确认包。从第二行第五个数据开始时对上层应用有用的字段,在进行上层开发时,可以从该处提取出串口中的数据,其中0x0100,表示数据包的ID 号,紧跟其之后的是两个字节0x3A00 表示接收到的数据包的序列号,接下来的0x 0200 表示锚节点的ID 号为2,0x0500 表示Move 节点的ID 号为5,0x0800 表示从2 号锚节点获取到的5 号Move 节点的RSSI 值为8, 接下来的0x 0300 表示锚节点的ID号为3,0x0500 表示Move 节点的ID 号为5,0x0C00 表示从3 号锚节点获取到的5 号Move节点的RSSI 值为0x0C, 接下来的0x 0400 表示锚节点的ID 号为4,0x0500 表示Move 节点的ID 号为5,0xF800 表示从4 号锚节点获取到的5号Move节点的RSSI值为0Xf8,接下来的F207FE 为CRC 字段,最后一个7E 为数据帧的结束字段。通过以上分析,可以快速从串口通信数据中提取所需的字段,为上层开发奠定基础。

  2 系统设计

  2.1 系统架构

  系统由底层(硬件层),中间层(串口消息解析层),上层(数据处理层)系统的构架如图7所示。

  

  图7 系统架构

  2.2 底层模块设计

  底层模块通过Move 节点发送数据到Node1,Node2,Node3 节点,Node1,Node2,Node3节点分别从Move 节点中取出RSSI 值并将这些值连同自身的SOURECE_ADDRESS 值封装到数据字段并通过Forward 节点转发给Sink 无线网关节点。底层模块结构如图8 所示:

  

  图8底层结构2.3 中间层模块设计

  该层主要负责接收来自底层的串口消息,该层的重点就是对串口数据包的内容进行解析,获取数据包中节点的RSSI 值、锚节点ID 号等信息,并将其交给上层进行处理。

  2.4 上层模块设计

  本文将该基于无线传感网络的人群异常活动视频监控系统的上层模块分为以下六个子模块:

  串口配置模块:该模块主要对串口的各项参数进行配置,在不同的网关连接上PC 机时配置不同的串口,使该系统的可扩展性增强。

  实时监控模块:该模块主要负责将无线传感网络中移动节点的轨迹信息实时显示在监控画面当中;用户通过点击显示样例轨迹了解轨迹的概念;通过清除轨迹操作清除屏幕上的所有轨迹信息;此外,用户可以通过调整显示刷新周期,对轨迹数据的动态刷新周期进行设置;如果刷新周期设置过长,则通过手动刷新按钮刷新轨迹以实时观察移动节点的估计信息。

  历史回放模块:该模块主要根据用户的设置回放移动节点的历史轨迹。用户根据自己的要求回放具体时间移动节点的轨迹信息,如回放一天、一天的一段时间;几天、几天里面的一段时间或者一个精确时间的被监控人员的轨迹信息。此外,该模块提供设置回放周期功能,用户根据自己的需求设置每次回放的移动节点位置信息的个数和回放周期,系统将反馈给用户查询的时间段内数据库中所有记录的条数,用户通过系统能清楚地知道需要回放的记录条数以及待回放的记录条数。

历史数据查询模块:该模块主要负责历史数据的查询功能,模块包括人员位置/轨迹一般查询、人员位置 /轨迹高级查询、历史警报信息查询三大功能。其中,人员位置/轨迹高级查询,主要根据用户输入的时间段信息查询人员的轨迹信息,用户

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top