WO2017105270A1 - Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems - Google Patents

Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems Download PDF

Info

Publication number
WO2017105270A1
WO2017105270A1 PCT/RU2015/000886 RU2015000886W WO2017105270A1 WO 2017105270 A1 WO2017105270 A1 WO 2017105270A1 RU 2015000886 W RU2015000886 W RU 2015000886W WO 2017105270 A1 WO2017105270 A1 WO 2017105270A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
shift
quasi
density parity
check
Prior art date
Application number
PCT/RU2015/000886
Other languages
French (fr)
Inventor
Vasily Stanislavovich USATYUK
Vladimir Anatolyevich GAEV
Sergey Valeryevich SHATILOV
Alexander Viktorovich KHODUNIN
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/RU2015/000886 priority Critical patent/WO2017105270A1/en
Priority to PCT/RU2016/050027 priority patent/WO2017105291A1/en
Publication of WO2017105270A1 publication Critical patent/WO2017105270A1/en

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/1154Low-density parity-check convolutional codes [LDPC-CC]
    • 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/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
    • 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/1105Decoding
    • H03M13/1142Decoding using trapping sets
    • 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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Definitions

  • the present disclosure relates to digital communications.
  • the present invention relates to Quasi-Cyclic Low-Density Parity-Check (QC-LDPC) codes for channel coding in digital communication systems.
  • QC-LDPC Quasi-Cyclic Low-Density Parity-Check
  • Fig. 1 shows a block diagram illustrating a digital communications system 10 including an encoder apparatus 12 and a decoder apparatus 14.
  • the input of the encoder apparatus 12 is an information sequence B 1 of k bits to which a redundancy sequence of r bits is added in an encoding operation, thereby producing an encoded sequence B2 of n bits.
  • a modulator 16 transforms the encoded sequence B2 into a modulated signal vector CH_IN which is in turn transmitted through a channel 18. Since the channel 18 is usually subject to noisy disturbance, the channel output CH OUT may differ from the channel input CH IN.
  • the channel output vector CH_OUT is processed by the demodulator 20 which produces some likelihood ratio.
  • the decoder apparatus 14 uses the redundancy in the received sequence B3 in a decoding operation to correct the error in the information sequence of the received sequence B3 and produces a decoded signal B4 which is an information signal estimate.
  • LDPC codes employ a generator matrix G for the encoding operation in the encoder apparatus 12 and a binary parity-check matrix H for the decoding operation in the decoder apparatus 14.
  • the generator matrix G has focrc dimensions
  • the encoding operation is performed by means of the multiplication between the information sequence B ⁇ Xxk and the code generator matrix G fan .
  • the result, of such multiplication is the encoded output sequence B2 Xxn as follows:
  • ⁇ ⁇ ⁇ ⁇ is the decoded received sequence which comprises the information signal estimate B4 xk . If the above equation is verified, the information signal estimate B4 Xxk is correct.
  • any process of determining a binary parity-check matrix H rxn may be mapped to an equivalent process of obtaining a code generator matrix so that any process disclosed throughout the description and claims in relation to determining a binary parity-check matrix H rxn shall be understood as encompassing the equivalent process of obtaining a code generator matrix G fan and vice versa.
  • a particular form of the binary parity-check matrix H rxn is a regular QC-LDPC matrix reg H; xn build from submatrices l ⁇ p jj ) which are circulant permutation matrices, shortly "circulants", which may, for example, be obtained from cyclically right-shiftin an p x p identity matrix l(0) by p , positions:
  • H n reg H ⁇ ⁇ M where ⁇ 8> is the ronecker product and
  • the encoder apparatus 12 and the decoder apparatus 14 may be provided with shift values, i.e. values corresponding to the entries of the shift matrix B.
  • shift values i.e. values corresponding to the entries of the shift matrix B.
  • an apparatus configured to choose shift values for determining a QC-LDPC matrix H; ⁇ may be integrated in (or connected to) the encoder apparatus 12 and/or the decoder apparatus 14.
  • the encoder apparatus 12 and the decoder apparatus 14 may also be provided with a corresponding mask matrix M to generate an irregular QC-LDPC matrix ' rres H n .
  • a QC-LDPC matrix can 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 (which from the first set of the bipartite graph) to one check node of a plurality of check nodes (which form the second set of the bipartite graph).
  • Tanner graph equivalent bipartite graph
  • a QC-LDPC matrix H; ⁇ n of n columns and r rows 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 QC-LDPC matrix H ⁇ .
  • the variable nodes represent code-word bits and the check nodes represent parity-check equations.
  • a cycle in the Tanner graph refers to a finite set of connected edges, 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.
  • the length of the cycle is then the number of edges of the set.
  • the girth of the Tanner graph is the length of the shortest cycle(s) in the graph.
  • short cycles in the Tanner graphs of QC-LDPC codes may prevent decoding algorithms from converging.
  • short cycles may degrade the performance of QC-LDPC decoders, because they affect the independence of the extrinsic information exchanged in the iterative decoding. Accordingly, shift values are to be chosen that achieve high girth of the Tanner graph representation of the respective QC-LDPC matrix.
  • a QC-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 apparatus 14 may be "trapped" in a false minimum.
  • TSs Trapping Sets
  • an apparatus configured to choose shift values of a multitude of circulants for determining a QC-LDPC matrix for channel coding in digital communication systems, wherein each circulant links variable nodes and check nodes of corresponding node groups consisting of a plurality of variable nodes and check nodes, respectively, and wherein each shift value corresponds to an entry of a shift matrix, wherein the apparatus is further configured to choose the shift values in a row-by-row order of the shift matrix and wherein values corresponding to entries in a row of the shift matrix are chosen in an order that is at least in part based on a measure of a number of cycles in which check nodes and variable nodes of node groups corresponding to the entries, participate.
  • the term "circulant" as used throughout the description and claims refers to a matrix, e.g. the identity matrix, which is cyclically modified by cyclically shifting the rows of the matrix by a predetermined number of places.
  • the shift value of each circulant may define the number of times by which rows of the identity matrix are cyclically (right-)shifted by the predetermined number of places, wherein the predetermined number of places may be one.
  • a mask matrix defines entries of the shift matrix for which no corresponding shift values are to be chosen.
  • an irregular QC-LDPC matrix can be directly established by labelling the mask matrix M, e.g., by choosing shift values only for non-zero entries of the mask matrix M. This allows for increasing the girth and facilitates encoding while reducing complexity in establishing an irregular QC-LDPC matrix im *H .
  • the apparatus is further configured to choose shift values that correspond to entries in a first row of the shift matrix for which values are chosen, randomly.
  • first row does not necessarily refer to the upmost row "in a matrix sense” but to the row for which shift values are chosen while all other rows of the shift matrix are still empty.
  • the apparatus is further configured to choose a shift value corresponding to a first entry in a row of the shift matrix, randomly.
  • first entry in a row cannot produce cycles in the corresponding Tanner graph representation, it can be chosen randomly which reduces the overall computational effort.
  • first entry does not necessarily refer to the leftmost entry in a row "in a matrix sense” but to the entry for which a shift value is chosen while all other entries in the row are still empty.
  • the measure defines a cycle density and the apparatus is configured to choose values corresponding to entries in a row of the shift matrix in order of decreasing cycle density of the corresponding node groups, given the already chosen values.
  • the apparatus is further configured to select a shift value from a plurality of possible shift values based on a measure of connectivity of cycles in a Tanner graph representation of a QC-LDPC matrix determined from the chosen shift values of the multitude of circulants.
  • Tanner graph representation of a QC-LDPC matrix determined from the chosen shift values of the multitude of circulants may be determined on the assumption that all circulants for which no shift vales have been yet chosen are zero matrices.
  • the plurality of possible shift values are based on a predetermined requirement regarding a girth of the QC-LDPC matrix.
  • shift values that can be chosen for entries of the shift matrix may be limited to those shift values which allow for a predetermined girth of the corresponding tanner graph representation. This assures that the girth of the QC-LDPC code meets predefined requirements.
  • the measure of connectivity is an Approximate Cycle Extrinsic Message Degree, ACE, spectrum.
  • the apparatus is further configured to perform multiple attempts to choose a set of shift values for a QC-LDPC matrix, store the set of shift values for successful attempts, and choose one of the sets based on a predetermined criterion.
  • the apparatus is further configured to abort an attempt to choose a set of shift values for a QC-LDPC matrix, if all shift values which can be chosen for an entry of the shift matrix lead to QC-LDPC matrices which violate a predetermined requirement.
  • the predetermined requirement is a girth of the QC-LDPC matrix.
  • the girth of the produced QC-LDPC matrix meets a predetermined requirement, for example that the girth is larger than a threshold value.
  • the apparatus is further configured to determine a QC-LDPC matrix from each set of a multitude of stored sets of shift values.
  • the apparatus is configured to generate a plurality of QC-LDPC matrices with different properties from which to choose. Accordingly, a QC-LDPC matrix with particular beneficial properties can be selected.
  • the apparatus is further configured to simulate a performance of each determined QC-LDPC matrix, wherein the multitude of stored sets is selected from all stored sets based on Approximate Cycle Extrinsic Message Degree, ACE, spectrum as Trapping Set, TS, enumerator.
  • a decoder comprising the apparatus according to the twelfth implementation form. Furthermore, the decoder 14 is configured to select a QC-LDPC matrix from the determined QC-LDPC matrices based on the simulated performance of the determined QC-LDPC matrices, signal information regarding the selected QC-LDPC matrix to an encoder, and decode binary data using the selected QC-LDPC matrix.
  • a QC-LDPC matrix showing a desired performance as determined by simulation can be selected and used for encoding the information sequence Bl at the encoder and decoding the received sequence B3 at the decoder.
  • the decoder apparatus may be connected to the decoder and the decoder may receive an indication of the QC-LDPC matrix.
  • an encoder comprising the apparatus according to the twelfth implementation form. Furthermore, the encoder is configured to select a QC-LDPC matrix from the determined QC-LDPC matrices based on the simulated performance of the determined QC-LDPC matrices, signal information regarding the selected QC-LDPC matrix to a decoder, calculate a generator matrix from the selected QC-LDPC matrix, and encode binary data using the calculated generator matrix.
  • Fig. 1 is a schematic illustration of a digital communication system 10 in which the determined QC-LDPC code may be employed;
  • Fig. 2 is a flow chart of a process of choosing shift values of a multitude of circulants for determining the QC-LDPC code for channel coding in the digital communication system 10;
  • Fig. 3 illustrates ACE spectra corresponding to different shift values in a second row of a shift matrix;
  • Fig. 4 illustrates ACE spectra corresponding to different shift values in a third row of a shift matrix.
  • the process 22 for determining the QC-LDPC code may start at 24 with choosing shift values in a row-by-row order of the shift matrix.
  • the shift matrix may have a size 4x10 and the circulant may be a 100x100 identity matrix.
  • the shift values of the first row of the shift matrix may be generated randomly, because a one-layer (row) QC-LDPC with circulant permutation matrix of weight one represents a tree graph without any cycle. After random labeling, the shift matrix may look like:
  • the second layer may be labelled starting from any circulant.
  • the 9 th circulant may be labelled with 13 (as shift value) so that the shift matrix looks like:
  • the process may continue by choosing entries in the second row of the shift matrix in an order that is at least in part based on a measure of a number of cycles in which check nodes and variable nodes of node groups corresponding to the entries, participate.
  • the shift values may be selected from a plurality of possible shift values based on a measure of connectivity of cycles in the corresponding Tanner graph representation. For example, the possible shift values, i.e.
  • the shift values from which may be chosen may all satisfy a pre-defined girth condition regarding the girth of the corresponding Tanner graph, wherein the girth of the corresponding QC-LDPC code may be calculated using the equation from Fossorier: "Quasi-cyclic low-density parity- check codes from circulant permutation matrices ' ", IEEE Trans. Inf. Theory, vol. 50, no. 8, pp.1788-1793, 2004.
  • values corresponding to entries in the second row of the shift matrix may be chosen in order of decreasing cycle density of the corresponding node groups, given the already chosen values. Accordingly, the selection of shift values may start with the shift value whose corresponding variable nodes are involved in the most cycles. Moreover, the shift value may be selected from the possible shift values based on enumerating the TSs involved.
  • the ACE spectrum may, if particular conditions are satisfied, be equal to the extrinsic message degree (EMD) as described in Deka et al.: "On the equivalence of the ACE and the EMD of a cycle for the ACE spectrum constrained LDPC codes ' ", 8 th International Symposium on Turbo Codes and Iterative Information Processing (ISTC), pp. 55,59, 18-22 Aug. 2014, which may be exploited for any cycle for which the ACE is equal to the EMD. More particularly, check nodes connected to the variable nodes in the cycle but not involved in the cycle will be singly connected to the cycle. The reliability of the messages coming from these check nodes can be increased relative to messages coming from the check nodes involved in the cycle in order to enhance the benefit of the messages coming from the rest of the Tanner graph.
  • EMD extrinsic message degree
  • TS enumerators can be obtained by the ACE spectrum, because the cycle of length / contains 111 variable nodes.
  • the cycle of length / contains 111 variable nodes.
  • the subgraph induced by the 111 virtual nodes constrains exactly ⁇ number of odd- degree check nodess.
  • the cycle can be treated as TS ( ⁇ , ⁇ ) .
  • next shift values may be chosen without considering the ACE spectrum as the cycle length can only be a multiple of four (4, 8, 12).
  • a shift for the densest variable node in the second row value may be chosen.
  • Fig. 3 shows ACE spectra of QC-LDPC codes for shift matrix entry 64 on the left side and shift matrix entry 9 on the right side, both enumerating the ACE spectrum with a maximum cycle of 12. From this comparison, the shift matrix entry 64 is chosen:
  • al other shift values in the second row may be chosen analogously by comparing the respective ACE spectra:
  • shift values for the third row are chosen.
  • the first shift value is chosen randomly and may be, for example, be set to 93.
  • the ACE spectra are shown for shift matrix entry 93 on the left side and shift matrix entry 33 on the right side from which 33 is chosen as shown in the following: Cycle 8 1.5 1 1 1.5 2 2.25 1 1 0.5 1.25
  • the process 22 may be repeated a defined number of times to generate candidate matrices and additional heuristics may be used to filter the candidate matrices for candidate matrices with favorable properties. For example, parameters which measure how fast messages disperse to all nodes may be used.
  • a QC-LDPC matrix may be chosen which achieves a QC-LDPC code having a minimum ratio of the second eigenvalue to the first eigenvalue mm— or a ration which is below a
  • the remaining candidate matrices may be simulated and the candidate matrix that performs best may be chosen for producing the QC-LDPC code employed in the encoder apparatus 12 and the decoder apparatus 14.
  • the candidate matrices may be filtered by a property which points at the quality of the code such as, for example, the weight spectrum enumerator and the TS spectrum enumerator.
  • the candidate matrices may be filtered using Tanner spectral graph properties. After filtering some (or all) candidate matrices whose properties is above a pre-determine threshold matrix or a pre-determined number of candidate matrices may be further evaluated by measuring the code distance.
  • codes with favorable ACE Spectrum, Tanner spectral graph properties and large code distance may be simulated at a working point.
  • a EB/No of 2 dB may be used and the code exhibiting the lowest probability of error (BER, FER) may be selected from the candidates.

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Provided is an apparatus configured to choose shift values of a multitude of circulants for determining a quasi-cyclic low-density parity-check matrix, H, for channel coding in network systems, wherein each circulant links variable nodes and check nodes of corresponding node groups consisting of a plurality of variable nodes or check nodes and wherein each shift value corresponds to an entry of a shift matrix. The apparatus is configured to choose the shift values in a row-by-row order of the shift matrix and values corresponding to entries in a row of the shift matrix are chosen in an order that is at least in part based on a measure of a number of cycles in which check nodes and variable nodes of node groups corresponding to the entries, participate. Accordingly, the selection of shift values in a row may start with the shift value whose corresponding variable nodes are involved in the most cycles. Moreover, the shift value may be selected from the set of possible shift values based on enumerating the Trapping Sets, TSs, involved using the Approximate Cycle Extrinsic, ACE, Message Degree spectrum.

Description

DETERMINATION OF A QUASI-CYCLIC LOW-DENSITY PARITY-CHECK, QC-LDPC, CODE FOR CHANNEL CODING IN
DIGITAL COMMUNICATION SYSTEMS
FIELD
The present disclosure relates to digital communications. In particular, the present invention relates to Quasi-Cyclic Low-Density Parity-Check (QC-LDPC) codes for channel coding in digital communication systems.
BACKGROUND
Fig. 1 shows a block diagram illustrating a digital communications system 10 including an encoder apparatus 12 and a decoder apparatus 14.
The input of the encoder apparatus 12 is an information sequence B 1 of k bits to which a redundancy sequence of r bits is added in an encoding operation, thereby producing an encoded sequence B2 of n bits. A modulator 16 transforms the encoded sequence B2 into a modulated signal vector CH_IN which is in turn transmitted through a channel 18. Since the channel 18 is usually subject to noisy disturbance, the channel output CH OUT may differ from the channel input CH IN.
At the receiving end, the channel output vector CH_OUT is processed by the demodulator 20 which produces some likelihood ratio. The decoder apparatus 14 uses the redundancy in the received sequence B3 in a decoding operation to correct the error in the information sequence of the received sequence B3 and produces a decoded signal B4 which is an information signal estimate.
The encoding operation and the decoding operation are governed by the use of LDPC codes. In the general formulation of channel coding, LDPC codes employ a generator matrix G for the encoding operation in the encoder apparatus 12 and a binary parity-check matrix H for the decoding operation in the decoder apparatus 14.
For a LDPC code with information sequence of k bits, a code word of n bits and redundancy (parity) sequence of r=(n-k) bits, the generator matrix G has focrc dimensions, and the binary parity-check matrix H has rxn=(n-k)xn dimensions. The binary parity-check matrix Hrxn and the generator matrix Gkxn enjoy the orthogonal property, which states that for any matrix kxn with k linearly independent rows there exists a matrix with r=(n-k) linearly independent rows such that any row of is orthogonal to the rows of Hrxn such that the following equation is satisfied: (1)
The encoding operation is performed by means of the multiplication between the information sequence B\Xxk and the code generator matrix Gfan. The result, of such multiplication, is the encoded output sequence B2Xxn as follows:
Figure imgf000003_0001
At the receiving side, due to the orthogonal property between matrixes Gt and Hrxn , the following equation should be satisfied:
(3)
where Βη Ί χΧ is the decoded received sequence which comprises the information signal estimate B4 xk . If the above equation is verified, the information signal estimate B4Xxk is correct.
Once the binary parity-check matrix Hrxn is built, it is possible to obtain the code generator matrix <_?fan and vice versa. Accordingly, any process of determining a binary parity-check matrix Hrxn may be mapped to an equivalent process of obtaining a code generator matrix so that any process disclosed throughout the description and claims in relation to determining a binary parity-check matrix Hrxn shall be understood as encompassing the equivalent process of obtaining a code generator matrix Gfan and vice versa.
A particular form of the binary parity-check matrix Hrxn is a regular QC-LDPC matrix reg H;xn build from submatrices l{pjj ) which are circulant permutation matrices, shortly "circulants", which may, for example, be obtained from cyclically right-shiftin an p x p identity matrix l(0) by p , positions:
Figure imgf000003_0002
rxn
(4)
I(PJ-LO ) l(pj-u ) ··· Pj-n-i ) with p = n l L. Thus, the regular QC-LDPC matrix KgH"xn may be defined by a shift matrix B which satisfies:
(5)
Figure imgf000004_0001
Moreover, an irregular QC-LDPC matrix 'mgH^n may be obtained by H n =regH^ Θ M where <8> is the ronecker product and
m 0,0 m 0,1 m 0,1-1
m 1 ,0 m U m 1,1-1
M =
(6)
m ,/ - l ,0
denotes a mask matrix. Thus, for using a QC-LDPC code in the encoder apparatus 12 and the decoder apparatus 14, the encoder apparatus 12 and the decoder apparatus 14 may be provided with shift values, i.e. values corresponding to the entries of the shift matrix B. For instance, an apparatus configured to choose shift values for determining a QC-LDPC matrix H;^ may be integrated in (or connected to) the encoder apparatus 12 and/or the decoder apparatus 14. Moreover, the encoder apparatus 12 and the decoder apparatus 14 may also be provided with a corresponding mask matrix M to generate an irregular QC-LDPC matrix 'rresH n .
A QC-LDPC matrix can 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 (which from the first set of the bipartite graph) to one check node of a plurality of check nodes (which form the second set of the bipartite graph). For example, a QC-LDPC matrix H;^n of n columns and r rows 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 QC-LDPC matrix H^ . Thus, the variable nodes represent code-word bits and the check nodes represent parity-check equations.
A cycle in the Tanner graph refers to a finite set of connected edges, 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. The length of the cycle is then the number of edges of the set. The girth of the Tanner graph is the length of the shortest cycle(s) in the graph. In this regard, it is to note that short cycles in the Tanner graphs of QC-LDPC codes may prevent decoding algorithms from converging. Furthermore, short cycles may degrade the performance of QC-LDPC decoders, because they affect the independence of the extrinsic information exchanged in the iterative decoding. Accordingly, shift values are to be chosen that achieve high girth of the Tanner graph representation of the respective QC-LDPC matrix.
Moreover, a QC-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 apparatus 14 may be "trapped" in a false minimum.
SUMMARY
It is thus the object of the present invention to provide for an efficient technique of choosing shift values to generate QC-LDPC codes with favorable properties, such as, for example, high girth, fast convergence properties, and low error floor.
According to a first aspect of the present invention, there is provided an apparatus configured to choose shift values of a multitude of circulants for determining a QC-LDPC matrix for channel coding in digital communication systems, wherein each circulant links variable nodes and check nodes of corresponding node groups consisting of a plurality of variable nodes and check nodes, respectively, and wherein each shift value corresponds to an entry of a shift matrix, wherein the apparatus is further configured to choose the shift values in a row-by-row order of the shift matrix and wherein values corresponding to entries in a row of the shift matrix are chosen in an order that is at least in part based on a measure of a number of cycles in which check nodes and variable nodes of node groups corresponding to the entries, participate.
In this regard, the term "circulant" as used throughout the description and claims refers to a matrix, e.g. the identity matrix, which is cyclically modified by cyclically shifting the rows of the matrix by a predetermined number of places. In particular, the shift value of each circulant may define the number of times by which rows of the identity matrix are cyclically (right-)shifted by the predetermined number of places, wherein the predetermined number of places may be one. By choosing the shift-values in a row-by-row order, it is possible to create a stronger connected row- code which is advantageous for layered belief-propagation decoding.
In a first possible implementation form of the apparatus according to the first aspect, a mask matrix defines entries of the shift matrix for which no corresponding shift values are to be chosen.
Thus, instead of modifying a regular QC-LDPC matrix regH^„ by multiplication with a mask matrix M, an irregular QC-LDPC matrix
Figure imgf000006_0001
can be directly established by labelling the mask matrix M, e.g., by choosing shift values only for non-zero entries of the mask matrix M. This allows for increasing the girth and facilitates encoding while reducing complexity in establishing an irregular QC-LDPC matrix im*H .
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, the apparatus is further configured to choose shift values that correspond to entries in a first row of the shift matrix for which values are chosen, randomly.
As entries in the first row for which values are chosen, i.e., the first row to be labelled, cannot produce cycles in the corresponding Tanner graph, they can be chosen randomly which reduces the overall computational effort. In this regard, it is to note that the term "first row" as used throughout the description and claims does not necessarily refer to the upmost row "in a matrix sense" but to the row for which shift values are chosen while all other rows of the shift matrix are still empty.
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, the apparatus is further configured to choose a shift value corresponding to a first entry in a row of the shift matrix, randomly.
As the first entry in a row cannot produce cycles in the corresponding Tanner graph representation, it can be chosen randomly which reduces the overall computational effort. In this regard, it is to note that the term "first entry" as used throughout the description and claims does not necessarily refer to the leftmost entry in a row "in a matrix sense" but to the entry for which a shift value is chosen while all other entries in the row are still empty.
In a fourth possible implementation form of the apparatus according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, the measure defines a cycle density and the apparatus is configured to choose values corresponding to entries in a row of the shift matrix in order of decreasing cycle density of the corresponding node groups, given the already chosen values.
Filling the entries of the shift matrix in an order of decreasing cycle density of the corresponding Tanner graph representation gives greater freedom for those node groups which do already participate in many cycles and for which the generation of further cycles is more probable. Thus, density of all parts of the Tanner graph becomes substantially equal.
In a fifth possible implementation form of the apparatus according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, the apparatus is further configured to select a shift value from a plurality of possible shift values based on a measure of connectivity of cycles in a Tanner graph representation of a QC-LDPC matrix determined from the chosen shift values of the multitude of circulants.
Selecting a shift value from a plurality of possible shift values based on a measure of connectivity of cycles allows reducing the generation of trapping sets. In this regard, it is noted that the Tanner graph representation of a QC-LDPC matrix determined from the chosen shift values of the multitude of circulants may be determined on the assumption that all circulants for which no shift vales have been yet chosen are zero matrices.
In a sixth possible implementation form of the apparatus according to the fifth implementation form of the first aspect, the plurality of possible shift values are based on a predetermined requirement regarding a girth of the QC-LDPC matrix.
Thus, shift values that can be chosen for entries of the shift matrix may be limited to those shift values which allow for a predetermined girth of the corresponding tanner graph representation. This assures that the girth of the QC-LDPC code meets predefined requirements. In a seventh possible implementation form of the apparatus according to the fifth or sixth implementation forms of the first aspect, the measure of connectivity is an Approximate Cycle Extrinsic Message Degree, ACE, spectrum.
This allows improving the connectivity of cycles and reducing the influence of trapping sets by using the ACE spectrum as trapping set enumerator, resulting in an improved error-floor.
In an eighth possible implementation form of the apparatus according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, the apparatus is further configured to perform multiple attempts to choose a set of shift values for a QC-LDPC matrix, store the set of shift values for successful attempts, and choose one of the sets based on a predetermined criterion.
This allows to select a QC-LDPC matrix with particular beneficial properties from the set of generated QC-LDPC matrices.
In a ninth possible implementation form of the apparatus according to the eighth implementation form of the first aspect, the apparatus is further configured to abort an attempt to choose a set of shift values for a QC-LDPC matrix, if all shift values which can be chosen for an entry of the shift matrix lead to QC-LDPC matrices which violate a predetermined requirement.
Thus, computational complexity can be reduced as QC-LDPC matrices which violate a predetermined requirement are dropped at an early stage.
In a tenth possible implementation form of the apparatus according to the ninth implementation form of the first aspect, the predetermined requirement is a girth of the QC-LDPC matrix.
Thus, it can be ensured that the girth of the produced QC-LDPC matrix meets a predetermined requirement, for example that the girth is larger than a threshold value.
In an eleventh possible implementation form of the apparatus according to one of the eighth to tenth implementation forms of the first aspect, the apparatus is further configured to determine a QC-LDPC matrix from each set of a multitude of stored sets of shift values.
Thus, the apparatus is configured to generate a plurality of QC-LDPC matrices with different properties from which to choose. Accordingly, a QC-LDPC matrix with particular beneficial properties can be selected. In a twelfth possible implementation form of the apparatus according to the eleventh implementation form of the first aspect, the apparatus is further configured to simulate a performance of each determined QC-LDPC matrix, wherein the multitude of stored sets is selected from all stored sets based on Approximate Cycle Extrinsic Message Degree, ACE, spectrum as Trapping Set, TS, enumerator.
This allows for taking into account the connectivity of cycles and TSs which results in a low error-floor.
According to a second aspect of the present invention, there is provided a decoder comprising the apparatus according to the twelfth implementation form. Furthermore, the decoder 14 is configured to select a QC-LDPC matrix from the determined QC-LDPC matrices based on the simulated performance of the determined QC-LDPC matrices, signal information regarding the selected QC-LDPC matrix to an encoder, and decode binary data using the selected QC-LDPC matrix.
Accordingly, a QC-LDPC matrix showing a desired performance as determined by simulation can be selected and used for encoding the information sequence Bl at the encoder and decoding the received sequence B3 at the decoder. Moreover, the decoder apparatus may be connected to the decoder and the decoder may receive an indication of the QC-LDPC matrix.
According to a second aspect of the present invention, there is provided an encoder comprising the apparatus according to the twelfth implementation form. Furthermore, the encoder is configured to select a QC-LDPC matrix from the determined QC-LDPC matrices based on the simulated performance of the determined QC-LDPC matrices, signal information regarding the selected QC-LDPC matrix to a decoder, calculate a generator matrix from the selected QC-LDPC matrix, and encode binary data using the calculated generator matrix.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a schematic illustration of a digital communication system 10 in which the determined QC-LDPC code may be employed;
Fig. 2 is a flow chart of a process of choosing shift values of a multitude of circulants for determining the QC-LDPC code for channel coding in the digital communication system 10; Fig. 3 illustrates ACE spectra corresponding to different shift values in a second row of a shift matrix; and
Fig. 4 illustrates ACE spectra corresponding to different shift values in a third row of a shift matrix.
DETAILED DESCRIPTION
As shown in Fig. 2, the process 22 for determining the QC-LDPC code may start at 24 with choosing shift values in a row-by-row order of the shift matrix. For example, the shift matrix may have a size 4x10 and the circulant may be a 100x100 identity matrix.
The shift values of the first row of the shift matrix may be generated randomly, because a one-layer (row) QC-LDPC with circulant permutation matrix of weight one represents a tree graph without any cycle. After random labeling, the shift matrix may look like:
Figure imgf000010_0001
Because one layer QC-LDPC matrix doesn't have any cycle the second layer may be labelled starting from any circulant. For example, the 9th circulant may be labelled with 13 (as shift value) so that the shift matrix looks like:
Figure imgf000010_0002
As indicated at 26, the process may continue by choosing entries in the second row of the shift matrix in an order that is at least in part based on a measure of a number of cycles in which check nodes and variable nodes of node groups corresponding to the entries, participate. The shift values may be selected from a plurality of possible shift values based on a measure of connectivity of cycles in the corresponding Tanner graph representation. For example, the possible shift values, i.e. the shift values from which may be chosen, may all satisfy a pre-defined girth condition regarding the girth of the corresponding Tanner graph, wherein the girth of the corresponding QC-LDPC code may be calculated using the equation from Fossorier: "Quasi-cyclic low-density parity- check codes from circulant permutation matrices'", IEEE Trans. Inf. Theory, vol. 50, no. 8, pp.1788-1793, 2004.
In addition, values corresponding to entries in the second row of the shift matrix may be chosen in order of decreasing cycle density of the corresponding node groups, given the already chosen values. Accordingly, the selection of shift values may start with the shift value whose corresponding variable nodes are involved in the most cycles. Moreover, the shift value may be selected from the possible shift values based on enumerating the TSs involved.
For instance, the ACE spectrum may, if particular conditions are satisfied, be equal to the extrinsic message degree (EMD) as described in Deka et al.: "On the equivalence of the ACE and the EMD of a cycle for the ACE spectrum constrained LDPC codes'", 8th International Symposium on Turbo Codes and Iterative Information Processing (ISTC), pp. 55,59, 18-22 Aug. 2014, which may be exploited for any cycle for which the ACE is equal to the EMD. More particularly, check nodes connected to the variable nodes in the cycle but not involved in the cycle will be singly connected to the cycle. The reliability of the messages coming from these check nodes can be increased relative to messages coming from the check nodes involved in the cycle in order to enhance the benefit of the messages coming from the rest of the Tanner graph.
In this way, better connectivity can be ensured for the isolated small cycles and the performance of the iterative decoders may be improved which may result in a gain in the waterfall region. Moreover, TS enumerators can be obtained by the ACE spectrum, because the cycle of length / contains 111 variable nodes. For the ACE value η, the subgraph induced by the 111 virtual nodes constrains exactly η number of odd- degree check nodess. Hence, the cycle can be treated as TS (ΙΙ ,η) .
However, in the present example, the next shift values may be chosen without considering the ACE spectrum as the cycle length can only be a multiple of four (4, 8, 12). Cycle 8 1.5 0.75 0.75 1.5 1.75 2 1 1 0.5 1.25
6 4 31 34 59 4 25 6 12 7 24
6 -1 -1 -1 -1 -1 -1 1 78 13 26
0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
After that, a shift for the densest variable node in the second row value may be chosen. In this regard, Fig. 3 shows ACE spectra of QC-LDPC codes for shift matrix entry 64 on the left side and shift matrix entry 9 on the right side, both enumerating the ACE spectrum with a maximum cycle of 12. From this comparison, the shift matrix entry 64 is chosen:
Figure imgf000012_0001
Moreover, al other shift values in the second row may be chosen analogously by comparing the respective ACE spectra:
Figure imgf000012_0002
In the following, shift values for the third row are chosen. As with choosing shift values for the second row, the first shift value is chosen randomly and may be, for example, be set to 93. For the next shift value, the ACE spectra are shown for shift matrix entry 93 on the left side and shift matrix entry 33 on the right side from which 33 is chosen as shown in the following: Cycle 8 1.5 1 1 1.5 2 2.25 1 1 0.5 1.25
6.25 4 31 34 59 4 25 6 12 7 24
6.5 33 12 91 68 80 64 1 78 13 26
0.25 -1 -1 -1 -1 33 93 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
This process is continued until all shift values are chosen or, if only shift values exist for an entry which violate a required condition, such as a minimal girth of the QC-LDPC code, the process 22 may be aborted.
The process 22 may be repeated a defined number of times to generate candidate matrices and additional heuristics may be used to filter the candidate matrices for candidate matrices with favorable properties. For example, parameters which measure how fast messages disperse to all nodes may be used.
More particularly, there exist [_(g - l)/4j independent iterations, with g denoting the girth of the graph. Thus, after diameter! 2 iterations, information from any variable nodes shall have reached any other variable node. In this case if diameter≥ \_g - lj / 2 all vertex shall have statistically independent information. These considerations motivate another heuristics of code on the graphs design with large girth and smallest diameter for the degrees of the vertexes as described in Tanner et al. class of group structured LDPC codes", Proc. ICSTA 2001, Ambleside, England, 2001. In particular, the goal of this sieving stage is to obtain codes with maximal girth and small graph diameter. The upper bound on the girth is determined by the length of the shortest balanced cycle of the graph, for example a Petersen graph. The graph diameter depends on the graph structure.
Another parameter is described in Wang et al., "Hierarchical and High-Girth QC LDPC Codes", IEEE Transactions on Information Theory, vol.59, no.7, pp.4553,4583, July 2013. Heretofore, the bipartite graph defined by the QC-LDPC is taken and the spectral graph (connective) property of the corresponding graph is considered by the real-value adjacency matrix:
Figure imgf000013_0001
This representation is equvalent to
Figure imgf000014_0001
because change of columns (VN) positions do not change code and Eigen value monotonically. A similar order for spectral graph sieve of parity-check matrix candidates with simplification of GPU calculation is obtained.
After diagonalizing and taking real eigenvalues: / , > μ2 > ... > μχ; a QC-LDPC matrix may be chosen which achieves a QC-LDPC code having a minimum ratio of the second eigenvalue to the first eigenvalue mm— or a ration which is below a
/
predetermined threshold.
After (optionally) filtering the candidate matrices, the remaining candidate matrices may be simulated and the candidate matrix that performs best may be chosen for producing the QC-LDPC code employed in the encoder apparatus 12 and the decoder apparatus 14. In this regard, the candidate matrices may be filtered by a property which points at the quality of the code such as, for example, the weight spectrum enumerator and the TS spectrum enumerator. Moreover the candidate matrices may be filtered using Tanner spectral graph properties. After filtering some (or all) candidate matrices whose properties is above a pre-determine threshold matrix or a pre-determined number of candidate matrices may be further evaluated by measuring the code distance. Then, codes with favorable ACE Spectrum, Tanner spectral graph properties and large code distance may be simulated at a working point. For example, a EB/No of 2 dB may be used and the code exhibiting the lowest probability of error (BER, FER) may be selected from the candidates.

Claims

1. An apparatus configured to choose shift values of a multitude of circulants for determining a quasi-cyclic low-density parity-check matrix for channel coding in digital communication systems, wherein each circulant links variable nodes and check nodes of corresponding node groups consisting of a plurality of variable nodes and check nodes, respectively, and wherein each shift value corresponds to an entry of a shift matrix,
wherein the apparatus is further configured to choose the shift values in a row- by-row order of the shift matrix; and
wherein values corresponding to entries in a row of the shift matrix are chosen in an order that is at least in part based on a measure of a number of cycles in which check nodes and variable nodes of node groups corresponding to the entries, participate.
2. The apparatus of claim 1 , wherein a mask matrix defines entries of the shift matrix for which no corresponding shift values are to be chosen.
3. The apparatus of claim 1 or 2, wherein the apparatus is further configured to choose shift values that correspond to entries in a first row of the shift matrix for which values are chosen, randomly.
4. The apparatus of any one of claims 1 to 3, wherein the apparatus is further configured to choose a shift value corresponding to a first entry in a row of the shift matrix, randomly.
5. The apparatus of any one of claims 1 to 4, wherein the measure defines a cycle density and wherein the apparatus is configured to choose values corresponding to entries in a row of the shift matrix in order of decreasing cycle density of the corresponding node groups, given the already chosen values.
6. The apparatus of any one of claims 1 to 5, wherein the apparatus is further configured to select a shift value from a plurality of possible shift values based on a measure of connectivity of cycles in a Tanner graph representation of a quasi- cyclic low-density parity-check matrix determined from the chosen shift values of the multitude of circulants. 15
7. The apparatus of claim 6, wherein the plurality of possible shift values are based on a predetermined requirement regarding a girth of the quasi-cyclic low- density parity-check matrix.
8. The apparatus of claim 6 or 7, wherein the measure of connectivity is an Approximate Cycle Extrinsic Message Degree, ACE, spectrum.
9. The apparatus of any one of claims 1 to 8, wherein the apparatus is further configured to:
perform multiple attempts to choose a set of shift values for the quasi-cyclic low-density parity-check matrix;
store the set of shift values for successful attempts; and
choose one of the sets based on a predetermined criterion.
10. The apparatus of claim 9, wherein the apparatus is further configured to abort an attempt to choose a set of shift values for a quasi-cyclic low-density parity- check matrix, if all shift values which can be chosen for an entry of the shift matrix lead to quasi-cyclic low-density parity-check matrices which violate a predetermined requirement.
1 1. The apparatus of claim 10, wherein the predetermined requirement is a girth of the quasi-cyclic low-density parity-check matrix.
12. The apparatus of any one of claims 9 to 1 1, wherein the apparatus is further configured to:
determine a quasi-cyclic low-density parity-check matrix from each set of a multitude of stored sets of shift values.
13. The apparatus of claim 12, wherein the apparatus is further configured to:
simulate a performance of each determined quasi-cyclic low-density parity- check matrix,
wherein the multitude of stored sets is selected from all stored sets based on Approximate Cycle Extrinsic Message Degree, ACE, spectrum as Trapping Set, TS, enumerator.
14. A decoder comprising the apparatus of claim 13, wherein the decoder is configured to: select a quasi-cyclic low-density parity-check matrix from the determined quasi-cyclic low-density parity-check matrices based on the simulated performance of the determined quasi-cyclic low-density parity-check matrices;
signal information regarding the selected quasi-cyclic low-density parity-check matrix to an encoder; and
decode binary data using the selected quasi-cyclic low-density parity-check matrix.
15. An encoder comprising the apparatus of claim 13, wherein the encoder is configured to:
select a quasi-cyclic low-density parity-check matrix from the determined quasi-cyclic low-density parity-check matrices based on the simulated performance of the determined quasi-cyclic low-density parity-check matrices;
signal information regarding the selected quasi-cyclic low-density parity-check matrix to a decoder;
calculate a generator matrix from the selected quasi-cyclic low-density parity- check matrix; and
encode binary data using the calculated generator matrix.
PCT/RU2015/000886 2015-12-15 2015-12-15 Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems WO2017105270A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/RU2015/000886 WO2017105270A1 (en) 2015-12-15 2015-12-15 Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems
PCT/RU2016/050027 WO2017105291A1 (en) 2015-12-15 2016-08-16 Generalized quasi-cyclic ldpc convolutional codes for digital communication systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2015/000886 WO2017105270A1 (en) 2015-12-15 2015-12-15 Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems

Publications (1)

Publication Number Publication Date
WO2017105270A1 true WO2017105270A1 (en) 2017-06-22

Family

ID=56411861

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/RU2015/000886 WO2017105270A1 (en) 2015-12-15 2015-12-15 Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems
PCT/RU2016/050027 WO2017105291A1 (en) 2015-12-15 2016-08-16 Generalized quasi-cyclic ldpc convolutional codes for digital communication systems

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/RU2016/050027 WO2017105291A1 (en) 2015-12-15 2016-08-16 Generalized quasi-cyclic ldpc convolutional codes for digital communication systems

Country Status (1)

Country Link
WO (2) WO2017105270A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107623525A (en) * 2017-07-28 2018-01-23 华南理工大学 A kind of efficient variable node selecting sequence method
CN110719108A (en) * 2019-08-26 2020-01-21 北京大学 QC-LDPC codeword extension method and system based on ring connectivity
WO2021027525A1 (en) * 2019-08-13 2021-02-18 中兴通讯股份有限公司 Method for constructing regular qc-ldpc code and electronic device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102449782B1 (en) * 2018-05-04 2022-10-04 에스케이하이닉스 주식회사 Circuit for transform parity check matrix of QC-LDPC code, error correcting circuit having the same and operating method thereof
CN109639288B (en) * 2018-10-24 2023-07-04 上海无线电设备研究所 Generalized decoding method and decoding module suitable for QC-LDPC code
CN113595563B (en) * 2021-08-02 2024-03-29 上海金卓科技有限公司 LDPC decoding method, device, equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100257425A1 (en) * 2009-04-06 2010-10-07 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100257425A1 (en) * 2009-04-06 2010-10-07 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
FOSSORIER: "Quasi-cyclic low-density parity-check codes from circulant permutation matrices", IEEE TRANS. INF. THEORY, vol. 50, no. 8, 2004, pages 1788 - 1793, XP011115246, DOI: doi:10.1109/TIT.2004.831841
TANNER ET AL.: "A class of group structured LDPC codes", PROC. ICSTA 2001, AMBLESIDE, ENGLAND, 2001
TAO TIAN ET AL: "Construction of irregular LDPC codes with low error floors", PROC., IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS, ICC 2003, ANCHORAGE, ALASKA, USA, vol. 5, 11 May 2003 (2003-05-11) - 15 May 2003 (2003-05-15), pages 3125 - 3129, XP010643022, ISBN: 978-0-7803-7802-5, DOI: 10.1109/ICC.2003.1203996 *
USATYUK; VASILY: "Some problems of Graph Based Codes for Belief Propagation decoding Quasi-cyclic Low Density Parity-check code (QC-LDPC)", 24 November 2015 (2015-11-24), XP055302971, Retrieved from the Internet <URL:https://arxiv.org/ftp/arxiv/papers/1511/1511.00133.pdf> [retrieved on 20160915] *
VUKOBRATOVIC D ET AL: "Generalized ACE Constrained Progressive Edge-Growth LDPC Code Design", IEEE COMMUNICATIONS LETTERS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 10, no. 1, 1 January 2008 (2008-01-01), pages 32 - 34, XP011224659, ISSN: 1089-7798 *
WANG ET AL.: "Hierarchical and High-Girth QC LDPC Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 59, no. 7, July 2013 (2013-07-01), pages 4553,4583, XP011514460, DOI: doi:10.1109/TIT.2013.2253512

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107623525A (en) * 2017-07-28 2018-01-23 华南理工大学 A kind of efficient variable node selecting sequence method
CN107623525B (en) * 2017-07-28 2020-09-22 华南理工大学 Efficient variable node selection sequence method
WO2021027525A1 (en) * 2019-08-13 2021-02-18 中兴通讯股份有限公司 Method for constructing regular qc-ldpc code and electronic device
CN110719108A (en) * 2019-08-26 2020-01-21 北京大学 QC-LDPC codeword extension method and system based on ring connectivity
CN110719108B (en) * 2019-08-26 2021-08-20 北京大学 QC-LDPC codeword extension method and system based on ring connectivity

Also Published As

Publication number Publication date
WO2017105291A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
WO2017105270A1 (en) Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems
CN110572163B (en) Method and apparatus for encoding and decoding LDPC code
US11095317B2 (en) Efficiently decodable QC-LDPC code
JP4062435B2 (en) Error correction code decoding apparatus
US11057049B2 (en) Generalized low-density parity check codes in digital communication system
EP1829223B1 (en) Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes
JP3893383B2 (en) LDPC code parity check matrix generation method and parity check matrix generation apparatus
CN110024294B (en) Generation of spatially coupled quasi-cyclic LDPC codes
CN108183713B (en) LDPC decoder based on improved minimum sum algorithm and decoding method thereof
US20110010602A1 (en) Method and apparatus for performing decoding using ldpc code
KR20080033381A (en) Test matrix generating method, encoding method, decoding method, communication apparatus, communication system, encoder and decoder
CN110739976B (en) Quick generation method of short-loop-free QC-LDPC code
CN106656210B (en) type-II QC-LDPC code construction method capable of rapidly coding based on complete cycle difference set
CN112204888A (en) QC-LDPC code with high-efficiency coding and good error code flat layer characteristic
Rao et al. Low density parity check codes
CN111164897B (en) Generalized low density parity check code
WO2018084732A1 (en) Ldpc codes for incremental redundancy harq (ir-harq) schemes
EP3529900A1 (en) Construction of ldpc convolutional turbo codes
Srirutchataboon et al. PEG-like algorithm for LDPC codes
WO2018067027A1 (en) Rate-adaptive family of qc-ldpc codes
Bhatia et al. Enhancing binary images of non-binary LDPC codes
Ullah et al. Adaptive Group Shuffled Symbol Flipping Decoding Algorithm
Arulmozhi et al. Improvements on construction of quasi cyclic irregular non binary LDPC codes
CN117220689A (en) Non-binary LDPC decoding method based on model-driven deep learning
Deergha Rao et al. Low density parity check codes

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: 15878311

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: 15878311

Country of ref document: EP

Kind code of ref document: A1