主权项 |
一种基于运动预测的介质访问控制方法,使用RTS、CTS、DATA、ACK四类报文进行通信,兼顾节点运动预测和网络通信效率,适用于水下传感器网络,该方法包括以下步骤:第一步,所有节点随机广播信号,每个节点根据接收到信号的传播时间和已知的传播速度来计算自身与邻居节点间的距离,并将得到自身与邻居节点间的距离再广播出去,从而每个节点都记录了所有节点间的相互距离值,利用距离矩阵D来表征;第二步,通过节点当前速度和过去运动速度对节点未来的运动速度进行线性预测,然后更新距离矩阵D中的距离值,求取距离矩阵D中最大值,并计算预约时隙长度:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>T</mi><mrow><mi>s</mi><mi>l</mi><mi>o</mi><mi>t</mi></mrow></msub><mo>=</mo><mfrac><mrow><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow></mrow><mi>v</mi></mfrac><mo>+</mo><msub><mi>t</mi><mrow><mi>c</mi><mi>t</mi><mi>s</mi></mrow></msub><mo>+</mo><msub><mi>t</mi><mi>d</mi></msub></mrow>]]></math><img file="FDA0001011990070000011.GIF" wi="494" he="119" /></maths>其中t<sub>cts</sub>为CTS包的发送时间,t<sub>d</sub>为保护时间,v为水中声速;第三步,结合第二步求得的预约时隙长度,应用分时隙预约发送机制,进行通信,所有数据包的发送都必须在时隙的起始时刻:1)当某个节点有数据需要发送时,它将等待至第一个时隙开始时刻,发送RTS包进行预约;2)目的节点收到RTS包,则会在下一个时隙的起始时刻发送CTS包,告知所有邻居节点,自身已经准备好接受来自发送节点的数据包,其他节点自行退避;3)源节点接收到目的节点的CTS包,表示自身预约信道成功,并在下一时隙起始时刻发送DATA;4)目的节点接收完数据包后,会在下一时隙起始时刻发送成功接收确认报文ACK。 |