一种基于认知声技术的MAC协议的制作方法

文档序号:14061131阅读:154来源:国知局

本发明涉及一种基于认知声技术的mac协议,属于信息技术领域,特别适用于水下无线传感器网络媒体介质访问控制领域。



背景技术:

虽然目前已经发明了很多针对地面无线adhoc网络和地面无线传感器网络的mac(mediaaccesscontrol)协议,但是由于水下环境和地面环境存在巨大的差异,使得现有的地面无线通信网络的mac协议和链路调度方法无法直接应用于水下传感器网络中,需要重新设计效率高,稳定性好的mac协议。水下传感器网络协议和方案设计时所面临的主要挑战主要有如下几点:

(1)由于声速相对较低(1500m/s),导致水下环境的传播延迟比地面信道中的无线电波高了五个数量级。

(2)水声信道具有严重的衰减特性,特别是由于时变多径和衰落所引起的信号衰减。

(3)水声信道的带宽相对较低,大约只有10k/bps;

(4)水声信道网络拓扑动态变化非常剧烈。

水下传感器网络一般采用声波进行通信。但是由于声速相对较低(1500m/s),导致水下传播延迟比地面信道中的无线电波高了五个数量级。传播延迟过高会造成rts(ready-to-send)/cts(clear-to-send)类mac协议性能严重的降低,并且会引起时空不确定性,数据传输发生冲突,造成mac协议失效。



技术实现要素:

本发明要解决的技术问题是提供一种基于认知声技术的mac协议,在避免信道冲突的基础上,设计多会话多信道链路调度算法,实现接收和发送两端的时空复用;然后,利用水声认知技术在物理层通过调整水下节点运行参数,结合mac层的链路调度算法通过跨层优化策略,实现物理层和mac层的跨层优化。

为了解决所述技术问题,本发明采用的技术方案是:一种基于认知声技术的mac协议,所述协议基于以下网络,每一个传感器节点装备一个调制解调器,每一个调制解调器的可用带宽被平均划分为n个子信道,每个传感器节点子信道的数量相同并且每个子信道的带宽也相同,其中包括一个仅传输控制包的控制子信道和仅传输数据包的n-1个数据子信道,n为大于1的正整数;所述协议通过以下方法实现,(1)、设计多会话多信道链路调度算法,该算法基于4次握手机制,包括合作冲突检测及延迟图冲突避免、多回话调度两部分;(2)设计基于认知无线电技术的信道资源动态分配算法,该算法利用水声认知技术在物理层调整传感器节点的运行参数,结合mac层的链路调度算法通过跨层优化策略,实现物理层和mac层的跨层优化。

本发明所述基于认知声技术的mac协议,4次握手机制为rts/tone/cts/data,其中从发送者发送rts到接收者回复cts响应的传输时间应大于最大传播延迟,节点在发送tone到发送cts的时间应大于tone传输时间加上最大传播延迟的两倍,发送者在发送rts后等待接收邻居节点的cts控制包的时间应该大于rts传输时间加上最大传播延迟的两倍。

本发明所述基于认知声技术的mac协议,发送节点在向接收节点发送数据包前,需要首先发送rts控制包,接收节点接收到控制报文后,不能直接回复cts包,需要向自己的邻居发送tone控制包,让邻居节点检测接下来的数据包发送是否会因此信道冲突,上述过程称之为合作冲突检测;如果等待一段时间后,没有收到来自于邻居节点的冲突通知,那么接收节点就回复cts包,发送节点收到cts包后,就在预定的数据信道上发送数据;在上述过程中,要求所有节点之间的时间同步。

本发明所述基于认知声技术的mac协议,节点所有报文的传输和接收时间构成延迟图,延迟图冲突避免是指每个节点都可以通过监听邻居节点的报文,然后根据监听到的报文的类型和每个节点的延迟图推断出其所有邻居节点接收和发送报文的时间;根据节点目前的状态和已知的邻居延迟图,一个节点也可以推测出它接收报文的时间;当一个节点要发送一个报文时,它会计算所有报文的接收时间,并与邻居节点和本地报文接收时间进行比较,以检测可能发生的冲突;如果预测不会发生冲突,节点开始它的传输,否则,进入根据二进制指数退避算法进行退避等待。

本发明所述基于认知声技术的mac协议,多会话调度是指:在发送节点创建新的会话前,节点需确认此会话产生的接收和发送调度不会与现存的调度产生冲突,如果根据冲突避免机制预见到冲突,节点会根据二进制指数退避算法随机退避一段时间再重新发起此会话,否则,节点会发送rts报文建立新的会话;对于接收者,一旦收到rts报文,即建立了接收节点会话,接收节点会话建立之后,节点会把此会话带来的发送和接收调度与现存的调度进行比较,如果根据冲突避免机制预见到冲突,接收节点就不回复发送节点tone报文,否则,接收节点就回复cts报文,并在既定的数据信道等待接收数据包。

本发明所述基于认知声技术的mac协议,信道资源动态分配算法将物理层和mac层的跨层优化问题建模成最大化信道资源利用率的最优化问题,将信道资源利用率构造成物理层参数发送功率、发送速率以及信道分配矩阵的函数,提出适用于水下传感网资源动态分配算法,进一步把信道冲突避免机制和资源动态分配算法结合起来,在避免信道冲突的前提下,最大化信道资源利用率。

本发明所述基于认知声技术的mac协议,基于认知无线电技术的信道资源动态分配算法的具体步骤为:

(21)、假定m代表数据信道的数目,n代表节点w的邻居节点的数量,t代表网络的时间,在t时刻节点w的信道分配矩阵为ht,其中每个元素为如果信道m被分配给用户n,那么否则代表用户n的发送功率,pn代表用户的最大发送功率,代表用户n的发送速率,代表用户n的最大可用带宽,则其中是发送者n与其接收者在信道m上的瞬时信道增益,bm是信道带宽,n0是信道的噪声频谱密度;

(22)由于水声信号的长延迟和水声信道高动态性特点,使得很难获得,因此引入中断概率来计算信道的容量,根据qos需求,发送者n与其接收者在信道m上的丢包率应该小于等于预先设定的中断概率

(23)、假定的概率密度函数,其符合瑞利分布,那么符合均值为λmn的指数分布,将公式1带入公式2中,可以得到

(24)、把信道冲突避免机制和资源动态分配算法结合起来,在避免信道冲突的前提下,最大化信道资源利用率,假定q为发送者在ts时间内需要发送的数据的位数,其定义如下:是发送者在信道m向邻居节点n的数据发送速率,是一个发送功率、发送速率和信道分配矩阵的函数,我们将最大化信道资源利用率的问题建模成下步骤的最优化问题;

(24)、

在公式5中,c1是在同一时刻只能一个用户使用信道的信道分配限制,c2是节点发送功率不大于最大发送功率的功率限制条件,c3是信道冲突避免限制,这三个限制将mac层的冲突避免机制和物理层的节点功率和发送速率紧密的连接在一起,实现了物理层和mac层的跨层优化;

(25)、首先考虑c1和c2限制,设定为[0,1]的实数,将最优化问题转变为一个拉格朗日问题,如果发送者的最大,那么信道m被分配给发送者在信道分配矩阵中,

其中,

分配给在t时刻发送者的最优发送功率如下:

假定为在t时刻分配给发送者的信道矩阵,将公式9带入公式5中的c2,可以得到,

最后,我们将公式10带入公式9就可以得到最优发送功率

(26)、在公式5中条件c3的限制下,使用基于迭代过程的信道资源动态分配算法来计算

本发明所述基于认知声技术的mac协议,(261)、设m为[1,m]之间的正整数,m为大于1的正整数,(262)、如果设定然后根据公式10计算μn;(263)、根据公式9计算根据公式7选择发送者然后设定(265)、重复执行步骤262、263和264,直到m从1循环至m;

(266)、循环计算直到的增量大于预设的门限值。

本发明的有益效果:本方法所述基于认知声技术的mac协议(cognitiveacousticmac,ca-mac),针对水下传感网mac层水下高延迟带来的信道利用率低的问题和多信道隐藏终端问题,研究在避免信道冲突的基础上,通过多会话链路调度算法,实现接收和发送两端的时空复用;针对水下传感网中物理层水声频谱资源严重受限并且未被充分利用的问题,研究利用水声认知技术在物理层通过调整水下节点运行参数(发送频率,调制方式,发射功率等),在时间和空间两个方向提高水声频谱资源的利用率,并结合mac层的多会话链路调度算法通过跨层优化策略实现物理层和mac层的跨层优化,进一步提高水声频谱资源的利用率。本协议具有如下优点:

ca-mac用载波侦听技术获得的本地信息建立邻居延迟图,通过延迟图、邻居节点的传输调度信息和合作冲突检测机制,在不增加额外的代价的前提下有效地避免了信道冲突。

ca-mac在避免信道冲突的前提下,它允许每个节点同时发起多个会话,实现在接收和发送两端的时空复用,提高了网络吞吐量。

ca-mac为物理层和mac的跨层优化问题,设定恰当跨层优化模型,考虑mac层的冲突避免机制和物理层的节点功率、发送速率参数,将物理层和mac层的跨层优化问题建模成最大化信道资源利用率的最优化问题。

ca-mac充分考虑物理层的声学传播特性,将信道资源利用率构造成物理层参数发送功率、发送速率以及信道分配矩阵的函数,提出适用于水下传感网资源动态分配算法,进一步把信道冲突避免机制和资源动态分配算法结合起来,在避免信道冲突的前提下,最大化信道资源利用率。

ca-mac采用分布式调度策略,可以在网络拓扑动态变化的环境下很好的发挥作用。

附图说明

图1为实施例的流程图。

具体实施方式

下面解决附图和具体实施例对本发明作进一步的说明。

一种基于认知声技术的mac协议,所述协议基于以下网络,每一个传感器节点装备一个调制解调器,每一个调制解调器的可用带宽被平均划分为n个子信道,每个传感器节点子信道的数量相同并且每个子信道的带宽也相同,其中包括一个仅传输控制包的控制子信道和仅传输数据包的n-1个数据子信道,n为大于1的正整数。所述协议通过以下方法实现,(1)、设计多会话多信道链路调度算法,该算法基于4次握手机制,包括合作冲突检测及延迟图冲突避免、多回话调度两部分;(2)设计基于认知无线电技术的信道资源动态分配算法,该算法利用水声认知技术在物理层调整传感器节点的运行参数,结合mac层的链路调度算法通过跨层优化策略,实现物理层和mac层的跨层优化。

多会话多信道链路调度算法具体为:

基本原则

为了有效解决多信道隐藏终端问题,与典型的3次握手(rts/cts/data)机制不同,多信道mac协议的多会话冲突避免调度算法采用4次握手(rts/tone/cts/data)机制,把两个节点进行四次握手的过程统称为一个“会话”。为了保证在长延迟水声信道中信道预留的可靠性,此算法基于以下三个条件:

1)rts等待时间:从发送者发送rts到接收者回复cts响应的传输时间应大于最大传播延迟(发送报文到达其最大传输范围的时间)。

2)tone等待时间:节点在发送tone到发送cts的时间应大于tone传输时间加上最大传播延迟的两倍。

3)cts的等待时间:发送者在发送rts后等待接收邻居节点的cts控制包的时间应该大于rts传输时间加上最大传播延迟的两倍。

一个节点通过监听邻居节点通信而建立一跳和两跳邻居节点的延迟图,控制包报文必须包含以下信息:

源地址:报文的发送节点;

目的地址:接收报文的目的节点;

时间戳:报文的发送时间;

源-目的延迟:估计的源和目的节点之间的传播延迟;

包长度:待发送数据包的长度

数据信道:传输数据包的数据信道标号。

合作冲突检测及延迟图冲突避免

发送节点在向接收节点发送数据包前,需要首先发送rts控制包,接收节点接收到控制报文后,不能直接回复cts包,需要向自己的邻居发送tone控制包,让邻居节点检测接下来的数据包发送是否会因此信道冲突,本课题把这个定义为合作冲突检测,它能有效解决多信道隐藏终端问题。如果等待一段时间后,没有收到来自于邻居节点的冲突通知,那么接收节点就回复cts包,发送节点收到cts包后,就在预定的数据信道上发送数据。

在本算法中,要求所有节点之间的时间同步,这对准确估计节点之间的传输延迟是非常必要的。利用节点间的时间同步以及控制/数据包的时间戳,每个节点都可以通过监听邻居节点的报文来计算其邻居节点的所有报文的传输和接收时间。对于每个节点来说,通过已知包括节点和其一、两跳邻居间的传输延迟和邻居节点所有数据包的占用的数据信道以及发送和接收时间,可以用来避免碰撞。

根据侦听到的报文的类型(rts,tone,cts,data)和每个节点的延迟图可以推断出其所有邻居节点接收和发送报文的时间。同理,根据节点目前的状态和已知的邻居延迟图,一个节点可以推测出它接收报文的时间。当一个节点要发送一个报文时,它会计算所有报文的接收时间,并与邻居节点和本地报文接收时间进行比较,以检测可能发生的冲突。如果预测不会发生冲突,节点开始它的传输,否则,进入根据二进制指数退避算法进行退避等待。

多会话调度

目前水下mac协议通过增加时空复用来实现数据并行传输,提高网络的吞吐量,但是这些协议的时空复用仅发生在接收端,在长传播延迟的场景下,没有实现接收和发送两端的时空复用,时空复用率还有进一步提升的空间,为了实现接收和发送两端的时空复用,本课题提出来面向多信道mac协议的多会话调度算法。

在发送节点创建新的会话前,节点需确认此会话产生的接收和发送调度不会与现存的调度产生冲突。如果根据冲突避免机制预见到冲突,节点会根据二进制指数退避算法随机退避一段时间再重新发起此会话。否则,节点会发送rts报文建立新的会话。对于接收者,一旦收到rts报文,即建立了接收节点会话。接收节点会话建立之后,节点会把此会话带来的发送和接收调度与现存的调度进行比较,如果根据冲突避免机制预见到冲突,接收节点就不回复发送节点tone报文。否则,接收节点就回复cts报文,并在既定的数据信道等待接收数据包。因此,节点间同时发起会话的数目会随着传播延迟与数据包传输时间比例的增大而增大。在避免冲突的前提下,节点可以和邻居节点发起多个会话,这可以明显提高收发两段的时空复用率,可以大大提高网络的吞吐量。

基于认知无线电技术的信道资源动态分配算法的具体步骤为:

(21)、假定m代表数据信道的数目,n代表节点w的邻居节点的数量,t代表网络的时间。在t时刻节点w的信道分配矩阵为ht,其中每个元素为如果信道m被分配给用户n,那么否则代表用户n的发送功率,pn代表用户的最大发送功率,代表用户n的发送速率,代表用户n的最大可用带宽。

其中是发送者n与其接收者在信道m上的瞬时信道增益,bm是信道带宽,n0是信道的噪声频谱密度。

(22)、由于水声信号的长延迟和水声信道高动态性特点,使得很难获得,因此使用中断概率来计算信道的容量,它可以通过在水下传感网中很容易得到的静态信息获得。根据qos的需求,发送者n与其接收者在信道m上的丢包率应该小于等于预先设定的中断概率

(23)、假定的概率密度函数,其符合瑞利分布,那么符合均值为λmn的指数分布,将公式1带入公式2中,可以得到

(24)、把信道冲突避免机制和资源动态分配算法结合起来,在避免信道冲突的前提下,最大化信道资源利用率。假定q为发送者在ts时间内需要发送的数据的位数,其定义如下:

是发送者在信道m向邻居节点n的数据速率。是一个发送功率、发送速率和信道分配矩阵的函数,我们将最大化信道资源利用率的问题建模成下面的最优化问题。

(24)、

在公式5中,c1是在同一时刻只能一个用户使用信道的信道分配限制,c2是节点发送功率不大于最大发送功率的功率限制条件,c3是信道冲突避免限制。这三个限制将mac层的冲突避免机制和物理层的节点功率和发送速率紧密的连接在一起,实现了物理层和mac层的跨层优化。

(25)、首先考虑c1和c2限制,设定为[0,1]的实数,那么最优化问题就可以转变为一个标准的拉格朗日问题。如果发送者的最大,那么信道m被分配给发送者在信道分配矩阵中,

其中,

分配给在t时刻发送者的最优发送功率如下:

假定为在t时刻分配给发送者的信道矩阵,将公式9带入公式5中的c2,可以得到,

最后,我们将公式10带入公式9就可以得到最优发送功率

(26)、接下来,在公式5中条件c3的限制下,使用下列基于迭代过程的信道资源动态分配算法,计算

的计算过程为:(261)、设m为[1,m]之间的正整数,m为大于1的正整数,(262)、如果设定然后根据公式10计算μn;(263)、根据公式9计算(264)根据公式7选择发送者然后设定(265)、重复执行步骤262、263和264,直到m从1循环至m;(266)、循环计算直到的增量大于预设的门限值。该过程的另一种表述为:

本实施例中描述一种利用本mac进行水下通信的方法,如图1所述,为该方法的流程图;其包括以下步骤:

步骤101:运行时间同步算法,使得网络中所有节点时间同步,其中同步算法已是本领域的常规技术手段。

步骤102:根据邻居发现协议使得网络中的每个节点获得自己的邻居个数。

步骤103:所有节点运行ca-mac协议。

步骤104:节点如果获得发送权,则切换到发送状态,发送数据包,完成后,回到步骤103。

步骤105:节点如果没有获得发送权,则切换到接收状态,接收周围邻居发送的数据包,接收完成后,回到步骤103。

以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1