一种适用于WiMAX的交织或解交织的实现方法和装置 |
|||||||
申请号 | CN201110133676.4 | 申请日 | 2011-05-23 | 公开(公告)号 | CN102801488A | 公开(公告)日 | 2012-11-28 |
申请人 | 中兴通讯股份有限公司; | 发明人 | 陈月强; 吴枫; 张彩虹; 石义军; | ||||
摘要 | 本 发明 公开了一种适用于WiMAX的交织或解交织的实现方法,所述方法包括:根据待交织或待解交织的原始数据的数据包长度获取交织矩阵列因子;根据所述交织矩阵列因子,并结合交织地址压缩表计算读写控制地址,完成交织或解交织操作。本发明还公开了一种适用于WiMAX的交织或解交织的实现装置,通过上述方法和装置,减少了原始数据的读写地址所需求的存储空间,简化了交织或解交织的过程。 | ||||||
权利要求 | 1.一种适用于WiMAX的交织或解交织的实现方法,其特征在于,所述方法包括: |
||||||
说明书全文 | 一种适用于WiMAX的交织或解交织的实现方法和装置技术领域[0001] 本发明涉及第三代合作伙伴计划长期演进系统中数据传输技术,特别是指一种适用于WiMAX的交织或解交织的实现方法和装置。 背景技术[0002] 交织技术广泛应用于通讯领域,用于将突发错误转换为随机错误,以降低纠错的集中性和技术成本。为了抵抗传输过程中的突发错误,全球微波互联接入(Worldwide Interoperability for Microwave Access,WiMAX)系统中子块在进行信道循环卷积编码后进行了内部交织。同理,接收方需要进行解交织。 [0003] 由于交织或解交织过程中,原始数据的读写地址的计算比较复杂,因此在现有技术中均采用提前计算地址,然后存储并进一步使用的方式。由于WiMAX系统支持多达17种包长,且最大包长为2400,因此存储交织或解交织过程中,原始数据的读写地址需要比较大的存储空间,并且需要根据包长查找不同的表,用以找出对应的地址,实现较为复杂。 发明内容[0004] 有鉴于此,本发明的主要目的在于提供一种适用于WiMAX的交织或解交织的实现方法和装置,减少了原始数据的读写地址所需求的存储空间,简化了交织或解交织的过程。 [0005] 为达到上述目的,本发明的技术方案是这样实现的: [0006] 本发明提供了一种适用于WiMAX的交织或解交织的实现方法,所述方法包括: [0007] 根据待交织或待解交织的原始数据长度(N)获取交织矩阵列因子(m); [0008] 根据所述交织矩阵列因子(m),并结合交织地址压缩表计算读写控制地址,完成交织或解交织操作。 [0009] 其中,所述获取交织矩阵列因子,具体为:通过查询数据包长度和交织矩阵列因子的映射表,获取交织矩阵列因子。 [0010] 其中,所述读写控制地址,包括:存储了待交织或待解交织的原始数据的处理前缓存单元的读控制地址,以及处理后缓存单元的写控制地址; [0011] 所述根据所述交织矩阵列因子,并结合交织地址压缩表计算读写控制地址,完成交织或解交织操作具体包括:初始化原始地址基地址、索引因子和衍生因子,结合交织地址压缩表得到交织地址基地址;根据所述交织地址基地址和原始地址基地址计算生成读写控制地址;根据所述读写控制地址将处理前缓存单元数据写入处理后缓存控制单元。 [0012] 其中,所述根据交织地址基地址和原始地址基地址计算生成读写控制地址,具体为:将所述交织地址基地址分别加0、1、2和3,得到4个处理前缓存单元的读控制地址; [0013] 将所述原始地址基地址分别加0、N/4、2N/4和3N/4,得到4个处理后缓存单元的写控制地址。 [0014] 其中,所述写入处理后缓存单元之后,还包括:原始地址基地址累加1,衍生因子累加1,如果交织地址基地址累加2^m后小于原始数据的数据包长度,则重新缓存交织地址基地址,生成读写控制地址,进行读写操作;如果不小于原始数据的数据包长度,则对缓存的交织地址基地址累加2^(m-1),然后生成读写控制地址,进行读写操作;当缓存的交织地址基地址使用完毕,索引因子累加1,如果索引因子不小于N/4,则结束流程,否则返回初始化衍生因子,并执行后续流程。 [0015] 本发明还提供了一种适用于WiMAX的交织或解交织的实现装置,所述装置包括:处理前缓存单元、读写控制单元和处理后缓存单元,其中, [0016] 所述读写控制单元,用于根据待交织或待解交织的原始数据长度获取交织矩阵列因子,根据所述交织矩阵列因子,并结合交织地址压缩表计算读写控制地址,根据所述读写控制地址,从处理前缓存单元读取待交织或待解交织的原始数据,写入处理后缓存单元,完成交织或解交织操作。 [0017] 其中,所述读写控制单元获取交织矩阵列因子,具体为:通过查询数据包长度和交织矩阵列因子的映射表,获取交织矩阵列因子。 [0018] 其中,所述读写控制地址,包括:存储了待交织或待解交织的原始数据的处理前缓存单元的读控制地址,以及处理后缓存单元的写控制地址; [0019] 所述根据所述交织矩阵列因子,并结合交织地址压缩表计算读写控制地址,根据所述读写控制地址,从处理前缓存单元读取待交织或待解交织的原始数据,写入处理后缓存单元,具体包括:初始化原始地址基地址、索引因子、衍生因子,结合交织地址压缩表得到交织地址基地址;根据交织地址基地址和原始地址基地址计算生成读写控制地址;根据所述读写控制地址将处理前缓存单元数据写入处理后缓存单元。 [0020] 本发明所提供的适用于WiMAX的交织或解交织的实现方法和装置,将待交织或待解交织的原始数据缓存入处理前缓存单元;根据所述原始数据的数据包长度获取交织矩阵列因子;结合交织地址压缩表计算读写控制地址,根据所述读写控制地址,从处理前缓存单元读取待交织或待解交织的原始数据,写入处理后缓存单元,完成交织或解交织操作。通过对WiMAX系统支持的17种包长的交织地址进行了整理,根据从中发现的规律进行存储内容规划,最终给出一个适合全部包长数据使用的压缩的交织地址存储表,并配合该存储表提出了一种交织地址计算方法,从而实现了降低存储资源的消耗,并通过与之相应的读写地址产生机制降低了交织与解交织的实现难度。本发明的使用对于WiMAX系统的实现成本降低具有较大意义。附图说明 [0021] 图1为本发明一种适用于WiMAX的交织或解交织的实现方法流程示意图; [0022] 图2为数据包长度和交织矩阵列因子的映射表的结构示意图; [0023] 图3为交织地址压缩表的结构示意图; [0024] 图4为本发明一种适用于WiMAX的交织或解交织的实现装置结构示意图。 具体实施方式[0025] 本发明的基本思想是将待交织或待解交织的原始数据缓存入处理前缓存单元;根据所述原始数据的数据包长度获取交织矩阵列因子;结合交织地址压缩表计算读写控制地址,根据所述读写控制地址,从处理前缓存单元读取待交织或待解交织的原始数据,写入处理后缓存单元,完成交织或解交织操作。 [0026] 下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。 [0027] 图1为本发明一种适用于WiMAX的交织或解交织的实现方法流程示意图,如图1所示,所述方法包括: [0028] 步骤101,将待交织或待解交织的原始数据缓存入处理前缓存单元; [0029] 步骤102,根据所述原始数据长度获取交织矩阵列因子; [0030] 具体的,所述获取交织矩阵列因子,具体为:通过查询原始数据的长度,即原始数据的数据包长度N和交织矩阵列因子m的映射表,获取交织矩阵列因子m。图2为数据包长度和交织矩阵列因子的映射表的结构示意图。 [0031] 步骤103,根据所述交织矩阵列因子,并结合交织地址压缩表计算读写控制地址,完成交织或解交织操作。 [0032] 具体的,所述读写控制地址,包括:从处理前缓存单元中读取原始数据的读控制地址(以下简称读地址),以及写入处理后缓存单元的写控制地址(以下简称写地址)。所述根据所述交织矩阵列因子,并结合交织地址压缩表计算读写控制地址,完成交织或解交织操作具体包括:初始化原始地址基地址、索引因子和衍生因子,结合交织地址压缩表得到交织地址基地址;根据所述交织地址基地址和原始地址基地址计算生成读写控制地址;根据所述读写控制地址将处理前缓存单元数据写入处理后缓存控制单元。 [0033] 进一步的,步骤103中具体包括以下步骤: [0034] 步骤103a,初始化原始地址基地址为0,初始化索引因子i为0; [0035] 进一步的,在后续步骤103e中原始地址基地址将作为,生成处理后缓存单元的写地址的依据。 [0036] 步骤103b,初始化衍生因子j为0,根据索引因子i和交织矩阵列因子m从交织地址压缩表中查询,得到交织地址基地址; [0037] 具体的,图3为交织地址压缩表的结构示意图,如图3所示,Index为索引因子,ADDR为索引因子对应的交织地址压缩表的读地址。查表取值与步骤102获取的交织矩阵列因子m有关,具体为:m为10时,根据索引因子,从交织地址压缩表中逐行取值;m为9时,根据索引因子,从交织地址压缩表中每两行取值;m为8时,根据索引因子,从交织地址压缩表中每四行取值;依次类推,直至m为3时,根据索引因子,从交织地址压缩表中,每128行取值;上述规律可总结为,根据索引因子,从交织地址压缩表中,每2^(10-m)行取值。 [0038] 步骤103c,缓存所述交织地址基地址; [0039] 具体的,由于步骤103b中是由交织地址压缩表中,每2^(10-m)行读取一个交织地址基地址,因此所述缓存的交织地址基地址为1个或多个。 [0040] 步骤103d,根据交织地址基地址生成4个地址,作为处理前缓存单元的读地址; [0041] 具体的,所述处理前缓存单元的读地址的生成方式为:交织地址基地址分别加0、1、2和3。 [0042] 步骤103e,根据原始地址基地址生成4个地址,作为处理后缓存单元的写地址; [0043] 具体的,所述处理后缓存单元的写地址的生成方式为:原始地址基地址分别加0、N/4、2N/4和3N/4,其中,N为原始数据的数据包长度。 [0044] 步骤103f,根据读写控制地址,从处理前缓存单元读取待交织或待解交织的原始数据,写入处理后缓存单元; [0045] 步骤103g,原始地址基地址累加1,衍生因子j累加1,交织地址基地址累加2^m,如果新交织地址基地址不小于原始数据的数据包长度N,则执行步骤103h,否则执行步骤103c; [0046] 步骤103h,对步骤103c中缓存的交织地址基地址累加2^(m-1),然后执行步骤103d至步骤103f,如果步骤103c中缓存的交织地址基地址使用完毕,或缓存的交织地址基地址累加2^m后,新交织地址基地址大于N时,则执行步骤103i; [0047] 步骤103i,索引因子i累加1,如果索引因子i不小于N/4,则结束流程,否则执行步骤103b。 [0048] 进一步需要说明的是,本发明所述的解交织方法,与交织方法基本相同,所不同的是“处理前缓存单元”存储的是待解交织数据,“处理后缓存单元”存储的是解交织后的结果,中间计算流程相同。 [0049] 进一步的,本发明的交织地址压缩表是对WiMAX系统支持的17种包长的交织地址进行了整理,根据其中的规律进行存储内容规划,进而得到了交织地址压缩表。对交织或解交织处理后的数据进行分析可以得到,WiMAX的子块内交织可以总结为:按行写入,再按交织后列出;列数为2^m,行数为j;最后一行末尾补哑元,输出时删除哑元;列输出顺序是经过交织的。表1为以数据包长度N=36为例的添加哑元的处理后数据: [0050]0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 x x x x x x x x x x x x[0051] 表1 [0052] 其中,x表示哑元。 [0053] 为了加快解交织速度,采用4路并行处理,采用交织读取、顺序存储的方式完成解交织过程。并行处理时,交织后的地址如表2所示,具体为: [0054]ADDR0 ADDR1 ADDR2 ADD3 0 1 2 3 16 17 18 19 32 33 34 35 8 9 10 11 24 25 26 27 x x x x 4 5 6 7 20 21 22 23 x x x x 12 13 14 15 28 29 30 31 x x x x [0055] [0056] 表2 [0057] 由表2可以看出,同一时刻,第二路、第三路和第四路分别是第一路读地址+1、+2和+3后的结果。根据此规律简化表格,则应用本发明的简化后交织地址压缩表的可以节省3/4的存储空间。此外进一步发现,表2中,每3行为一个重复,每行递增16,直至累加16后大于36(即N)时,以哑元x代替。据此,可以只存储每3行中的第一行,其它行的值由上述规律推算。经此操作后,应用本发明简化后交织地址压缩表,可以使存储空间进一步节省约2/3。由表2中还可以看出,每3行中的第一行,偶数组第一行加8即为奇数组第一行的值,据此可以再将表格内容压缩一半。根据上述规律,简化表格则得到本发明的交织地址压缩表及其使用方法。由此可见,采用本发明的方法可以节省大量的读写地址的存储空间,实现也更为简单。 [0058] 下面结合一个具体的实施例阐述一下本发明的交织或解交织的实现方法,本实施例中原始数据的码块长度等于36为例,所述方法包括: [0059] 步骤401,将待交织的原始数据缓存入处理前缓存单元; [0060] 步骤402,由于N=36,通过查询图2可以得到m=4; [0061] 步骤403a,初始化原始地址基地址为0,初始化索引因子i为0; [0062] 步骤403b,初始化衍生因子j为0;由于m为4,因此从图3中根据每2^(10-4)=64行取值,读取到的交织地址基地址为0; [0063] 步骤403c,缓存交织地址基地址0; [0064] 步骤403d,根据交织地址基地址0生成4个地址,分别为0、1、2、3作为处理前缓存单元的读地址; [0065] 步骤403e,使用原始地址基地址0衍生4个地址,分别为0、N/4=9、2N/4=18、3N/4=27作为处理后缓存单元的写地址; [0066] 步骤403f,分别从处理前缓存单元的地址0、1、2和3读出数据,写入到处理后缓存单元的地址0、9、18、27中; [0067] 步骤403g,原始地址基地址累加1,累加后为1,衍生因子j累加1,累加后为1,交织地址基地址累加2^m,累加后为16,因16小于N=36,则重新缓存交织地址基地址16(相当于步骤103g中,返回执行步骤103c); [0068] 步骤403h,根据交织地址基地址16生成4个地址,分别为16、17、18、19作为处理前缓存单元的读地址; [0069] 步骤403i,使用原始地址基地址1衍生4个地址,分别为1、1+N/4=10、1+2N/4=19、1+3N/4=28作为处理后缓存单元的写地址; [0070] 步骤403j,分别从处理前缓存单元的地址16、17、18、19读出数据,写入到处理后缓存单元的地址1、10、19、28中; [0071] 步骤403k,原始地址基地址累加1,累加后为2,衍生因子j累加1,累加后为2,交织地址基地址累加2^m,累加后为32,因32小于N=36,则重新缓存交织地址基地址32(相当于步骤103g中,返回执行步骤103c); [0072] 步骤4031,根据交织地址基地址32生成4个地址,分别为32、33、34、35作为处理前缓存单元的读地址; [0073] 步骤403m,使用原始地址基地址2衍生4个地址,分别为2、2+N/4=11、2+2N/4=20、2+3N/4=29作为处理后缓存单元的写地址; [0074] 步骤403n,分别从处理前缓存单元的地址32、33、34、35读出数据,写入到处理后缓存单元的地址2、11、20、29中; [0075] 步骤403o,原始地址基地址累加1,累加后为3,衍生因子j累加1,累加后为3,交织地址基地址累加2^m,累加后为48,因48大于N=36,进而使用缓存的交织地址基地址,计算新的交织地址基地址,重复执行类似于步骤103d至步骤103f,最终当索引因子不小于N/4,则结束流程。 [0076] 图4为本发明一种适用于WiMAX的交织或解交织的实现装置结构示意图,如图4所示,所述装置,包括:处理前缓存单元41、读写控制单元42和处理后缓存单元43,其中,[0077] 所述处理前缓存单元41,用于缓存待交织或待解交织的原始数据; [0078] 进一步的,本发明所述的解交织方法,与交织方法基本相同,所不同的是:当进行交织处理时,处理前缓存单元41存储的是待交织数据,处理后缓存单元43存储的是交织后的结果;当进行解交织处理时,处理前缓存单元41存储的是待解交织数据,处理后缓存单元43存储的是解交织后的结果,中间计算流程相同。 [0079] 所述读写控制单元42,用于根据待交织或待解交织的原始数据长度获取交织矩阵列因子,根据所述交织矩阵列因子,并结合交织地址压缩表计算读写控制地址,根据所述读写控制地址,从处理前缓存单元41读取待交织或待解交织的原始数据,写入处理后缓存单元43,完成交织或解交织操作。 [0080] 具体的,所述获取交织矩阵列因子,具体为:通过查询数据包长度和交织矩阵列因子的映射表,获取交织矩阵列因子。所述读写控制地址,包括:从处理前缓存单元41中读取原始数据的读地址,以及写入处理后缓存单元43的写地址。所述根据所述交织矩阵列因子,并结合交织地址压缩表计算读写控制地址,根据所述读写控制地址,从处理前缓存单元读取待交织或待解交织的原始数据,写入处理后缓存单元,具体包括:初始化原始地址基地址、索引因子、衍生因子,结合交织地址压缩表得到交织地址基地址;根据交织地址基地址和原始地址基地址计算生成读写控制地址;根据所述读写控制地址将处理前缓存单元41的数据写入处理后缓存单元43。 [0081] 其中,所述根据交织地址基地址生成4个处理前缓存单元的读地址,具体为:将交织地址基地址分别加0、1、2和3,得到4个处理前缓存单元的读地址;所述根据原始地址基地址生成4个处理后缓存单元的写地址,具体为:将原始地址基地址分别加0、N/4、2N/4和3N/4,得到4个处理后缓存单元的写地址。 [0082] 进一步的,所述读写控制单元42,还用于在写入处理后缓存单元43之后,原始地址基地址累加1,衍生因子累加1,如果交织地址基地址累加2^m后小于原始数据的数据包长度,则重新缓存交织地址基地址,生成读写控制地址,进行读写操作;如果不小于原始数据的数据包长度,则对缓存的交织地址基地址累加2^(m-1),然后生成读写控制地址,进行读写操作;当缓存的交织地址基地址使用完毕,索引因子累加1,如果索引因子不小于N/4,则结束交织或解交织操作,否则返回初始化衍生因子,并执行后续流程。 [0083] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 |