论文部分内容阅读
近年来,伴随着物联网的兴起,无线传感器网络已经成为通信领域的研究热点。从无线传感器网络的支撑技术出发,嵌入式终端和传感器网络节点定位无疑是两大重要的应用基础。本文从这两方面展开研究,在设计完成基于S3C2440和嵌入式Linux的网络节点平台基础之上,开发定位终端的系统软件。定位系统软件以GIS(Geographic Information System,地理信息系统)相关技术为基础,包括GIS相关功能、GPS定位以及卫星信号缺失情况下的测距定位等。以下是本文的主要工作:首先,设计定位系统终端硬件平台和软件平台。硬件平台以基于ARM920T核的S3C2440处理器为中心,通过RS232接口连接GPS模块和电子罗盘。软件平台以裁减过的Linux 2.6.13嵌入式操作系统为基础,由它统一管理整个硬件系统平台与系统引导程序、内核、通信协议、底层驱动等。文章对基于嵌入式Linux和Qt的交叉编译环境、系统移植以及应用软件移植进行了详细阐述,并开发和改进了基于Linux和Qt的中文输入法。其次,对无线传感器网络中的定位算法进行深入研究后,在已经提出的NLOS环境下TOA相对定位算法的基础之上,本文新提出了一种改进算法:该方法引入待测节点移动的方位角度信息,结合节点运动轨迹,预测下一时刻的位置,并以此判断TOA测距距离是否有非视距误差,完成测量值的重构,使其接近于LOS测量值。仿真结果和分析表明,该算法在非视距传播干扰下有良好的定位精度,随着非视距误差增大,相比其他算法的性能更优越。然后,设计和实现定位终端通信协议即各模块交互接口,包括基于RS232串口的GPS模块和电子罗盘的实现、定位终端与测距模块间基于UDP的网口通信协议的设计和实现。最后,实现定位终端相关系统应用软件。定位终端应用程序采用C/C++语言进行开发,采取分层设计、模块化设计以及Linux下多进程通信的设计方法。定位算法采用C语言实现,GIS/GPS软件、TOA定位软件及其用户图形界面(GUI)设计开发采用基于MapGIS-EMS和Qt的C++语言实现。应用测试结果表明:系统装载地图容量大、运行速度快、成本低、携带方便,在有无卫星定位信号情况下都能实现网络节点定位,有着广泛的应用前景。