【技术实现步骤摘要】
一种结合水声网络协议的节点定位方法
本专利技术属于水下无线传感器网络节点定位领域,特别涉及一种结合水声网络协议的节点定位方法。
技术介绍
将水声网络节点随机布放在水下感兴趣的区域内并形成传感器网络,而网络节点的定位技术是水下通信网络的支撑技术之一。目前,关于水下无线传感器网络定位技术方面的研究有多种分类方法,其中依据定位是否依赖节点间的距离测量可将定位算法分为基于测距的定位和基于非测距的定位。基于测距的定位算法一般通过接收信号强度(RSSI)、到达时间(TOA)、到达时间差(TDOA)、接收信号角度(AOA)等距离测量手段得到节点间距离,然后利用节点的位置坐标之间的数学关系建立解算方程,求解得到节点的定位坐标。目前,基于测距的水下节点定位算法的研究有很多,文献[1](高峰.水下传感器网络定位算法及路由技术研究)提出了考虑翻转歧义的UWSN自上而下的节点定位改进方案,进一步降低了网络的平均定位误差。文献[2](HuaiHuang,YahongRosaZheng.NodelocalizationwithAoAassist ...
【技术保护点】
1.一种结合水声网络协议的节点定位方法,所述方法包括:将水声网络节点按照一定规则布放,布放时为各个节点设定一个初始GPS值,在网络自组织过程中利用不需要精确时钟同步的类TOA方法完成节点之间的测距,将测距结果对节点的初始GPS值进行矫正,实现对节点的定位。/n
【技术特征摘要】
1.一种结合水声网络协议的节点定位方法,所述方法包括:将水声网络节点按照一定规则布放,布放时为各个节点设定一个初始GPS值,在网络自组织过程中利用不需要精确时钟同步的类TOA方法完成节点之间的测距,将测距结果对节点的初始GPS值进行矫正,实现对节点的定位。
2.根据权利要求1所述的结合水声网络协议的节点定位方法,其特征在于,所述方法具体包括:
步骤1)将水声网络节点按照一定规则布放,布放时为各个节点设定一个初始GPS值并进行初始化;
步骤2)每个节点利用找邻居和泛洪广播及问答获取能直接通信的两两节点的距离,由此生成路由矩阵和距离矩阵;
步骤3)利用距离矩阵对节点的初始GPS值进行矫正,实现对节点的定位。
3.根据权利要求2所述的结合水声网络协议的节点定位方法,其特征在于,所述步骤1)具体包括:
步骤1-1)设定水声网络包含的总节点数量T及本节点地址t;
总节点数量T应不大于当前地址、下跳地址、目的地址、跳数4项所占用的bit位数总和;本节点地址t为整数,t∈[0,T),且应保证不同节点的t在网络中是唯一的;
步骤1-2)设定找邻居次数的上限L、询问次数的上限W;
步骤1-3)设定每个节点的延迟时间u,且所有节点延迟时间u不相同;
步骤1-4)设定每个节点的GPS初始值,包括纬度、经度,在此基础上设定GPS设定值;
步骤1-5)为每一个节点建立空白路由矩阵、空白路由表、空白距离矩阵、空白距离表和空白GPS表;所述路由矩阵用于记录由本节点出发如何访问到其他节点的路径的矩阵;所述距离矩阵用于记录两个能直接通信的节点间的距离的矩阵;
路由矩阵包含的行数、列数均等于总节点数量T;路由矩阵中的所有元素赋值为0;路由矩阵行、列序号均从0开始;路由表的所包含的项数也等于总节点数量T;路由表中每一项中至少应包含:目的节点地址、下一跳节点地址、到达目的节点所需要的跳数等信息;将所有节点的地址依次填写到路由表目的节点地址栏中;下一跳节点地址赋值为空值;到达目的节点所需要的跳数赋值为无限大;距离矩阵包含的行数、列数均等于总节点数量T;距离矩阵中的所有元素赋值为0;距离矩阵行、列序号均从0开始;GPS表分为纬度、经度两部分,每部分项数均等于总节点数量T;
步骤1-6)清零所有定时器、帧序号计数器、找邻居次数和询问次数;
步骤1-7)设置每个节点的找邻居中断定时器。
4.根据权利要求3所述的结合水声网络协议的节点定位方法,其特征在于,所述步骤2)具体包括:
步骤2-1)节点A进入找邻居空闲状态,等待中断,如果是找邻居中断,节点A查验找邻居次数,如果找邻居次数不小于L,则将找邻居次数归零,进入步骤2-2),如果是数据接收中断,进行数据校验;在校验不正确的情况下,丢弃该数据,在校验正确的情况下,进入步骤2-4),当前空闲状态为找邻居阶段空闲状态;
步骤2-2)节点A进入泛洪广播空闲状态,清零找邻居阶段定时器,设置泛洪广播中断定时器,进入泛洪广播阶段,等待中断,如果是泛洪广播中断,则生成并发送泛洪广播数据帧,进入步骤2-3);如果是数据接收中断,进行数据校验;在校验不正确的情况下,丢弃该数据;在校验正确的情况下,进入步骤2-4);当前空闲状态为泛洪广播阶段空闲状态;
步骤2-3)节点A进入问答阶段空闲状态,清零泛洪广播中断定时器,设置问答中断定时器,进入问答阶段,等待中断,如果是问答中断,如果路由矩阵已经完整或者询问次数不小于W,不做处理;否则,完善路由矩阵;如果是数据接收中断,进行数据校验;在校验不正确的情况下,丢弃该数据;在校验正确的情况下,进入步骤2-4);当前空闲状态为问答阶段空闲状态;
步骤2-4)根据接收的数据类型进行数据处理,生成路由矩阵和距离矩阵。
5.根据权利要求4所述的结合水声网络协议的节点定位方法,其特征在于,所述步骤2-1)具体包括:
步骤2-1-1)节点A进入找邻居空闲状态,等待中断,如果是找邻居中断,节点A查验找邻居次数,如果找邻居次数不小于L,则将找邻居次数归零,进入步骤2-2),否则,转入步骤2-1-2);如果是数据接收中断,进行数据校验;在校验不正确的情况下,丢弃该数据,在校验正确的情况下,进入步骤2-4),当前空闲状态为找邻居阶段空闲状态;
步骤2-1-2)根据“找邻居”的数据帧格式生成空数据帧,其中帧同步交由物理层赋值,数据类型赋值为“找邻居”,信源地址赋值为“本节点地址”,当前地址与下跳地址赋值为“无效”,目的地址赋值为“广播”,跳数赋值为1,帧序号赋值为帧序号计数器当前值,帧序号计数器加1,GPS赋值为本节点的“GPS设定值”,校验赋值为上述数据校验和;发送该数据帧后,记录下发送时间t1,找邻居次数加1,转入步骤2-1-1)。
6.根据权利要求5所述的结合水声网络协议的节点定位方法,其特征在于,所述步骤2-2)具体包括:
步骤2-2-1)节点A进入泛洪广播空闲状态,清零找邻居阶段定时器,设置泛洪广播中断定时器,进入泛洪广播阶段,等待中断,如果是泛洪广播中断,进入步骤2-2-2),如果是数据接收中断,进行数据校验;在校验不正确的情况下,丢弃该数据;在校验正确的情况下,进入步骤2-4);当前空闲状态为泛洪广播阶段空闲状态;
步骤2-2-2)根据“泛洪”的数据帧格式生成空数据帧,其中帧同步交由物理层赋值,数据类型赋值为“泛洪”,信源地址赋值为t,将路由矩阵第t列的所有元素的最低bit位按照行序号从低到高的顺序提取出来,再依次按照当前地址、下跳地址、目的地址、跳数的bit位从高到低的顺序赋值,不足的部分逐bit补0;帧序号赋值为帧序号计数器当前值,帧序号计数器加1,校验赋值为上述数据校验和,距离值赋值为距离表中第d列的所有元素;发送泛洪广播数据帧后,进入步骤2-3)。
7.根据权利要求6所述的结合水声网络协议的节点定位方法,其特征在于,所述步骤2-3)具体包括:
步骤2-3-1)节点A进入问答阶段空闲状态,清零泛洪广播中断定时器,设置问答中断定时器,进入问答阶段,等待中断,如果是问答中断,进入步骤2-3-2),如果是数据接收中断,进行数据校验;在校验不正确的情况下,丢弃该数据;在校验正确的情况下,进入步骤2-4);当前空闲状态为问答阶段空闲状态;
步骤2-3-2)查看节点的路由矩阵,若其每一列都已存在非零元素,表明路由矩阵已完整,则清零问答中断定时器;若仍有部分列的元素全为零,则查看询问次数,若询问次数不小于W,则清零问答中断定时器,若询问次数小于W,则按照步骤2-3-3)询问路由矩阵所缺少的某一列;
步骤2-3-3)记路由矩阵所缺少的列序号为x,根据“询问”的数据帧格式生成空数据帧,其中帧同步交由物理层赋值,数据类型赋值为“询问”,信源地址赋值为t,当前地址、下跳地址赋值为“无效”,目的地址赋值为x,跳数赋值为0,帧序号赋值为帧序号计数器当前值,帧序号计数器加1,校验赋值为上述数据校验和;发送该数据帧后,询问次数计数器+1,转入步骤2-3-1)。
8.根据权利要求7所述的结合水声网络协议的节点定位方法,其特征在于,所...
【专利技术属性】
技术研发人员:肖东,冯艺璇,陈岩,魏丽萍,郭圣明,马力,
申请(专利权)人:中国科学院声学研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。