发明内容
本发明的主要目的为提供一种信道状态信息的获取方法、装置和计算机设备,旨在解决获取多个CSI时效率低下的问题。
本发明提供了一种信道状态信息的获取方法,包括:
在同一局域内的多重网络或单一网络中获取多个AP设备的参数信息,其中所述参数信息至少包括对应的信道、信标数据包的发送时间、信标帧传输时间TBTT周期、信号强度RSSI和基本服务集标识符BSSID;
根据每个所述AP设备对应的所述参数信息生成信标采集序列;其中,所述信标采集序列的信标采集周期根据每个所述AP设备的参数信息中的发送时间和TBTT周期生成;
通过所述信标采集序列采集对应的所述信标数据包,其中,采集的方式为在一个所述信标采集周期内,跳跃每个所述AP设备对应的信道采集每个所述AP设备发送的信标数据包;
根据采集的所述信标数据包计算各所述AP设备对应的信道状态信息CSI。
进一步地,所述根据采集的所述信标数据包计算各所述AP设备对应的信道状态信息CSI的步骤之后,还包括:
根据各所述AP设备的CSI计算所述WLAN的性能参数。
进一步地,所述在同一局域内的多重网络或单一网络中获取多个AP设备的参数信息的步骤之前,包括:
根据用户选取的频段查找对应的AP设备,所述选取的频段包括一个或者多个频段;
扫描查找到的AP设备的RSSI;
根据每个AP设备的RSSI选取预设个数的目标AP设备;其中,每一所述目标AP设备对应的RSSI强于其相同频段中未被选取的其余所述AP设备对应的RSSI。
进一步地,所述根据采集的所述信标数据包计算各所述AP设备对应的信道状态信息CSI的步骤,包括:
根据所述信标数据包的采集方式提取所述信标采集序列中所述AP设备各自对应的信标数据包;
根据所述AP设备各自对应的信标数据包计算对应的CSI。
进一步地,所述根据所述AP设备各自对应的信标数据包计算对应的CSI的步骤,包括:
提取2.4GHz频段的AP设备所对应的信标数据包;
根据提取出的所述信标数据包,通过预设估测方式进行数据处理,估测2.4GHz频段的各AP设备对应的信道脉冲响应CIR;
将所述信道脉冲响应CIR转化为信道状态信息CSI。
进一步地,所述根据所述AP设备各自对应的信标数据包计算对应的CSI的步骤,包括:
提取5GHz和/或6GHz频段的AP设备所对应的信标数据包,其中,所述5GHz和/或6GHz频段的AP设备所对应的信标数据包为正交频分复用OFDM信标数据包;
从所述OFDM信标数据包中提取所述AP设备对应的信道状态信息CSI。
进一步地,所述通过所述信标采集序列采集对应的所述信标数据包的步骤,包括:
获取所述信标采集序列采集到的信标数据包中的指定信息,其中,所述指定信息包括MAC报头信息、信噪比、接收信号的强度、客户端STA和AP设备的BSSID中的一种或者多种;
根据所述指定信息判断所述信标数据包是否满足计算CSI的条件;
若否,则通过所述信标采集序列继续获取该信标数据包对应的AP设备的其他信标数据包。
进一步地,所述根据每个所述AP设备对应的所述参数信息生成信标采集序列的步骤,包括:
获取每个所述AP设备对应的所述TBTT周期和所述发送时间;
根据各个所述TBTT周期的最小公倍数和所述发送时间生成信标采集周期,其中所述信标采集周期的时长为所述最小公倍数的倍数;
根据每个所述AP设备对应的TBTT周期计算在一所述信标采集周期内各所述AP设备中对应的信标数据包的采集时间;
根据所述信标采集周期和各所述AP设备中对应的信标数据包的采集时间生成所述信标采集序列。
进一步地,所述根据每个所述AP设备对应的所述参数信息生成信标采集序列的步骤,包括:
获取每个所述AP设备中对应的TBTT周期和所述信标数据包的出现时间点;
根据每个所述AP设备中对应的TBTT周期和信标数据包的出现时间点进行异步动态排序,其中,所述异步动态排序为根据每个所述AP设备中对应的TBTT周期和信标数据包的出现时间点,对获取每个所述AP设备的信标数据包的时间进行排序;
根据所述异步动态排序生成所述信标采集序列。
本发明还提供一种CSI的获取装置,包括:
参数信息获取模块,用于在同一局域内的多重网络或单一网络中获取多个AP设备的参数信息,其中所述参数信息至少包括对应的信道、信标数据包的发送时间、信标帧传输时间TBTT周期、信号强度RSSI和基本服务集标识符BSSID;
信标采集序列生成模块,用于根据每个所述AP设备对应的所述参数信息生成信标采集序列;其中,所述信标采集序列的信标采集周期根据每个所述AP设备的参数信息中的发送时间和TBTT周期生成;
采集模块,用于通过所述信标采集序列采集对应的所述信标数据包,其中,采集的方式为在一个所述信标采集周期内,跳跃每个所述AP设备对应的信道采集每个所述AP设备发送的信标数据包;
CSI计算模块,用于根据采集的所述信标数据包计算各所述AP设备对应的信道状态信息CSI。
本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
本发明的有益效果:获取各AP设备的信标数据包的发送时间和TBTT周期,设定信标采集序列的采集周期,再通过信标采集序列跳跃各AP设备对应的信道采集信标数据包,根据采集的信标数据包计算出各AP设备的CSI,可以达到在一次采集周期内采集多个AP设备对应的CSI的技术效果,提高了对CSI的获取效率。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,本发明提出一种信道状态信息的获取方法,包括:
S1:在同一局域内的多重网络或单一网络中获取多个AP设备的参数信息,其中所述参数信息至少包括对应的信道、信标数据包的发送时间、信标帧传输时间TBTT周期、信号强度RSSI和基本服务集标识符BSSID;
S2:根据每个所述AP设备对应的所述参数信息生成信标采集序列;其中,所述信标采集序列的信标采集周期根据每个所述AP设备的参数信息中的发送时间和TBTT周期生成;
S3:通过所述信标采集序列采集对应的所述信标数据包,其中,采集的方式为在一个所述信标采集周期内,跳跃每个所述AP设备对应的信道采集每个所述AP设备发送的信标数据包;
S4:根据采集的所述信标数据包计算各所述AP设备对应的信道状态信息CSI。
如上述步骤S1所述,近年来CSI在定位、运动检测、手势识别、目标速度估计、跌倒检测、室内人体密度估计、呼吸率估计等不同的应用程序中有新的应用。为了获取同一局域内的多重网络或单一网络中的多个AP设备的CSI,获取多个AP设备的CSI可以通过单一WLAN装置进行获取,也可以通过多个WLAN装置进行获取,在该WLAN中选取多个AP设备,选取的规则可以根据应用程序的需要而定,例如,部分应用程序需要5G信号较强的应用场景,那么可以选取更多的5G的AP设备,即通过选取的AP设备,获取其对应的CSI可以计算对应该应用程序的目标性能,以预测该应用程序在该WLAN中的使用性能,为该应用程序提供了数据参考。具体地,首先需要确定的是该应用程序所需要用到的频段和信道(例如为三个常用的频段2.4GHz、5GHz以及6GHz中的一个或者多个),然后再根据应用程序对接收信号强度指示(Received Signal Strength Indication,RSSI)和信噪比(SIGNAL NOISE RATIO,SNR)需求确定选取的AP设备。其中2.4GHz频段对应的信标数据包为802.11b数据包,5/6GHz频段对应的信标数据包为OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)信标数据包。其中,应用程序可以是具有定位、运动检测、手势识别、坠落检测以及呼吸速率估计中的任意一种功能用途的应用程序。扫描每个AP设备所对应的信道,其中扫描信道的方式可以是扫描该信道对应天线频段的状态(频段的壅塞程度、繁忙程度、使用频率等),也可以是该信道在一段时间内传送的封包总数量,根据传送的封包总数量对应其干扰程度,封包数量越多,其干扰程度越大。封包总数量的统计可以通过内部设置的计数器进行统计,即可以获取到相关AP设备对应的信道信息,然后再获取信标数据包的TBTT周期、RSSI、BSSID以及所有信标数据包的SNR中的一种或多种相关参数信息。
如上述步骤S2所述,根据采集到的参数信息生成对应的信标采集序列,其中,生成的方式可以是根据各信标数据包的TBTT周期以及任意一个信标数据包的发送时间,然后再通过生成的对应信标采集周期采集每个所述AP设备中的信标数据包的信标采集序列。具体地,目前釆集的信标数据包源自于单一AP设备时,其采集方法是停留在同一个信道,每100ms采集一次(假设该AP设备的TBTT周期为每隔100ms发送一次),当应用程序要求CSI的釆集频率高于此数字时(譬如说每20ms采集一次时),需要采集下一个20ms之内发送信标数据包的其他AP设备,若该AP设备发出的信标数据包在另一个不同的信道中,则通过信道跳跃的方式在该信道采集下一个信标数据包。具体地,例如说经过多信道扫描后,发现在第0秒的时候信道1有一个由AP设备#a发出的信标,第20ms时在信道3有一个由AP设备#b发出的信标,第40ms时在信道5有一个由AP设备#c发出的信标,则设置的信标采集序列的采集方式为每隔20ms由信道1跳跃至信道3之后再跳跃至信道5等。在一些实施例中,若在同一局域内的多重网络或单一网络中的AP设备数量较少,而导致采集的数据无法满足后续应用的计算时,可以补上一个主动式的probe request(探测请求)来从回应中的probe response数据包中萃取出CSI;一般而言,现有的单一WLAN装置的AP数量是充足的,萃取出的CSI可以满足各类应用程序的计算。
如上述步骤S3-S4所述,通过上述的信标采集序列可以得到相应的信标数据包,应当理解的是可以根据信标采集序列对采集到的信标数据包进行划分,即可以知晓每个采集到的信标数据包所对应的AP设备,然后再根据信标数据包计算各AP设备所对应的CSI,具体的计算方式后续进行详细说明。通过信标采集序列可以采集多个方向上的各AP设备的CSI,从而覆盖单一WLAN装置的不同方向以及增加覆盖范围。另外,还可以从多个不同的频道获得不同的CSI,以增加覆盖范围,以及计算更多不同的频率特性,这为大多数应用提供了更加有效的数据参考。
本实施例中,上述步骤S4之后,还包括:
S5:根据各所述AP设备的CSI计算所述WLAN的性能参数。
如上述步骤S5所述,根据一个WLAN中的多个CSI可以得到WLAN的性能参数,不同的应用程序可以根据不同的算法计算对应该应用程序的性能参数,从而可以根据该性能参数设置应用参数,以达到最佳增益。其中算法为根据对应应用程序设计的,其具体方式不做限定,其计算原理是依据WLAN中的一个或者多个AP设备对应的CSI进行计算,例如,部分应用程序需要5G信号较强的应用场景,那么可以为从5G信道中所采集的CSI分配更多的权重计算参数。
本实施例中,上述步骤S1之前,包括:
S001:根据用户选取的频段查找对应的AP设备,所述选取的频段包括一个或者多个频段;
S002:扫描查找到的AP设备的RSSI;
S003:根据每个AP设备的RSSI选取预设个数的目标AP设备;其中,每一所述目标AP设备对应的RSSI强于其相同频段中未被选取的其余所述AP设备对应的RSSI。
如上述步骤S001-S003所述,用户可以根据应用程序的需要选取对应的频段,例如为2.4GHz和5GHz两个频段,然后在两个频段中分别查找对应的AP设备,查找的方式可以是在两个频段中对应的不同信道中查找利用这些信道进行发送数据包的AP设备,例如在2.4GHz频段存在11个至14个802.11b信道,那么可以检测哪些AP设备通过这些信道进行发送数据包,进而确定AP设备对应的频段,然后再检测AP设备对应的RSSI,选出每个频段RSSI最强的几个AP设备,使最终计算的CSI能满足该应用程序对RSSI的需求。需要说明的是,各频段选取的AP设备预设个数可以相同,也可以不同,这个需要根据应用程序的选择进行确定,若应用程序的选择偏5GHz较多,则5GHz频段的AP设备个数可以多选取一点,各预设个数也可以根据实际情况进行确定,应当理解的是,选取的个数越多,采集以及处理信标数据包也更麻烦,设计信标采集序列的运算也更复杂,但是,相应获取的CSI数据就更多,对整个WLAN目标性能的检测也更接近实际值。
本实施例中,上述步骤S4,包括:
S401:根据所述信标数据包的采集方式提取所述信标采集序列中所述AP设备各自对应的信标数据包;
S402:根据所述AP设备各自对应的信标数据包计算对应的CSI。
如上述步骤S401-S402所述,由于信标采集序列是根据设定好的采集顺序采集对应的信标数据包的,故而可以依照其采集方式提取信标采集序列上的每个AP设备各自对应的信标数据包,然后再根据每个AP设备各自对应的信标数据包计算对应的CSI。
进一步地,上述步骤S402,包括:
S4021:提取所述AP设备中2.4GHz频段的AP设备所对应的信标数据包;
S4022:根据提取出的所述信标数据包,通过预设估测方式进行数据处理,估测2.4GHz频段的AP设备对应的信道脉冲响应CIR;
S4023:将所述信道脉冲响应CIR转化为信道状态信息CSI。
如上述步骤S4021-S4023所述,计算2.4GHz频段的方法具体可以为,先提取出2.4GHz频段的AP设备对应的信标数据包,提取的方式可以根据生成的信标采集序列的采集方式对应进行提取,然后解调信标数据包,得到信标数据包的全部数据内容或部分数据内容,根据信标数据包的全部数据内容或部分数据内容,通过预设估测方式进行数据处理,以估测信标数据包对应的所述指定信道脉冲响应CIR,并转化为频域CSI。且任何WLAN中的AP设备都需要周期性地广播信标数据包,通常是每秒10次,且没有任何密码或加密保护,因此可以实现在不需要任何密码,也不需要介质访问控制层(Media Access Control,MAC)连接到任何WLAN的AP设备路由器的情况下,连续获取范围内的周边WLAN的AP设备路由器的无线信道脉冲响应CIR和/或频域CSI,突破了目前只能在WLAN设备以OFDM模式(802.11n/ac/ax)通信时才能获得频域CSI,而传统的DSSS/CCK802.11b模式则无法获得频域CSI的局限。本申请获取CSI的过程中无需建立物理层的连接,不打断普通WLAN通讯,且不引入额外的通信开销,能获取通讯信号接收范围内所有AP设备路由器的CSI,增加了CSI来源的数量和CSI覆盖区域,为CSI在新领域的应用程序提供更好的信息技术支撑。本申请揭示的方法不会影响WLAN正常收发信号,不用发射额外封包,也不会降低WLAN网络的速率。
本实施例中,上述步骤S4,包括:
S411:提取所述AP设备中5GHz和/或6GHz频段的AP设备对应的信标数据包,其中,5GHz和/或6GHz频段的AP设备对应的信标数据包为OFDM信标数据包;
S412:从所述OFDM信标数据包中提取AP设备所对应的信道状态信息CSI。
如上述步骤S411-S412所述,对于5GHz和6GHz频段的AP设备其信标数据包为OFDM信标数据包,而OFDM信标数据包可以从中直接获取到CSI,这与上述2.4GHz频段获取CSI的方式不一样,应当理解的是,无论是何种频段的AP设备,都能实现获取对应的CSI。
本实施例中,上述步骤S3,包括:
S301:获取所述信标采集序列采集到的信标数据包中的指定信息,其中,所述指定信息包括MAC报头信息,信噪比,接收信号的强度,客户端STA源地址和AP设备的BSSID中的一种或者多种;
S302:根据所述指定信息中的内容判断所述信标数据包是否满足计算CSI的条件;
S303:若否,则通过所述信标采集序列继续获取该信标数据包对应的AP设备的其他信标数据包。
如上述步骤S301-S303所述,根据指定信息判断对应信标数据包是否满足计算CSI的条件,具体的计算方式包括,比较SNR是否在SNR预设范围内,若不在,则视为不满足条件;比较RSSI是否在RSSI预设范围内,若不在,则视为不满足条件;判断信标数据包是不是来自所预期的AP设备路由器等等与上述指定信息相关的比较信息,均可通过单一或组合的方式成为决定是否满足计算CSI的要求。
本实施例中,上述步骤S2,包括:
S201:获取每个所述AP设备中对应的所述TBTT周期和所述发送时间;
S202:根据每个所述TBTT周期的最小公倍数和发送时间生成信标采集周期,其中所述信标采集周期的时长为所述最小公倍数或为所述最小公倍数的倍数;
S203:根据每个所述AP设备中对应的TBTT周期计算在一所述信标采集周期内各所述AP设备中对应的信标数据包的采集时间;
S204:根据所述信标采集周期和各所述AP设备中对应的信标数据包的采集时间生成所述信标采集序列。
如上述步骤S201-S204所述,获取选取的每个AP设备中的TBTT周期,信标采集周期可以是各AP设备TBTT周期最小公倍数或为所述最小公倍数的倍数。在一个最小公倍数的时间内,根据各AP设备对应的信标数据包的出现时间点(即发送时间),判断在一个最小公倍数的时间内是否可以采集到所有AP设备的信标数据包(即各信标数据包在一个最小公倍数的时间内的出现时间没有冲突),若各信标数据包在一个最小公倍数的时间内的出现时间有冲突,则可以将信标采集周期设置为最小公倍数的倍数,以便于可以采集到每个AP设备中的信标数据包,然后根据每个AP设备信标数据包所对应的出现时间和周期,将其一一设置在一个信标采集周期内,另外,若其中两个AP设备发送信标数据包的间隔时间很短,也可以视为二者信标数据包的出现时间有冲突。然后根据各个AP设备的信标数据包的出现时间点生成跳跃信道的采集方式(即确定信标采集序列在各个信道的跳跃顺序和时间点)和时间以获取各个AP设备的信标数据包,将信标采集周期的时长设置为所述最小公倍数或为所述最小公倍数的倍数,可以使每个AP设备在每一个信标采集周期内的出现的相对时间点都是相同的,例如,在第一个信标采集周期内,第一AP设备在第一个信标采集周期出现的时间点为第30ms末,则在第二个信标采集周期出现的时间点也为第30ms末,可以设置一个固定的排表。应当理解的是,若AP设备多,而其TBTT周期互不相干,而导致最小公倍数很大,或者找不出设定时长内的最小公倍数时,此时不用最小公倍数或其倍数作为信标采集周期,而可以根据每个AP的TBTT周期做实时动态的计算,动态决定下一个采集的AP设备。
在另一实施例中,上述步骤S2,包括:
S211:获取每个所述AP设备中对应的TBTT周期和信标数据包的出现时间点;
S212:根据每个所述AP设备中对应的TBTT周期和所述信标数据包的出现时间点进行异步动态排序,其中,所述异步动态排序为根据每个所述AP设备中对应的TBTT周期和信标数据包的出现时间点,对获取每个所述AP设备的信标数据包的时间进行排序;
S213:根据所述异步动态排序生成所述信标采集序列。
如上述步骤S211-S213所述,根据各个AP的设备的信标数据包的出现时间点和TBTT周期确定在信标采集序列中的采集时间点,通过异步动态排序的方法获取每一个路由器的TBTT周期及其信标数据包的出现时间点,计算采集每个AP设备的信标数据包的时间,以跳跃至对应的信道进行采集。在一些实施例中,选取的多个AP设备中有获取到的CSI表示的是同一CSI,此时可以根据其TBTT周期及其信标数据包出现的时间,以信标采集周期最小较佳,进一步选取多个AP设备中的AP设备。
参照图2,本发明还提供了一种CSI的获取装置,包括:
参数信息获取模块10,用于在同一局域内的多重网络或单一网络中获取多个AP设备的参数信息,其中所述参数信息至少包括对应的信道、信标数据包的发送时间、信标帧传输时间TBTT周期、信号强度RSSI和基本服务集标识符BSSID;
信标采集序列生成模块20,用于根据每个所述AP设备对应的所述参数信息生成信标采集序列;其中,所述信标采集序列的信标采集周期根据每个所述AP设备的参数信息中的发送时间和TBTT周期生成;
采集模块30,用于通过所述信标采集序列采集对应的所述信标数据包,其中,采集的方式为在一个所述信标采集周期内,跳跃每个所述AP设备对应的信道采集每个所述AP设备发送的信标数据包;
CSI计算模块40,用于根据采集的所述信标数据包计算各所述AP设备对应的信道状态信息CSI。近年来CSI在定位、运动检测、手势识别、目标速度估计、跌倒检测、室内人体密度估计、呼吸率估计等不同的应用程序中有新的应用。为了获取同一局域内的多重网络或单一网络中的多个AP设备的CSI,获取多个AP设备的CSI可以通过单一WLAN装置进行获取,也可以通过多个WLAN装置进行获取,在该WLAN中选取多个AP设备,选取的规则可以根据应用程序的需要而定,例如,部分应用程序需要5G信号较强的应用场景,那么可以选取更多的5G的AP设备,即通过选取的AP设备,获取其对应的CSI可以计算对应该应用程序的目标性能,以预测该应用程序在该WLAN中的使用性能,为该应用程序提供了数据参考。具体地,首先需要确定的是该应用程序所需要用到的频段和信道(例如为三个常用的频段2.4GHz、5GHz以及6GHz中的一个或者多个),然后再根据应用程序对接收信号强度指示(ReceivedSignal Strength Indication,RSSI)和信噪比(SIGNAL NOISE RATIO,SNR)需求确定选取的AP设备。其中2.4GHz频段对应的信标数据包为802.11b数据包,5/6GHz频段对应的信标数据包为OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)信标数据包。其中,应用程序可以是具有定位、运动检测、手势识别、坠落检测以及呼吸速率估计中的任意一种功能用途的应用程序。扫描每个AP设备所对应的信道,其中扫描信道的方式可以是扫描该信道对应天线频段的状态(频段的壅塞程度、繁忙程度、使用频率等),也可以是该信道在一段时间内传送的封包总数量,根据传送的封包总数量对应其干扰程度,封包数量越多,其干扰程度越大。封包总数量的统计可以通过内部设置的计数器进行统计,即可以获取到相关AP设备对应的信道信息,然后再获取信标数据包的TBTT周期、RSSI、BSSID以及所有信标数据包的SNR中的一种或多种相关参数信息。
根据采集到的参数信息生成对应的信标采集序列,其中,生成的方式可以是根据各信标数据包的TBTT周期以及任意一个信标数据包的发送时间,然后再通过生成的对应信标采集周期采集每个所述AP设备中的信标数据包的信标采集序列。具体地,目前釆集的信标数据包源自于单一AP设备时,其采集方法是停留在同一个信道,每100ms采集一次(假设该AP设备的TBTT周期为每隔100ms发送一次),当应用程序要求CSI的釆集频率高于此数字时(譬如说每20ms采集一次时),需要采集下一个20ms之内发送信标数据包的其他AP设备,若该AP设备发出的信标数据包在另一个不同的信道中,则通过信道跳跃的方式在该信道采集下一个信标数据包。具体地,例如说经过多信道扫描后,发现在第0秒的时候信道1有一个由AP设备#a发出的信标,第20ms时在信道3有一个由AP设备#b发出的信标,第40ms时在信道5有一个由AP设备#c发出的信标,则设置的信标采集序列的采集方式为每隔20ms由信道1跳跃至信道3之后再跳跃至信道5等。在一些实施例中,若在同一局域内的多重网络或单一网络中的AP设备数量较少,而导致采集的数据无法满足后续应用的计算时,可以补上一个主动式的probe request(探测请求)来从回应中的probe response数据包中萃取出CSI;一般而言,现有的单一WLAN装置的AP数量是充足的,萃取出的CSI可以满足各类应用程序的计算。
通过上述的信标采集序列可以得到相应的信标数据包,应当理解的是可以根据信标采集序列对采集到的信标数据包进行划分,即可以知晓每个采集到的信标数据包所对应的AP设备,然后再根据信标数据包计算各AP设备所对应的CSI,具体的计算方式后续进行详细说明。通过信标采集序列可以采集多个方向上的各AP设备的CSI,从而覆盖单一WLAN装置的不同方向以及增加覆盖范围。另外,还可以从多个不同的频道获得不同的CSI,以增加覆盖范围,以及计算更多不同的频率特性,这为大多数应用提供了更加有效的数据参考。
本实施例中,CSI的获取装置,还包括:
性能参数计算模块,用于根据各所述AP设备的CSI计算所述WLAN的性能参数。
根据一个WLAN中的多个CSI可以得到WLAN的性能参数,不同的应用程序可以根据不同的算法计算对应该应用程序的性能参数,从而可以根据该性能参数设置应用参数,以达到最佳增益。其中算法为根据对应应用程序设计的,其具体方式不做限定,其计算原理是依据WLAN中的一个或者多个AP设备对应的CSI进行计算,例如,部分应用程序需要5G信号较强的应用场景,那么可以为从5G信道中所采集的CSI分配更多的权重计算参数。
本实施例中,CSI的获取装置,还包括:
查找模块,用于根据用户选取的频段查找对应的AP设备,所述选取的频段包括一个或者多个频段;
扫描模块,用于扫描查找到的AP设备的RSSI;
选取模块,用于根据每个AP设备的RSSI选取预设个数的目标AP设备;其中,每一所述目标AP设备对应的RSSI强于其相同频段中未被选取的其余所述AP设备对应的RSSI。
用户可以根据应用程序的需要选取对应的频段,例如为2.4GHz和5GHz两个频段,然后在两个频段中分别查找对应的AP设备,查找的方式可以是在两个频段中对应的不同信道中查找利用这些信道进行发送数据包的AP设备,例如在2.4GHz频段存在11个至14个802.11b信道,那么可以检测哪些AP设备通过这些信道进行发送数据包,进而确定AP设备对应的频段,然后再检测AP设备对应的RSSI,选出每个频段RSSI最强的几个AP设备,使最终计算的CSI能满足该应用程序对RSSI的需求。需要说明的是,各频段选取的AP设备预设个数可以相同,也可以不同,这个需要根据应用程序的选择进行确定,若应用程序的选择偏5GHz较多,则5GHz频段的AP设备个数可以多选取一点,各预设个数也可以根据实际情况进行确定,应当理解的是,选取的个数越多,采集以及处理信标数据包也更麻烦,设计信标采集序列的运算也更复杂,但是,相应获取的CSI数据就更多,对整个WLAN目标性能的检测也更接近实际值。
本实施例中,CSI计算模块40,包括:
提取子模块,用于根据所述信标数据包的采集方式提取所述信标采集序列中所述AP设备各自对应的信标数据包;
CSI计算子模块,用于根据所述AP设备各自对应的信标数据包计算对应的CSI。
由于信标采集序列是根据设定好的采集顺序采集对应的信标数据包的,故而可以依照其采集方式提取信标采集序列上的每个AP设备各自对应的信标数据包,然后再根据每个AP设备各自对应的信标数据包计算对应的CSI。
进一步地,CSI计算子模块,包括:
第一提取单元,用于提取所述AP设备中2.4GHz频段的AP设备所对应的信标数据包;
估测单元,用于根据提取出的所述信标数据包,通过预设估测方式进行数据处理,估测2.4GHz频段的AP设备对应的信道脉冲响应CIR;
转化单元,将所述信道脉冲响应CIR转化为信道状态信息CSI。
计算2.4GHz频段的方法具体可以为,先提取出2.4GHz频段的AP设备对应的信标数据包,提取的方式可以根据生成的信标采集序列的采集方式对应进行提取,然后解调信标数据包,得到信标数据包的全部数据内容或部分数据内容,根据信标数据包的全部数据内容或部分数据内容,通过预设估测方式进行数据处理,以估测信标数据包对应的所述指定信道脉冲响应CIR,并转化为频域CSI。且任何WLAN中的AP设备都需要周期性地广播信标数据包,通常是每秒10次,且没有任何密码或加密保护,因此可以实现在不需要任何密码,也不需要介质访问控制层(Media Access Control,MAC)连接到任何WLAN的AP设备路由器的情况下,连续获取范围内的周边WLAN的AP设备路由器的无线信道脉冲响应CIR和/或频域CSI,突破了目前只能在WLAN设备以OFDM模式(802.11n/ac/ax)通信时才能获得频域CSI,而传统的DSSS/CCK 802.11b模式则无法获得频域CSI的局限。本申请获取CSI的过程中无需建立物理层的连接,不打断普通WLAN通讯,且不引入额外的通信开销,能获取通讯信号接收范围内所有AP设备路由器的CSI,增加了CSI来源的数量和CSI覆盖区域,为CSI在新领域的应用程序提供更好的信息技术支撑。本申请揭示的方法不会影响WLAN正常收发信号,不用发射额外封包,也不会降低WLAN网络的速率。
进一步地,CSI计算子模块,还包括:
第二提取单元,用于提取所述AP设备中5GHz和/或6GHz频段的AP设备对应的信标数据包,其中,5GHz和/或6GHz频段的AP设备对应的信标数据包为OFDM信标数据包;
CSI提取单元,用于从所述OFDM信标数据包中提取AP设备所对应的信道状态信息CSI。
对于5GHz和6GHz频段的AP设备其信标数据包为OFDM信标数据包,而OFDM信标数据包可以从中直接获取到CSI,这与上述2.4GHz频段获取CSI的方式不一样,应当理解的是,无论是何种频段的AP设备,都能实现获取对应的CSI。
本实施例中,采集模块30,包括:
指定信息获取子模块,用于获取所述信标采集序列采集到的信标数据包中的指定信息,其中,所述指定信息包括MAC报头信息,信噪比,接收信号的强度,源地址STA和AP设备的基站***地址BSSID中的一种或者多种;
判断子模块,根据所述指定信息中的内容判断所述信标数据包是否满足计算CSI的条件;
继续获取模块,当不满足计算CSI的要求时,则通过所述信标采集序列继续获取该信标数据包对应的AP设备的其他信标数据包。
根据指定信息判断对应信标数据包是否满足计算CSI的条件,具体的计算方式包括,比较SNR是否在SNR预设范围内,若不在,则视为不满足条件;比较RSSI是否在RSSI预设范围内,若不在,则视为不满足条件;判断信标数据包是不是来自所预期的AP设备路由器等等与上述指定信息相关的比较信息,均可通过单一或组合的方式成为决定是否满足计算CSI的要求。
本实施例中,信标采集序列生成模块20,包括:
TBTT周期获取子模块,用于获取每个所述AP设备中对应的所述TBTT周期和所述发送时间;
采集周期生成子模块,用于根据每个所述TBTT周期的最小公倍数和发送时间生成信标采集周期,其中所述信标采集周期的时长为所述最小公倍数或为所述最小公倍数的倍数;
采集时间计算子模块,用于根据每个所述AP设备中对应的TBTT周期计算在一所述信标采集周期内各所述AP设备中对应的信标数据包的采集时间;
第一信标采集序列生成子模块,用于根据所述信标采集周期和各所述AP设备中对应的信标数据包的采集时间生成所述信标采集序列。
获取选取的每个AP设备中的TBTT周期,信标采集周期可以是各AP设备TBTT周期最小公倍数或为所述最小公倍数的倍数。在一个最小公倍数的时间内,根据各AP设备对应的信标数据包的出现时间点(即发送时间),判断在一个最小公倍数的时间内是否可以采集到所有AP设备的信标数据包(即各信标数据包在一个最小公倍数的时间内的出现时间没有冲突),若各信标数据包在一个最小公倍数的时间内的出现时间有冲突,则可以将信标采集周期设置为最小公倍数的倍数,以便于可以采集到每个AP设备中的信标数据包,然后根据每个AP设备信标数据包所对应的出现时间和周期,将其一一设置在一个信标采集周期内,另外,若其中两个AP设备发送信标数据包的间隔时间很短,也可以视为二者信标数据包的出现时间有冲突。然后根据各个AP设备的信标数据包的出现时间点生成跳跃信道的采集方式(即确定信标采集序列在各个信道的跳跃顺序和时间点)和时间以获取各个AP设备的信标数据包,将信标采集周期的时长设置为所述最小公倍数或为所述最小公倍数的倍数,可以使每个AP设备在每一个信标采集周期内的出现的相对时间点都是相同的,例如,在第一个信标采集周期内,第一AP设备在第一个信标采集周期出现的时间点为第30ms末,则在第二个信标采集周期出现的时间点也为第30ms末,可以设置一个固定的排表。应当理解的是,若AP设备多,而其TBTT周期互不相干,而导致最小公倍数很大,或者找不出设定时长内的最小公倍数时,此时不用最小公倍数或其倍数作为信标采集周期,而可以根据每个AP的TBTT周期做实时动态的计算,动态决定下一个采集的AP设备。
在另一个实施例中,信标采集序列生成模块20,包括:
获取子模块,获取每个所述AP设备中对应的TBTT周期和信标数据包的出现时间点;
异步动态排序子模块,用于根据每个所述AP设备中对应的TBTT周期和所述信标数据包的出现时间点进行异步动态排序,其中,所述异步动态排序为根据每个所述AP设备中对应的TBTT周期和信标数据包的出现时间点,对获取每个所述AP设备的信标数据包的时间进行排序;
第二信标采集序列生成子模块,用于根据所述异步动态排序生成所述信标采集序列。
根据各个AP的设备的信标数据包的出现时间点和TBTT周期确定在信标采集序列中的采集时间点,通过异步动态排序的方法获取每一个路由器的TBTT周期及其信标数据包的出现时间点,计算采集每个AP设备的信标数据包的时间,以跳跃至对应的信道进行采集。在一些实施例中,选取的多个AP设备中有获取到的CSI表示的是同一CSI,此时可以根据其TBTT周期及其信标数据包出现的时间,以信标采集周期最小较佳,进一步选取多个AP设备中的AP设备。
本发明的有益效果:获取各AP设备的信标数据包的发送时间和TBTT周期,设定信标采集序列的采集周期,再通过信标采集序列跳跃各AP设备对应的信道采集信标数据包,根据采集的信标数据包计算出各AP设备的CSI,可以达到在一次采集周期内采集多个AP设备对应的CSI的技术效果,提高了对CSI的获取效率。
参考图3,本申请还提供了一种存储介质100,存储介质100中存储有计算机程序200,当其在计算机上运行时,使得计算机执行以上实施例所描述的信道状态信息的获取方法。
参考图4,本申请还提供了一种包含上述存储介质100的计算机设备300,当上述存储介质100中存储的计算机程序200在计算机设备300上运行时,使得计算机设备300通过其内部设置的处理器400执行以上实施例所描述的信道状态信息的获取方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。