发明内容
基于此,有必要针对上述技术问题,提供一种能够有效提高速率匹配效率的速率匹配方法、一种速率匹配装置、一种解速率匹配方法、一种解速率匹配装置、一种基站和一种存储介质。
为实现上述目的,本发明实施例提供如下技术方案:
一方面,本发明实施例提供一种速率匹配方法,包括:
确定卷积编码后的各数据子块分别对应的各第一矩阵;第一矩阵中各虚比特对应的数据段位于末行末尾位置;
分别对各第一矩阵进行列间置换,根据预设算法对列间置换后的各第一矩阵进行列变换,得到各第二矩阵;
分别根据各第二矩阵的列值与数据流比特数,按列输出各第二矩阵中的各数据比特,得到过滤各虚比特后对应于各数据子块的各交织数据流;其中,数据比特为数据子块中卷积编码后的传输数据对应的比特,数据流比特数为数据子块中数据比特的总数量;
对各交织数据流进行比特收集,得到虚拟环形数据流队列;
根据空口资源对应的承载比特值,对虚拟环形数据流队列进行比特选择,得到卷积编码传输数据。
在其中一个实施例中,根据预设算法对列间置换后的各第一矩阵进行列变换,得到各第二矩阵的过程,包括:
分别根据列间置换后的各第一矩阵的列值和总列数,以及数据流比特数进行求余运算,确定各第一矩阵经过列变换后的各列值;
分别根据各列值对列间置换后的各第一矩阵进行列变换,得到各第二矩阵。
在其中一个实施例中,第二矩阵的各列值通过以下运算公式得到:
P′(n)=(P(n)+(N mod 32))mod 32
其中,P′(n)表示第二矩阵的第n列的列值,
表示第一矩阵的总列数,P(n)表示列间置换后的第一矩阵的第n列的列值,N表示数据流比特数,mod表示求余函数符号。
在其中一个实施例中,分别根据各第二矩阵的列值与数据流比特数,按列输出各第二矩阵中的各数据比特的过程,包括:
若第二矩阵的任一列的列值大于或等于数据流比特数与第一矩阵的总列数的余数,则在任一列从上至下依次输出S1个数据比特;其中:
若第二矩阵的任一列的列值小于数据流比特数与第一矩阵的总列数的余数,则在任一列从上至下依次输出S
2个数据比特;其中,
在其中一个实施例中,确定卷积编码后的各数据子块分别对应的各第一矩阵的步骤,包括:
分别在各待交织矩阵中,将各虚比特对应的数据段从首行头部位置移动至末行末尾位置,得到各第一矩阵;其中,待交织矩阵为向子块交织器中先填入各虚比特后,在各虚比特对应的数据段后填入数据子块的各数据比特形成的矩阵。
另一方面,本发明实施例提供一种解速率匹配方法,包括:
对接收到的卷积编码传输数据进行解比特选择,得到虚拟环形数据流队列;
对虚拟环形数据流队列进行解比特收集,得到各交织数据流;
根据子块交织时的预设算法和列间置换所对应的算法,分别对各交织数据流进行解子块交织处理,得到对应于各交织数据流的卷积编码后的数据子块。
又一方面,本发明实施例提供一种速率匹配装置,包括:
矩阵确定模块,用于确定卷积编码后的各数据子块分别对应的各第一矩阵;第一矩阵中各虚比特对应的数据段位于末行末尾位置;
置换处理模块,用于根分别对各第一矩阵进行列间置换,根据预设算法对列间置换后的各第一矩阵进行列变换,得到各第二矩阵;
交织输出模块,用于分别根据各第二矩阵的列值与数据流比特数,按列输出各第二矩阵中的各数据比特,得到过滤各虚比特后对应于各数据子块的各交织数据流;其中,数据比特为数据子块中卷积编码后的传输数据对应的比特,数据流比特数为数据子块中数据比特的总数量;
比特收集模块,用于对各交织数据流进行比特收集,得到虚拟环形数据流队列;
数据输出模块,用于根据空口资源对应的承载比特值,对虚拟环形数据流队列进行比特选择,得到卷积编码传输数据。
再一方面,本发明实施例提供一种解速率匹配装置,包括:
解选择模块,用于对接收到的卷积编码传输数据进行解比特选择,得到虚拟环形数据流队列;
解收集模块,用于对虚拟环形数据流队列进行解比特收集,得到各交织数据流;
解交织模块,用于根据子块交织时的预设算法和列间置换所对应的算法,分别对各交织数据流进行解子块交织处理,得到对应于各交织数据流的卷积编码后的数据子块。
再一方面,本发明实施例提供一种基站,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的速率匹配方法的步骤或上述的解速率匹配方法的步骤。
再一方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的速率匹配方法的步骤或上述的解速率匹配方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
上述的速率匹配方法,在基于卷积编码的速率匹配过程中,通过在进行子块交织前,先确定各虚比特对应的数据段位于末行末尾位置的第一矩阵,再对第一矩阵进行列间置换处理,然后根据预设算法进行列变换得到第二矩阵。进而根据第二矩阵的列值和数据流比特数,以按列输出的方式对第二矩阵进行交织输出,得到过滤了各虚比特的交织数据流。最后对各交织数据流进行比特收集、比特选择等处理完成速率匹配。由于子块交织时输出的交织数据流中已不再包含虚比特,因此,在保证列间交织的方便性同时,省去了后续比特收集、比特选择等过程中对虚比特的判断、打孔等处理,大大提高了基于卷积编码方式的速率匹配处理效率。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的速率匹配方法,可以应用于如图1所示的应用环境中。基于图1示意的卷积编码后三个数据子块的速率匹配流程中。在对各个数据子块分别进行子块交织的处理过程中,各个数据子块分别通过相应的各子块交织器来进行子块交织。数据子块上包含有下行数据对应的各比特,也即数据比特。在将任一数据子块的各个数据比特填入子块交织器形成待交织的交织矩阵前,可以根据数据子块的大小计算出所需填充到交织矩阵中的虚比特的数量,然后先将虚比特填入子块交织器中的首行,接着在首行最后一个虚比特后面依次填入各数据比特,形成待交织矩阵。然后依据待交织矩阵确定各虚比特位于末行末尾位置的第一矩阵。对第一矩阵进行列间置换,得到列间置换后的第一矩阵,再按预设算法进行列变换,以调换第一矩阵中各列的顺序形成第二矩阵。然后根据第二矩阵的列值与数据流比特数,按列输出第二矩阵的各数据比特,得到过滤各虚比特后对应于数据子块的交织数据流。
通过上述交织处理,分别完成三个数据子块的交织输出后,将三个数据子块所分别对应的交织数据流进行比特收集,以得到虚拟环形数据流队列,最后根据上层指示的空口资源对应的承载比特值,对虚拟环形数据流队列进行比特选择,得到可由空口下发的卷积编码传输数据,从而完成速率匹配。图1中,
和
分别为从上层经过传输信道的卷积编码后输出的3个数据子块,
和
分别为子块交织后的交织数据流,w
k为将
和
进行比特收集后的虚拟环形数据流队列,e
k为经过比特选择后输出的数据,也即卷积编码传输数据。
在一个实施例中,如图2所示,提供了一种速率匹配方法,以该方法应用于图1中的速率匹配场景为例进行说明,包括以下步骤S12至S20:
S12,确定卷积编码后的各数据子块分别对应的各第一矩阵;第一矩阵中各虚比特对应的数据段位于末行末尾位置。
其中,虚比特为当一个数据子块的长度小于该数据子块对应的子块交织器的总长度时,所需要在该数据子块的前面添加适当数量的虚比特,以便于进行子块交织,例如本领域的NULL比特,其值为O。数据子块为经过卷积编码后的对应于传输块的三个数据子块,用于通过速率匹配处理及通过空口下行传输。由于解速率匹配为速率匹配的逆向过程,因此数据比特也可以是指上行过程中,解速率匹配处理后传输给上层的数据子块中的包含的数据所对应的比特。
可以理解,下行传输数据在经过传输信道的卷积编码处理后,可以形成相应的三个数据子块。这些数据子块中包含下行传输数据所对应的各个数据比特,这些数据比特由于对应的是有实际含义的下行传输数据,因此也可以称为有效比特或非空比特。由于子块交织器的总列数是确定的,为32列,因此在每一个数据子块所包含的数据比特构成的比特序列总长度,小于该数据子块即将通过的子块交织器的总长度(也即一个交织矩阵可容纳的比特序列的总长度)时,均需要加入一定数量的虚比特来补齐所有数据比特占据子块交织器中的比特位置后,未填满比特的行的空余位置,以形成基于各数据比特的最少行的矩阵。
具体的,在输出卷积编码后的各数据子块后,各数据子块的数据比特将会与一定数量的虚比特一起,填入到各数据子块对应的各子块交织器中,形成用于子块交织处理的各交织矩阵。从而可以确定各交织矩阵对应的各个第一矩阵。在各个第一矩阵中,各个虚比特和数据比特由于均是按行填入交织矩阵的,因此,在任一第一矩阵中以按行填入的形式均会对应的形成一个包含各个虚比特的数据段,以及一个包含各个数据比特的数据段。而本申请的第一矩阵中,各个虚比特对应的数据段位于末行末尾位置。
S14,分别对各第一矩阵进行列间置换,根据预设算法对列间置换后的各第一矩阵进行列变换,得到各第二矩阵。
其中,列间置换的处理是按照本领域传统的子块交织处理中所使用的列间置换规则来进行的处理。预设算法为根据第一矩阵中各数据比特位置预先确定的列变换算法,用于使第二矩阵中各数据比特的顺序与传统速率匹配方法中,列间置换后的交织矩阵中各数据比特的顺序保持一致。具体的,对于任一第一矩阵,通过常规的列间置换方法对第一矩阵进行列间置换。然后根据预设算法对列间置换后的第一矩阵进行列变换,以调整第一矩阵中各列的顺序。通过列变换使得到的第二矩阵中各列的各数据比特的顺序,在不考虑各虚比特时,与传统速率匹配方法中,列间置换后交织矩阵中各列的数据比特的顺序保持一致。
S16,分别根据各第二矩阵的列值与数据流比特数,按列输出各第二矩阵中的各数据比特,得到过滤各虚比特后对应于各数据子块的各交织数据流;其中,数据比特为数据子块中卷积编码后的传输数据对应的比特,数据流比特数为数据子块中数据比特的总数量。
其中,第二矩阵的列值为第一矩阵经过列间置换和列变换之后,第二矩阵每一列的列编号。可以理解,卷积编码后的各个数据子块在填入各自对应的子块交织器后,其所形成的交织矩阵的每一列均分配有固定的列编号。列间置换和列变换等处理均不会改变列编号,改变的是各列之间的顺序(也即对应改变的是各列编号的顺序)。交织数据流是指第二矩阵中从首列(该首列的列编号可不再是原交织矩阵的第一列的列编号)开始,按列输出每一列上的所有数据比特后,形成的一个比特序列,也即对应于一个数据子块的子块交织输出的数据段。
具体的,在对第二矩阵进行比特交织输出时,可以根据第二矩阵的列值和数据流比特数来控制按列输出的处理,以使在先后输出各列的比特时,仅输出各列所有的数据比特,而不再输出位于末行位置为虚比特的各列中的虚比特,从而达到输出的交织数据流中已过滤了各虚比特的目的。由于各虚比特在第一矩阵中已经位于末行末尾位置,经过列间置换和列变换后的第二矩阵中,各虚比特分散在各列的末行位置,且第二矩阵的列值是已知的,从而可以直接根据第二矩阵的列值以及数据流比特数来确定哪些列包含虚比特,从而只需控制每一列从上至下(也即从首行至末行)依次输出的比特数量,例如无虚比特的列输出M个比特,包含虚比特的列输出M-1个比特,即可过滤掉虚比特的输出。
按列输出过程中无需对列中的比特判断是否为虚比特、首个比特或者第二个比特等,从而也避免了子块交织后的比特选择过程中的虚比特的判断。如此,在输出的每一个数据子块对应的交织数据流中,均不再包含虚比特且交织数据流中各数据比特的顺序,与传统子块交织输出的数据流中不考虑(例如将数据流中的虚比特去除)虚比特时各数据比特的顺序一致,避免因各数据比特的顺序不一致,导致比特收集、比特选择等处理后得到的数据块中数据比特的顺序出错,从而导致解速率匹配、解编码等处理时发生数据错误的问题。
S18,对各数据子块的交织数据流进行比特收集,得到虚拟环形数据流队列。
可以理解,通过上述的步骤S12至S16完成各个数据子块的子块交织处理后,可以按照传统的比特收集处理方式,对各个数据子块的交织数据流进行比特收集处理,从而得到一个虚拟环形数据流队列,如图3所示,也即一个合并的数据块。其中,起始点表示虚拟环形数据流队列的首位数据。系统比特和校验比特分别为具体不同类型的数据比特。E表示空口资源对应的承载比特值。该虚拟环形数据流队列中已不再包含虚比特。
S20,根据空口资源对应的承载比特值,对虚拟环形数据流队列进行比特选择,得到卷积编码传输数据。
其中,空口资源对应的承载比特值可以通过传统的计算方式确定,如根据上层配置的空口资源参数来计算确定。空口资源对应的承载比特值用于指示物理层空口资源所能承载数据流的比特数量,反映物理层空口的流量大小。卷积编码传输数据为通过传输信道传输到物理层空口的数据流,其包含的比特数量与空口资源对应的承载比特值相匹配,也即速率匹配。
具体的,基于前述的虚拟环形数据流队列,可以根据空口资源对应的承载比特值,按照传统的比特选择处理方式进行数据选择输出,从而得到与空口资源对应的承载比特值相匹配的输出数据流,即卷积编码传输数据,至此即完成整个速率匹配的处理输出。
上述速率匹配方法,在基于卷积编码的速率匹配过程中,通过在进行子块交织前,先确定各虚比特对应的数据段位于末行末尾位置的第一矩阵,在对第一矩阵进行列间置换处理,然后根据预设算法进行列变换得到第二矩阵。进而根据第二矩阵的列值和数据流比特数,以按列输出的方式对第二矩阵进行交织输出,得到过滤了各虚比特的交织数据流。最后对各交织数据流进行比特收集、比特选择等处理完成速率匹配。由于子块交织时输出的交织数据流中已不再包含虚比特,因此,在保证列间交织的方便性同时,省去了后续比特收集、比特选择等过程中对虚比特的判断、打孔等处理,大大提高了基于卷积编码方式的速率匹配处理效率。
在一个实施例中,关于上述的步骤S12,具体可以包括如下步骤:
分别在各待交织矩阵中,将各虚比特对应的数据段从首行头部位置移动至末行末尾位置,得到各第一矩阵;其中,待交织矩阵为向子块交织器中先填入各虚比特后,在各虚比特对应的数据段后填入数据子块的各数据比特形成的矩阵。
其中,首行头部位置是指任一子块交织器中首行上的前N个位置,N为整数且大小与所需填入的虚比特的总数量相同,N个位置对应的数据段长度也即该子块交织器中各个虚比特构成的数据段的总长度。首行头部位置后依次填入的比特为该子块交织器对应的数据子块的各个数据比特。可以理解,位于待交织矩阵的首行头部位置的各虚比特,对应为一个虚比特数据段,将整段的虚比特移动到待交织矩阵的末行末尾位置。相应的,待交织矩阵上的各数据比特对应的数据段也将前移,以填满各虚比特原来在待交织矩阵上首行的填入位置。经过上述各比特的移位后,每一行内的各数据比特的顺序仍保持与填入顺序相同,仅位置经过前移。
具体的,在按照本领域常规的卷积编码方式,得到信道编码后输出的三个数据子块,在对任一数据子块对应的待交织矩阵进行子块交织处理前,通过指令指示基站内处理当前子块交织任务的处理器,使处理器将待交织矩阵上首行头部位置的各虚比特移至末行末尾位置,同时将各个数据比特按照填入时的顺序相应的依次前移,以填满各个虚比特位于首行时所占据的各位置,得到各虚比特均位于末行末尾位置的第一矩阵。
通过上述的处理步骤,可以在不改变传统的向子块交织器填入比特的程序前提下,高效实现第一矩阵的确定,确保后续的子块交织处理过程中各虚比特的快速过滤。
在一个实施例中,关于上述的步骤S14,具体可以包括如下步骤:
分别根据列间置换后的各第一矩阵的列值和总列数,以及数据流比特数进行求余运算,确定各第一矩阵经过列变换后的各列值;
分别根据各列值对列间置换后的各第一矩阵进行列变换,得到各第二矩阵。
可选的,上述的预设算法可以是求余运算。可以理解,第一矩进行列间置换后,此时的第一矩阵其各个列值仍是已知的。在对第一矩阵进行列间置换后,可以根据第一矩阵的各个列值以及数据流比特数,通过与第一矩阵的总列数进行求余运算的方式,计算确定列变换后的各个列值,也即确定第二矩阵的各列值,从而按照确定的各列值来对第一矩阵进行列变换即可得到第二矩阵。如此,通过上述的列变换,即可确保第二矩阵中的各个数据比特的顺序,与传统子块交织过程中列间置换后的矩阵上各个数据比特的顺序相同,便于子块交织输出的同时,避免由于比特移位后可能导致的数据错误问题或者需要对传统的按列输出规则进行更改的问题。
在一个实施例中,优选地,关于上述的步骤S14中,第二矩阵的各列值可以通过以下运算公式得到:
P′(n)=(P(n)+(N mod 32))mod 32
其中,P′(n)表示第二矩阵的第n列的列值,
表示第一矩阵的最大列值,其值为32;P(n)表示列间置换后的第一矩阵的第n列的列值,N表示数据流比特数,mod表示求余函数符号。
具体的,上述根据列间置换后的各第一矩阵的列值和数据流比特数,通过与第一矩阵的总列数进行的求余运算的过程,可以通过上述的运算公式来计算确定各个第二矩阵的各个列值。在对列间置换后的第一矩阵进行列变换处理时,可以通过上述的运算公式所对应的程序将列间置换后的第一矩阵的各列值分别代入执行计算,即可确定第二矩阵。相应的,在解列变换时,也可以将第二矩阵的各列值分别代入执行计算,即可确定列间置换后的第一矩阵。
通过上述的列变换算法,快速实现从列间置换后的第一矩阵变换到第二矩阵的过程,以使基于第二矩阵进行的比特收集等后续处理过程能够准确、可靠实现,避免交织数据流中的数据出错。列变换算法实现简便且有效避免进行比特收集等后续处理时需要进行传统子块交织的算法重新设计问题。
请参阅图4至5,在一个实施例中,优选的,关于上述步骤S16中,分别根据第二矩阵的列值与数据流比特数,按列输出第二矩阵的各数据比特的过程,具体可以包括如下步骤:
若第二矩阵的任一列的列值大于或等于数据流比特数与第一矩阵的总列数的余数,则在任一列从上至下依次输出S1个数据比特;其中:
若第二矩阵的任一列的列值小于数据流比特数与第一矩阵的总列数的余数,则在任一列从上至下依次输出S
2个数据比特;其中,
可以理解,数据流比特数与第一矩阵的总列数的余数也即是指N mod32的值,N表示上述的数据流比特数。32也即上述任一第一矩阵的总列数。本领域技术人员可以理解,上述的第一矩阵的总列数可以根据通信技术领域内的标准协议确定,在标准协议调整后,总列数也可以随标准协议做出相应的调整,而仅不限于现行标准协议中的32。如图4所示的是传统的子块交织过程中列间置换前(上矩阵)与列间置换后(下矩阵)的交织矩阵。其中,矩阵内的N表示虚比特。上矩阵内的自然数字表示输入的数据比特的序号。下矩阵内的同一位置中的上数字表示输入的数据比特的序号,下数字表示输出的数据比特的序号。
如图5所示的是第一矩阵和通过上述比特移位、列间置换与列变换的第二矩阵。由于各列虚比特的位置均位于列的末行,因此,通过在输出各列的比特时结合上述的列值判断,可以确定每一列中包含的数据比特的总数量,以便在输出任一列的比特时,只需输出虚比特前面的所有数据比特即可跳转至下一列继续进行比特输出。图5中,列间置换前(上矩阵)的第一矩阵与列间置换及列变换后(下矩阵)的第二矩阵中,矩阵内的N表示虚比特。第一矩阵内的自然数字表示输入的数据比特的序号。第二矩阵内的同一位置中的上数字表示输入的数据比特的序号,下数字表示输出的数据比特的序号。可选的,上述从虚拟环形数据流队列中输出卷积编码传输数据的各数据比特的方式为直接拷贝。
具体的,在对第二矩阵上的数据比特进行交织输出时,仍然是按照按列输出的方式。在输出每一列的比特时,从上至下依次输出的比特的数量分别通过上述的算法对应的程序进行输出数量控制,从而确保输出的各个比特均为数据比特,而不再输出各列的虚比特。通过上述的比特输出控制,可以实现得到的交织数据流中不在包含虚比特,使得到的虚拟环形数据流队列中也不再包含虚比特,节省比特收集、比特选择等后续处理过程中对虚比特的处理流程,提高速率匹配的效率。
结合上述的图4和图5,以下给出一个基于传统列间置换后的交织矩阵的各列值序列(如表1所示)基础上,应用上述基于第一矩阵的各列值的运算公式,来确定第二矩阵的示例,表2表示的是第二矩阵的列值序列:(以数据流比特数N=80为例)
表1基于卷积编码的速率匹配列间置换序列
表2列变换后的列间置换序列
可以看出,在子块交织前,对交织矩阵进行比特移位处理确定第一矩阵后,再对第一矩阵进行列间置换,然后根据上述基于第一矩阵的各列值的运算公式进行列变换,即可以得到如表2所示的第二矩阵的列值序列。
请参阅图6,在一个实施例中,提供一种解速率匹配方法,包括如下步骤S11至S15:
S11,对接收到的卷积编码传输数据进行解比特选择,得到虚拟环形数据流队列。
其中,卷积编码传输数据即为接收到的上行数据块,也即通过上述实施例的速率匹配方法处理得到的输出数据。可以理解,在接收到卷积编码传输数据后,通过根据上述实施例的速率匹配方法中的比特选择方式,进行逆向的处理,也即进行解重复或解打孔等的解比特选择处理,从而恢复成上述实施例的速率匹配方法中,子块交织处理后比特收集所得到的虚拟环形数据流队列。
S13,对虚拟环形数据流队列进行解比特收集,得到各交织数据流。
可以理解,恢复得到虚拟环形数据流队列后,根据比特收集的处理方式,进行逆向的处理,将虚拟环形数据流队列解比特收集,分成各数据子块对应的交织数据流。如此,也即恢复得到子块交织过程中的三个交织的矩阵所分别对应的三个交织数据流,也即上述实施例中速率匹配方法得到的三个交织数据流。由于虚拟环形数据流队列中不含虚比特,因此对各数据比特的解比特收集输出的处理也为直接拷贝,得到三个交织数据流,三者的数据长度等同。
S15,根据子块交织时的预设算法和列间置换所对应的算法,分别对各交织数据流进行解子块交织处理,得到对应于各交织数据流的卷积编码后的数据子块。
其中,预设算法为上述速率匹配方法的实施例中,进行交织矩阵的列变换时,所使用的算法,用于在解速率匹配过程中反向计算子块交织过程中,列间置换后及列变换前的第一矩阵的各列值,以实现解列变换。可以确定子块交织过程中列间置换后的第一矩阵所对应的各数据比特的序号。列间置换所对应的算法是指子块交织时所使用的列间置换规则对应的算法,其包含着各数据比特经过子块交织器进行交织处理时,输入的数据比特和输出的数据比特之间的关系,用于在解速率匹配过程中根据交织数据流中各输入数据比特来反向确定各输入数据比特,也即得到速率匹配前的各数据子块中的各数据比特。
具体的,在解比特收集后,将虚拟环形数据流队列分拆回三个交织数据流,进而,按照子块交织时使用的预设算法进行解列变换,再按照列间置换所对应的算法进行解列间置换,得到与子块交织前的各个数据比特,从而得到卷积编码的各数据子块,用于传输信道的解编码。例如,按速率匹配时输入和输出比特的置换关系:y(m)=x(n);n是连续的序列号(由各个数据比特的序号组成),m是通过列间置换的算法和预设算法确定的序列号。x是子块交织器的输入,即对应于子块交织前按行输入的各数据比特。y是子块交织器的输出,即对应于子块交织后输出的交织数据流中的各数据比特。根据子块交织时的置换关系进行逆变换,即为:x(m)=y(n);y是解交织子块的输入,x是解交织子块的输出。可输出连续的不带NULL比特的数据比特流,即完成解速率匹配。
上述解速率匹配方法,在基于卷积编码的解速率匹配过程中,通过按照速率匹配方法的流程进行逆向处理,完成卷积编码的解速率匹配。由于虚拟环形数据流队列中已不再包含虚比特,而是在解比特收集和解交织等过程中直接按照子块交织器的输入和输出关系进行逆向换算,得到各个数据子块。因此,在保证解列间交织的方便性同时,省去了解比特选择、解比特收集和解交织等过程中对虚比特的判断、解打孔和去除等处理,大大提高了基于卷积编码方式的解速率匹配处理效率。
应该理解的是,虽然图2和6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。需要说明的是,上述的速率匹配方法或解速率匹配方法的各个步骤,均可以由基站中负责速率匹配或解速率匹配处理的处理器来具体执行。
请参阅图7,在一个实施例中,提供了一种速率匹配装置100,包括矩阵确定模块12、置换处理模块14、交织输出模块16、比特收集模块18和数据输出模块20,其中:矩阵确定模块12用于确定卷积编码后的各数据子块分别对应的各第一矩阵;第一矩阵中各虚比特对应的数据段位于末行末尾位置。置换处理模块14用于分别对各第一矩阵进行列间置换,根据预设算法对列间置换后的各第一矩阵进行列变换,得到各第二矩阵。交织输出模块16用于分别根据各第二矩阵的列值与数据流比特数,按列输出各第二矩阵中的各数据比特,得到过滤各虚比特后对应于各数据子块的各交织数据流;其中,数据比特为数据子块中卷积编码后的传输数据对应的比特,数据流比特数为数据子块中数据比特的总数量。比特收集模块18用于对各数据子块的交织数据流进行比特收集,得到虚拟环形数据流队列。数据输出模块20用于根据空口资源对应的承载比特值,对虚拟环形数据流队列进行比特选择,得到卷积编码传输数据。
上述速率匹配装置100,在基于卷积编码的速率匹配过程中,通过在进行子块交织前,先将原来填入到交织矩阵上的首行各虚比特移至末行末尾位置,并相应地将各数据比特前移,再对比特移位后的交织矩阵进行列间置换处理,以及按预设算法进行列变换得到第二矩阵。然后根据第二矩阵的列值和数据流比特数,以按列输出的方式得到子块交织的输出数据流,从而进行比特收集、比特选择等处理完成速率匹配。由于子块交织所输出的数据流已不再包含虚比特,因此,在保证列间交织的方便性同时,省去了后续比特收集、比特选择等过程中对虚比特的判断、打孔等处理,大大提高了基于卷积编码方式的速率匹配处理效率。
在一个实施例中,上述的置换处理模块14包括列计算子模块和变换处理子模块,列计算子模块用于分别根据列间置换后的各第一矩阵的列值和总列数,以及数据流比特数进行求余运算,确定各第一矩阵经过列变换后的各列值。变换处理子模块用于分别根据各列值对列间置换后的各第一矩阵进行列变换,得到各第二矩阵。
在一个实施例中,矩阵确定模块12具体用于分别在各待交织矩阵中,将各虚比特对应的数据段从首行头部位置移动至末行末尾位置,得到各第一矩阵;其中,待交织矩阵为向子块交织器中先填入各虚比特后,在各虚比特对应的数据段后填入数据子块的各数据比特形成的矩阵。
在一个实施例中,上述的列计算子模块在确定第二矩阵的各列值时,可以通过以下运算公式得到:
P′(n)=(P(n)+(N mod 32))mod 32
其中,P′(n)表示第二矩阵的第n列的列值,
表示第一矩阵的最大列值,如32;P(n)表示列间置换后的第一矩阵的第n列的列值,N表示数据流比特数,mod表示求余函数符号。
在一个实施例中,交织输出模块16在根据第二矩阵的列值与数据流比特数,按列输出第二矩阵的各数据比特时,具体可以用于在第二矩阵的任一列的列值大于或等于数据流比特数与第一矩阵的最总列数的余数时,在任一列从上至下依次输出S1个数据比特;其中:
以及用于在第二矩阵的任一列的列值小于数据流比特数与第一矩阵的最总列数的余数时,在任一列从上至下依次输出S
2个数据比特;其中,
关于速率匹配装置100的具体限定可以参见上文中对于速率匹配方法的限定,在此不再赘述。上述速率匹配装置100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图8,在一个实施例中,提供了一种解速率匹配装置200,包括解选择模块11、解收集模块13和解交织模块15,其中:解选择模块11用于对接收到的卷积编码传输数据进行解比特选择,得到虚拟环形数据流队列。解收集模块13用于对虚拟环形数据流队列进行解比特收集,得到各数据子块分别对应的交织数据流。解交织模块15用于根据子块交织时的预设算法和列间置换所对应的算法,分别对各交织数据流进行解子块交织处理,得到对应于各交织数据流的卷积编码后的数据子块。
上述解速率匹配装置200,在基于卷积编码的解速率匹配过程中,通过按照速率匹配方法的流程进行逆向处理,完成卷积编码的解速率匹配。由于虚拟环形数据流队列中已不再包含虚比特,在解比特收集后的解子块交织过程中也无需添加虚比特,而是按照子块交织时的比特输入和输出关系进行反向换算完成解交织输出。因此,在保证解列间交织的方便性同时,省去了比特收集、比特选择等过程中对虚比特的位置判断、解打孔等处理,大大提高了基于卷积编码方式的解速率匹配处理效率。
在一个实施例中,提供了一种基站。该基站至少包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该基站的处理器用于提供计算和控制能力。该基站的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该基站的数据库用于存储速率匹配与解速率匹配的各类数据。该基站的网络接口用于与外部的用户终端或核心网设备通过网络连接通信。该计算机程序被处理器执行时以实现一种速率匹配方法或解速率匹配方法。
在一个实施例中,提供了一种基站,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:确定卷积编码后的各数据子块分别对应的各第一矩阵;第一矩阵中各虚比特对应的数据段位于末行末尾位置;分别对各第一矩阵进行列间置换,根据预设算法对列间置换后的各第一矩阵进行列变换,得到各第二矩阵;分别根据各第二矩阵的列值与数据流比特数,按列输出各第二矩阵中的各数据比特,得到过滤各虚比特后对应于各数据子块的各交织数据流;其中,数据比特为数据子块中卷积编码后的传输数据对应的比特,数据流比特数为数据子块中数据比特的总数量;对各数据子块的交织数据流进行比特收集,得到虚拟环形数据流队列;根据空口资源对应的承载比特值,对虚拟环形数据流队列进行比特选择,得到卷积编码传输数据。
或者,该处理器执行计算机程序时实现以下步骤:对接收到的卷积编码传输数据进行解比特选择,得到虚拟环形数据流队列;对虚拟环形数据流队列进行解比特收集,得到各数据子块分别对应的交织数据流;根据子块交织时的预设算法和列间置换所对应的算法,分别对各交织数据流进行解子块交织处理,得到对应于各交织数据流的卷积编码后的数据子块。
在一个实施例中,处理器执行计算机程序时还实现上述各实施例中速率匹配方法的子步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:确定卷积编码后的各数据子块分别对应的各第一矩阵;第一矩阵中各虚比特对应的数据段位于末行末尾位置;分别对各第一矩阵进行列间置换,根据预设算法对列间置换后的各第一矩阵进行列变换,得到各第二矩阵;分别根据各第二矩阵的列值与数据流比特数,按列输出各第二矩阵中的各数据比特,得到过滤各虚比特后对应于各数据子块的各交织数据流;其中,数据比特为数据子块中卷积编码后的传输数据对应的比特,数据流比特数为数据子块中数据比特的总数量;对各数据子块的交织数据流进行比特收集,得到虚拟环形数据流队列;根据空口资源对应的承载比特值,对虚拟环形数据流队列进行比特选择,得到卷积编码传输数据。
或者,该处理器执行计算机程序时实现以下步骤:对接收到的卷积编码传输数据进行解比特选择,得到虚拟环形数据流队列;对虚拟环形数据流队列进行解比特收集,得到各数据子块分别对应的交织数据流;根据子块交织时的预设算法和列间置换所对应的算法,分别对各交织数据流进行解子块交织处理,得到对应于各交织数据流的卷积编码后的数据子块。
在一个实施例中,计算机程序被处理器执行时还实现上述各实施例中速率匹配方法的子步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。