CN101783719A - 一种速率匹配和解速率匹配方法、装置和通信系统 - Google Patents
一种速率匹配和解速率匹配方法、装置和通信系统 Download PDFInfo
- Publication number
- CN101783719A CN101783719A CN 201010130214 CN201010130214A CN101783719A CN 101783719 A CN101783719 A CN 101783719A CN 201010130214 CN201010130214 CN 201010130214 CN 201010130214 A CN201010130214 A CN 201010130214A CN 101783719 A CN101783719 A CN 101783719A
- Authority
- CN
- China
- Prior art keywords
- data
- piece
- rate
- sub
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明实施例公开了一种速率匹配和解速率匹配方法、装置和通信系统。本发明实施例采用根据子块交织矩阵中的列将待解速率匹配/速率匹配数据进行分段,根据分段的情况计算分段数据对应的寻址参数,根据分段数据对应的寻址参数将待解速率匹配/速率匹配数据逐段直接写入/搬出子块的缓存单元(Buffer),与现有技术中在解速率匹配时需要先写入循环Buffer,然后再写入子块Buffer,以及在速率匹配时需要先写入循环Buffer,然后再写入第一Buffer的方案相比,可以减少中间经过循环Buffer的环节,简化了解速率匹配/速率匹配的过程。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种速率匹配和解速率匹配方法、装置和通信系统。
背景技术
LTE的速率匹配过程,主要包括子块交织操作和重复打孔操作。其中,子块交织操作,目的在于将传输过程中的连续错误分散化,提高译码的纠错能力,而重复打孔操作则为了将数据编码后的速率调整至空中接口的速率;解速率匹配过程则是速率匹配的逆过程,即包括子快解交织和去重复去打孔操作。
以解速率匹配为例,现有技术中,解速率匹配过程主要包括以下步骤:
步骤1、将循环缓存单元(Buffer)清0,并标示出空(Null)元素的位置;
步骤2、将待处理数据从原始Buffer读出,并从循环Buffer内的某个地址开始写入循环Buffer,在写入之前,需要根据步骤1中对Null元素所作的标示判断待写入地址所对应的元素是否为Null元素,如果为Null元素,则跳过这个地址,否则写入;另外,还需要判断待写入地址所对应的元素是否存在循环编码,如果存在循环编码,则表明已经有数据写入了该地址所对应的位置,此时需要将已写入的数据和新的待处理数据合并后,重新写入该地址所对应的位置。
步骤3、计算子块Buffer中每个元素在循环Buffer中的地址,根据地址,将这些数据读出并存入子块Buffer。
其中,这里所说的元素对应着子块交织矩阵中的一个矩阵元素,一个元素可以包括n个数据,n为大于等于1的整数。
速率匹配为解速率匹配的逆过程,在此不再赘述。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术的速率匹配或解速率匹配过程较为繁琐,比如需要对数据进行两次缓存(即写入循环Buffer后,再写入子快Buffer),在将数据写入循环Buffer时需要对每个元素是否为NULL元素进行判断,在将数据从循环Buffer写入到子块Buffer时,需要为每个元素计算地址,等等。
发明内容
本发明实施例提供一种速率匹配和解速率匹配方法、装置和通信系统,可以简化速率匹配或解速率匹配的过程。
一种解速率匹配方法,包括:
根据子块交织矩阵中的列将待解速率匹配数据进行分段;
根据分段的情况计算分段数据对应的寻址参数;
对子块的缓存单元进行清零操作;
根据分段数据对应的寻址参数将待解速率匹配数据,逐段写入子块的缓存单元。
一种速率匹配方法,包括:
根据子块交织矩阵中的列将各个子块缓存单元中的待速率匹配数据进行分段;
根据分段的情况计算分段数据对应的寻址参数;
根据分段数据对应的寻址参数从子块缓存单元中逐段读取待速率匹配数据,并写入用于存储速率匹配后数据的第一缓存单元中。
一种解速率匹配设备,包括:
第一划分单元,用于根据子块交织矩阵中的列将待解速率匹配数据进行分段;
第一运算单元,用于根据第一划分单元分段的情况计算分段数据对应的寻址参数;
第一清零单元,用于对子块的缓存单元进行清零操作;
第一数据搬移单元,用于根据第一运算单元得到的分段数据对应的寻址参数将待解速率匹配数据,逐段写入第一清零单元清零后的子块的缓存单元。
一种速率匹配设备,包括:
第二划分单元,用于根据子块交织矩阵中的列将各个子块缓存单元中的待速率匹配数据进行分段;
第二运算单元,用于根据第二划分单元分段的情况计算分段数据对应的寻址参数;
第二数据搬移单元,用于根据第二运算单元得到的分段数据对应的寻址参数从子块缓存单元中逐段读取待速率匹配数据,并写入用于存储速率匹配后数据的第一缓存单元中。
一种通信系统,包括本发明实施例提供的任一种解速率匹配设备和本发明实施例提供的任一种速率匹配设备。
本发明实施例采用根据子块交织矩阵中的列将待解速率匹配/速率匹配数据进行分段,根据分段的情况计算分段数据对应的寻址参数,根据分段数据对应的寻址参数将待解速率匹配/速率匹配数据逐段直接写入/搬出子块的Buffer,与现有技术中在解速率匹配时需要先写入循环Buffer,然后再写入子快Buffer,以及在速率匹配时需要先写入循环Buffer,然后再写入第一Buffer的方案相比,可以减少中间经过循环Buffer的环节,简化了解速率匹配/速率匹配的过程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的方法流程图;
图2是本发明实施例二提供的方法流程图;
图3a是本发明实施例三提供的解速率匹配方法流程图;
图3b是本发明实施例三提供的速率匹配方法流程图;
图4a是本发明实施例四提供的解速率匹配方法流程图;
图4b是本发明实施例四提供的速率匹配方法流程图;
图5a是本发明实施例提供的解速率匹配设备的结构示意图;
图5b是本发明实施例提供的解速率匹配设备的另一结构示意图;
图6a是本发明实施例提供的速率匹配设备的结构示意图;
图6b是本发明实施例提供的速率匹配设备的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种速率匹配和解速率匹配方法、装置和通信系统。以下分别进行详细说明。
实施例一、
一种解速率匹配方法,包括:根据子块交织矩阵中的列将待解速率匹配数据进行分段;根据分段的情况计算分段数据对应的寻址参数;对子块的Buffer进行清零操作;根据分段数据对应的寻址参数将待解速率匹配数据,逐段写入子块的Buffer。如图1所示,具体流程可以如下:
101、根据子块交织矩阵中的列将待解速率匹配数据进行分段;例如,假设子块包括X子块、Y1子块和Y2子块;则可以采用如下方式进行分段:
获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
根据获取到的X子块交织矩阵中的列的分布信息将X子块中元素所对应的待解速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待解速率匹配数据作为一X数据段;
根据获取到的Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块中元素所对应的待解速率匹配数据和Y2子块中元素所对应的待解速率匹配数据进行分段,使得Y1子块和Y2子块交织矩阵中除最后一列之外,Y1子块交织矩阵的同一列编号元素所对应的待解速率匹配数据和Y2子块交织矩阵中同一列编号元素所对应的待解速率匹配数据作为一混合数据段,而Y1子块和Y2子块交织矩阵中最后一列元素所对应的待解速率匹配数据则分为两混合数据段。比如,Y1子块交织矩阵中有6列元素:1、2、3、4、5和6,而Y2子块交织矩阵中也有6列元素:1、2、3、4、5和6,则可以将Y1子块交织矩阵中的“1”和Y2子块交织矩阵中的“1”组成一混合数据段,将Y1子块交织矩阵中的“2”和Y2子块交织矩阵中的“2”也组成一混合数据段,3、4和5同理,而对于Y1子块和Y2子块交织矩阵中“6”,则分为两混合数据段。
102、根据分段的情况计算分段数据对应的寻址参数;例如,具体可以如下:
根据步骤101中的分段的情况计算各个X数据段的数据长度、以及各个X数据段的读首地址和写首地址;
根据分段的情况分别计算各个混合数据段中Y1子块和Y2子块各自的数据长度、以及各个混合数据段中Y1子块和Y2子块各自的读首地址和写首地址、以及在混合数据段中前面的连续元素属于同一个子块时,计算这些连续元素的数据长度。
103、对子块的Buffer进行清零操作;
104、根据分段数据对应的寻址参数将待解速率匹配数据,逐段写入子块的Buffer;例如,具体可以如下:
根据X数据段的数据长度、以及X数据段的读首地址和写首地址将X数据段中的数据写入X子块的Buffer;
根据混合数据段中前面的连续元素的数据长度将这些连续元素写入所属的子块;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址和写首地址,将混合数据段中除这些连续元素之外的数据交错写入Y1子块和Y2子块的Buffer。
可选的,若待解速率匹配的数据存在重复,则还需要对数据进行去重复操作;该去重复操作可以在写入子块Buffer之前执行,也可以在写入子块Buffer之后执行,若是在写入子块Buffer之前执行,则在将代解速率匹配数据逐段写入子块Buffer之后,可以将子块Buffer中的数据直接输出给后级模块,否则,如果是写入子块Buffer之后才执行去重复操作,则还需要计算每个子块Buffer中第一个被读取的元素的读地址,根据该读地址读取元素,然后输出给后级模块,并对子块Buffer中被读取的位置进行清零,其中,读取元素时可以逐个读取,也可以同时读取多个(即至少两个)以提高读取效率。
由上可知,本实施例采用根据子块交织矩阵中的列将待解速率匹配数据进行分段,并根据分段的情况计算分段数据对应的寻址参数,然后根据分段数据对应的寻址参数将待解速率匹配数据逐段直接写入子块的Buffer,与现有技术中在解速率匹配时需要先写入循环Buffer,然后再写入子快Buffer的方案相比,可以减少中间经过循环Buffer的环节,简化了解速率匹配的过程。
实施例二、
相应的,本发明实施例还可以一种速率匹配方法,包括:根据子块交织矩阵中的列将各个子块Buffer中的待速率匹配数据进行分段;根据分段的情况计算分段数据对应的寻址参数;根据分段数据对应的寻址参数从子块Buffer中逐段读取待速率匹配数据,并写入用于存储速率匹配后数据的第一Buffer中。如图2所示,具体流程可以如下:
201、根据子块交织矩阵中的列将各个子块Buffer中的待速率匹配数据进行分段;例如,假设子块包括X子块、Y1子块和Y2子块,则可以采用如下方式进行分段:
获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
根据X子块交织矩阵中的列的分布信息将X子块Buffer中的待速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待速率匹配数据作为一X数据段;
根据Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块Buffer中的待速率匹配数据和Y2子块缓存单元中的待速率匹配数据进行分段,使得Y1子块和Y2子块交织矩阵中除最后一列之外,Y1子块交织矩阵的同一列编号元素所对应的待解速率匹配数据和Y2子块交织矩阵中同一列编号元素所对应的待解速率匹配数据作为一混合数据段,而Y1子块和Y2子块交织矩阵中最后一列元素所对应的待速率匹配数据则分为两混合数据段。比如,Y1子块交织矩阵中有6列元素:1、2、3、4、5和6,而Y2子块交织矩阵中也有6列元素:1、2、3、4、5和6,则可以将Y1子块交织矩阵中的“1”和Y2子块交织矩阵中的“1”组成一混合数据段,将Y1子块交织矩阵中的“2”和Y2子块交织矩阵中的“2”也组成一混合数据段,3、4和5同理,而对于Y1子块和Y2子块交织矩阵中“6”,则分为两混合数据段。
202、根据分段的情况计算分段数据对应的寻址参数;其中,分段数据对应的寻址参数包括数据长度、读地址和写地址。等等,例如,可以如下:
根据分段的情况计算各个X数据段的数据长度、以及各个X数据段的读首地址和写首地址;
根据分段的情况分别计算各个混合数据段中Y1子块和Y2子块各自的数据长度、以及各个混合数据段中Y1子块和Y2子块各自的读首地址和写首地址、以及在混合数据段中前面的连续元素属于同一个子块时,计算这些连续元素的数据长度。
203、根据分段数据对应的寻址参数从子块Buffer中逐段读取待速率匹配数据,并写入用于存储速率匹配后数据的第一Buffer中;例如,具体可以如下:
根据X数据段的数据长度、以及X数据段的读首地址从X子块的缓存单元中读取X数据,并根据写首地址将读取的X数据段写入第一Buffer;
根据混合数据段中前面的连续元素的数据长度从其所属的子块缓存单元中读取这些连续元素,并将读取到的连续元素写入第一Buffer;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址从Y1子块的Buffer,以及Y2子块的Buffer中读取混合数据,并根据写首地址将读取的混合数据段写入第一Buffer。
由上可知,本实施例采用根据子块交织矩阵中的列将待速率匹配数据进行分段,并根据分段的情况计算分段数据对应的寻址参数,然后根据分段数据对应的寻址参数将待速率匹配数据逐段直接从子块的Buffer搬移至第一Buffer中,与现有技术中在速率匹配时需要先将数据从子快Buffer搬移至循环Buffer,然后再由循环Buffer写入第一Buffer的方案相比,可以减少中间经过循环Buffer的环节,简化了速率匹配的过程。
实施例三、
根据实施例一和实施例二所描述的方法,以下将举例作进一步详细说明。
在本实施例中,假设子块包括X子块、Y1子块和Y2子块,则方案可以如下:
(一)解速率匹配
如图3a所示,具体流程可以如下:
A301、获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
A302、根据获取到的X子块交织矩阵中的列的分布信息将X子块中元素所对应的待解速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待解速率匹配数据作为一X数据段;
A303、根据获取到的Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块中元素所对应的待解速率匹配数据和Y2子块中元素所对应的待解速率匹配数据进行分段,使得Y1子块和Y2子块中除最后一列之外,Y1子块交织矩阵的同一列编号元素所对应的待解速率匹配数据和Y2子块交织矩阵中同一列编号元素所对应的待解速率匹配数据作为一混合数据段,而Y1子块和Y2子块中最后一列元素所对应的待解速率匹配数据则分为两混合数据段。
根据协议,X子块、Y1子块和Y2子块在“子块交织”过程中的行列交织矩阵都有32列,其中,列的编号可以由用户自行制定,但是对每个子块需要用同样的方法进行编号,比如都从左到右编号,等等。在协议中,对于Y1子块和Y2子块中的最后一列,具有特殊规定,因此,需要对Y1子块和Y2子块中的最后一列进行单独的处理,即,在本步骤中,除了Y1子块和Y2子块中的最后一列之外,可以把Y1子块和Y2子块中属于同一个列编号的数据归属到同一个混合数据段中,而对于Y1子块和Y2子块中的最后一列,则分为两个混合数据段,例如:
假设子块交织后,Y2子块最后一列有1、2、3.....10,十个元素,其中,特殊处理就是将这些元素的顺序变成2、3......10、1,而Y1子块中元素的顺序还是1、2、3.....10,则,此时可以分为两个混合数据段,第一段包含Y1子块的元素1、2、3.....9和Y2子块的元素2、3......10,第二段则包含Y1子块的元素10和Y2子块的元素1。
即,若X子块、Y1子块和Y2子块在“子块交织”过程中的行列交织矩阵都有32列的话,则根据步骤A302可知,对于需要写入X子块的数据,可以划分为32个X数据段,而根据步骤A303可知,对于需要写入Y1子块和Y2子块的数据,则一共可以划分为33个混合数据段。
A304、根据步骤A302中的分段的情况计算各个X数据段的参数,每个X数据段的参数包括:
(1)X数据段的数据长度,在X数据段中,所属于X子块交织矩阵的元素的个数;
(2)X数据段的读首地址,即X子块交织矩阵中每一列的第一个元素所对应的数据在原始Buffer中的地址,其中,原始Buffer指的是存放待解速率匹配数据的Buffer
(3)X数据段的写首地址,即X子块交织矩阵中每一列的第一个元素所对应的数据在子块交织前的X子块中的地址
在本实施例中,读首地址指的是第一个元素的读地址,写首地址指的是第一个元素的写地址,在解速率匹配过程中,读地址指的是元素在原始Buffer中的地址,写地址指的是元素在子块交织前的X子块中的地址。
A305、根据步骤A303中的分段的情况分别计算各个混合数据段的参数,每个混合数据段的参数包括:
(1)混合数据段中Y1子块和Y2子块各自的数据长度,即在混合数据段中,所属于Y1子块交织矩阵的元素的个数,以及所属于Y2子块交织矩阵的元素的个数;
(2)混合数据段中Y1子块和Y2子块各自的读首地址,即Y1子块交织矩阵中每一列的第一个元素所对应的数据在原始Buffer中的地址,以及Y2子块交织矩阵中每一列的第一个元素所对应的数据在原始Buffer中的地址;
(3)混合数据段中Y1子块和Y2子块各自的写首地址,即Y1子块交织矩阵中每一列的第一个元素所对应的数据在子块交织前的Y1子块中的地址,以及Y2子块交织矩阵中每一列的第一个元素所对应的数据在子块交织前的Y2子块中的地址;
(4)若混合数据段中前面的连续元素属于同一个子块,则计算这些连续元素的数据长度。
在混合数据段中,之所以需要针对“混合数据段中前面这些属于同一子块的连续元素”单独计算一个参数,主要有以下原因:
根据协议,在子块交织过程中,Y1子块交织后的第A列和Y2子块交织后的第A列要以按元素交错的方式合并到一起。在子块交织矩阵中的元素有两种,一种是有效数据对应的有效元素,另一种是为了将子块交织矩阵填满而填补进来的无效元素,这些无效元素都位于每一列的最前面。由于Y1子块的第A列和Y2子块的第A列中无效元素的个数可能不一致,而在将这些元素放入原始Buffer时,只填充有效元素,所以会导致混合数据段中可能会存在“前面的连续元素属于同一个子块”的情况。例如:
假设Y1子块的第A列有10个元素,前2个元素为无效元素,Y2子块的第A列有10个元素,前5个为无效元素,则填充过程为:
读Y1子块的第A列的第1个元素,发现无效,于是不填,读Y2子块的第A列的第1个元素,发现无效,也不填;读Y1子块的第A列的第2个元素,发现无效,不填,读Y2子块的第A列的第2个元素,发现无效,不填;读Y1子块的第A列的第3个元素,发现有效,填入,读Y2子块的第A列的第3个元素,发现无效,不填;等等,以此类推,直至所有元素填充完毕;这样导致的结果就是,Y1子块和Y2子块第A列组成的混合数据段中,前3个元素都属于Y1子块,而后续的元素则是由Y1子块的元素和Y2子块的元素交错存放而成。
需说明的是,在步骤304和步骤305中,这些参数可以按照协议中的每一编码块(CB,Code Block),预先根据分段情况分别计算好这些CB所对应的待解速率匹配数据在不打孔不重复情况下的参数,然后在实际数据传输过程中,对于被打孔的待解速率匹配数据所组成的数据段(即X数据段或混合数据段),对其参数进行适应性地调整,而对于重复的待解速率匹配数据所组成的数据段(即X数据段或混合数据段),则对其参数不作调整。
在具体实施时,可以通过保存和维护一张参数表来记录步骤A304和步骤A305中计算得出的各个参数;例如,假设X子块、Y1子块和Y2子块在“子块交织”过程中的行列交织矩阵均具有32列,则,对于X子块来说,根据步骤A304中所描述的方法,可以得到32组关于X数据段的参数,而每一组X数据段的参数至少具有3个参数(参见步骤A304),而对于Y1子块和Y2子块来说,根据步骤A305中所描述的方法,则各自可以得到33组参数,每一组参数具有4个参数(参见步骤A305);因此,在该参数表中,需要记录32+33+33=98组参数,需说明的是,由于速率匹配需要进行打孔,所以原始Buffer中的数据的列数可能会小于“32+33”列,因此还需要一个参数来记录原始Buffer中的数据的真实列数。
A306、对X子块的Buffer、Y1子块的Buffer和Y2子块的Buffer进行清零操作。
A307、若待解速率匹配的数据存在重复,则还可以对数据进行去重复操作;然后执行步骤A308。
A308、读取参数表中的参数,根据X数据段的数据长度、以及X数据段的读首地址和写首地址将X数据段中的数据写入X子块的Buffer;根据混合数据段中前面的连续元素的数据长度将这些连续元素写入所属的子块;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址和写首地址,将混合数据段中除这些连续元素之外的数据交错写入Y1子块和Y2子块的Buffer。
对于X数据段,第1个元素的读地址和写地址可以从参数表中直接获得(即读首地址和写首地址),而后续的元素的读地址则通过累加的方式计算得出:每次读取后读地址自增1,每次写出后写地址自增32;
对于混合数据段,同理,第1个元素的读地址和写地址从参数表中直接获得(即读首地址和写首地址),而后续的元素的读地址则通过累加的方式计算得出:每次读取后读地址自增2,每次写出后写地址自增32。
重复执行步骤A308,直至将原始Buffer中的数据均搬移完成,则完成解速率匹配操作。
(二)速率匹配
如图3b所示,具体流程可以如下:
速率匹配过程为解速率匹配过程的逆过程,只是在速率匹配时,不需要对子块Buffer进行清零,以下将对速率匹配过程作简略地说明。
B301、获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
B302、根据获取到的X子块交织矩阵中的列的分布信息将X子块中元素所对应的待速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待速率匹配数据作为一X数据段;
B303、根据获取到的Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块中元素所对应的待速率匹配数据和Y2子块中元素所对应的待速率匹配数据进行分段,使得Y1子块和Y2子块中除最后一列之外的同一列编号的元素所对应的待速率匹配数据作为一混合数据段,而Y1子块和Y2子块中最后一列元素所对应的待速率匹配数据则分为两混合数据段。
即,若X子块、Y1子块和Y2子块在“子块交织”过程中的行列交织矩阵都有32列的话,则根据步骤V302可知,对于需要写入X子块的数据,可以划分为32个X数据段,而根据步骤B303可知,对于需要写入Y1子块和Y2子块的数据,则一共可以划分为33个混合数据段。
B304、根据步骤B302中的分段的情况计算各个X数据段的参数,每个X数据段的参数包括:
(1)X数据段的数据长度,在X数据段中,所属于X子块交织矩阵的元素的个数;
(2)X数据段的读首地址,即X子块交织矩阵中每一列的第一个元素所对应的数据在子块交织前的X子块中的地址;
(3)X数据段的写首地址,即X子块交织矩阵中每一列的第一个元素所对应的数据在第一Buffer中的地址,其中,第一Buffer指的是用于存储速率匹配后数据的Buffer。
需说明的是,在解速率匹配过程中,读地址指的是元素在原始Buffer中的地址,写地址指的是元素在子块交织前的X子块中的地址;而在速率匹配过程中,则恰好相反,在速率匹配过程中,读地址指的是元素在子块交织前的X子块中的地址,写地址指的是元素在第一缓存单元(即第一Buffer)中的地址,
B305、根据步骤B303中的分段的情况分别计算各个混合数据段的参数,每个混合数据段的参数包括:
(1)混合数据段中Y1子块和Y2子块各自的数据长度,即在混合数据段中,所属于Y1子块交织矩阵的元素的个数,以及所属于Y2子块交织矩阵的元素的个数;
(2)混合数据段中Y1子块和Y2子块各自的读首地址,即Y1子块交织矩阵中每一列的第一个元素所对应的数据在子块交织前的Y1子块中的地址,以及Y2子块交织矩阵中每一列的第一个元素所对应的数据在在子块交织前的Y2子块中的地址;
(3)混合数据段中Y1子块和Y2子块各自的写首地址,即Y1子块交织矩阵中每一列的第一个元素所对应的数据在第一Buffer中的地址,以及Y2子块交织矩阵中每一列的第一个元素所对应的数据在第一Buffer中的地址;
(4)若混合数据段中前面的连续元素属于同一个子块,则计算这些连续元素的数据长度。
在具体实施时,可以通过保存和维护一张参数表来记录步骤B304和步骤B305中计算得出的各个参数。
B306、读取参数表中的参数,根据X数据段的数据长度、以及X数据段的读首地址从X子块的Buffer中读取X数据,并根据写首地址将读取的X数据段写入第一Buffer;根据混合数据段中前面的连续元素的数据长度从其所属的子块Buffer中读取这些连续元素,并将读取到的连续元素写入第一Buffer;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址从Y1子块的Buffer,以及Y2子块的Buffer中读取混合数据,并根据写首地址将读取的混合数据段写入第一Buffer。
对于X数据段,第1个元素的读地址和写地址可以从参数表中直接获得(即读首地址和写首地址),而后续的元素的读地址则通过累加的方式计算得出:每次读取后读地址自增32,每次写出后写地址自增1;
对于混合数据段,同理,第1个元素的读地址和写地址从参数表中直接获得(即读首地址和写首地址),而后续的元素的读地址则通过累加的方式计算得出:每次读取后读地址自增32,每次写出后写地址自增2。
重复执行步骤B306,直至将各个子块Buffer中的数据均搬移完成,则完成速率匹配操作。
由上可知,本实施例采用根据子块交织矩阵中的列将待解速率匹配/速率匹配数据进行分段,并根据分段的情况计算参数,然后根据参数将待解速率/速率匹配匹配数据逐段直接写入子块的Buffer或搬移出子块的Buffer,与现有技术中在解速率匹配时需要先写入循环Buffer,然后再写入子快Buffer,以及在速率匹配时需要先将数据从子快Buffer搬移至循环Buffer,然后再由循环Buffer写入第一Buffer的方案相比,可以减少中间经过循环Buffer的环节,简化了解速率匹配和速率匹配的过程;而且,与现有技术中需要为每一个元素计算地址相比,该方案将地址计算更换为地址累加过程,简化地址计算的复杂度。
实施例四、
与实施例三不同的是,在实施例三中,对数据的去重复操作是在写入子块Buffer之前执行,而在本实施例中,将以去重复操作在写入子块Buffer之后执行为例进行说明。
(一)解速率匹配
具体流程可以如下:
步骤A401至A406同实施三中的A301至A306,在此不再赘述。
A407、读取参数表中的参数,根据X数据段的数据长度、以及X数据段的读首地址和写首地址将X数据段中的数据写入X子块的Buffer;根据混合数据段中前面的连续元素的数据长度将这些连续元素写入所属的子块;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址和写首地址,将混合数据段中除这些连续元素之外的数据交错写入Y1子块和Y2子块的Buffer。如图4a所示,具体可以如下:
假设实际数据传输过程中发送端速率匹配后的数据真实长度为L_T,CB不打孔不重复时的数据长度为L_A,已搬移数据的长度值为L,子块的行数为N_R,另外,设定读取过程每一个子块第1个被读取的元素所在的行序号为X,列序号为Y,且这两个序号均从0开始编号。
则将数据从原始Buffer搬移至各个子块Buffer中的过程可以如下:
A4071:初始化已搬移数据的长度值L=0;
A4072:读取K指示的数据段(即X数据段或混合数据段)的数据长度L_S。
由于在参数表中,各个参数是按照X数据段的第一段,X数据段的第2段......,混合数据段的第一段,混合数据段的第二段......,等等的顺序进行存放的,因此需要计算一个参数,用于标识所搬移的数据段是原始Buffer中的哪一段,在此假设该参数为K,其中,K的值可以根据协议计算得出,在此不再赘述。
对于X数据段,如果L_T-L<L_S,则根据剩余实际数据的长度调整L_S,将L_S的值调整为“L_T-L”,否则,保留原L_S的值;另外,如果L>L_A,则表明这一X数据段中的元素存在重复,此时需要计算本X数据段中重复元素的个数;
同理,对于混合数据段,如果L_T-L<L_S,则根据剩余实际数据的长度调整L_S,将L_S的值调整为“L_T-L”,否则,保留原L_S的值;另外,如果L>L_A,则表明这一混合数据段中的元素存在重复,此时需要分别计算本段中Y1和Y2中重复元素的个数。
A4073:从参数表中读取数据段(即X数据段或混合数据段)的读首地址和写首地址,根据读首地址、写首地址和L_S的值对数据段中的数据进行搬移。
对于X数据段,直接按照读首地址、写首地址和L_S的值,将数据搬移至X子块Buffer,搬移前后数据均连续存放,对于其中的重复元素,根据步骤A4072中计算得到的“重复元素的个数”进行去重复处理;
对于混合数据段,则根据步骤A405(参见A305)中计算得到的参数,将混合数据段中属于Y1子块的元素和属于Y2子块的元素进行分离,按照原有先后顺序,构成两个子段,分别根据读首地址、写首地址以及L_S的值将数据搬移至Y1子块Buffer和Y2子块Buffer,搬移后数据按照子段内顺序,分别连续存放于Y1子块Buffer和Y2子块Buffer中,对于其中的重复的元素,根据步骤A4072中计算得到的“重复元素的个数”进行去重复处理。
每一段数据搬移后,需要对L进行更新,如果L_T-L>0,则表明还有数据需要搬移,则获取新的数据段的参数,并调整该新获取的数据段的L_S,依此类推,直至所有数据段都搬移完毕,则可以执行A4074;否则重复执行步骤A4073。
A4074:由于在本实施例中,将数据搬移至子块的Buffer之前并没有执行去重复操作,因此,在将各个子块Buffer中的数据发送给后级模块时,还需要从子块中按照一定规律间隔读取元素,才能得到正确的顺序,因此,此时还需要计算每个子块第1个被读取元素的读地址,在此假设读地址为Raddr,则Raddr=Y*N_R+X。
A4075:根据读地址,读取1个元素,输出给后级模块,读取后,对子块Buffer中被读取的位置进行清0操作,并更新X、Y和Raddr,如下:
如果X=N_R,则输出结束,表示解速率匹配完成,否则,重复执行步骤A4075。
需说明的是,为了提高处理效率,在从子块Buffer读取数据发送给后级模块的过程中,可以同时使用多个读地址,从而可以每次读取多个元素,例如,假设同时读取的元素个数为N,则对于某一个读地址Raddr_i,其更新过程为:
其中,“X_i”表示第i个元素的行序号,Y_i表示第i个元素的列序号,Raddr_i表示第i个元素的读地址,i表示这些元素的序号,比如,Y_1表示每次读取时第一个元素的列序号,X_1表示每次读取时第一个元素的行序号,Raddr_1表示每次读取时第一个元素的读地址,等等。
上述过程中,N*N_R为预置的常数,而Y_i*N_R则需要进行实时计算或者预先进行计算,并做成一个具有32个表项的表,依次为0*N_R,1*N_R,2*N_R......31*N_R,等等。
(二)速率匹配
具体流程可以如下:
速率匹配过程为上述解速率匹配过程的逆过程。
步骤B401至B405同步骤B301至B305,详见实施例三,在此不再赘述。
B406、读取参数表中的参数,根据X数据段的数据长度、以及X数据段的读首地址从X子块的Buffer中读取X数据,并根据写首地址将读取的X数据段写入第一Buffer;根据混合数据段中前面的连续元素的数据长度从其所属的子块Buffer中读取这些连续元素,并将读取到的连续元素写入第一Buffer;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址从Y1子块的Buffer,以及Y2子块的Buffer中读取混合数据,并根据写首地址将读取的混合数据段写入第一Buffer。
在此之前,各个子块还需要接收后级模块所输出的数据,以下将举例进行说明,各个参数的说明可参见前面实施例,在此不再赘述,如图4b所示,如下:
B4061:计算每个子块第1个需要进行速率匹配的元素的写地址,写地址为Waddr,则Waddr=Y*N_R+X
B4062:前一级模块(即解速率匹配中的后级模块,比如译码模块)每次会输出3个元素,分别写入X子块、Y1子块和Y2子块,为了描述方便,以下将一其中的一个元素为例进行说明。
根据步骤B4061中得到的写地址将这个元素写入子块Buffer,写入后,更新X,Y和Waddr。
其中,如果X=N_R,则表示输出结束,跳转到步骤B4063,否则等待前一级模块(比如译码模块)的下一次输出后,执行步骤B4062。
B4063:初始化已搬移数据的长度值L=0,在本发明实施例中,将速率匹配完成后数据存放的Buffer记作第一Buffer;
B4064:读取K指示的数据段(即X数据段或混合数据段)的数据长度L_S。
对于X段,如果L_T-L<L_S,则根据剩余实际数据的长度调整L_S,将L_S的值调整为“L_T-L”;
对于Y1和Y2混合的段,如果L_T-L<L_S,则根据剩余实际数据的长度,调整L_S;
B4065:从参数表中读取数据段(即X数据段或混合数据段)的读首地址和写首地址,根据读首地址、写首地址和L_S的值对数据段中的数据进行搬移。
对于X数据段,直接按照读首地址、写首地址和L_S的值对数据进行搬移,搬移前后数据均连续存放;
对于混合数据段,则根据步骤A405(参见A305)中计算得到的参数,从Y1和Y2种分别读出元素,构成两个子段,然后按照参数,将其合为1个混合数据段,根据写地址,连续写入第一Buffer中。
需说明的是,这里的读地址和写地址,与解速率匹配过程正好相反。
每一段数据搬移后,需要对L进行更新,如果L_T-L>0,则表明还有数据需要搬移,则获取新的数据段的参数,并调整该新获取的数据段的L_S,依此类推,直至所有数据段都搬移完毕,则速率匹配结束;否则重复执行步骤B4065。
由上可知,本实施例采用根据子块交织矩阵中的列将待解速率匹配/速率匹配数据进行分段,并根据分段的情况计算参数,然后根据参数将待解速率匹配/速率匹配数据逐段直接写入子块的Buffer或搬移出子块的Buffer,与现有技术中在解速率匹配时需要先写入循环Buffer,然后再写入子快Buffer,以及在速率匹配时需要先将数据从子快Buffer搬移至循环Buffer,然后再由循环Buffer写入第一Buffer的方案相比,可以减少中间经过循环Buffer的环节,简化了解速率匹配和速率匹配的过程;而且,与现有技术中需要为每一个元素计算地址相比,该方案将地址计算更换为地址累加过程,简化地址计算的复杂度。
实施例五、
为了更好地实施以上方法,本发明实施例还相应地提供一种解速率匹配设备,如图5a所示,该解速率匹配设备包括第一划分单元501、第一运算单元502、第一清零单元503和第一数据搬移单元504;
第一划分单元501,用于根据子块交织矩阵中的列将待解速率匹配数据进行分段;
第一运算单元502,用于根据第一划分单元501分段的情况计算分段数据对应的寻址参数;
第一清零单元503,用于对子块的缓存单元进行清零操作;
第一数据搬移单元504,用于根据第一运算单元502得到的分段数据对应的寻址参数将待解速率匹配数据,逐段写入第一清零单元503清零后的子块的缓存单元。
其中,子块可以包括X子块、Y1子块和Y2子块,则如图5b所示,第一划分单元501可以包括第一获取子单元5011、第一X划分子单元5012和第一Y划分子单元5013;
第一获取子单元5011,用于获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
第一X划分子单元5012,用于根据第一获取子单元5011获取到的X子块交织矩阵中的列的分布信息,将X子块中元素所对应的待解速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待解速率匹配数据作为一X数据段;
第一Y划分子单元5013,用于第一获取子单元5011获取到的根据Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块中元素所对应的待解速率匹配数据和Y2子块中元素所对应的待解速率匹配数据进行分段,使得Y1子块和Y2子块交织矩阵中除最后一列之外的同一列编号的元素所对应的待解速率匹配数据作为一混合数据段,而Y1子块和Y2子块交织矩阵中最后一列元素所对应的待解速率匹配数据则分为两混合数据段。
如图5b所示,第一运算单元502可以包括第一X运算子单元5021和第一Y运算子单元5022;
第一X运算子单元5021,用于根据第一X划分子单元5012分段的情况计算各个X数据段的数据长度、以及各个X数据段的读首地址和写首地址;
第一Y运算子单元,用于根据第一Y划分子单元5013分段的情况分别计算各个混合数据段中Y1子块和Y2子块各自的数据长度、以及各个混合数据段中Y1子块和Y2子块各自的读首地址和写首地址、以及在混合数据段中前面的连续元素属于同一个子块时,计算这些连续元素的数据长度。
如图5b所示,第一数据搬移单元504可以包括第一X数据搬移子单元5041和第一Y数据搬移子单元5042;
第一X数据搬移子单元5041,用于根据X数据段的数据长度、以及X数据段的读首地址和写首地址将X数据段中的数据写入X子块的缓存单元;
第一Y数据搬移子单元5042,用于根据混合数据段中前面的连续元素的数据长度将这些连续元素写入所属的子块;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址和写首地址,将混合数据段中除这些连续元素之外的数据交错写入Y1子块和Y2子块的缓存单元。
可选的,若待解速率匹配的数据存在重复,则还需要对数据进行去重复操作;因此,该解速率匹配单元还可以包括:去重复单元;
去重复单元,用于对待解速率匹配数据执行去重复操作;该去重复操作可以在写入子块Buffer之前执行,也可以在写入子块Buffer之后执行,若是在写入子块Buffer之前执行,则在将代解速率匹配数据逐段写入子块Buffer之后,可以将子块Buffer中的数据直接输出给后级模块,否则,如果是写入子块Buffer之后才执行去重复操作,则还需要计算每个子块Buffer中第一个被读取的元素的读地址,根据该读地址读取元素,然后输出给后级模块,并对子块Buffer中被读取的位置进行清零,其中,读取元素时可以逐个读取,也可以同时读取多个(即至少两个)以提高读取效率,详见前面的方法实施例。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。
由上可知,本实施例提供的解速率匹配设备的第一划分单元501可以根据子块交织矩阵中的列将待解速率匹配数据进行分段,并由第一运算单元502根据分段的情况计算参数,然后由第一数据搬移单元504根据参数将待解速率匹配数据逐段直接写入子块的Buffer,与现有技术中在解速率匹配时需要先写入循环Buffer,然后再写入子快Buffer的方案相比,可以减少中间经过循环Buffer的环节,简化了解速率匹配的过程。
实施例六、
相应的,本发明实施例还提供一种速率匹配设备,如图6a所示,该速率匹配设备包括第二划分单元601、第二运算单元602和第二数据搬移单元603;
第二划分单元601,用于根据子块交织矩阵中的列将各个子块缓存单元中的待速率匹配数据进行分段;
第二运算单元602,用于根据第二划分单元601分段的情况计算分段数据对应的寻址参数;
第二数据搬移单元603,用于根据第二运算单元602得到的分段数据对应的寻址参数从子块缓存单元中逐段读取待速率匹配数据,并写入用于存储速率匹配后数据的第一缓存单元中。
其中,子块可以包括X子块、Y1子块和Y2子块,则如图6b所示,第二划分单元601包括第二获取子单元6011、第二X划分子单元6012和第二Y划分子单元6013;
第二获取子单元6011,用于获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
第二X划分子单元6012,用于根据第二获取子单元6011获取到的X子块交织矩阵中的列的分布信息将X子块缓存单元中的待速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待速率匹配数据作为一X数据段;
第二Y划分子单元6013,用于根据第二获取子单元6012获取到的Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块缓存单元中的待速率匹配数据和Y2子块缓存单元中的待速率匹配数据进行分段,使得Y1子块和Y2子块交织矩阵中除最后一列之外的同一列编号的元素所对应的待速率匹配数据作为一混合数据段,而Y1子块和Y2子块交织矩阵中最后一列元素所对应的待速率匹配数据则分为两混合数据段。
如图6b所示,第二运算单元602包括第二X运算子单元6021和第二Y运算子单元6022;
第二X运算子单元6021,用于根据第二X划分子单元6012分段的情况计算各个X数据段的数据长度、以及各个X数据段的读首地址和写首地址;
第二Y运算子单元6022,用于根据第二Y划分子单元6013分段的情况分别计算各个混合数据段中Y1子块和Y2子块各自的数据长度、以及各个混合数据段中Y1子块和Y2子块各自的读首地址和写首地址、以及在混合数据段中前面的连续元素属于同一个子块时,计算这些连续元素的数据长度。
如图6b所示,第二数据搬移单元603包括第二X数据搬移子单元6031和第二Y数据搬移子单元6032;
第二X数据搬移子单元6031,用于根据X数据段的数据长度、以及X数据段的读首地址从X子块的缓存单元中读取X数据,并根据写首地址将读取的X数据段写入第一缓存单元;
第二Y数据搬移子单元6032,用于根据混合数据段中前面的连续元素的数据长度从其所属的子块缓存单元中读取这些连续元素,并将读取到的连续元素写入第一缓存单元;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址从Y1子块的缓存单元,以及Y2子块的缓存单元中读取混合数据,并根据写首地址将读取的混合数据段写入第一缓存单元。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。
由上可知,本实施例的速率匹配设备的第二划分单元601可以根据子块交织矩阵中的列将待速率匹配数据进行分段,并由第二运算单元602根据分段的情况计算参数,然后由第二数据搬移单元603根据参数将待速率匹配数据逐段直接从子块的Buffer搬移至第一Buffer中,与现有技术中在速率匹配时需要先将数据从子快Buffer搬移至循环Buffer,然后再由循环Buffer写入第一Buffer的方案相比,可以减少中间经过循环Buffer的环节,简化了速率匹配的过程。
实施例七、
相应地,本发明实施例还提供一种通信系统,包括本发明实施例提供的任一种解速率匹配设备和本发明实施例提供的任一种速率匹配设备。
解速率匹配设备,用于对速率匹配设备进行速率匹配后的数据进行解速率匹配,具体为:根据子块交织矩阵中的列将待解速率匹配数据进行分段;根据分段的情况计算分段数据对应的寻址参数;对子块的缓存单元进行清零操作;根据分段数据对应的寻址参数将待解速率匹配数据,逐段写入子块的缓存单元;
速率匹配设备,用于对数据进行解速率匹配,具体为:根据子块交织矩阵中的列将各个子块缓存单元中的待速率匹配数据进行分段;根据分段的情况计算分段数据对应的寻址参数;根据分段数据对应的寻址参数从子块缓存单元中逐段读取待速率匹配数据,并写入用于存储速率匹配后数据的第一缓存单元中。
具体可参见前面实施例,在此不再赘述。
由上可知,本实施例采用根据子块交织矩阵中的列将待解速率/速率匹配数据进行分段,并根据分段的情况计算参数,然后根据参数将待解速率匹配/速率匹配数据逐段直接写入子块的Buffer或搬移出子块的Buffer,与现有技术中在解速率匹配时需要先写入循环Buffer,然后再写入子快Buffer,以及在速率匹配时需要先将数据从子快Buffer搬移至循环Buffer,然后再由循环Buffer写入第一Buffer的方案相比,可以减少中间经过循环Buffer的环节,简化了解速率匹配和速率匹配的过程;而且,与现有技术中需要为每一个元素计算地址相比,该方案将地址计算更换为地址累加过程,简化地址计算的复杂度。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种速率匹配和解速率匹配方法、装置和通信系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (20)
1.一种解速率匹配方法,其特征在于,包括:
根据子块交织矩阵中的列将待解速率匹配数据进行分段;
根据分段的情况计算分段数据对应的寻址参数;
对子块的缓存单元进行清零操作;
根据分段数据对应的寻址参数将待解速率匹配数据,逐段写入子块的缓存单元。
2.根据权利要求1所述的方法,其特征在于,所述子块包括X子块、Y1子块和Y2子块,所述根据子块交织矩阵中的列将待解速率匹配数据进行分段包括:
获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
根据X子块交织矩阵中的列的分布信息将X子块中元素所对应的待解速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待解速率匹配数据作为一X数据段;
根据Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块中元素所对应的待解速率匹配数据和Y2子块中元素所对应的待解速率匹配数据进行分段,使得Y1子块和Y2子块交织矩阵中除最后一列之外,Y1子块交织矩阵的同一列编号元素所对应的待解速率匹配数据和Y2子块交织矩阵中同一列编号元素所对应的待解速率匹配数据作为一混合数据段,而Y1子块和Y2子块交织矩阵中最后一列元素所对应的待解速率匹配数据则分为两混合数据段。
3.根据权利要求2所述的方法,其特征在于,所述根据分段的情况计算分段数据对应的寻址参数包括:
根据分段的情况计算各个X数据段的数据长度、以及各个X数据段的读首地址和写首地址;
根据分段的情况分别计算各个混合数据段中Y1子块和Y2子块各自的数据长度、以及各个混合数据段中Y1子块和Y2子块各自的读首地址和写首地址、以及在所述混合数据段中前面的连续元素属于同一个子块时,计算这些连续元素的数据长度。
4.根据权利要求3所述的方法,其特征在于,所述根据分段数据对应的寻址参数将待解速率匹配数据,逐段写入子块的缓存单元包括:
根据X数据段的数据长度、以及X数据段的读首地址和写首地址将X数据段中的数据写入X子块的缓存单元;
根据混合数据段中前面的连续元素的数据长度将这些连续元素写入所属的子块;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址和写首地址,将混合数据段中除所述连续元素之外的数据交错写入Y1子块和Y2子块的缓存单元。
5.根据权利要求4所述的方法,其特征在于,所述对子块的缓存进行清零操作之后还包括:
若待解速率匹配的数据存在重复,则对待解速率匹配的数据进行去重复操作;
则根据分段数据对应的寻址参数将待解速率匹配数据,逐段写入子块的缓存单元之后还包括:将子块的缓存单元中的数据直接输出给后级模块。
6.根据权利要求4所述的方法,其特征在于,所述根据分段数据对应的寻址参数将待解速率匹配数据,逐段写入子块的缓存单元之后还包括:
若写入子块缓存单元中的数据存在重复,则对该数据进行去重复操作;
计算每个子块缓存单元中第一个被读取的元素的读地址;
根据所述第一个被读取的元素的读地址读取一个元素后,输出给后级模块,并对子块缓存单元中被读取的位置进行清零。
7.根据权利要求6所述的方法,其特征在于,所述根据分段数据对应的寻址参数将待解速率匹配数据,逐段写入子块的缓存单元之后还包括:
若写入子块缓存单元中的数据存在重复,则对该数据进行去重复操作;
计算每个子块缓存单元中第一个被读取的元素的读地址;
根据所述第一个被读取的元素的读地址读取至少两个元素后,输出给后级模块,并对子块缓存单元中被读取的位置进行清零。
8.一种速率匹配方法,其特征在于,包括:
根据子块交织矩阵中的列将各个子块缓存单元中的待速率匹配数据进行分段;
根据分段的情况计算分段数据对应的寻址参数;
根据分段数据对应的寻址参数从子块缓存单元中逐段读取待速率匹配数据,并写入用于存储速率匹配后数据的第一缓存单元中。
9.根据权利要求8所述的方法,其特征在于,所述子块包括X子块、Y1子块和Y2子块,所述根据子块交织矩阵中的列将各个子块缓存单元中的待速率匹配数据进行分段包括:
获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
根据X子块交织矩阵中的列的分布信息将X子块缓存单元中的待速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待速率匹配数据作为一X数据段;
根据Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块缓存单元中的待速率匹配数据和Y2子块缓存单元中的待速率匹配数据进行分段,使得Y1子块和Y2子块交织矩阵中除最后一列之外,Y1子块交织矩阵的同一列编号元素所对应的待解速率匹配数据和Y2子块交织矩阵中同一列编号元素所对应的待解速率匹配数据作为一混合数据段,而Y1子块和Y2子块交织矩阵中最后一列元素所对应的待速率匹配数据则分为两混合数据段。
10.根据权利要求9所述的方法,其特征在于,所述根据分段的情况计算分段数据对应的寻址参数包括:
根据分段的情况计算各个X数据段的数据长度、以及各个X数据段的读首地址和写首地址;
根据分段的情况分别计算各个混合数据段中Y1子块和Y2子块各自的数据长度、以及各个混合数据段中Y1子块和Y2子块各自的读首地址和写首地址、以及在所述混合数据段中前面的连续元素属于同一个子块时,计算这些连续元素的数据长度。
11.根据权利要求10所述的方法,其特征在于,所述根据分段数据对应的寻址参数从子块缓存单元中逐段读取待速率匹配数据,并写入用于存储速率匹配后数据的第一缓存单元中包括:
根据X数据段的数据长度、以及X数据段的读首地址从X子块的缓存单元中读取X数据,并根据写首地址将读取的X数据段写入第一缓存单元;
根据混合数据段中前面的连续元素的数据长度从其所属的子块缓存单元中读取这些连续元素,并将读取到的连续元素写入第一缓存单元;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址从Y1子块的缓存单元,以及Y2子块的缓存单元中读取混合数据,并根据写首地址将读取的混合数据段写入第一缓存单元。
12.一种解速率匹配设备,其特征在于,包括:
第一划分单元,用于根据子块交织矩阵中的列将待解速率匹配数据进行分段;
第一运算单元,用于根据第一划分单元分段的情况计算分段数据对应的寻址参数;
第一清零单元,用于对子块的缓存单元进行清零操作;
第一数据搬移单元,用于根据第一运算单元得到的分段数据对应的寻址参数将待解速率匹配数据,逐段写入第一清零单元清零后的子块的缓存单元。
13.根据权利要求12所述的解速率匹配设备,其特征在于,所述子块包括X子块、Y1子块和Y2子块,则所述第一划分单元包括:
第一获取子单元,用于获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
第一X划分子单元,用于根据第一获取子单元获取到的X子块交织矩阵中的列的分布信息,将X子块中元素所对应的待解速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待解速率匹配数据作为一X数据段;
第一Y划分子单元,用于第一获取子单元获取到的根据Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块中元素所对应的待解速率匹配数据和Y2子块中元素所对应的待解速率匹配数据进行分段,使得Y1子块和Y2子块交织矩阵中除最后一列之外,Y1子块交织矩阵的同一列编号元素所对应的待解速率匹配数据和Y2子块交织矩阵中同一列编号元素所对应的待解速率匹配数据作为一混合数据段,而Y1子块和Y2子块交织矩阵中最后一列元素所对应的待解速率匹配数据则分为两混合数据段。
14.根据权利要求13所述的解速率匹配设备,其特征在于,所述第一运算单元包括:
第一X运算子单元,用于根据第一X划分子单元分段的情况计算各个X数据段的数据长度、以及各个X数据段的读首地址和写首地址;
第一Y运算子单元,用于根据第一Y划分子单元分段的情况分别计算各个混合数据段中Y1子块和Y2子块各自的数据长度、以及各个混合数据段中Y1子块和Y2子块各自的读首地址和写首地址、以及在所述混合数据段中前面的连续元素属于同一个子块时,计算这些连续元素的数据长度。
15.根据权利要求14所述的解速率匹配设备,其特征在于,所述第一数据搬移单元包括:
第一X数据搬移子单元,用于根据X数据段的数据长度、以及X数据段的读首地址和写首地址将X数据段中的数据写入X子块的缓存单元;
第一Y数据搬移子单元,用于根据混合数据段中前面的连续元素的数据长度将这些连续元素写入所属的子块;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址和写首地址,将混合数据段中除所述连续元素之外的数据交错写入Y1子块和Y2子块的缓存单元。
16.一种速率匹配设备,其特征在于,包括:
第二划分单元,用于根据子块交织矩阵中的列将各个子块缓存单元中的待速率匹配数据进行分段;
第二运算单元,用于根据第二划分单元分段的情况计算分段数据对应的寻址参数;
第二数据搬移单元,用于根据第二运算单元得到的分段数据对应的寻址参数从子块缓存单元中逐段读取待速率匹配数据,并写入用于存储速率匹配后数据的第一缓存单元中。
17.根据权利要求16所述的速率匹配设备,其特征在于,所述子块包括X子块、Y1子块和Y2子块,则所述第二划分单元包括:
第二获取子单元,用于获取X子块、Y1子块和Y2子块在交织过程中X子块交织矩阵中的列的分布信息、Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息;
第二X划分子单元,用于根据第二获取子单元获取到的X子块交织矩阵中的列的分布信息将X子块缓存单元中的待速率匹配数据进行分段,使得X子块交织矩阵中的每一列元素所对应的待速率匹配数据作为一X数据段;
第二Y划分子单元,用于根据第二获取子单元获取到的Y1子块交织矩阵中的列的分布信息和Y2子块交织矩阵中的列的分布信息,将Y1子块缓存单元中的待速率匹配数据和Y2子块缓存单元中的待速率匹配数据进行分段,使得Y1子块和Y2子块交织矩阵中除最后一列之外,Y1子块交织矩阵的同一列编号元素所对应的待解速率匹配数据和Y2子块交织矩阵中同一列编号元素所对应的待解速率匹配数据作为一混合数据段,而Y1子块和Y2子块交织矩阵中最后一列元素所对应的待速率匹配数据则分为两混合数据段。
18.根据权利要求17所述的解速率匹配设备,其特征在于,所述第二运算单元包括:
第二X运算子单元,用于根据第二X划分子单元分段的情况计算各个X数据段的数据长度、以及各个X数据段的读首地址和写首地址;
第二Y运算子单元,用于根据第二Y划分子单元分段的情况分别计算各个混合数据段中Y1子块和Y2子块各自的数据长度、以及各个混合数据段中Y1子块和Y2子块各自的读首地址和写首地址、以及在所述混合数据段中前面的连续元素属于同一个子块时,计算这些连续元素的数据长度。
19.根据权利要求18所述的解速率匹配设备,其特征在于,所述第二数据搬移单元包括:
第二X数据搬移子单元,用于根据X数据段的数据长度、以及X数据段的读首地址从X子块的缓存单元中读取X数据,并根据写首地址将读取的X数据段写入第一缓存单元;
第二Y数据搬移子单元,用于根据混合数据段中前面的连续元素的数据长度从其所属的子块缓存单元中读取这些连续元素,并将读取到的连续元素写入第一缓存单元;根据混合数据段中Y1子块和Y2子块各自的数据长度、以及混合数据段的读首地址从Y1子块的缓存单元,以及Y2子块的缓存单元中读取混合数据,并根据写首地址将读取的混合数据段写入第一缓存单元。
20.一种通信系统,其特征在于,包括权利要求12至15中任一种解速率匹配设备和权利要求16至19中任一种速率匹配设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010130214 CN101783719B (zh) | 2010-03-18 | 2010-03-18 | 一种速率匹配和解速率匹配方法、装置和通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010130214 CN101783719B (zh) | 2010-03-18 | 2010-03-18 | 一种速率匹配和解速率匹配方法、装置和通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101783719A true CN101783719A (zh) | 2010-07-21 |
CN101783719B CN101783719B (zh) | 2013-03-20 |
Family
ID=42523546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010130214 Active CN101783719B (zh) | 2010-03-18 | 2010-03-18 | 一种速率匹配和解速率匹配方法、装置和通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101783719B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944972A (zh) * | 2010-09-20 | 2011-01-12 | 华为技术有限公司 | 编解码方法、装置以及通信系统 |
CN102468902A (zh) * | 2010-11-01 | 2012-05-23 | 普天信息技术研究院有限公司 | LTE系统Turbo编码速率匹配/解速率匹配的方法 |
WO2012155458A1 (zh) * | 2011-05-13 | 2012-11-22 | 中兴通讯股份有限公司 | 一种交织或解交织的实现方法和装置 |
CN103873188A (zh) * | 2012-12-13 | 2014-06-18 | 中兴通讯股份有限公司 | 一种并行解速率匹配方法和装置 |
CN108287946A (zh) * | 2017-12-30 | 2018-07-17 | 盛科网络(苏州)有限公司 | 一种tcam查找方法及装置 |
CN112787762A (zh) * | 2021-04-12 | 2021-05-11 | 南京创芯慧联技术有限公司 | 信道编码后数据的速率匹配方法及其速率匹配装置 |
CN114124305A (zh) * | 2021-11-25 | 2022-03-01 | 中国电子科技集团公司第五十四研究所 | 一种计算、查表相结合的分段交织装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1272733A (zh) * | 1999-04-13 | 2000-11-08 | 北方电讯网络有限公司 | 通信系统的速率匹配和信道交织 |
US20050180363A1 (en) * | 2004-02-12 | 2005-08-18 | Tetsuya Yano | Transmitting apparatus with bit arrangement method |
CN101517911A (zh) * | 2006-09-28 | 2009-08-26 | 联发科技股份有限公司 | 下行链路接收机比特率处理器中的重新量化 |
-
2010
- 2010-03-18 CN CN 201010130214 patent/CN101783719B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1272733A (zh) * | 1999-04-13 | 2000-11-08 | 北方电讯网络有限公司 | 通信系统的速率匹配和信道交织 |
US20050180363A1 (en) * | 2004-02-12 | 2005-08-18 | Tetsuya Yano | Transmitting apparatus with bit arrangement method |
CN101517911A (zh) * | 2006-09-28 | 2009-08-26 | 联发科技股份有限公司 | 下行链路接收机比特率处理器中的重新量化 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944972A (zh) * | 2010-09-20 | 2011-01-12 | 华为技术有限公司 | 编解码方法、装置以及通信系统 |
CN101944972B (zh) * | 2010-09-20 | 2013-04-24 | 华为技术有限公司 | 编解码方法、装置以及通信系统 |
CN102468902A (zh) * | 2010-11-01 | 2012-05-23 | 普天信息技术研究院有限公司 | LTE系统Turbo编码速率匹配/解速率匹配的方法 |
CN102468902B (zh) * | 2010-11-01 | 2014-04-16 | 普天信息技术研究院有限公司 | LTE系统Turbo编码速率匹配/解速率匹配的方法 |
WO2012155458A1 (zh) * | 2011-05-13 | 2012-11-22 | 中兴通讯股份有限公司 | 一种交织或解交织的实现方法和装置 |
CN103873188A (zh) * | 2012-12-13 | 2014-06-18 | 中兴通讯股份有限公司 | 一种并行解速率匹配方法和装置 |
CN103873188B (zh) * | 2012-12-13 | 2017-06-27 | 中兴通讯股份有限公司 | 一种并行解速率匹配方法和装置 |
CN108287946A (zh) * | 2017-12-30 | 2018-07-17 | 盛科网络(苏州)有限公司 | 一种tcam查找方法及装置 |
CN112787762A (zh) * | 2021-04-12 | 2021-05-11 | 南京创芯慧联技术有限公司 | 信道编码后数据的速率匹配方法及其速率匹配装置 |
CN112787762B (zh) * | 2021-04-12 | 2021-07-23 | 南京创芯慧联技术有限公司 | 信道编码后数据的速率匹配方法及其速率匹配装置 |
CN114124305A (zh) * | 2021-11-25 | 2022-03-01 | 中国电子科技集团公司第五十四研究所 | 一种计算、查表相结合的分段交织装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101783719B (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101783719B (zh) | 一种速率匹配和解速率匹配方法、装置和通信系统 | |
KR101603751B1 (ko) | 명령어 병렬 처리 컴퓨터를 위한 명령어 압축 장치 및 방법 | |
CN101079641A (zh) | 二维交织设备及方法 | |
CN105791828B (zh) | 二进制算术编码器及其编码方法 | |
CN104933747A (zh) | 将矢量动画转换为位图动画的方法及装置 | |
CN108694918A (zh) | 编码方法及装置、解码方法及装置及显示装置 | |
CN101938325A (zh) | 有限长度循环缓存速率匹配的解速率匹配方法和装置 | |
CN102255687A (zh) | 速率匹配方法与装置 | |
CN102546082A (zh) | 解速率匹配方法及装置 | |
CN101388673B (zh) | 去交织设备和方法、交织索引产生设备和方法、以及介质 | |
CN107153506A (zh) | 基于再生码的分布式存储系统与处理方法 | |
CN105874774A (zh) | 用于在帧的处理过程中保持计数表的计数表保持装置以及相关的保持方法 | |
CN105184185B (zh) | 用于分离存储与还原数据的key盘及其分离与还原数据方法 | |
CN101944972B (zh) | 编解码方法、装置以及通信系统 | |
CN105187162B (zh) | 一种多粒度并行解速率匹配方法和装置 | |
CN106571833A (zh) | 一种并行编码和交织的通信传输方法 | |
CN111371465B (zh) | Ldpc码字的比特交织方法、系统与介质 | |
CN101924608A (zh) | 一种实现块交织的方法、装置及发射机 | |
CN102594371B (zh) | 一种Turbo编码交织处理的方法及装置 | |
CN103873188B (zh) | 一种并行解速率匹配方法和装置 | |
CN101807971B (zh) | Turbo码译码方法及系统 | |
CN102480334B (zh) | 一种速率匹配的方法及装置 | |
CN103546232A (zh) | 数据的处理方法及装置 | |
CN102377516A (zh) | 数据处理方法及其装置 | |
CN105281878A (zh) | 一种资源单元映射方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210429 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |