发明内容
本发明实施例提供一种帧检测方法及装置,通过减少帧检测所花费的计算量以实现减少资源浪费的目的。
第一方面,本发明提供了一种帧检测方法,所述方法包括:
从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点;
利用所述第二设定数量的复样点计算判决变量并获取计算结果;
根据所述计算结果判断是否已经有数据帧到达,如果是,则在当前抽取的起始复样点与上一次抽取的起始复样点间排查数据帧的起始位置,如果否,则从当前抽取的起始复样点开始跳过第三设定数量的复样点再开始选取所述第一设定数量的复样点,继续执行所述从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点的步骤。
在第一方面的第一种可能的实现方式中,按照设定规则从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点;所述设定规则为:
从当前选取的起始复样点开始无间隔的抽取复样点;
或,从当前选取的起始复样点开始间隔性的抽取复样点。
在第一方面的第二种可能的实现方式中,
当采用与数据帧格式相关的方式计算所述判决变量时,所述第一设定数量与所述第三设定数量满足第一预设条件:
NOP≤Nmin_frame-Nmax_skip+1,其中,NOP为所述第一设定数量,Nmax_skip为所述第三设定数量的最大值,Nmin_frame为最小物理层帧对应的复样点数,Nmin_frame大于Nmax_skip;
当采用与数据帧格式不相关的方式计算所述判决变量时,所述第一设定数量与所述第三设定数量满足第二预设条件:
NOP≤Ntrain_seq-Nmax_skip+1,其中,NOP为所述第一设定数量,Nmax_skip为所述第三设定数量的最大值,Ntrain_seq为重复短训练序列的复样点数,Ntrain_seq大于Nmax_skip。
在第一方面的第三种可能的实现方式中,所述根据所述计算结果判断是否已经有数据帧到达包括:
将所述计算结果与设定阈值相比较并获取比较结果;
当所述比较结果为计算结果大于或等于设定阈值时,判定已经有数据帧到达;
当所述比较结果为计算结果小于设定阈值时,判定没有数据帧到达。
在第一方面的第四种可能的实现方式中,所述在当前抽取的起始复样点与上一次抽取的起始复样点间排查数据帧的起始位置包括:
从上一次抽取的起始复样点开始到当前抽取的起始复样点结束,逐样点计算所述判决变量;
当出现判决变量的计算结果大于设定阈值时,将所述出现的判决变量对应的复样点作为数据帧的起始位置。
在第一方面的第五种可能的实现方式中,所述在当前抽取的起始复样点与上一次抽取的起始复样点间排查数据帧的起始位置包括:
将起始查找区间作为排查区间,所述起始查找区间为上一次抽取的起始复样点与当前抽取的起始复样点间的所有复样点;
确定所述排查区间内的复样点数;
判断所述排查区间内的复样点数是否等于1,如果是,则确定这个复样点为数据帧的起始位置;如果否,则选取所述排查区间内的中间样点,并计算所述中间样点处的判决变量;
根据所述中间样点处的计算结果判断是否已经有数据帧到达,如果是,则将所述排查区间的左临界样点与所述中间样点间的区间作为新的排查区间,继续执行所述确定所述排查区间内的复样点数的步骤;如果否,则将所述中间样点与所述排查区间的右临界样点间的区间作为新的排查区间,继续执行所述确定所述排查区间内的复样点数的步骤。
在第一方面的第六种可能的实现方式中,所述方法还包括:
在预设的缓冲区内缓存接收的复样点序列。
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述缓冲区内设置有操作窗口,所述按照设定规则从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点前还包括:
调整所述操作窗口的位置使所述操作窗口至少覆盖当前选取的所述第一设定数量的复样点,并移除上一次选取的起始复样点前的所有复样点。
第二方面,本发明提供一种帧检测装置,所述装置包括:
抽取单元,用于从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点;
计算单元,用于利用所述第二设定数量的复样点计算判决变量并获取计算结果;
判断单元,用于根据所述计算结果判断是否已经有数据帧到达;
排查单元,用于在所述判断单元判断得到的已经有数据帧到达时,在当前抽取的起始复样点与上一次抽取的起始复样点间排查数据帧的起始位置;
跳过单元,用于在所述判断单元判断得到的还未有数据帧到达时,从当前抽取的起始复样点开始跳过第三设定数量的复样点再开始选取所述第一设定数量的复样点,继续利用所述抽取单元执行所述从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点的步骤。
在第二方面的第一种可能的实现方式中,所述抽取单元,具体用于按照设定规则从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点;所述设定规则为:
从当前选取的起始复样点开始无间隔的抽取复样点;
或,从当前选取的起始复样点开始间隔性的抽取复样点。
在第二方面的第二种可能的实现方式中,
当采用与数据帧格式相关的方式计算所述判决变量时,所述第一设定数量与所述第三设定数量满足第一预设条件:
NOP≤Nmin_frame-Nmax_skip+1,其中,NOP为所述第一设定数量,Nmax_skip为所述第三设定数量的最大值,Nmin_frame为最小物理层帧对应的复样点数,Nmin_frame大于Nmax_skip;
当采用与数据帧格式不相关的方式计算所述判决变量时,所述第一设定数量与所述第三设定数量满足第二预设条件:
NOP≤Ntrain_seq-Nmax_skip+1,其中,NOP为所述第一设定数量,Nmax_skip为所述第三设定数量的最大值,Ntrain_seq为重复短训练序列的复样点数,Ntrain_seq大于Nmax_skip。
在第二方面的第三种可能的实现方式中,所述判断单元包括:
结果比较子单元,用于将所述计算结果与设定阈值相比较并获取比较结果;
第一判定子单元,用于当所述比较结果为计算结果大于或等于设定阈值时,判定已经有数据帧到达;
第二判定子单元,用于当所述比较结果为计算结果小于设定阈值时,判定没有数据帧到达。
在第二方面的第四种可能的实现方式中,所述排查单元包括第一查找子单元,所述第一查找子单元:
逐点计算子单元,用于从上一次抽取的起始复样点开始到当前抽取的起始复样点结束,逐样点计算所述判决变量;
第一位置确定子单元,用于当出现判决变量的计算结果大于设定阈值时,将所述出现的判决变量对应的复样点作为数据帧的起始位置。
在第二方面的第五种可能的实现方式中,所述排查单元还包括第二查找子单元,所述第二查找子单元:
第一区间确定子单元,用于将起始查找区间作为排查区间,所述起始查找区间为上一次抽取的起始复样点与当前抽取的起始复样点间的所有复样点;
样点数确定子单元,用于确定所述排查区间内的复样点数;
第一判断子单元,用于判断所述排查区间内的复样点数是否等于1;
第二位置确定子单元,用于在所述第一判断子单元判断得到的所述排查区间内的复样点数等于1时,确定这个复样点为数据帧的起始位置;
中间点选取子单元,用于在所述第一判断子单元判断得到的所述排查区间内的复样点数大于1时,选取所述排查区间内的中间样点,并计算所述中间样点处的判决变量;
第二判断子单元,用于根据所述中间样点处的计算结果判断是否已经有数据帧到达;
第二区间确定子单元,用于当所述第二判断子单元判断得到的已经有数据帧到达时,将所述排查区间的左临界样点与所述中间样点间的区间作为新的排查区间,继续利用所述样点数确定子单元执行所述确定所述排查区间内的复样点数的步骤;
第三区间确定子单元,用于当所述第二判断子单元判断得到的没有数据帧到达时,将所述中间样点与所述排查区间的右临界样点间的区间作为新的排查区间,继续利用所述样点数确定子单元执行所述确定所述排查区间内的复样点数的步骤。
在第二方面的第六种可能的实现方式中,所述装置还包括:
缓存单元,用于在预设的缓冲区内缓存接收的复样点序列。
结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述缓冲区内设置有操作窗口,所述装置还包括:
调整移除单元,用于调整所述操作窗口的位置使所述操作窗口至少覆盖当前选取的所述第一设定数量的复样点,并移除上一次选取的起始复样点前的所有复样点。
本发明实施例帧检测方法及装置,按照复样点序列的接收顺序,依次跳跃式的选取样点区间,并利用从所述样点区间内抽取的全部或部分样点计算判决变量,当计算结果表明帧还未达时,则跳到下一个样点区间继续判定帧是否到达,经过一次或多次帧判决后,如果出现判决变量的计算结果表明数据帧已经到达,则可进一步确定帧起始位置,但是,由于当前判决结果表明数据帧已经到达,上一次判决结果表明数据帧还未到达,且只有在参与判决变量计算的所有复样点均为信号样点时才判决帧到达,所以,可确定帧起始位置位于当前抽取的起始复样点与上一次抽取的起始复样点间的某个位置,所以可在该区间内进行帧起始位置的进一步排查。可见,本发明实施例通过跳跃式的检测方式确定帧是否到达,并在检测到帧达到后在跳过的某个区间内排查帧起始位置,可有效降低传统的逐样点滑动检测帧起始位置的方法所花费的计算量,从而加快了数据处理速率,特别对于计算强度与能耗成正相关的处理器,基于计算量的大量减少,大大降低了处理器因计算操作所消耗的能量。
具体实施方式
本发明实施例提供的帧检测方法及装置,适用于基于分组的突发式无线传输系统中接收机的帧检测模块。参见图4所示的接收机逻辑处理模块组成示意图,接收机从空口接收发送机发送的噪声或数据信号,再将接收的信号经接收机射频部分进行放大、滤波后,下变频(可能多次下变频)到模拟基带,然后通过模/数转换器形成数字形式的复样点序列,以将所述复样点序列输入到数字基带部分进行进一步处理,最终捕获并恢复出数据帧。其中,数字基带部分的帧检测模块负责从接收复样点序列(可能是噪声信号,也可能是数据信号)中判断数据帧何时到达并确定帧的粗略起始位置,如果帧检测模块判定接收的复样点为噪声,则直接将噪声复样点丢弃,否则从帧检测模块判定的粗略帧起始位置开始,其后继的复样点序列(数据信号)会逐一向帧检测模块的后继处理模块传送。后续的载波与符号同步模块通常根据帧前导进行频率同步(频偏估计、频偏纠正)和精确符号同步(在粗略帧起始位置的基础上通过符号同步算法精确地确定符号边界);信道估计与均衡模块负责评估无线信道对信号造成的畸变影响(多径效应、多普勒频移等),并对接收到信号复样点序列进行补偿;解调模块负责从调制符号还原出信息比特序列,然后通过信道解码进行检错和纠错后获得正确的信息比特,最终形成并输出数据帧。
在本发明实施例中,所述帧检测模块首先将接收到的复样点序列缓存在一个预设的缓冲区内,当缓存的复样点序列到达一定长度后,采用跳跃式的帧检测方法检测帧起始位置。参见图5所示的跳跃式帧检测示意图,根据复样点接收顺序,首先确定首次帧检测位置,如果未检测到帧再根据预设的跳跃间隔跳跃式的检测之后接收的复样点序列,例如:在图5中,可按照标号1、2、3……依次进行帧检测,其中,NOP代表每次帧检测操作所涉及的复样点数。在进行每一次帧检测判决时,如果判决没有帧到达,则直接跳过一定数量的复样点进行下一次帧检测判决(例如从标号1跳到标号2),如果在标号2处判决帧已经到达,但由于帧的起始位置可能位于被跳过的复样点处,即标号1与标号2间的某个复样点处,则可通过回溯机制对之前跳过的复样点进行筛检,以检测出数据帧的起始位置。
参见图6所示,图6为本发明实施例提供的一种帧检测方法的实施例1的流程示意图,实现该方法的步骤包括:
步骤101:从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点。
本发明实施例可以采用现有三种帧检测方法中的一种来计算用于判决帧是否到达的判决变量mn,这三种帧检测方法分别为:基于接收信号能量检测的帧检测方法,基于双滑动窗口分组检测的帧检测方法和采用前导结构进行的帧检测方法。其中,对于任一种帧检测方法,每次计算所述判决变量mn时均需要一定数量的复样点参与计算,下面将所述判决变量mn的具体计算公式抽象为下述表达式:
mn=OP(sample1,sample2,…,samplek) (4)
其中,sample1、sample2……samplek为计算判决变量mn时所需的K个复样点;OP操作表示利用K各复样点计算mn时的具体计算方式(例如:上述三种计算方式中的一种)。
在步骤101中,所述第一设定数量NOP为每次OP操作所涉及的复样点,即NOP为从所述OP操作需要访问的第一个复样点开始,到该OP操作需要访问的最后一个复样点间的所有复样点(包含第一个和最后一个复样点)的数量。参见图5,由于本发明实施例采取跳跃式的帧检测方式,所以每次帧检测操作需要选取第一设定数量NOP的复样点,在计算判断变量时,可从所述第一设定数量的复样点中抽取第二设定数量的复样点(即OP操作中的K个复样点)进行判决变量的计算。在选取所述第二设定数量的复样点时可采用以下设定规则,所述设定规则包括但不限于以下两种:
1、从当前选取的起始复样点(所述第一设定数量的复样点中的第一个复样点)开始无间隔的抽取复样点。
例如:当OP操作需16个复样点(即所述第二设定数量为16)时,如果采用无间隔抽取方式,则所述第一设定数量NOP为16,参见图7所示的无间隔的样点抽取示意图。
2、从当前选取的起始复样点(所述第一设定数量的复样点中的第一个复样点)开始间隔性的抽取复样点。
例如:当OP操作需16个复样点(即所述第二设定数量为16)时,如果采用隔一抽取方式,则所述第一设定数量NOP为31,参见图8所示的间隔性的样点抽取示意图。当然,根据实际情况还可采用隔二抽取或其它抽取方式。
步骤102:利用所述第二设定数量的复样点计算判决变量并获取计算结果。
在步骤102中,可采用下述三种方法的中的一种计算判断变量mn:
1、采用基于接收信号能量检测的帧检测方法计算判决变量mn。当采用该方法计算mn时,除可采用公式(1)计算mn外,还可以采用公式(1)的变形公式计算mn,具体为:
mn+1=mn+|rn+1|2-|rn-L+1|2 (5)
2、采用基于双滑动窗口分组检测的帧检测方法计算判决变量mn。当采用该方法计算mn时,除可采用公式(2)计算mn外,还可以采用公式(2)的变形公式计算mn,具体为:
an+1=an+|rn+1|2-|rn-M+1|2
bn+1=bn+|rn+L|2-|rn+1|2 (6)
3、采用前导结构进行的帧检测方法计算判决变量mn。当采用该方法计算mn时,除可采用公式(3)计算mn外,还可以采用公式(3)的变形公式计算mn,具体为:
步骤103:根据所述计算结果判断是否已经有数据帧到达,如果是,则执行步骤104,如果否,则执行步骤105。
在步骤103中,可采用下述方法判断是否已经有数据帧到达,具体为:将所述计算结果(判决变量mn的具体计算数值)与设定阈值相比较并获取比较结果;当所述比较结果为计算结果大于或等于设定阈值时,此时判定已经有数据帧到达;当所述比较结果为计算结果小于设定阈值时,此时判定没有数据帧到达。其中,为了确保判定结果的正确性,只有在参与计算的第二设定数量的(OP操作中的K个复样点)复样点均为信号复样点时才判决数据帧到达,所以,要求所述设定阈值的设定要足以满足该条件。
步骤104:在当前抽取的起始复样点与上一次抽取的起始复样点间排查数据帧的起始位置。
步骤105:从当前抽取的起始复样点开始跳过第三设定数量Nskip(n)的复样点再开始选取所述第一设定数量NOP的复样点,继续执行步骤101。
其中,所述第三设定数量Nskip(n)为两次OP操作间跳过的复样点的数量,也就是第n次OP操作的起始复样点和第n+1次OP操作的起始复样点之间间隔的复样点数量。例如:参见图9所示的样点数跳跃间隔示意图,设第n次OP操作的起始复样点序号为i+l,第n+1次OP操作的起始复样点序号为j+l,且NOP=16,则Nskip(n)=j-i。此外,相邻OP操作之间可以采用等间隔跳跃,即每次跳过的复样点数Nskip(n)均采用相同值,也可采用其它跳跃方法,如不等间隔式跳跃。
另外,本实施例为避免因采用跳跃式帧检测方法而出现漏检帧的现象,上述第一设定数量NOP(n)与第三设定数量Nskip(n)应满足以下限定条件:
1、当采用与数据帧格式相关的方式(即对于OP操作不依赖于特定帧格式的帧检测方法,具体包括:基于接收信号能量检测的帧检测方法和基于双滑动窗口分组检测的帧检测方法)计算所述判决变量时,所述第一设定数量与所述第三设定数量满足下述第一预设条件:
NOP≤Nmin_frame-Nmax_skip+1,其中,NOP为所述第一设定数量,Nmax_skip为最大跳跃间隔即所述第三设定数量的最大值,Nmin_frame为最小物理层帧对应的复样点数,Nmin_frame大于Nmax_skip。
对于OP操作不依赖于特定帧格式的帧检测方法,NOP的最大值受限于Nmin_frame和最大跳跃间隔Nmax_skip=MAX{Nskip(n)},同样的,最大跳跃间隔Nmax_skip=MAX{Nskip(n)}受限于Nmin_frame和NOP。为避免因跳跃式帧检测而出现漏检帧,NOP、Nmin_frame和Nmax_skip需满足条件NOP≤Nmin_frame-Nmax_skip+1。具体原因如下,参见图10(a)所示样点区间的第一选取示意图,由于在本发明实施例的判决变量mn=OP(sample1,sample2,…,samplek)中,只有在k个参与计算的复样点皆为信号样点时才判决为帧到达,若图中前一个OP操作(左边的OP操作)使用的第一个复样点为噪声复样点,而数据复样点紧随该噪声复样点后便到达,则前一个OP操作无法确保检测出帧已经到达。显然,在跳过第三设定数量的复样点后,为确保下一次OP操作所使用的复样点皆为数据复样点用以判定帧到达,NOP需满足条件NOP≤Nmin_frame-Nmax_skip+1。需要说明的是,因为Nmin_frame为最小物理层帧,是数据帧的最小单位,该最小物理层帧是以多个数据复样点的形式进入帧检测模块的,从而确保了图中Nmin_frame个复样点皆为数据复样点,所以,即便本实施例帧检测模块是对最小数据帧进行帧起始位置的检测,也可极大避免出现漏检帧的现象。
2、当采用与数据帧格式不相关的方式(即对于OP操作依赖于帧前导中重复训练序列(例如IEEE802.11)的帧检测方法,具体包括:采用前导结构进行的帧检测方法)计算所述判决变量时,所述第一设定数量与所述第三设定数量满足下述第二预设条件:
NOP≤Ntrain_seq-Nmax_skip+1,其中,NOP为所述第一设定数量,Nmax_skip为最大跳跃间隔即所述第三设定数量的最大值,Ntrain_seq为重复短训练序列的复样点数,Ntrain_seq大于Nmax_skip。例如:在图2中,有10个重复短训练序列且每个短训练序中有16个复样点,则Ntrain_seq=160。
对于OP操作依赖于帧前导中重复训练序列的帧检测方法,NOP的最大值受限于帧前导中重复短训练序列的总长度Ntrain_seq和最大跳跃间隔Nmax_skip。具体原因如下,参见图10(b)所示样点区间的第二选取示意图,当接收机接收到数据帧时首先接收的是数据帧的前导复样点部分,再接收数据帧的数据复样点部分,因为采用前导结构帧检测方式,只有在k个参与计算的复样点皆为短训练序列中的复样点时才判决为帧到达,为避免因跳跃式帧检测而漏检前导短训练序列中的复样点,NOP需满足NOP≤Ntrain_seq-Nmax_skip+1。
参见图11所示,图11为本发明实施例提供的一种帧检测方法的实施例2的流程示意图,实现该方法的步骤包括:
步骤201:在预设的缓冲区内缓存接收的复样点序列。
当接收机的帧检测模块接收到复样点序列时,依次将接收到的复样点序列在预设的缓冲区内进行缓冲。所述缓冲区的大小至少能够容纳跳跃间隔数Nskip(n)个复样点。此外,在所述缓冲区内设置操作窗口,并将所述操作窗口的起始位置设置在所述缓冲区的起始位置处,且所述操作窗口的初始长度设置为0。
步骤202:调整所述缓冲区操作窗口的位置使所述操作窗口至少覆盖当前选取的第一设定数量的复样点,并移除上一次选取的起始复样点前的所有复样点。
从帧检测模块接收的第一个复样点开始,依次将接收的复样点缓存在缓冲区内,由于操作窗口的起始长度为0,随着复样点缓存数量的增加,不断调整操作窗口的长度以使所述操作窗口不断覆盖新接收的复样点,直到第一个OP操作所涉及的第一设定数量的复样点均缓存完毕后,停止所述操作窗口的调整。
在当前OP操作完成后,如果没有检测到帧到达,缓冲区操作窗口的左边缘会右移Nskip(n)个复样点,等待下一次OP操作需要的复样点到达,因为相邻OP操作之间可以采用等间隔跳跃也可以采用其它非等间隔的跳跃方式,所以,要根据实际情况调整缓冲区操作窗口的长度,令其覆盖新接收的复样点,调整后的操作窗口至少应覆盖当前判决变量计算操作所需的第一设定数量NOP的复样点。参见图12所示的操作窗口位置示意图,每个OP操作包含了第一设定数量的复样点,操作窗口至少覆盖每次OP操作所需的复样点,图中所述操作窗口覆盖了OP操作所需的第一设定数量的复样点与相邻两OP操作间的复样点。
另外,在图12中,如果当前OP操作后确定帧还未到达,在将操作窗口右移后,将右移后的操作窗口新的左边缘位置作为参考点,可将参考点左侧第NOP-1个复样点之前的复样点从缓冲区中移除,以释放存储资源。需要说明的是,由于只有所有参数判决变量计算操作的复样点均为数据复样点时,才判决数据帧到达,由于前一个OP操作未判决数据帧到达,所以,在前一个OP操作中,至少第一个复样点为噪声复样点,从而可移除参考点左侧第NOP-1个复样点之前的复样点。
步骤203:按照设定规则从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点。
步骤204:利用所述第二设定数量的复样点计算判决变量并获取计算结果。
例如:在图12中,从缓冲区操作窗口内第Nskip(n)-NOP+1个样点开始,利用抽取到的第二设定数量的复样点按照公式(4)计算判决变量并获取计算结果。
步骤205:根据所述计算结果判断是否已经有数据帧到达,如果是,则执行步骤206,如果否,则执行步骤207。
当所述计算结果表明参与计算的第二设定数量的复样点均为信号样点时,判定已经有数据帧到达;而当所述计算结果表明参与计算的第二设定数量的复样点中至少有一个噪声样点时,判定没有数据帧到达。
步骤206:在当前抽取的起始复样点与上一次抽取的起始复样点间排查数据帧的起始位置。
在图12的操作窗口中,如果判决变量的计算结果表明数据帧到达,则可确定帧的起始位置位于接收缓冲区中的区间内,进而可在该区间内进一步查找帧起始位置,其中,Nwin_offset为复样点序列的第一个复样点到前一个OP操作最后一个复样点间的复样点数。
本发明实施例包括但不限于以下两种排查数据帧起始位置的方法:
一、在排查区间内通过逐样点判决查找帧起始位置
从上一次抽取的起始复样点开始到当前抽取的起始复样点结束,逐样点计算所述判决变量;当出现判决变量的计算结果大于设定阈值时,将所述出现的判决变量对应的复样点作为数据帧的起始位置。
例如,在图12中,从区间[Nwin_offset-NOP+1,Nwin_offset+Nskip-NOP+1]中第一个复样点开始,逐样点移动进行OP运算以获取判决变量的计算结果,直到出现计算结果大于设定阈值时判决帧到达,并将该复样点作为数据帧的起始位置。
二、在排查区间内采用二分法查找帧起始位置
参见图13所示的帧起始位置的排查流程示意图,具体包括以下步骤:
步骤301:将起始查找区间作为排查区间,所述起始查找区间为上一次抽取的起始复样点与当前抽取的起始复样点间的所有复样点。
步骤302:确定所述排查区间内的复样点数。
所述排查区间的初始区间为:上一次抽取的起始复样点sample1与当前抽取的起始复样点sampler间的所有复样点,即所述初始区间为图12中的区间[Nwin_offset-NOP+1,Nwin_offset+Nskip-NOP+1],在第一次排查时,首先在该区间内进行排查。
步骤303:判断所述排查区间内的复样点数是否等于1,如果是,则确定在排查区间内只有一个复样点,执行步骤304,如果否,则确定在所述排查区间内有多个复样点,执行步骤305。
步骤304:确定这个复样点为数据帧的起始位置。
步骤305:选取所述排查区间内的中间样点samplem,并计算所述中间样点处的判决变量。
需要说明的是,排查区间内的复样点数可能是奇数个也可能是偶数个,如果是奇数个,则可以直接选取区间内最中间的复样点作为中间样点,但如果是偶数个,则可以任意选取中间两个复样点中的任何一个复样点作为中间样点。
步骤306:根据所述中间样点samplem处的计算结果判断是否已经有数据帧到达,如果是,则执行步骤307,如果否,则执行步骤308。
将所述中间样点samplem处的计算结果(判决变量mn的具体计算数值)与设定阈值相比较并获取比较结果;当计算结果大于或等于设定阈值时,此时判定已经有数据帧到达;当所述计算结果小于设定阈值时,此时判定没有数据帧到达。
步骤307:将所述排查区间的左临界样点sample1与所述中间样点samplem间的区间[sample1,samplem]作为新的排查区间,以在所述新的排查区间内排查数据帧的起始位置,再执行步骤302。
步骤308:将所述中间样点samplem与所述排查区间的右临界样点sampler间的区间[samplem,,sampler]作为新的排查区间,以在所述新的排查区间内排查数据帧的起始位置,再执行步骤302。
在本实施例的步骤306和步骤307中,通过取中间样点的方式将当前的排查区间划分成了两个相等的区间,即排查区间的左临界样点sample1与中间样点samplem间的区间[sample1,samplem]和中间样点samplem与排查区间的右临界样点sampler间的区间[samplem,,sampler]。当中间样点samplem处的判决变量计算结果大于或等于设定阈值时,表明在中间样点处数据帧已经到达,此时,可进一步确定帧起始位置在区间[sample1,samplem]内,此时将区间[sample1,samplem]作为新的排查区间,通过再次在新的排查区间内取中间样点以进一查找帧起始位置;反之,当中间样点samplem处判决变量计算结果小于设定阈值时,表明在中间样点处数据帧还未到达,此时,可进一步确定帧起始位置在区间[samplem,,sampler]内,此时将区间[samplem,,sampler]作为新的排查区间,通过再次在新的排查区间内取中间样点以进一查找帧起始位置。可见,采用二分法查找帧起始位置的方法减少了一半的计算量,进一步节省了帧判决所花费的计算量。
步骤207:从当前抽取的起始复样点开始跳过第三设定数量的复样点再开始选取所述第一设定数量的复样点,继续执行步骤203。
本发明实施例帧检测方法,按照复样点序列的接收顺序,依次跳跃式的选取样点区间,并利用从所述样点区间内抽取的全部或部分样点计算判决变量,当计算结果表明帧还未达时,则跳到下一个样点区间继续判定帧是否到达,经过一次或多次帧判决后,如果出现判决变量计算结果表明数据帧已经到达,则可进一步确定帧起始位置,但是,由于当前判决结果表明数据帧已经到达,上一次判决结果表明数据帧还未到达,且只有在参与判决变量计算的所有复样点均为信号样点时才判决帧到达,所以,可确定帧起始位置位于当前抽取的起始复样点与上一次抽取的起始复样点间的某个位置,所以可在该区间内进行帧起始位置的进一步排查。可见,本发明实施例通过跳跃式的检测方式确定帧是否到达,并在检测到帧达到后在跳过的某个区间内排查帧起始位置,可有效降低传统的逐样点滑动检测帧起始位置的方法所花费的计算量,从而加快了数据处理速率,特别对于计算强度与能耗成正相关的处理器,基于计算量的大量减少,大大降低了处理器因计算操作所消耗的能量。
参见图14所示,图14为本发明实施例提供的一种帧检测装置的实施例1的结构示意图,该装置100包括:
抽取单元1,用于从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点。
其中,所述抽取单元1,具体用于按照设定规则从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点;所述设定规则为:从当前选取的起始复样点开始无间隔的抽取复样点;或,从当前选取的起始复样点开始间隔性的抽取复样点。
计算单元2,用于利用所述第二设定数量的复样点计算判决变量并获取计算结果。
判断单元3,用于根据所述计算结果判断是否已经有数据帧到达。
排查单元4,用于在所述判断单元3判断得到的已经有数据帧到达时,在当前抽取的起始复样点与上一次抽取的起始复样点间排查数据帧的起始位置。
跳过单元5,用于在所述判断单元3判断得到的还未有数据帧到达时,从当前抽取的起始复样点开始跳过第三设定数量的复样点再开始选取所述第一设定数量的复样点,继续利用所述抽取单元1执行所述从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点的步骤。
其中,采用不同的判决变量计算方法,将导致所述第一设定数量与所述第三设定数量满足不同的限定条件,具体为:
1、当采用与数据帧格式相关的方式计算所述判决变量时,所述第一设定数量与所述第三设定数量满足第一预设条件:
NOP≤Nmin_frame-Nmax_skip+1,其中,NOP为所述第一设定数量,Nmax_skip为所述第三设定数量的最大值,Nmin_frame为最小物理层帧对应的复样点数,Nmin_frame大于Nmax_skip;
2、当采用与数据帧格式不相关的方式计算所述判决变量时,所述第一设定数量与所述第三设定数量满足第二预设条件:
NOP≤Ntrain_seq-Nmax_skip+1,其中,NOP为所述第一设定数量,Nmax_skip为所述第三设定数量的最大值,Ntrain_seq为重复短训练序列的复样点数,Ntrain_seq大于Nmax_skip。
参见图15所示,图15为本发明实施例提供的一种帧检测装置的实施例2的结构示意图,本装置实施例2除包括上述装置实施例1中的各个单元外,还包括:
缓存单元6,用于在预设的缓冲区内缓存接收的复样点序列,所述缓冲区内设置有操作窗口。调整移除单元7,用于调整所述操作窗口的位置使所述操作窗口至少覆盖当前选取的所述第一设定数量的复样点,并移除上一次选取的起始复样点前的所有复样点。
其中,所述判断单元3包括:结果比较子单元31,用于将所述计算结果与设定阈值相比较并获取比较结果;第一判定子单元32,用于当所述比较结果为计算结果大于或等于设定阈值时,判定已经有数据帧到达;第二判定子单元33,用于当所述比较结果为计算结果小于设定阈值时,判定没有数据帧到达。
其中,所述排查单元4包括第一查找子单元41,所述第一查找子单元41:逐点计算子单元411,用于从上一次抽取的起始复样点开始到当前抽取的起始复样点结束,逐样点计算所述判决变量;第一位置确定子单元412,用于当出现判决变量的计算结果大于设定阈值时,将所述出现的判决变量对应的复样点作为数据帧的起始位置。
其中,所述排查单元4还包括第二查找子单元42,所述第二查找子单元42:
第一区间确定子单元421,用于将起始查找区间作为排查区间,所述起始查找区间为上一次抽取的起始复样点与当前抽取的起始复样点间的所有复样点;
样点数确定子单元422,用于确定所述排查区间内的复样点数;
第一判断子单元423,用于判断所述排查区间内的复样点数是否等于1;
第二位置确定子单元424,用于在所述第一判断子单元423判断得到的所述排查区间内的复样点数等于1时,确定这个复样点为数据帧的起始位置;
中间点选取子单元425,用于在所述第一判断子单元423判断得到的所述排查区间内的复样点数大于1时,选取所述排查区间内的中间样点,并计算所述中间样点处的判决变量;
第二判断子单元426,用于根据所述中间样点处的计算结果判断是否已经有数据帧到达;
第二区间确定子单元427,用于当所述第二判断子单元426判断得到的已经有数据帧到达时,将所述排查区间的左临界样点与所述中间样点间的区间作为新的排查区间,继续利用所述样点数确定子单元422执行所述确定所述排查区间内的复样点数的步骤;
第三区间确定子单元428,用于当所述第二判断子单元426判断得到的没有数据帧到达时,将所述中间样点与所述排查区间的右临界样点间的区间作为新的排查区间,继续利用所述样点数确定子单元422执行所述确定所述排查区间内的复样点数的步骤。
本发明实施例帧检测装置,按照复样点序列的接收顺序,依次跳跃式的选取样点区间,并利用从所述样点区间内抽取的全部或部分样点计算判决变量,当计算结果表明帧还未达时,则跳到下一个样点区间继续判定帧是否到达,经过一次或多次帧判决后,如果出现判决变量的计算结果表明数据帧已经到达,则可进一步确定帧起始位置,但是,由于当前判决结果表明数据帧已经到达,上一次判决结果表明数据帧还未到达,且只有在参与判决变量计算的所有复样点均为信号样点时才判决帧到达,所以,可确定帧起始位置位于当前抽取的起始复样点与上一次抽取的起始复样点间的某个位置,所以可在该区间内进行帧起始位置的进一步排查。可见,本发明实施例通过跳跃式的检测方式确定帧是否到达,并在检测到帧达到后在跳过的某个区间内排查帧起始位置,可有效降低传统的逐样点滑动检测帧起始位置的方法所花费的计算量,从而加快了数据处理速率,特别对于计算强度与能耗成正相关的处理器,基于计算量的大量减少,大大降低了处理器因计算操作所消耗的能量。
进一步地,本发明实施例还提供了接收机的帧检测装置的构成。可包括至少一个处理器(例如CPU),至少一个网络接口或者其他通信接口,存储器,和至少一个通信总线,用于实现这些装置之间的连接通信。处理器用于执行存储器中存储的可执行模块,例如计算机程序。存储器可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
对于接收机的帧检测装置100来说,参见图16所示,在一些实施方式中,存储器中存储了程序指令,程序指令可以被处理器执行,其中,处理器调取程序指令,执行如下步骤:“按照设定规则从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点;利用所述第二设定数量的复样点计算判决变量并获取计算结果;根据所述计算结果判断是否已经有数据帧到达,如果是,则在当前抽取的起始复样点与上一次抽取的起始复样点间排查数据帧的起始位置,如果否,则从当前抽取的起始复样点开始跳过第三设定数量的复样点,并从跳到的复样点开始选取所述第一设定数量的复样点,继续执行所述按照设定规则从当前选取的第一设定数量的复样点中抽取第二设定数量的复样点的步骤”。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。