[go: up one dir, main page]

WO2018084732A1 - Ldpc codes for incremental redundancy harq (ir-harq) schemes - Google Patents

Ldpc codes for incremental redundancy harq (ir-harq) schemes Download PDF

Info

Publication number
WO2018084732A1
WO2018084732A1 PCT/RU2016/000742 RU2016000742W WO2018084732A1 WO 2018084732 A1 WO2018084732 A1 WO 2018084732A1 RU 2016000742 W RU2016000742 W RU 2016000742W WO 2018084732 A1 WO2018084732 A1 WO 2018084732A1
Authority
WO
WIPO (PCT)
Prior art keywords
submatrix
ldpc matrix
columns
matrix
rows
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.)
Ceased
Application number
PCT/RU2016/000742
Other languages
French (fr)
Inventor
Gleb Vyacheslavovich KALACHEV
Pavel Anatolyevich Panteleev
Vladimir Sergeevich POLOVNIKOV
Ivan Leonidovich Mazurenko
Elyar Eldarovich Gasanov
Aleksey Aleksandrovich LETUNOVSKIY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/RU2016/000742 priority Critical patent/WO2018084732A1/en
Publication of WO2018084732A1 publication Critical patent/WO2018084732A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy

Definitions

  • the present disclosure relates to a low-density-parity-check (LDPC) based incremental redundancy (IR) hybrid automatic repeat request (HARQ) scheme.
  • LDPC low-density-parity-check
  • IR incremental redundancy
  • HARQ hybrid automatic repeat request
  • Fig. 1 shows a block diagram illustrating a digital communications system 10 in which processes of the present disclosure may be implemented.
  • the digital communications system 10 includes a transmitting side comprising an encoder 12 and a receiving side comprising a decoder 14.
  • the modulator 16 may transform the encoded sequence IS 2 into a modulated signal vector CH_IN which is in turn transmitted through a wired or wireless channel 18 such as, for example, a conductive wire, an optical fiber, a radio channel, a microwave channel or an infrared channel. Since the channel 18 is usually subject to noisy disturbances, the channel output CH_OUT may differ from the channel input CH_IN.
  • a wired or wireless channel 18 such as, for example, a conductive wire, an optical fiber, a radio channel, a microwave channel or an infrared channel. Since the channel 18 is usually subject to noisy disturbances, the channel output CH_OUT may differ from the channel input CH_IN.
  • the channel output vector CH_OUT may be processed by a demodulator 20 which produces some likelihood ratio.
  • the decoder 14 may use the redundancy in the received information sequence IS 3 in a decoding operation performed by the decoder 14 to correct errors in the received information sequence IS 3 and produce a decoded information sequence IS 4 .
  • the decoded information sequence IS 4 is an estimate of the encoded information sequence IS 2 from which (an estimate of) the information sequence ISi can be extracted.
  • the encoding operation and the decoding operation may be governed by an LDPC code.
  • an LDPC code may employ a generator matrix G for the encoding operation performed by the encoder 12 and a parity-check matrix H for the decoding operation performed by the decoder 14.
  • any row of the generator matrix G kxn is orthogonal to the rows of the parity-check matrix H rxn such that the following equation is satisfied:
  • the encoding operation can be performed by means of a multiplication between the information sequence ISi and the generator matrix G kxn , wherein the result of the multiplication is the encoded information sequence IS2:
  • IS 4 is the decoded received information sequence of size 1 x n . If the above equation is verified, the information sequence estimate IS 4 may be assumed to be correct.
  • any process of determining a parity-check matrix H rxn may
  • LDPC codes having a parity-check matrix H rxn of a particular structure such as, for example, a parity-check matrix H rxn having a parity part of dual diagonal structure may allow encoding the information sequence ISi using (only) the parity-check matrix so that obtaining the generator matrix may not be required (cf. T. J. Richardson and
  • parity-check matrix is a regular quasi-cyclic (QC) LDPC matrix which can be divided into quadratic submatrices i.e. circulant matrices (or
  • a regular QC-LDPC matrix may be defined by a base matrix B which satisfies:
  • a base matrix B of an irregular QC-LDPC matrix may be obtained by
  • LDPC matrix may be obtained by (only) partially labelling the base matrix B with shift values with not labelled entries (which are sometimes represented by a value of "-1" or an asterisk "*") representing zero matrices of size N N .
  • a QC-LDPC matrix H QC (and more generally any LDPC code) can also be described by its equivalent bipartite graph ("Tanner graph"), wherein each edge of the Tanner graph connects one variable node of a plurality of variable nodes to one check node of a plurality of check nodes.
  • a LDPC matrix H rxn of r rows and n columns can be represented by its equivalent bipartite graph with r check nodes and n variable nodes which has edges between the check nodes and the variable nodes if there are corresponding "Is" in the LDPC matrix H rxn (cf. R. Tanner, "A Recursive Approach to Low Complexity Codes",
  • variable nodes represent codeword bits and the check nodes represent parity-check equations.
  • the "length" of the cycle is the number of edges of the set.
  • the "girth” of the Tanner graph (or “girth” in short) is the length of the shortest cycle(s) in the graph.
  • short cycles in a Tanner graph of an LDPC code may prevent decoding algorithms from converging.
  • shift values are to be chosen that achieve a high girth of the Tanner graph representation of the respective LDPC matrix.
  • a LDPC code may contain Trapping Sets (TSs). More particularly, a (a,b) TS contains b check nodes which have an odd number of connections to a variable nodes. Accordingly, when the a variable nodes are wrong, only the b check nodes will be unsatisfied which may lead to a high error floor, as a belief propagation algorithm employed in the decoder 14 may be "trapped" in a false minimum. While known approaches to channel coding have proven to perform well for a wide variety of scenarios, there is still an ongoing research to provide sophisticated solutions that achieve high data throughput with decent encoding/decoding resources.
  • an apparatus configured to determine a first LDPC matrix, wherein a second submatrix of the first LDPC matrix has a dual diagonal structure, determine a codeword based on a sequence of information bits and the first LDPC matrix, transmit the codeword, receive an IR-HARQ message, determine a second LDPC matrix, wherein a first submatrix of the second LDPC matrix is based on split rows of a first submatrix of the first LDPC matrix and wherein a second submatrix of the second LDPC matrix has a dual diagonal structure, determine a desired column weight distribution of the second LDPC matrix, add rows to the first submatrix and to the second submatrix of the second LDPC matrix, wherein a number of non-zero entries in the columns of the added rows of the first submatrix of the second LDPC matrix is based on the desired column weight distribution and wherein entries in the columns of the added
  • a column weight distribution of the second LDPC code used for determining the additional parity bits can be efficiently derived from the first LDPC code and brought into agreement with a desired column weight distribution, thereby improving the quality of the second LDPC code.
  • IR-HARQ message refers to a signal which indicates that a previously transmitted codeword cannot be correctly decoded by a receiver of the codeword.
  • column weight refers to the number of non-zero entries in a column of a LDPC matrix.
  • column weight refers to the number of non-zero entries in a column of a LDPC matrix.
  • variable node degree which confers the same meaning.
  • column weight distribution as used throughout the description and claims equally refers to fractions of columns of a LDPC matrix having a certain number or range of non-zero entries, and to fractions of edges emanating from variable nodes of a particular degree.
  • split row refers to a process of distributing entries of a row (which is split) onto multiple rows.
  • each column of a matrix consisting of rows onto which entries of a split row have been distributed has at most one non-zero entry.
  • the "Is” in the "split row” are distributed onto multiple rows which, if summed (in a vector-sense), give the "split row”.
  • matrix As used throughout the description and claims, it is to be noted that values forming a “matrix” do not necessarily have to be physically stored in matrix- (or array-) form, presented in matrix- (or array-) form, or used in matrix algebra throughout a process involving the matrix. Thus, a set of (integer) values with assigned row and column indices or a set of (integer) values which are stored in a (logical) memory array shall also fall under the term “matrix” as used throughout the description and claims.
  • columns of the first LDPC matrix are divided up into columns of the first submatrix of the first LDPC matrix, columns of the second submatrix of the first LDPC matrix, and intermediate columns, wherein each intermediate column has three non-zero entries.
  • the parity bits of the codeword can be determined based on the first LDPC matrix without the need to obtain a generator matrix G kxn , thereby improving encoding efficiency.
  • intermediate columns refers to a set of consecutive columns that are placed between a first submatrix (e.g., a first set of consecutive columns) and a second submatrix (e.g., a second set of consecutive columns).
  • columns of the second LDPC matrix are divided up into columns of the first submatrix of the second LDPC matrix, columns of the second submatrix of the second LDPC matrix, intermediate columns, wherein each intermediate column has three non-zero entries, and additional columns, the number of the additional columns being equal to the number of rows added to the first submatrix of the second LDPC matrix.
  • rows of the second LDPC matrix comprising the added rows further comprise a submatrix having a dual diagonal structure.
  • the rows of the second LDPC matrix comprising the added rows further comprise a column, adjacent the submatrix, having three non-zero entries.
  • further additional parity bits can be determined based on the second LDPC matrix without the need to obtain a generator matrix G kxn , thereby further improving encoding efficiency.
  • the apparatus is configured to determine the number of non-zero entries in the columns of the rows added to the first submatrix of the second LDPC matrix by progressively growing edges in a corresponding Tanner graph representation, wherein entries in the first submatrix of the second LDPC matrix and entries in the second submatrix of the second LDPC matrix remain unchanged.
  • edges between variable nodes and check nodes may be progressively established by labelling entries in rows whose entries participate in large cycles having a high ACE (cf. T. Tian et al., "Selective Avoidance of Cycles in Irregular LDPC Code Construction", IEEE TRANSACTIONS ON COMMUNICATIONS, Volume 52, No. 8, Pages 1242-1247, August 2004), thereby maximizing cycle length.
  • entries in the same row of the first submatrix of the first LDPC matrix are distributed onto different rows of the first submatrix of the second LDPC matrix.
  • a structure of the first LDPC code can be maintained, thereby protecting the quality of the second LDPC code used for determining the additional parity bits.
  • the apparatus is an encoder configured to implement an IR-HARQ scheme.
  • a method of determining additional parity bits in an IR-HARQ scheme comprising determining a first LDPC matrix, wherein a second submatrix of the first LDPC matrix has a dual diagonal structure, determining a codeword based on a sequence of information bits and the first quasi- cyclic low density parity check matrix, transmitting the codeword, receiving, in relation to the transmitted codeword, an IR-HARQ message, determining a second LDPC matrix, wherein a first submatrix of the second LDPC matrix is determined by splitting rows of a first submatrix of the first LDPC matrix and wherein a second submatrix of the second LDPC matrix has a dual diagonal structure, determining a desired column weight distribution of the second LDPC matrix, adding rows to the first submatrix and to the second submatrix of the second LDPC matrix, wherein a number of non-zero entries in the columns of the rows added to the first sub
  • a column weight distribution of the second LDPC code used for determining the additional parity bits can be brought into agreement with a desired column weight distribution, thereby improving the quality of the second LDPC code.
  • columns of the first LDPC matrix are divided up into columns of the first submatrix of the first LDPC matrix, columns of the second submatrix of the first LDPC matrix, and intermediate columns, wherein each intermediate column has three non-zero entries.
  • the parity bits of the codeword can be determined based on the first LDPC matrix without the need to obtain a generator matrix G kxn , thereby improving encoding efficiency.
  • columns of the second LDPC matrix are divided up into columns of the first submatrix of the second LDPC matrix, columns of the second submatrix of the second LDPC matrix, intermediate columns, wherein each intermediate column has three non-zero entries, and additional columns, the number of the additional columns being equal to the number of rows added to the first submatrix of the second LDPC matrix.
  • rows of the second LDPC matrix comprising the added rows further comprise a submatrix having a dual diagonal structure.
  • the rows of the second LDPC matrix comprising the added rows further comprise a column, adjacent the submatrix, having three non-zero entries.
  • the method further comprises determining the number of non-zero entries in the columns of the rows added to the first submatrix of the second LDPC matrix by progressively growing edges in a corresponding Tanner graph representation, wherein entries in the first submatrix of the second LDPC matrix and entries in the second submatrix of the second LDPC matrix remain unchanged.
  • splitting rows of the first submatrix of the first LDPC matrix comprises distributing entries in the same row of the first submatrix of the first LDPC matrix onto different rows of the first submatrix of the second LDPC matrix.
  • FIG. 1 is a schematic illustration of a digital communication system
  • Fig. 2 is a flow chart of a process of calculating additional parity bits in an IR-HARQ scheme that may be implemented in the digital communication system of Fig. 1 ;
  • Fig. 3 is an optional step of the process of the flow chart shown in Fig. 2.
  • Fig. 2 is a flow chart of a process 22 of determining additional parity bits in an IR-HARQ scheme.
  • the IR-HARQ scheme may be implemented in a digital communication apparatus such as, for example, the encoder 12 of the digital communication system 10 shown in Fig. 1.
  • the encoder 12 may be an evolved Node B (eNodeB) and the decoder 14 may be a user equipment (UE) or vice versa.
  • the IR-HARQ scheme may be implemented by a computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform the process 22.
  • the process 22 starts at 24 with determining a first LDPC code such as a first QC-LDPC code. After determining the first LDPC code, the process 22 may be continued at 26 with encoding a sequence of information bits such as the sequence of information bits ISi using the first LDPC code. If the LDPC matrix H rxn of the first LDPC code (which is also referred to as the first LDPC code),
  • LDPC matrix H rxn throughout the description and claims
  • the sequence of information bits ISi may be encoded without explicitly determining the corresponding generator matrix G kxn .
  • the first LDPC code may be an irregular repeat-accumulate (IRA) LDPC code such as an IRA QC-LDPC code.
  • the first LDPC matrix H rxn may be a first QC-LDPC matrix H rxn having a parity part with a dual diagonal structure and N weight-3 columns as exemplified by the following base matrix ⁇ ⁇ (with e being a positive integer and e ⁇ N):
  • the encoder 12 may receive at 30 an indication that the transmitted codeword cannot be decoded correctly. For example, the encoder 12 may receive a message from the decoder 14 or another entity which, for instance, generates the message after a timeout (within which an indication that the codeword has been correctly encoded is expected) has lapsed. The indication that the transmitted codeword cannot be decoded correctly may thus be explicit or implicit. In response to the message, the encoder 12 may determine a second LDPC code to determine additional parity bits for the sequence of information bits ISi .
  • generating the second LDPC code may involve splitting sub-rows of the first LDPC matrix H rxn .
  • generating the second LDPC code may involve splitting rows of the information part (indicated in the base matrix above by a broken line) of the
  • the row splitting factor s may be determined based on the number of additional parity bits to be determined. For example, if / additional parity bits are to be determined, the row splitting factor s may be given by:
  • the row splitting factor s may be based on the ratio of the additional parity bits and the number of parity bits of the codeword.
  • the process 22 may continue at 34 with determining a desired column weight distribution of a LDPC matrix H fxo of the second LDPC code (which is also referred to as the second LDPC matrix H fxo throughout the description and claims).
  • the desired column weight distribution of the second LDPC matrix H fxo may be
  • the process 22 may continue at 36 by adding f -sr additional rows and o - (k + sr) additional columns to the LDPC matrix that incorporates the split rows (and the extended dual
  • the added rows can be divided into three submatrices.
  • the first submatrix (indicated by the broken line on the left side) contains the subrows added to the information part.
  • the second submatrix (indicated by the broken line in the middle) contains the subrows added to the parity part.
  • the third submatrix (indicated by the broken line on the right side) contains subrows of the added columns.
  • the number of added columns may correspond to the number of added rows which allows the third submatrix to have a dual diagonal structure (with N weight- 3 columns). While the entries of the first submatrix are yet to be labelled as indicated by the asterisks, all entries of the second submatrix are to remain zero.
  • column weights of the columns of the first submatrix of the second LDPC matrix H fxo may be derived based on the desired column weight distribution and the column weights of the columns of the first submatrix of the first LDPC matrix H rxn .
  • labelling entries of a column of the first submatrix of the second LDPC matrix H f 0 may be stopped if the weight of the column meets the derived column weight.
  • the second LDPC code may be used to determine additional parity bits as indicated at 38. After having determined the additional parity bits, the additional parity may be transmitted to and used by the decoder for decoding the codeword. If encoding of the codeword nevertheless fails, further additional parity bits or the whole codeword may be (re)transmitted.
  • the columns of the first submatrix of the second LDPC matrix H xo may be labelled by progressively growing edges in the Tanner graph. For instance, edges between variable nodes and check nodes of the Tanner graph of the first submatrix of the second LDPC matrix H xo may be progressively established on a column-by-column basis.
  • labelling entries in a column of the first submatrix of the second LDPC matrix H fxo may be performed in accordance with combinatorial characteristics of the second LDPC code. For instance, labelling entries of a column of the first submatrix of the second LDPC matrix H fxo may be performed in accordance with an ACE of the nodes involved.
  • a potential harm of a TS of the second LDPC code may be estimated based on the ACE characteristics of cycles that the TS consists of.
  • the ACE of a given cycle C in the Tanner graph denoted as ACE(O) is defined as
  • d(v) is the degree of a variable node v
  • E(V C ) is the set of variable nodes involved in the cycle C.
  • labelling entries in a column of the first submatrix of the second LDPC matrix H fxo may involve analyzing cycles in the Tanner graph defined by the labelled entries.
  • Labelling entries in the first submatrix of the second LDPC matrix thus starts from a given protograph and not an empty protograph.
  • a maximum of minimal cycle lengths in which the variable node or the check node is involved may be determined.
  • the ACE may be calculated and cycles having a maximum ACE may be determined.
  • the ACE may be calculated by analyzing cycles of all lengths, not just the shortest cycles. From the cycles having the maximum ACE, a row of the first submatrix of the second LDPC matrix H fxo having a minimal weight of all rows comprising check nodes involved in the cycles may be determined and an entry in the determined row may be labeled. By this, a uniform or close-to-uniform row- weight distribution can be achieved. Labelling entries in a column of the first submatrix of the second LDPC matrix H fxo may then be repeated until a column weight in accordance with the derived column weight is achieved.

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

Provided is a IR-HARQ scheme comprising determining a first low-density-parity-check, LDPC, matrix, wherein a second submatrix of the first LDPC matrix has a dual diagonal structure, determining a codeword based on a sequence of information bits and the first LDPC matrix, transmitting the codeword, receiving, in relation to the transmitted codeword, an IR-HARQ message, determining a second LDPC matrix, wherein a first submatrix of the second LDPC matrix is determined by splitting rows of a first submatrix of the first LDPC matrix and a second submatrix of the second LDPC matrix has a dual diagonal structure, determining a desired column weight distribution of the second LDPC matrix, adding rows to the first submatrix and to the second submatrix of the second LDPC matrix, wherein a number of nonzero entries in the columns of the rows added to the first submatrix of the second LDPC matrix is based on the desired column weight distribution and wherein entries in the columns of the rows added to the second submatrix of the second LDPC matrix are zero, determining additional parity bits for the codeword based on the sequence of information bits and the second LDPC matrix, and transmitting the additional parity bits.

Description

LDPC CODES FOR INCREMENTAL REDUNDANCY HARQ (IR-HARQ) SCHEMES
FIELD
The present disclosure relates to a low-density-parity-check (LDPC) based incremental redundancy (IR) hybrid automatic repeat request (HARQ) scheme. BACKGROUND
Fig. 1 shows a block diagram illustrating a digital communications system 10 in which processes of the present disclosure may be implemented. The digital communications system 10 includes a transmitting side comprising an encoder 12 and a receiving side comprising a decoder 14. The input of the encoder 12 at the transmitting side is, for example, an information sequence IS1 of k bits to which a redundancy sequence of r bits is added in an encoding operation performed by the encoder 12, thereby producing an encoded information sequence IS 2 of k + r = n bits which may be forwarded to a modulator 16.
The modulator 16 may transform the encoded sequence IS 2 into a modulated signal vector CH_IN which is in turn transmitted through a wired or wireless channel 18 such as, for example, a conductive wire, an optical fiber, a radio channel, a microwave channel or an infrared channel. Since the channel 18 is usually subject to noisy disturbances, the channel output CH_OUT may differ from the channel input CH_IN.
At the receiving side, the channel output vector CH_OUT may be processed by a demodulator 20 which produces some likelihood ratio. The decoder 14 may use the redundancy in the received information sequence IS 3 in a decoding operation performed by the decoder 14 to correct errors in the received information sequence IS 3 and produce a decoded information sequence IS 4. The decoded information sequence IS 4 is an estimate of the encoded information sequence IS 2 from which (an estimate of) the information sequence ISi can be extracted. The encoding operation and the decoding operation may be governed by an LDPC code. In the general formulation of channel coding, an LDPC code may employ a generator matrix G for the encoding operation performed by the encoder 12 and a parity-check matrix H for the decoding operation performed by the decoder 14. For an LDPC code with an information sequence ISi of size 1 x k , a codeword IS 2 of size 1 x n , and a redundancy (parity) sequence of r = (n - k) bits, the generator matrix G has size k x n and the parity-check matrix H has size r x n = (n - k)x n .
The parity-check matrix Hrxn and the generator matrix Gkxn enjoy the orthogonality property, which states that for any generator matrix Gkxn with k linearly independent rows there exists a parity-check matrix Hrxn with r = (n - k) linearly independent rows. Thus, any row of the generator matrix Gkxn is orthogonal to the rows of the parity-check matrix Hrxn such that the following equation is satisfied:
Figure imgf000004_0001
The encoding operation can be performed by means of a multiplication between the information sequence ISi and the generator matrix Gkxn , wherein the result of the multiplication is the encoded information sequence IS2:
Figure imgf000004_0002
At the receiving side, due to the orthogonality property between the generator matrix Gkxn and the parity-check matrix Hrxn , the following equation should be satisfied:
Figure imgf000005_0001
where IS 4 is the decoded received information sequence of size 1 x n . If the above equation is verified, the information sequence estimate IS 4 may be assumed to be correct.
Once the parity-check matrix Hrxn is generated, it is possible to obtain the generator matrix and vice versa. Accordingly, any process of determining a parity-check matrix Hrxn may
Figure imgf000005_0008
be mapped to an equivalent process of obtaining a generator matrix Gkxn and vice versa, so that any process disclosed throughout the description and claims in relation to determining a parity- check matrix shall be understood as encompassing the equivalent process of obtaining a
Figure imgf000005_0007
generator matrix Gkxn and vice versa.
Moreover, it should be noted that LDPC codes having a parity-check matrix Hrxn of a particular structure such as, for example, a parity-check matrix Hrxn having a parity part of dual diagonal structure may allow encoding the information sequence ISi using (only) the parity-check matrix so that obtaining the generator matrix may not be required (cf. T. J. Richardson and
Figure imgf000005_0003
Figure imgf000005_0006
R. L. Urbanke, "Efficient encoding of low-density parity-check codes", IEEE TRANSACTIONS ON INFORMATION THEORY, Volume 47, Issue 2, Pages 638-656, August 2002).
A particular form of the parity-check matrix
Figure imgf000005_0005
is a regular quasi-cyclic (QC) LDPC matrix which can be divided into quadratic submatrices i.e. circulant matrices (or
Figure imgf000005_0004
Figure imgf000005_0002
"circulants" for short), which may, for example, be obtained from cyclically right-shifting an N x N identity matrix l(0) by pj t positions:
Figure imgf000006_0001
with N = nl L (cf. M. P. C. Fossorier, "Quasi-Cyclic Low-Density Parity-Check Codes from Circulant Permutation Matrices", IEEE TRANSACTIONS ON INFORMATION THEORY, Volume 50, Issue 8, Pages 1788-1793, August 2004). Thus, a regular QC-LDPC matrix may be defined by a base matrix B which satisfies:
Figure imgf000006_0006
Figure imgf000006_0002
Moreover, a base matrix B of an irregular QC-LDPC matrix may be obtained by
Figure imgf000006_0005
where " o" denotes the Hadamard product and
Figure imgf000006_0004
Figure imgf000006_0003
denotes a mask matrix with Alternatively, the base matrix B of an irregular QC-
Figure imgf000007_0002
LDPC matrix
Figure imgf000007_0001
may be obtained by (only) partially labelling the base matrix B with shift values
Figure imgf000007_0003
with not labelled entries (which are sometimes represented by a value of "-1" or an asterisk "*") representing zero matrices of size N N .
Furthermore, it is to note that a QC-LDPC matrix H QC (and more generally any LDPC code) can also be described by its equivalent bipartite graph ("Tanner graph"), wherein each edge of the Tanner graph connects one variable node of a plurality of variable nodes to one check node of a plurality of check nodes. For example, a LDPC matrix Hrxn of r rows and n columns can be represented by its equivalent bipartite graph with r check nodes and n variable nodes which has edges between the check nodes and the variable nodes if there are corresponding "Is" in the LDPC matrix Hrxn (cf. R. Tanner, "A Recursive Approach to Low Complexity Codes",
IEEE TRANSACTIONS IN INFORMATION THEORY, Volume 27, Issue 5, Pages 533-547, September 1981). In this regard, it is to note that the variable nodes represent codeword bits and the check nodes represent parity-check equations. A finite set of connected edges in the Tanner graph, wherein the set starts and ends at the same node and satisfies the condition that no node (except the initial and final node) appears more than once forms a "cycle". The "length" of the cycle is the number of edges of the set. The "girth" of the Tanner graph (or "girth" in short) is the length of the shortest cycle(s) in the graph. In this regard, it is noted that short cycles in a Tanner graph of an LDPC code may prevent decoding algorithms from converging. Furthermore, short cycles may degrade the performance of the decoder 14, because they affect the independence of the extrinsic information exchanged in the iterative decoding. Accordingly, shift values are to be chosen that achieve a high girth of the Tanner graph representation of the respective LDPC matrix.
Moreover, a LDPC code may contain Trapping Sets (TSs). More particularly, a (a,b) TS contains b check nodes which have an odd number of connections to a variable nodes. Accordingly, when the a variable nodes are wrong, only the b check nodes will be unsatisfied which may lead to a high error floor, as a belief propagation algorithm employed in the decoder 14 may be "trapped" in a false minimum. While known approaches to channel coding have proven to perform well for a wide variety of scenarios, there is still an ongoing research to provide sophisticated solutions that achieve high data throughput with decent encoding/decoding resources.
SUMMARY According to a first aspect of the present invention, there is provided an apparatus, the apparatus being configured to determine a first LDPC matrix, wherein a second submatrix of the first LDPC matrix has a dual diagonal structure, determine a codeword based on a sequence of information bits and the first LDPC matrix, transmit the codeword, receive an IR-HARQ message, determine a second LDPC matrix, wherein a first submatrix of the second LDPC matrix is based on split rows of a first submatrix of the first LDPC matrix and wherein a second submatrix of the second LDPC matrix has a dual diagonal structure, determine a desired column weight distribution of the second LDPC matrix, add rows to the first submatrix and to the second submatrix of the second LDPC matrix, wherein a number of non-zero entries in the columns of the added rows of the first submatrix of the second LDPC matrix is based on the desired column weight distribution and wherein entries in the columns of the added rows of the second submatrix of the second LDPC matrix are zero, determine additional parity bits for the codeword based on the sequence of information bits and the second LDPC matrix, and transmit the additional parity bits.
Hence, a column weight distribution of the second LDPC code used for determining the additional parity bits can be efficiently derived from the first LDPC code and brought into agreement with a desired column weight distribution, thereby improving the quality of the second LDPC code.
In this regard, it is noted that the term "IR-HARQ message" as used throughout the description and claims in particular refers to a signal which indicates that a previously transmitted codeword cannot be correctly decoded by a receiver of the codeword.
Furthermore, the term "column weight" as used throughout the description and claims in particular refers to the number of non-zero entries in a column of a LDPC matrix. Moreover, it is noted that the term "column weight" as used throughout the description and claims can be interchanged by the term "variable node degree" which confers the same meaning. Hence, the term "column weight distribution" as used throughout the description and claims equally refers to fractions of columns of a LDPC matrix having a certain number or range of non-zero entries, and to fractions of edges emanating from variable nodes of a particular degree.
Moreover, it is noted that the term "split row" as used throughout the description and claims in particular refers to a process of distributing entries of a row (which is split) onto multiple rows. In the case of a LDPC matrix made up of "0s" and "Is", each column of a matrix consisting of rows onto which entries of a split row have been distributed has at most one non-zero entry. In other words, by "splitting a row", the "Is" in the "split row" are distributed onto multiple rows which, if summed (in a vector-sense), give the "split row".
With regard to the term "matrix" as used throughout the description and claims, it is to be noted that values forming a "matrix" do not necessarily have to be physically stored in matrix- (or array-) form, presented in matrix- (or array-) form, or used in matrix algebra throughout a process involving the matrix. Thus, a set of (integer) values with assigned row and column indices or a set of (integer) values which are stored in a (logical) memory array shall also fall under the term "matrix" as used throughout the description and claims.
In a first possible implementation form of the apparatus according to the first aspect, columns of the first LDPC matrix are divided up into columns of the first submatrix of the first LDPC matrix, columns of the second submatrix of the first LDPC matrix, and intermediate columns, wherein each intermediate column has three non-zero entries.
Hence, the parity bits of the codeword can be determined based on the first LDPC matrix without the need to obtain a generator matrix Gkxn , thereby improving encoding efficiency.
In this regard, it is noted that the term "intermediate columns" as used throughout the description and claims in particular refers to a set of consecutive columns that are placed between a first submatrix (e.g., a first set of consecutive columns) and a second submatrix (e.g., a second set of consecutive columns). In a second possible implementation form of the apparatus according to the first aspect as such or according to the first implementation form of the first aspect, columns of the second LDPC matrix are divided up into columns of the first submatrix of the second LDPC matrix, columns of the second submatrix of the second LDPC matrix, intermediate columns, wherein each intermediate column has three non-zero entries, and additional columns, the number of the additional columns being equal to the number of rows added to the first submatrix of the second LDPC matrix.
In a third possible implementation form of the apparatus according to the first aspect as such or according to the first or second implementation form of the first aspect, rows of the second LDPC matrix comprising the added rows further comprise a submatrix having a dual diagonal structure.
In a fourth possible implementation form of the apparatus according to the third implementation form of the first aspect, the rows of the second LDPC matrix comprising the added rows further comprise a column, adjacent the submatrix, having three non-zero entries. Hence, further additional parity bits can be determined based on the second LDPC matrix without the need to obtain a generator matrix Gkxn , thereby further improving encoding efficiency.
In a fifth possible implementation form of the apparatus according to the first aspect as such or according to any one of the first to the fourth implementation form of the first aspect, the apparatus is configured to determine the number of non-zero entries in the columns of the rows added to the first submatrix of the second LDPC matrix by progressively growing edges in a corresponding Tanner graph representation, wherein entries in the first submatrix of the second LDPC matrix and entries in the second submatrix of the second LDPC matrix remain unchanged. Hence, a desired column weight distribution can be efficiently generated without modifying the code structure inherited from the first LDPC code by row splitting, thereby protecting code quality. In this regard, the expression "progressively growing edges in a corresponding Tanner graph representation" as used throughout the description and claims in particular refers to a process of progressively establishing edges between variable nodes and check nodes in the Tanner graph representation of the LDPC matrix, in an edge-by-edge manner. For example, edges between variable nodes and check nodes may be progressively established by labelling entries in rows whose entries participate in large cycles having a high ACE (cf. T. Tian et al., "Selective Avoidance of Cycles in Irregular LDPC Code Construction", IEEE TRANSACTIONS ON COMMUNICATIONS, Volume 52, No. 8, Pages 1242-1247, August 2004), thereby maximizing cycle length. In a sixth possible implementation form of the apparatus according to the first aspect as such or according to any one of the first to the fifth implementation form of the first aspect, entries in the same row of the first submatrix of the first LDPC matrix are distributed onto different rows of the first submatrix of the second LDPC matrix.
Hence, a structure of the first LDPC code can be maintained, thereby protecting the quality of the second LDPC code used for determining the additional parity bits.
In a seventh possible implementation form of the apparatus according to the first aspect as such or according to any one of the first to the sixth implementation form of the first aspect, the apparatus is an encoder configured to implement an IR-HARQ scheme.
According to a second aspect of the present invention, there is provided a method of determining additional parity bits in an IR-HARQ scheme, comprising determining a first LDPC matrix, wherein a second submatrix of the first LDPC matrix has a dual diagonal structure, determining a codeword based on a sequence of information bits and the first quasi- cyclic low density parity check matrix, transmitting the codeword, receiving, in relation to the transmitted codeword, an IR-HARQ message, determining a second LDPC matrix, wherein a first submatrix of the second LDPC matrix is determined by splitting rows of a first submatrix of the first LDPC matrix and wherein a second submatrix of the second LDPC matrix has a dual diagonal structure, determining a desired column weight distribution of the second LDPC matrix, adding rows to the first submatrix and to the second submatrix of the second LDPC matrix, wherein a number of non-zero entries in the columns of the rows added to the first submatrix of the second LDPC matrix is based on the desired column weight distribution and wherein entries in the columns of the rows added to the second submatrix of the second LDPC matrix are zero, determining additional parity bits for the codeword based on the sequence of information bits and the second LDPC matrix, and transmitting the additional parity bits.
Hence, a column weight distribution of the second LDPC code used for determining the additional parity bits can be brought into agreement with a desired column weight distribution, thereby improving the quality of the second LDPC code.
In a first possible implementation form of the method according to the second aspect, columns of the first LDPC matrix are divided up into columns of the first submatrix of the first LDPC matrix, columns of the second submatrix of the first LDPC matrix, and intermediate columns, wherein each intermediate column has three non-zero entries.
Hence, the parity bits of the codeword can be determined based on the first LDPC matrix without the need to obtain a generator matrix Gkxn , thereby improving encoding efficiency.
In a second possible implementation form of the method according to the second aspect as such or according to the first implementation form of the second aspect, columns of the second LDPC matrix are divided up into columns of the first submatrix of the second LDPC matrix, columns of the second submatrix of the second LDPC matrix, intermediate columns, wherein each intermediate column has three non-zero entries, and additional columns, the number of the additional columns being equal to the number of rows added to the first submatrix of the second LDPC matrix.
In a third possible implementation form of the method according to the second aspect as such or according to the first or second implementation form of the second aspect, rows of the second LDPC matrix comprising the added rows further comprise a submatrix having a dual diagonal structure. In a fourth possible implementation form of the method according to the second aspect as such or according to any one of the first to the third implementation form of the second aspect, the rows of the second LDPC matrix comprising the added rows further comprise a column, adjacent the submatrix, having three non-zero entries. Hence, further additional parity bits can be determined based on the second LDPC matrix without the need to obtain a generator matrix Gkxn , thereby further improving encoding efficiency.
In a fifth possible implementation form of the method according to the second aspect as such or according to any one of the first to the third implementation form of the second aspect, the method further comprises determining the number of non-zero entries in the columns of the rows added to the first submatrix of the second LDPC matrix by progressively growing edges in a corresponding Tanner graph representation, wherein entries in the first submatrix of the second LDPC matrix and entries in the second submatrix of the second LDPC matrix remain unchanged. Hence, a desired column weight distribution can be efficiently generated without modifying the code structure inherited from the first LDPC code by row splitting, thereby protecting code quality.
In a sixth possible implementation form of the method according to the second aspect as such or according to any one of the first to the third implementation form of the second aspect, splitting rows of the first submatrix of the first LDPC matrix comprises distributing entries in the same row of the first submatrix of the first LDPC matrix onto different rows of the first submatrix of the second LDPC matrix.
Hence, a structure of the first LDPC code can be maintained, thereby protecting the quality of the second LDPC code used for determining the additional parity bits. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a schematic illustration of a digital communication system;
Fig. 2 is a flow chart of a process of calculating additional parity bits in an IR-HARQ scheme that may be implemented in the digital communication system of Fig. 1 ; and
Fig. 3 is an optional step of the process of the flow chart shown in Fig. 2. DETAILED DESCRIPTION
Fig. 2 is a flow chart of a process 22 of determining additional parity bits in an IR-HARQ scheme. The IR-HARQ scheme may be implemented in a digital communication apparatus such as, for example, the encoder 12 of the digital communication system 10 shown in Fig. 1. For instance, the encoder 12 may be an evolved Node B (eNodeB) and the decoder 14 may be a user equipment (UE) or vice versa. Furthermore, the IR-HARQ scheme may be implemented by a computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform the process 22.
The process 22 starts at 24 with determining a first LDPC code such as a first QC-LDPC code. After determining the first LDPC code, the process 22 may be continued at 26 with encoding a sequence of information bits such as the sequence of information bits ISi using the first LDPC code. If the LDPC matrix Hrxn of the first LDPC code (which is also referred to as the first
LDPC matrix Hrxn throughout the description and claims) has a dual diagonal structure, the sequence of information bits ISi may be encoded without explicitly determining the corresponding generator matrix Gkxn .
For example, the first LDPC code may be an irregular repeat-accumulate (IRA) LDPC code such as an IRA QC-LDPC code. Thus, the first LDPC matrix Hrxn may be a first QC-LDPC matrix Hrxn having a parity part with a dual diagonal structure and N weight-3 columns as exemplified by the following base matrix Βγ (with e being a positive integer and e < N):
Figure imgf000015_0001
After transmitting the codeword at 28, the encoder 12 may receive at 30 an indication that the transmitted codeword cannot be decoded correctly. For example, the encoder 12 may receive a message from the decoder 14 or another entity which, for instance, generates the message after a timeout (within which an indication that the codeword has been correctly encoded is expected) has lapsed. The indication that the transmitted codeword cannot be decoded correctly may thus be explicit or implicit. In response to the message, the encoder 12 may determine a second LDPC code to determine additional parity bits for the sequence of information bits ISi .
As indicated at 32, generating the second LDPC code may involve splitting sub-rows of the first LDPC matrix Hrxn . For example, generating the second LDPC code may involve splitting rows of the information part (indicated in the base matrix above by a broken line) of the
Figure imgf000015_0003
first QC-LDPC matrix H xn (and extending the dual diagonal structure of the parity part) as exemplified by the following base matrix B2 :
Figure imgf000015_0002
In the exemplary row splitting given by the base matrix B2 , a row splitting factor of s = 2 has been used, i.e., the entries in one row of the information part of the first QC-LDPC matrix Hr n are distributed onto two rows. However, the row splitting factor s may be determined based on the number of additional parity bits to be determined. For example, if / additional parity bits are to be determined, the row splitting factor s may be given by:
Figure imgf000016_0001
I.e., the row splitting factor s may be based on the ratio of the additional parity bits and the number of parity bits of the codeword. After splitting the rows of the information part of the first LDPC matrix Hrxn by the row splitting factor s, the process 22 may continue at 34 with determining a desired column weight distribution of a LDPC matrix Hfxo of the second LDPC code (which is also referred to as the second LDPC matrix Hfxo throughout the description and claims).
For example, the desired column weight distribution of the second LDPC matrix Hfxo may be
Figure imgf000016_0003
determined based on an optimal column weight distribution in view of a pre-defined (performance) criterion to be met by the second LDPC code (cf. T. J. Richardson and R. L. Urbanke, "The Capacity of Low-Density Parity-Check Codes Under Message-Passing Decoding", IEEE TRANSACTIONS ON INFORMATION THEORY, Volume 47, No. 2, Pages 599-618, February 2001, or T. J. Richardson et al., "Design of Capacity-Approaching Irregular Low-Density Parity-Check Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, Volume 47, No. 2, Pages 619-637, February 2001). After determining the desired column weight distribution of the second LDPC matrix the
Figure imgf000016_0002
process 22 may continue at 36 by adding f -sr additional rows and o - (k + sr) additional columns to the LDPC matrix that incorporates the split rows (and the extended dual
Figure imgf000017_0002
diagonal structure of the parity part) of the first LDPC matrix Hrxn as exemplified by the following base matrix B3 (which shows a an example of a second QC-LDPC matrix
Figure imgf000017_0003
Figure imgf000017_0001
The added rows can be divided into three submatrices. The first submatrix (indicated by the broken line on the left side) contains the subrows added to the information part. The second submatrix (indicated by the broken line in the middle) contains the subrows added to the parity part. The third submatrix (indicated by the broken line on the right side) contains subrows of the added columns. As shown, the number of added columns may correspond to the number of added rows which allows the third submatrix to have a dual diagonal structure (with N weight- 3 columns). While the entries of the first submatrix are yet to be labelled as indicated by the asterisks, all entries of the second submatrix are to remain zero.
In this regard, column weights of the columns of the first submatrix of the second LDPC matrix Hfxo may be derived based on the desired column weight distribution and the column weights of the columns of the first submatrix of the first LDPC matrix Hrxn . Thus, labelling entries of a column of the first submatrix of the second LDPC matrix Hf 0 may be stopped if the weight of the column meets the derived column weight. Once having labelled the entries of the columns of the first submatrix of the second LDPC matrix Hfxo in accordance with the derived column weights, the second LDPC code may be used to determine additional parity bits as indicated at 38. After having determined the additional parity bits, the additional parity may be transmitted to and used by the decoder for decoding the codeword. If encoding of the codeword nevertheless fails, further additional parity bits or the whole codeword may be (re)transmitted.
As indicated at 40 in Fig. 3, the columns of the first submatrix of the second LDPC matrix H xo may be labelled by progressively growing edges in the Tanner graph. For instance, edges between variable nodes and check nodes of the Tanner graph of the first submatrix of the second LDPC matrix H xo may be progressively established on a column-by-column basis. Moreover, labelling entries in a column of the first submatrix of the second LDPC matrix Hfxo may be performed in accordance with combinatorial characteristics of the second LDPC code. For instance, labelling entries of a column of the first submatrix of the second LDPC matrix Hfxo may be performed in accordance with an ACE of the nodes involved. More particularly, a potential harm of a TS of the second LDPC code may be estimated based on the ACE characteristics of cycles that the TS consists of. The ACE of a given cycle C in the Tanner graph denoted as ACE(O) is defined as
Figure imgf000018_0001
where d(v) is the degree of a variable node v and E(VC ) is the set of variable nodes involved in the cycle C. In general, the bigger the ACE value of a TS is, the less harmful the TS is in terms of the probability of a message passing LDPC decoder (such as, for example, decoder 14) getting stuck in bit positions corresponding to the variable nodes of the TS.
In this regard, labelling entries in a column of the first submatrix of the second LDPC matrix Hfxo may involve analyzing cycles in the Tanner graph defined by the labelled entries.
Labelling entries in the first submatrix of the second LDPC matrix thus starts from a given
Figure imgf000018_0002
protograph and not an empty protograph. For each variable node and for each check node in the Tanner graph defined by the labelled entries of the second LDPC matrix Hfxo , a maximum of minimal cycle lengths in which the variable node or the check node is involved may be determined. For the cycles having the maximum of the minimal cycle lengths, the ACE may be calculated and cycles having a maximum ACE may be determined.
Moreover, for determining the biggest minimal ACE, the ACE may be calculated by analyzing cycles of all lengths, not just the shortest cycles. From the cycles having the maximum ACE, a row of the first submatrix of the second LDPC matrix Hfxo having a minimal weight of all rows comprising check nodes involved in the cycles may be determined and an entry in the determined row may be labeled. By this, a uniform or close-to-uniform row- weight distribution can be achieved. Labelling entries in a column of the first submatrix of the second LDPC matrix Hfxo may then be repeated until a column weight in accordance with the derived column weight is achieved.

Claims

1. An apparatus, the apparatus being configured to: determine a first low-density-parity-check, LDPC, matrix, wherein a second submatrix of the first LDPC matrix has a dual diagonal structure; determine a codeword based on a sequence of information bits and the first LDPC matrix; transmit the codeword; receive an incremental redundancy, IR, hybrid automatic repeat request, HARQ, message; determine a second LDPC matrix, wherein a first submatrix of the second LDPC matrix is based on split rows of a first submatrix of the first LDPC matrix and wherein a second submatrix of the second LDPC matrix has a dual diagonal structure; determine a desired column weight distribution of the second LDPC matrix; add rows to the first submatrix and to the second submatrix of the second LDPC matrix, wherein a number of non-zero entries in the columns of the added rows of the first submatrix of the second LDPC matrix is based on the desired column weight distribution and wherein entries in the columns of the added rows of the second submatrix of the second LDPC matrix are zero; determine additional parity bits for the codeword based on the sequence of information bits and the second LDPC matrix; and transmit the additional parity bits.
2. The apparatus of claim 1 , wherein columns of the first LDPC matrix are divided up into columns of the first submatrix of the first LDPC matrix, columns of the second submatrix of the first LDPC matrix, and intermediate columns, wherein each intermediate column has three non-zero entries.
3. The apparatus of claim 1 or 2, wherein columns of the second LDPC matrix are divided up into columns of the first submatrix of the second LDPC matrix, columns of the second submatrix of the second LDPC matrix, intermediate columns, wherein each intermediate column has three non-zero entries, and additional columns, the number of the additional columns being equal to the number of rows added to the first submatrix of the second LDPC matrix.
4. The apparatus of any one of claims 1 to 3, wherein rows of the second LDPC matrix comprising the added rows further comprise a submatrix having a dual diagonal structure.
5. The apparatus of claim 4, wherein the rows of the second LDPC matrix comprising the added rows further comprise a column, adjacent the submatrix, having three non-zero entries.
6. The apparatus of any one of claims 1 to 5, wherein the apparatus is configured to: determine the number of non-zero entries in the columns of the rows added to the first submatrix of the second LDPC matrix by progressively growing edges in a corresponding Tanner graph representation, wherein entries in the first submatrix of the second LDPC matrix and entries in the second submatrix of the second LDPC matrix remain unchanged.
7. The apparatus of any one of claims 1 to 6, wherein entries in the same row of the first submatrix of the first LDPC matrix are distributed onto different rows of the first submatrix of the second LDPC matrix.
8. The apparatus of any one of claims 1 to 7, wherein the apparatus is an encoder configured to implement an IR-HARQ scheme.
9. A method of determining additional parity bits in an incremental redundancy,
IR, hybrid automatic repeat request, HARQ, scheme, comprising: determining a first low-density-parity-check, LDPC, matrix, wherein a second submatrix of the first LDPC matrix has a dual diagonal structure; determining a codeword based on a sequence of information bits and the first quasi- cyclic low density parity check matrix; transmitting the codeword; receiving, in relation to the transmitted codeword, an IR-HARQ message; determining a second LDPC matrix, wherein a first submatrix of the second LDPC matrix is determined by splitting rows of a first submatrix of the first LDPC matrix and wherein a second submatrix of the second LDPC matrix has a dual diagonal structure; determining a desired column weight distribution of the second LDPC matrix; adding rows to the first submatrix and to the second submatrix of the second LDPC matrix, wherein a number of non-zero entries in the columns of the rows added to the first submatrix of the second LDPC matrix is based on the desired column weight distribution and wherein entries in the columns of the rows added to the second submatrix of the second LDPC matrix are zero; determining additional parity bits for the codeword based on the sequence of information bits and the second LDPC matrix; and transmitting the additional parity bits.
10. The method of claim 9, wherein columns of the first LDPC matrix are divided up into columns of the first submatrix of the first LDPC matrix, columns of the second submatrix of the first LDPC matrix, and intermediate columns, wherein each intermediate column has three non-zero entries.
11. The method of claim 9 or 10, wherein columns of the second LDPC matrix are divided up into columns of the first submatrix of the second LDPC matrix, columns of the second submatrix of the second LDPC matrix, intermediate columns, wherein each intermediate column has three non-zero entries, and additional columns, the number of the additional columns being equal to the number of rows added to the first submatrix of the second LDPC matrix.
12. The method of any one of claims 9 to 1 1 , wherein rows of the second LDPC matrix comprising the added rows further comprise a submatrix having a dual diagonal structure.
13. The method of claim 12, wherein the rows of the second LDPC matrix comprising the added rows further comprise a column, adjacent the submatrix, having three non-zero entries.
14. The method of any one of claims 9 to 13, further comprising: determining the number of non-zero entries in the columns of the rows added to the first submatrix of the second LDPC matrix by progressively growing edges in a corresponding Tanner graph representation, wherein entries in the first submatrix of the second LDPC matrix and entries in the second submatrix of the second LDPC matrix remain unchanged.
15. The method of any one of claims 9 to 14, wherein splitting rows of the first submatrix of the first LDPC matrix comprises distributing entries in the same row of the first submatrix of the first LDPC matrix onto different rows of the first submatrix of the second LDPC matrix.
PCT/RU2016/000742 2016-11-01 2016-11-01 Ldpc codes for incremental redundancy harq (ir-harq) schemes Ceased WO2018084732A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2016/000742 WO2018084732A1 (en) 2016-11-01 2016-11-01 Ldpc codes for incremental redundancy harq (ir-harq) schemes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2016/000742 WO2018084732A1 (en) 2016-11-01 2016-11-01 Ldpc codes for incremental redundancy harq (ir-harq) schemes

Publications (1)

Publication Number Publication Date
WO2018084732A1 true WO2018084732A1 (en) 2018-05-11

Family

ID=57680461

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2016/000742 Ceased WO2018084732A1 (en) 2016-11-01 2016-11-01 Ldpc codes for incremental redundancy harq (ir-harq) schemes

Country Status (1)

Country Link
WO (1) WO2018084732A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412606A (en) * 2018-09-30 2019-03-01 华南理工大学 QC_LDPC code encoding method and encoder based on generator matrix
US11588578B2 (en) 2019-12-13 2023-02-21 Samsung Electronics Co., Ltd. System and method for encoding data using punctured low-density parity-check codes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069460A1 (en) * 2006-12-05 2008-06-12 Electronics And Telecommunications Research Institute Method of generating parity-check matrix, encoding/decoding method for low density parity-check code with variable information length and variable code rate and apparatus using the same
WO2009078514A1 (en) * 2007-12-17 2009-06-25 Electronics And Telecommunications Research Institute Apparatus and method for generating parity check matrix for ldpc code and ldpc encoding/decoding appartus using the same
US20100251062A1 (en) * 2007-11-09 2010-09-30 Panasonic Corporation Encoding method and transmission device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069460A1 (en) * 2006-12-05 2008-06-12 Electronics And Telecommunications Research Institute Method of generating parity-check matrix, encoding/decoding method for low density parity-check code with variable information length and variable code rate and apparatus using the same
US20100251062A1 (en) * 2007-11-09 2010-09-30 Panasonic Corporation Encoding method and transmission device
WO2009078514A1 (en) * 2007-12-17 2009-06-25 Electronics And Telecommunications Research Institute Apparatus and method for generating parity check matrix for ldpc code and ldpc encoding/decoding appartus using the same

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
M. P. C. FOSSORIER: "Quasi-Cyclic Low-Density Parity-Check Codes from Circulant Permutation Matrices", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 50, no. 8, August 2004 (2004-08-01), pages 1788 - 1793, XP011115246, DOI: doi:10.1109/TIT.2004.831841
R. TANNER: "A Recursive Approach to Low Complexity Codes", IEEE TRANSACTIONS IN INFORMATION THEORY, vol. 27, no. 5, September 1981 (1981-09-01), pages 533 - 547, XP001002287, DOI: doi:10.1109/TIT.1981.1056404
T. J. RICHARDSON ET AL.: "Design of Capacity-Approaching Irregular Low-Density Parity-Check Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 2, February 2001 (2001-02-01), pages 619 - 637, XP011027879
T. J. RICHARDSON; R. L. URBANKE: "Efficient encoding of low-density parity-check codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 2, August 2002 (2002-08-01), pages 638 - 656, XP002965294, DOI: doi:10.1109/18.910579
T. J. RICHARDSON; R. L. URBANKE: "The Capacity of Low-Density Parity-Check Codes Under Message-Passing Decoding", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 2, February 2001 (2001-02-01), pages 599 - 618, XP002228426, DOI: doi:10.1109/18.910577
T. TIAN ET AL.: "''Selective Avoidance of Cycles in Irregular LDPC Code Construction", IEEE TRANSACTIONS ON COMMUNICATIONS, vol. 52, no. 8, August 2004 (2004-08-01), pages 1242 - 1247, XP011118056, DOI: doi:10.1109/TCOMM.2004.833048
YOUNG BRENNAN ET AL: "Rate compatible IRA codes using row splitting for 5G wireless", PROC., IEEE 49TH ANNUAL CONFERENCE ON INFORMATION SCIENCES AND SYSTEMS (CISS), 18 March 2015 (2015-03-18), pages 1 - 5, XP032763688, DOI: 10.1109/CISS.2015.7086845 *
ZHAO PEIYAO ET AL: "Construction of Multiple-Rate QC-LDPC Codes Using Hierarchical Row-Splitting", IEEE COMMUNICATIONS LETTERS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 20, no. 6, 1 June 2016 (2016-06-01), pages 1068 - 1071, XP011613031, ISSN: 1089-7798, [retrieved on 20160608], DOI: 10.1109/LCOMM.2016.2553658 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412606A (en) * 2018-09-30 2019-03-01 华南理工大学 QC_LDPC code encoding method and encoder based on generator matrix
US11588578B2 (en) 2019-12-13 2023-02-21 Samsung Electronics Co., Ltd. System and method for encoding data using punctured low-density parity-check codes
US12021625B2 (en) 2019-12-13 2024-06-25 Samsung Electronics Co., Ltd. System and method for encoding data using punctured low-density parity-check codes

Similar Documents

Publication Publication Date Title
US11206049B2 (en) Transmission apparatus including encoder, reception apparatus including decoder, and associated methods
US11095317B2 (en) Efficiently decodable QC-LDPC code
JP7152394B2 (en) Method and Apparatus for Encoding and Decoding LDPC Codes
US11057049B2 (en) Generalized low-density parity check codes in digital communication system
JP4602418B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, encoder, and decoder
JP4563476B2 (en) Encoder, decoder and encoding method
CN113612486A (en) Method, system, device and storage medium for constructing base matrix of PBRL LDPC code
CN112204888B (en) QC-LDPC code with high-efficiency coding and good error code layer characteristics
WO2017105291A1 (en) Generalized quasi-cyclic ldpc convolutional codes for digital communication systems
JP6568281B2 (en) Transmitting apparatus and transmitting method
WO2018084732A1 (en) Ldpc codes for incremental redundancy harq (ir-harq) schemes
WO2018067027A1 (en) Rate-adaptive family of qc-ldpc codes
CN103155419A (en) Decoding device and decoding method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16819692

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16819692

Country of ref document: EP

Kind code of ref document: A1