无线传感器网络实验报告_第1页
无线传感器网络实验报告_第2页
无线传感器网络实验报告_第3页
无线传感器网络实验报告_第4页
无线传感器网络实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无线传感器网络实验报告Contiki mac协议与xmac协议的比较1. 简介无线传感器网络(wireless sensor networks, WSN)节点由电池供电,其能力非常有限,同时由于工作环境恶劣以及其他各种因素,节点能源一般不可补充。因而降低能耗、延长节点使用寿命是所有无线传感器网络研究的重点。 WSN中的能量能耗主要包括通信能耗、感知能耗和计算能耗,其中通信能耗所占的比重最大,因此,减少通信能耗是延长网络生存时间的有效手段。同时,研究表明节点通信时Radio模块在数据收发和空闲侦听时的能耗几乎相同,所以要想节能就需要最大限度地减少Radio模块的侦听时间(收发时间不能减少),及减小占空比。 传统的无线网络中,主要考虑到问题是高吞吐量、低延时等,不需要考虑能量消耗,Radio模块不需要关闭,所以传统无线网络MAC协议无法直接应用于WSN,各种针对传感器网络特点的MAC协议相继提出。现有的WSN MAC协议按照不同的分类方式可以分成许多类型,其中根据信道访问策略的不同可以分为:X-MAC协议X-MAC协议也基于B-MAC协议的改进,改进了其前导序列过长的问题,将前导序列分割成许多频闪前导(strobed preamble),在每个频闪前导中嵌入目的地址信息,非接收节点尽早丢弃分组并睡眠。X-MAC在发送两个相邻的频闪序列之间插入一个侦听信道间隔,用以侦听接收节点的唤醒标识。接收节点利用频闪前导之间的时间间隔,向发送节点发送早期确认,发送节点收到早期确认后立即发送数据分组,避免发送节点过度前导和接收节点过度侦听。X-MAC还设计了一种自适应算法,根据网络流量变化动态调整节点的占空比,以减少单跳延时。优点:X-MAC最大的优点是不再需要发送一个完整长度的前导序列来唤醒接收节点,因而发送延时和收发能耗都比较小;节点只需监听一个频闪前导就能转入睡眠。缺点:节点每次醒来探测信道的时间有所增加,这使得协议在低负载网络中能耗性比较差。而且分组长度、数据发送速率等协议参数还需进一步确定X-MAC原理图如图3所示:ContikiMAC协议一ContikiMAC协议中使用的主要机制:1. 时间划分2. 快速睡眠3. 锁时优化ContikiMAC只使用了异步的机制,没有标识信息也没有附加的消息头,它的数据也都是普通的链路层消息。时间划分:ContikiMAC协议具有一个基于传输过程中精确时间度量的、能量高效的唤醒技术。的唤醒技术利用一种价格低廉的CCA(空闲信道检测)机制来实现这种机制使用无线电收发器的RSSI(接收信号强度指示值)来判断指定信道的状态。ContikiMAC中的时间划分必须满足一系列的限制。如图4: 图4 ContikiMAC中的时间划分要求:ta+td ti tc tc+2tr tsti:每次数据传输之间的时间间隔tr:进行一次稳定的RSSI指示所需要的时间tc:两次CCA检测之间的时间间隔ta:手段数据包和发送ACK消息的时间间隔td:从接收节点那里成功检测到一个ACK消息所需的时间在IEEE 802.15.4标准下,不等式中一些变量被固化,如IEEE802.15.4标准定义的ta值为12个时间点我,在802.15.4中,一个时间单位是4/250ms.然后td=40/250,tr是由cc2420无线收发器的特性决定的,tr=0.192ms,不等式变为:0.352 ti tc tc+0.384 ts给出了ts的下限,0.736ms(0.352+0.384),这也为我们的能传输的最小报文长度设了限制。对其它参数,contiki系统中使用时间参数配置为:ti=0.4ms tc=0.5ms ts=0.884ms快速睡眠:contikiMAC中的并不实质性地检测数据传输,而只是检测无线信道的信号强度是否在特定的门限值之上。如果一个邻居节点在向当前的接收节点发送数据,接收节点应该保持唤醒状态来保证接收到完整的数据包,然后需要发送一个回执。检测到该数据包的其它节点则可以快速切换回睡眠状态。然而,潜在的接收节点并不能立即回去睡眠,因为它们必须保证接收到完整的数据包。在检测之后,最安全的保持唤醒状态的时间是tl+ti+tl这里表示最长数据包所需的传输时间。当由于检测到错误的无线噪声而唤醒时,的快速睡眠机制使潜在的接收节点可以早些进入休眠状态。这种优化机制利用了中的特定传输模式。1. 若CCA检测到活动,但信道活动状态的时间比tl还要长,说明CCA检测到的是噪声,节点返回睡眠2. 如果信道活动状态过程之后有一段比ti更长的静止,则返回睡眠。3.若活动状态后有一段正确的静止长度,但接收节点检测不到任何数据报文头,返回睡眠。快速睡眠如图5所示: 图5 快速睡眠锁时优化(phase-lock):该机制类似于Wise-MAC,假设传感器网络中的每个接收节点都有一个周期的、稳定的唤醒时间间隔,则发送节点可利用接收节点的唤醒时间来优化传输过程,这就是锁时优化机制。当发送节点检测到从接收节点返回的回执消息时,它会记录下检测到的时间,并以此判断出接收节点的唤醒时间。由于接收节点必须保持唤醒状态来保证完整地接收报文,则发送节点可假设收到消息意味着发送节点在接收节点唤醒状态的时间窗内成功向其发送了一个数据包,由此发送节点便可以知道其唤醒时间。在发送节点了解其唤醒时间之后,发送节点便可以在接收节点应该是唤醒状态的时候向其传输数据包。Cooja仿真实验1. 我分别测试 4、8、12、16 个节点时, contikimac 和 xmac在能量消耗和丢包率两方面的特点。2. 以下是4个节点时的截图:Contiki Xmac3. 以下是八个节点的截图:Contikixmac4. 以下是12个节点时的截图:ContikiXmac5. 以下是16个节点时的截图:contikiXmac6. 将文件中的数据导出,然后用下列程序分析:1. (void)setDownloadProgressBlock:(void()(NSUIntegerbytesRead,longlongtotalBytesRead,longlongtotalBytesExpectedToRead)block;方法,在block中计算数目。 htmlview plaincopy1. 在计算sending和got数目需要自己写一个downTask类,负责记录。downTask主要代码来源网点击打开链接或/conslee/archive/126370.htmlhtmlview plaincopy1. connectionOperation=AFURLConnectionOperationallocinitWithRequest:request;htmlview plaincopy1. connectionOperationsetDownloadProgressBlock:(NSUIntegerbytesRead,longlongtotalBytesRead,longlongtotalBytesExpectedToRead)2. /NSLog(bytesRead:%zi,bytesRead);3. /NSLog(totalBytesRead:%zi,totalBytesRead);4. /NSLog(totalBytesExpectedToRead:%zi,totalBytesExpectedToRead);5. 6. weakSelf.downTask.totalReadPeriod+=bytesRead;7. weakSelf.downTask.totalRead+=bytesRead;8. NSDate*currentDate=NSDatedate;9. if(currentDatetimeIntervalSinceDate:weakSelf.downTask.oldDatePeriod1)10. doublespeed=weakSelf.downTaskgetSpeedWithDate:currentDate;11. 12. weakSelf.gaugeViewsetGaugeValue:speedanimation:YES;13. NSString*unit=nil;14. if(speedRATIO)15. unit=M;16. speed=speed/RATIO;17. 18. else19. unit=KB;20. speed=speed;21. 22. NSLog(currentspeed:%f%,speed,unit);23. weakSelf.labSpeed.text=NSStringstringWithFormat:%.2f%,speed,unit;24. /NSLog(totalBytesRead:%zi,totalBytesRead);25. 26. 27. ;7. 之后我发现其实不用程序直接用记事本计数就可,并且还有很多简便方法。8.实验得到的结果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论