一种车联网***中的数据发送方法和节点设备
技术领域
本发明涉及通信技术领域,特别涉及一种车联网***中的数据发送方法和节点设备。
背景技术
目前,国际上已经开展了许多面向车联网V2X(Vehicle to X,车与车及车与路边设施的通信称为V2X)应用的自组网车载通信***相关的研发项目,产出了很多研究成果,一种较有代表性的是移动分时隙ALOHA(Mobile Slotted Aloha,MS-ALOHA)协议。该协议是一种基于动态时分多址(Time Division Multiple Access,TDMA)的分布式媒体接入控制(Media Access Control,MAC)协议。该MS-ALOHA协议的资源分配基于帧结构,以子帧为单位,每N个子帧构成一个帧(Frame),每个帧中的子帧的编号为1~N,在帧之间循环往复。通常认为,自组网车载通信***中的任一节点(如车载设备等)在一个子帧上发送了帧信息(Frame Information,FI)消息之后,就认为该子帧是该节点自己占用的子帧,节点在自己占用的子帧上会广播FI消息。
目前,ALOHA机制为了保证数据包的可靠接收,规定三跳范围内时间资源是不可复用的。在发送安全消息时,如果每个车辆设备的每个数据包发送占用1ms的时频资源,发送周期是100ms,则按照ALOHA机制的规定,三跳范围内只能容纳100个车辆设备,这样,当车辆设备密度较大时,就会导致容量不够用的问题。
为了解决上述容量不够用的问题,可以通过增加带宽的方式来提升容量。但是直接增加带宽、缩短每个数据包传输时间的方法,又会出现发射功率不够用的问题。如果采用直接频分的方式,则又可能导致部分周围车辆丢失安全消息的问题。
综上所述,按照ALOHA机制的现有规定,三跳范围内不可复用时间资源,会导致当车辆设备密度较大时,容量不够用的问题。
发明内容
本发明实施例提供了一种车联网***中的数据发送方法和节点设备,用于解决现有ALOHA机制,在车辆设备密度较大时,容量不够用的问题。
本发明实施例提供的一种车联网***中的数据发送方法,在一个帧周期内,该方法包括:
位于A跳数范围内的任一节点设备生成所需发送的数据,其中,A≥2且A为正整数;
所述任一节点设备确定发送生成的数据的时频单元,并在确定出的时频单元上,发送生成的数据;
其中,一个帧周期包括M个子帧,每个子帧包括N个频带,所述时频单元表示一个子帧的一个频带,M,N均为正整数;一跳范围内的任意两个节点设备不能占用相同的子帧发送生成的数据;一跳范围外且A跳范围内的任意两个节点设备能够占用相同的子帧且不同的频带发送生成的数据,或者占用相同的频带且不同的子帧发送生成的数据。
在实施中,所述任一节点设备确定发送生成的数据的时频单元,包括:
在初次发送自身生成的数据之前,所述任一节点设备从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送生成的数据的时频单元;或者
在判断出自身占用的时频单元与其他节点设备所占用的时频单元发生碰撞后,所述任一节点设备从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送生成的数据的时频单元。
在实施中,所述任一节点设备从所述帧周期内确定出处于空闲态的时频单元,包括:
所述任一节点设备根据表示一个帧周期内各时频单元占用状态的占用状态表,确定出处于空闲态的时频单元。
作为一种优选的实现方式,所述任一节点设备根据以下步骤生成所述占用状态表:
所述任一节点设备根据当前子帧的每个时频单元内接收到的第一FI消息确定出一组帧周期内各时频单元的表示时频单元占用状态的子域信息,或者,所述任一节点设备根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息;以及
所述任一节点设备根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表。
该方式下,所述任一节点设备根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
当检测到当前子帧的每个时频单元内的接收功率小于或等于设定的功率阈值时,所述任一节点设备确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为空闲状态,以及确定出所述帧周期内除当前子帧的每个时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;
或者,当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收信噪比SNR小于设定的SNR阈值时,所述任一节点设备确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为碰撞状态,以及确定出所述帧周期内除当前子帧的每个时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;
或者,当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR不小于设定的SNR阈值,所述任一节点设备确定出当前子帧的每个时频单元的状态信息中表示时频单元占用状态的子域信息为一跳模糊占用状态,以及确定出所述帧周期内除当前子帧的每个时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值。
该方式下,所述任一节点设备根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表,包括:
所述任一节点设备将所述占用状态表中的第m行包含的子域信息移至第m-N行中,并将当前子帧的每个时频单元内确定出的一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,添加到所述占用状态表的第M*N-1行中,其中,m=N,…,M*N-1。
作为另一种优选的实现方式,所述任一节点设备根据以下步骤生成所述占用状态表:
所述任一节点设备根据采集到的一个帧周期内接收到的第一FI消息和自身生成的第二FI消息,确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,以生成所述占用状态表;
其中,所述占用状态表包括M*N*M*N个子域信息,所述占用状态表的每一行的内容为所述任一节点设备确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息。
该方式下,所述任一节点设备确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
针对所采集的帧周期内的每个时频单元,若在该时频单元接收到第一FI消息,所述任一节点设备根据接收到的第一FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若该时频单元为自身发送第二FI消息的时频单元,所述任一节点设备根据自身生成的第二FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若在该时频单元未接收到任何第一FI消息,且该时频单元为除自身发送第二FI消息之外的其他时频单元,所述任一节点设备确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息的值均为初始值。
基于上述任一实施例,所述任一节点设备根据所述占用状态表,确定出处于空闲态的时频单元,包括:
所述任一节点设备将所述占用状态表中每列包含的表示时频单元占用状态的子域信息的值进行求和;
若求和得到的结果为设定值,且所述列对应的时频单元所属的子帧的其他时频单元的表示时频单元占用状态的子域信息为非一跳占用且非一跳模糊占用,所述任一节点设备确定所述列对应的时频单元为空闲时频单元。
本发明实施例提供的一种节点设备,该节点设备为位于A跳数范围内的任一节点设备,A≥2且A为正整数,该节点设备包括:
数据生成模块,用于在一个帧周期内,生成所需发送的数据;
空闲资源确定模块,用于确定发送生成的数据的时频单元;
数据发送模块,用于在所述空闲资源确定模块确定出的时频单元上,发送所述数据生成模块生成的数据;
其中,一个帧周期包括M个子帧,每个子帧包括N个频带,所述时频单元表示一个子帧的一个频带,M,N均为正整数;一跳范围内的任意两个节点设备不能占用相同的子帧发送生成的数据;一跳范围外且A跳范围内的任意两个节点设备能够占用相同的子帧且不同的频带发送生成的数据,或者占用相同的频带且不同的子帧发送生成的数据。
在实施中,所述空闲资源确定模块具体用于:
用于在初次发送所述数据生成模块生成的数据之前,从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送所述数据生成模块生成的数据的时频单元;或者,在判断出自身所属的节点设备所占用的时频单元与其他节点设备所占用的时频单元发生碰撞后,从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送所述数据生成模块生成的数据的时频单元。
在实施中,所述空闲资源确定模块具体用于:
根据表示一个帧周期内各时频单元占用状态的占用状态表,确定出处于空闲态的时频单元。
作为一种优选的实现方式,所述空闲资源确定模块根据以下步骤生成所述占用状态表:
根据当前子帧的每个时频单元内接收到的第一FI消息确定出一组帧周期内各时频单元的表示时频单元占用状态的子域信息,或者,根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息;
根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表。
该方式下,所述空闲资源确定模块根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
当检测到当前子帧的每个时频单元内的接收功率小于或等于设定的功率阈值时,则确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为空闲状态,以及确定出所述帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收信噪比SNR小于设定的SNR阈值时,则确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为碰撞状态,以及确定出所述帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;
或者,当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR不小于设定的SNR阈值,则确定出当前子帧的每个时频单元的状态信息中表示时频单元占用状态的子域信息为一跳模糊占用状态,以及确定出所述帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值。
该方式下,所述空闲资源确定模块根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表,包括:
将所述占用状态表中的第m行包含的子域信息移至第m-N行中,并将当前子帧的每个时频单元内确定出的一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,添加到所述占用状态表的第M*N-1行中,其中,m=N,…,M*N-1。
作为另一种优选的实现方式,所述空闲资源确定模块具体用于:
根据采集到的一个帧周期内接收到的第一FI消息和所述数据生成模块生成的第二FI消息,确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,以生成所述占用状态表;
其中,所述占用状态表包括M*N*M*N个子域信息,所述占用状态表的每一行的内容为所述空闲资源确定模块确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息。
该方式下,所述空闲资源确定模块确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
针对所采集的帧周期内的每个时频单元,若在该时频单元接收到第一FI消息,根据接收到的第一FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若该时频单元为所述数据发送模块发送第二FI消息的时频单元,根据所述数据生成模块生成的第二FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若在该时频单元未接收到任何第一FI消息,且该时频单元为除所述数据发送模块发送第二FI消息之外的其他时频单元,确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息的值均为初始值。
基于上述任一实施例,所述空闲资源确定模块根据所述占用状态表,确定出处于空闲态的时频单元,包括:
将所述占用状态表中每列包含的表示时频单元占用状态的子域信息的值进行求和;
若求和得到的结果为设定值,且所述列对应的时频单元所属的子帧的其他时频单元的表示时频单元占用状态的子域信息为非一跳占用且非一跳模糊占用,则确定所述列对应的时频单元为空闲时频单元。
本发明实施例提供的另一种节点设备,该节点设备为位于A跳数范围内的任一节点设备,A≥2且A为正整数,该节点设备包括:收发信机、以及与该收发信机连接的至少一个处理器,其中:
处理器被配置用于:在一个帧周期内,生成所需发送的数据;以及确定发送自身生成的数据的时频单元;
收发信机被配置用于:在处理器确定出的时频单元上,发送处理器生成的数据;
其中,一个帧周期包括M个子帧,每个子帧包括N个频带,所述时频单元表示一个子帧的一个频带,M,N均为正整数;一跳范围内的任意两个节点设备不能占用相同的子帧发送生成的数据;一跳范围外且A跳范围内的任意两个节点设备能够占用相同的子帧且不同的频带发送生成的数据,或者占用相同的频带且不同的子帧发送生成的数据。
在实施中,处理器还被配置用于:
在初次发送生成的数据之前,从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送自身生成的数据的时频单元;
或者,
在判断出自身所属的节点设备所占用的时频单元与其他节点设备所占用的时频单元发生碰撞后,从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送自身生成的数据的时频单元。
在实施中,处理器被配置具体用于:
根据表示一个帧周期内各时频单元占用状态的占用状态表,确定出处于空闲态的时频单元。
作为一种优选的实现方式,处理器根据以下步骤生成所述占用状态表:
根据当前子帧的每个时频单元内接收到的第一FI消息确定出一组帧周期内各时频单元的表示时频单元占用状态的子域信息,或者,根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息;
根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表。
该方式下,处理器根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
当检测到当前子帧的每个时频单元内的接收功率小于或等于设定的功率阈值时,则确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为空闲状态,以及确定出所述帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收信噪比SNR小于设定的SNR阈值时,则确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为碰撞状态,以及确定出所述帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;
或者,当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR不小于设定的SNR阈值,则确定出当前子帧的每个时频单元的状态信息中表示时频单元占用状态的子域信息为一跳模糊占用状态,以及确定出该帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值。
该方式下,处理器根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表,包括:
将所述占用状态表中的第m行包含的子域信息移至第m-N行中,并将当前子帧的每个时频单元内确定出的一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,添加到所述占用状态表的第M*N-1行中,其中,m=N,…,M*N-1。
作为另一种优选的实现方式,处理器被配置具体用于:
根据采集到的一个帧周期内接收到的第一FI消息和自身生成的第二FI消息,确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,以生成所述占用状态表;
其中,所述占用状态表包括M*N*M*N个子域信息,所述占用状态表的每一行的内容为处理器确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息。
该方式下,处理器确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
针对所采集的帧周期内的每个时频单元,若收发信机在该时频单元接收到第一FI消息,根据收发信机接收到的第一FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若该时频单元为收发信机发送第二FI消息的时频单元,根据自身生成的第二FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若在该时频单元未接收到任何第一FI消息,且该时频单元为除收发信机发送第二FI消息之外的其他时频单元,确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息的值均为初始值。
基于上述任一实施例,处理器根据所述占用状态表,确定出处于空闲态的时频单元,包括:
将所述占用状态表中每列包含的表示时频单元占用状态的子域信息的值进行求和;
若求和得到的结果为设定值,且所述列对应的时频单元所属的子帧的其他时频单元的表示时频单元占用状态的子域信息为非一跳占用且非一跳模糊占用,则确定所述列对应的时频单元为空闲时频单元。
本发明实施例提供的方法和节点设备中,由于一跳范围外且A(A≥2)跳范围内的任意两个节点设备占用相同的子帧且不同的频带发送生成的数据,或者,占用相同的频带且不同的子帧发送生成的数据,可见,一跳范围外且A(A≥2)跳范围内的节点设备通过频分复用的方式发送数据,从而提升了***容量。
附图说明
图1为本发明实施例提供的一种车联网***中的数据发送方法的示意图;
图2为本发明实施例提供的一种节点设备的示意图;
图3为本发明实施例提供的另一种节点设备的示意图。
具体实施方式
本发明通过两跳及两跳外的频分复用的方式发送数据,提升了***容量。
本发明实施例中为了便于说明还使用了“第一FI消息”和“第二FI消息”这样的名词,第一FI消息是指车联网***中的任一节点设备接收到的FI消息,即车联网***中其他节点设备发送的FI消息;第二FI消息是指车联网***中的任一节点设备自身生成的FI消息,即该任一节点设备发送给其他节点设备的FI消息。
下面结合说明书附图对本发明实施例作进一步详细描述。应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供的一种车联网***中的数据发送方法,如图1所示,在一个帧周期内,该方法包括:
步骤11、位于A跳数范围内的任一节点设备生成所需发送的数据,其中,A≥2且A为正整数;
步骤12、该任一节点设备确定发送生成的数据的时频单元,并在确定出的时频单元上,发送生成的数据;
其中,一个帧周期包括M个子帧,每个子帧包括N个频带,时频单元表示一个子帧的一个频带,M,N均为正整数;一跳范围内的任意两个节点设备不能占用相同的子帧发送生成的数据;一跳范围外且A跳范围内的任意两个节点设备能够占用相同的子帧且不同的频带发送生成的数据,或者占用相同的频带且不同的子帧发送生成的数据。
举例说明,一个帧周期包括M个子帧,每个子帧包括N个频带,子帧的编号为0~M-1,频带的编号为0~N-1,时频单元的编号为0~M*N-1,则时频单元0表示子帧0的第一个频带,时频单元1表示子帧0的第二个频带,……,时频单元N-1表示子帧0的第N个频带,时频单元N表示子帧1的第一个频带,时频单元N+1表示子帧1的第二个频带,依次类推,时频单元M*N-1表示子帧M-1的第N个频带。
本发明实施例中,一跳范围外且A(A≥2)跳范围内的任意两个节点设备占用相同的子帧且不同的频带发送生成的数据,或者,占用相同的频带且不同的子帧发送生成的数据,通过频分复用的方式发送数据,从而提升了***容量。
在实施中,该任一节点设备确定发送生成的数据的时频单元,包括:
在初次发送自身生成的数据之前,该任一节点设备从帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送生成的数据的时频单元;或者
在判断出自身占用的时频单元与其他节点设备所占用的时频单元发生碰撞后,该任一节点设备从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送生成的数据的时频单元。
较佳地,该任一节点设备从帧周期内确定出处于空闲态的时频单元,包括:
该任一节点设备根据表示一个帧周期内各时频单元占用状态的占用状态表,确定出处于空闲态的时频单元。
具体的,该任一节点设备生成占用状态表,包括以下两种优选的实现方式:
方式1、基于在当前子帧的每个时频单元上接收到的第一FI消息,或者,当前子帧的每个时频单元的接收功率,确定出帧周期内各时频单元的表示时频单元占用状态的子域信息,以生产占用状态表。具体如下:
该任一节点设备根据当前子帧的每个时频单元内接收到的第一FI消息确定出一组帧周期内各时频单元的表示时频单元占用状态的子域信息,或者,该任一节点设备根据当前子帧的每个时频单元的接收功率确定出一组帧周期内各时频单元的表示时频单元占用状态的子域信息;以及
该任一节点设备根据确定出的各组帧周期内各时频单元的表示时频单元占用状态的子域信息,生成占用状态表。
该方式下,该任一节点设备根据当前子帧的每个时频单元的接收功率确定出一组帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
当检测到当前子帧的每个时频单元内的接收功率小于或等于设定的功率阈值时,该任一节点设备确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为空闲状态,以及确定出帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR小于设定的SNR阈值时,该任一节点设备确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为碰撞状态,以及确定出帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR不小于设定的SNR阈值,该任一节点设备确定出当前子帧的每个时频单元的状态信息中表示时频单元占用状态的子域信息为一跳模糊占用状态,以及确定出帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值。
具体的,在进行上述物理层检测时,可以基于前导码到寻呼控制信道物理控制信道(Physical Control Channel,PCCH)的数据检测;考虑不同群间(这里的群是指一组彼此同步的节点设备)可能出现的较大时延差,碰撞状态和一跳模糊占用状态检测还需要持续到物理共享信道(Physical Shared Channel,PSCH)的数据检测。
较佳地,初始值一般为0。
下面结合一个实例,对本发明实施例中用于表示时频单元占用状态的子域信息C的取值和不同值的含义进行说明,本实例中,C用2比特表示,如表1所示。需要说明的是,表1只是说明性的,并不对子域信息C的实现方式进行限定。
时频单元占用状态 |
指示信息 |
自占 |
10(检测域) |
一跳邻/一跳模糊占用 |
10(非检测域) |
二跳邻 |
01 |
空闲/三跳邻 |
00 |
碰撞 |
11 |
表1;
该方式下,该任一节点设备根据确定出的各组帧周期内各时频单元的表示时频单元占用状态的子域信息,生成占用状态表,包括:
该任一节点设备将占用状态表中的第m行包含的子域信息移至第m-N行中,并将当前子帧的每个时频单元内确定出的一组帧周期内各时频单元的表示时频单元占用状态的子域信息,添加到该占用状态表的第M*N-1行中,其中,m=N,…,M*N-1。
具体的,在时频单元i,进行行搬移操作:将占用状态表第m行记录的状态信息移到第m-N行,(m=N,…,M*N-1)。M*N-1行使用当前子帧的每个时频单元的子域信息;以及将时频单元i的子域信息示输入占用状态表的最后一行(即M*N-1行)。其中,占用状态表中的子帧编号可能与接收到的第一FI消息中子帧的编号存在一定的偏移,如果在子帧i收到一条第一FI消息,那么第一FI消息中的子帧0对应到子帧状态表中的子帧i,第一FI消息中的子帧k对应到子帧状态表中的mod(k+i,M)子帧,其中,mod(k+i,M)表示k+m对M取模运算。
举例说明,假定帧周期为3,每个子帧内频带个数为2,则当前维护的占用状态表(即C信息状态表)如表2所示:
表2;
表2中子域号即时频单元的编号,子域号0表示子帧0的第一个频带,子域号1表示子帧0的第二个频带,子域号2表示子帧1的第一个频带,子域号3表示子帧1的第二个频带,依次类推。
方式2、基于在一个帧周期接收到的第一FI消息和自身生成的第二FI消息,生成占用状态表。具体为:
该任一节点设备根据采集到的一个帧周期内接收到的第一FI消息和自身生成的第二FI消息,确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,以生成占用状态表;
其中,该占用状态表包括M*N*M*N个子域信息,该占用状态表的每一行的内容为所述该任一节点设备确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息。
该方式下,该任一节点设备确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
针对所采集的帧周期内的每个时频单元,若在该时频单元接收到第一FI消息,则该任一节点设备根据接收到的第一FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若该时频单元为自身发送第二FI消息的时频单元,则该任一节点设备根据自身生成的第二FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若在该时频单元未接收到任何第一FI消息,且该时频单元为除自身发送第二FI消息之外的其他时频单元,则该任一节点设备确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息的值均为初始值。
较佳地,表示时频单元占用状态的子域信息的初始值一般为0。
基于上述两种优选的实现方式,该任一节点设备根据生成的占用状态表,确定出处于空闲态的时频单元,包括:
该任一节点设备将生成的占用状态表中每列包含的表示时频单元占用状态的子域信息的值进行求和;
若求和得到的结果为设定值,且该列对应的时频单元所属的子帧的其他时频单元的表示时频单元占用状态的子域信息为非一跳占用且非一跳模糊占用,则该任一节点设备确定该列对应的时频单元为空闲时频单元。
具体的,在进行判断时,包括以下几种情况:
若求和得到的结果为设定值,且该列对应的时频单元所属的子帧的其他时频单元的表示时频单元占用状态的子域信息均不是一跳占用,也不是一跳模糊占用,则该任一节点设备确定该列对应的时频单元为空闲时频单元;
若求和得到的结果不是设定值,则该任一节点设备确定该列对应的时频单元为非空闲时频单元;
若求和得到的结果为设定值,且该列对应的时频单元所属的子帧的其他时频单元中至少一个时频单元的表示时频单元占用状态的子域信息为一跳占用或一跳模糊占用,则该任一节点设备确定该列对应的时频单元为非空闲时频单元。
较佳地,设定值为0。
举例说明,以表1所示的表示时频单元占用状态的指示信息为例,假设帧周期为3,子帧内频带个数为2,则生成的占用状态表(即子域信息C的信息状态表)如表3所示:
表3;
表3中粗体的数字表示相应的子域(频带)被其他节点设备一跳占用。对该占用状态表中每列求和后可以判断出子域3和子域5对应列的各C值求和后为0,子域4和子域5位于同一子帧且子域4为该任一节点设备自占时频单元,而子域3和子域2在同一子帧且子域2被周围一跳节点设备占用,因此,该任一节点设备判断出可用资源为子域5(即时频单元5)。
下面以所发送的数据为FI消息为例,结合两个具体实施例,对本发明实施例的数据发送方法进行说明。
实施例一、本实施例包括如下过程:
1、车联网***中A跳范围内的任一节点设备根据当前子帧的每个时频单元内接收到的第一FI消息确定出一组帧周期内各时频单元的状态信息,或者,该任一节点设备根据当前子帧的每个时频单元的接收功率确定出一组帧周期内各时频单元的状态信息;其中,一个帧周期包括M个子帧,每个子帧包括N个频带,时频单元表示一个子帧的一个频带,M,N均为正整数;A≥2且A为正整数。
2、该任一节点设备根据确定出的一组帧周期内各时频单元的状态信息,更新当前维护的用于表征帧周期内各时频单元的状态的FI状态表。
其中,FI状态表中各时频单元的状态信息包括表示时频单元占用状态的子域信息C、表示业务优先级的子域信息Pr、子域信息STI、以及表示时频单元的状态信息是否能够更改的强制使能指示。
3、该任一节点设备根据当前维护的FI状态表,生成第二FI消息,并在自身占用的时频单元上,发送所述第一FI消息;其中,一跳范围内的任意两个节点设备不能占用相同的子帧发送第一FI消息;一跳范围外且A跳范围内的任意两个节点设备能够占用相同的子帧且不同的频带发送FI消息,或者占用相同的频带且不同的子帧发送第一FI消息。
4、在判断出自身占用的时频单元与其他节点设备所占用的时频单元发生碰撞后,该任一节点设备根据当前维护的FI状态表中所包含的用于表示时频单元的占用状态的子域信息,确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择自身占用的时频单元。
具体的,该任一节点设备将当前维护的FI状态表中所包含的用于表示时频单元的占用状态的子域信息取出,以形成占用状态表,根据占用状态表确定出处于空闲态的时频单元。
本实施例中,该任一节点设备根据当前子帧的每个时频单元的接收功率确定出一组帧周期内各时频单元的状态信息,包括:
该任一节点设备根据当前子帧的每个时频单元的接收功率,确定帧周期内当前子帧的每个时频单元的状态信息;
其中,当前子帧的每个时频单元的状态信息中表示时频单元的状态信息是否能够更改的强制使能指示为不能更改;该帧周期内除当前子帧的时频单元之外的其他时频单元的状态信息中的强制使能指示均为能够更改,且该其他时频单元的状态信息中的其他子域信息均为初始值。
本实施例中,该任一节点设备根据当前子帧的每个时频单元的接收功率,确定帧周期内当前子帧的每个时频单元的状态信息,包括:
当检测到当前子帧的每个时频单元内的接收功率小于或等于设定的功率阈值时,该任一节点设备确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为空闲状态;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR小于设定的SNR阈值时,该任一节点设备确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为碰撞状态;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR不小于设定的SNR阈值,该任一节点设备确定出当前子帧的每个时频单元的状态信息中表示时频单元占用状态的子域信息为一跳模糊占用状态。
本实施例中,该任一节点设备根据当前子帧的每个时频单元内接收到的第一FI消息确定出一组帧周期内各时频单元的状态信息,还包括:
该任一节点设备确定出当前子帧的每个时频单元的状态信息中表示时频单元的状态信息是否能够更改的强制使能指示为不能更改,并确定出帧周期内除当前子帧的时频单元之外的其他时频单元的状态信息中的强制使能指示均为能够更改。
本实施例中,该任一节点设备根据确定出的一组帧周期内各时频单元的状态信息,更新当前维护的FI状态表,包括:
该任一节点设备将当前维护的FI状态表中的第m行包含的状态信息移至第m-N行中,并将当前子帧的每个时频单元内确定出的一组帧周期内各时频单元的状态信息,添加到当前维护的FI状态表的第M*N-1行中,其中,m=N,…,M*N-1;
其中,FI状态表包括M*N*M*N个状态信息,且FI状态表的每一行为确定出的一组帧周期内的各时频单元的状态信息。
本实施例中,该任一节点设备根据当前维护的FI状态表,生成第二FI消息,包括:
该任一节点设备将第二FI消息中第z个子帧的第j个频带的状态信息中的用于表示时频单元占用状态的子域信息置为自占用状态,用于表示业务优先级的子域信息置为发送该第二FI消息的优先级,以及STI子域信息置为自身的临时标识ID,其中,z为发送该第二FI消息的子帧,j为发送该第二FI消息的频带,z=0,…,M-1,j=0,…,N-1;以及
该任一节点设备根据当前维护的FI状态表中第mod(j+1,M*N)列的状态信息,生成该第二FI消息中第j+1个时频单元的状态信息。
进一步,该任一节点设备根据当前维护的FI状态表中第mod(j+1,M*N)列的状态信息,生成第二FI消息中第j+1个时频单元的状态信息,包括:
若当前维护的FI状态表中第mod(j+1,M*N)列的任一状态信息中表示时频单元的状态信息是否能够更改的强制使能指示为不能更改,则该任一节点设备将该状态信息作为第二FI消息中第j+1个时频单元的状态信息;或者
若当前维护的FI状态表中第mod(j+1,M*N)列的所有状态信息中表示时频单元的状态信息是否能够更改的强制使能指示均为能够更改,则该任一节点设备将当前维护的FI状态表中第mod(j+1,M*N)列的状态信息中表示时频单元占用状态的子域信息为一跳模糊占用或一跳占用的状态信息,作为第二FI消息中第j+1个时频单元的状态信息,并将第j+1个时频单元的状态信息中表示时频单元占用状态的子域信息置为二跳占用状态;或者
若当前维护的FI状态表中第mod(j+1,M*N)列的所有状态信息中表示时频单元的状态信息是否能够更改的强制使能指示均为能够更改,且当前维护的FI状态表中第mod(j+1,M*N)列的所有状态信息中表示时频单元占用状态的子域信息均为除自占、一跳模糊占用和一跳占用之外的其他状态,则该任一节点设备将第二FI消息中第j+1个时频单元的状态信息置为初始值。
较佳地,状态信息的初始值均为0。如C的初始值为00,Pr的初始值为00,STI的初始值00000000,强制使能指示的初始值为0(即表示可以更改)。
举例说明,假设该任一节点设备需要在子帧y发送第二FI消息时,则该该任一节点设备需要依据子帧y-1更新后的FI状态表生成该第二FI消息,具体如下:
A)该任一节点设备将FI状态表中的每一列进行重新编号,假定原编号为j,则新的编号为i。新编号对应的起始子帧是子帧y,并假定原编号对应的起始子帧是子帧x,那么子帧z的第n个子域(即时频单元)对应的j=mod((z-x)*N+n,M*N),对应的i=mod((z-y)*N+n,M*N)。
B)针对当前维护的FI状态表中的第j=mod(i+(y-x)*N,M*N)列,若该列是该任一节点设备自身占用时频单元,则进入步骤C,否则进入步骤D。
C)该任一节点设备在待发送的第二FI消息的子域i内填入C=10、Pr、该用户STI,子域0~N-1为当前子帧所对应的子域。
D)该任一节点设备取出当前维护的状态表中的第j列,查找该列中是否有强制使能指示为1的子域:
1)如果有,则该任一节点设备将该子域的FI子域信息写到待发送的第二FI消息的子域i;
2)如果没有,则该任一节点设备在本列(即当前维护的状态表中的第j列)中查找是否有C=10的子域:
a)如果有,则该任一节点设备将该子域中的FI子域信息写入待发送的第二FI消息的子域i,待发送的第二FI消息的子域i中的C置为01,在填写完待发送的第二FI消息的子域i的FI子域信息后,进入步骤E。
b)如果没有,则该任一节点设备将待发送的第二FI消息的子域i中的FI子域信息置为全0,进入步骤E。
E)该任一节点设备将i的值加1,并继续执行步骤B)~步骤E)。
上述过程中,FI子域信息包括子域信息C、子域信息Pr和子域信息STI。
本实施例中,该任一节点设备确定出处于空闲态的时频单元,包括:
针对当前维护的FI状态表中的每列包含的状态信息,将该列包含的表示时频单元占用状态的子域信息的值进行求和;
若求和得到的结果为设定值,且该列对应的时频单元所属的子帧的其他时频单元的表示时频单元占用状态的子域信息为非一跳占用且非一跳模糊占用,则该任一节点设备确定该列对应的时频单元为空闲时频单元。
较佳地,设定值为0。
实施例二、本实施例包括如下过程:
1、车联网***中A跳范围内的任一节点设备根据当前子帧的每个时频单元接收到的第一FI消息确定出一组帧周期内各时频单元的状态信息,或者,该任一节点设备根据当前子帧的每个时频单元的接收功率确定出当前子帧的每个时频单元的状态信息;其中,一个帧周期包括M个子帧,每个子帧包括N个频带,时频单元表示一个子帧的一个频带,M,N均为正整数。
2、该任一节点设备根据确定出的一组帧周期内各时频单元的状态信息或当前子帧的每个时频单元的状态信息,更新当前维护的一组帧周期内各时频单元的状态信息。其中,当前维护的一组帧周期内各时频单元的状态信息包括表示时频单元占用状态的子域信息C、表示业务优先级的子域信息Pr、以及子域信息STI。
3、该任一节点设备根据当前维护的一组帧周期内各时频单元的状态信息,生成第二FI消息,并在自身占用的时频单元上,发送第二FI消息;其中,一跳范围内的任意两个节点设备不能占用相同的子帧发送第二FI消息;一跳范围外且A跳范围内的任意两个节点设备能够占用相同的子帧且不同的频带发送FI消息,或者占用相同的频带且不同的子帧发送第二FI消息;A≥2且A为正整数。
4、在判断出自身占用的时频单元与其他节点设备所占用的时频单元发生碰撞后,该任一节点设备根据表示一个帧周期内各时频单元占用状态的占用状态表,确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择自身占用的时频单元。
具体的,该任一节点设备将当前维护的一组帧周期内各时频单元的状态信息中包含的用于表示时频单元的占用状态的子域信息取出,以形成占用状态表,根据占用状态表确定出处于空闲态的时频单元。
本实施例中,该任一节点设备根据当前子帧接收到的第一FI消息确定出一组所述帧周期内各时频单元的状态信息,包括:
该任一节点设备根据当前子帧的每个时频单元接收到的第一FI消息,确定出当前子帧的每个时频单元的状态信息中表示时频单元占用状态的子域信息为一跳占用状态,以及确定出表示时频单元其他状态的子域信息为该第一FI消息中该当前子帧的每个时频单元的子域信息。
本实施例中,该任一节点设备根据当前子帧的每个时频单元接收到的第一FI消息确定出一组帧周期内各时频单元的状态信息,包括:
若当前子帧的每个时频单元接收到的第一FI消息包含的其他时频单元中的任一时频单元的表示时频单元占用状态的子域信息为一跳占用状态或一跳模糊占用状态,且该任一时频单元当前状态为空闲状态或三跳占用状态,则该任一节点设备确定出该任一时频单元的表示时频单元占用状态的子域信息为二跳占用状态,以及表示时频单元其他状态的子域信息为该第一FI消息中该任一时频单元的子域信息;或者,
若当前子帧的每个时频单元接收到的第一FI消息包含的其他时频单元中的任一时频单元的表示时频单元占用状态的子域信息为二跳占用状态,且该任一时频单元当前状态为空闲状态或三跳占用状态,则该任一节点设备确定出该任一时频单元的表示时频单元占用状态的子域信息为三跳占用状态,以及表示时频单元其他状态的子域信息为该第一FI消息中该任一时频单元的子域信息。
本实施例中,该任一节点设备根据当前子帧的每个时频单元的接收功率确定出当前子帧的每个时频单元的状态信息,包括:
当检测到当前子帧的每个时频单元内的接收功率小于或等于设定的功率阈值时,则该任一节点设备确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为空闲状态,且表示时频单元其他状态的子域信息均为初始值;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR小于设定的SNR阈值时,则该任一节点设备确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为碰撞状态,且表示时频单元其他状态的子域信息均为初始值;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR不小于设定的SNR阈值,则该任一节点设备确定出当前子帧的每个时频单元的状态信息中表示时频单元占用状态的子域信息为一跳模糊占用状态,且表示时频单元其他状态的子域信息均为初始值。
本实施例中,该任一节点设备更新当前维护的一组帧周期内各时频单元的状态信息,包括:
该任一节点设备将根据当前子帧的每个时频单元接收到的第一FI消息确定出的一组帧周期内各时频单元的状态信息,替换当前维护的一组帧周期内各时频单元的状态信息;或者
该任一节点设备将根据当前子帧的每个时频单元的接收功率确定出的当前子帧的每个时频单元的状态信息,替换当前维护的一组帧周期内各时频单元的状态信息中与当前子帧的每个时频单元对应的时频单元的状态信息。
本实施例中,该任一节点设备根据当前维护的一组帧周期内各时频单元的状态信息,生成第二FI消息,包括:
对于自占用时频单元,该任一节点设备将该第二FI消息中该时频单元的状态信息中表示时频单元占用状态的子域信息置为一跳占用状态,将该时频单元的表示业务优先级的子域信息置为发送该第二FI消息的优先级,以及将该时频单元的STI子域信息置为自身的临时ID;
对于除自占用时频单元之外的其他时频单元,该任一节点设备将当前维护的一组帧周期内各时频单元的状态信息中与其他时频单元对应的状态信息,作为该第二FI消息中所述其他时频单元的状态信息。
本实施例中,该任一节点设备生成占用状态表,包括:
该任一节点设备根据采集到的一个帧周期内接收到的第一FI消息和自身生成的第二FI消息,确定出的M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,以生成占用状态表;
其中,占用状态表包括M*N*M*N个子域信息,该占用状态表的每一行的内容为该任一节点设备确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息。
进一步,该任一节点设备确定出的M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
针对所采集的帧周期内的每个时频单元,若在该时频单元接收到第一FI消息,则该任一节点设备根据接收到的第一FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若该时频单元为自身发送第二FI消息的时频单元,则该任一节点设备根据自身生成的第二FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若在该时频单元未接收到任何第一FI消息,且该时频单元为除自身发送第二FI消息之外的其他时频单元,则该任一节点设备确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息的值均为初始值。
较佳地,表示时频单元占用状态的子域信息的初始值为0。
本实施例中,该任一节点设备根据生成的占用状态表中的子域信息,确定出处于空闲态的时频单元,包括:
将占用状态表中每列包含的表示时频单元占用状态的子域信息的值进行求和;
若求和得到的结果为设定值,且该列对应的时频单元所属的子帧的其他时频单元的表示时频单元占用状态的子域信息为非一跳占用且非一跳模糊占用,则该任一节点设备确定该列对应的时频单元为空闲时频单元。
较佳地,设定值为0。
上述方法处理流程可以用软件程序实现,该软件程序可以存储在存储介质中,当存储的软件程序被调用时,执行上述方法步骤。
基于同一发明构思,本发明实施例还提供了一种节点设备,该节点设备为位于A跳数范围内的任一节点设备,A≥2且A为正整数,如图2所示,该节点设备包括:
数据生成模块21,用于在一个帧周期内,生成所需发送的数据;
空闲资源确定模块22,用于确定发送数据生成模块21生成的数据的时频单元;
数据发送模块23,用于在空闲资源确定模块22确定出的时频单元上,发送所述数据生成模块21生成的数据;
其中,一个帧周期包括M个子帧,每个子帧包括N个频带,所述时频单元表示一个子帧的一个频带,M,N均为正整数;一跳范围内的任意两个节点设备不能占用相同的子帧发送生成的数据;一跳范围外且A跳范围内的任意两个节点设备能够占用相同的子帧且不同的频带发送生成的数据,或者占用相同的频带且不同的子帧发送生成的数据。
较佳地,空闲资源确定模块22具体用于:
在初次发送所述数据生成模块21生成的数据之前,从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送数据生成模块生成的数据的时频单元;或者,在判断出自身所属的节点设备所占用的时频单元与其他节点设备所占用的时频单元发生碰撞后,从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送数据生成模块生成的数据的时频单元。
作为一种优选的实现方式,空闲资源确定模块22具体用于:
根据表示一个帧周期内各时频单元占用状态的占用状态表,确定出处于空闲态的时频单元。
该方式下,空闲资源确定模块22根据以下步骤生成所述占用状态表:
根据当前子帧的每个时频单元内接收到的第一FI消息确定出一组帧周期内各时频单元的表示时频单元占用状态的子域信息,或者,根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息;
根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表。
该方式下,空闲资源确定模块22根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
当检测到当前子帧的每个时频单元内的接收功率小于或等于设定的功率阈值时,则确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为空闲状态,以及确定出所述帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收信噪比SNR小于设定的SNR阈值时,则确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为碰撞状态,以及确定出所述帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;
或者,当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR不小于设定的SNR阈值,则确定出当前子帧的每个时频单元的状态信息中表示时频单元占用状态的子域信息为一跳模糊占用状态,以及确定出该帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值。
该方式下,空闲资源确定模块22根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表,包括:
将所述占用状态表中的第m行包含的子域信息移至第m-N行中,并将当前子帧的每个时频单元内确定出的一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,添加到所述占用状态表的第M*N-1行中,其中,m=N,…,M*N-1。
作为另一种优选的实现方式,空闲资源确定模块22具体用于:
根据采集到的一个帧周期内接收到的第一FI消息和所述数据生成模块21生成的第二FI消息,确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,以生成所述占用状态表;
其中,所述占用状态表包括M*N*M*N个子域信息,所述占用状态表的每一行的内容为自身确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息。
该方式下,空闲资源确定模块22确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
针对所采集的帧周期内的每个时频单元,若在该时频单元接收到第一FI消息,根据接收到的第一FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若该时频单元为所述数据发送模块23发送第二FI消息的时频单元,根据所述数据生成模块21生成的第二FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若在该时频单元未接收到任何第一FI消息,且该时频单元为除所述数据发送模块23发送第二FI消息之外的其他时频单元,确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息的值均为初始值。
基于上述两种优选的实现方式,较佳地,空闲资源确定模块22根据所述占用状态表,确定出处于空闲态的时频单元,包括:
将所述占用状态表中每列包含的表示时频单元占用状态的子域信息的值进行求和;
若求和得到的结果为设定值,且所述列对应的时频单元所属的子帧的其他时频单元的表示时频单元占用状态的子域信息为非一跳占用且非一跳模糊占用,则确定所述列对应的时频单元为空闲时频单元。
基于同一发明构思,本发明实施例还提供了另一种节点设备,如图3所示,该节点设备为位于A跳数范围内的任一节点设备,A≥2且A为正整数,该节点设备包括:收发信机31、以及与该收发信机31连接的至少一个处理器32,其中:
处理器32被配置用于:在一个帧周期内,生成所需发送的数据;以及确定发送自身生成的数据的时频单元;
收发信机31被配置用于:在处理器32确定出的时频单元上,发送处理器32生成的数据;
其中,一个帧周期包括M个子帧,每个子帧包括N个频带,所述时频单元表示一个子帧的一个频带,M,N均为正整数;一跳范围内的任意两个节点设备不能占用相同的子帧发送生成的数据;一跳范围外且A跳范围内的任意两个节点设备能够占用相同的子帧且不同的频带发送生成的数据,或者占用相同的频带且不同的子帧发送生成的数据。
在实施中,处理器32还被配置用于:
在初次发送生成的数据之前,从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送自身生成的数据的时频单元;
或者,
在判断出自身所属的节点设备所占用的时频单元与其他节点设备所占用的时频单元发生碰撞后,从所述帧周期内确定出处于空闲态的时频单元,并从空闲态的时频单元中,选择发送自身生成的数据的时频单元。
在实施中,处理器32被配置具体用于:
根据表示一个帧周期内各时频单元占用状态的占用状态表,确定出处于空闲态的时频单元。
作为一种优选的实现方式,处理器32根据以下步骤生成所述占用状态表:
根据当前子帧的每个时频单元内接收到的第一FI消息确定出一组帧周期内各时频单元的表示时频单元占用状态的子域信息,或者,根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息;
根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表。
该方式下,处理器32根据当前子帧的每个时频单元的接收功率确定出一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
当检测到当前子帧的每个时频单元内的接收功率小于或等于设定的功率阈值时,则确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为空闲状态,以及确定出所述帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;或者
当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收信噪比SNR小于设定的SNR阈值时,则确定出当前子帧的每个时频单元的表示时频单元占用状态的子域信息为碰撞状态,以及确定出所述帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值;
或者,当检测到当前子帧的每个时频单元内的接收功率大于设定的功率阈值,且接收SNR不小于设定的SNR阈值,则确定出当前子帧的每个时频单元的状态信息中表示时频单元占用状态的子域信息为一跳模糊占用状态,以及确定出该帧周期内除当前子帧的时频单元之外的其他时频单元的表示时频单元占用状态的子域信息为初始值。
该方式下,处理器32根据确定出的各组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,生成所述占用状态表,包括:
将所述占用状态表中的第m行包含的子域信息移至第m-N行中,并将当前子帧的每个时频单元内确定出的一组所述帧周期内各时频单元的表示时频单元占用状态的子域信息,添加到所述占用状态表的第M*N-1行中,其中,m=N,…,M*N-1。
作为另一种优选的实现方式,处理器32被配置具体用于:
根据采集到的一个帧周期内接收到的第一FI消息和自身生成的第二FI消息,确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,以生成所述占用状态表;
其中,所述占用状态表包括M*N*M*N个子域信息,所述占用状态表的每一行的内容为处理器32确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息。
该方式下,处理器32确定出M*N组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息,包括:
针对所采集的帧周期内的每个时频单元,若收发信机31在该时频单元接收到第一FI消息,根据收发信机31接收到的第一FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若该时频单元为收发信机31发送第二FI消息的时频单元,根据自身生成的第二FI消息,确定出一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息;或者
针对所采集的帧周期内的每个时频单元,若在该时频单元未接收到任何第一FI消息,且该时频单元为除收发信机31发送第二FI消息之外的其他时频单元,确定出的一组所采集的帧周期内各时频单元的表示时频单元占用状态的子域信息的值均为初始值。
基于上述两种优选的实现方式,较佳地,处理器32根据所述占用状态表,确定出处于空闲态的时频单元,包括:
将所述占用状态表中每列包含的表示时频单元占用状态的子域信息的值进行求和;
若求和得到的结果为设定值,且所述列对应的时频单元所属的子帧的其他时频单元的表示时频单元占用状态的子域信息为非一跳占用且非一跳模糊占用,则确定所述列对应的时频单元为空闲时频单元。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。