子块交织方法及并行子块交织器的制作方法

文档序号:7958848阅读:991来源:国知局
专利名称:子块交织方法及并行子块交织器的制作方法
技术领域
本发明涉及传输技术领域,更具体地说,涉及子块交织方法及并行子块交织器。
背景技术
在通信等领域,时常需要对数据流进行子块交织。子块交织是一种行列交织,其原理如下将数据流作为目标矩阵A,该目标矩阵可视为由X个列向量组成。对上述X个列向量按预设的列置换规则进行列置换,得到经列置换后的目标矩阵Al。随后,对目标矩阵Al 进行转置,得到转置后的目标矩阵A2,最后将目标矩阵A2中的所有数据按行输出,即完成子块交织。基于上述子块交织原理,发明人发现,在现有技术中,子块交织器对数据流的处理为串行处理方式,也即将数据流顺序写入存储介质中,并计算出数据流中每一位数据进行子块交织后的地址,然后再根据计算出的交织后地址将数据流读取出来。上述地址计算比较复杂,限制了子块交织的处理速度。

发明内容
有鉴于此,本发明实施例目的在于提供子块交织方法及并行子块交织器,以解决上述一系列问题。为实现上述目的,本发明实施例提供如下技术方案根据本发明实施例的一个方面,提供一种子块交织方法,用于对数据流进行子块交织,该方法包括将数据流作为目标矩阵,对所述目标矩阵进行读写操作;所述读写操作包括根据预设的列置换规则将所述目标矩阵按行写入存储介质,并按列读取写入的矩阵,对读取出的数据进行输出;或者,将所述目标矩阵按行写入存储介质,根据预设的列置换规则按列读取写入的矩阵,对读取出的数据进行输出。根据本发明实施例的另一个方面,提供一种并行子块交织器,用于对数据流进行子块交织,其包括主控单元,存储介质和读写单元,所述主控单元包括第一控制单元,其中所述第一控制单元用于指示所述读写单元将数据流作为目标矩阵,对所述目标矩阵进行读写操作;所述读写操作包括根据预设的列置换规则将所述目标矩阵按行写入所述存储介质,按列读取写入的矩阵,并对读取出的数据进行输出;或者,将所述目标矩阵按行写入所述存储介质,根据预设的列置换规则按列读取写入的矩阵,并对读取出的数据进行输出。
从上述的技术方案可以看出,在本发明实施例中,可在写入或读取时完成对目标矩阵(背景技术中目标矩阵A)的列置换(得到背景技术中目标矩阵Al),又由于矩阵的转置可视为行列互换,因此,本发明实施例通过对经列置换的矩阵(也即背景技术中目标矩阵Al)直接进行列输出来实现矩阵的转置及输出(相当于得到背景技术中目标矩阵A2并对目标矩阵A2按行输出),从而将现有技术中复杂的地址计算简化为列置换和列输出,进而提高了子块交织的处理速度。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图Ia为本发明实施例提供的子块交织方法流程图;图Ib为本发明实施例提供的子块交织方法另一流程图;图2为本发明实施例提供的子块交织方法又一流程图;图3为本发明实施例提供的子块交织方法又一流程图;图如为本发明实施例提供的子块交织方法又一流程图;图4b为本发明实施例提供的子块交织方法又一流程图;图5为本发明实施例提供的子块交织方法又一流程图;图6为本发明实施例提供的每一行向量中的32位码流数据在RAM中的存储方式示意图;图7为本发明实施例提供的每一行向量中的32位码流数据在RAM中的存储方式
另一示意图;图8为本发明实施例提供的17行数据在BUF组中的整体分布示意图;图9为本发明实施例提供的并行子块交织器结构示意图;图lOa-d为本发明实施例提供的并行子块交织器四种结构示意图;图11为本发明实施例提供的并行子块交织器又一结构示意图;图1 和图12b为本发明实施例提供的第一至第三BUF组的两种排列方式示意图;图13为本发明实施例提供的第一至第三BUF组的另一排列方式示意图。
具体实施例方式为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结如下BUF Buffer,缓存;eNB 基站;LTE =Long Term Evolution,长期演进;PDSCH =Physical Downlink Share Channel,物理下行共享信道;PUSCH =Physical Uplink Share Channel,物理上行共享信道;UE =User Equipment,用户设备;
8
UMTS Universal Mobile Telecommunication System,fflM^^Jfflitl^^ ;RAM random access memory,随机存储器。随机存储器中存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关;PSI =Parallel Subblock hterleaver,并行子块交织器;FPGA Field-Programmable Gate Array,现场可编程门阵列;ASIC Application Specific Integrated Circuit,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种子块交织方法,以解决现有子块交织串行处理方式,地址计算比较复杂,处理速度慢的问题。该子块交织方法的核心思想是将数据流作为目标矩阵,对该目标矩阵进行读写操作。而上述读写操作通过对上述目标矩阵进行列置换和有规律的行选择来实现子块交
幺口
/Ν ο参见图Ia及图Ib,上述方法至少包括如下步骤Si、将数据流作为目标矩阵;S2、根据预设的列置换规则将该目标矩阵按行写入存储介质;S3、按列读取写入的矩阵;S4、对读取出的数据进行输出。或者,Si、将上述数据流作为目标矩阵;S5、按行写入存储介质;S6、根据预设的列置换规则按列读取写入的矩阵;S4、对读取出的数据进行输出。本发明所有实施例中的存储介质可包括至少一个BUF组,而BUF组中又包括至少一个BUF。其中,一个BUF可由一个独立的RAM构成,也可由多个RAM拼凑而成。在具体实现时,构成一个BUF所需要的RAM的个数视BUF存储的数据容量决定。可见,在图Ia所示的方法中,步骤S2在写入时完成了对目标矩阵(背景技术中目标矩阵A)的列置换(得到背景技术中目标矩阵Al)。又由于矩阵的转置为行列互换,因此, 步骤S3和S4相配合,在读取时,通过按列读取并输出完成了矩阵转置,相当于同时完成了由目标矩阵Al变换为目标矩阵A2,并对目标矩阵A2按行输出。而在图Ib所示的方法中,步骤6和S4相配合,在读取时,同时完成了列置换和转置,也即实现了由目标矩阵A至目标矩阵A2的转换,并对目标矩阵A2按行输出。由上可知,在本发明上述实施例中,可在写入或读取时对目标矩阵完成列置换,并通过按列读取(也可称为有规律的行选择),对读取出的数据进行输出来完成矩阵转置,将现有技术中复杂的地址计算简化为列置换和有规律的行选择,从而提高了子块交织的处理速度。并且,由于列置换既可以在写入时进行,也可以在读取时进行,可方便使用者根据自身链路中子块交织前后端的复杂程度进行合理配置。
当然,上述列置换加有规律的行选择的方式也同样适应于子块解交织处理,因此, 本发明上述实施例提供的列置换加有规律的行选择的方式适用于所有行列交织的协议,譬如UMTS协议,LTE协议等等。下面将详细介绍在LTE协议中如何对上述列置换加有规律的行选择的方式进行灵活、具体的应用。LTE协议的PDSCH和PUSCH链路均为1/3码率的Turbo编码链路。PDSCH链路在 eNB侧进行编码,而PUSCH链路在UE (用户设备)侧进行编码。LTETurbo编码为分块编码, 假设码块长度为K (byte),则编码后将产生系统位、第一校验位和第二校验位3路码流。上述这3路码流可统称为LTE Turbo编码码流,其长度均为8K+4(bit),也即其对应的数据单位为比特(bit)。为了平衡资源与传输效率,在信息传输过程中降低突发性噪声干扰,需要对上述3路码流进行速率匹配。而速率匹配又分子块交织、比特汇集和比特选择。在对上述系统位、第一校验位和第二校验位3路码流进行子块交织过程中,首先需要在上述三个码流的前端添加子块交织 元,使码流的长度变为32的整数倍,此时,可将前端添加子块交织哑元的3路码流分别称为系统位码流1、第一校验位码流1和第二校验位码流1。上述系统位码流1、第一校验位码流1和第二校验位码流1可分别视为r_num*32 的矩阵,其中r_num代表行数(r_num的取值范围为2-193),32代表列数。另外,根据矩阵与向量之间的关系,进一步的,也可将r_num*32的矩阵视为由32个列向量(也可称为32 列数据)组成;或者个行向量(也可称为r_nUm行码流数据)组成,并且每一个行向量或每一行码流数据的长度为32数据单位。当然,由于这3路码流的数据单位为比特, 并且码流中一位数据占lbit,因此,每一个行向量或每一行码流数据包括32位数据。在对LTE Turbo编码码流进行子块交织的传统方式中,上述系统位码流1和第一校验位码流1的子块交织方式相同,具体包括将系统位码流1 (第一校验位码流1)视为由32个列向量组成的矩阵,并且这32 个列向量的列序号依次为0-31 ;对上述矩阵按列置换规则进行列置换。在进行列置换后,上述32个列向量的列序号分布变为0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3, 19,11,27,7,23,15,31;之后,对经列置换的矩阵进行转置,最后将转置后的矩阵中的所有数据按行读取出来,即完成对系统位码流1或第一校验位码流1的子块交织。而对第二校验位码流1的传统子块交织方式中,第二校验位码流1的列置换规则与系统位码流1和第一校验位码流1的相同,但还需要对其进行一些其他处理。将第二校验位码流1视为行数为Ct (也即上述r_num),列数为C=bl。。k
(C--=32 )的矩阵,其长度为 M Kn =RsTucbblk *C^k )。另外,假设第二校验位码流1中的每一位数据在进行子块交织前排列顺序为 n",>^n-!(以y^k)表示第π (k)位数据),而在对其进行子块交织后其排列顺序为 vO^1---,V^1 (以Vk表示进行子块交织后的第K位数据),则有下述公式vf =Aw (其中,上标表示码流编号0表示第一路码流,即系统位;1表示第二路码流,即第一校验位;2表示第三路码流,即第二校验位)
权利要求
1.一种子块交织方法,用于对数据流进行子块交织,其特征在于,包括 将所述数据流作为目标矩阵,对所述目标矩阵进行读写操作;所述读写操作包括根据预设的列置换规则将所述目标矩阵按行写入存储介质,并按列读取写入的矩阵, 对读取出的数据进行输出;或者,将所述目标矩阵按行写入存储介质,根据预设的列置换规则按列读取写入的矩阵,对读取出的数据进行输出。
2.如权利要求1所述的方法,其特征在于所述方法用于对LTE Turbo编码数据流进行子块交织,所述LTE Turbo编码数据流包括LTE Turbo编码码流,所述LTE Turbo编码码流对应的数据单位为比特;所述LTE Turbo编码码流包括系统位码流、第一校验位码流和第二校验位码流; 所述将所述数据流作为目标矩阵的具体实现方式包括 对所述系统位码流、第一校验位码流和第二校验位码流分别添加子块交织哑元; 将添加子块交织 元后的第二校验位码流循环左移一数据单位,获得调整后的第二校验位码流,所述调整后的第二校验位码流可依照与添加子块交织哑元后的系统位码流对应的预设的子块交织方式进行子块交织;将添加子块交织 元后的系统位码流、添加子块交织 元后的第一校验位码流和所述调整后的第二校验位码流分别作为包括r_num行码流数据的目标矩阵,每一行码流数据的长度为32数据单位,所述r_num的取值范围为2至193 ;所述预设的列置换规则具体为所述预设的子块交织方式对应的列置换规则。
3.如权利要求2所述的方法,其特征在于,所述存储介质包括至少一个缓存BUF组,所述BUF组包括至少一个BUF ; 所述按行写入存储介质的具体实现方式包括根据并行度按行写入,以令写入的矩阵中,每连续2L行数据中位于同一列的数据存储在同一 BUF组中不同BUF的同一地址上;所述并行度表示平均每时刻输出的最低有效数据单位数L,所述L = 2~X,所述X为大于等于1小于等于5的正整数。
4.如权利要求3所述的方法,其特征在于,所述按列读取的具体实现方式包括根据所述并行度按列读取。
5.如权利要求4所述的方法,其特征在于,所述根据所述并行度按列读取的具体实现方式包括当L = 2时,每次同时读取一列数据中的4行数据,不足4行时,补充无效数据; 当L = 4,并且2彡r_num彡4时,每次同时读取完整的2列数据; 当L = 4,并且4 < r_num时,每次同时读取一列数据中的2L行数据,不足2L行时,补充无效数据;当L = 8,并且2彡r_num彡4时,每次同时读取完整的4列数据; 当L = 8,并且5彡r_num彡8时,每次同时读取完整的2列数据; 当L = 8,并且8 < r_num时,每次同时读取一列数据中的2L行数据,不足2L行时,补充无效数据;当L = 16,并且2彡r_num彡4时,每次同时读取完整的8列数据; 当L = 16,并且5彡r_num彡8时,每次同时读取完整的4列数据; 当L = 16,并且9彡r_num彡16时,每次同时读取完整的2列数据; 当L = 16,并且16 < r_num时,每次同时读取一列数据中的2L行数据,不足2L行时, 补充无效数据;当L = 32,并且2彡r_num ( 4时,每次同时读取完整的16列数据; 当L = 32,并且5彡r_num彡8时,每次同时读取完整的8列数据; 当L = 32,并且9彡r_num彡16时,每次同时读取完整的4列数据; 当L = 32,并且17 ( r_num ( 32时,每次同时读取完整的2列数据; 当L = 32,并且32 < r_num时,每次同时读取一列数据中的2L行数据,不足2L行时, 补充无效数据。
6.如权利要求5所述的方法,其特征在于,所述对读取出的数据进行输出的具体实现方式包括在每次根据所述并行度按列读取时产生一个标志,所述标志用于表征本次根据并行度按列读取出的数据的有效数据单位数;根据所述标志,去掉本次根据并行度按列读取出的数据中的无效数据以获取有效数据;将获取到的有效数据链接起来,得到有效数据链; 每次输出长度为2L的有效数据链。
7.如权利要求2所述的方法,其特征在于,所述将添加子块交织 元后的第二校验位码流循环左移一数据单位的具体实现方式包括将所述添加子块交织 元后的第二校验位码流的第一个子块交织 元去掉,在其末端添加一个子块交织 元。
8.如权利要求3-7任一项所述的方法,其特征在于,所述BUF组包括至少K个BUF,所述K = 2LM/W,其中M为每行数据在1个地址中存储的数据单位数,所述W为1个地址用于存储数据的数据单位数,M可被32整除,W = 2~Z,所述Z为大于等于1小于等于11的正整数,并且LM是W的整数倍。
9.如权利要求2所述的方法,其特征在于 所述LTE Turbo编码数据流还包括控制信息流;所述将所述数据流作为目标矩阵的具体实现方式还包括将所述控制信息流作为包括r_num行控制信息数据的目标矩阵,每一行控制信息数据的长度为32数据单位。
10.如权利要求9所述的方法,其特征在于,所述控制信息流包括系统位控制信息流、第一校验位控制信息流和第二校验位控制信息流;所述将所述控制信息流作为包括r_num行控制信息数据的目标矩阵的具体实现方式包括将所述添加子块交织 元后的第二校验位码流对应的第二校验位控制信息流循环左移一数据单位;将所述添加子块交织 元后的系统位码流对应的系统位控制信息流,所述添加子块交织 元后的第一校验位码流对应的第一校验位控制信息流,以及循环左移一数据单位后的第二校验位控制信息流,分别作为包括r_num行控制信息数据的目标矩阵。
11.一种并行子块交织器,用于对数据流进行子块交织,其特征在于,包括主控单元, 存储介质和读写单元,所述主控单元包括第一控制单元,其中所述第一控制单元用于指示所述读写单元将所述数据流作为目标矩阵,对所述目标矩阵进行读写操作;所述读写操作包括根据预设的列置换规则将所述目标矩阵按行写入所述存储介质,按列读取写入的矩阵,并对读取出的数据进行输出;或者,将所述目标矩阵按行写入所述存储介质,根据预设的列置换规则按列读取写入的矩阵,并对读取出的数据进行输出。
12.如权利要求11所述的并行子块交织器,其特征在于所述并行子块交织器具体用于对LTE Turbo编码数据流进行子块交织,所述LTE Turbo 编码数据流包括LTE Turbo编码码流,所述LTE Turbo编码码流对应的数据单位为比特; 所述LTE Turbo编码码流包括系统位码流、第一校验位码流和第二校验位码流; 所述并行子块交织器或所述主控单元还包括子块交织哑元添加单元和第一调整单元, 其中所述子块交织哑元添加单元用于,对所述系统位码流、第一校验位码流和第二校验位码流分别添加子块交织哑元,或者指示所述读写单元对所述系统位码流、第一校验位码流和第二校验位码流分别添加子块交织哑元;所述第一调整单元用于,将添加子块交织哑元后的第二校验位码流循环左移一数据单位,获得调整后的第二校验位码流,所述调整后的第二校验位码流可依照与添加子块交织现元后的系统位码流对应的预设的子块交织方式进行子块交织,或者指示所述读写单元将添加子块交织tt元后的第二校验位码流循环左移一数据单位,获得所述调整后的第二校验位码流;所述目标矩阵包括与添加子块交织 元后的系统位码流对应的第一目标矩阵,与添加子块交织 元后的第一校验位码流对应的第二目标矩阵,以及与所述调整后的第二校验位码流对应的第三目标矩阵,所述第一至第三目标矩阵均包括r_num行码流数据,每一行码流数据长度为32数据单位,所述r_num的取值范围为2至193 ;所述预设的列置换规则具体为所述预设的子块交织方式对应的列置换规则。
13.如权利要求12所述的并行子块交织器,其特征在于,所述存储介质包括至少一个 BUF组,所述BUF组包括至少一个BUF ;所述读写操作中的按行写入的具体实现方式包括根据并行度按行写入,以令写入的矩阵中,每连续2L行数据中位于同一列的数据存储在同一 BUF组中不同BUF的同一地址上;所述并行度表示平均每时刻输出的最低有效数据单位数L,所述L = 2~X,所述X为大于等于1小于等于5的正整数。
14.如权利要求13所述的并行子块交织器,其特征在于,所述读写操作中的按列读取的具体实现方式包括根据所述并行度按列读取。
15.如权利要求14所述的并行子块交织器,其特征在于,所述根据所述并行度按列读取的具体实现方式包括当L = 2时,每次同时读取一列数据中的4行数据,不足4行时,补充无效数据; 当L = 4,并且2彡r_num彡4时,每次同时读取完整的2列数据; 当L = 4,并且4 < r_num时,每次同时读取一列数据中的2L行数据,不足2L行时,补充无效数据;当L = 8,并且2彡r_num彡4时,每次同时读取完整的4列数据; 当L = 8,并且5彡r_num彡8时,每次同时读取完整的2列数据; 当L = 8,并且8 < r_num时,每次同时读取一列数据中的2L行数据,不足2L行时,补充无效数据;当L = 16,并且2彡r_num彡4时,每次同时读取完整的8列数据; 当L = 16,并且5彡r_num彡8时,每次同时读取完整的4列数据; 当L = 16,并且9彡r_num彡16时,每次同时读取完整的2列数据; 当L = 16,并且16 < r_num时,每次同时读取一列数据中的2L行数据,不足2L行时, 补充无效数据;当L = 32,并且2彡r_num ( 4时,每次同时读取完整的16列数据; 当L = 32,并且5彡r_num彡8时,每次同时读取完整的8列数据; 当L = 32,并且9彡r_num彡16时,每次同时读取完整的4列数据; 当L = 32,并且17 ( r_num ( 32时,每次同时读取完整的2列数据; 当L = 32,并且32 < r_num时,每次同时读取一列数据中的2L行数据,不足2L行时, 补充无效数据。
16.如权利要求15所述的并行子块交织器,其特征在于,所述读写操作中的对读取出的数据进行输出的具体实现方式包括在每次根据所述并行度按列读取时产生一个标志,所述标志用于表征本次根据并行度按列读取出的数据的有效数据单位数;根据所述标志,去掉本次根据并行度按列读取出的数据中的无效数据以获取有效数据;将获取到的有效数据链接起来,得到有效数据链; 每次输出长度为2L的有效数据链。
17.如权利要求13-16任一项所述的并行子块交织器,其特征在于, 所述BUF组包括第一至第三BUF组;所述第一 BUF组用于存储所述第一目标矩阵的码流数据; 所述第二 BUF组用于存储所述第二目标矩阵的码流数据; 所述第三BUF组用于存储所述第三目标矩阵的码流数据。
18.如权利要求17所述的并行子块交织器,其特征在于,任一所述BUF组包括至少K个 BUF,所述K = 2LM/W,其中M为每行数据在1个地址中存储的数据单位数,所述W为1个地址用于存储数据的数据单位数,M可被32整除,W = 2~Z,所述Z为大于等于1小于等于11 的正整数,并且LM是W的整数倍。
19.如权利要求12所述的并行子块交织器,其特征在于, 所述LTE Turbo编码数据流还包括控制信息流;所述目标矩阵还包括与所述控制信息流对应的控制信息目标矩阵,所述控制信息目标矩阵包括r_num行控制信息数据,每一行控制信息数据包括32数据单位。
20.如权利要求19所述的并行子块交织器,其特征在于,所述控制信息流包括系统位控制信息流、第一校验位数据流和第二校验位控制信息流;所述并行子块交织器或所述主控单元还包括第二调整单元,所述第二调整单元用于将所述添加子块交织 元后的第二校验位码流对应的第二校验位控制信息流循环左移一数据单位,或指示所述读写单元将所述添加子块交织 元后的第二校验位码流对应的第二校验位控制信息流循环左移一数据单位;所述控制信息目标矩阵包括第一至第三控制信息目标矩阵;所述第一控制信息目标矩阵与所述添加子块交织 元后的系统位码流对应的系统位控制信息流相对应;所述第二控制信息目标矩阵与添加子块交织 元后的第一检验位码流对应的第一检验位控制信息流相对应;所述第三制信息目标矩阵与循环左移一数据单位的第二校验位控制信息流相对应。
全文摘要
本发明实施例公开了子块交织方法及并行子块交织器,以解决现有串行处理方式地址计算较复杂、处理速度较慢的问题。上述方法包括将数据流作为目标矩阵,对目标矩阵进行读写操作;该读写操作包括根据预设的列置换规则将目标矩阵按行写入存储介质,并按列读取写入的矩阵,对读取出的数据进行输出;或者,将目标矩阵按行写入存储介质,根据预设的列置换规则按列读取写入的矩阵,对读取出的数据进行输出。可以看出,在本发明实施例中,可在写入或读取时完成对目标矩阵的列置换,并通过对经列置换的矩阵直接进行列输出来实现矩阵的转置及输出,从而将现有技术中复杂的地址计算简化为列置换和列输出,进而提高了子块交织的处理速度。
文档编号H04L1/00GK102420674SQ201110340439
公开日2012年4月18日 申请日期2011年11月1日 优先权日2011年11月1日
发明者周扬 申请人:上海华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1