WO2023218050A1 - Quasi-cyclic ldpc codes based on generalised quadrangles - Google Patents
Quasi-cyclic ldpc codes based on generalised quadrangles Download PDFInfo
- Publication number
- WO2023218050A1 WO2023218050A1 PCT/EP2023/062797 EP2023062797W WO2023218050A1 WO 2023218050 A1 WO2023218050 A1 WO 2023218050A1 EP 2023062797 W EP2023062797 W EP 2023062797W WO 2023218050 A1 WO2023218050 A1 WO 2023218050A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- digital communication
- ldpc codes
- quasi
- communication coding
- cyclic
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1168—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
Definitions
- the present disclosure relates to digital communication coding methods and to systems, computing systems and computing programs suitable for performing such methods.
- the present disclosure further relates to methods, systems, computing systems and computing programs to encode and decode data in digital communications.
- a low-density parity-check (LDPC) code C is a linear code determined by a sparse parity-check matrix H having a small number of 1s per column.
- the parity-check matrix H may be represented by a bipartite Tanner graph wherein each column of H is represented by a transmitted variable node, each row by a check node, and each “1” in H by a graph edge connecting the variable node and check node that correspond to the column-row location of the “1”.
- Each check or constraint node defines a parity check operation.
- the fraction of a transmission that carries information is called the rate of the code.
- An LDPC code may be encoded by deriving an appropriate generator matrix G from its parity-check matrix H.
- An LDPC code may be decoded efficiently using well-known iterative decoding algorithms that pass messages along edges of the code’s Tanner graph from variable nodes to check nodes and vice- versa until convergence is obtained.
- iterative processes may by costly and lower complexity algorithms are also well known, which do perform efficiently for certain long LDPC codes in which the column weight is relatively high.
- a quasi-cyclic low-density parity-check matrix is completely determined by a reduced matrix H rep whose (i, j) entry (H rep )ij consists of either the empty set or a small subset of numbers between zero and b — 1 , where b is the block size.
- the low-density parity-check matrix H is recovered from the reduced matrix H rep by replacing each number r e (H rep )ij by the identity matrix of dimension b shifted cyclically r bits to the right and by replacing the empty set by the square zero matrix of dimension b.
- a quasi-cyclic generator matrix G in standard form may be found for the LDPC code by Gaussian elimination on the blocks. This allows fast encoding of the data bits as explained in [Z.
- a finite incidence structure is given by a pair (P, L) where P is a finite set called the set of points and L is the set of lines, which are subsets of P of a fixed size.
- Classical examples may be obtained by considering P to be a set of r-dimensional subspaces of a finite dimensional vector space V over a finite field F, and L a set of s-dimensional subspaces of V, where s ⁇ r + 1 .
- a point x e P is incident with the line I (i.e. , x ⁇ I) if and only if the r-dimensional subspace x is contained in the s-dimensional subspace I.
- a check matrix for an LDPC code may be made from (P, L) by labelling the rows by elements x of P and the columns by elements I of L. The corresponding entry is zero if x is not in I and 1 if x ⁇ I.
- finite projective, affine and polar spaces may provide check matrices for LDPC codes which are quasi-cyclic.
- LDPC codes which are quasi-cyclic.
- the quasi-cyclic structure of finite projective and affine spaces are used to construct efficient LDPC codes of lengths up to approximately 16,000 bits. To construct longer codes however, they use column splitting operations.
- An object of this disclosure is to provide new methods, systems, computer systems and computer programs aimed at improving currently known digital communication coding methods, systems, computer systems and computer programs.
- digital communication coding methods comprising providing families of quasi-cyclic low-density parity- check codes, LDPC codes, each represented by a single equation.
- Said single equation is derived from a geometry whose nature implies good error correcting properties for each of the LDPC codes and allows quasi-cyclic parity check matrices to be constructed for geometric LDPC codes of exceedingly long length, up to and exceeding four hundred thousand bits. The construction of such check matrices is not possible by any other known method.
- the LDPC codes have different lengths and different rates and the families of LDPC codes are provided with a guarantee of minimum distance.
- the geometric and quasi-cyclic properties of the LDPC codes allow low complexity decoding with very low frame error rates.
- Digital communication coding methods may further comprise puncturing at least one check bit from one or more of the LDPC codes.
- Digital communication encoding methods (or simply encoding methods) are provided. These encoding methods are described in other parts of the disclosure. The encoding is done by adding redundancy bits based on LDPC codes generated by the coding method.
- Digital communication decoding methods (or simply decoding methods) are provided. These decoding methods are described in other parts of the disclosure.
- the decoding is done by correcting errors introduced by potentially noisy communication channel, said correction based on innovative LDPC codes generated or outputted by the coding method.
- Methods of producing a digital communication coding hardware may be provided. Said methods include a coding method such as the ones described in other parts of the disclosure and producing the coding hardware based on innovative LDPC codes generated or outputted by the coding method. Digital communication coding hardwares generated by methods of producing coding hardware may also be provided.
- digital communication coding systems (or simply coding systems) are provided. These systems comprise a system module configured to provide families of quasi-cyclic low-density parity-check, LDPC, codes each represented by a single equation. Such a single equation is derived from a geometry whose nature implies good error correcting properties for each of the LDPC codes and allows quasi-cyclic parity check matrices to be constructed for geometric LDPC codes of exceedingly long length, up to and in excess of four hundred thousand bits. The construction of such check matrices is not possible by any other known method.
- the LDPC codes have different lengths and different rates, and the families of LDPC codes are provided with a guarantee of minimum distance.
- the geometric and quasi-cyclic properties of the LDPC codes allow low complexity decoding with very low frame error rates.
- Digital communication transmission systems (or simply transmission systems) are disclosed. These transmission systems may include an encoding module and a transmission module.
- the encoding module may be configured to encode data based on innovative LDPC codes generated by any of the methods, systems, computing systems and computing programs aimed at that, which are described in other parts of the disclosure.
- the transmission module may be configured to transmit the encoded data through, e.g., a potentially noisy communication channel.
- Digital communication receiver systems (or simply receiver systems) are disclosed. These receiver systems may comprise a receiving module and a decoding module.
- the receiving module may be configured to receive data through, e.g., a potentially noisy communication channel.
- the decoding module may be configured to decode the received data based on innovative LDPC codes generated by any of the methods, systems, computing systems and computing programs aimed at that, which are described in other parts of the present disclosure.
- a computer program comprising program instructions for causing a computer or computing system to perform digital communication coding methods such as the ones described in other parts of the disclosure.
- the computer program may be embodied on a storage medium and/or carried on a carrier signal.
- a computing system for coding data in digital communications, the computing system comprising a memory and a processor, embodying instructions stored in the memory and executable by the processor, and the instructions comprising functionality or functionalities to execute digital communication coding methods, such as the ones described in other parts of the disclosure.
- Figure 1 is a block diagram schematically illustrating a digital communication coding system along with systems for producing digital communication coding hardware and software and combination thereof.
- Figure 2 is a block diagram schematically illustrating digital communication transmission system and digital communication receiver system configured to digitally communicate with each other.
- Figure 3 is a flow chart schematically illustrating a digital communication coding method along with methods of producing digital communication coding hardware and software and combination thereof, which are suitable for being performed by systems according to, e.g., Figure 1.
- Figure 4 is a flow chart schematically illustrating a digital communication encoding method and a digital communication decoding method, which may be used or implemented by digital communication transmitter and receiver systems according to, e.g., Figure 2.
- Figure 5 is a flow chart schematically illustrating particular manners of generating LDPC codes according to principles described with reference to Figure 1.
- Figure 6 is a schematic graphic representation of the quasi-cyclic check matrix H and the quasi-cyclic generator matrix G for geometry Q(5,3).
- Figure 1 is a block diagram schematically illustrating a digital communication coding system 100 along with systems for producing digital communication coding hardware 101 or software 102 or combination thereof 103.
- digital communication coding system 100 outputs LDPC codes 105 which may then be used by system (also denominated hardware generator system) 101 to produce digital communication coding hardware, that may be configured to generate or produce corresponding digital communication coding hardware (e.g., a chip).
- system (also denominated hardware generator system) 101 may be or include, e.g., a design or specs of a fully hardware-based implementation of data encoder/decoder based on innovative LDPC codes 105 outputted by digital communication coding system 100.
- LDPC codes 105 outputted by digital communication coding system 100 may further or alternatively be used by system (also denominated software generator system) 102 to produce digital communication coding software, which may be configured to generate or produce corresponding digital communication coding software (or computer program).
- system (also denominated software generator system) 102 may be or include a fully software- based implementation of data encoder/decoder based on innovative LDPC codes 105 from digital communication coding system 100.
- LDPC codes 105 outputted by digital communication coding system 100 may further or alternatively be used by system (also denominated hardware-software generator system) 103 to produce digital communication coding hardware-software, which may be configured to generate or produce corresponding digital communication coding hardware-software.
- This output of the hardware-software generator system 103 may be or include an implementation of data encoder/decoder combining hardware and software based on innovative LDPC codes 105 from digital communication coding system 100.
- Digital communication coding systems 100 may comprise a module (also denominated codes generator module) 104 configured to provide families of quasi-cyclic low-density parity-check, LDPC codes 105 each of which is represented by a single equation. Said single equation is derived from a geometry whose nature implies good error correcting properties for each of the LDPC codes 105. Moreover, the equations provide a quasi- cyclic check matrix for geometric LDPC codes. The lengths of these codes can be exceedingly long. Construction of such check matrices is not possible by any other known method different from digital communication coding systems 100 according to present disclosure.
- the LDPC codes 105 have different lengths and different rates and the families of LDPC codes 105 have a guarantee of minimum distance.
- the geometric and quasi-cyclic properties of the LDPC codes 105 allow the implementation of low complexity decoding with very low frame error rates. Different manners of how module 104 in digital communication coding system 100 may operate to generate corresponding LDPC codes 105 are described in detail below.
- a key aspect of module 104 in digital communication coding system 100 is the generation of subsets (H rep ) ij for geometric LDPC codes 105.
- These LDPC codes 105 have good error-correcting properties and are efficient to encode and, in turn, may be decoded quickly using low complexity decoding algorithms.
- the subsets (H rep ) ij are predetermined by fixing a finite geometry to which an equation is associated.
- the block size b is a divisor of q h -1. Construction of the geometry in this way allows the removal of small substructures of the geometry that greatly increase the size of the blocks b, thereby enhancing the ease of implementation of the LDPC codes 105.
- the LDPC codes 105 may therefore be described by their parity check matrix which may be constructed from the equation, where q may be chosen so that the LDPC code 105 has the desired rate and length.
- the block size b is given in following Tabie 1, as are the index sets of rows and columns of H rep .
- the rows are indexed by xo and the columns by a 0 (in the projective, elliptic and symplectic case) and (a 0 , c) (in the hermitian case), which satisfy the equation given in the final column of following Table 1.
- Table 1 The block size, dimension of H rep , finite field and the defining equation.
- H rep The rows of H rep are indexed by x 0 and the columns of H rep are indexed by a 0 (or (a 0 , c)).
- the subset (H rep ) ij is then determined by the defining equation in following way. Let oc be a primitive b-th root of unity in the finite field F with q h elements. If the defining equation is f(x i , a j ) (respectively f(x i , a j , c j )) then the condition is r ⁇ (H rep ) ij if and only if (1) where r runs from 0 to b - 1 .
- the reduced parity check matrix H rep for the dual of these codes is constructed by the rule
- Table 2 Block size, length, and complexity of constructing H rep and P rep .
- a quasi-cyclic generator matrix for the LDPC code 105 may be obtained efficiently by performing Gaussian elimination on the blocks of H rep , to obtain a quasi-cyclic parity check matrix in standard form (which may not be low-density) and then transposing the part of the matrix corresponding to the check bits in the standard way.
- the quasi-cyclic generator matrix may be described by a reduced generator matrix P rep which consists of the first row of each block matrix making up the blocks of the check bit part of the generator matrix.
- the matrix P rep may be constructed as described in [Z. Li, L. Chen, L. Zeng, W.Fong and S. Lin, "Efficient encoding of quasi-cyclic low-density parity-check codes”, IEEE Trans. Inform.
- Another important advantage of using these geometric LDPC codes 105 is that low complexity decoding algorithms may be implemented which perform almost as well as slower sum-product decoding algorithms which require many iterations to converge.
- Such low complexity decoding algorithms are described in [Y. Kou, S. Lin and M. P. C. Fossorier, "Low-density parity-check codes based on finite geometries: a rediscovery and new results,” h IEEE Transactions on Information Theory, vol. 47, no. 7, pp. 2711-2736, Nov. 2001 , doi: 10.1109/18.959255].
- These algorithms work well partly because of a relatively high column weight.
- the column weights and row weights of H are detailed in previous Table 2.
- LDPC codes 105 constructed from the point-line incidence matrices of generalised quadrangles have the property that Tanner graph of the check matrix has no cycles of length less than 8. In the case of projective and affine geometries, Tanner graph of the check matrix have no cycles of length less than 6. This, along with bounds on the minimum distance given in previous Table 2, imply good error-correcting properties.
- the parameters of the LDPC codes 105 for various values of q are given in previous Table 3 and following Tables 4, 5, 6, 7 and 8. It is not necessarily the case that a quasi- cyclic generator matrix in standard form exists for all codes C, so the tables include a code C’ which is the largest subcode of C for which a quasi-cyclic generator matrix in standard form has been calculated.
- Table 8 Dual Hermitian quadrangle H(4, q 2 ).
- Figure 2 is a block diagram schematically illustrating digital communication transmission system 200 and digital communication receiver system 208 configured to digitally communicate with each other. As shown in this figure, transmission system 200 and receiver system 208 may communicate with each other through corresponding channel 204 which may (usually) add noise to the transmission.
- Transmission systems 200 may include an encoding module (or data encoder) 202 and a transmission module 203.
- Data encoder 202 may be configured to encode data based on innovative LDPC codes 105 generated by digital communication coding systems 100 according to the present disclosure, such as the ones described with respect to Figure 1 .
- Data encoder 202 may use (or include or implement) any of the methods, systems, computing systems, software, hardware and software-hardware combinations described herein that are configured to encode data (to be transmitted) based on the LDPC codes 105.
- Transmission module 203 may include, e.g., a modulator configured to modulate encoded data (outputted by encoding module 202) according to, e.g., specs of the channel 204 through which said encoded data is to be transmitted.
- Transmission systems 200 may further include, as shown in the figure, a source module 201 which may be configured to generate the data to be transmitted, pre-process preexisting data (to be transmitted) prior to its encoding (at data encoder
- Receiver systems 208 may include a receiving module 205 and a decoding module (or data decoder) 206.
- Receiving module 205 may include, e.g., a demodulator configured to demodulate encoded data received through channel 204 according to, e.g., specs of the channel 204.
- Data decoder 206 may be configured to decode the received data (optionally once demodulated by receiving module 205) by correcting errors introduced by the (potentially) noisy communication channel 204, based on the innovative LDPC codes 105 generated by digital communication coding systems 100 according to the present disclosure, such as the ones described with respect to Figure 1.
- Data decoder 206 may use (or include or implement) any of the methods, systems, computing systems, software, hardware and software-hardware combinations described herein that are configured to decode data (received through channel 204) based on the LDPC codes 105.
- Receiver systems 208 may further include, as shown in the figure, a sink module 207 which may correspond to a destination unit where decoded data is to be processed according to intended application.
- module or “unit” may be understood to refer to software, firmware, hardware and/or various combinations thereof. It is noted that the modules are exemplary. The modules may be combined, integrated, separated, and/or duplicated to support various applications. Also, a function described herein as being performed by a particular module may be performed by one or more other modules and/or by one or more other devices instead of or in addition to the function performed by the described particular module.
- the modules may be implemented across multiple devices, associated or linked to corresponding digital communication coding systems proposed herein, and/or to other components that may be local or remote to one another. Additionally, the modules may be moved from one device and added to another device, and/or may be included in both devices, associated to corresponding digital communication coding systems proposed herein. Any software implementations may be tangibly embodied in one or more storage media, such as, e.g., a memory device, a floppy disk, a compact disk (CD), a digital versatile disk (DVD), or other devices that may store computer code or computer instructions.
- storage media such as, e.g., a memory device, a floppy disk, a compact disk (CD), a digital versatile disk (DVD), or other devices that may store computer code or computer instructions.
- the digital communication coding systems may be implemented by computing means, electronic means or a combination thereof.
- the computing means may be a set of instructions (e.g., a computer program or software) and then digital communication coding systems may comprise a memory and a processor, embodying said set of instructions stored in the memory and executable by the processor.
- These instructions may comprise functionality or functionalities to execute corresponding digital communication coding methods such as, e.g., the ones described with reference to other figures.
- a controller of the system may be, for example, a CPLD (Complex Programmable Logic Device), an FPGA (Field Programmable Gate Array) or an ASIC (Application- Specific Integrated Circuit).
- the computing means may be a set of instructions (e.g., a computer program or software) and the electronic means may be any electronic circuit capable of implementing corresponding digital communication coding methods proposed herein, such as the ones described with reference to other figures.
- the computer program(s) may be embodied on a storage medium (for example, a CD- ROM, a DVD, a USB drive, a computer memory or a read-only memory) or carried on a carrier signal (for example, on an electrical or optical carrier signal).
- a storage medium for example, a CD- ROM, a DVD, a USB drive, a computer memory or a read-only memory
- a carrier signal for example, on an electrical or optical carrier signal.
- the computer program(s) may be in the form of source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in implementing digital communication coding methods according to present disclosure.
- the carrier may be any entity or device capable of carrying the computer program(s).
- the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a hard disk.
- a storage medium such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a hard disk.
- the carrier may be a transmissible carrier such as an electrical or optical signal, which may be conveyed via electrical or optical cable or by radio or other means.
- the carrier may be constituted by such cable or other device or means.
- the carrier may be an integrated circuit in which the computer program(s) is/are embedded, the integrated circuit being adapted for performing, or for use in the performance of, digital communication coding methods proposed herein.
- Figure 3 is a flow chart schematically illustrating a digital communication coding method (or simply coding method) along with methods of producing digital communication coding hardware (or simply hardware producer) and software (or simply software producer) and combination thereof (or simply hardware-software producer), which are suitable for being performed by systems according to, e.g., Figure 1. Therefore, number references from Figure 1 may be reused in following description of Figure 3.
- Figure 3 thus refers to both coding methods (performed by, e.g., digital communication coding systems 100) and producer methods (performed by, e.g., digital communication coding systems 100 in cooperation with hardware generators 101 and/or software generators 102 and/or hardware-software generators 103). Full methods according to Figure 3 may also be denominated coding and producing methods herein.
- coding and producing methods may be initiated (e.g., at block 300) upon detection of a starting condition such as, e.g., a user request to start the coding and producing method.
- a starting condition such as, e.g., a user request to start the coding and producing method.
- Coding and producing methods may further include (e.g., at method block 301 ) generating LDPC codes 105 in any of the innovative manners described in other parts of the disclosure.
- This functionality implemented or implementable by method block 301 may be performed by, e.g., codes generator module 104 (in, e.g., digital communication coding system 100) described with reference to Figure 1. Functional details and considerations explained about said codes generator module 104 (in, e.g., digital communication coding system 100) may thus be similarly attributed or attributable to method block 301.
- Coding and producing methods may further include (e.g., at method block 302) verifying whether hardware (option H) or software (option S) or hardware-software (option HS) or any combination thereof (option H and/or option S and/or option HS) has or have been selected.
- Such an option or options (H and/or S and/or HS and/or any combination thereof) may have been provided by competent user or operator.
- transition to method block 303 may be performed.
- transition to method block 304 may be performed.
- transition to method block 305 may be performed.
- Coding and producing methods may further include (e.g., at method block 303) generating coding hardware based on innovative LDPC codes 105 (from, e.g., method block 301 ).
- This functionality implemented or implementable by method block 303 may be performed by, e.g., hardware generator system 101 described with reference to Figure 1 . Functional details and considerations explained about said hardware generator system 101 may thus be similarly attributed or attributable to method block 303.
- Coding and producing methods may further include (e.g., at method block 304) generating coding software based on innovative LDPC codes 105 (from, e.g., method block 301 ).
- This functionality implemented or implementable by method block 304 may be performed by, e.g., software generator system 102 described with reference to Figure 1 . Functional details and considerations explained about said software generator system 102 may thus be similarly attributed or attributable to method block 304.
- Coding and producing methods may further include (e.g., at method block 305) generating coding hardware-software based on innovative LDPC codes 105 (from, e.g., method block 301 ).
- This functionality implemented or implementable by method block 305 may be performed by, e.g., hardware-software generator system 103 described with reference to Figure 1. Functional details and considerations explained about said hardware-software generator system 103 may thus be similarly attributed or attributable to method block 305.
- Coding and producing methods may further include (e.g., at method block 306) ending execution of the method upon satisfaction of an ending condition.
- an ending condition may be satisfied when, e.g., hardware generation has been completed (at, e.g., block 303), and/or software generation has been completed (at, e.g., block 304), and/or hardware-software generation has been completed (at, e.g., block 305), and/or user request has been detected requesting termination of the method, etc.
- Figure 4 is a flow chart schematically illustrating a digital communication encoding method (or simply encoding method) and a digital communication decoding method (or simply decoding method), according to examples, which may be used or implemented by digital communication transmitter and receiver systems according to, e.g., Figure 2. Therefore, number references from Figure 2 may be reused in following description of Figure 4.
- encoding method 402 may be performed by encoding module 202
- decoding method 405 may be performed by decoding module 206
- transmission method 401 -403 may be performed by transmission system 200
- receiving method 404 - 406 may be performed by receiver system 208.
- Full methods exemplary illustrated by Figure 4 may be denominated transmitting and receiving methods. As shown in the figure, transmitting and receiving methods may be initiated (e.g., at block 400) upon detection of a starting condition such as, e.g., a user request to start the transmitting (and receiving) method.
- a starting condition such as, e.g., a user request to start
- Transmitting and receiving methods may further include (e.g., at method block 401 ) generating or pre-processing data to be transmitted.
- Block 401 may process the data in any manner that prepares the data to be encodable at block 402 and subsequently transmittable at block 403.
- Block 401 is not necessary if the pre-existing data does not need processing prior to its encoding at block 402.
- This functionality implemented or implementable by method block 401 may be performed by, e.g., source module 201 (in, e.g., digital communication transmission system 200) described with reference to Figure 2. Functional details and considerations explained about said source module 201 (in, e.g., digital communication transmission system 200) may thus be similarly attributed or attributable to method block 401 .
- Transmitting and receiving methods may further include (e.g., at method block 402) encoding the data to be transmitted based on innovative LDPC codes 105.
- This functionality implemented or implementable by method block 402 may be performed by, e.g., encoding module 202 (in, e.g., digital communication transmission system 200) described with reference to Figure 2. Functional details and considerations explained about said encoding module 202 (in, e.g., digital communication transmission system 200) may thus be similarly attributed or attributable to method block 402.
- Transmitting and receiving methods may further include (e.g., at method block 403) transmitting the encoded data through potentially noisy channel 204.
- This functionality implemented or implementable by method block 403 may be performed by, e.g., transmission module 203 (in, e.g., digital communication transmission system 200) described with reference to Figure 2. Functional details and considerations explained about said transmission module 203 (in, e.g., digital communication transmission system 200) may thus be similarly attributed or attributable to method block 403.
- Transmitting and receiving methods may further include (e.g., at method block 404) receiving the encoded data (from transmission system 200) through a potentially noisy channel 204.
- This functionality implemented or implementable by method block 404 may be performed by, e.g., receiving module 205 (in, e.g., digital communication receiver system 208) described with reference to Figure 2. Functional details and considerations explained about said receiving module 205 (in, e.g., digital communication receiver system 208) may thus be similarly attributed or attributable to method block 404.
- Transmitting and receiving methods may further include (e.g., at method block 405) decoding the received data based on innovative LDPC codes 105.
- This functionality implemented or implementable by method block 405 may be performed by, e.g., decoding module 206 (in, e.g., digital communication receiver system 208) described with reference to Figure 2. Functional details and considerations explained about said decoding module 206 (in, e.g., digital communication receiver system 208) may thus be similarly attributed or attributable to method block 405.
- Transmitting and receiving methods may further include (e.g., at method block 406) receiving decoded data at destination unit (in, e.g., receiver system 208).
- This functionality implemented or implementable by method block 406 may be performed by, e.g., sink module 207 (in, e.g., digital communication receiver system 208) described with reference to Figure 2. Functional details and considerations explained about said sink module 207 (in, e.g., digital communication receiver system 208) may thus be similarly attributed or attributable to method block 406.
- Transmitting and receiving methods may further include (e.g., at method block 407) ending execution of the method upon satisfaction of an ending condition.
- an ending condition may be satisfied when, e.g., decoded data has been received at destination unit, and/or user request has been detected requesting termination of the method, etc.
- Figure 5 is a flow chart schematically illustrating particular manners of generating LDPC codes according to principles described with reference to Figure 1.
- a suitable geometry is selected based on desired rate and length from Tables 3 - 8. This determines the parameters b and q and the finite field F.
- Method block 501 involves running through elements of F to create the index subsets X 0 and Ao of F given by the condition on xo and a 0 in the last column of Table 1 .
- subsets X and A of F are obtained.
- the size of these subsets corresponds to the number of rows (respectively columns) of H rep .
- Method block 503 is the following definition: Let , where ⁇ is a primitive element of F. In this way, a is a primitive b-th root of unity in F.
- Method block 504 involves the following calculation:
- Method block 505 may include applying Gaussian elimination on the blocks of H rep , to obtain a quasi-cyclic parity check matrix in standard form (which may not be low-density) and then transposing the part of the matrix corresponding to the check bits in the standard way.
- the quasi-cyclic generator matrix can be described by a reduced generator matrix P rep which consists of the first row of each block matrix making up the blocks of the check bit part of the generator matrix.
- the matrix H is fully described by H rep , a (q + 1) x q 2 matrix whose rows are indexed by elements of X and whose columns are indexed by elements of A.
- H rep a (q + 1) x q 2 matrix whose rows are indexed by elements of X and whose columns are indexed by elements of A.
- the H a,x entry of H rep is a subset of ⁇ 0, whose elements indicate a 1- coordinate of the first row of the circulant matrix occupying the corresponding position in the quasi-cyclic matrix H.
- the quasi-cyclic representation of the elliptic quadrangle Q(5,3) is given by a 4 x 9 matrix H rep .
- H rep the (1,1) entry in H rep (i.e. the top-left entry in the matrix)
- the quasi-cyclic check matrix H from H rep , we substitute each empty set with a b x b matrix of zeros and each subset ⁇ r ⁇ by an identity matrix cyclically shifted to the right by r bits. If there is more than one entry in the subset then we superimpose these cyclic shifts.
- Gaussian elimination is applied directly on H rep , to obtain a quasi-cyclic generator matrix in standard form for the code.
- a generator matrix G for a large subcode C' for which there is a generator matrix in standard quasi- cyclic form.
- k be the dimension of the code C'.
- the matrix G can be described by a (k/b) x ((n - k)/b) matrix P rep , where the (i, j) entry of P rep is P ij , a vector of ⁇ 0,1 ⁇ b .
- the block size b is 28, so the check matrix H is a 112 x 252 matrix and the generator matrix G of the code C' is a 140 x 252 matrix.
- This [252,140] code C' is the code whose parameters appear in the first row in Table 3. It has been constructed from the quasi- cyclic representation of the elliptic quadric quadrangle Q(5,3). Observe that is fully described by the matrices H rep and P rep .
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/863,823 US20250286565A1 (en) | 2022-05-13 | 2023-05-12 | Quasi-cyclic ldpc codes based on generalised quadrangles |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP22382467.3 | 2022-05-13 | ||
| EP22382467 | 2022-05-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023218050A1 true WO2023218050A1 (en) | 2023-11-16 |
Family
ID=81653499
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2023/062797 Ceased WO2023218050A1 (en) | 2022-05-13 | 2023-05-12 | Quasi-cyclic ldpc codes based on generalised quadrangles |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20250286565A1 (en) |
| WO (1) | WO2023218050A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240224276A1 (en) * | 2023-01-04 | 2024-07-04 | Qualcomm Incorporated | Advanced coding for uplink and downlink transmissions |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7831895B2 (en) * | 2006-07-25 | 2010-11-09 | Communications Coding Corporation | Universal error control coding system for digital communication and data storage systems |
| RU2013146898A (en) * | 2011-03-22 | 2015-04-27 | Нек Корпорейшн | ERROR CORRECTION CODING DEVICE, ERROR CORRECTION CODING METHOD AND ERROR CORRECTION CODING PROGRAM |
| TWI487290B (en) * | 2011-03-29 | 2015-06-01 | 晨星半導體股份有限公司 | Re-addressing decoder and decoding method for quasi-cyclic low-density parity check code |
| US9473173B2 (en) * | 2014-02-28 | 2016-10-18 | Storart Technology Co. Ltd. | Method for early terminating decoding processes of serial concatenated coding and decoder using the same |
| EP2947836A1 (en) * | 2014-05-22 | 2015-11-25 | Panasonic Corporation | Cyclic-block permutations for 1D-4096-QAM with quasi-cyclic LDPC codes and code rates 6/15, 7/15, and 8/15 |
| CN107888198B (en) * | 2016-09-30 | 2023-05-26 | 中兴通讯股份有限公司 | Quasi-cyclic LDPC (low density parity check) coding and decoding method and device and LDPC coder and decoder |
| EP3954049B1 (en) * | 2019-05-15 | 2024-04-17 | Samsung Electronics Co., Ltd. | Method and apparatus for decoding data in communication or broadcasting system |
-
2023
- 2023-05-12 US US18/863,823 patent/US20250286565A1/en active Pending
- 2023-05-12 WO PCT/EP2023/062797 patent/WO2023218050A1/en not_active Ceased
Non-Patent Citations (6)
| Title |
|---|
| KIM JON-LARK ET AL: "Small weight codewords in LDPC codes defined by (dual) classical generalized quadrangles", DESIGNS,CODES AND CRYPTOGRAPHY, KLUWER ACADEMIC PUBLISHERS, BOSTON, US, vol. 42, no. 1, 11 November 2006 (2006-11-11), pages 73 - 92, XP037829966, ISSN: 0925-1022, [retrieved on 20061111], DOI: 10.1007/S10623-006-9017-6 * |
| LIU Z ET AL: "LDPC Codes From Generalized Polygons", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE, USA, vol. 51, no. 11, 1 November 2005 (2005-11-01), pages 3890 - 3898, XP011141522, ISSN: 0018-9448, DOI: 10.1109/TIT.2005.856936 * |
| ORTEGA SANCHEZ-COLOMER TOMÀS: "Low Density Parity Check Codes", MASTER'S DEGREE THESIS: MASTER OF SCIENCE IN ADVANCED MATHEMATICS AND MATHEMATICAL ENGINEERING, 1 July 2021 (2021-07-01), pages 1 - 53, XP093064856, Retrieved from the Internet <URL:https://upcommons.upc.edu/handle/2117/349213> [retrieved on 20230718] * |
| Y. KOUS. LINM. P. C. FOSSORIER: "Low-density parity-check codes based on finite geometries: a rediscovery and new results", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 47, no. 7, November 2001 (2001-11-01), pages 2711 - 2736 |
| Z. LIL. CHENL. ZENGW.FONGS. LIN: "Efficient encoding of quasi-cyclic low-density parity-check codes", IEEE TRANS. INFORM. THEORY, vol. 54, 2006, pages 71 - 81 |
| ZHENYU LIUD. A. PADOS: "LDPC codes from generalized polygons", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 51, no. 11, November 2005 (2005-11-01), pages 3890 - 3898, XP011141522, DOI: 10.1109/TIT.2005.856936 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250286565A1 (en) | 2025-09-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3893383B2 (en) | LDPC code parity check matrix generation method and parity check matrix generation apparatus | |
| CN100581064C (en) | Low-density parity-check code decoding device and method | |
| US8812930B1 (en) | Parallel encoder for low-density parity-check (LDPC) codes | |
| US10637510B2 (en) | Methods and devices for error correcting codes decoding | |
| JP4155539B2 (en) | Information transmission method and apparatus, and storage medium | |
| CN102577134B (en) | Decoding methods for non-binary codes | |
| EP3293885B1 (en) | Check node processing for syndrome computation in the decoding of non-binary codes, in particular non-binary ldpc codes | |
| US10476523B2 (en) | Elementary check node-based syndrome decoding using pre-sorted inputs | |
| US11075651B2 (en) | Generalized low-density parity check codes (GLDPC) | |
| EP3713096B1 (en) | Method and device for decoding staircase code, and storage medium | |
| CN118694379A (en) | Advanced convergence for decoding of LDPC codes | |
| WO2017105291A1 (en) | Generalized quasi-cyclic ldpc convolutional codes for digital communication systems | |
| KR101327505B1 (en) | Transmitter and Receiver using successive cancellation decoding on binary discrete memoryless symmetric channel | |
| WO2014172874A1 (en) | Method and apparatus of ldpc encoder in 10gbase-t system | |
| CN100592639C (en) | Low-density parity-check encoding method, device, and method for generating parity-check matrix | |
| US20250286565A1 (en) | Quasi-cyclic ldpc codes based on generalised quadrangles | |
| CN111034055A (en) | Simplified check node processing in non-binary LDPC decoders | |
| CN105556851A (en) | Method and apparatus for identifying first and second extreme values from among a set of values | |
| CN105556852A (en) | Encoding of low-density parity check for different low-density parity check (LDPC) codes sharing common hardware resources | |
| EP2195928B1 (en) | Encoding method and device for tail-biting trellis ldpc codes | |
| CN112889221A (en) | Offset value determination in check node processing units for message passing decoding of non-binary codes | |
| JP5374156B2 (en) | Apparatus and method for decoding and encoding data | |
| JP5523064B2 (en) | Decoding apparatus and method | |
| EP3526899B1 (en) | Decoding of low-density parity-check convolutional turbo codes | |
| CN111313909A (en) | LDPC code decoding method and encoding 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: 23726383 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18863823 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23726383 Country of ref document: EP Kind code of ref document: A1 |
|
| WWP | Wipo information: published in national office |
Ref document number: 18863823 Country of ref document: US |











