一种数据并行交织方法、终端设备及计算机存储介质与流程

文档序号:21693159发布日期:2020-07-31 22:15阅读:243来源:国知局
一种数据并行交织方法、终端设备及计算机存储介质与流程

本发明涉及无线通信技术领域,尤其涉及一种数据并行交织方法、终端设备及计算机存储介质。



背景技术:

在无线通信领域,信息经过信道之后,会产生连续长段误码的状态,导致解调出错。为了降低出错的概率,需要将连续长段误码拆分为断续短段误码,这样在信号解调时可以将这些断续短段误码恢复。交织是在不改变数据内容的前提下调整数据位置的方法,防止连续误码对解调的影响,解决了上述问题。交织一般遵循的规则是:将相邻比特变为不相邻比特,相邻的比特交替地出现在星座映射的高低位。但随着通信技术的发展,人们对数据速率的要求越来越高,串行编码、打孔、交织的处理速度并不尽人意,于是并行编码、打孔、交织应运而生。

如现有专利cn105577325a-一种应用于正交分频复用传输系统的并行交织器,该方案通过三级交织模块、总控模块实现数据的并行交织,每个级别的交织模块处理不同调制阶级的空间流,如第一级交织处理模块处理单个空间流的bpsk、qpsk的交织,第二级交织模块处理qam的交织;第三级交织处理多流的交织。为实现上述方案需要采用与调制阶数一致的ram数,在输出时还需要将所有ram的数据进行组合,灵活性不高。而且上述并行交织方法由于其流程繁琐,所以在实际运行中交织效率不高,不能兼容多种配置下的不同输入并行度、输出并行度和交织输出并行度。



技术实现要素:

本发明提供一种数据并行交织方法、终端设备及计算机存储介质,不仅能够兼容多种配置下的不同输入并行度、输出并行度和交织输出并行度,提高灵活性,而且能有效加快数据处理速率,减少发送延时。

为了解决上述技术问题,本发明提供了一种数据并行交织方法,包括:

根据预设的配置信息,确定存储ram写地址的rom1的首地址、存储ram读使能样式的rom2的首地址和处理单元所对应的数据并行信息;其中,所述数据并行信息包括:所述处理单元支持输入和输出的数据总量、待输入数据要求的输入并行度iu和待输出数据要求的输出并行度ov;iu、ov为正整数;

依次获取输入并行度为n的若干组待输入数据,并根据所述rom1的首地址,分别获得每组待输入数据对应的ram写地址,并依次将每组待输入数据写入ram组;其中,所述获取的待输入数据中的每一位数据在同一时钟周期内将存储到不同的ram中;n为大于等于iu的正整数;

在写入的数据达到所述数据总量后,根据所述rom2的首地址,分别获得每一组输出并行度为k的待输出数据所对应的ram读地址,顺序将每一组待输出数据读出;其中k为大于等于ov的正整数;

根据所述输出并行度ov,从每一组待输出数据中提取ov比特的有效数据。

作为上述方案的改进,所述依次获取输入并行度为n的若干组待输入数据,并根据所述rom1的首地址,分别获得每组待输入数据对应的ram写地址,并依次将每组待输入数据写入ram组,具体为:

从第一处理单元中依次获取输入并行度为n的若干组待输入数据,并通过第一计数器记录所述第一处理单元当前输入数据的数量,记为第一计数值;

根据所述第一计数值和所述rom1的首地址,分别获得每组待输入数据对应的ram写地址;

根据每组待输入数据对应的ram写地址,以k比特为基本存储单元,依次将每组待输入数据写入ram组。

作为上述方案的改进,在所述写入的数据达到所述数据总量后,还包括:

将从第二处理单元中获取的待输入数据写入乒乓结构的另一个ram组,并在所述第二处理单元的待输入数据写入完成之前,若所述第一处理单元的待输入数据仍未被读取完,则停止所述第二处理单元的待输入数据写入。

作为上述方案的改进,所述根据所述rom2的首地址,分别获得每一组输出并行度为k的待输出数据所对应的ram读地址,顺序将每一组待输出数据读出,具体为:

在开始数据读取时,通过第二计数器确定当前数据的输出数量,并记为第二计数值;

根据所述第二计数值和所述rom2的首地址,获得从ram读取的样式,从而确定读取的ram和ram读地址,顺序将每一组输出并行度为k的待输出数据读出。

作为上述方案的改进,所述n的值大于等于所有空间流数据所支持输入的最大并行度;所述k的值大于等于所有空间流数据所支持输出的最大并行度。

本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任意一项所述的数据并行交织方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任意一项所述的数据并行交织方法。

本发明的实施例,具有如下有益效果:

本发明提供了一种数据并行交织方法、终端设备及计算机存储介质,该方法通过配置信息确定存储ram写地址的rom1、存储ram读使能样式的rom2以及处理单元所对应的数据并行信息,在数据写入时,最大输入并行度为n的待输入数据中的每一位数据在同一时钟周期内将存储到不同的ram中,而且存储时以最大输出并行度k为基本存储单位,使得在读取时根据rom2的首地址,顺序将每一组待输出数据读出,最后根据待输出数据要求的输出并行度ov,从每组待输出数据中提取ov比特的有效数据,完成数据并行交织。相比于现有技术需要采用与调制阶数一致的ram数,本发明技术方案能够兼容多种配置下的不同输入并行度、输出并行度和交织输出并行度,提高灵活性,而且能有效加快数据处理速率,减少发送延时。

附图说明

图1是本发明提供的数据并行交织方法的一种实施例的流程示意图;

图2为本发明提供的数据并行交织方法的另一种实施例的流程框图;

图3为本发明提供的数据写入与读取的一种实施例的示意图;

图4至6为本发明提供的具体实例的数据写入示意图;

图7为本发明提供的终端设备的一个实施例的结构示意图。

具体实施方式

下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,图1是本发明提供的数据并行交织方法的一种实施例的流程示意图,如图1所示,该方法包括步骤101至步骤104,各步骤具体如下:

步骤101:根据预设的配置信息,确定存储ram写地址的rom1的首地址、存储ram读使能样式的rom2的首地址和处理单元所对应的数据并行信息。

在本实施例中,处理单元所对应的数据并行信息包括:该处理单元支持输入和输出的数据总量、待输入数据要求的输入并行度iu和待输出数据要求的输出并行度ov;iu、ov为正整数。若本发明的数据并行交织方法的执行主体为并行交织处理模块,则本文描述的处理单元可以但不限于为将待输入数据传递给并行交织处理模块的模块。

在本实施例中,步骤101具体为:根据配置信息,选取与空间流数据对应的用于存储ram写地址的rom1、以及用于存储ram读使能样式的rom2,从而确定rom1和rom2的首地址。其中,配置信息是根据实时配置的,如处理单元支持输入和输出的数据总量、待输入数据要求的输入并行度iu和待输出数据要求的输出并行度ov。

而输入并行度n的值大于等于所有空间流数据所支持输入的最大并行度。输出并行度k的值大于等于所有空间流数据所支持输出的最大并行度。即若各空间流支持的输入并行度为i1,i2,…iu,那么n≥max(i1,i2,…iu);若各空间流支持的输出并行度为o1,o2,…ov,那么k≥max(o1,o2,…ov)。

譬如:不同的配置信息要求的并行度不同,如配置信息1要求的输入并行度i1为8,输出并行度o1为10,且8=max(i1,i2,…iu),10=max(o1,o2,…ov),则可以取n=8,k=10,以保证交织处理模块能够兼容各种空间流数据的输入输出并行度要求。

步骤102:依次获取输入并行度为n的若干组待输入数据,并根据rom1的首地址,分别获得每组待输入数据对应的ram写地址,并依次将每组待输入数据写入ram组;其中,获取的待输入数据中的每一位数据在同一时钟周期内将存储到不同的ram中。

在本实施例中,步骤102具体为:从第一处理单元中依次获取输入并行度为n的若干组待输入数据,并通过第一计数器记录第一处理单元当前输入数据的数量,记为第一计数值;根据第一计数值和rom1的首地址,分别获得每组待输入数据对应的ram写地址;根据每组待输入数据对应的ram写地址,以k比特为基本存储单元,依次将每组待输入数据写入ram组。

在本实施例中,由于待输入数据要求的输入并行度为iu,需要先将数据iu从转换为并行度为n的数据,因此待输入数据中的有效数据位宽为iu。

在本实施例中,ram写地址预先存储在rom1中,该地址包含同一时钟周期内n比特数据的n个ram写地址(对应n个ram)。通过配置信息确定rom1寻址的首地址,根据第一计数器确定数据的ram写地址,将数据写入ram中。数据在ram的存放方法是:以k比特为基本存储单位,根据配置信息得到实际调制方式所对应的输出并行度ov(即p比特),将这p个比特放在这k个比特中的高位或低位。可见,本发明以最大输入并行度n作为一个时钟周期的输入单位,以最大输出并行度k作为写入ram的基本存储单位,最后以输出并行度ov作为有效数据的基本单元,实现数据读取,从而能够兼容不同并行度的数据输入和输出。

在本实施例中,一个ram组内有多片ram,能保证输入数据流内的n个比特数据同时存储,加快速率。

步骤103:在写入的数据达到所述数据总量后,根据rom2的首地址,分别获得每一组输出并行度为k的待输出数据对应的ram读地址,顺序将每一组的待输出数据读出。

在本实施例中,在第一计数值达到支持输入的数据总量后,即第一处理单元的待输入数据全部放进一个ram组后,开始进行数据读取。与此同时,另一个处理单元(第二处理单元)的待输入数据写入乒乓结构的另一个ram组,实现写入与读取的并行处理。在第二处理单元的输入数据写完这一ram组之前,若第一处理单元的待输入数据仍未被读取完,则停止第二处理单元的待输入数据写入。可见,本发明的技术方案设置多个ram组,在当前ram组存满之后,调用新的ram组处理下一个输入数据流,避免延时。

在本实施例中,步骤103具体为:在开始数据读取时,通过第二计数器确定当前数据的输出数量,并记为第二计数值;根据第二计数值和rom2的首地址,获得从ram读取的样式,从而确定读取的ram和ram读地址,顺序将每一组输出并行度为k的待输出数据读出。

步骤104:根据输出并行度ov,从每一组待输出数据中提取ov比特的有效数据。

为了更好的说明本发明的技术方案,参见图2至图3,图2是本发明提供的数据并行交织方法的另一种实施例的流程框图。图3是本发明提供的数据写入与读取的示意图。本发明的方法可以适配多种输入并行度、多种输出并行度以及多种空间流。如图2所示,本发明将前级并行编码和并行打孔输出的数据(m比特),根据配置信息转换为相应并行度的数据(n比特)。前级并行编码和打孔输出由图2的比特位宽转换模块执行,该转换模块可以等价为本发明所述的处理单元,其主要作用是将长段数据划分为固定规模的数据段,方便模块化处理。并行交织处理模块进行处理将数据(n比特)转换为输出并行度的数据(k比特)。输出数据处理模块会将k比特数据处理为:根据配置信息得到的p比特数据。并行度选取的原则是:根据配置信息得到一组数据比特的每一位在同一时钟周期内将存储到不同的ram中,即同一时钟周期内的几个比特不会同时写入同一片ram中,从而得出相应的并行度。

本发明通过参数选取不同的rom1和rom2,不同的rom1中存放不同空间流的ram写地址,不同的rom2中存放不同空间流的ram读使能,适配多种空间流,详细如图3所示。

下面举两个实例来说明本发明的数据处理过程:

(1)根据配置信息确定一个处理单元的数据量为48bits,调制方式为bpsk(调制阶数为1)。而并行交织处理模块的最大输入数据位宽为n=13,最大输出数据位宽为k=10,再根据配置信息得到输入数据并行度iu为8bits,而实际采用输出数据位宽为ov=p=1,则数据写入ram的示意图如图4所示。

(2)根据配置信息确定一个处理单元数据量为192bits,调制方式为16qam(调制阶数为4)。而并行交织处理模块的最大输入数据位宽为n=13,最大输出数据位宽为k=10。再根据配置信息得到输入数据并行度iu为8bits,而实际采用输出数据位宽为ov=p=4,则数据写入ram的示意图如图5和图6所示。

由上可见,本发明提供的数据并行交织方法不仅能有效加快处理速率,减少发送延时,而且可以兼容多种配置下的不同输入并行度和交织并行度、兼容多种配置下的不同调制阶数和输出并行度、适配多种空时流上的交织流程,提高灵活性。

参见图7是本发明提供的终端设备的一个实施例的结构示意图。

本发明实施例提供的一种终端设备,包括处理器71、存储器72以及存储在所述存储器72中且被配置为由所述处理器71执行的计算机程序,所述处理器71执行所述计算机程序时实现如上任一实施例所述的数据并行交织方法。

另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任一实施例所述的帧聚合方法。

所述处理器71执行所述计算机程序时实现上述数据并行交织方法在实施例中的步骤,例如图1所示的数据并行交织方法的所有步骤。

所述终端设备可包括,但不仅限于,处理器71、存储器72。本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器71可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器71是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。

所述存储器72可用于存储所述计算机程序和/或模块,所述处理器71通过运行或执行存储在所述存储器72内的计算机程序和/或模块,以及调用存储在存储器72内的数据,实现所述终端设备的各种功能。所述存储器72可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

本领域普通技术人员可以理解实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1