主权项 |
一种基于向量转发的水下传感器网络节能路由方法,该方法传输的每个数据包带有发送节点、目的节点以及前一跳节点位置信息,转发路径由源节点到目的节点的矢量确定,该方法包括以下几个方面:1)运动速度为v的节点在接收到数据包时,计算其与数据包中记录的前一跳节点的距离m和到达角,判断是否在转发管道半径s之内;若是,则计算节点与其在源‑目的节点路由矢量<img file="FDA0000682357940000011.GIF" wi="109" he="88" />上投影的距离l,以及前一跳‑目的节点矢量<img file="FDA0000682357940000012.GIF" wi="94" he="86" />与前一跳‑该节点矢量<img file="FDA0000682357940000013.GIF" wi="74" he="78" />的夹角β;否则,丢弃;2)采用式(1)计算转发系数δ:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>δ</mi><mo>=</mo><mi>v</mi><mo>*</mo><mn>0.1</mn><mo>+</mo><msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><mi>energy</mi><mi>initialenergy</mi></mfrac><mo>)</mo></mrow><mi>N</mi></msup><mo>+</mo><mrow><mo>(</mo><mfrac><mi>l</mi><mi>s</mi></mfrac><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mfrac><mrow><mi>r</mi><mo>-</mo><mi>m</mi><mo>*</mo><mi>cos</mi><mi>β</mi></mrow><mi>r</mi></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000682357940000014.GIF" wi="1749" he="152" /></maths>式中,N是取值大于0的自然数,r为转发半径,energy为节点当前剩余能量,initialenergy为节点初始能量;3)节点持有数据包等待一段时间T<sub>adaptation</sub>,节点在等待期间若多次从多个节点收到这个数据包,每接收一次,重新计算节点本身相对于这些发送节点的转发系数,记最初的前一跳节点转发系数是δ<sub>0</sub>,之后的分别为δ<sub>1</sub>,δ<sub>2</sub>,...,δ<sub>n</sub>,如果满足<img file="FDA0000682357940000016.GIF" wi="603" he="150" />n是除了最初前一跳节点之后发给该节点相同数据包的节点数,δ<sub>c</sub>是预先定义的一个常数,0≤δ<sub>c</sub>≤3,节点就转发这个数据包,否则,将其丢弃;若等待时未收到重复包,则在转发半径r内进行广播,继续转发数据包。 |