交织和解交织处理中哑元的填充方法和装置及处理系统的制作方法

文档序号:7525760阅读:142来源:国知局
专利名称:交织和解交织处理中哑元的填充方法和装置及处理系统的制作方法
技术领域
本发明实施例涉及通信技术,特别是涉及一种交织和解交织处理中哑元的填充方法和装置及处理系统。

背景技术
Turbo编码由于具有突出的纠错能力,成为近年信道编码理论研究的热点问题。在Turbo编码后进行子块交织处理,可提高编码后数据在空口上传输位置的随机性,进一步提高编码后数据抗衰落的能力。
现有技术在对Turbo编码后的子块(Sub-Block)进行交织处理时,如果生成交织矩阵所需的位元数量大于子块输入的比特数,发送端需要将填充子块数据之外的多余位上填充哑元(Dummy)。发送端进行交织矩阵的填充遵循“行写入列读取”的规则,即在生成交织处理前的矩阵(以下称为交织前矩阵)时,以行为单元,首先填充哑元,哑元填充完成后,接着逐行顺序填入数据,直至所有数据填充完毕,得到交织前矩阵;采用列置换规则对交织前矩阵进行列置换,获得交织处理后的矩阵(以下称为交织后矩阵);以列为单位顺序读取交织后矩阵的各位元,从而得到交织处理后的码流。接收端在接收到来自发送端的码流后进行解交织处理,在解交织过程中通过在线计算或查表的方式,获得哑元在交织后矩阵中的填充位置,进行哑元回填充,从而得到恢复的交织后矩阵。
发明人在实现本发明实施例过程中发现,现有技术在接收端进行解交织处理时,对于哑元回填充,需要通过繁琐的在线计算方式,获得哑元在交织后矩阵中的填充位置,因此哑元回填的复杂性较高,从而增加了解交织实现的复杂度。


发明内容
本发明实施例提供一种交织和解交织处理中哑元的填充方法和装置及处理系统。
本发明实施例提供了一种交织处理中哑元的填充方法,包括 根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息; 根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息; 在交织前矩阵中的第二哑元填充位置填充哑元。
本发明实施例还提供了一种解交织处理中哑元的填充方法,包括 根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息; 在所述解交织位元序列中哑元回填位置填充哑元。
本发明实施例还提供了一种交织处理中哑元的填充装置,包括 第一哑元填充位置信息确定模块,用于根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息; 第二哑元填充位置信息确定模块,用于根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息; 哑元填充模块,用于在交织前矩阵中的第二哑元填充位置填充哑元。
本发明实施例还提供了一种解交织处理中哑元的填充装置,包括 哑元回填位置信息确定模块,用于根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息; 哑元回填模块,用于在所述解交织位元序列中哑元回填位置填充哑元。
本发明实施例还提供了一种哑元填充的处理系统,包括 交织处理中哑元的填充装置,用于根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息;根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息;以及在交织前矩阵中的第二哑元填充位置填充哑元; 解交织处理中哑元的填充装置,用于根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息;在所述解交织位元序列中哑元回填位置填充哑元。
本发明实施例提供的交织和解交织处理中哑元的填充方法和装置及处理系统中,为了保证交织后的比特序列中哑元的集中分布,在交织处理时根据预先确定的交织后矩阵中哑元的填充位置,确定交织前矩阵中哑元的填充位置并在该位置中填充哑元,使得交织后序列中哑元的分布集中,在进行解交织处理时,可根据计数的方式在接收的比特序列中回填哑元,有利于降低接收端进行解交织处理过程中哑元回填的复杂度,从而有利于降低系统时延、节约系统资源。



为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的发送端交织处理中哑元的填充方法流程图; 图2a为本发明第二实施例提供的发送端交织处理方法流程图; 图2b为本发明生成的交织位元序列实施例示意图; 图2c为图2b的对比实例交织位元序列示意图; 图3为本发明第三实施例提供的接收端解交织处理中哑元的填充方法流程图; 图4a为本发明第四实施例提供的发送端Turbo编码子块交织处理方法示意图; 图4b为本发明第四实施例中子块交织位元序列实施例示意图; 图4c为图4b的对比实例子块交织位元序列示意图; 图4d为本发明第四实施例中速率匹配流程示意图; 图4e为本发明第四实施例中汇聚后序列实施例示意图; 图4f为图4e的对比实例汇聚后序列示意图; 图5a为本发明第五实施例提供的接收端Turbo编码子块解交织处理方法实施例流程图; 图5b为本发明第五实施例提供的Turbo编码子块解交织处理方法示意图; 图5c为本发明第五实施例中解速率匹配流程示意图; 图6为本发明第六实施例提供的一种交织处理中哑元的填充装置; 图7为本发明第七实施例提供的一种解交织处理中哑元的填充装置; 图8为本发明第八实施例提供的一种哑元填充的处理系统。

具体实施例方式 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明第一实施例提供的发送端交织处理中哑元的填充方法流程图。如图1所示,本实施例包括 步骤11、确定哑元在交织后矩阵中的第一哑元填充位置信息; 具体地,根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息,并进行填充,例如在交织后矩阵中哑元填充的预设规则可以为在交织后矩阵中逐列依次填充哑元,具体地,可以为在交织后矩阵中的前几列逐列依次填充哑元。
在交织的不同处理阶段生成的矩阵可包括交织处理前生成的矩阵(即交织前矩阵)以及交织处理后生成的矩阵(即交织后矩阵),交织前矩阵和交织后矩阵的行数和列数都相同,且交织后矩阵中的位元与交织前矩阵中的位元因交织处理(如列置换处理等)而产生特定的对应关系。
以交织前矩阵的生成为例进行说明。如果预先确定交织前矩阵或交织后矩阵的列数,那么生成交织前矩阵或交织后矩阵所需的位元总数应为列数的整数倍,例如假设预先确定的交织前矩阵的列数为32列,则允许生成的交织前矩阵的总位元数应为32的整数倍。在获取了Turbo编码后的子块数据的比特数之后,根据预先确定的列数(如32列),可得到生成交织前矩阵所需要的最小行数。根据得到的行数和列数构成一个矩阵,并以该矩阵为基础,按照一定规则向矩阵中填入相应位元,即可获得交织前矩阵。如果Turbo编码后的子块数据的比特数不能够满足生成交织矩阵所需的位元总数,即生成交织矩阵所需的位元总数大于子块数据的比特数,可在矩阵的多余位上填充哑元。填充的哑元可以是能区分子块数据的任何标识,如0、1或空位等能区分子块数据的标识。交织后矩阵的生成方法与交织前矩阵的生成方法相似。
本步骤交织处理后生成的序列中哑元的位置信息是预先设定的,即预先确定的这些哑元需逐列依次填充在交织后矩阵中,因此,根据这一预设规则,以及确定的矩阵的行数和列数,可确定哑元在交织后矩阵中的第一哑元填充位置信息。
步骤13、根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息。
这里预设的列置换规则即为预先设置的交织前矩阵中各列与交织后矩阵中各列之间的对应关系。
由于在步骤11中确定了哑元在交织后矩阵中的位置信息,即第一哑元填充位置信息,可根据预设的列置换规则,获取与第一哑元填充位置相应的交织前矩阵中的位置,即第二哑元填充位置。
步骤15、在交织前矩阵中的第二哑元填充位置填充哑元。
在确定好交织前矩阵中需要填充哑元的第二填充位置信息时,可在第二哑元填充位置中填充哑元。哑元可以散落分布在交织前矩阵中,即哑元在交织前矩阵中可以是散落分布的。
在获取交织前矩阵之后,可采用预设的列置换规则,对交织前矩阵进行列置换,得到交织后矩阵;逐列依次输出交织后矩阵中的各位元,得到交织位元序列。显然,采用本实施例获得的交织位元序列,哑元在交织位元序列中是集中分布的,即位于交织位元序列的前几列。
发明人在实现本发明实施例过程中发现,现有技术在生成交织矩阵过程中,按行依次填入哑元,哑元在交织前矩阵中是集中分布的,但是采用列置换规则对交织前矩阵进行列置换后,哑元散落分布在交织后矩阵中的不同位置。这使得一方面,发送端需要增加一些标志位以用于对哑元和子块数据进行隔离;另一方面,接收端在进行解交织处理过程中,需要通过在线计算或查表的方式获取哑元的位置信息。如果采用在线计算的方式获取哑元的位置信息,实现复杂度较高,增加链路时延;如果采用查表的方式获取哑元的位置信息,需要建立并存储各种可能情形的映射关系表,占用较多存储资源,实现复杂度较高。
本实施例在生成交织矩阵时,预先确定哑元在交织后矩阵中的位置,即哑元逐列依次填充在交织后矩阵中的位置信息,根据这些位置信息和预设的列置换规则,获得交织前矩阵中用于填充哑元的位置,使得发送端生成的交织位元序列中哑元通过列置换可以集中分布,这样处理的好处在于接收端可通过哑元计数的方式隔离哑元,即通过计算哑元的个数来隔离哑元,因此,发送端不需要增加标志位对哑元和正常子块数据进行区分,有利于节省发送端的资源;此外,交织后位元序列中哑元对应的位分布集中,有利于降低接收端进行解交织处理过程中哑元回填的复杂度,从而有利于降低系统时延、节约系统资源。
图2a为本发明第二实施例提供的发送端交织处理方法流程图。如图2a所示,本实施例包括 步骤21、确定需要生成的交织矩阵的列数。
假设需要生成的交织矩阵的列数为32列,表示成矩阵中包括的各列从左到右依次称为第0列、第1列、第2列……第31列。
步骤23、确定需要生成的交织矩阵的行数。
以下采用

表示需要生成的交织矩阵的总行数,矩阵中包括的各行从上到下依次称为第0行、第1行、第2行……第

行。
假设Turbo编码后的子块数据的比特数为D,那么

的取值为满足公式(1)的最小正整数 公式(1)中,

表示生成交织矩阵所需要的位元总数。
步骤25、确定需要生成的交织矩阵的哑元数量。
如果则表示子块数据的比特数等于生成交织矩阵所需要的位元数量,此时,不需要在矩阵中填充哑元;如果则表示数据的比特数小于生成交织矩阵所需要的位元数量,不足的位元数量可采用哑元填充。
以下采用ND表示生成交织矩阵所需哑元的总数量,ND的取值满足公式(2) 如果且

的取值为满足公式(1)的最小正整数,则0≤ND≤31。
步骤27、根据确定哑元的数量和预设规则,确定哑元在交织后矩阵中的填充位置信息,即第一哑元填充位置信息。
本步骤的预设规则为交织后矩阵中哑元填充的预设规则,即交织后矩阵中哑元填充的预设规则为在交织后矩阵中逐列依次填充哑元。交织后矩阵的行数和列数分别与交织前矩阵的行数和列数相同。在确定了交织后矩阵的行数和列数,以及确定了所需的哑元总数量,则哑元在交织后矩阵中的列编号亦可确定。假设用J表示交织后矩阵的列编号,在确定了交织后矩阵中可填充哑元的列编号J后,可根据列置换规则对应的列置换图谱,得到填充有哑元的列编号J所对应的交织前矩阵的列编号j。
如果那么个哑元将被逐列依次填充在交织后矩阵上例如从第J=0列上开始依次填充哑元;如果哑元序列包括的哑元个数大于行数,即则将哑元序列为nk中第

个哑元开始依次填入第J=1列;以此类推,直到将ND个哑元全部填入交织后矩阵,此时,即可获得交织后矩阵中填充有哑元的所有列编号,即交织后矩阵中第一哑元填充位置信息。
步骤29、根据预先确定的列置换规则,获得交织后矩阵中第一哑元填充位置信息对应的交织前矩阵中第二哑元填充位置信息。
在确定了交织后矩阵中的哑元所在的列编号,即可根据已知的列置换规则,获取交织前矩阵中哑元所在的列编号,根据这些交织前矩阵中的列编号以及哑元的总数量,可获得交织前矩阵中的第二哑元填充位置信息。如果列置换规则不同,则在交织前矩阵中的第二哑元填充位置信息也有所不同。
步骤211、生成交织前矩阵。
在生成交织前矩阵时,可在第二哑元填充位置中依次填充哑元,而在其他位置(即非第二哑元填充位置)上逐行依次填充子块数据,即可得到交织前矩阵。
在实现时,可采用以下伪码生成交织前矩阵 set k=0 and i=0 while{i<K∏} j=i mod 32P(J)=j
vi=<NULL>else vi=dk k++end ifi++ end while 上述伪码的含义可采用步骤2111-步骤2118表示。
假设K∏为交织前矩阵中包括的位元总数量;交织前矩阵的列数为32列,哑元的总数量为ND。交织前输入的子块数据比特序列为dk,k=0,1,2…,K∏-ND-1;交织前矩阵的位元序列为Vi,i=,1,2…K∏-1,交织前矩阵第1行第1列第1个位元为第V0个位元,交织前矩阵第1行第1列第2个位元为第V1个位元,以此类推,逐行依次对i递增1。
步骤2111、令k=0且i=0。
步骤2112、判断i是否小于K∏(i<K∏),如果是,执行步骤2113,否则,执行步骤213。
步骤2113、设j=i mod 32,P(J)=j,设j为i对32取模的值,即为位元vi所在交织前矩阵的列编号,设J为列置换后的矩阵(即交织后矩阵)的列编号,P(J)为标准通信协议中的列置换规则对应的列置换图谱。
步骤2114、判断不等式是否满足,即判断vi位元经列置换后,按列读出时,是否处于序列的前ND个比特中,是则执行步骤2115,否则,执行步骤2116。
步骤2115、vi=<NULL>,此位元为哑元,将0赋值给vi;执行步骤2118。
步骤2116、vi=dk,此位元不是哑元,此位元应该放置比特数据,则将dk赋值给vi。
步骤2117、k=k+1,执行步骤2118。
步骤2118、i=i+1,执行步骤2112。
循环执行步骤2112-2218,直至i等于K∏-1,说明交织前矩阵已经填满,则交织前矩阵生成结束,执行步骤213。
步骤213、采用预设的列置换规则,即可采用标准通信协议中的列置换规则对应的列置换图谱P(J),对交织前矩阵进行列置换,得到交织后矩阵。
步骤215、逐列读取交织后矩阵中的各位元并顺序输出,得到交织位元序列。
图2b为本发明生成的交织位元序列实施例示意图;图2c为图2b的对比实例交织位元序列示意图,即采用现有技术生成的交织位元序列实施例示意图。图2b和图2c中,阴影部分代表当前比特为哑元;空白部分代表当前比特为编码数据。通过对比图2b和图2c可知,现有技术哑元分布在生成的交织位元序列中的不连续位置,即哑元分布较为零散;而本发明生成的交织位元序列实施例中,哑元在交织位元序列中的分布集中,即集中在交织位元序列的前ND个比特。
举例说明 假设一个编码前为40个比特(bit)的子块(code block),经编码后系统位的数据为dk,,k=1,2,3…43,44;即组成的数据比特序列为d1,d2,d3,d4,d5,d6,d7…d41,d42,d43,d44。设定交织矩阵的列数为32列。根据数据比特总数,确定交织矩阵的行数为2行。由于生成交织矩阵所需的位元总数为32×2=64,故在交织矩阵中须插入的哑元个数为64-44=20个。设20个哑元组成的哑元表示为nk,k=0、1、2、3…19;即组成的哑元序列为n1,n2,n3,n4,n5,n6,n7…n18,n19。
(1)确定交织后矩阵填充有哑元的列编号J 20个哑元逐列依次填入在交织后矩阵(2行×32列)中,可得到交织后矩阵中填充有哑元的列分别为第P(0)列、第P(1)列、第P(2)列、第P(3)列、第P(4)列、第P(5)列、第P(6)列、第P(7)列、第P(8)列和第P(9)列(J=0、1、2、3、4、5、6、7、8、9)。
(2)查找标准协议中规定的列置换图谱,得到填充有哑元的交织后矩阵中的列编号J对应的交织前矩阵的列编号j 表1 为子块交织的列置换图谱示例一 表1中编号为J的列在列置换图谱中表示为P(J)。通过查找表1可获得交织后矩阵中编号J为0、1、2、3、4、5、6、7、8、9时,分别对应的交织前矩阵的列编号j为0、16、8、24、4、20、12、28、2、18。
(3)生成交织前矩阵在交织前矩阵编号j为0、16、8、24、4、20、12、28、2、18的位置逐行依次填入哑元序列nk,也可以按其它方式填入哑元,只需要保证哑元填入这些位置;在其他列中逐行依次填入数据比特序列dk,则生成的交织前矩阵对应各位元分布可以表示如下 如果列置换规则不同,则在交织前矩阵中的第二哑元填充位置信息也有所不同。
表2 为子块交织的列置换图谱示例二 例如通过查找表2可获得交织后矩阵中编号J为0、1、2、3、4、5、6、7、8、9时,分别对应的交织前矩阵的列编号j为1、17、9、25、5、21、13、29、3、19。
采用上例生成交织前矩阵相同的规则,并依据通过查询表2获得的交织前矩阵和交织后矩阵列编号的对应关系,生成的交织前矩阵中各位元分布可表示如下 生成交织前矩阵后,可根据列置换图谱对交织前矩阵进行列置换,得到交织后矩阵;逐列依次读取交织后矩阵各位元,可得到交织位元序列。显然,在交织位元序列的第0个比特-第20个比特均为哑元,第21个比特-第63个比特为子块数据,哑元在交织位元序列中的位置分布集中,因此可通过计数的方式区分开哪些比特是哑元,哪些比特是数据。
上述技术方案中,表1所示的列置换图谱可对应于Turbo编码后生成的系统位子块数据或第一校验位子块数据交织处理中的列置换规则;表2所示的列置换图谱可对应于Turbo编码后生成的第二校验位子块数据交织处理中的列置换规则。虽然在交织处理过程中所使用的列置换图谱不同,但进行哑元填充的原理相同。
本实施例获得的交织位元序列中哑元集中分布,将交织位元序列进行速率匹配后向接收端发送,有利于接收端在进行解交织处理过程通过计数等方式获得需要回填哑元的位置信息,降低了解交织处理中哑元回填的复杂性,从而有利于降低系统时延、节约系统资源。
图3为本发明第三实施例提供的接收端解交织处理中哑元的填充方法流程图。如图3所示,本实施例解交织处理中哑元的填充方法包括 步骤31、根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息。
解交织处理过程需恢复发送端生成的交织位元序列。在接收端预先存储有与发送端同步的交织后矩阵中哑元填充的预设规则,该预设规则可为在交织后矩阵中逐列依次填充哑元。根据这一预设规则以及交织后矩阵逐列依次输出位元的预设规则,可知发送端获得的交织位元序列中,哑元是集中分布且哑元的分布位置是确定的,此时,在计算得到第一个哑元的位置信息后,通过计数可获得当前哑元比特后有多少位需要填充哑元,从而确定出解交织位元序列中哑元回填位置信息。
步骤33、在所述解交织位元序列中哑元回填位置填充哑元。
在确定出解交织位元序列中哑元回填位置后,可在这些位置依次填入哑元。填充的哑元可以是能区分子块数据的任何标识,如0、1或空位等能区分子块数据的标识。
在上述技术方案的基础上,接收端还可根据来自发送端的比特序列的打孔位置信息,确定该比特序列中首位数据比特的位置信息;在解交织位元序列中非哑元回填位置,从首位数据比特(子块数据)的位置信息开始,依次填充所述比特序列包括的各数据比特,从而得到恢复出的解交织位元序列。
发明人在实现本发明实施例过程中发现,现有技术发送端采用“行写入列读出”的规则生成交织位元序列,由于哑元在交织位元序列中的分布较为零散,因此接收端在进行解交织处理过程中,需要获取哑元的位置信息。通常可采用在线计算或查表的方式获取哑元的位置信息。如果采用在线计算的方式获取哑元的位置信息,实现复杂度较高,增加链路时延;如果采用查表的方式获取哑元的位置信息,需要建立并存储各种可能情形的映射关系表,需要存储的映射关系表的数量多,因而占用较多存储资源,实现复杂度较高。
区别于现有技术的是,本实施例由于发送端改变了哑元填充方法,使得接收端在哑元回填处理变得简单,接收端在获取第一个哑元的位置信息后,可通过计数的方式获得解交织位元序列中的哑元填充位置信息,明显降低接收端进行解交织处理过程中哑元回填的复杂度,从而有利于降低系统时延、节约系统资源。
图4a-图5c是以Turbo编码后子块交织和解交织处理过程为例,说明本发明实施例的技术方案。
图4a为本发明第四实施例提供的发送端Turbo编码子块交织处理方法示意图。如图4a所示,本实施例发送端Turbo编码子块交织处理方法包括 步骤41、Turbo编码后可得到系统位子块的数据比特序列

、第一校验位子块的数据比特序列

和第二校验位子块的数据比特序列

,分别生成相应的系统位子块的交织位元序列

、第一校验位子块的交织位元序列

和第二校验位子块的交织位元序列


对系统位、第一校验位和第二校验位的子块处理过程中都需要进行哑元填充而生成交织前矩阵,并对交织前矩阵进行列置换得到交织后矩阵的处理步骤,三者进行哑元填充而生成交织前矩阵方法相同,区别在于,系统位和第一校验位的子块交织采用本发明第二实施例中表1所示的列置换图谱;而第二校验位的子块交织采用本发明第二实施例中表2所示的列置换图谱,详细描述可参见本发明第二实施例的记载,不再赘述。
图4b为本发明第四实施例中子块交织位元序列实施例示意图。图4c为图4b的对比实例子块交织位元序列示意图,即基于现有技术得到的子块交织位元序列示意图。通过比较图4b和图4c可知,现有技术子块交织处理后,哑元填充位置较为零散,而本实施例哑元填充位置较为集中。
步骤43和步骤45为根据获得的三个交织位元序列进行速率匹配处理的方法。图4d为本发明第四实施例中速率匹配流程示意图。
步骤43、对三个交织位元序列进行比特汇聚处理将子块交织后的交织位元序列存放在一个缓存器(buffer)中,系统位子块的交织位元序列各数据比特顺序存放,第一校验位子块的交织位元序列各数据比特与第二校验位子块的交织位元序列各数据比特交叉存放,即 k=0,......,K∏-1 k=0,......,K∏-1 k=0,......,K∏-1 其中,

分别表示系统位子块的交织位元序列、第一校验位子块的交织位元序列、第二校验位子块的交织位元序列,以上序列包含哑元(子块交织时引入);K∏表示子块交织后每个交织位元序列的长度;wk表示比特汇聚后的序列。
图4e为本发明第四实施例中汇聚后序列实施例示意图。图4f为图4e的对比实例汇聚后序列示意图,即基于现有技术得到的汇聚后序列的示意图。通过比较图4e和图4f可知,现有技术子块交织位元序列汇聚后的序列中哑元填充位置较为零散,而本实施例子块交织位元序列汇聚后的序列中哑元填充位置较为集中。
步骤45、根据速率匹配的起始位置以及速率匹配需要的长度,输出速率匹配后的比特序列,输出的速率匹配后的比特序列中不包含哑元。
图4d中,Ncb确定了比特选择和打孔的处理范围。Ncb一般为3*K∏但也可能小于3*K∏,为打孔前序列的下边界(打孔结束位置)。K0为打孔开始的位置,由协议中公式计算得出。E为速率匹配需要的长度,即为打孔后数据长度,如果E<Ncb,则不存在从位置0开始重复取数据的操作,如果E>Ncb,则要从位置0处开始继续取数据,直到获得的数据长度为E的比特序列为止。
本实施例在子块交织过程中获得的哑元分布集中,发送端在进行子块交织和速率匹配后,向接收端发送数据长度为E的比特序列。通过对比图4b和图4c,以及对比图4e和图4f,可知采用本实施例方法处理后的序列,哑元集中在比特汇聚后序列的连续位置,而按现有技术协议处理后的哑元分散在汇聚后序列的分散、不连续位置。在之后的比特选择和打孔处理中,只将数据(bit)发送出去,而哑元是不进行发送的;故发送的数据比特序列E中,仅包括数据(bit)而没有哑元。
在接收端的去打孔和哑元回填处理,需要将收到的数据流E,恢复为比特汇聚后数据的格式。此时,如果哑元位置集中且连续,那仅需要计算出哑元相应的起始位置和结束位置,即可大段的回填哑元,且连续的回填数据比特序列E。而原先技术中哑元散落且不连续,则必须实时计算哑元位置及数据位置,间插的填入哑元及数据,计算量大,实现复杂。而在本实施例中仅使用计数方式即可简单实现解交织处理中哑元的回填,因此本实施例明显降低了接收端解交织过程中哑元回填的实现难度。
图5a为本发明第五实施例提供的接收端Turbo编码子块解交织处理方法实施例流程图。图5a对应的实现解交织处理的实现伪码如下 set k=0 and i=0 and rep=0 and vi=0 while{i<E} if(k<Ncb) if(k<K0) dk=0 else if(K0≤k≤ND) dk=<NULL> else if(K∏≤k≤K∏+2*ND) dk=<NULL> else if(Ncb≤k≤3K∏-1) dk=0 else if(rep=0) dk=vi else dk=dk+vi end if end if i++ if(k<Ncb) k++ else k=0 rep=1 end if end while 图5b为本发明第五实施例提供的Turbo编码子块解交织处理方法示意图。下面结合图5a和图5b说明上述伪码的含义以及解交织的具体实现方法。
如图5a所示,本实施例对接收的来自发送端的数据比特序列进行的去打孔和哑元回填的处理方法,包括 步骤51、令k=0、i=0、rep=0且vi=0。
vi为接收端接收的来自发送端的数据比特序列,i=0、1、2…E-1,E为该数据比特序列的总长度;dk为经过哑元回填处理后的恢复序列,k为交织后的矩阵中位元的脚标,k=0、1、2…Ncb-1,Ncb表示发送端速率匹配过程中的打孔结束位置;K0表示发送端速率匹配过程中的打孔开始位置;rep为重复指示,当rep=0时表示发送端生成数据比特序列时不存在重复,当rep=1时表示发送端生成数据比特序列时存在重复。
本步骤对接收端接收到的速率匹配后的数据比特序列开始操作时,将i和k置零,序列vi的初始值设为0。
步骤52、判断i<E是否成立,如果是,执行步骤53;否则,执行步骤519。
本步骤用于确定当前处理的比特是否在接收的数据比特序列中。
步骤53、判断k<Ncb是否成立,如果是,执行步骤54;否则,执行步骤518。
本步骤用于确定交织后的矩阵中脚标k的位元,是否位于发送端进行打孔处理时打孔结束位置对应的位元之前。
步骤54、判断k<K0是否成立,如果是,执行步骤55;否则,执行步骤56。
本步骤用于确定交织后的矩阵中脚标k的位元,是否位于发送端进行打孔处理时打孔开始位置对应的位元之前。
步骤55、dk=0,执行步骤515。
本步骤说明此时的dk为发送端进行速率匹配处理过程中被打孔去除的哑元或数据,需对dk补0处理,即将此处dk赋值为0。
步骤56、判断K0≤k≤ND是否成立,如果是,执行步骤57;否则,执行步骤58。
本步骤用于确定交织后的矩阵中脚标k的位元,是否为在发送端速率匹配过程中被打孔处理的位元。
步骤57、dk=<NULL>,执行步骤512。
本步骤说明此时的dk为哑元。
步骤58、判断K∏≤k≤K∏+2*ND是否成立,如果是,执行步骤59;否则,执行步骤510。
本步骤用于确定交织后的矩阵中脚标k的位元,是否在发送端在速率比特处理过程中比特选择和打孔的处理范围;ND为哑元的总数量,K∏表示子块交织后每个交织位元序列的长度。
步骤59、dk=<NULL>;执行步骤512。
本步骤说明此时的dk为哑元。
步骤510、判断Ncb≤k≤3K∏-1是否成立,如果是,执行步骤511,否则,执行步骤512。
步骤511、dk=0;执行步骤512。
本步骤说明此时的dk对应的数据在发送端即没有发送出来,此时需对dk补0处理,即将此处dk赋值为0。
步骤512、判断rep=0是否成立,如果是,执行步骤513,否则,执行步骤514。
本步骤用于确定发送端生成数据比特序列是否不存在重复的情况。
步骤513、dk=vi;执行步骤515。
步骤514、dk=dk+vi,执行步骤515。
步骤515、i=i+1;执行步骤516。
步骤516、判断k<Ncb是否成立,如果是,执行步骤517,否则,执行步骤518; 本步骤用于确定交织后的矩阵中脚标k的位元,是否位于发送端进行打孔处理时打孔结束位置对应的位元之前。
步骤517、k=k+1;执行步骤52。
步骤518、k=0,rep=1,执行步骤52。
本步骤说明在发送端生成数据比特序列时存在重复的情况。
步骤519、结束本流程。
在完成接收的数据比特序列去打孔和哑元回填处理后,可得到恢复序列,根据得到的恢复序列进行后速的解速率匹配处理流程。图5c为本发明第五实施例中解速率匹配流程示意图。如图5c所示的对恢复序列进行的逆比特汇聚、去子块交织等处理均为发送端处理的逆过程,通过这些处理后向译码端输出去子块交织后的系统位数据、去子块交织后的第一校验位数据、去子块交织后的第二校验位,可得到Turbo译码后的数据。
本实施例中使用计数方式即可简单实现解交织处理中哑元的回填,因此本实施例明显降低了接收端解交织过程中哑元回填的实现难度,从而有利于降低系统时延、节约系统资源。
图6为本发明第六实施例提供的一种交织处理中哑元的填充装置。如图6所示,本实施例交织处理中哑元的填充装置包括第一哑元填充位置信息确定模块61、第二哑元填充位置信息确定模块62和哑元填充模块63。
第一哑元填充位置信息确定模块61用于根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息。所述交织后矩阵中哑元填充的预设规则可为在交织后矩阵中逐列依次填充哑元。
第二哑元填充位置信息确定模块62用于根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息。
哑元填充模63用于在交织前矩阵中的第二哑元填充位置填充哑元。
本实施例交织处理中哑元的填充装置在具体实现上,可作为交织器中的一个用于在生成交织前矩阵过程中进行哑元填充的功能模块。
本实施例通过预先确定哑元在交织后矩阵中的位置,即哑元逐列依次填充在交织后矩阵中的位置信息,根据这些位置信息和预设的列置换规则,获得交织前矩阵中用于填充哑元的位置,使得发送端生成的交织位元序列中哑元是集中分布的,有利于降低接收端进行解交织处理过程中哑元回填的复杂度,从而有利于降低系统时延、节约系统资源。
图7为本发明第七实施例提供的一种解交织处理中哑元的填充装置。如图7所示,本实施例解交织处理中哑元的填充装置包括哑元回填位置信息确定模块71和哑元回填模块72。
哑元回填位置信息确定模块71用于根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息。所述交织后矩阵中哑元填充的预设规则可为在交织后矩阵中逐列依次填充哑元。这里所述的哑元回填的位置信息可包括哑元回填的初始位置和结束位置。
哑元回填模块72用于在所述解交织位元序列中哑元回填位置填充哑元。
本实施例解交织处理中哑元的填充装置在具体实现上,可作为解交织器中的一个用于生成解交织位元序列中进行哑元回填的功能模块。
本实施例在获取第一个哑元的位置信息后,可通过计数的方式获得解交织位元序列中的哑元填充位置信息,明显降低接收端进行解交织处理过程中哑元回填的复杂度,从而有利于降低系统时延、节约系统资源。
图8为本发明第八实施例提供的一种哑元填充的处理系统。如图8所示,本实施例哑元填充的处理系统包括交织处理中哑元的填充装置81和解交织处理中哑元的填充装置82。
交织处理中哑元的填充装置81用于根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息;根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息;在交织前矩阵中的第二哑元填充位置填充哑元。
解交织处理中哑元的填充装置82用于根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息;在所述解交织位元序列中哑元回填位置填充哑元。
本实施例由于发送端生成的交织位元序列中哑元分布集中,使得接收端在哑元回填处理变得简单,接收端在获取第一个哑元的位置信息后,可通过计数的方式获得解交织位元序列中的哑元填充位置信息,明显降低接收端进行解交织处理过程中哑元回填的复杂度,从而有利于降低系统时延、节约系统资源。
本领域普通技术人员可以理解附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
权利要求
1、一种交织处理中哑元的填充方法,其特征在于,包括
根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息;
根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息;
在交织前矩阵中的第二哑元填充位置填充哑元。
2、根据权利要求1所述的交织处理中哑元的填充方法,其特征在于,所述哑元为与所述交织前矩阵或交织后矩阵包括的子块数据不同的标识。
3、根据权利要求1所述的交织处理中哑元的填充方法,其特征在于,所述交织后矩阵中哑元填充的预设规则为在交织后矩阵中逐列依次填充哑元。
4、根据权利要求1所述的交织处理中哑元的填充方法,其特征在于,还包括
在所述交织前矩阵中的非第二哑元填充位置,逐行依次填充子块数据,得到交织前矩阵;
采用预设的所述列置换规则对所述交织前矩阵进行列置换处理,得到交织后矩阵;
逐列依次输出所述交织后矩阵中的各位元,得到交织位元序列。
5、一种解交织处理中哑元的填充方法,其特征在于,包括
根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息;
在所述解交织位元序列中哑元回填位置填充哑元。
6、根据权利要求5所述的解交织处理中哑元的填充方法,其特征在于,所述交织后矩阵中哑元填充的预设规则为在交织后矩阵中逐列依次填充哑元。
7、根据权利要求5所述的解交织处理中哑元的填充方法,其特征在于,还包括
根据接收的比特序列和所述比特序列的打孔位置信息,确定所述比特序列中首位数据比特的位置信息;
在所述解交织位元序列中非哑元回填位置,从所述首位数据比特的位置开始,依次填充所述比特序列包括的各数据比特。
8、一种交织处理中哑元的填充装置,其特征在于,包括
第一哑元填充位置信息确定模块,用于根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息;
第二哑元填充位置信息确定模块,用于根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息;
哑元填充模块,用于在交织前矩阵中的第二哑元填充位置填充哑元。
9、根据权利要求8所述的交织处理中哑元的填充装置,其特征在于,所述交织后矩阵中哑元填充的预设规则为在交织后矩阵中逐列依次填充哑元。
10、一种解交织处理中哑元的填充装置,其特征在于,包括
哑元回填位置信息确定模块,用于根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息;
哑元回填模块,用于在所述解交织位元序列中哑元回填位置填充哑元。
11、根据权利要求10所述的解交织处理中哑元的填充装置,其特征在于,所述交织后矩阵中哑元填充的预设规则为在交织后矩阵中逐列依次填充哑元。
12、一种哑元填充的处理系统,其特征在于,包括
交织处理中哑元的填充装置,用于根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息;根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息;以及在交织前矩阵中的第二哑元填充位置填充哑元;
解交织处理中哑元的填充装置,用于根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息;在所述解交织位元序列中哑元回填位置填充哑元。
全文摘要
一种交织和解交织处理中哑元的填充方法和装置及处理系统。其中交织处理中哑元的填充方法包括根据交织后矩阵中哑元填充的预设规则,确定哑元在交织后矩阵中的第一哑元填充位置信息;根据预设的列置换规则和所述第一哑元填充位置信息,确定哑元在交织前矩阵中的第二哑元填充位置信息;在交织前矩阵中的第二哑元填充位置填充哑元。解交织处理中哑元的填充方法包括根据交织后矩阵中哑元填充的预设规则以及预先获取的哑元总数量,确定解交织位元序列中哑元回填位置信息;在所述解交织位元序列中哑元回填位置填充哑元。本发明实施例有利于降低接收端进行解交织处理过程中哑元回填的复杂度,从而有利于降低系统时延、节约系统资源。
文档编号H03M13/27GK101510781SQ200910080150
公开日2009年8月19日 申请日期2009年3月24日 优先权日2009年3月24日
发明者孟凡博, 徐新余 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1