CN101789846B - 一种解速率匹配方法及装置 - Google Patents
一种解速率匹配方法及装置 Download PDFInfo
- Publication number
- CN101789846B CN101789846B CN201010115457A CN201010115457A CN101789846B CN 101789846 B CN101789846 B CN 101789846B CN 201010115457 A CN201010115457 A CN 201010115457A CN 201010115457 A CN201010115457 A CN 201010115457A CN 101789846 B CN101789846 B CN 101789846B
- Authority
- CN
- China
- Prior art keywords
- data
- ram
- sub
- input
- harq
- 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.)
- Active
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种解速率匹配方法及装置,应用于解速率匹配系统,该系统包括多个用于存放输入数据的子存储器RAM,其中,所述子RAM的数目与匹配系统接收器所支持的最大重复发送次数相同,所述方法包括:根据接收到的输入数据的地址,确定输入数据应存入的子RAM以及在子RAM中的位置,将每次重复的输入数据并行存放在不同的子RAM中;通过解交织计算,确定匹配系统发送端软缓冲器中的数据序号在译码器的输入RAM中的对应地址;当需要向所述输入RAM中的对应地址填充数据时,从所述子RAM中确定并取出所述输入数据;根据所述取出的输入数据确定待写入数据,并将所述待写入数据写入所述输入RAM中的对应地址。通过本发明,能够提高比特级的处理效率。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种解速率匹配方法及装置。
背景技术
速率匹配是指传输信道上的比特被重发(repeated)或者被打孔(punctured),以匹配物理信道的承载能力。打孔就是将当前的比特作为无效数据打掉,同时,将后面的比特依次前移一位;重复是通过在软缓存器中循环取数来达到重复的效果,所以重复的数据并不相邻。解速率匹配算法与之相反,恢复被打掉的比特,并将重复的比特合并,这样才能进行正确地解码。
其中,在解速率匹配的过程中,需要针对解码块级联输出的每个编码块分别进行处理,主要需要完成以下三个过程:首先,是解物理信道容量匹配过程,即将接收数据根据该码块对应的IR_BUFFER(循环缓冲器)的大小及冗余版本进行物理信道容量到IR_BUFFER容量的解速率匹配;然后,是解IR_BUFFER容量匹配和解交织过程,即将合并后的软比特进行解IR_BUFFER容量匹配、解比特收集、解交织等处理后,得到用于Turbo译码的软比特。
在解物理信道容量匹配过程中,主要完成对无效数据位置填零和将有效数据填入IR_BUFFER中正确位置的操作,如果是重复的解速率匹配过程,则需要对重复的软比特进行合并,再将合并后的值填入IR_BUFFER中。现有的技术在重复的模式下多采用逐一累加的处理结构,需要对每一个输入的软比特判断位置,并且判断该数据是否是重复的数据,如果是则从缓存器中读出该位置之前填入的数据,与当前数据累加后再存入缓存器中。完成解物理信道容量匹配过程后,将合并后的软比特进行解IR_BUFFER容量匹配、解比特收集、解交织等处理后,得到用于Turbo译码的软比特。
在上述现有技术中,由于采用对于重复的比特采用逐一累加的处理方式,因此,使得比特级处理效率受困于巨大的输入数据量,无法得到有效地提高。
发明内容
本发明提供一种解速率匹配方法及装置,能够提高比特级的处理效率。
本发明提供了如下方案:
一种解速率匹配方法,应用于解速率匹配系统,所述解速率匹配系统包括多个用于存放输入数据的子存储器RAM,其中,所述子RAM的数目与匹配系统接收器所支持的最大重复发送次数相同,所述方法包括:
根据接收到的输入数据的地址,确定输入数据应存入的子RAM以及在子RAM中的位置,将每次重复的输入数据并行存放在不同的子RAM中;
通过解交织计算,确定匹配系统发送端软缓冲器中的数据序号在译码器的输入RAM中的对应地址,其中,所述发送端软缓冲器中保存的是速率匹配前的数据,其中包括速率匹配过程中被打掉的无效数据,以及需要被重复发送的有效数据;
当需要向所述输入RAM中的对应地址填充数据时,从所述子RAM中确定并取出所述输入数据;
根据所述取出的输入数据确定待写入数据,并将所述待写入数据写入所述输入RAM中的对应地址。
优选的,如果所述从子RAM中确定并取出的输入数据为多个,则所述根据所述取出的输入数据确定需要写入的数据包括:
将所述多个输入数据合并,将所述合并后的数据确定为待写入数据。
优选的,如果进行过混合自动重传HARQ操作,则所述根据所述取出的输入数据确定待写入数据包括:
将所述合并后的数据与HARQ缓存器中的数据进行HARQ合并;并将所述HARQ合并之后的数据确定为所述待写入数据。
优选的,还包括:
将所述HARQ合并后的数据写回所述HARQ缓存器。
优选的,利用不同的双口RAM存储所述HARQ合并操作及所述写回HARQ缓存器的操作产生的数据。
优选的,所述方法之前还包括:
预先将译码器的输入RAM清零。
一种解速率匹配装置,应用于解速率匹配系统,所述解速率匹配系统包括多个用于存放输入数据的子RAM,其中,所述子RAM的数目与匹配系统接收器所支持的最大重复发送次数相同,所述装置包括:
并行存放单元,用于根据接收到的输入数据的地址,确定输入数据应存入的子RAM以及在子RAM中的位置,将每次重复的输入数据并行存放在不同的子RAM中;
地址确定单元,用于通过解交织计算,确定匹配系统发送端软缓冲器中的数据序号在译码器的输入RAM中的对应地址,其中,所述发送端软缓冲器中保存的是速率匹配前的数据,其中包括速率匹配过程中被打掉的无效数据,以及需要被重复发送的有效数据;
取数单元,用于当需要向所述输入RAM中的对应地址填充数据时,从所述子RAM中确定并取出所述输入数据;
写入单元,用于根据所述取出的输入数据确定待写入数据,并将所述待写入数据写入所述输入RAM中的对应地址。
优选的,如果所述从子RAM中确定并取出的输入数据为多个,则写入单元包括:
软比特合并子单元,用于将所述多个输入数据合并;
第一确定子单元,用于将所述合并后的数据确定为待写入数据。
优选的,如果进行过混合自动重传HARQ操作,所述写入单元包括:
HARQ合并子单元,用于将所述多个数据合并之后,将所述合并后的数据与HARQ缓存器中的数据进行HARQ合并;
第二确定子单元,用于将所述HARQ合并之后的数据确定所述待写入数据。
优选的,还包括:
写回单元,用于将所述HARQ合并后的数据写回所述HARQ缓存器。
优选的,利用不同的双口RAM存储所述HARQ合并子单元及所述写回单元产生的数据。
优选的,还包括:
清零单元,用于预先将译码器的输入RAM清零。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
通过本发明实施例,由于具有多个子RAM,因此,能够实现读取输入数据的并行处理,节省了读取数据的时间;同时,由于将重复的数据存放在了不同的子RAM中,并且每个重复的数据之间具有一定的位置关系,因此,对于重复的数据仅需进行一次地址的判断操作,节省了判断地址的时间。由于在两个过程中都节省了时间,因此,提高了比特级的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的方法的流程图;
图2是本发明实施例提供的方法的实现结构示意图;
图3是本发明实施例提供的方法中重复数据存放方法示意图;
图4-1是本发明实施例提供的方法中多码块中的重复数据存放方法示意图;
图4-2是本发明实施例提供的方法中另一多码块中的重复数据存放方法示意图;
图5是本发明实施例提供的方法中解交织方法的流程图;
图6是本发明实施例提供的装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
首先需要说明的是,本发明人在实现本发明的过程中发现,现有技术中的比特级处理效率之所以无法得到有效地提高,主要是在接收端用于存放的输入数据只有一个RAM,由于RAM最多为双口,因此,在一个时钟周期内只能接收一位或者两位输入数据。即,假设共有32位数据,则至少需要16个时钟周期才能完成输入数据的读取。同时,也正是由于这种结构,使得只能采用逐一累加的处理结构,即针对每一位接收到的输入数据,都需要判断其在译码器的输入RAM中的地址。也就是说,如果仍假设共有32位数据,则需要进行32次判断地址的过程,如此多的判断操作也成为比特级处理效率低下的重要原因。其中,接收到的输入数据中可能具有重复的数据,对于各个重复的数据,判断出的地址是相同的。
其中,产生重复数据的原因通常是因为发送端进行了重复的发送,如,为了为后续的符号级处理做准备,就需要将一些数据进行重复发送,以满足符号级处理对数据位数的要求。比如发送端共有30位数据,在进行符号级的处理时可能需要120位数据,此时,发送端就需要将这30位数据重复发送4次。
在实际应用的速率匹配算法(如LTE的速率匹配算法)中,相邻两个重复数据之间的地址差是固定的,即,如果发送端共有30位数据,则相邻两个重复数据之间的地址差是应为30,如果第一次发送时,第一位数据的地址是0,则第二次发送时,第一位数据的地址应为30。
基于上述考虑,在本发明实施例中,首先将用于存放输入数据的RAM分为多个子RAM,其中,子RAM的数目与接收器所支持的最大重复发送次数相同。
实施例一、在上述划分多个子RAM的基础上,参见图1,本发明实施例提供的方法包括以下步骤:
S101:根据接收到的输入数据的地址,确定输入数据应存入的子RAM以及在子RAM中的位置,将每次重复的输入数据并行存放在不同的子RAM中;
通过该步骤,可以实现将重复的数据分别存放在不同的子RAM中,并且,由于每位数据应该存入哪个子RAM,以及应该存入子RAM中的哪个位置都可以确定,因此,可以并行将数据存入各个子RAM。其中,可以根据数据的长度以及重复发送次数,来确定输入数据应存入的子RAM以及在子RAM中的位置。
参见图2,其为本发明实施例提供的借速率匹配的实现结构示意图,其中,第一步进行的操作就是,将输入数据分配到各个子RAM中,即,判断输入数据应该存入哪个子RAM,然后分别存入相应的子RAM。
例如,数据的长度为4,重复发送3次,则第0、4、8位的数据为第一个重复发送的数据,第1、5、9位的数据为第二个重复发送的数据,第2、6、10位的数据为第三个重复发送的数据,第3、7、11位的数据为第四个重复发送的数据,因此,第0、4、8位的数据应分别写入子RAM1、子RAM2、子RAM3中的第一位,第1、5、9位的数据应分别写入子RAM1、子RAM2、子RAM3中的第二位,以此类推。这样确定了各位数据应该存入的子RAM,以及在子RAM中的位置之后,就可以将各位数据按照确定的结果存放在各个子RAM中的特定位置,并且是可以并行存放的。例如,在第一个时钟周期,就可以将第0、4、8位的数据分别写入子RAM1、子RAM2、子RAM3中的第一位,在第二时钟周期,就可以将第1、5、9位的数据分别写入子RAM1、子RAM2、子RAM3中的第二位,以此类推。可见,重复的数据可以存放在各个子RAM中的相同位置,这样可以便于取出重复的数据。当然,上述例子仅仅是为了举例说明本发明实施例的实现方法,不应看作是对本发明的限制。
参见图3,其显示出了在上述例子中,各个子RAM中存放数据的情况。在实际应用中,可能存在以下情况:数据共为12位,但是发送端仅发送了其中的前10位,相应的,接收端也只能接收到这10位数据,此时,子RAM3中不会完全填满数据,但是并不影响本发明实施例的实现,对此,后文中会有详细地介绍。
需要说明的是,图2所示的结构示意图是以一个码块为例进行描述的,在实际应用中,由于输入的RAM最多可以为双口,所以本结构亦可实现两个码块间的并行处理。第二路的处理结构与第一路相同。当并行处理的两个码块长度一致时,解交织部分计算地址的操作完全相同。如果根据码块分段算法的特点,合理调配需并行的码块,那么解交织部分的计算结构只需一组即可实现。
另外,在一次接收到的传输块中可能包括多个码块,此时,涉及的子RAM的存储格式及判断机制如图4-1所示,即,可以首先根据输入地址以及每个码块的输入数据的大小(由上层给出),判断出输入数据属于哪个码块,然后根据该码块的N′cb(有效数据的长度)的大小来判断应存入的子RAM以及在子RAM中的位置,具体在存放时的顺序可以如图4右侧所示。可见,对于一个码块而言,每次的重复数据分别存放在不同的子RAM中。
在图4-1中,一个前提条件时,所有码块中的一次重复的有效数据的总长度小于每个子RAM的容量,因此,所有码块第一次重复的数据都会保存在子RAM1中。第二次重复的数据全部保存于子RAM2中,等等。但是,在实际应用中,所有码块中一次重复的有效数据的长度可能大于一个子RAM的容量,这就意味着所有码块中第一次重复的数据无法全部保存在子RAM1中,此时,可以将剩余的部分保存在其他子RAM中,例如,参见图4-2,假设共有m个码块,子RAM1中只能保存前m-1个码块中第一次重复的数据,此时,第m个码块中第一次重复的数据就可以保存在子RAM2中,依次类推,只要保证同一个码块中每次重复的数据保存在不同的子RAM中即可。
S102:通过解交织计算,确定匹配系统发送端软缓冲器中的数据序号在译码器的输入RAM中的对应地址;该地址就是交织前在本比特流中的序号,也就是需要判断是填充零或者填充数据的地址(或者也可以称为解交织后的地址),将这些地址填充完毕之后,就可以进行数据的译码操作。
其中,发送端的软缓冲器中保存的是速率匹配前的数据,其中包括速率匹配过程中被打掉的无效数据,以及需要被重复发送的有效数据。即,在图3所示的例子中,发送端的软缓冲器中保存的是4位有效数据,以及需要打掉的一些无效数据。发送端的软缓冲器中的位置在译码器的输入RAM中的地址,就是指解交织后的地址。
S103:当需要向所述输入RAM中的对应地址填充数据时,从所述子RAM中确定并取出所述输入数据;
即,如果某地址处需要填充数据,则可以到各个子RAM中取相应的数据,但是每个子RAM中都保存了多位数据,因此,在该步骤中,首先需要确定出该地址处需要取子RAM中哪个位置上的数据。
其中,具体在确定应取的数据在子RAM中的位置时,可以从速率匹配的起始位置(例如发送端的软缓冲器的K0位置)开始计算解交织后的地址,如果确定出K0位置对应的地址处应填充NULL数据,则可以将该地址出填充0;否则,如果确定出K0位置对应的地址处应填充数据,则由于这是第一个需要填充数据的地址,因此,可以确定为需要取各个子RAM的第一位数据,然后把各个子RAM的第一位数据都取出来即可,当判断出第二个需要填充数据的地址时,取出各个子RAM中第二位的数据即可,以此类推。
由上述步骤S102、S103可以看出,在本发明实施例中,对于重复发送的有效数据,仅需进行一次判断地址的操作即可,即,假设发送端软缓冲器中共有6位数据,其中2位为无效数据被打掉,其余4位被作为有效数据重复发送3次;则在本发明实施例中,在仅需要进行6次的地址判断的过程;而在现有技术中,需要进行2+4*3=14次地址判断的过程。可见,相对于现有技术而言,大大减少了判断操作的次数,节省了判断操作所需的时间,并且数据量越大,本发明实施例的优越性也就越明显。
S104:根据所述取出的输入数据确定待写入数据,并将所述待写入数据写入所述输入RAM中的对应地址
如前文所述,每次取出的输入数据可能为多个,此时,可以将各个输入数据进行合并处理,然后将合并后的数据确定为待写入数据,即需要写入所述地址的数据。其中,所述合并是指计算各个输入数据的平均值,当然,可以计算加权平均,即不同发送次数的输入数据可以具有不同的权重,等等。
需要说明的是,本发明实施例中,接收到的输入数据为软比特数据,其中,软比特用于表示当前比特为0或1的概率。例如,通常的接收端译码过程是先把解调数据软比特,比如用-32,-31,…,0,…,30,31这64个数可以用来表示当前比特为0或1的可能性,如-32表示为1的可能性最大,31表示为0的可能性最大,其余类推。因此,数据合并是指,将各次接收到的重复数据进行平均,可以得到更为准确的软比特值,进而准确地判断出当前比特是0还是1。
当然,如前文所述,发送端发送的数据有可能并不完整,因此,存在每次取出的输入数据仅为1个的可能,此时,直接将该数据取出,并确定为待写入数据即可。例如,发送端将4位数据重复发送了2次,则应该共有8位数据,但是发送端可能仅发送了其中的前7位,则接收端也只能接收其中的前7位,此时,对于第3位数据而言,就只有子RAM1的第4个位置上保存的一位数据。
实施例二、
在实际应用中,如果接收端发现接收到的输入数据有错误,则可能会执行HARQ(Hybrid-ARQ,混合自动重传操作),即需要请求发送端重新发送数据。注意,此处的重新发送数据与前文所述的重复发送数据的概念是不同的。前文所述的重复发送,是指在一次发送过程中,为了后续的符号级处理而加大数据的长度;而重新发送是指在一次发送过程中如果发现有错误,则发送端执行与第一次发送时相同配置的操作,即在每次接收到HARQ请求后重新发送数据时,都需要将一串数据重复发送多次。
为了提高接收数据的准确性,往往还可以与HARQ请求后重新接收到的数据与上次接收到的数据进行合并(该过程称为HARQ合并),以进一步提高接收数据的准确性。
在现有技术中,HARQ合并的过程是在解物理信道容量匹配过程与解IR_BUFFER容量匹配、解交织过程这两次解速率匹配过程之间进行的,但是,这样会割裂了两次解速率匹配之间的相关性,不能很好的融入整个解速率匹配流程。即,第一次速率匹配计算出的信息与第二次速率匹配得到的信息不能得到很好的复用,前后需要进行两次解交织的过程;而且HARQ合并的操作需要额外的时间。如果把HARQ合并的操作放在两次速率匹配操作都结束之后进行,又大大增加了所需要的存储空间。
为此,在本发明实施例中,可以如下进行HARQ合并操作:在将各个子RAM中的数据合并之后,先将合并后的数据与HARQ缓存器中的数据进行HARQ合并,然后再将所述HARQ合并之后的数据作为待写入数据,写入需要填充数据的地址;然后,将所述合并后的数据写回所述HARQ缓存器,以便进行下次的HARQ合并。参见图2,将子RAM中的软比特进行合并之后,就可以与HARQ缓存器中的数据进行HARQ合并。
通过上述处理,优化了解速率匹配及HARQ合并的过程,将HARQ合并操作加入到解速率匹配的流水过程中,省去了单独进行HARQ合并操作的时间,很好的复用了两次速率匹配所进行的计算。即,先计算数据在解交织之后的位置,判断是否填充数据,得出相应的数据,完成与HARQ缓存器中对应位置的软比特进行合并后,再存入之前计算好的该数据解交织之后的地址。因此,整个流程采用流水操作,HARQ合并操作无需额外的时间,并且,一次解交织过程便可实现填充空比特、合并重复数据、HARQ合并和解交织的操作。
其中,在HARQ合并的流水处理的过程中,要求存储HARQ旧数据和结果的存储器必须是双口RAM,这样便于读写。而算法中规定的软缓存器大小为1237248,如果使用双口RAM储存这些数据,面积会比单口RAM大很多。因此,本发明实施例中可以采用两块较小的双口RAM来存储当前码块的软缓存器数据,并且通过调整大小RAM之间的位宽可以使译码时间与数据传输时间相匹配,运行时可以采用乒乓操作,合理使用译码的时间进行数据传递.
参见图2,其中的HARQ缓存器A及HARQ缓存器B,就是指本发明实施例提供的两块较小的双口RAM,其中一块用于执行HARQ合并操作,另外一块用于执行写回HARQ缓存器的操作,下一个时钟周期,两者执行的操作再进行互换。
即,在具体的处理过程中,可以采用一块单口RAM做软缓冲器(IR_BUFFER),两个小的双口RAM来存储HARQ合并过程中需要处理的数据,利用译码器译码的时间来完成两块双口RAM之间的数据传输,还可以通过调整两个双口RAM的宽度来适当缩短数据传输的时间。这样既提高了处理速度,使得流水操作成为可能(使用了双口的RAM),又大大节省了软缓冲器所占的空间(使用了单口的RAM)。
实施例三、
由于解速率匹配的过程是从当前码块的软缓冲器(IR_BUFFER)中的k0位置开始,到达软缓冲器的最后一个值后,再从0位置开始增加,直至软缓冲器中的k0-1位置结束,遍历软缓冲器中的所有位置。对于交织后处于软缓冲器外的数据,在速率匹配编码的时候被丢弃了,解速率匹配时这些被丢弃的数据需要填零来代替,这就要求解速率匹配的过程要对三个比特流(系统比特、校验比特1、校验比特2)的所有数据(共(3*32*交织矩阵行数=Kw)个数据)进行遍历。在下行处理中,每个码块的软缓冲器大小也就是Ncb总是小于等于Kw,而且在一些情况下这两个值的相差很大,例如:LTEFDD的系统中,当码块数量为20时,NIR/C为7733,而Kw的值最大却为18528,如果速率匹配要按照Kw来进行遍历就会造成时间上的很大浪费。
基于上述考虑,在本发明实施例三中,可以在启动解速率匹配操作前先将存储结果的RAM(即译码器的输入RAM)清零,因为无效的数据位置也需要填零,这样就只需要把输入的有用数据填入正确的位置即可,不需要再对无效地址进行填零操作。
另外,对于由于如果两个码块使用的交织矩阵大小相同,则需要填充零的位置也是相同的,因此,清零操作并不需要每次启动解速率匹配操作前都做,只有连续处理的两个码块的交织矩阵大小不同时才需要进行清零操作。并且,由于算法的特点,一个传输块中最多可能只有三种使用不同交织矩阵的码块,这样,对于一个传输块而言,仅需要清零两次。当然,在使用乒乓结构的情况下,则最多需要清零四次。
通过上述清零操作,使得解交织操作时,不必计算在本码块软缓冲器外的数据解交织后的位置,而是合理利用译码器对速率匹配与译码器的接口RAM进行清零操作。这样在Ncb值较小的情况下,清零操作占用的时间也会随之减小。清零操作只需要在两个相邻码块长度不同的时候需要进行,并且随着译码器的并行度增加,清零的代价会大大减小。
需要说明的是,由于译码器的输入RAM为3块RAM,分别用来存放系统比特,校验比特1和校验比特2,但其实由于译码器的并行度要求这3块RAM是由4路并行为12块,8路并行为24块小RAM拼成的,所以无法直接对他们进行并行的清零操作,即由图2所示的解速率匹配结构可能不适于对RAM进行清零操作,因此,在本发明实施例中可以通过控制译码器来实现对其输入RAM的清零操作。以四路并行的译码器为例,由于译码器的输入为双口RAM,一个码块长度为6144长的码块,清零需要的时间为6148/4/2=769个周期,大大节省了处理时间。而随着译码器并行度的增加,八路并行的译码器清零需要的时间仅为6148/8/2=385个周期,这样的实现方式可以大大减少清零操作所占用的时间,提高硬件对数据的处理量。
总之,通过本发明实施例,使得整个解速率匹配的处理结构采用了并行的读取数据结构、解速率匹配与HARQ合并的流水操作、以及适当的清零操作,通过简单的判断,根据写入的数据地址,将输入的存储器适当分块,从而使得一次读取多个数据成为可能,节省了处理的时间;控制译码器对解速率匹配的结果RAM(也是译码器的输入RAM)进行清零,既省去了处理无效数据的时间,又充分利用了译码器的并行资源,降低时间上的开销;便于流水操作的HARQ缓存器,在提高HARQ合并效率的同时,节省了RAM的资源消耗。
可见,在本发明实施例提供的方法中,处理时间不再受限于输入或输出数据的大小,而是取决于传输块中所有码块软缓存器大小的和NIR。由于NIR值在终端速率等级3下,在LTE TDD系统中存储进程数为4的情况下取最大值309312,所以在本发明实施例采取两路并行的情况下大约需要154656个周期即可完成(200M时钟频率,约需0.77ms),大大提高了比特级的处理效率。
为了更好地理解本发明实施例提供的方法,下面将通过一个流程图对本发明实施例中的解交织过程进行更为详细地介绍。
参见图5,该流程图包括以下步骤:
S501:参数寄存器取得速率匹配的起始位置,即发送端软缓冲器中的K0位置;
S502:确定交织前K0在本比特流中的序号,即,解交织后K0的地址;
S503:判断所述序号是否小于无效数据的数目;如果小于进入S510及S504,否则进入S505;
由于如果需要填0,则都是填在地址的前几位,例如无效数据为10个,则译码器输入RAM的地址的前10位都应该填0。所以可以根据无效数据的个数与当前确定出的序号之间的大小关系,来判断应该向当前地址填0还是填数据。
S504:将K0执行加1操作,继续取所述起始位置的下一位,重复上述步骤S502及S503的操作;
S505:判断是需要重复还是打孔;如果需要重复,则进入步骤S506,如果需要打孔,进入步骤S509;
其中,如果需要重复,就是需要取出接收到所有重复发送的数据,并进行合并;如果需要打孔,就是需要仅取出一个数据,直接将该数据输出到相应的地址。
S506:从零开始逐一累加作为从子RAM1取数的地址;
S507:对于子RAM2,取与子RAM1相同的地址作为从子RAM2取数的地址;
其他子RAM也都做类似处理,即,每次从各个子RAM中取数时,都是取各子RAM中相同地址上的数据,这样可以保证每次取的数据都是重复发送的同一数据。
S508:直到从最后一个子RAM n中相应位置上取出对应的数据;然后将从各个子RAM的相同位置上取出的数据进行合并,该合并是将各个数据进行求平均的运算,由于数据是以软比特的形式存在,因此,也可以称为软比特合并;合并之后,进入步骤S510;
当然,对于没有完全接收的情况,可能存在以下场景:假设当前需要取各个子RAM中第4位的数据,但是最后一个子RAM n中可能只存放了3位数据,此时,就可以仅取出前n-1个子RAM中第4位的数据,并对这n-1个数据进行合并即可。
S509:从零开始逐一累加作为取数的地址,从子RAM1中取数(当然,在不考虑数据准确度的情况下,也可以从子RAM2或其他子RAM中取数,只要子RAM中包含所有的有效数据即可,这里不作限定),并进入步骤S510;
S510:将软比特合并后的数据、直接从单个子RAM中取出的数据或者0(序号小于无效数据数目时),与HARQ缓存器中的数据进行HARQ合并;
S511:向所述确定出的序号对应的译码器中输入RAM的地址,填充HARQ合并后的数据。
从以上各个步骤可以看出,将HARQ合并的操作融入了解交织的过程中,整个解速率匹配的过程中仅需要进行一次解交织的过程,复用了两次解速率匹配所进行的计算。
与本发明实施例提供的解速率匹配方法相对应,本发明实施例还提供了一种解速率匹配装置,该装置应用于解速率匹配系统,所述解速率匹配系统包括多个用于存放输入数据的子RAM,其中,所述子RAM的数目与匹配系统接收器所支持的最大重复发送次数相同,参见图6,该装置包括:
并行存放单元601,用于根据接收到的输入数据的地址,确定输入数据应存入的子RAM以及在子RAM中的位置,将每次重复的输入数据并行存放在不同的子RAM中;
地址确定单元602,用于通过解交织计算,确定匹配系统发送端软缓冲器中的数据序号在译码器的输入RAM中的对应地址;
取数单元603,用于当需要向所述输入RAM中的对应地址填充数据时,从所述子RAM中确定并取出所述输入数据;
写入单元604,用于根据所述取出的输入数据确定待写入数据,并将所述待写入数据写入所述输入RAM中的对应地址。
其中,如果所述从子RAM中确定并取出的输入数据为多个,则写入单元604可以包括:
软比特合并子单元,用于将所述多个数据合并;
第一确定子单元,用于将所述合并后的数据确定为待写入数据。
如果进行过混合自动重传HARQ操作,则写入单元604可以包括:
HARQ合并子单元,用于将所述多个数据合并之后,将所述合并后的数据与HARQ缓存器中的数据进行HARQ合并;
第二确定子单元,用于将所述HARQ合并之后的数据确定为所述待写入数据;
写回子单元,用于将所述合并后的数据写回所述HARQ缓存器。
为了进一步提高效率,可以利用不同的双口RAM存储所述HARQ合并子单元及所述写回子单元产生的数据。
此外,还可以包括:
清零单元,用于预先将译码器的输入RAM清零。这样,对于填充非比特数据的情况,就不必再判断填充的地址,也不必再进行填充为0的操作,大大节省了操作时间。
以上对本发明所提供的一种解速率匹配方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种解速率匹配方法,应用于解速率匹配系统,其特征在于,所述解速率匹配系统包括多个用于存放输入数据的子存储器RAM,其中,所述子RAM的数目与匹配系统接收器所支持的最大重复发送次数相同,所述方法包括:
根据接收到的输入数据的地址,确定输入数据应存入的子RAM以及在子RAM中的位置,将每次重复的输入数据并行存放在不同的子RAM中;
通过解交织计算,确定匹配系统发送端软缓冲器中的数据序号在译码器的输入RAM中的对应地址,其中,所述发送端软缓冲器中保存的是速率匹配前的数据,其中包括速率匹配过程中被打掉的无效数据,以及需要被重复发送的有效数据;
当需要向所述输入RAM中的对应地址填充数据时,从所述子RAM中确定并取出所述输入数据;
根据所述取出的输入数据确定待写入数据,并将所述待写入数据写入所述输入RAM中的对应地址。
2.根据权利要求1所述的方法,其特征在于,如果所述从子RAM中确定并取出的输入数据为多个,则所述根据所述取出的输入数据确定需要写入的数据包括:
将所述多个输入数据合并,将所述合并后的数据确定为待写入数据。
3.根据权利要求2所述的方法,其特征在于,如果进行过混合自动重传HARQ操作,则所述根据所述取出的输入数据确定待写入数据包括:
将所述合并后的数据与HARQ缓存器中的数据进行HARQ合并;并将所述HARQ合并之后的数据确定为所述待写入数据。
4.根据权利要求3所述的方法,其特征在于,还包括:
将所述HARQ合并后的数据写回所述HARQ缓存器。
5.根据权利要求4所述的方法,其特征在于,利用不同的双口RAM存储所述HARQ合并操作及所述写回HARQ缓存器的操作产生的数据。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法之前还包括:
预先将译码器的输入RAM清零。
7.一种解速率匹配装置,应用于解速率匹配系统,其特征在于,所述解速率匹配系统包括多个用于存放输入数据的子RAM,其中,所述子RAM的数目与匹配系统接收器所支持的最大重复发送次数相同,所述装置包括:
并行存放单元,用于根据接收到的输入数据的地址,确定输入数据应存入的子RAM以及在子RAM中的位置,将每次重复的输入数据并行存放在不同的子RAM中;
地址确定单元,用于通过解交织计算,确定匹配系统发送端软缓冲器中的数据序号在译码器的输入RAM中的对应地址,其中,所述发送端软缓冲器中保存的是速率匹配前的数据,其中包括速率匹配过程中被打掉的无效数据,以及需要被重复发送的有效数据;
取数单元,用于当需要向所述输入RAM中的对应地址填充数据时,从所述子RAM中确定并取出所述输入数据;
写入单元,用于根据所述取出的输入数据确定待写入数据,并将所述待写入数据写入所述输入RAM中的对应地址。
8.根据权利要求7所述的装置,其特征在于,如果所述从子RAM中确定并取出的输入数据为多个,则写入单元包括:
软比特合并子单元,用于将所述多个输入数据合并;
第一确定子单元,用于将所述合并后的数据确定为待写入数据。
9.根据权利要求8所述的装置,其特征在于,如果进行过混合自动重传HARQ操作,所述写入单元包括:
HARQ合并子单元,用于将所述多个数据合并之后,将所述合并后的数据与HARQ缓存器中的数据进行HARQ合并;
第二确定子单元,用于将所述HARQ合并之后的数据确定所述待写入数据。
10.根据权利要求9所述的装置,其特征在于,还包括:
写回单元,用于将所述HARQ合并后的数据写回所述HARQ缓存器。
11.根据权利要求10所述的装置,其特征在于,利用不同的双口RAM存储所述HARQ合并子单元及所述写回单元产生的数据。
12.根据权利要求7至11任一项所述的装置,其特征在于,还包括:
清零单元,用于预先将译码器的输入RAM清零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010115457A CN101789846B (zh) | 2010-02-26 | 2010-02-26 | 一种解速率匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010115457A CN101789846B (zh) | 2010-02-26 | 2010-02-26 | 一种解速率匹配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101789846A CN101789846A (zh) | 2010-07-28 |
CN101789846B true CN101789846B (zh) | 2012-10-17 |
Family
ID=42532916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010115457A Active CN101789846B (zh) | 2010-02-26 | 2010-02-26 | 一种解速率匹配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101789846B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546082B (zh) * | 2010-12-23 | 2015-02-18 | 联芯科技有限公司 | 解速率匹配方法及装置 |
JP5250061B2 (ja) * | 2011-01-07 | 2013-07-31 | 株式会社エヌ・ティ・ティ・ドコモ | 通信制御方法、移動通信システム及び移動端末装置 |
CN102694634A (zh) * | 2011-03-23 | 2012-09-26 | 中兴通讯股份有限公司 | 混合自动重传请求数据合并的处理方法、装置及系统 |
CN102412938B (zh) * | 2012-01-05 | 2014-07-16 | 合肥东芯通信股份有限公司 | 一种lte解速率匹配与harq合并的装置与方法 |
CN103427947A (zh) * | 2012-04-19 | 2013-12-04 | 马维尔国际有限公司 | 用于解速率匹配的方法和装置 |
CN103001738B (zh) | 2012-11-23 | 2016-03-02 | 华为技术有限公司 | 接收机及数据处理的方法 |
CN103916224B (zh) * | 2013-01-04 | 2019-08-02 | 中兴通讯股份有限公司 | Harq数据缓存装置及方法 |
CN104918259B (zh) * | 2015-05-29 | 2018-12-14 | 华为技术有限公司 | 缓存数据的调度方法及装置 |
CN111860819B (zh) * | 2020-07-27 | 2023-11-07 | 南京大学 | 一种可拼接、可分段的全连接神经网络推理加速器及其加速方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1574842A (zh) * | 2003-06-18 | 2005-02-02 | 日本电气株式会社 | 速率解匹配处理器 |
CN101499875A (zh) * | 2008-02-02 | 2009-08-05 | 三星电子株式会社 | 支持可变处理速率的lte解速率匹配与解交织的装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5088110B2 (ja) * | 2007-11-27 | 2012-12-05 | 日本電気株式会社 | 受信回路 |
-
2010
- 2010-02-26 CN CN201010115457A patent/CN101789846B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1574842A (zh) * | 2003-06-18 | 2005-02-02 | 日本电气株式会社 | 速率解匹配处理器 |
CN101499875A (zh) * | 2008-02-02 | 2009-08-05 | 三星电子株式会社 | 支持可变处理速率的lte解速率匹配与解交织的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101789846A (zh) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101789846B (zh) | 一种解速率匹配方法及装置 | |
CN102122966B (zh) | 基于信道极化的交错结构重复码的编码器及其编译码方法 | |
CN102546082B (zh) | 解速率匹配方法及装置 | |
CN101227259B (zh) | 一种有限长度循环缓存速率匹配的数据读取方法 | |
CN102684856B (zh) | 一种数据重传方法及装置 | |
CN104750642A (zh) | 具有极性处理机制的计算系统和其操作方法 | |
RU2010128894A (ru) | Основанное на блоке кодирования объединение harq | |
CN105637767A (zh) | 编码的速率匹配处理方法和装置 | |
CN101986584A (zh) | 一种3gpp lte中的解速率匹配装置和方法 | |
CN102447521B (zh) | 一种解速率匹配方法及装置 | |
CN102957511B (zh) | 一种数据传输的自适应降速方法 | |
CN108574494B (zh) | 编译码方法及装置 | |
CN108880566A (zh) | 一种Polar码传输方法及装置 | |
CN102136887A (zh) | 传输块循环冗余校验方法及装置 | |
CN107295646A (zh) | 一种资源分配方法及网络设备 | |
CN108809500A (zh) | 编码方法、装置和设备 | |
JP2023508449A (ja) | 復号化方法、装置、ネットワークデバイス及び記録媒体 | |
CN103297197A (zh) | 面向移动容迟网络的分布式中继纠删编码方法 | |
CN107347000B (zh) | 一种基于arm的数字喷泉码的编译码实现方法 | |
CN104753653A (zh) | 一种解速率匹配的方法、装置和接收侧设备 | |
CN102255710B (zh) | 编码块存储方法和设备 | |
CN101944972B (zh) | 编解码方法、装置以及通信系统 | |
CN107181533B (zh) | 一种喷泉码的译码方法及喷泉码的水声通信传输方法 | |
CN112202530B (zh) | 信道盲检测方法和装置以及通信装置和存储介质 | |
CN103873188B (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 |