CN108574491B - 数据处理方法、数据处理装置和通信设备 - Google Patents
数据处理方法、数据处理装置和通信设备 Download PDFInfo
- Publication number
- CN108574491B CN108574491B CN201710140122.4A CN201710140122A CN108574491B CN 108574491 B CN108574491 B CN 108574491B CN 201710140122 A CN201710140122 A CN 201710140122A CN 108574491 B CN108574491 B CN 108574491B
- Authority
- CN
- China
- Prior art keywords
- information
- bit
- bits
- base matrix
- ldpc base
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1174—Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提供数据处理方法、数据处理装置和通信设备。该数据处理方法包括:对第一比特序列进行编码,得到第二比特序列,第一比特序列包括第一信息比特和第一填充比特,第二比特序列包括第二信息比特和冗余比特;将第二比特序列保存至循环缓存中。本申请的数据处理方法、数据处理装置和通信设备,能够支持多种长度的信息比特序列的编码需求。
Description
技术领域
本申请涉及通信领域,并且更具体地,涉及数据处理方法、数据处理装置和通信设备。
背景技术
Gallager在1962年首次提出了一种被称为低密度奇偶校验(low density paritycheck,LDPC)码的线性分组码。LDPC码的校验矩阵是一种稀疏矩阵。码长为n、信息序列长度为k的LDPC码可以由LDPC校验矩阵H唯一确定。
实际使用过程中,可以采用具有特殊结构化特征的LDPC校验矩阵。该具有特殊结构化特征的LDPC码的校验矩阵H可以由准循环(quasi cycle、QC)结构的LDPC基矩阵扩展得到。
对QC结构的LDPC基矩阵进行扩展,以获取对应的校验矩阵时,LDPC基矩阵中所有值为-1的元素经过扩展后可以得到一个z*z大小的全0矩阵,其他元素扩展后可以得到z*z大小的置换矩阵。置换矩阵可以由一个单位矩阵I经过相应次数的循环位移获得,位移次数等于对应矩阵元素的值。
使用该LDPC基矩阵进行编码时,其原生支持的信息比特序列的长度由扩展因子z和信息位的列数决定。假设LDPC基矩阵的尺寸为m*n,其中,m表示矩阵的行数,n表示矩阵的列数,信息位的列数k=n-m,则该基矩阵支持的信息比特序列长度k1=k*z,相应地,编码后得到的编码比特序列长度为n1=n*z。
通常情况下,待编码的信息比特序列长度从几十到上百不等,如何支持多种长度的信息比特序列的编码需求,从而更好地提升系统编译码性能,成为一个需要解决的问题。
发明内容
本申请提供一种数据处理方法、数据处理装置和通信设备,能够支持多种长度的信息比特序列的编码需求。
第一方面,提供了一种数据处理方法。所述数据处理方法包括:对第一比特序列进行编码,得到第二比特序列,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;将所述第二比特序列的部分或全部保存至循环缓存中。
该数据处理方法可以对添加填充比特后的信息比特进行编码,从而可以对更多长度的信息比特进行编码。
此外,该数据处理方法使得存入循环缓存中的比特序列中不包含填充比特,从而可以使得循环缓存,尤其是限制循环缓存中可以保存更多的信息比特,进而可以使得发送端从该循环缓存中获取或发送比特序列可以包含更多的信息量,以提高接收端的译码性能,最终可以提高通信性能。
并且该数据处理方法使得循环缓存中不包含编码过程中填充的比特,从而可以节省速率匹配选取待发送的信息比特的时间,提高通信效率。
结合第一方面,在第一种可能的实现方式中,所述对第一比特序列进行编码,包括:根据所述第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列。
该实现方式中,由于编码时,使用的是第一LDPC基矩阵中的冗余位列,以及信息位列中与第一信息比特对应的列,而不使用第一LDPC基矩阵的信息位列中与第一信息比特不对应列,即可以不使用第一LDPC基矩阵中所有的信息位列,从而可以提高编码效率,进而提高通信效率。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述数据处理方法还包括:根据所述第一信息比特的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定所述第一填充比特的长度F,其中,Ki=zi·k,k为所述第一LDPC基矩阵中信息位列的数量,zi属于所述第一LDPC基矩阵支持的扩展因子取集合{z0,z1,…,zi,…};向所述第一信息比特中填充长度为F的第一填充比特,得到所述第一比特序列。
结合第二种可能的实现方式,在第三种可能的实现方式中,所述根据第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,包括:根据所述第一填充比特的长度F和第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵,所述第一扩展因子为所述扩展因子集合{z0,z1,…,zi,…}中与所述最小输入序列长度对应的扩展因子;根据所述第一扩展因子和所述第二LDPC基矩阵,对所述第一填充比特中与所述第一信息位列对应的比特和所述第一信息比特,进行编码。
结合第一种可能的实现方式,在第四种可能的实现方式中,所述数据处理方法还包括:根据所述第一LDPC基矩阵中信息位列的数量、所述第一LDPC基矩阵支持的最大删除列数、所述第一LDPC基矩阵支持的扩展因子集合和所述第一信息比特的长度,确定第一扩展因子和所述第一填充比特的长度F;向所述第一信息比特中填充长度为F的第一填充比特,得到所述第一比特序列。
结合第四种可能的实现方式,在第五种可能的实现方式中,所述根据第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,包括:根据所述第一LDPC基矩阵中信息位列的数量、所述第一信息比特的长度和所述第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵;根据所述第一扩展因子和所述第二LDPC基矩阵,对所述第一填充比特中与所述第一信息位列对应的比特和所述第一信息比特,进行编码。
结合第一方面,在第六种可能的实现方式中,所述对第一比特序列进行编码,包括:根据第一LDPC基矩阵,对所述第一比特序列进行编码。
第二方面,提供了一种数据处理方法。所述数据处理方法包括:获取第三比特序列的软信息,所述第三比特序列为发送端从所述发送端循环缓存中选取的,所述循环缓存中保存的比特包括部分或全部第二比特序列,所述第二比特序列是所述发送端对第一比特序列进行编码得到的,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;将所述软信息保存在软信息缓存中;向第一软信息中添加填充信息,得到第二软信息,所述第一软信息为所述软信息缓存中的软信息;对所述第二软信息进行译码。
该数据处理方法中,由于第三比特序列是发送端从不包含填充比特的第二比特序列中获取和发送的,因此第三比特序列可以包含更多的信息量,从而可以提高译码性能,最终可以提高通信性能。
结合第二方面,在第一种可能的实现方式中,所述对所述第二软信息进行译码,包括:根据所述第一LDPC基矩阵中的冗余比特和第一信息位列,对所述第二软信息进行译码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列。
该实现方式中,由于译码时,使用的是第一LDPC基矩阵中的冗余位列,以及信息位列中与第一信息比特对应的列,而不使用第一LDPC基矩阵的信息位列中与第一信息比特不对应列,即可以不使用第一LDPC基矩阵中所有的信息位列,从而可以提高译码效率,进而提高通信效率。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述向第一软信息中添加填充信息,得到第二软信息,包括:根据所述第一软信息的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定所述填充信息的长度F,其中,Ki=zi·k,k为所述第一LDPC基矩阵中信息位列的数量,zi属于所述第一LDPC基矩阵支持的扩展因子集合{z0,z1,…,zi,…};向所述第一软信息中填充长度为F的填充信息,得到所述第二软信息;
结合第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述第一LDPC基矩阵中的冗余比特和第一信息位列,对所述第二软信息进行译码,包括:根据所述填充信息的长度F和第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵,所述第一扩展因子为所述扩展因子集合{z0,z1,…,zi,…}中与所述最小输入序列长度对应的扩展因子;根据所述第一扩展因子和所述第二LDPC基矩阵,对所述填充信息中与所述第一信息位列对应的信息和所述第一软信息,进行译码。
结合第一种可能的实现方式,在第四种可能的实现方式中,所述向第一软信息中添加填充信息,得到第二软信息,包括:根据所述第一LDPC基矩阵中信息位列的数量、所述第一LDPC基矩阵支持的最大删除列数、所述第一LDPC基矩阵支持的扩展因子集合和所述第一软信息的长度,确定第一扩展因子和所述填充信息的长度F;向所述第一软信息中填充长度为F的填充信息,得到所述第二软信息。
结合第四种可能的实现方式,在第五种可能的实现方式中,所述根据所述第一LDPC基矩阵中的冗余比特和第一信息位列,对所述第二软信息进行译码,包括:根据所述第一LDPC基矩阵中信息位列的数量、所述第一软信息的长度和所述第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵;根据所述第一扩展因子和所述第二LDPC基矩阵,对所述填充信息中与所述第一信息位列对应的信息和所述第一软信息,进行译码。
结合第二方面,在第六种可能的实现方式中,所述对第二软信息进行译码,包括:根据第一LDPC基矩阵,对所述第二软信息进行译码。
第三方面,提供了一种数据处理装置,所述数据处理装置包括用于执行第一方面或第一方面中任意一种可能的实现方式中的数据处理方法的模块。
第四方面,提供了一种数据处理装置,所述数据处理装置包括用于执行第二方面或第二方面中任意一种可能的实现方式中的数据处理方法的模块。
第五方面,提供了一种数据处理装置,包括处理器,可选地,还可以包括接收器和发送器。所述处理器用于执行代码。当所述代码被执行时,所述处理器实现第一方面或第一方面中任意一种可能的实现方式中的数据处理方法。
第六方面,提供了一种数据处理装置,包括处理器,可选地,还可以包括接收器和发送器。所述处理器用于执行代码。当所述代码被执行时,所述处理器实现第二方面或第二方面中任意一种可能的实现方式中的数据处理方法。
第七方面,提供了一种计算机可读介质,所述计算机可读介质存储用于数据处理装置执行的程序代码,所述程序代码包括用于执行第一方面中或第一方面中任意一种可能的实现方式中的数据处理方法的指令。
第八方面,提供了一种计算机可读介质,所述计算机可读介质存储用于数据处理装置执行的程序代码,所述程序代码包括用于执行第二方面中或第二方面中任意一种可能的实现方式中的数据处理方法的指令。
第九方面,提供了一种包含指令的计算机程序产品,当其在数据处理装置上运行时,使得数据处理装置执行第一方面或第一方面中任意一种可能的实现方式中的数据处理方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在数据处理装置上运行时,使得数据处理装置执行第二方面或第二方面中任意一种可能的实现方式中的数据处理方法。
第十一方面,提供了一种通信设备,所述通信设备包括第三方面或第五方面所述的数据处理装置。
第十二方面,提供了一种通信设备,所述通信设备包括第四方面或第六方面所述的数据处理装置。
附图说明
图1是可以应用本申请实施例的数据处理方法和通信设备的通信系统的示意性架构图。
图2是本申请一个实施例的数据处理方法的示意性流程图。
图3是本申请实施例的全循环缓存的示意图。
图4是本申请实施例的限制循环缓存的示意图。
图5是本申请另一个实施例的数据处理方法的示意性流程图。
图6是本申请一个实施例的数据处理装置的示意性结构图。
图7是本申请另一个实施例的数据处理装置的示意性结构图。
图8是本申请另一个实施例的数据处理装置的示意性结构图。
图9是本申请另一个实施例的数据处理装置的示意性结构图。
图10是本申请一个实施例的通信设备的示意性结构图。
图11是本申请另一个实施例的通信设备的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1为可以应用本申请中的技术方案的通信系统的示意性架构图。图1所示的通信系统100包括通信设备110和通信设备120。
应理解,本申请的实施例并不限于图1所示的系统架构中,此外,图1中的装置可以是硬件,也可以是从功能上划分的软件或者以上二者的结合。
通信设备110在发送信息数据时,可以根据支持的传输块的大小将信息数据划分成多个传输块(transmission block,TB),并对每一传输块增加CRC校验。如果添加校验后的传输块大小超过最大码块长,则需要将传输块划分为若干码块(code block,CB)。其中,每个码块中也可以增加码块CRC校验,或者,还可以添加填充比特。
通信设备110对每个码块分别进行信道编码,例如,进行LDPC编码,得到相应的编码码块。其中,每个编码码块中包括多个编码前的信息比特和编码生成的校验比特,统称为编码比特。
编码比特保存(可以直接保存,也可以经过交织再保存)在通信设备110的循环缓存中。通信设备110从循环缓存中选取一段编码比特,并映射为调制符号且发送。
通信设备110发生重传时将从循环缓存中选取另一编码比特段发送。如果循环缓存中的数据都传输了一遍,则回到循环缓存的前端再次选取编码比特。
通信设备120对接收到的调制符号解调后,将接收到的编码比特的软值保存在软信息缓存中相应位置。如果发生重传,通信设备120将每次重传的编码比特的软值合并保存在软信息缓存中,这里的合并是指,如果两次接收到的编码比特的位置相同,则将两次接收到的该编码比特的软值合并。通信设备120对软信息缓存中的所有软值进行译码得到信息比特数据。
在本申请各实施例中,通信设备110可以是通信系统中的网络设备,如基站,则相应的通信设备120可以是终端。为便于理解下面对本申请中涉及到的一些名词做些说明。
本申请中,名词“网络”和“系统”经常交替使用,但本领域的技术人员可以理解其含义。
终端是一种具有通信功能的设备,可以包括具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备,移动台,用户单元,站台,蜂窝电话,个人数字助理,无线调制解调器,无线通信设备,手持设备,膝上型电脑,无绳电话,无线本地环路台等。为描述方便,本申请中简称为终端。
基站(base station,BS),也可称为基站设备,是一种将终端接入到无线网络的设备,包括但不限于:传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(nodeB,NB)、基站控制器(base Station controller,BSC)、基站收发台(base transceiverstation,BTS)、家庭基站(例如,home evolved nodeB,或home node B,HNB)、基带单元(base band unit,BBU),或Wifi接入点(access point,AP)等。
图2是本申请一个实施例的数据处理方法的示意性流程图。应理解,图2示出了数据处理方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图2中的各个操作的变形。
图2所示的数据处理方法可以由图1所示的通信设备110中的信道编码模块执行,或者可以说可以由通信设备110执行。信道编码模块也可以称为编码器,或者数据处理模块。下面以通信设备为执行主体为例,介绍本申请实施例的数据处理方法。
S210,通信设备对第一比特序列进行编码,得到第二比特序列,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特。
其中,第一信息比特是指待编码信息序列中的比特,如进行码块分割所得的信息序列中的比特;第一填充比特是指在编码过程中被当作已知比特(如0)进行编码的比特。第二信息比特可以是第一信息比特,即编码所得的第二比特序列中的信息比特与编码前的第一比特序列中的信息比特可以是相同的信息比特。冗余比特是指编码得到的第二比特序列中除信息比特之外的比特。
应注意,第二比特序列中不包括填充比特。
该数据处理方法中,由于可以对添加填充比特后的信息比特进行编码,因此可以对更多长度的信息比特进行编码。
第一比特序列包括第一信息比特和第一填充比特可以理解为:向第一信息比特中添加第一填充比特,得到第一比特序列。具体地,可以根据第一信息比特的长度K,确定第一填充比特的长度F,然后向第一信息比特中添加长度为F的第一填充比特,即可得到第一比特序列。
S210中,通信设备对第一比特序列进行编码,得到第二比特序列,可选地,可以包括:通信设备根据第一LDPC基矩阵对第一比特序列进行LDPC编码,得到第二比特序列。
在介绍通信设备根据第一LDPC基矩阵对第一比特序列进行LDPC编码,得到第二比特序列的一种可能的实现方式之前,下面先介绍向第一信息比特中添加第一填充比特的一种可能的实现方式。
通信设备确定第一LDPC基矩阵原生支持的输入序列长度集合{K0,K1,…,Ki,…},i为正整数。
或者,通信设备中可以预先存储第一LDPC基矩阵原生支持的输入序列长度集合{K0,K1,…,Ki,…}。如,通信设备中可以预先存储扩展因子集合中各个扩展因子与第一LDPC基矩阵支持的输入序列长度集合中输入序列长度的对应关系。
通信设备找到输入序列长度集合{K0,K1,…,Ki,…}中,大于K的最小输入序列长度K',且可以根据F=K'-K得到F。
通信设备向第一信息比特中填充长度为F的第一填充比特,得到第一比特序列。
通信设备向第一信息比特中添加第一填充比特时,一种填充方式为:将第一填充比特填充到第一信息比特的尾部。当然,也可以将第一填充比特填充到第一信息比特的其他位置,本申请实施例对此并不限制。
下面以第一LDPC基矩阵为双对角线结构或下三角结构的矩阵为例,介绍通信设备根据第一LDPC基矩阵对第一比特序列进行LDPC编码,得到第二比特序列的具体实施方式。
下面的具体实施方式中,第一比特序列为s,第一LDPC基矩阵为Hb,第一扩展因子为z。
He又可以分为两部分He=[He1He2],其中He1的大小为mb×1,有3个元素的值不等于-1,分别位于第0行,第mb-1行和第x(1≤x≤mb-2)行。第0行和第mb-1行元素的值均等于a(1≤a≤z-1),第x行元素值为0;He2为双对角线结构,其中当i=j和i=j+1时,第i行第j列取值为0,其余位置均为-1。He具体可表示为:
根据校验矩阵的扩展因子z,将s分成kb组,每组z比特,分组后得到的向量:s=[s(0),s(1),...,s(kb-1)],其中,每个子向量s(i)=[siz,siz+1,...,siz+z-1],0≤i≤kb-1。
同样,校验向量e分成mb组,每组z比特,可以得到向量:e=[e(0),e(1),...,e(mb-1)],其中,每个自向量e(i)=[eiz,eiz+1,...,eiz+z-1],0≤i≤mb-1
根据以上分组,编码过程可分为以下两步。
根据上述两个步骤,即可计算出e(0)到e(mb-1),得到所有校验比特,与s组合得到编码后码字x=[s e],完成编码过程。其中,e即为冗余比特。
He为mb×mb的下三角阵的基矩阵Hb如下所示:
根据校验矩阵的扩展因子z,将s分成kb组,每组z比特,分组后得到的向量:s=[s(0),s(1),...,s(kb-1)],其中,每个子向量s(i)=[siz,siz+1,...,siz+z-1],0≤i≤kb-1。
同样,校验向量e分成mb组,每组z比特,可以得到向量:e=[e(0),e(1),...,e(mb-1)],其中,每个自向量e(i)=[eiz,eiz+1,...,eiz+z-1],0≤i≤mb-1。
根据以上分组,下三角结构LDPC码编码过程采用如下递归方式。
根据上述两个步骤,即可计算出e(0)到e(mb-1),得到所有校验比特,与信息序列s组合得到编码后码字x=[s e],完成编码过程。其中,e即为冗余比特。
若第一LDPC基矩阵由双对角矩阵和下三角矩阵或者下三角矩阵组成,则根据其进行编码时,可分别按照双对角结构和下三角结构矩阵的编码方法进行编码,最后将编码所得组合起来,即可得到最终的编码结果。
通信设备根据第一LDPC基矩阵,对第一比特序列进行编码,得到长度为N编码比特序列d0,d1,…,dN-1后,可以删除该编码比特序列中的第一填充比特,如删除标记为<NULL>的比特,得到第二比特序列。
如第一比特序列包括的第一填充比特位于第一信息比特的尾部时,可以删除该第一比特序列编码得到的编码比特序列d0,d1,…,dN-1中的di,K≤i<K+F,得到第二比特序列di,0≤i<K,K+F≤i<N。应注意,如果第一填充比特被插入第一信息比特的其他位置,该步骤需做相应修改。
S210中,可选地,通信设备对第一比特序列进行编码,得到第二比特序列,具体可以包括:通信设备根据第一LDPC基矩阵中的冗余位列和第一信息位列,对第一比特序列进行编码,得到第二比特序列,第一信息位列为第一LDPC基矩阵中与第一信息比特对应的列。
其中,冗余位列即为上述第一LDPC基矩阵中的冗余位或校验位所属的列,信息位列即为上述第一LDPC基矩阵中的系统位或信息位所属的列。
第一信息位列可以指:将第一比特序列分成kb组,每组z比特,分组后得到的向量s=[s(0),s(1),...,s(kb-1)]与第一LDPC基矩阵中的kb个信息位列一一对应,第一LDPC基矩阵中的kb个信息位列中,与s=[s(0),s(1),...,s(kb-1)]中包含信息比特(或者说不全是填充比特)的向量对应的列即为第一信息位列。z为根据第一LDPC基矩阵编码时使用的扩展因子。
若s=[s(0),s(1),...,s(kb-1)]中的向量均包含信息比特,或者说没有任何向量仅含有填充比特,那第一信息位列包括第一LDPC基矩阵中所有的信息位列。
若s=[s(0),s(1),...,s(kb-1)]中存在全是填充比特的向量,或者说存在不包含信息比特的向量,则第一信息位列仅包含第一LDPC基矩阵中部分向量。此时,“通信设备根据第一LDPC基矩阵中的冗余位列和第一信息位列,对第一比特序列进行编码”实际上只使用了第一LDPC基矩阵中的冗余位列和部分信息位列对第一比特序列进行编码,从而可以提高编码效率。
也就是说,这种实现方式中,通信设备根据第一LDPC基矩阵中的冗余位列和第一信息位列,而不是一概而论的仅根据第一LDPC基矩阵中所有信息位列和冗余位列,对第一比特序列进行编码,实际上是根据第一比特序列中第一信息比特的数量灵活使用第一LDPC基矩阵中的信息位列进行编码,从而可以提高编码效率。
通信设备根据第一LDPC基矩阵中的冗余位列和第一信息位列,对第一比特序列进行编码时,一种可能的实施方式如下。
通信设备找到第一LDPC基矩阵原生支持的输入序列长度集合{K0,K1,…,Ki,…}中,大于K的最小输入序列长度K',并根据F=K'-K得到F后,可以进一步根据F'=Fmodz得到F',“mod”表示取模。然后可以仅在第一信息比特中添加长度为F'的第一填充比特,得到第一比特序列。其中,通信设备确定输入序列长度集合{K0,K1,…,Ki,…}的实施方式如前所述,此处不再赘述。
通信设备向第一信息比特中添加第一填充比特时,一种填充方式为:将第一填充比特填充到第一信息比特的尾部。当然,也可以填充到第一信息比特的其他位置,本申请实施例对此并不限制。
此时,通信设备可以仅根据第一LDPC基矩阵中的冗余位列和部分信息位列(即第一信息位列),对第一比特序列进行编码。
具体地,通信设备可以根据得到k1,然后,将第一LDPC基矩阵中的k1个第一信息位列删掉,得到第二LDPC基矩阵,并根据第一扩展因子和第二LDPC基矩阵对第一比特序列进行LDPC编码。其中,表示向下取整。
如,假设将长度为F的第一填充比特填充到长度为K的第一信息比特的尾部时,可以从第一LDPC基矩阵中的第k-1列开始,向前(即矩阵从右向左的方向)删除k1列,得到第二LDPC基矩阵,然后根据第一扩展因子和第二LDPC基矩阵对第一比特序列进行LDPC编码,k为第一LDPC基矩阵中信息位列的数量。
通信设备根据第一扩展因子和第二LDPC基矩阵对第一比特序列进行LDPC编码时,具体实现方式可以参考上述通信设备根据第一扩展因子和第一LDPC基矩阵对第一比特序列进行编码的流程,为了简洁,此处不再赘述。
如果第一填充比特被填充到第一信息比特的其他位置,则第一LDCP基矩阵中要删除的k1列信息列的位置需做相应修改。
通信设备对第一比特序列进行编码得到长度为N的编码比特序列d0,d1,…,dN-1后,可以删除该编码比特序列中的第一填充比特,如删除标记为<NULL>的比特,得到第二比特序列。
如第一比特序列包括的第一填充比特位于第一信息比特的尾部时,可以删除该第一比特序列编码得到的编码比特序列d0,d1,…,dN-1中的di,K≤i<K+F',得到第二比特序列di,0≤i<K,K+F'≤i<N。应注意,如果第一填充比特被插入第一信息比特的其他位置,该步骤需做相应修改。
通信设备根据第一LDPC基矩阵中的冗余位列和第一信息位列,对第一比特序列进行编码时,另一种可能的实施方式如下。
通信设备中可以预先设置有第一LDPC基矩阵支持的最大删除列数Δk。然后,通信设备可以在扩展因子集合{z0,z1,…,zi,…}中,找到满足的扩展因子z(可以称为第一扩展因子)。其中,k为第一LDPC基矩阵中的信息位列数。
通信设备确定F后,可以在第一信息比特中添加F个填充比特,得到第一比特序列。
通信设备向第一信息比特中添加填充比特时,一种填充方式为:将第一填充比特填充到第一信息比特的尾部。当然,也可以填充到第一信息比特的其他位置,本申请实施例对此并不限制。
此时,通信设备可以仅根据第一LDPC基矩阵中的冗余位列和部分信息位列(即第一信息位列),对第一比特序列进行编码。
具体地,通信设备可以根据得到k1,k为第一LDPC基矩阵中信息位列的数量。然后将第一LDPC基矩阵中的k1个第一信息位列删掉,得到第二LDPC基矩阵,并根据第一扩展因子和第二LDPC基矩阵对第一比特序列进行LDPC编码。
如,第一填充比特填充到第一信息比特的尾部时,可以从第一LDPC基矩阵中的第k-1列开始,向前(即矩阵从右向左的方向)删除列,得到第二LDPC基矩阵,然后根据第一扩展因子和第二LDPC基矩阵对第一比特序列进行LDPC编码。
如果第一填充比特被填充到第一信息比特的其他位置,则第一LDCP基矩阵中要删除的k1列信息位列的位置需做相应修改。
通信设备根据第一扩展因子和第二LDPC基矩阵对第一比特序列进行LDPC编码时,具体实现方式可以参考上述通信设备根据第一扩展因子和第一LDPC基矩阵对第一比特序列进行编码的流程,为了简洁,此处不再赘述。
通信设备对第一比特序列进行编码,得到长度为N的编码比特序列d0,d1,…,dN-1后,可以删除该编码比特序列中的第一填充比特,如删除标记为<NULL>的比特,得到第二比特序列。
如第一比特序列包括的第一填充比特位于第一信息比特的尾部时,可以删除该第一比特序列编码得到的编码比特序列d0,d1,…,dN-1中的di,K≤i<K+F,得到第二比特序列di,0≤i<K,K+F≤i<N。应注意,如果第一填充比特被插入第一信息比特的其他位置,该步骤需做相应修改。
S220,通信设备将第二比特序列保存至循环缓存中。该步骤可以由通信设备的编码模块实现。
由于第二比特序列是删除第一填充比特后得到的比特序列,因此,保存至循环缓冲中的比特序列可以包括更多的信息比特,这使得循环缓存(尤其是限制循环缓存)中可以存储更多的信息量,进而使得速率匹配器产生的冗余比特段中可以包含更多的信息量。这样,接收端接收到比特的软值后,由于接收到的比特包括更多的信息量,因此译码性能会更高,最终通信性能也会更好。
此外,循环缓存中保存的比特中不包括第一填充比特,使得速率匹配器获取冗余比特段的过程中,可以节省判断比特是否为填充比特,以便于可以丢弃填充比特的时间,即可以提高通信效率。
其中,通信设备可以将部分或全部第二比特序列保存至循环缓存。
图2所示的数据处理方法中,第二比特序列保存至循环缓存后,为了支持各种不同码长码率的需求,可以对循环存储中保存的比特进行速率匹配,以调整待输出的比特序列的块长。通常情况下,实现速率匹配的模块可以称为速率匹配模块或速率匹配器,该速率匹配模块可以是上述通信设备的组成部分,也可以是其他通信设备的组成部分。
速率匹配模块进行速率匹配时,可以选择不同的冗余版本,如从RV0~RV4中选择合适的起始点后,按列顺序读取循环缓存中的数据。调整读取数据的多少可得到不同码率的码.
例如,图3中总共有96列,如果从RV0开始读取64列生成一个码块的话,则速率匹配后的码率如果读取128列的话(读取到循环缓存末尾时,循环至循环缓存最开始继续读取),则速率匹配后的码率图3所示的速率匹配方法中的循环缓存器也可以称为全寄存器。
此外,若循环缓存为限制循环缓存,或称为限制寄存器时,可以使用限制速率匹配方法(Limited buffer rate matching,LBRM),其冗余版本定义如图4所示。限制循环缓存的速率匹配方法,特点在于可以先进行一次速率匹配减少冗余总量,再按照全寄存器的速率匹配方法操作,以节省接收端(如终端)的存储开销。
在读取循环缓存(包括全寄存器和限制寄存器)中数据的时候,如果某个比特是填充比特(如被标记为<NULL>的比特),则速率匹配模块会跳过并尝试读取该填充比特之后的比特,直到找到一个非填充比特(如非<NULL>的比特)。这样,可以确保经过速率匹配模块输出的有效比特的个数就等于待输出的比特序列长度。经过速率匹配模块输出的有效比特可以称为第三比特序列。
可选地,通信设备可以发送第三比特序列。
图2所示的数据处理方法中,通常情况下,通信设备的编码模块支持的最大块长(即待编码的原始信息比特)是一定的(如可以为6144)。为了支持更大的信息长度,该编码模块前可以级联一个码块分割模块,将超过指定长度Z(如Z=6144)的比特序列分割成多个码块分别进行编码。
对原始的信息序列,若其添加24比特传输-循环冗余校验(transport block-cyclic redundancy check,TB-CRC)码后长度大于Z,则需要进行分块。分块后每块可以添加长度为L(如L=24)的传输-循环冗余校验(code block-cyclic redundancy check,CB-CRC)码。
假设添加CRC后传输块总长度为B',分割后的码块个数C,选取满足C·K≥B'的最小整数定义C+,C-分别为长度为对应的码块数目。此时,如果C=1,C+=1,C-=0;如果,C>1,此时C+=C-C-。其中,K为通信设备上存储的预设表中的合法值。
图5为本申请另一实施例的数据处理方法的示意性流程图。应理解,图5示出了数据处理方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图5中的各个操作的变形。
图5所示的数据处理方法可以由图1所示的通信设备120中的信道译码模块执行,或者可以说可以由通信设备120执行。信道译码模块也可以称为译码器,或者数据处理模块。下面以通信设备为执行主体为例,介绍本申请实施例的数据处理方法。
S510,第一通信设备获取第三比特序列的软信息,所述第三比特序列为第二通信设备从所述第二通信设备的循环缓存中选取的,所述循环缓存中保存的比特包括部分或全部第二比特序列,所述第二比特序列是所述第二通信设备对第一比特序列进行编码得到的,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特。
其中,第二通信设备可以是图2所示的数据通信方法中的通信设备,第二通信设备也可以称为发送端,第一通信设备可以是图1所示的通信系统中的通信设备120。
具体地,第一通信设备获取第三比特序列的软信息,可以包括:第一通信设备接收其他通信设备,如第二通信设备发送的第三比特序列的软信息。
S520,第一通信设备将软信息保存在软信息缓存中。
S530,第一通信设备向第一软信息中添加填充信息,得到第二软信息,所述第一软信息为所述软信息缓存中的软信息。
S540,第一通信设备对所述第二软信息进行译码。
本申请实施例中,由于第三比特序列是第二通信设备从第二比特序列中获取的,且第二比特序列中没有第一填充比特,因此,相同长度的第三比特序列可以包含更多的信息比特。这样,可以提高第一通信设备的译码性能,进而可以提高通信性能。
其中,第一通信设备在第一软值信息中添加填充信息以得到第第二软信息的实现方式,可以参考图2中、在第一信息比特中添加第一填充比特以得到第一比特序列的实现方式,为了简洁,此处不再赘述。
本申请实施例中,可选地,第一通信设备对第二软信息进行译码,可以包括:所述第一通信设备根据第一LDPC基矩阵,对所述第二软信息进行译码。
其中,上述步骤可以参考图2所示的数据处理方法中相应的编码流程,此处不再赘述。
本申请实施例中,可选地,第一通信设备对第二软信息进行译码,可以包括:第一通信设备根据第一LDPC基矩阵中的冗余比特和第一信息位列,对第二软信息进行译码,第一信息位列为第一LDPC基矩阵中与第一信息比特对应的列。
本申请实施例中,可选地,所述第一通信设备向第一软信息中添加填充信息,得到第二软信息,可以包括:第一通信设备根据第一软信息的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定填充信息的长度F,其中,Ki=zi·k,k为第一LDPC基矩阵中信息位列的数量,zi属于第一LDPC基矩阵支持的扩展因子集合{z0,z1,…,zi,…};第一通信设备向第一软信息中填充长度为F的填充信息,得到第二软信息。
其中,该步骤可以参考图2所示的数据处理方法中,通信设备根据第一信息比特的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定第一填充比特的长度F的流程,此处不再赘述。
本申请实施例中,可选地,第一通信设备根据第一LDPC基矩阵中的冗余比特和第一信息位列,对第二软信息进行译码,可以包括:第一通信设备根据填充信息的长度F和第一扩展因子,删除第一LDPC基矩阵中第一信息位列和冗余位列以外的列,得到第二LDPC基矩阵,第一扩展因子为扩展因子集合{z0,z1,…,zi,…}中与最小输入序列长度对应的扩展因子;通信设备根据第一扩展因子和第二LDPC基矩阵,对填充信息中与第一信息位列对应的信息和第一软信息,进行译码。
其中,上述步骤可以参考图2所示的数据处理方法中相应的编码流程,此处不再赘述。
本申请实施例中,可选地,所述第一通信设备向第一软信息中添加填充信息,得到第二软信息,可以包括:通信设备根据第一LDPC基矩阵中信息位列的数量、第一LDPC基矩阵支持的最大删除列数、第一LDPC基矩阵支持的扩展因子集合和第一软信息的长度,确定第一扩展因子和填充信息的长度F;所述通信设备向第一软信息中填充长度为F的填充信息,得到所述第二软信息。
其中,上述步骤可以参考图2所示的数据处理方法中相应的流程,此处不再赘述。
本申请实施例中,可选地,第一通信设备根据第一LDPC基矩阵中的冗余比特和第一信息位列,对第二软信息进行译码,可以包括:通信设备根据第一LDPC基矩阵中信息位列的数量、第一软信息的长度和第一扩展因子,删除第一LDPC基矩阵中第一信息位列和冗余位列以外的列,得到第二LDPC基矩阵;通信设备根据第一扩展因子和第二LDPC基矩阵,对填充信息中与第一信息位列对应的信息和第一软信息,进行译码。
其中,上述步骤可以参考图2所示的数据处理方法中相应的流程,此处不再赘述。
图6是本申请一个实施例的数据处理装置600的示意性结构图。应理解,图6示出的数据处理装置600仅是示例,本申请实施例的数据处理装置还可包括其他模块或单元,或者包括与图6中的各个模块的功能相似的模块,或者并非要包括图6中的所有模块。
编码模块610,用于对第一比特序列进行编码,得到第二比特序列,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特。
输出模块620,用于将所述第二比特序列的部分或全部保存至循环缓存中。
该数据处理装置可以对添加填充比特后的信息比特进行编码,从而可以对更多长度的信息比特进行编码。
该数据处理装置使得存入循环缓存中的比特序列中不包含填充比特,从而可以使得循环缓存,尤其是限制循环缓存中可以保存更多的信息比特,进而可以使得通信设备从该循环缓存中获取或发送比特序列可以包含更多的信息量,以提高接收端的译码性能,最终可以提高通信性能。
此外,该数据处理装置使得循环缓存中不包含编码过程中填充的比特,从而可以节省速率匹配选取待发送的信息比特的时间,提高通信效率。
可选地,该数据处理装置还可以包括循环缓存。
可选地,所述编码模块具体可以用于:根据所述第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列。
可选地,所述数据处理装置还可以包括填充模块630,用于:根据所述第一信息比特的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定所述第一填充比特的长度F,其中,Ki=zi·k,k为所述第一LDPC基矩阵中信息位列的数量,zi属于所述第一LDPC基矩阵支持的扩展因子集合{z0,z1,…,zi,…};向所述第一信息比特中填充长度为F的第一填充比特,得到所述第一比特序列。
可选地,所述编码模块可以具体用于:根据所述第一填充比特的长度F和第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵,所述第一扩展因子为所述扩展因子集合{z0,z1,…,zi,…}中与所述最小输入序列长度对应的扩展因子;根据所述第一扩展因子和所述第二LDPC基矩阵,对所述第一填充比特中与所述第一信息位列对应的比特和所述第一信息比特,进行编码。
可选地,所述数据处理装置还可以包括填充模块630,用于:根据所述第一LDPC基矩阵中信息位列的数量、所述第一LDPC基矩阵支持的最大删除列数、所述第一LDPC基矩阵支持的扩展因子集合和所述第一信息比特的长度,确定第一扩展因子和所述第一填充比特的长度F;向所述第一信息比特中填充长度为F的第一填充比特,得到所述第一比特序列。
可选地,所述编码模块可以具体用于:根据所述第一LDPC基矩阵中信息位列的数量、所述第一信息比特的长度和所述第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵;根据所述第一扩展因子和所述第二LDPC基矩阵,对所述第一填充比特中与所述第一信息位列对应的比特和所述第一信息比特,进行编码。
应理解,图6所示本申请实施例的数据处理装置的各个单元的上述和其它操作和/或功能分别为了实现图2的通信方法中由通信设备执行的相应流程,为了简洁,在此不再赘述。
图7是本申请一个实施例的数据处理装置的示意性结构图。应理解,图7示出的数据处理装置700仅是示例,本申请实施例的数据处理装置还可包括其他模块或单元,或者包括与图7中的各个模块的功能相似的模块,或者并非要包括图7中的所有模块。
获取模块710,用于获取第三比特序列的软信息,所述第三比特序列为发送端从所述发送端的循环缓存中选取的,所述循环缓存中保存的比特包括部分或全部第二比特序列,所述第二比特序列是所述发送端对第一比特序列进行编码得到的,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特。
写入模块720,用于将所述软信息保存在软信息缓存中。
填充模块730,用于向第一软信息中添加填充信息,得到第二软信息,所述第一软信息为所述软信息缓存中的软信息。
译码模块740,用于对所述第二软信息进行译码。
由于该数据处理装置获取的第三比特序列是发送端从不包含填充比特的第二比特序列中获取和发送的,因此第三比特序列可以包含更多的信息量,从而可以提高译码性能,最终可以提高通信性能。
可选地,所述译码模块可以具体用于:根据所述第一LDPC基矩阵中的冗余比特和第一信息位列,对所述第二软信息进行译码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列。
可选地,所述填充模块可以具体用于:根据所述第一软信息的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定所述填充信息的长度F,其中,Ki=zi·k,k为所述第一LDPC基矩阵中信息位列的数量,zi属于所述第一LDPC基矩阵支持的扩展因子集合{z0,z1,…,zi,…};向所述第一软信息中填充长度为F的填充信息,得到所述第二软信息。
可选地,所述译码模块可以具体用于:根据所述填充信息的长度F和第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵,所述第一扩展因子为所述扩展因子集合{z0,z1,…,zi,…}中与所述最小输入序列长度对应的扩展因子;根据所述第一扩展因子和所述第二LDPC基矩阵,对所述填充信息中与所述第一信息位列对应的信息和所述第一软信息,进行译码。
可选地,所述填充模块可以具体用于:根据所述第一LDPC基矩阵中信息位列的数量、所述第一LDPC基矩阵支持的最大删除列数、所述第一LDPC基矩阵支持的扩展因子集合和所述第一软信息的长度,确定第一扩展因子和所述填充信息的长度F;向所述第一软信息中填充长度为F的填充信息,得到所述第二软信息。
可选地,所述译码模块可以具体用于:根据所述第一LDPC基矩阵中信息位列的数量、所述第一软信息的长度和所述第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵;根据所述第一扩展因子和所述第二LDPC基矩阵,对所述填充信息中与所述第一信息位列对应的信息和所述第一软信息,进行译码。
应理解,图7所示本申请实施例的数据处理装置的各个单元的上述和其它操作和/或功能分别为了实现图5的通信方法中由第一通信设备执行的相应流程,为了简洁,在此不再赘述。
图8是本申请另一个实施例的数据处理装置的示意性结构图。应理解,图8示出的数据处理装置800仅是示例,本申请实施例的数据处理装置还可包括其他模块或单元,或者包括与图8中的各个模块的功能相似的模块,或者并非要包括图8中的所有模块。
其中,处理器810可以用于实现图6中的编码模块610和输出模块620能够实现的操作或步骤。为了简洁,此处不再赘述。
可选地,数据处理装置800还可以包括接收器820和发送器830。其中,接收器可以用于接收其他设备发送的信息,发送器可以用于向其他设备发送信息。
可选地,数据处理装置还可以包括循环缓存,用于存储第二比特序列。
图9是本申请另一个实施例的数据处理装置的示意性结构图。应理解,图9示出的数据处理装置900仅是示例,本申请实施例的数据处理装置还可包括其他模块或单元,或者包括与图9中的各个模块的功能相似的模块,或者并非要包括图9中的所有模块。
其中,处理器910可以用于实现图7中的写入模块720、填充模块730和译码模块740能够实现的操作或步骤,接收器920可以用于实现图7中的获取模块710能够实现的操作或步骤。为了简洁,此处不再赘述。
可选地,数据处理装置900还可以包括发送器930,用于向其他设备发送信息。
可选地,数据处理装置900还可以包括软信息缓存,用于保存软信息。
图10为本申请一个实施例的通信设备的示意性结构图。应理解,图10示出的通信设备1000仅是示例,本申请实施例的通信设备还可包括其他模块或单元,或者包括与图10中的各个模块的功能相似的模块,或者并非要包括图10中的所有模块。
通信设备1000包括的数据处理装置1010可以是图6所示的数据处理装置600,也可以是图8所示的数据处理装置800,为了简洁,此处不再赘述。
图11是本申请一个实施例的通信设备的示意性结构图。应理解,图11示出的通信设备1100仅是示例,本申请实施例的通信设备还可包括其他模块或单元,或者包括与图11中的各个模块的功能相似的模块,或者并非要包括图11中的所有模块。
通信设备1100包括的数据处理装置1110可以是图7所示的数据处理装置700,也可以是图9所示的数据处理装置900,为了简洁,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
对第一比特序列进行编码,得到第二比特序列,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;
将所述第二比特序列保存至循环缓存中;
其中,所述对第一比特序列进行编码,包括:
根据第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列;
所述数据处理方法还包括:
根据所述第一信息比特的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定所述第一填充比特的长度F,其中,Ki=zi·k,k为所述第一LDPC基矩阵中信息位列的数量,zi属于所述第一LDPC基矩阵支持的扩展因子集合{z0,z1,…,zi,…};
向所述第一信息比特中填充长度为F的第一填充比特,得到所述第一比特序列;
其中,所述根据第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,包括:
根据所述第一填充比特的长度F和第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵,所述第一扩展因子为所述扩展因子集合{z0,z1,…,zi,…}中与所述最小输入序列长度对应的扩展因子;
根据所述第一扩展因子和所述第二LDPC基矩阵,对所述第一填充比特中与所述第一信息位列对应的比特和所述第一信息比特,进行编码。
2.一种数据处理方法,其特征在于,包括:
对第一比特序列进行编码,得到第二比特序列,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;
将所述第二比特序列保存至循环缓存中;
其中,所述对第一比特序列进行编码,包括:
根据第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列;
所述数据处理方法还包括:
根据所述第一LDPC基矩阵中信息位列的数量、所述第一LDPC基矩阵支持的最大删除列数、所述第一LDPC基矩阵支持的扩展因子集合和所述第一信息比特的长度,确定第一扩展因子和所述第一填充比特的长度F;
向所述第一信息比特中填充长度为F的第一填充比特,得到所述第一比特序列。
3.根据权利要求2所述的数据处理方法,其特征在于,所述根据第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,包括:
根据所述第一LDPC基矩阵中信息位列的数量、所述第一信息比特的长度和所述第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵;
根据所述第一扩展因子和所述第二LDPC基矩阵,对所述第一填充比特中与所述第一信息位列对应的比特和所述第一信息比特,进行编码。
4.一种数据处理方法,其特征在于,包括:
获取第三比特序列的软信息,所述第三比特序列为发送端从所述发送端的循环缓存中选取的,所述循环缓存中保存的比特包括部分或全部第二比特序列,所述第二比特序列是所述发送端对第一比特序列进行编码得到的,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;
将所述软信息保存在软信息缓存中;
向第一软信息中添加填充信息,得到第二软信息,所述第一软信息为所述软信息缓存中的软信息;
对所述第二软信息进行译码;
其中,所述对所述第二软信息进行译码,包括:
根据第一LDPC基矩阵中的冗余比特和第一信息位列,对所述第二软信息进行译码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列;
所述向第一软信息中添加填充信息,得到第二软信息,包括:
根据所述第一软信息的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定所述填充信息的长度F,其中,Ki=zi·k,k为所述第一LDPC基矩阵中信息位列的数量,zi属于所述第一LDPC基矩阵支持的扩展因子集合{z0,z1,…,zi,…};
向所述第一软信息中填充长度为F的填充信息,得到所述第二软信息;
其中,所述根据所述第一LDPC基矩阵中的冗余比特和第一信息位列,对所述第二软信息进行译码,包括:
根据所述填充信息的长度F和第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和冗余位列以外的列,得到第二LDPC基矩阵,所述第一扩展因子为所述扩展因子集合{z0,z1,…,zi,…}中与所述最小输入序列长度对应的扩展因子;
根据所述第一扩展因子和所述第二LDPC基矩阵,对所述填充信息中与所述第一信息位列对应的信息和所述第一软信息,进行译码。
5.一种数据处理方法,其特征在于,包括:
获取第三比特序列的软信息,所述第三比特序列为发送端从所述发送端的循环缓存中选取的,所述循环缓存中保存的比特包括部分或全部第二比特序列,所述第二比特序列是所述发送端对第一比特序列进行编码得到的,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;
将所述软信息保存在软信息缓存中;
向第一软信息中添加填充信息,得到第二软信息,所述第一软信息为所述软信息缓存中的软信息;
对所述第二软信息进行译码;
其中,所述对所述第二软信息进行译码,包括:
根据第一LDPC基矩阵中的冗余比特和第一信息位列,对所述第二软信息进行译码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列;
所述向第一软信息中添加填充信息,得到第二软信息,包括:
根据所述第一LDPC基矩阵中信息位列的数量、所述第一LDPC基矩阵支持的最大删除列数、所述第一LDPC基矩阵支持的扩展因子集合和所述第一软信息的长度,确定第一扩展因子和所述填充信息的长度F;
向所述第一软信息中填充长度为F的填充信息,得到所述第二软信息。
6.根据权利要求5所述的数据处理方法,其特征在于,根据所述第一LDPC基矩阵中的冗余比特和第一信息位列,对所述第二软信息进行译码,包括:
根据所述第一LDPC基矩阵中信息位列的数量、所述第一软信息的长度和所述第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和冗余位列以外的列,得到第二LDPC基矩阵;
根据所述第一扩展因子和所述第二LDPC基矩阵,对所述填充信息中与所述第一信息位列对应的信息和所述第一软信息,进行译码。
7.一种数据处理装置,其特征在于,包括:
填充模块,用于:根据第一信息比特的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定第一填充比特的长度F,其中,Ki=zi·k,k为第一LDPC基矩阵中信息位列的数量,zi属于所述第一LDPC基矩阵支持的扩展因子集合{z0,z1,…,zi,…};向所述第一信息比特中填充长度为F的所述第一填充比特,得到第一比特序列;
编码模块,用于对所述第一比特序列进行编码,得到第二比特序列,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;
输出模块,用于将所述第二比特序列的部分或全部保存至循环缓存中;
其中,所述编码模块具体用于:根据第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列;
其中,所述编码模块具体用于:
根据所述第一填充比特的长度F和第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵,所述第一扩展因子为所述扩展因子集合{z0,z1,…,zi,…}中与所述最小输入序列长度对应的扩展因子;
根据所述第一扩展因子和所述第二LDPC基矩阵,对所述第一填充比特中与所述第一信息位列对应的比特和所述第一信息比特,进行编码。
8.一种数据处理装置,其特征在于,包括:
填充模块,用于:根据第一LDPC基矩阵中信息位列的数量、所述第一LDPC基矩阵支持的最大删除列数、所述第一LDPC基矩阵支持的扩展因子集合和第一信息比特的长度,确定第一扩展因子和第一填充比特的长度F;向所述第一信息比特中填充长度为F的所述第一填充比特,得到第一比特序列;
编码模块,用于对第一比特序列进行编码,得到第二比特序列,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;
输出模块,用于将所述第二比特序列的部分或全部保存至循环缓存中;
其中,所述编码模块具体用于:根据所述第一LDPC基矩阵中的冗余位列和第一信息位列,对所述第一比特序列进行编码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列。
9.根据权利要求8所述的数据处理装置,其特征在于,所述编码模块具体用于:
根据所述第一LDPC基矩阵中信息位列的数量、所述第一信息比特的长度和所述第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和所述冗余位列以外的列,得到第二LDPC基矩阵;
根据所述第一扩展因子和所述第二LDPC基矩阵,对所述第一填充比特中与所述第一信息位列对应的比特和所述第一信息比特,进行编码。
10.一种数据处理装置,其特征在于,包括:
获取模块,用于获取第三比特序列的软信息,所述第三比特序列为发送端从所述发送端的循环缓存中选取的,所述循环缓存中保存的比特包括部分或全部第二比特序列,所述第二比特序列是所述发送端对第一比特序列进行编码得到的,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;
写入模块,用于将所述软信息保存在软信息缓存中;
填充模块,用于向第一软信息中添加填充信息,得到第二软信息,所述第一软信息为所述软信息缓存中的软信息;
译码模块,用于对所述第二软信息进行译码;
其中,所述译码模块具体用于:根据第一LDPC基矩阵中的冗余比特和第一信息位列,对所述第二软信息进行译码,所述第一信息位列为所述第一LDPC基矩阵中与所述第一信息比特对应的列;
所述填充模块具体用于:
根据所述第一软信息的长度K,和输入序列长度集合{K0,K1,…,Ki,…}中、大于K的最小输入序列长度,确定所述填充信息的长度F,其中,Ki=zi·k,k为所述第一LDPC基矩阵中信息位列的数量,zi属于所述第一LDPC基矩阵支持的扩展因子集合{z0,z1,…,zi,…};
向所述第一软信息中填充长度为F的填充信息,得到所述第二软信息;
其中,所述译码模块具体用于:
根据所述填充信息的长度F和第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和冗余位列以外的列,得到第二LDPC基矩阵,所述第一扩展因子为所述扩展因子集合{z0,z1,…,zi,…}中与所述最小输入序列长度对应的扩展因子;
根据所述第一扩展因子和所述第二LDPC基矩阵,对所述填充信息中与所述第一信息位列对应的信息和所述第一软信息,进行译码。
11.一种数据处理装置,其特征在于,包括:
获取模块,用于获取第三比特序列的软信息,所述第三比特序列为发送端从所述发送端的循环缓存中选取的,所述循环缓存中保存的比特包括部分或全部第二比特序列,所述第二比特序列是所述发送端对第一比特序列进行编码得到的,所述第一比特序列包括第一信息比特和第一填充比特,所述第二比特序列包括第二信息比特和冗余比特;
写入模块,用于将所述软信息保存在软信息缓存中;
填充模块,用于向第一软信息中添加填充信息,得到第二软信息,所述第一软信息为所述软信息缓存中的软信息;
译码模块,用于对所述第二软信息进行译码;
其中,所述填充模块具体用于:
根据第一LDPC基矩阵中信息位列的数量、所述第一LDPC基矩阵支持的最大删除列数、所述第一LDPC基矩阵支持的扩展因子集合和所述第一软信息的长度,确定第一扩展因子和所述填充信息的长度F;
向所述第一软信息中填充长度为F的填充信息,得到所述第二软信息。
12.根据权利要求11所述的数据处理装置,其特征在于,所述译码模块具体用于:
根据所述第一LDPC基矩阵中信息位列的数量、所述第一软信息的长度和所述第一扩展因子,删除所述第一LDPC基矩阵中所述第一信息位列和冗余位列以外的列,得到第二LDPC基矩阵;
根据所述第一扩展因子和所述第二LDPC基矩阵,对所述填充信息中与所述第一信息位列对应的信息和所述第一软信息,进行译码。
13.一种通信设备,其特征在于,包括权利要求7至9中任一项所述的数据处理装置。
14.一种通信设备,其特征在于,包括权利要求10至12中任一项所述的数据处理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710140122.4A CN108574491B (zh) | 2017-03-09 | 2017-03-09 | 数据处理方法、数据处理装置和通信设备 |
EP18763543.8A EP3576303A4 (en) | 2017-03-09 | 2018-03-01 | DATA PROCESSING METHOD, DATA PROCESSING DEVICE AND COMMUNICATION DEVICE |
PCT/CN2018/077786 WO2018161847A1 (zh) | 2017-03-09 | 2018-03-01 | 数据处理方法、数据处理装置和通信设备 |
US16/563,396 US11025277B2 (en) | 2017-03-09 | 2019-09-06 | Data processing method, data processing apparatus, and communications device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710140122.4A CN108574491B (zh) | 2017-03-09 | 2017-03-09 | 数据处理方法、数据处理装置和通信设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108574491A CN108574491A (zh) | 2018-09-25 |
CN108574491B true CN108574491B (zh) | 2020-02-21 |
Family
ID=63447306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710140122.4A Active CN108574491B (zh) | 2017-03-09 | 2017-03-09 | 数据处理方法、数据处理装置和通信设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11025277B2 (zh) |
EP (1) | EP3576303A4 (zh) |
CN (1) | CN108574491B (zh) |
WO (1) | WO2018161847A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113711515A (zh) | 2019-02-15 | 2021-11-26 | 瑞典爱立信有限公司 | 对有限缓冲器速率匹配限制的纠正 |
CN113612579A (zh) * | 2021-07-23 | 2021-11-05 | 广州慧睿思通科技股份有限公司 | 基于qc_ldpc码的数据处理方法、通信装置、设备和存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4965825A (en) * | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
US7831204B1 (en) * | 1981-11-03 | 2010-11-09 | Personalized Media Communications, Llc | Signal processing apparatus and methods |
US6789227B2 (en) * | 2001-07-05 | 2004-09-07 | International Business Machines Corporation | System and method for generating low density parity check codes using bit-filling |
US20090312676A1 (en) * | 2006-02-02 | 2009-12-17 | Tylerton International Inc. | Metabolic Sink |
US7890834B2 (en) | 2007-06-20 | 2011-02-15 | Motorola Mobility, Inc. | Apparatus comprising a circular buffer and method for assigning redundancy versions to a circular buffer |
CN101188428B (zh) * | 2007-12-10 | 2012-09-05 | 中兴通讯股份有限公司 | 一种ldpc码的有限长度循环缓存的速率匹配方法 |
CN103973315B (zh) * | 2013-01-25 | 2019-01-18 | 中兴通讯股份有限公司 | 一种低密度奇偶校验码译码装置及其译码方法 |
CN105811996B (zh) | 2014-12-30 | 2019-12-06 | 华为技术有限公司 | 一种基于准循环ldpc的数据处理方法及系统 |
US10523386B2 (en) * | 2016-06-24 | 2019-12-31 | Lg Electronics Inc. | Method of processing data block in wireless communication system and apparatus therefor |
US10432234B2 (en) * | 2016-07-19 | 2019-10-01 | Mediatek Inc. | Low complexity rate matching for polar codes |
CN107819710B (zh) * | 2016-09-12 | 2020-05-12 | 深圳市中兴微电子技术有限公司 | Iq失配补偿方法和装置、补偿设备及通信设备 |
-
2017
- 2017-03-09 CN CN201710140122.4A patent/CN108574491B/zh active Active
-
2018
- 2018-03-01 EP EP18763543.8A patent/EP3576303A4/en not_active Ceased
- 2018-03-01 WO PCT/CN2018/077786 patent/WO2018161847A1/zh unknown
-
2019
- 2019-09-06 US US16/563,396 patent/US11025277B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11025277B2 (en) | 2021-06-01 |
US20190393896A1 (en) | 2019-12-26 |
EP3576303A4 (en) | 2020-04-08 |
EP3576303A1 (en) | 2019-12-04 |
WO2018161847A1 (zh) | 2018-09-13 |
CN108574491A (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11374591B2 (en) | Apparatus and method for channel coding in communication system | |
US20210385015A1 (en) | Method and apparatus for processing information, communications device, and communications system | |
US10917114B2 (en) | Data transmission method, sending device, receiving device, and communications system | |
EP4064573B1 (en) | Decoding of quasi-cyclic ldpc codes for a 5g mobile communications system | |
EP1656737B1 (en) | Method and apparatus for varying lengths of low density parity check codewords | |
JP6820438B2 (ja) | 情報処理方法および通信装置 | |
KR20190099327A (ko) | 정보 처리 방법, 장치, 및 통신 시스템 | |
CN109391367B (zh) | 通信方法和装置 | |
CN108574491B (zh) | 数据处理方法、数据处理装置和通信设备 | |
US11463108B2 (en) | Information processing method and communications apparatus | |
US11115052B2 (en) | Information processing method and communications apparatus | |
US10944508B2 (en) | Data processing method and communications device | |
CN114079530A (zh) | 编码方法及装置 | |
CN108631913B (zh) | 一种基于准循环低密度校验码的交织方法及相关设备 | |
CN108574493B (zh) | 数据处理的方法和装置 | |
KR20220130645A (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
KR20180071917A (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |