发明内容
本发明实施例提供一种速率匹配方法及装置,用以解决现有技术中存在的比特序列对缓存区存储空间的需求量较大,以及执行对哑元删除的操作导致整个速率匹配过程效率较低的问题。
本发明实施例采用以下技术方案:
一种速率匹配方法,包括:分别确定信道编码器输出的各个比特序列的长度,并根据确定的长度和预设的数据矩阵列数,将各个比特序列转换为相应的数据矩阵;利用预设的交织图样,分别对转换得到的各个数据矩阵进行交织,并将交织后的各个数据矩阵分别转换为交织后的各个比特序列;识别交织后的各个比特序列中包含的有效数据,并将识别出的有效数据存储到缓存区;以及根据预设的物理信道所能支持的比特序列长度所包含的有效数据个数,从缓存区中读取所述个数的有效数据进行传输。
较佳地,分别对转换得到的各个数据矩阵进行并行交织。
较佳地,将识别出的有效数据存储到缓存区具体包括:根据识别出的各个比特序列中的有效数据,确定有效数据构成的各个有效比特序列的长度;根据各个有效比特序列的长度,从所述缓存区中分别确定存储有效比特序列的各个存储地址;将各个有效比特序列并行存储到确定的各个存储地址指示的存储空间中。
较佳地,方法还可以包括:确定哑元在交织后的各个比特序列中的位置信息,并根据所述位置信息、以及从所述缓存区中读取数据的预设第一起始位置信息和第一循环结束位置信息,确定从所述缓存区中读取有效数据的第二起始位置信息和第二循环结束位置信息;以及根据预设的物理信道所能支持的比特序列长度所包含的有效数据个数,从缓存区中读取所述个数的有效数据进行传输,具体为:以所述第二起始位置信息指示的存储地址中存储的有效数据作为读取的第一个有效数据,以所述第二循环结束位置信息指示的存储地址中存储的有效数据作为读取的最后一个有效数据,从所述第一个有效数据开始,从所述缓存区中顺序读取有效数据进行传输;比较读取的有效数据的个数与所述预设的物理信道所能支持的比特序列长度所包含的有效数据个数;在比较结果为读取的有效数据的个数小于所述预设的物理信道所能支持的比特序列长度所包含的有效数据个数时,按照以所述缓存区的起始地址中存储的有效数据作为一次循环读取过程中读取的第一个有效数据,以所述第二循环结束位置信息指示的存储地址中存储的有效数据作为一次循环读取过程中读取的最后一个有效数据的方式,从所述缓存区中按顺序依次循环读取有效数据进行传输,直至读取的有效数据的总个数与所述预设的物理信道所能支持的比特序列长度所包含的有效数据个数一致;在比较结果为读取的有效数据的个数等于所述预设的物理信道所能支持的比特序列长度所包含的有效数据个数时,停止对有效数据的读取。
较佳地,从缓存区中读取所述个数的有效数据进行传输具体为:将读取的所述个数的有效数据拼接成多个符合预设比特序列长度的比特序列进行并行传输。
一种速率匹配装置,包括:长度确定单元,用于分别确定信道编码器输出的各个比特序列的长度;转换单元,用于根据预设的数据矩阵列数和长度确定单元确定的长度,将各个比特序列转换为相应的数据矩阵;交织单元,用于利用预设的交织图样,分别对转换单元转换得到的各个数据矩阵进行交织,并将交织后的各个数据矩阵分别转换为交织后的各个比特序列;存储单元,用于识别交织单元得到的交织后的各个比特序列中包含的有效数据,并将识别出的有效数据存储到缓存区;传输单元,用于根据预设的物理信道所能支持的比特序列长度所包含的有效数据个数,从存储单元存储到缓存区中的有效数据中读取所述个数的有效数据进行传输。
较佳地,所述交织单元具体用于分别对转换得到的各个数据矩阵进行并行交织。
较佳地,所述存储单元具体包括:识别模块,用于识别交织单元得到的交织后的各个比特序列中包含的有效数据;长度确定模块,用于根据识别模块识别出的各个比特序列中的有效数据,确定有效数据构成的各个有效比特序列的长度;地址确定模块,根据长度确定模块确定的各个有效比特序列的长度,从所述缓存区中分别确定存储有效比特序列的各个存储地址;存储模块,用于将各个有效比特序列并行存储到地址确定模块确定的各个存储地址指示的存储空间中。
较佳地,该装置还包括:第一确定单元,用于确定哑元在交织后的各个比特序列中的位置信息;第二确定单元,用于根据第一确定单元确定的位置信息、从所述缓存区中读取数据的预设第一起始位置信息和第一循环结束位置信息,确定从所述缓存区中读取有效数据的第二起始位置信息和第二循环结束位置信息;以及所述传输单元具体包括:第一传输模块,用于以第二确定单元确定的第二起始位置信息指示的存储地址中存储的有效数据作为读取的第一个有效数据,以所述第二循环结束位置信息指示的存储地址中存储的有效数据作为读取的最后一个有效数据,从所述第一个有效数据开始,从所述缓存区中依次顺序读取有效数据进行传输;比较模块,用于比较第一传输模块读取的有效数据的个数与所述预设的物理信道所能支持的比特序列的有效数据个数;第二传输模块,用于在比较模块得到的比较结果为第一传输模块读取的有效数据的个数小于所述预设的物理信道所能支持的比特序列的有效数据个数时,按照所述缓存区的起始地址中存储的有效数据作为一次循环读取过程中读取的第一个有效数据,以所述第二循环结束位置信息指示的存储地址中存储的有效数据作为一次循环读取过程中读取的最后一个有效数据的方式,从所述缓存区中按顺序依次循环读取有效数据进行传输,直至第一传输模块与第二传输模块读取的有效数据的总个数与所述预设的物理信道所能支持的比特序列长度所包含的有效数据个数一致;停止读数执行模块,用于在比较模块得到的比较结果为读取的有效数据的个数等于所述预设的物理信道所能支持的比特序列长度所包含的有效数据个数时,停止所述装置对有效数据的读取。
较佳地,所述传输单元具体用于将读取的所述个数的有效数据拼接成多个符合预设比特序列长度的比特序列进行并行传输。
本发明实施例的有益效果如下:
本发明实施例通过识别交织后的各个比特序列中的有效数据,并将有效数据进行存储,从而通过省略了对哑元进行存储的操作,解决了现有技术中存在的比特序列对缓存区存储空间的需求量较大的问题,同时,由于本发明实施例提供的方案没有将哑元存储到缓存区中,因此后续在对有效数据进行读取时,无需再执行对哑元的删除操作,因此提高了速率匹配过程的效率。
具体实施方式
在背景技术中已提到,在现有技术中,在将交织后的比特序列存储到缓存区时,会对有效数据和对比特序列进行交织时所设置的哑元一并进行存储,因此这就导致后续在从缓存区中读取有效数据时,还需要对读取的比特序列执行删除哑元的操作,从而导致整个速率匹配过程的效率较低。针对现有技术中存在的上述问题,申请人通过研究发现,由于在速率匹配过程中引入哑元的目的仅在于对比特序列转换为的数据矩阵进行补位,而速率匹配过程的其他步骤中将不会再利用到哑元,也就是说,在速率匹配过程中执行存储哑元以及后续在读取有效数据时执行对哑元的删除操作只会增大整个速率匹配过程中的资源开销,而不会影响速率匹配过程的有效实施,因此,申请人考虑在对比特序列进行存储时,只对有效数据进行存储而不对哑元进行存储,这样既能够减少对缓存区存储空间的需求,又能够避免在对有效数据进行读取时需执行删除哑元的操作而导致速率匹配过程效率较低的问题。
为此,本发明实施例首先提供一种速率匹配方法,用以解决现有技术中存在的比特序列对缓存区存储空间的需求量较大,以及执行对哑元删除的操作导致整个速率匹配过程效率较低的问题,该方法的具体流程示意图如图2a所示,包括以下步骤:
步骤21,分别确定信道编码器输出的各个比特序列的长度,并根据确定的长度和预设的数据矩阵列数,将各个比特序列转换为相应的数据矩阵,比如,若信道编码器输出的一个比特序列的长度为32,预设的数据矩阵列数为32,那么可以将该比特序列转换为一个1行32列共包含32个元素的数据矩阵,该数据矩阵中每个元素可以用于表示比特序列中一个比特的数据,而若信道编码器输出的一个比特序列的长度为33,则根据该预设的数据矩阵列数32,可以将该长度为33的比特序列转换为一个2行32列共包含32×2个元素的数据矩阵,由于该长度为33的比特序列中包含的有效数据只对应32×2个元素中的33的元素,因此,该矩阵第1行第1列的元素至第1行第31列的元素可以设置为哑元,而第1行第32列的元素至第2行第32列的元素则为有效数据,需要说明的是,在如图1所示的现有技术中,在将比特序列转换为数据矩阵时,首先要通过并/串转换器将多个并行传输的比特序列转换为一个串行传输的比特序列,考虑到这样的“并/串”转换操作会耗费一定的处理时间与资源,本发明实施例中,可以不对多个并行传输的比特序列进行“并/串”转换,而可以直接执行将多个并行传输的比特序列并行转换为数据矩阵;
步骤22,利用预设的交织图样,分别对转换得到的各个数据矩阵进行交织,并将交织后的各个数据矩阵分别转换为交织后的各个比特序列,在本发明实施例中,若考虑到提高速率匹配的效率,在对转换得到的各个数据矩阵进行交织时,可以采用并行交织的方式,实现对转换得到的各个数据矩阵并行的交织,从而得到交织后的各个数据矩阵;
步骤23,识别交织后的各个比特序列中的有效数据元,并将识别的各个比特序列中的有效数据存储到缓存区,在本发明实施例中,可以直接将识别出的各个比特序列中的有效数据存储到缓存区中,也可以先针对交织后的各个比特序列确定相应的存储地址后,再将有效数据存储到确定的相应的存储地址指示的存储空间中,具体地,在对有效数据进行存储时,可以先根据交织后的各个比特序列中的有效数据,确定有效数据构成的各个有效比特序列的长度,然后,再根据各个有效比特序列的长度,从缓存区中分别确定存储有效比特序列的各个存储地址,最后,再将各个有效比特序列并行存储到确定的各个存储地址指示的存储空间中;
步骤24,根据预设的物理信道所能支持的比特序列长度所包含的有效数据个数,从缓存区中读取所述个数的有效数据进行传输,具体地,可以采用串行传输的方式,将读取的有效数据进行串行传输,也可以采用并行传输的方式,将读取的有效数据拼接成多个符合预设比特序列长度的比特序列进行并行传输。
根据本发明实施例提供的该方法可以看出,与现有技术中不区分有效数据与哑元,而直接对有效数据和哑元一并进行存储的方案相比,由于本发明实施例提供的方案在对比特序列进行存储时,通过对有效数据的识别,只将有效数据存储到缓存区中,省略了将哑元存储到缓存区中的操作,从而采用本发明实施例提供的该方法能够减小在对比特序列进行存储时对缓存区的需求,并且,由于没有将哑元存储到缓存区中,因此,后续在对缓存区内的有效数据进行读取时,无需再执行对哑元进行删除的操作,从而能够简化速率匹配流程,提高速率匹配的效率,降低速率匹配流程的复杂度,同时,在本发明实施例中,还可以采用将信道编码器并行输出的各个比特序列并行转换为数据矩阵的方式,以及对转换得到的各个数据矩阵进行并行交织的方式,从而可以进一步提高速率匹配过程的效率。此外,前文提到哑元对于整个速率匹配过程的作用仅在于对数据矩阵进行补位,而对后续的有效数据的存储和读取只会产生浪费处理资源的效果,因此,本发明实施例中对哑元不进行存储的方案不会影响速率匹配过程的有效实现。
另一方面,由于本发明实施例提供的该方案在速率匹配过程中省略了对哑元的存储、删除的处理,因此,整个速率匹配过程的时间较小,比特序列的处理吞吐率较高,逻辑电路资源的占用量也较小。
此外,根据现行协议(3GPP TS 36.212 V8.6.0第5.1.4.1.2节),在从缓存区中读取数据时,需要指定读取数据的第一起始位置信息和第一循环结束位置信息,从而在读取数据时,可以按照循环读取第一起始位置信息与第一循环结束位置信息所共同指示的存储空间中存储的数据的方式,循环对数据进行读取,直至读取的有效数据拼接成预设的物理信道所能支持的比特序列长度的比特序列。然而,现有技术中指定的该第一起始位置信息和第一循环结束位置信息是针对对哑元进行了存储的情况,而本发明实施例中,由于在存储比特序列时,不再对哑元进行存储,因此,当需要指定读取数据的第一起始位置信息和第一循环结束位置信息时,还需要对指定的这两个信息进行转化。具体地,在本发明实施例中,可以对哑元在交织后的各个比特序列中的位置信息进行确定,并根据确定的位置信息以及从缓存区中读取数据的预设第一起始位置信息和第一循环结束位置信息,确定从缓存区中读取有效数据的第二起始位置信息和第二循环结束位置信息,比如,假设按照现有技术提供的比特序列的存储方案,缓存区中存储的部分比特序列如图2b所示,该图2b中,第3个存储地址对应的存储空间所存储的数据为哑元,若当前的第一起始位置信息所指示的存储地址恰好为哑元所在存储空间的存储地址,则在现有技术中,在读取数据时,会自动地以该哑元的下一存储地址即“3”这个数据所在的存储空间的存储地址信息作为该第一起始位置信息,假设第一循环结束位置信息为“5”所在的存储空间的存储地址,则在一次循环中,需要从第四个存储地址开始,一直读取到“5”所在的第六个存储地址指示的存储空间,因此依次读取的有效数据为“3”、“4”、“5”;而在本发明实施例中,由于缓存区中已没有存储哑元,因此,缓存区中存储的该部分比特序列应该如如图2c所示,在图2c中,由于第三个存储地址中没有存储哑元,因此应该以表2中位于第三个存储地址指示的存储空间中的“3”作为读取的第一个数据,而而根据本发明实施例提供的方案,则应该是以第三个存储地址开始(当前的第三个存储地址即为第二起始位置信息所指示的存储地址),一直读取到第五个存储地址(当前的第五个存储地址即为第二循环结束位置信息所指示的存储地址),因此读取到的有效数据也为“3”、“4”、“5”。
在确定出第二起始位置信息和第二循环结束位置信息后,从缓存区中读取有效数据拼接成预设的物理信道所能支持的比特序列长度的比特序列具体可以为:以第二起始位置信息指示的存储地址中存储的有效数据作为读取的第一个有效数据,以第二循环结束位置信息指示的存储地址中存储的有效数据作为读取的最后一个有效数据的方式,从第一个有效数据开始,从缓存区中按顺序依次读取有效数据;比较读取的有效数据的个数与预设的物理信道所能支持的比特序列长度所包含的有效数据个数;在比较结果为读取的有效数据的个数小于所述预设的物理信道所能支持的比特序列长度所包含的有效数据个数时,按照以缓存区中的起始地址中存储的有效数据作为一次循环读取过程中读取的第一个有效数据,以第二循环结束位置信息指示的存储地址中存储的有效数据作为一次循环读取过程中读取的最后一个有效数据的方式,从缓存区中按顺序依次循环读取有效数据进行传输,直至读取的有效数据的总个数与所述预设的物理信道所能支持的比特序列长度所包含的有效数据个数一致;而在比较结果为读取的有效数据的个数等于所述预设的物理信道所能支持的比特序列长度所包含的有效数据个数时,停止对有效数据的读取。
以下以本发明实施例提供的该方法在实际中的应用为例,详细说明本发明实施例提供的该方案的实际应用流程,在实际应用中,可以利用如图3所示的装置,实现对信道编码器输出的并行比特序列进行速率匹配。
在图3中,并行输出的比特序列包括系统比特流、检验比特流0、检验比特流1,该些并行输出的比特序列可以输出到图中的并行交织输入控制器中,该并行交织输入控制器的作用主要有三个:
一、分别确定信道编码器输出的各个比特序列的长度K(一般地,K的范围为44到6184),并根据确定的长度K和预设的数据矩阵列数NULL,将各个比特序列并行转换为相应的数据矩阵,以及利用预设的交织图样,对转换得到的各个数据矩阵进行并行交织,得到交织后的各个数据矩阵,并将交织后的各个数据矩阵分别转换为交织后的各个比特序列;
二、并行交织输入控制器还可以用于根据交织后的各个比特序列中的有效数据,确定有效数据构成的各个有效比特序列的长度,并根据各个有效比特序列的长度,从图中的“循环缓冲区分布式RAM组”(即本发明实施例中所述的缓存区)中分别确定存储有效比特序列的各个存储地址;
三、并行交织输入控制器还可以进一步用于确定哑元在交织后的各个比特序列中的位置信息,并根据哑元的位置信息以及缓存区中读取数据的预设第一起始位置信息k0和第一循环结束位置信息Ncb,确定从缓存区中读取有效数据的第二起始位置信息k1和第二循环结束位置信息Nncb。
在并行交织输入控制器对比特序列进行上述处理后,就可以由并行输出控制器根据预设的物理信道所能支持的比特序列长度E,从缓存区中读取有效数据拼接成各个长度分别为E的比特序列,特别地,当协议指定了k0和Ncb时,并行交织输入控制器还可以具体根据并行交织输入控制器确定的k1和Nncb来确定需进行读取的数据,并对确定的数据进行循环读取。在对数据进行循环读取的同时,需要进行并行的有效数据拼接,将读取的数据并行拼接成长度为E的各个比特序列后进行输出。
以下结合附图4,详细说明基于如图3所示的各装置进行速率匹配的具体流程,可以包括以下步骤:
步骤41,信道编码器输出并行比特序列到并行交织输入控制器;
步骤42,并行交织输入控制器根据各个比特序列的长度K以及预设的数据矩阵列数NULL,执行对数据矩阵行数的计算,并将各个比特序列并行转换为相应的数据矩阵,以及利用预设的交织图样,对转换得到的各个数据矩阵进行并行交织,得到交织后的各个数据矩阵,并将交织后的各个数据矩阵分别转换为交织后的各个比特序列,同时,并行交织输入控制器还可以计算出有效数据的并行交织地址;并行交织输入控制器根据交织后的各个比特序列中的有效数据,确定有效数据构成的各个有效比特序列的长度,并根据各个有效比特序列的长度,从图中的“循环缓冲区分布式RAM组”(即本发明实施例中所述的缓存区)中分别确定存储有效比特序列的各个存储地址,并将有效数据写入到循环缓冲区分布式RAM组中,同时,并行交织输入控制器还可以确定k1和循环结束位置Nncb;
步骤43,并行交织输入控制器实时将有效数据写入到对应的RAM组中,并检测有效数据是否存储完毕,当将有效数据存储完毕时,执行步骤44,否则,继续执行步骤43中将有效数据写入到循环缓冲区分布式RAM组中的操作;
步骤44,并行输出控制器根据k1和Nncb确定从循环缓冲区分布式RAM组读取有效数据时的地址信息,并依次读取有效数据;
步骤45,根据预设的并行输出比特序列的长度,将读取到的有效数据拼接成该预设的并行输出比特序列的长度的多个比特序列进行并行输出;
步骤46,判断步骤45中输出的并行输出的比特序列的总长度是否与预设的物理信道所能支持的比特序列长度E相匹配,在判断结果为时是,产生速率匹配停止标志,并执行停止对有效数据读取的操作,流程结束,而在判断结果为否时,继续执行步骤44。
具体地,本发明实施例提供的速率匹配方法的简化流程示意图还可以如图5所示。比较现有技术中采用的如图1所示的对比特序列进行速率匹配的示意图与本发明实施例提供的速率匹配方法的示意图可知,由于本发明实施例提供的该方案能够对比特序列进行并行处理(包括将比特序列并行转换为数据矩阵、并行对数据矩阵进行交织、对读取的有效数据进行并行拼接等),因此可以大大提高速率匹配的效率。
本发明实施例还提供一种速率匹配装置,该装置的具体结构示意图如图6所示,包括以下功能单元:
长度确定单元61,用于分别确定信道编码器输出的各个比特序列的长度;
转换单元62,用于根据预设的数据矩阵列数和长度确定单元61确定的长度,将各个比特序列转换为相应的数据矩阵;
交织单元63,用于利用预设的交织图样,分别对转换单元62转换得到的各个数据矩阵进行交织,并将交织后的各个数据矩阵分别转换为交织后的各个比特序列;
存储单元64,用于识别交织单元63得到的交织后的各个比特序列中包含的有效数据,并将识别出的有效数据存储到缓存区;
传输单元65,用于根据预设的物理信道所能支持的比特序列长度所包含的有效数据个数,从存储单元64存储到缓存区中的有效数据中读取所述个数的有效数据进行传输。
较佳地,交织单元可以具体用于分别对转换得到的各个数据矩阵进行并行交织。
较佳地,对应于存储单元功能的一种实现方式,可以将存储单元具体划分为:识别模块,用于识别交织单元得到的交织后的各个比特序列中包含的有效数据;长度确定模块,用于根据识别模块识别出的各个比特序列中的有效数据,确定有效数据构成的各个有效比特序列的长度;地址确定模块,根据长度确定模块确定的各个有效比特序列的长度,从所述缓存区中分别确定存储有效比特序列的各个存储地址;存储模块,用于将各个有效比特序列并行存储到地址确定模块确定的各个存储地址指示的存储空间中。
较佳地,本发明实施例提供的该装置还可以包括:第一确定单元,用于确定哑元在交织后的各个比特序列中的位置信息;第二确定单元,用于根据第一确定单元确定的位置信息、从缓存区中读取数据的预设第一起始位置信息和第一循环结束位置信息,确定从缓存区中读取有效数据的第二起始位置信息和第二循环结束位置信息;以及传输单元具体可以包括:
第一传输模块,用于以第二确定单元确定的第二起始位置信息指示的存储地址中存储的有效数据作为读取的第一个有效数据,以第二循环结束位置信息指示的存储地址中存储的有效数据作为读取的最后一个有效数据,从第一个有效数据开始,从缓存区中依次顺序读取有效数据进行传输;比较模块,用于比较第一传输模块读取的有效数据的个数与所述预设的物理信道所能支持的比特序列的有效数据个数;第二传输模块,用于在比较模块得到的比较结果为第一传输模块读取的有效数据的个数小于预设的物理信道所能支持的比特序列的有效数据个数时,按照缓存区的起始地址中存储的有效数据作为一次循环读取过程中读取的第一个有效数据,以第二循环结束位置信息指示的存储地址中存储的有效数据作为一次循环读取过程中读取的最后一个有效数据的方式,从缓存区中按顺序依次循环读取有效数据进行传输,直至第一传输模块与第二传输模块读取的有效数据的总个数与预设的物理信道所能支持的比特序列长度所包含的有效数据个数一致;停止读数执行模块,用于在比较模块得到的比较结果为读取的有效数据的个数等于预设的物理信道所能支持的比特序列长度所包含的有效数据个数时,停止该速率匹配装置对有效数据的读取操作。
此外,为了提高传输效率,传输单元还可以用于将读取的所述个数的有效数据拼接成多个符合预设比特序列长度的比特序列进行并行传输。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。