June 16th, 2009

答辩:无线传感器网络时间同步算法性能分析

无线传感器网络时间同步算法性能分析

高 磊

(华中科技大学电子与信息工程系,通信与探测研究所)

摘要:
  无线传感器网络近年来颇受关注,时间同步是无线传感器网络的一项重要支撑技术。在理论上对不同类型时间同步机制进行了性能分析;在网络仿真工具NS-2中设计并添加仿真模块,设计仿真脚本,从单跳时间同步精度和消息传输量两个方面评估RBS、TPSN、DMTS三种经典的时间同步机制的性能并与理论结果进行了对比分析。
  研究和仿真实验结果表明在同步精度方面,TPSN算法约比RBS算法优一倍,DMTS算法最次。在消息传输量方面,DMTS最优,TPSN算法和RBS算法则需要进行多次通信,或者需要多于两个节点间的通信。
  此性能分析结果可以为不同需求的场合下的无线传感器网络时间同步算法的选取提供参考借鉴的依据,以求得同步精度和同步开销二者的权衡。

关键词:无线传感器网络;时间同步;NS-2;RBS算法;TPSN协议;DMTS算法

(答辩PPT,其中有一些动态效果在这里看不到,如感兴趣欢迎致信索取)

Tags: , , , ,

April 20th, 2009

我讨厌毫无意义的形式主义!

  本人毕设中期检查全过程,检查我的老师为微波中心主任。

我:老师好我叫高磊,在X老师那里做毕设。
问:你的开题报告呢?
我:开题报告很早就交给X老师,已经验收通过了,X老师出差了还没回。这是我的任务书和日记本。(老师随手翻了翻)我是用NS-2仿真WSN的时间同步算法,已经把单跳的RBS和TPSN算法搞定了,全网的同步还没开始做。
问:你感觉进度有多少了?百分之六七十?
我:百分之七十左右吧。
问:我给你写百分之六十吧,少写点,是为了督促以后抓紧时间做。
我:。。。好。
问:好了,下一个同学。

  匆匆忙忙的赶回学校,疲惫的又急急忙忙赶到南一楼,结果竟然就一共花了不到三十秒问了我一个进度……本来还想从北京直接回家几天看看我爸妈的。太恶心了,我讨厌这种毫无意义的形式主义!!

Tags:

April 2nd, 2009

毕设感想

  毕设老师是要我来用NS-2仿真WSN的某方向几个算法的。

  报题目时,我对这个挺感兴趣,因为NS-2非常复杂和难于上手,我喜欢有挑战性的东西。

  可是,随着毕设的深入,我发现我的远远高估了自己的能力,首先NS-2,这个东西本身所需要的深厚的功底不是简简单单会点coding就能胜任的。我经常会不小心被ns-2某个隐藏的bug卡在半路上浪费掉很多时间,而不能专心下来做coding,更不用说自己代码中的bug和对于下一步要如何实现的无限的空白和无知。

  没有研究生带和引路的日子是异常痛苦的,只有自己在百思、近场论坛上慢慢的观察、讨论,在水木请教诸位大牛,在google上筛选海一般的信息,然后继续硬着头皮去读晦涩的paper,然后思考,然后继续coding。

  对于WSN,我甚至以为它是一个早产的婴儿,我不知道它是否会夭折,在水木上看了很多也想了很多,学术界本身对WSN前途的不明朗负有很大的责任。我在网上请教过一个做过WSN项目的研究生,对于WSN的model搭建,甚至在一无所知的情况下就做出了太多的假设。我发现我下到的那些paper,都没有在讨论WSN的模型究竟最开始是如何搭建起来的,而更多的是在讨论搭建起来以后,可以借鉴和发展哪些具体技术。里面很多假设和模型都是做纯物理层的人看起来根本不正确或不符合实际的。比如做路由的时候就假定通信链路有或者没有,做时间同步的时候又假定链路都建立可以进行数据交换了,可是WSN一开始的连物理层的通信都没建立起来。

Read the rest of this entry »

Tags: , ,

January 16th, 2009

NS2环境安装完毕

      家里网速实在卡,redhat是不可能马上就下下来了,于是就用了手头仅有的cygwin来安装,也不错其实。反正实际上都是在ns内部写代码,暂时不需要真实的linux环境。

      cygwin有各种版本吧,几十M到十几G的都有,我下的是50M多的很小的一个版本,事实证明已经足够了,不够的几个包完全可以临时附加安装。

      根据nsnam网站给的提示,安装ns2之前,需要实现在cygwin中打好gcc、gcc-g++、gawk、tar、gzip、make、patch、perl、w32api这几个包,另外X11也是必须的,可以是Xfree86 (需要XFree86-base、XFree86-bin、XFree86-prog、XFree86-lib,和XFree86-etc几个包) 或者X.org (需要xorg-x11-bin、xorg-x11-bin-dlls、xorg-x11-devel、xorg-x11-libs-data,和xorg-x11-etc几个包)。

      除此外,还需要X-startup-scripts这个包,否则的话就无法运行起startxwin.sh。

      另外特别注意的是,安装ns2之前要打一个补丁,在ns-allinone-2.29tk8.4.11generictkBind.c文件的588~589行之间插入下面三行:
#ifdef GenericEvent
/* GenericEvent */ 0,
#endif
否则的话nam将无法运行起来。

      ns的编译过程将非常漫长,期间可以去吃个饭或者睡个小觉。装完后运行个example3.tcl看下,出现如下结果,应该就说明没有问题了。

ns-example

      OK,最基础的环境已经搭好了,可以开始工作了。

Tags: , , , ,