CN110089036B - 一种数据传输方法、发送设备和接收设备 - Google Patents
一种数据传输方法、发送设备和接收设备 Download PDFInfo
- Publication number
- CN110089036B CN110089036B CN201680091690.3A CN201680091690A CN110089036B CN 110089036 B CN110089036 B CN 110089036B CN 201680091690 A CN201680091690 A CN 201680091690A CN 110089036 B CN110089036 B CN 110089036B
- Authority
- CN
- China
- Prior art keywords
- matrix
- quasi
- row
- cyclic ldpc
- data
- 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
-
- 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
- H03M13/1168—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal 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/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/093—CRC update after modification of the information word
-
- 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
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3723—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
- H04L1/0058—Block-coded modulation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
一种数据传输方法、发送设备和接收设备。发送设备获取信息数据;所述发送设备采用准循环低密度奇偶校验码准循环LDPC矩阵,对所述信息数据进行编码,所述发送设备对所述编码后的数据进行调制,得到第一数据;所述发送设备发送所述第一数据。接收设备获取第二数据,并对所述第二数据进行解调,得到待译码数据;所述接收设备采用准循环低密度奇偶校验码准循环LDPC矩阵中的分块矩阵,对所述待译码数据进行译码;其中,所述分块矩阵为所述准循环LDPC矩阵中的部分矩阵,其中,所述准循环LDPC矩阵中第H‑1行的行重大于等于第H行的行重,或者第H‑1行的行重小于等于第H行的行重,能够提高译码效率。
Description
技术领域
本申请涉及编码技术领域,尤其涉及一种数据传输方法、发送设备和接收设备。
背景技术
随着多媒体和宽带移动通信业务的广泛展开,无线通信系统对传输速度和可靠性提出了更高的要求。低密度奇偶校验码(Low Density Parity Check,LDPC)由于具有低复杂度,低错误平层,可以全并行译码等优势,已被广泛应用于微波,光网络,WiFi等领域。
LDPC码由Gallager在1962年首次提出,可以理解为是一种码长为n,信息序列长度为k的线性分组码,其校验矩阵是一种稀疏矩阵。LDPC码可以由其校验矩阵(基矩阵)H唯一确定,也可以由校验矩阵H对应的Tanner图唯一定义。例如:可以理解为是一种LDPC码的矩阵表示方式,在以该矩阵方式表示的LDPC码中,校验比特{v0 v1 v2 v3 v4 v5 v6 v7 v8v9}与校验矩阵H的非零元素进行转置相乘,若得到线性分组码则可以理解为译码成功。
上述以矩阵方式表示的LDPC码,也可以通过图1所示的Tanner图表示。图1中,圆形节点为变量节点{v0 v1 v2 v3 v4 v5 v6 v7 v8 v9},代表H矩阵中的一列,方形节点为校验节点{c0 c1 c2 c3 c4},代表H矩阵中的一行,图中每条连接校验节点和变量节点的线条代表这两个节点所对应的行与列交汇的位置存在一个非零元素。
目前,针对准循环LDPC矩阵的译码方法,主要有反向传播算法(BackPropagation,BP)和最小和算法(Min sum,MS)两种方法。BP的译码复杂度较高一般仅用于理论验证性能,实际系统多采用MS译码方法进行译码。洪(Flood)MS和分层(Layered)MS是目前比较常用的MS译码方法。其中,Layered MS可以理解为是Flood MS改进的MS译码方法,收敛速度相对较快,并能降低译码所需的迭代次数,是一种通用的MS译码方法。但是采用Layered MS译码方法进行译码,译码效率仍比较低。
发明内容
本申请实施例提供一种数据传输方法、发送设备和接收设备,以提高译码效率。
第一方面,提供一种数据传输方法,发送设备获取信息数据,并通过第H-1行行重大于等于第H行行重,或者第H-1行行重小于等于第H行行重的准循环LDPC矩阵对信息数据进行编码,并对编码后的信息数据进行调制得到第一数据后发送第一数据。接收设备在进行译码过程中,获取第二数据,第二数据可以理解为是发送设备发送的第一数据经过信道传输至接收设备的数据,并采用准循环LDPC矩阵中的分块矩阵,对待译码数据进行译码。例如依据行重大小选择行重较小的分块矩阵优先进行迭代译码,在迭代过程中先迭代计算行重较小的行,再计算行重较大的行,可加快迭代的收敛速度,故本申请实施例中依据行重大小选择行重较小的分块矩阵优先进行迭代译码可加快迭代译码的收敛速度,提高译码效率。并且高码率的LDPC码部分,只有当其输入信息的置信度达到其预设阈值以上时,进行迭代译码才有可能得到一个收敛的解,否则迭代过程将是发散的,故本申请实施例中采用分块矩阵进行译码,若该分块矩阵的置信度达到其预设阈值以上时,可以增加比特的置信度,进而可节约计算资源。
其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数。所述分块矩阵为准循环LDPC矩阵中的部分矩阵。例如,所述分块矩阵可以为Raptor like结构准循环LDPC矩阵中的核心矩阵和扩展矩阵。
一种可能的设计中,第H-1行的行重小于等于第H行的行重的准循环LDPC矩阵可以是Raptor like结构的准循环LDPC矩阵。第H-1行的行重大于等于第H行的行重的准循环LDPC矩阵可以为在列方向上进行倒置的Raptor like结构的准循环LDPC矩阵。
假设Raptor like结构的准循环LDPC矩阵为M行×N列的矩阵,Raptor like结构的准循环LDPC矩阵中的核心矩阵为MC行×NC列。其中,MC<M,且M、N、MC、NC均为正整数。Raptorlike结构的准循环LDPC矩阵中第0~(MC-1)行、第0~(NC-1)列的分块矩阵为核心矩阵,第MC~(M-1)行、第0~(NC-1)列的分块矩阵为扩展矩阵。接收设备采用分块矩阵对待译码数据进行译码时,可采用如下方式:
一种可能的设计中,采用Raptor like结构的准循环LDPC矩阵中第MC~(M-1)行、第0~N列的分块矩阵,对待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据。依次采用Raptor like结构准循环LDPC矩阵中第0~(MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码。其中,MC<M,NC<N,且M、N、MC均为正整数。
其中,上述对待译码数据进行译码所用的Raptor like结构的准循环LDPC矩阵可以为第H-1行的行重小于等于第H行的行重的准循环LDPC矩阵。
另一种可能的设计中,采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,对所述待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据。依次采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码。
其中,所述在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重。
又一种可能的设计中,接收设备每次对所述待译码数据进行译码之后,若确定译码成功,则终止迭代译码。
第二方面,提供一种发送设备,该发送设备具备实现上述数据传输方法中发送设备的全部功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
一种可能的设计中,所述发送设备包括获取单元、编码单元、调制单元和发送单元。获取单元、编码单元、调制单元和发送单元的功能可以和各方法步骤相对应,在此不予赘述。
另一种可能的设计中,所述发送设备包括接收器、编码器、调制器和发送器。接收器、编码器、调制器和发送器的功能可以和各方法步骤相对应,在此不予赘述。
第三方面,提供一种接收设备,该接收设备具备实现上述数据传输方法中接收设备的全部功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
一种可能的设计中,所述接收设备包括接收单元、解调单元和译码单元。接收单元、解调单元和译码单元的功能可以和各方法步骤相对应,在此不予赘述。
另一种可能的设计中,所述接收设备包括接收器、解调器和译码器。接收器、解调器和译码器的功能可以和各方法步骤相对应,在此不予赘述。
本申请实施例提供的数据传输方法、发送设备和接收设备,发送设备采用准循环低密度奇偶校验码LDPC矩阵,对所述信息数据进行编码,其中,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,或者第H-1行的行重小于等于第H行的行重,接收设备在译码过程中,采用准循环LDPC矩阵中的分块矩阵,对待译码数据进行译码,例如依据行重大小选择行重较小的分块矩阵优先进行迭代译码。在迭代过程中先迭代计算行重较小的行,再计算行重较大的行,可加快迭代的收敛速度,故本申请实施例中依据行重大小选择行重较小的分块矩阵优先进行迭代译码可加快迭代译码的收敛速度,提高译码效率。并且高码率的LDPC码部分,只有当其输入信息的置信度达到其预设阈值以上时,进行迭代译码才有可能得到一个收敛的解,否则迭代过程将是发散的,故本申请实施例中采用分块矩阵进行译码,若该分块矩阵的置信度达到其预设阈值以上时,可以增加比特的置信度,进而可节约计算资源。
附图说明
图1为Tanner图表示的LDPC码示意图;
图2为进行信道编码与译码的无线通信系统结构示意图;
图3为准循环LDPC矩阵示意图;
图4为LDPC码分层译码节点更新流程图;
图5为本申请实施例提供的一种数据传输方法示意图;
图6为Raptor like结构的准循环LDPC矩阵的结构示意图;
图7为在列方向上进行倒置的Raptor like结构的准循环LDPC矩阵的结构示意图;
图8为本申请实施例提供的另一种数据传输方法示意图;
图9为本申请实施例提供的一种利用分块矩阵对待译码数据进行译码的流程示意图;
图10为本申请实施例提供的另一种利用分块矩阵对待译码数据进行译码的流程示意图;
图11A至图11B为本申请实施例提供的两种准循环LDPC矩阵示意图;
图12A至图12B为本申请实施例提供的译码方法提高收敛速度,节约计算资源的效果示意图;
图13为本申请实施例提供的一种发送设备结构示意图;
图14为本申请实施例提供的另一种发送设备结构示意图;
图15为本申请实施例提供的一种接收设备结构示意图;
图16为本申请实施例提供的另一种接收设备结构示意图。
具体实施方式
下面将结合附图,对本申请实施例进行描述。
本申请实施例提供的数据传输方法,可应用于需要进行信道编码与译码的无线通信系统中。例如图2中,发送设备对接收到的信息数据进行编码、调制以后经由信道发送,接收设备接收到接收信号后,经过解调、译码等过程,输出译码得到的信息数据。
本申请实施例以下主要针对发送设备和接收设备实现数据传输的方法进行说明。其中,发送设备具备编码功能、调制功能及发送功能。接收设备,其具备接收功能、解调功能及译码功能。本申请实施例提供的数据发送设备可以是集成编码器、调制器及发射器的设备,接收设备可以是集成接收器、解调器及译码器的设备。
本申请实施例中的发送设备和接收设备可以为以无线方式进行数据传输的任意一种发送端的设备和接收端的设备。发送设备和接收设备可以是任意一种具有无线收发功能的设备,包括但不限于:基站NodeB、演进型基站eNodeB、第五代(the fifth generation,5G)通信系统中的基站、未来通信系统中的基站或网络设备、WiFi系统中的接入节点、无线中继节点、无线回传节点以及用户设备(user equipment,UE)。其中,UE也可以称之为终端Terminal、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。UE可以经无线接入网(radio access network,RAN)与一个或多个核心网进行通信,或者可以通过自组织或免授权的方式接入分布式网络,UE还可以通过其它方式接入无线网络进行通信,UE也可以与其它UE直接进行无线通信,本申请实施例对此不作限定。
本申请实施例所提供的数据传输方法可以适用于下行数据传输,也可以适用于上行数据传输,还可以适用于设备到设备(device to device,D2D)的数据传输。对于下行数据传输,发送设备是基站,对应的接收设备是UE。对于上行数据传输,发送设备是UE,对应的接收设备是基站。对于D2D的数据传输,发送设备是UE,对应的接收设备也是UE。本申请的实施例对此不做限定。
本申请实施例中的发送设备和接收设备可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上;还可以部署在空中的飞机、气球和卫星上。本申请实施例中的UE可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请实施例对应用场景不做限定。
本申请实施例首先对接收设备采用通用的Layered MS方法进行译码的过程进行说明。
Layered MS译码,通常采用一类具有特殊结构化特征的LDPC矩阵,该LDPC矩阵的校验矩阵H为(m*z)*(n*z)的矩阵,它是由m*n个分块矩阵构成,每个分块都是一个z*z的单位矩阵经过循环移位获得,该具有特殊结构化特征的LDPC矩阵可称为准循环(Quasi-Cycle,QC)LDPC矩阵,本申请实施例以下涉及的LDPC矩阵也是指准循环的LDPC矩阵。图3所示为一种准循环的LDPC矩阵。图3中准循环的LDPC矩阵中的每一元素表征一个矩阵。其中,所有值为-1的元素表征的矩阵经过扩展后得到的为一个z*z大小的全0矩阵,值为-1的元素扩展可表示为:
实际矩阵中,-1也可以用空格,字母或者数学符号等其他符号表示。
除值为-1的元素以外的其他元素表征的矩阵扩展后则为z*z大小的置换矩阵。置换矩阵可以由一个单位矩阵I经过相应次数的循环位移获得,位移次数等于对应矩阵元素的值。比如,若矩阵扩展因子z=4,所述扩展因子表征扩展后矩阵的大小(准循环的LDPC矩阵中的元素值大小),元素扩展的过程可表示为:
本申请实施例中,当准循环的LDPC矩阵中的元素值大于预设的展开因子时,需要对该元素做除法后向下取整,再进行循环位移,公式如下:
式中,zf为实际展开因子,p(i,j)为准循环的LDPC矩阵中对应元素值,当p(i,j)>zf时,需要根据上式计算得到新的循环位移值p(f,i,j)后再进行展开并做循环位移。
本申请实施例中,Layered MS译码过程涉及的主要符号定义如下:
it表示当前迭代次数,it=1,2,…,Max_Iter,Max_Iter为最大迭代次数。
l表示当前更新层数,l=0,1,…,L-1,L为校验矩阵的层数。
i表示校验矩阵的第i行,i=0,1,…,M-1,M为校验矩阵的行数。
j表示校验矩阵的第j列,j=0,1,…,N-1,N为校验矩阵的列数。
λj表示输入序列第j个元素的对数似然比(likelihood Rate,LLR)信息。
Rij[it]表示第it次迭代时,从第i个校验节点传给第j个变量节点的信息。
Qji[it]表示第it次迭代时,从第j个变量节点传给第i个校验节点的信息。
Qj[it]表示第it次迭代时,用于硬判决的第j个变量节点后验概率信息。
C(j)表示与第j个变量节点相连的校验节点的集合。
V(i)表示与第i个校验节点相连的变量节点的集合。
Layered MS译码时,从上往下将准循环LDPC矩阵按行分成多层,按顺序依次更新这些层;每层的行更新完成后,立即对所有的列进行列更新,然后再对下一层进行行更新,Layered MS译码的过程是行列交替进行的,前一层进行行更新后先进行列更新再做下一层的行更新,此时下一层的行在更新时基于的是最近更新过的其他行的信息,迭代收敛速度相对较快。Layered MS译码的过程主要包括如下步骤:
第一步:初始化
译码过程中的输入序列(待译码数据)一般为LLR数据,该LLR数据可定义为:为负逻辑映射(0→+1,1→-1)。当然也可以为正逻辑映射(0→-1,1→+1),其中,j=0,1,…,N-1,N为校验矩阵的列数。
对i=0,1,…,M-1,M为校验矩阵的行数,第i个校验节点传给第j个变量节点的信息Rij[0]初始化为0,其中j∈V(i)。
对j=0,1,…,N-1,第j个变量节点的后验概率信息Qj[0]初始化为λj。
迭代次数it=1,更新层数l=0。
第二步:迭代运算,
在译码过程中,校验节点(行)和变量节点(列)之间交替运算更新,直到译码成功或达到最大迭代次数。对于Layer MS算法,同一层内的所有校验节点(行)会并行运算,更新完层内所有行后,再更新该行中所有非0元素所在的列。LDPC码分层译码节点更新流程图如图4所示,这里每层内均只有一行。
其中,扩展准循环LDPC矩阵后的非0元素和基矩阵中的非负元素是等价的,后文将不再区分这两点。
每次迭代中,接收设备的译码器要完成准循环LDPC矩阵中所有层的校验节点(行)及与其相连的变量节点(列)的更新。
具体的,假设当前迭代次数为it(1≤it≤Max_Iter),第l(0≤l≤L-1)层的更新过程如下:
(一)校验节点输入信息计算
为了更新第l层校验节点,需要先计算与该层校验节点(Check Node,CN)相连的第j个变量节点(Variable Node,VN)传给第i个校验节点CN的信息,这里lz≤i≤(l+1)z-1,z为扩展因子,j∈V(i):
Qji[it]=Qj[it]-Rij[it-1]
由于Qj[it]在一次迭代中会被更新多次,为了便于表示,本申请实施例中令Qj[it]始终为当前更新的最新结果,当l=0时,Qj[it]=Qj[it-1]。
(二)校验节点更新
对第i个校验节点,首先计算与其相连的变量节点信息绝对值|Qji[it]|的最小值mini[it]和最小值对应的列序号min_indexi[it],其中,其次,对除去最小值以外的其余值求最小值,得到次小值submini[it],其中,再计算出与第i个校验节点相连的所有变量节点符号的乘积:最后,根据上述信息即可完成校验节点的更新:
Rij[it]=sgn_alli[it]·sgn(Qji[it])·Temp
式中,α为归一化修正因子,该α由系统预设。
(三)变量节点更新
在计算变量节点信息时,假设此时校验节点完成了第it(1≤it≤Max_Iter)次迭代第l层的更新,那么仅需要更新与第l层校验节点i相连的变量节点j,这里lz≤i≤(l+1)z-1,j∈V(i)。
其中,在每次迭代译码完成后,需要计算变量节点的后验概率信息,进行硬判决检测。其中,第j个变量节点的后验概率信息可以采用如下公式Qj[it]=Qj[it]+(Rij[it]-Rij[it-1])计算。根据后验概率,可以完成硬判决检测。硬判决过程如下:
按照公式得到长度为N的硬判序列HDD=(HDD0,HDD1,…,HDDK-1,…,HDDN-1)后,对序列进行准循环LDPC矩阵译码校验:若H·HDDT=0,则译码结果符合所有校验方程,则准循环LDPC矩阵译码成功。若H·HDDT≠0,则准循环LDPC矩阵校验失败,返回继续迭代直到正确译码或达到最大迭代次数。
可以理解的是,由于每层中只会有一个校验节点与第j个变量节点相连,因此对于每个固定的j,有且仅有一个i值与其对应。
上述校验节点更新公式Rij[it]=sgn_alli[it]·sgn(Qji[it])·Temp,可表示为其中,V(i)\{j}表示与当前校验节点相连的变量节点的个数。由公式可知,V(i)\{j}中元素越少,传递的信息值Rij[k]的取值越大。定性解释即为,当前更新的校验节点的行重越小,传递给每个变量节点的更新值就越大。因此,在迭代过程中先迭代计算行重较小的行,再计算行重较大的行,可加快迭代的收敛速度。其中,行重可以理解为是指准循环LDPC矩阵中每一行中目标元素的个数,目标元素表征的矩阵扩展后是非零矩阵的。例如,准循环LDPC矩阵展开后一行内非零元素的个数,也可认为是LDPC基矩阵中非-1元素的个数。为了描述方便,本申请实施例以下以行重表示为非零元素的个数的表示方法进行描述。
本申请实施例中,为了加快译码过程中迭代的收敛速度,发送设备可通过第H-1行的行重大于等于第H行的行重,或者第H-1行的行重小于等于第H行的行重的准循环LDPC矩阵对信息数据进行编码,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数。接收设备在进行译码过程中,依据行重大小顺序选择行重较小的分块矩阵优先进行迭代译码。
图5所示为本申请实施例提供的一种数据传输方法示意图,图5所示的数据传输方法可应用于发送设备。参阅图5所示,包括:
S101:发送设备获取信息数据。
S102:发送设备采用准循环LDPC矩阵,对所述信息数据进行编码,其中,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,或者第H-1行的行重小于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数。
S103:发送设备对编码后的信息数据进行调制,得到第一数据,并发送所述第一数据。
本申请实施例中,准循环LDPC矩阵中的行重可逐行递增或者逐行递减。在具体实施时,准循环LDPC矩阵中也可以有个别两行间行重相等或出现递减,但是准循环LDPC矩阵的整体行重是递增或递减的。
本申请实施例中,第H-1行的行重小于等于第H行的行重的准循环LDPC矩阵可以是Raptor like结构的准循环LDPC矩阵。第H-1行的行重大于等于第H行的行重的准循环LDPC矩阵可以为在列方向上进行倒置的Raptor like结构的准循环LDPC矩阵。
图6所示为Raptor like结构的准循环LDPC矩阵的结构示意图。参阅图6所示,Raptor like结构的LDPC校验矩阵包含Part-1子矩阵和Part-2子矩阵两个子矩阵,Part-1子矩阵为一个高码率的准循环LDPC矩阵,通常该Part-1子矩阵中任何一行上的非负元素所在的列上包含至少两个非负元素。Part-1子矩阵自身可作为一个高码率LDPC码独立完成编码和译码,也被称为802.11n-like的矩阵或核心矩阵。其中,核心矩阵通常也可以理解为是校验部分具有双对角或者下三角结构的矩阵。本申请实施例以下为描述方便,将Part-1子矩阵称为核心矩阵。Part-2子矩阵可再分为左右两个部分,左侧部分矩阵的宽等于核心矩阵的宽,右侧部分则为一单位矩阵且该部分矩阵的每列列重均为1(列重指展开后矩阵中一列中非0元素的个数),Part-2子矩阵必须和Part-1部分的子矩阵合并在一起才能组成一个完整的LDPC码,也被称为扩展矩阵。本申请实施例以下为描述方便,将Part-2子矩阵称为核心矩阵。
图7所示为在列方向上进行倒置的Raptor like结构的准循环LDPC矩阵的结构示意图。参阅图7所示,在列方向上进行倒置的Raptor like结构的准循环LDPC矩阵中左下角为核心矩阵,右下角为全0矩阵,左上角为扩展矩阵,右上角为镜像反转后的单位矩阵。
发送设备采用第H-1行的行重大于等于第H行的行重,或者第H-1行的行重小于等于第H行的行重的准循环LDPC矩阵对信息数据进行编码后,可对编码后的信息数据进行调制得到第一数据,并向接收设备发送该第一数据。接收设备对获取到的第二数据进行解调后可得到待译码数据,并采用准循环LDPC矩阵对待译码数据进行译码。
图8所示为本申请实施例提供的另一种数据传输方法示意图,图8所示的数据传输方法可应用于接收设备。参阅图8所示,包括:
S201:接收设备获取第二数据。
本申请实施例中第二数据可以理解为是发送设备发送的第一数据经过信道传输至接收设备的数据。
S202:接收设备对第二数据号进行解调,得到待译码数据。
S203:接收设备采用准循环LDPC矩阵中的分块矩阵,对待译码数据进行译码。
本申请实施例中,所述分块矩阵为准循环LDPC矩阵中的部分矩阵。例如,所述分块矩阵可以为Raptor like结构准循环LDPC矩阵中的核心矩阵和扩展矩阵。
本申请实施例以下以准循环LDPC矩阵为Raptor like结构的准循环LDPC矩阵为例,对接收设备采用分块矩阵对待译码数据进行译码的过程进行说明。
Raptor-Like的矩阵结构可以被看做是一个高码率LDPC码(核心矩阵)和一个低码率的数字喷泉码(Luby Transform Codes,LT)码的级联。对于高码率的LDPC码部分,只有当其输入信息的置信度达到其预设阈值以上时,进行迭代译码才有可能得到一个收敛的解,否则迭代过程将是发散的,对每个比特而言其比特置信度不会因为迭代次数的增加而增加。但是,对于与之级联的LT码而言,其行与行之间的校验方程是相对独立的,收敛也是单向的,因此每次迭代都可使比特置信度提高。故,采用传统译码方法对Raptor-Like结构的准循环LDPC矩阵进行译码时,初始几次对核心矩阵部分进行的迭代计算并不会增加比特的置信度,浪费了计算资源。本申请实施例中接收设备进行迭代译码时,可先应用与核心矩阵级联的LT码矩阵对待译码数据进行迭代译码,以增加比特的置信度,节约计算资源。
一种可能的实施方式中,假设Raptor like结构的准循环LDPC矩阵为M行×N列的矩阵,Raptor like结构的准循环LDPC矩阵中的核心矩阵为MC行×NC列。其中,MC<M,且M、N、MC、NC均为正整数。Raptor like结构的准循环LDPC矩阵中第0~(MC-1)行、第0~(NC-1)列的分块矩阵为核心矩阵,第MC~(M-1)行、第0~(NC-1)列的分块矩阵为扩展矩阵。
接收设备可采用如图9所示流程,利用分块矩阵对待译码数据进行译码:
S2031a:采用Raptor like结构的准循环LDPC矩阵中第MC~(M-1)行、第0~N列的分块矩阵,对待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据。
本申请实施例中,假设输入的λj=LLR_inj定义为为负逻辑映射(0→+1,1→-1)。其中当j∈[0,l0)时,输入的λj对应为信息数据的比特;当j∈[l0,l1)时,输入的λj为核心矩阵对应的校验比特;当j∈[l1,n),n为码长时,输入的λj为扩展矩阵对应的校验比特。预设第一设定次数为iterpre,第二设定次数为iterfull。
首先,采用上述实施例涉及的初始化过程,对i=MC,MC+1,…,(M-1),j=0,1,…,N-1部分的校验节点和变量节点的信息进行初始化,第i个校验节点传给第j个变量节点的信息Rij[0]初始化为0,其中j∈V(i),第j个变量节点传给第i个校验节点的信息Qji[0]初始化为λj,其中i∈C(j)。
其次,采用上述实施例涉及的校验节点更新和变量节点更新的方式,采用Raptorlike结构的准循环LDPC矩阵中第MC~(M-1)行、第0~N列的分块矩阵,对待译码数据进行第一设定次数iterpre的迭代译码,当迭代次数达到迭代次数iterpre时,完成第一设定次数iterpre的迭代译码,得到迭代译码的中间数据。
S2032a:依次采用Raptor like结构准循环LDPC矩阵中第0~(MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码。
本申请实施例中完成第一设定次数iterpre的迭代译码,得到迭代译码的中间数据后,可采用包含核心矩阵在内的整个Raptor like结构准循环LDPC矩阵进行第二设定次数的迭代译码。
首先,进行第二设定次数的迭代译码之前,仍需要先对核心矩阵部分的校验节点和变量节点进行初始化。本申请实施例中对i=0,1,…,MC-1,j=0,1,…,N-1部分的校验节点和变量节点的信息进行初始化,第i个校验节点传给第j个变量节点的信息Rij[iterpre]初始化为0,第j个变量节点传给第i个校验节点的信息Qji[iterpre]按公式初始化。其中,i∈C(j),i∈[0,MC-1]。
然后,采用上述实施例涉及的校验节点更新和变量节点更新的方式,依次采用Raptor like结构准循环LDPC矩阵中第0~(MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数iterfull的迭代译码。当迭代次数达到迭代次数iterfull时,完成第二设定次数iterfull的迭代译码。
本申请实施例中,采用准循环LDPC矩阵中的分块矩阵,每次对所述待译码数据进行译码之后,需要计算变量节点的后验概率信息,进行硬判决检测。若判决译码成功,则终止迭代译码并输出当前硬判决码字。
本申请实施例中,若达到迭代次数iterfull且译码尚未成功,则此次译码失败,终止此次译码。
本申请实施例中,上述对待译码数据进行译码所用的Raptor like结构的准循环LDPC矩阵可以为第H-1行的行重小于等于第H行的行重的准循环LDPC矩阵。
另一种可能的实施方式中,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重。其中,所述准循环LDPC矩阵可为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵。
假设列方向上进行倒置的Raptor like结构的准循环LDPC矩阵为M行×N列的矩阵,列方向上进行倒置的Raptor like结构的准循环LDPC矩阵中的核心矩阵为MC行×NC列。其中,MC<M,且M、N、MC、NC均为正整数。在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中第MC~(M-1)行、第0~(NC-1)列的分块矩阵为核心矩阵,第0~(M-MC-1)行、第0~(NC-1)列的分块矩阵为扩展矩阵。
接收设备可采用如图10所示流程,利用分块矩阵对待译码数据进行译码:
S2031b:采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,对所述待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据。
S2032b:依次采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码。
S2031b和S2032b中具体的译码实现,可参阅S2031a和S2032a的实现过程,在此不再赘述。
本申请实施例中接收设备进行迭代译码时,先应用与核心矩阵级联的LT码矩阵对待译码数据进行迭代译码,可以增加比特的置信度,节约计算资源。
本申请实施例中,利用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵进行迭代译码时,也可采用通用的Layered MS译码方法进行译码,此时由于矩阵行重整体递增,其收敛速度较传统的Raptor like准循环LDPC矩阵更快。
为了验证本申请实施例提供的数据传输方法中涉及的译码过程中能够提高收敛速度,节约计算资源的效果,以图11A和图11B所示的准循环LDPC矩阵为例进行说明。其中,图11B矩阵右下侧单位矩阵的部分因篇幅原因在图中省略。图11A码率为0.8064,图10B码率为0.5。扩展因子z=40,展开后码长信息位长度k=1000。为了对比,分别采用Layered MS译码方法和本申请实施例涉及的译码方法进行译码,结果如图12A和图12B所示。图12A和图12B中横轴表示译码需要的等效复杂度,这里采用矩阵中的元素个数乘以这些元素参与迭代的次数作为标准。纵轴表示达到(0.1或者0.01)误块数(Block error rate,BLER)所需要的增益(Eb/N0)。仿真结果显示,在总计算次数较少部分,本申请实施例涉及的方法相对Layered MS有较大增益,随着计算次数不断增加,两种方法的性能会逐渐趋近。
基于上述实施例涉及的数据传输方法,本申请实施例还提供了一种数据发送设备和数据接收设备。可以理解的是,发送设备和接收设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本申请实施例中所公开描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。
本申请实施例可以根据上述方法示例对发送设备和接收设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图13示出了一种发送设备的结构示意图。参阅图13所示,发送设备100包括获取单元101、编码单元102、调制单元103和发送单元104。获取单元101,用于获取信息数据。编码单元102,用于采用准循环LDPC矩阵,对所述获取单元101获取的信息数据进行编码,其中,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,或者第H-1行的行重小于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数,所述行重是指准循环LDPC矩阵中每一行中目标元素的个数,所述目标元素表征的矩阵经过扩展后是非零矩阵。调制单元103,用于对所述编码单元102编码后的信息数据进行调制,得到第一数据。发送单元104,用于发送所述调制单元103调制得到的所述第一数据。
其中,所述准循环LDPC矩阵中第H-1行的行重小于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数所述准循环LDPC矩阵可为Raptor like结构的准循环LDPC矩阵。
其中,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数,所述准循环LDPC矩阵可为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵。
当采用硬件形式实现时,本申请实施例中,获取单元101可以是接收器,编码单元102可以是编码器,调制单元103可以是调制器,发送单元104可以是发射器。图14示出了本申请实施例提供的发送设备的另一种结构示意图。参阅图14所示,发送设备1000包括接收器1001、编码器1002、调制器1003和发射器1004。
其中,接收器1001具有与获取单元1001相同的功能,用于实现信息数据的获取,编码器1002具有与编码单元102相同的功能,用于实现对接收器获取的信息数据采用准循环LDPC进行编码的功能。调制器1003具有与调制单元103相同的功能,用于实现对编码器1002编码后的信息数据进行调制得到第一数据的功能。发射器1004具有与发送单元104相同的功能,用于实现发射调制器1003调制得到的第一数据的功能。有关发送设备1000中接收器1001、编码器1002、调制器1003和发射器1004的具体功能可参阅上述实施例中有关发送设备100的描述,在此不再赘述。
本申请实施例中,发送设备100和发送设备1000具备上述方法实施例中涉及的发送设备进行数据传输的功能,对于本申请实施例描述不够详尽的地方,可参阅上述实施例的相关描述,本申请实施例在此不再赘述。
在采用集成的单元的情况下,图15示出了一种接收设备的结构示意图。参阅图15所示,接收设备200包括获取单元201、解调单元202和译码单元203。获取单元201,用于获取第二数据。解调单元202,用于对所述获取单元201获取的第二数据进行解调,得到待译码数据。译码单元203,用于采用准循环LDPC矩阵中的分块矩阵,对所述解调单元202解调得到的待译码数据进行译码;其中,所述分块矩阵为对所述准循环LDPC矩阵中的部分矩阵。
一种可能的实施方式中,所述准循环LDPC矩阵为Raptor like结构的准循环LDPC矩阵。所述译码单元203,具体采用如下方式采用准循环LDPC矩阵中的分块矩阵,对所述待译码数据进行译码:
采用Raptor like结构的准循环LDPC矩阵中第MC~(M-1)行、第0~N列的分块矩阵,对所述待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据;依次采用Raptor like结构准循环LDPC矩阵中第0~(MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码;其中,M为Raptor like结构准循环LDPC矩阵的行数,N为Raptor like结构准循环LDPC矩阵的列数,MC为Raptor like结构准循环LDPC矩阵中核心矩阵的行数,所述核心矩阵中任何一行上的非负元素所在的列上包含至少两个非负元素;其中,MC<M,且M、N、MC均为正整数。
其中,所述准循环LDPC矩阵中第H-1行的行重小于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数。其中,所述行重是指准循环LDPC矩阵中每一行中目标元素的个数,所述目标元素表征的矩阵经过扩展后是非零矩阵。
另一种可能的实施方式中,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数。所述准循环LDPC矩阵为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵。
所述译码单元203,具体采用如下方式采用准循环LDPC矩阵中的分块矩阵,对所述待译码数据进行译码:
采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,对所述待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据;依次采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码;其中,M为在列方向上进行倒置的Raptorlike结构准循环LDPC矩阵的行数,N为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵的列数,MC为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中核心矩阵的行数,所述核心矩阵中任何一行上的非负元素所在的列上包含至少两个非负元素;其中,MC<M,且M、N、MC均为正整数。
又一种可能的实施方式中,所述译码单元203,还用于:每次对所述待译码数据进行译码之后,若译码成功,则终止迭代译码。
当采用硬件形式实现时,本申请实施例中,获取单元201可以是接收器,解调单元202可以是解调器,译码单元203可以是译码器。图16示出了本申请实施例提供的接收设备的另一种结构示意图。参阅图16所示,接收设备2000包括接收器2001、解调器2002和译码器2003。
其中,接收器2001具有与获取单元201相同的功能,用于实现获取第二信号的功能。解调器2002具有与解调单元202相同的功能,用于实现对第二数据解调得到待译码数据的功能。译码器2003具有与译码单元203相同的功能,用于实现对待译码数据采用准循环LDPC矩阵中的分块矩阵,对所述待译码数据进行译码的功能。有关接收设备2000中接收器2001、解调器2002和译码器2003的具体功能可参阅上述实施例中有关接收设备200的描述,在此不再赘述。
本申请实施例中,接收设备200和接收设备2000具备上述方法实施例中涉及的接收设备进行数据传输的功能,对于本申请实施例描述不够详尽的地方,可参阅上述实施例的相关描述,本申请实施例在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
应理解本申请实施例涉及方法和设备各自的流程图和方框图,可由计算机程序指令实现流程图和方框图中的每一流程和方框、以及流程图和方框图中的流程和方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和方框图一个方框或多个方框中指定的功能的装置。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (20)
1.一种数据传输方法,其特征在于,包括:
发送设备获取信息数据;
所述发送设备采用准循环低密度奇偶校验码LDPC矩阵,对所述信息数据进行编码,其中,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,或者第H-1行的行重小于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数,所述行重是指准循环LDPC矩阵中每一行中目标元素的个数,所述目标元素表征的矩阵经过扩展后是非零矩阵;所述准循环LDPC矩阵中各行的行重用于接收设备按照行重从小到大的顺序依次对所述各行所对应的分块矩阵进行迭代译码;
所述发送设备对所述编码后的数据进行调制,得到第一数据;
所述发送设备发送所述第一数据。
2.如权利要求1所述的方法,其特征在于,所述准循环LDPC矩阵中第H-1行的行重小于等于第H行的行重,所述准循环LDPC矩阵为Raptor like结构的准循环LDPC矩阵。
3.如权利要求1所述的方法,其特征在于,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,所述准循环LDPC矩阵为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵。
4.一种数据传输方法,其特征在于,包括:
接收设备获取第二数据,并对所述第二数据进行解调,得到待译码数据;
所述接收设备采用准循环低密度奇偶校验码LDPC矩阵中的分块矩阵,对所述待译码数据进行译码;
其中,所述分块矩阵为所述准循环LDPC矩阵中的部分矩阵;
其中,所述接收设备采用准循环低密度奇偶校验码LDPC矩阵中的分块矩阵,对所述待译码数据进行译码,包括:
所述接收设备按照所述准循环LDPC矩阵中各行的行重从小到大的顺序依次对所述各行所对应的分块矩阵进行迭代译码。
5.如权利要求4所述的方法,其特征在于,所述准循环LDPC矩阵为Raptor like结构的准循环LDPC矩阵;
采用准循环LDPC矩阵中的分块矩阵,对所述待译码数据进行译码,包括:
采用Raptor like结构的准循环LDPC矩阵中第MC~(M-1)行、第0~N列的分块矩阵,对所述待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据;
依次采用Raptor like结构准循环LDPC矩阵中第0~(MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码;
其中,M为Raptor like结构准循环LDPC矩阵的行数,N为Raptor like结构准循环LDPC矩阵的列数,MC为Raptor like结构准循环LDPC矩阵中核心矩阵的行数,所述核心矩阵中任何一行上的指定元素所在的列上包含至少两个指定元素;
其中,MC<M,且M、N、MC均为正整数。
6.如权利要求4或5所述的方法,其特征在于,所述准循环LDPC矩阵中第H-1行的行重小于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数,所述行重是指准循环LDPC矩阵中每一行中目标元素的个数,所述目标元素表征的矩阵经过扩展后是非零矩阵。
7.如权利要求4所述的方法,其特征在于,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数。
8.如权利要求7所述的方法,其特征在于,所述准循环LDPC矩阵为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵。
9.如权利要求8所述的方法,其特征在于,采用准循环LDPC矩阵中的分块矩阵,对所述待译码数据进行译码,包括:
采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,对所述待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据;
依次采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码;
其中,M为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵的行数,N为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵的列数,MC为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中核心矩阵的行数,所述核心矩阵中任何一行上的非负元素所在的列上包含至少两个非负元素;
其中,MC<M,NC<N,且M、N、MC均为正整数。
10.如权利要求4或5所述的方法,其特征在于,每次对所述待译码数据进行译码之后,所述方法还包括:
若译码成功,则终止迭代译码。
11.一种发送设备,其特征在于,包括:
获取单元,用于获取信息数据;
编码单元,用于采用准循环低密度奇偶校验码LDPC矩阵,对所述获取单元获取的信息数据进行编码,其中,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,或者第H-1行的行重小于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数,所述行重是指准循环LDPC矩阵中每一行中目标元素的个数,所述目标元素表征的矩阵经过扩展后是非零矩阵;所述准循环LDPC矩阵中各行的行重用于接收设备按照行重从小到大的顺序依次对所述各行所对应的分块矩阵进行迭代译码;
调制单元,用于对所述编码单元编码后的信息数据进行调制,得到第一数据;
发送单元,用于发送所述调制单元调制得到的所述第一数据。
12.如权利要求11所述的发送设备,其特征在于,所述准循环LDPC矩阵中第H-1行的行重小于等于第H行的行重,所述准循环LDPC矩阵为Raptor like结构的准循环LDPC矩阵。
13.如权利要求11所述的发送设备,其特征在于,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,所述准循环LDPC矩阵为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵。
14.一种接收设备,其特征在于,包括:
获取单元,用于获取第二数据;
解调单元,用于对所述获取单元获取的第二数据进行解调,得到待译码数据;
译码单元,用于采用准循环低密度奇偶校验码LDPC矩阵中的分块矩阵,对所述解调单元解调得到的待译码数据进行译码;
其中,所述分块矩阵为对所述准循环LDPC矩阵中的部分矩阵;
所述译码单元具体用于:按照所述准循环LDPC矩阵中各行的行重从小到大的顺序依次对所述各行所对应的分块矩阵进行迭代译码。
15.如权利要求14所述的接收设备,其特征在于,所述准循环LDPC矩阵为Raptor like结构的准循环LDPC矩阵;
所述译码单元,具体采用如下方式采用准循环LDPC矩阵中的分块矩阵,对所述待译码数据进行译码:
采用Raptor like结构的准循环LDPC矩阵中第MC~(M-1)行、第0~N列的分块矩阵,对所述待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据;
依次采用Raptor like结构准循环LDPC矩阵中第0~(MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码;
其中,M为Raptor like结构准循环LDPC矩阵的行数,N为Raptor like结构准循环LDPC矩阵的列数,MC为Raptor like结构准循环LDPC矩阵中核心矩阵的行数,所述核心矩阵中任何一行上的非负元素所在的列上包含至少两个非负元素;
其中,MC<M,且M、N、MC均为正整数。
16.如权利要求14或15所述的接收设备,其特征在于,所述准循环LDPC矩阵中第H-1行的行重小于等于第H行的行重;
其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数,所述行重是指准循环LDPC矩阵中每一行中目标元素的个数,所述目标元素表征的矩阵经过扩展后是非零矩阵。
17.如权利要求14所述的接收设备,其特征在于,所述准循环LDPC矩阵中第H-1行的行重大于等于第H行的行重,其中,H为整数,且0≤H≤M-1,M为所述准循环LDPC矩阵的行数。
18.如权利要求17所述的接收设备,其特征在于,所述准循环LDPC矩阵为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵。
19.如权利要求18所述的接收设备,其特征在于,所述译码单元,具体采用如下方式采用准循环LDPC矩阵中的分块矩阵,对所述待译码数据进行译码:
采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,对所述待译码数据进行第一设定次数的迭代译码,得到迭代译码的中间数据;
依次采用在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中的第0~(M-MC-1)行、第0~N列的分块矩阵,以及第MC~(M-1)行、第0~N列的分块矩阵,对所述迭代译码的中间数据进行第二设定次数的迭代译码;
其中,M为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵的行数,N为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵的列数,MC为在列方向上进行倒置的Raptor like结构准循环LDPC矩阵中核心矩阵的行数,所述核心矩阵中任何一行上的非负元素所在的列上包含至少两个非负元素;
其中,MC<M,且M、N、MC均为正整数。
20.如权利要求14或15所述的接收设备,其特征在于,所述译码单元,还用于:
每次对所述待译码数据进行译码之后,若译码成功,则终止迭代译码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/112463 WO2018119700A1 (zh) | 2016-12-27 | 2016-12-27 | 一种数据传输方法、发送设备和接收设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110089036A CN110089036A (zh) | 2019-08-02 |
CN110089036B true CN110089036B (zh) | 2021-02-23 |
Family
ID=62706685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680091690.3A Active CN110089036B (zh) | 2016-12-27 | 2016-12-27 | 一种数据传输方法、发送设备和接收设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10944427B2 (zh) |
EP (1) | EP3531561B1 (zh) |
JP (1) | JP2020504505A (zh) |
KR (1) | KR102184858B1 (zh) |
CN (1) | CN110089036B (zh) |
WO (1) | WO2018119700A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210126659A1 (en) * | 2019-10-24 | 2021-04-29 | Cloud Network Technology Singapore Pte. Ltd. | Apparatus and method for processing multi-user transmissions to discard signals or data carrying interference |
KR20230080769A (ko) | 2021-11-30 | 2023-06-07 | 삼성전자주식회사 | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7669103B2 (en) * | 2006-05-03 | 2010-02-23 | Alcatel-Lucent Usa Inc. | Encoded transmission |
CN104168030A (zh) * | 2014-07-14 | 2014-11-26 | 北京邮电大学 | 一种基于本原域循环群两个生成元的ldpc码构造方法 |
CN104579576A (zh) * | 2015-01-27 | 2015-04-29 | 清华大学 | 编码调制方法及系统 |
CN104618067A (zh) * | 2015-02-16 | 2015-05-13 | 中国科学院上海高等研究院 | Ngb-w系统中物理帧信令信道的编码与调制方法 |
CN105978613A (zh) * | 2016-06-14 | 2016-09-28 | 深圳清华大学研究院 | 兼容mimo与miso传输的发射装置、发射方法、接收装置及接收方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050118056A (ko) * | 2004-05-12 | 2005-12-15 | 삼성전자주식회사 | 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치 |
US7607065B2 (en) * | 2005-07-27 | 2009-10-20 | Agere Systems Inc. | Method and apparatus for block and rate independent decoding of LDPC codes |
KR101444458B1 (ko) * | 2006-06-15 | 2014-09-30 | 삼성전자주식회사 | 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 |
US8161363B2 (en) * | 2006-12-04 | 2012-04-17 | Samsung Electronics Co., Ltd | Apparatus and method to encode/decode block low density parity check codes in a communication system |
CN100542049C (zh) * | 2007-03-23 | 2009-09-16 | 北京航空航天大学 | 一种多码率的ldpc码的译码器装置及译码方法 |
KR20080102902A (ko) * | 2007-05-22 | 2008-11-26 | 삼성전자주식회사 | 가변 부호화율을 가지는 ldpc 부호 설계 방법, 장치 및그 정보 저장 매체 |
KR101211433B1 (ko) * | 2008-12-19 | 2012-12-12 | 한국전자통신연구원 | 낮은 복잡도를 가지는 고속의 qc-ldpc 부호의 부호화 장치 및 방법 |
CN101741516B (zh) * | 2009-12-29 | 2013-05-08 | 电子科技大学 | 一种基于无速率模式的帧级别编码与译码方法 |
CN101764677B (zh) * | 2009-12-29 | 2013-02-13 | 电子科技大学 | 一种基于前向纠错的帧级别编码与译码方法 |
JP2012244305A (ja) * | 2011-05-17 | 2012-12-10 | Toshiba Corp | メモリコントローラ、半導体メモリ装置、および復号方法 |
US9203434B1 (en) * | 2012-03-09 | 2015-12-01 | Western Digital Technologies, Inc. | Systems and methods for improved encoding of data in data storage devices |
CN102710385B (zh) * | 2012-06-13 | 2016-02-17 | 北京交大微联科技有限公司 | 一种接触网电力线通信的发送端、接收端、系统及方法 |
GB2509073B (en) * | 2012-12-19 | 2015-05-20 | Broadcom Corp | Methods and apparatus for error coding |
KR101550762B1 (ko) * | 2013-11-29 | 2015-09-08 | 한국과학기술원 | 연접 오류 정정 장치 |
JP2015156531A (ja) * | 2014-02-19 | 2015-08-27 | ソニー株式会社 | データ処理装置、及び、データ処理方法 |
US20170019211A1 (en) * | 2014-03-17 | 2017-01-19 | Lg Electronics Inc. | Method and device for decoding low density parity check code for forward error correction in wireless communication system |
JP6880791B2 (ja) * | 2017-02-06 | 2021-06-02 | ソニーグループ株式会社 | 送信装置、送信方法、受信装置、及び、受信方法 |
US10680647B2 (en) * | 2017-09-25 | 2020-06-09 | SK Hynix Inc. | Min-sum decoding for LDPC codes |
US10817373B2 (en) * | 2017-11-21 | 2020-10-27 | SK Hynix Inc. | Soft chip-kill recovery using concatenated codes |
-
2016
- 2016-12-27 CN CN201680091690.3A patent/CN110089036B/zh active Active
- 2016-12-27 KR KR1020197016188A patent/KR102184858B1/ko active IP Right Grant
- 2016-12-27 EP EP16925120.4A patent/EP3531561B1/en active Active
- 2016-12-27 JP JP2019533151A patent/JP2020504505A/ja active Pending
- 2016-12-27 WO PCT/CN2016/112463 patent/WO2018119700A1/zh unknown
-
2019
- 2019-06-10 US US16/436,912 patent/US10944427B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7669103B2 (en) * | 2006-05-03 | 2010-02-23 | Alcatel-Lucent Usa Inc. | Encoded transmission |
CN104168030A (zh) * | 2014-07-14 | 2014-11-26 | 北京邮电大学 | 一种基于本原域循环群两个生成元的ldpc码构造方法 |
CN104579576A (zh) * | 2015-01-27 | 2015-04-29 | 清华大学 | 编码调制方法及系统 |
CN104618067A (zh) * | 2015-02-16 | 2015-05-13 | 中国科学院上海高等研究院 | Ngb-w系统中物理帧信令信道的编码与调制方法 |
CN105978613A (zh) * | 2016-06-14 | 2016-09-28 | 深圳清华大学研究院 | 兼容mimo与miso传输的发射装置、发射方法、接收装置及接收方法 |
Non-Patent Citations (3)
Title |
---|
High performance and area efficient LDPC code design with compact protomatrix;MediaTek Inc;《3GPP TSG-RAN WG1》;20161118;第2-3、7页,图3 * |
Protograph-Based Raptor-Like LDPC Codes for Rate Compatibility with Short Blocklengths;Tsung-Yi Chen等;《2011 IEEE Global Telecommunications Conference》;20111205;正文第2-5页,图1 * |
Tsung-Yi Chen等.Protograph-Based Raptor-Like LDPC Codes for Rate Compatibility with Short Blocklengths.《2011 IEEE Global Telecommunications Conference》.2011,第1-6页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110089036A (zh) | 2019-08-02 |
EP3531561B1 (en) | 2023-07-12 |
EP3531561A1 (en) | 2019-08-28 |
EP3531561A4 (en) | 2019-10-09 |
US20190296768A1 (en) | 2019-09-26 |
JP2020504505A (ja) | 2020-02-06 |
KR102184858B1 (ko) | 2020-12-01 |
US10944427B2 (en) | 2021-03-09 |
WO2018119700A1 (zh) | 2018-07-05 |
KR20190073563A (ko) | 2019-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11956076B2 (en) | Apparatus and method for encoding and decoding channel in communication or broadcasting system | |
CN110572163B (zh) | 用于编码和译码ldpc码的方法和装置 | |
US11750220B2 (en) | Apparatus and method for channel encoding/decoding in communication or broadcasting system | |
WO2018141277A1 (en) | Offset lifting method | |
KR102227250B1 (ko) | 코드를 인코딩 및 디코딩하기 위한 방법과 시스템 | |
CN109309502B (zh) | 5g nr标准的分层ldpc基矩阵处理译码方法 | |
CN101431337A (zh) | 提高编码并行度实现降低编码时延的方法 | |
CN104836635A (zh) | Ldpc码矩阵 | |
CN104052501B (zh) | 低复杂度的多进制ldpc码译码方法 | |
CN108270510B (zh) | 基于ldpc码的通信方法和通信设备 | |
EP2156564A1 (en) | Method and apparatus for designing low density parity check code with multiple code rates, and information storage medium thereof | |
RU2733826C1 (ru) | Высокоскоростные длинные ldpc коды | |
US10887047B2 (en) | Apparatus and method for encoding and decoding channel in communication or broadcasting system | |
CN103731160A (zh) | 分组空间耦合低密度奇偶校验编码方法 | |
CN110089036B (zh) | 一种数据传输方法、发送设备和接收设备 | |
WO2020022539A1 (ko) | Ldpc코드의 인코딩 및 디코딩을 수행하는 방법과 이를 위한 통신 장치 | |
CN105227191A (zh) | 基于修正最小和算法的准循环ldpc码译码方法 | |
CN111130563B (zh) | 处理信息的方法和装置 | |
CN108234066B (zh) | 基于ldpc的通信方法和通信设备 | |
US20230421177A1 (en) | Apparatus and method for channel encoding/decoding in communication or broadcasting system | |
WO2017214851A1 (zh) | 一种信号传输的方法、发射端及接收端 | |
CN102811064B (zh) | 一种多码率ldpc码的构造方法 | |
MX2014012121A (es) | Codificador de revision de paridad de baja densidad que tiene una longitud de 64800 y un indice de codigo de 7/15 y metodo de codificacion de revision de paridad de baja densidad que utiliza el mismo. | |
AU2018288953A1 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
WO2023051172A1 (zh) | 编码方法、译码方法及装置 |
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 |