CN109768801B - Long-short ring universal searching method for QC-LDPC code - Google Patents

Long-short ring universal searching method for QC-LDPC code Download PDF

Info

Publication number
CN109768801B
CN109768801B CN201811604334.4A CN201811604334A CN109768801B CN 109768801 B CN109768801 B CN 109768801B CN 201811604334 A CN201811604334 A CN 201811604334A CN 109768801 B CN109768801 B CN 109768801B
Authority
CN
China
Prior art keywords
node
nodes
ring
combination
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811604334.4A
Other languages
Chinese (zh)
Other versions
CN109768801A (en
Inventor
刘鲲
刘元成
鲁莎莎
陈丽恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leaguer Microelectronics Co ltd
Original Assignee
Leaguer Microelectronics 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 Leaguer Microelectronics Co ltd filed Critical Leaguer Microelectronics Co ltd
Priority to CN201811604334.4A priority Critical patent/CN109768801B/en
Publication of CN109768801A publication Critical patent/CN109768801A/en
Application granted granted Critical
Publication of CN109768801B publication Critical patent/CN109768801B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides a general long-and-short ring searching method for a QC-LDPC code, which adopts a PEG tree structure to expand a basic matrix of the QC-LDPC code, and starts from a bottom-layer sub-node with repeatability to upwards and reversely deduce a mode of searching rings layer by layer. The invention has the beneficial effects that: the invention can realize the general search of any long and short ring less than or equal to MaxCyCysize by expanding the tree structure of the basic matrix hierarchically and reversely searching all the remaining length combinations from the sub-node with repeatability from low to up and traversing and splitting the combination situation, and can count the number of the length of each ring and the constituent nodes of the ring at the same time, thereby providing a direction for improving the decoding performance based on the ring elimination processing.

Description

Long-short ring universal searching method for QC-LDPC code
Technical Field
The invention belongs to the technical field of communication channel coding, particularly relates to a loop search implementation of a QC-LDPC code, and particularly relates to a long-loop and short-loop general search method of the QC-LDPC code.
Background
A low density parity check code (LDPC) is a linear block code invented by Gallager in the 60's of the 20 th century, which can approach Shannon capacity limit. Quasi-cyclic LDPC code (Quasi-CyslicLDPC, QC-LDPC) is one of LDPC, because of its structural characteristics, the code can be realized by simple shift register and can be widely applied in various fields of communication.
The QC-LDPC generally adopts an iterative decoding algorithm based on Belief Propagation (BP), belongs to soft decision decoding, and can approach the Shannon limit when the code length is large. However, the BP iterative decoding algorithm is based on the assumption that information transmitted between nodes is statistically independent, and if short loops, particularly the loop 4 and the loop 6, exist in the QC-LDPC fundamental matrix, information transmitted from a certain node is transmitted by a loop length and then transmitted back to the node itself, so that information of the node is superimposed, the statistically independent assumption is destroyed, and the accuracy of decoding is affected. In the conventional QC-LDPC code construction process, it is usually required to eliminate the loop 4, and for loops with a loop length equal to or greater than 6, since the search complexity is high and no requirement is made, there are many loops with a length greater than 4 in H, which causes the iterative decoding performance of the loop to be degraded.
Disclosure of Invention
The invention aims to solve the problems that various ring lengths are respectively searched in the ring searching process at present and a universal method is not provided for a ring 6 and rings with the length larger than 6 in the prior art, and provides a long-and-short ring universal searching method for a QC-LDPC code.
In order to solve the above technical problems, the present invention proposes to achieve the above object by the following techniques: for the basic matrix of QC-LDPC, a tree structure of PEG is adopted for expansion, and meanwhile, a mode of searching the ring layer by layer is upwards and reversely deduced from the sub-nodes with repeatability on the bottom layer, the storage combination of the QC-LDPC has certain ring, but the length of the storage combination is possibly longer than that of the ring to be searched first, so that the invalid searching from top to bottom is avoided. In the search of the branch combination, the maximum combination search limit with the search length not larger than the residual ring length is adopted, and in the process of ring combination, the maximum branch combination is decomposed to realize the search of various long and short ring combination conditions, and meanwhile, the repeated search is omitted. The combination condition is explicitly counted while whether a ring with the length less than the MaxCyleSize exists or not. And performing secondary judgment on the existence of the ring according to the condition whether the corresponding offset in the searched ring combination meets the sufficient requirement of the existence of the ring, wherein the ring searching is performed based on the basic matrix, so that the ring searching times are greatly reduced, and particularly when the expansion factor P is large. In the present invention, the ring storage method: [ head node type, length, ring combination ] head node type: 1 represents variable node and 0 represents check node, and all node types can be defined because nodes in the ring combination are in alternation.
Compared with the prior art, the invention has the beneficial effects that: the invention has the beneficial effects that: the method provided by the invention is a general method for searching any long and short ring which is less than or equal to MaxCycline (MaxCycline can be an even number more than 6) and contained in the check matrix H in the QC-LDPC, and meanwhile, the number of the length of each ring and the node forming the ring are counted, thereby providing a direction for improving the decoding performance based on ring elimination processing. The invention develops the tree structure of the basic matrix in a layered way, starts to search all residual length combinations by reversely deducing from low to upper from the sub-nodes with repeatability, and performs traversal and splitting on the combination condition, thereby realizing the universal search of any long and short ring which is less than or equal to MaxCylesize, counting the number of the lengths of various rings and the composition nodes of the rings, and providing a direction for improving the decoding performance based on ring elimination processing.
Drawings
FIG. 1 is a schematic overall flow chart of an embodiment of the present invention.
FIG. 2 is a flow chart of short-loop statistics on a basis matrix according to an embodiment of the present invention.
FIG. 3 is a Hbase matrix table of QC-LDPC of the present invention.
Fig. 4 shows a single branch loop according to an embodiment of the present invention.
Fig. 5 shows a case where two branches have loops according to an embodiment of the present invention.
Detailed Description
The following embodiments of the present invention provide a general long-and-short ring search method for QC-LDPC codes, where a basic matrix of QC-LDPC codes is expanded by using a PEG tree structure, and meanwhile, a mode of searching rings layer by layer is performed by pushing up and backward from a bottom-layer repetitive child node, and a storage combination of the long-and-short ring search method inevitably has a ring, but may have a length longer than that of a ring to be searched first, thereby avoiding invalid search from top to bottom. In the search of the branch combination, the maximum combination search limit with the search length not larger than the residual ring length is adopted, and in the process of ring combination, the maximum branch combination is decomposed to realize the search of various long and short ring combination conditions, and meanwhile, the repeated search is omitted. The combination condition is explicitly counted while whether a ring with the length less than the MaxCyleSize exists or not. And performing secondary judgment on the existence of the ring according to the condition whether the corresponding offset in the searched ring combination meets the sufficient requirement of the existence of the ring, wherein the ring searching is performed based on the basic matrix, so that the ring searching times are greatly reduced, and particularly when the expansion factor P is large. In the present invention, the ring storage method: [ head node type, length, ring combination ] head node type: 1 represents variable node and 0 represents check node, and all node types can be defined because nodes in the ring combination are in alternation. The beneficial effects of the invention are: the invention can realize the general search of any long and short ring less than or equal to MaxCyCysize by expanding the tree structure of the basic matrix hierarchically and reversely searching all the remaining length combinations from the sub-node with repeatability from low to up and traversing and splitting the combination situation, and can count the number of the length of each ring and the constituent nodes of the ring at the same time, thereby providing a direction for improving the decoding performance based on the ring elimination processing.
The embodiments are described in further detail below with reference to the accompanying drawings.
Detailed description of the preferred embodiment 1
The technical solution in the embodiment of the present invention is clearly and completely described with reference to fig. 1 in the following description. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, other embodiments without creative efforts of those skilled in the art also belong to the protection scope of the present invention.
In the embodiment, a tree structure of a basic matrix of the QC-LDPC is expanded, the child nodes with a plurality of father nodes in each layer, namely the child nodes with repeatability, are counted, all combinations which meet the requirement that the number of the combinations is smaller than or equal to MaxCyleLen are reversely deduced from the lowest layer upwards, whether a ring exists or not is checked, if not, the combination which is smaller than MaxCyleSize is continuously searched for the upper layer, and the figure 2 shows that the combinations are more suitable for the application of the LDPC. The present invention will be described in further detail with reference to the following detailed description and accompanying drawings.
Here, the H matrix of QC-LDPC with an expansion factor of 16 (fig. 3) is described as looking up ring 8, ring 6, and ring 4, i.e., maxCycleSize = 8:
s1, setting elements which are not '-1' in a check matrix of the QC-LDPC to be 0 to form a basic matrix HBase. And (step S2) expanding the tree structure of the QC-LDPC basis matrix H by carrying out the idea of constructing an LDPC ring based on PEG (progressive edge growth) on the basis of the basis matrix, wherein a variable node V0 (namely a first column) is taken as a first father node, and connected check nodes (C3, C8 and C11) are expanded as child nodes, so that a first layer of father node information Tanner is formed, and the child nodes of the upper layer are expanded as the father nodes from a second layer. Note that the existing connected nodes of the upper layer are not written into child nodes, and so on until all the connected child nodes of the current layer child nodes are written into Tannr [ ] [ ], that is, no parent node exists. Meanwhile, on the basis of the Tanner matrix, the repetitive sub-node information SPDLocal and the monotonous sub-node information SPSLocal are extracted, and the specific statistical information is as follows in the following table 5-1:
table 5-1 table information for the base matrix expansion;
Figure BDA0001923255430000041
Figure BDA0001923255430000042
Figure BDA0001923255430000051
s3, initializing a layer index n = Max (the maximum number of layers with repeated child nodes), and k = n; traversing all child nodes of the SPDLocal at the k-th layer, and carrying out upward recursion search from the bottom layer, namely traversing child nodes with repeatability in the layer from the SPDLocal at the bottom layer, combining the child nodes and two corresponding father nodes, then utilizing interlayer transfer nodes, carrying out upward reverse recursion search layer by layer to meet the required ring combination, and adopting the advantage of carrying out upward search starting from the child nodes with repeatability at the bottom layer to inevitably form a loop for the searched combination. The method is characterized by comprising the following steps:
s3.1, searching all combinations of starting points of the repeated child nodes or the interlayer transfer nodes which meet the requirements. For the combined storage of a certain child node in SPDLocal, adopting (child-parent-child) type overlapping expansion, and the length of the combined storage, namely the number of the nodes is less than or equal to the maximum combined length of MaxCyleSize. For example, when n =2, taking the child node 7 (variable node) in spdlink as an example, the steps of traversing all the branch combinations are as follows:
determining from spdlink the starting child-parent node S7-F7, the row index Idx of F7 in Tanner being 21, the combined length Len =1;
selecting the sub-nodes S11 of F7 which are not S7 in sequence from the Tanner [21] [2], wherein Len =2;
choosing S11 parent node F4, not F7, from the current layer of spdlink, len =3, and the row index Idx =19 of F4 in Tanner;
selecting the sub-nodes S4 of F4 which are not S11 in sequence from the Tanner [19] [2], wherein Len =4;
choosing S4 parent node F6, not F4, from the current layer of spdlink, len =5, and the row index Idx =20 of F6 in Tanner;
selecting the sub-nodes S9 of F6, which are not S4, in sequence from Tanner [20] [2], with Len =6;
choosing S9 from this level of spdlink a parent node F10 other than F6, len =7, len =maxcyclesize-1, so the largest branch combination has been found. The branch combination is [ S7, F7, S11, F4, S4, F6, S9, F10].
The case of traversing all combinations mentioned in the whole loop-around scheme uses index location IdxLocal, and the storage information is explained first: idxLocal [ ] [ ] is 2 rows, starting with column 1, with each column 1 corresponding to one node of the combination. Line 1: and storing the corresponding column position of each combination under the current corresponding node to indicate that the branch exists, and if the corresponding node position completely traverses, assigning a value of 0 to indicate that the branch does not exist. Line 2: the row position corresponding to Tanner/SPDLocal/SPSLocal; in the traversing process of the combination situation, performing column circulation on Idxlocal, from back to front, if Idxlocal [0] [ m ] >0, indicating that a branch exists at the mth node position of the combination, combining the situation +1, copying data before the node position, replacing the current node according to the Idxlocal [0] [ m ] value, completing searching of subsequent combination based on the replaced node, and updating Idxlocal until a value larger than 0 does not exist in the line 1 of Idxlocal, namely, no branch exists; (S7, F7, S11, F4, S4, F6, S9, F10.) corresponding Idxlocal is { {0,3,3,2,2,3,3,3}, {24,21,28,19,26,20,32,22} }; note that: in the combined searching process, the number of the nodes in the combination is even, namely the last node can only be a father node, otherwise, the nodes cannot be expanded to the upper layer, so that the combination condition is met. The partial branch combinations starting from S7 are given below:
TABLE 5-2 partial branch combinations with S7-F7 as the starting child-parent node
Figure BDA0001923255430000061
S3.2, performing single-branch ring search on all branch combinations in the layer according to the following steps: for a repeating node in one branch, two repeating nodes and a node combination between the two repeating nodes form a ring, but an invalid ring situation that the repeating node contains the repeating node inside needs to be avoided, there are three main situations (see fig. 4): there is only one duplicate node. The method has the advantages that a plurality of repeated nodes exist, and the repeated nodes with large spacing are nested into the repeated nodes with small spacing, namely the nesting condition, see that nodes between 3,B … B form a ring, but the nodes between A … A cannot form a ring; a plurality of repeated nodes exist, the nesting condition does not exist, the nodes between 4,B … B form a ring, and the nodes between A … A also form a ring;
as seen in tables 5-4, {7711446197}, presence of ring 6, ring combination cyclenib: {06//71144619} i.e., V7-C11-V4-C4-V6-C19-V7; {7711170} presence of ring 4, cyclecrib: 14//77111, note that the type of node needs to be considered when making the ring presence determination,
and S3.3, splitting all the combinations of the same child node into non-repeated combinations which are less than or equal to MaxCycleen, wherein the terminal node is all the combinations of the father node. The method comprises the steps that combinations under any two father nodes in the SPDLocal are combined pairwise to form a temporary-storage ring-like combination CycPartTmp, whether the CycPartTmp forms a ring is judged, if yes, cycComibb is written into a combined section meeting a ring form, otherwise, when the number of the nodes of the CycPartTmp combination is smaller than MaxCycComibSize-2, cycComibTmp is written into the combined section, the first three columns of the CycComibTmp are respectively terminal nodes of a branch 1, the terminal nodes of the branch 2 (and interlayer transfer nodes F1 and F2), and the length of the current combined edge;
tables 5-3 New combinations of splits of the largest Branch starting with S7
Figure BDA0001923255430000071
Traversing combination is carried out on the maximum branch combination and the split combination, namely, a loop is searched in the two branches. It has been explained above that the current duplicate node is a search of the combination at the current layer, so for the ring combination of the duplicate node in two branches, whether the current layer is the bottommost layer is slightly different, and meanwhile, the duplicate node needs to be embedded in one branch, which results in an invalid ring case 1: at least two duplicate nodes are needed for the current layer as the bottom layer, and the first node must be a duplicate of a certain child node a of the spdlink, assuming that there is also one duplicate node B (see fig. 5). The node between branch 1 (a … B) and branch 2 (a … B) constitutes a ring. Case 2: if the current layer is not the bottom layer, then a ring is formed with the starting child node X of the bottom layer when there is only one repeat node A in the two branches (see FIG. 5).
Because the layer Lay3 is a bottom layer with repeated nodes, the ring combination searched based on the above criteria and the similar ring combination formed by the ring combination are given below, and the ring combination is searched upwards by utilizing the interlayer transfer nodes.
Tables 5-4 partial ring combinations starting with Layer3 level repeat child node S7
Figure BDA0001923255430000081
Tables 5-5 all Ring-like combinations starting with Layer3 level repeating child node S7
Figure BDA0001923255430000082
S3.4, if the combination of the CycComibTmp exists, counting interlayer transfer node information TranPointInf [2] based on the first 3 columns of all the rows of the CycComibTmp, wherein the first column is a transfer node, and the second column is the residual maximum combined edge number; let k = k-1, return to S4.1). If there is no combination of cyccoibtmp, return n = n-1 to step S3.
For the combined inter-layer transfer nodes of the statistical CycComibTmp, taking CycComibTmp = {0246//7071142} in tables 5-5 as an example, there are two inter-layer transfer nodes 0 and 2, and the maximum number of nodes of the combination to be searched for by the present layer is MaxCycComibTmp-2 ], tranPointInf [2] [2] = { {04}, {24} }.
S3.4.1, let k = k-1, if k >1, traversing each interlayer transfer node in tranpointinnf on the k-th layer, using the interlayer transfer node as a child node to search all combinations with the length not greater than the remaining side length of the combination and write the combinations into DataTmp, otherwise, entering step S3.4.4;
s3.4.2, searching two corresponding interlayer transfer nodes aiming at the current ring-like combination in the CycComibTmp, splitting the two interlayer node branch combinations into small combinations which are not larger than the residual side length of the ring-like combination, and forming a new temporary storage ring-like combination CycPartTmp; whether CycPartTmp forms a ring is judged, if yes, cycComib is written into a combined section meeting a ring form, otherwise, when the number of nodes combined by the CycPartTmp is smaller than the residual side length, the nodes combined by the CycPartTmp are updated into CycComibTmp, and the first three columns of the CycComibTmp are respectively the final nodes of the branch 1, the final nodes of the branch 2 and the length of the current combined side;
s3.4.3, based on the first 3 columns of all the CycComibTmp rows, the information TranPointInf [2] of the inter-layer transfer nodes is counted, the first column is the transfer node, and the second column is the residual maximum combined edge number. If k >2, return to step S3.4.1.
S3.4.4, after the layer 1 is searched, a similar ring combination CycComibTmp exists, each combination forms a ring with the root node, the ring combination is written into CycleComib, n = n-1 is made, if n >1, the step S3.1 is returned, otherwise, the step S4 is entered;
and S4, carrying out secondary judgment on whether the loop exists or not on the loop combination searched in the cyclenib. If the offset of the node meets the following relationship, judging that the combination exists in a ring, otherwise, the ring combination only exists in the basic matrix, and the essential condition for the existence of the ring with the length of 2i is formula 1:
Figure BDA0001923255430000091
in the formula p jk,qk Representation matrix j k Line q k The permutated circulant matrix offset value at which the column is located, p is the spreading factor, j i =j 0 ;j k ≠j k+1 ;q k ≠q k+1 . If the ring combination with the length of 2i in the CycleComib is adopted, if the first node is the check node, the node CycleComib [2]][2+2k]For check nodes, corresponding to row j of the matrix k Node CycleComib [2]][2+2k+1]For variable nodes, corresponding to the columns q of the matrix k On the contrary, if the first node is a variable node, the node CycleComib [2]][2+2k]For variable nodes, corresponding to the columns q of the matrix k Node CycleComib [2]][2+2k+1]As variable nodes, corresponding to rows j of the matrix k
The search result required for MaxCycleSize =8 for the H matrix in this example is: 104 in ring 4; ring 6; and 8, 3123 rings, and tables 5-6 show the partial loop combinations. There is a consensus in the field of LDPC construction that, during construction, the existence of the ring 4 must be avoided, and it is found by searching that the H matrix in this example has the ring 4, so in order to improve system performance, ring elimination can be performed for the H matrix, and the existence of no ring 4 is realized. Under the requirement of further reducing the number of the rings 6 and 8, the offset related to the most ring combination can be corrected according to the searched ring 6 and ring 8 combination, so that the purposes of minimum change and maximum ring elimination are achieved.
Tables 5-6 Ring combinations (parts) after secondary decision
Figure BDA0001923255430000101
Figure BDA0001923255430000111
The invention can be applied to the requirements of constructing the check matrix H of the QC-LDPC and the known QC-LDPC, but optimizing the matrix, improving the perimeter and the like. The invention searches the ring by adopting backward thrust from the bottom-layer child node with repeatability, searches the maximum residual ring length combination layer by layer, decomposes the combination, judges whether the combination has the ring or not based on a certain rule, reversely thrusts from the repeat-based child node in the searching process, can avoid invalid combination searching without a loop, can be general searching for the rings with any length smaller than MaxCyleSize by searching and decomposing the maximum residual ring length combination, and counts the number of the ring lengths and the ring composition nodes, thereby providing a direction for improving the decoding performance based on ring elimination processing.

Claims (8)

1. A general long-and-short-loop searching method for QC-LDPC codes is characterized by comprising the following steps:
s1, extracting a corresponding basic matrix for a QC-LDPC check matrix, reducing the loop checking times, and when an expansion factor P is large;
s2, expanding a tree structure of a basic matrix H of the QC-LDPC based on the idea of constructing an LDPC ring by PEG;
s3, based on the unfolded tree structure, starting from the sub-nodes with repeatability at the bottom layer, carrying out upward back-stepping to complete the search of all loop lengths, corresponding to the number of loop lengths and the combination of loop composition nodes, of which the loop lengths in the basic matrix are smaller than a set value MaxCylesize;
the step S3 comprises the following steps:
s3.1, traversing two layers of circulation, namely traversing all child nodes of the SPDLocal layer on the outer layer and the SPDLocal layer on the inner layer, and searching all branch combinations meeting the requirements; for branch combination storage of a certain child node in the SPDLocal, overlapping expansion in a 'child-father-child' mode is adopted, the length of the branch combination storage is the maximum combination length of the node number which is less than or equal to MaxCylesize, maximum length combination searching is carried out, different short combination searching is realized through maximum combination splitting, and repeated searching is avoided;
s3.2, checking whether each branch combination has repeated nodes or not, and if so, forming a loop; simultaneously, the branches of any two father nodes of the same child node are combined in a branching mode to form a ring-like combination CycPartTmp, whether the CycPartTmp forms a ring is judged, and if the CycPartTmp forms the ring, the CycPartTmp is written into a combined segment meeting a ring form;
s3.3, splitting all branch combinations of the same child node into all branch combinations which are not repeated and are smaller than MaxCyCySize, wherein the terminal node is a father node; combining the branch combinations under any two father nodes in the SPDLocal in pairs to form a temporary-storage ring-like combination CycPartTmp, judging whether the CycPartTmp forms a ring, if so, writing CycleComib into a combined section meeting a ring form, otherwise, writing CycComtTmp when the number of the nodes of the CycPartTmp combination is less than MaxCycleSize-2, recording the final node of a branch 1, the final node of a branch 2, the length information of the current combined edge and the initial position of a second branch;
s3.4, counting the information TranPointInf transfer nodes of the interlayer transfer nodes and the residual maximum combined edge number based on the first 3 columns of all the rows of the CycComibTmp; all combinations meeting the conditions are reversely deduced from the layer to recurse upwards based on the inter-layer transfer node information TrnPointInf;
and S4, judging whether the offset corresponding to the loop of the basic matrix in the QC-LDPC meets the requirement of the loop, carrying out secondary judgment of loop combination, and deleting non-loop combination.
2. The general long-and-short-loop searching method for QC-LDPC codes according to claim 1, characterized in that step S1 is to set 0 to non "-1" elements in the check matrix of QC-LDPC to form its basic matrix HBase.
3. The method for searching for long and short loops of QC-LDPC codes according to claim 1, wherein step S2 comprises:
s2.1, in the first layer, a certain node is taken as a father node, and nodes connected with the father node are taken as child nodes; in the non-first layer, each child node in the upper layer is a father node, the nodes connected with the child nodes are taken as child nodes, the existing connected nodes in the upper layer are noticed not to be written into the child nodes, and the analogy is carried out until all the connected nodes of the child nodes in the current layer are written into the Tanner, namely, the next layer does not have the father node;
s2.2, separating a plurality of father nodes in each layer based on the Tanner, namely, a child node SPDLocal with repeatability, a child node SPDLocal with monotonicity only having a single father node in each layer, and the number of child nodes SPDNum with repeatability in each layer; the method separates the sub-nodes with repeatability from the single adjusting point, facilitates the grouping search based on the nodes with repeatability from bottom to top, and avoids invalid search.
4. The method for searching for long and short rings of QC-LDPC codes according to claim 1, characterized in that step S3.3) is a basis for determining whether a loop exists in the layer of ring-like combination CycPartTmp, and has the following characteristics: if the repeated node is in one branch, two repeated nodes and the node combination between the two repeated nodes form a ring, but the condition that the repeated node contains an invalid ring of the repeated node is required to be avoided; for the ring combination of the repeated nodes in the two branches, if the current layer is the bottom layer, at least two repeated nodes are needed, and the first node is a certain child node of the SPDLocal; if the current layer is not the bottommost layer, a ring is formed by the current layer and the starting child node X of the bottommost layer when only one repeated node exists in the two branches.
5. The universal long-and-short ring search method for QC-LDPC codes according to claim 1, wherein step S3.3) records ring information in its ring combination cyclenib: the first combined variable type, the ring length and the combined node; as is well known, a ring combination is a combination of variable nodes and check nodes, and if the type of the first combination node is defined, the combination is equivalent to defining all the combination node conditions.
6. The general long-and-short-loop searching method for QC-LDPC codes according to claim 1, wherein step S3.4 comprises:
s3.4.1, based on the interlayer transfer nodes, performing upward backward-pushing to search the ring combination, traversing each interlayer transfer node, using the interlayer transfer node as a child node to search all combinations with the length not greater than the residual side length and write in DataTmp, and based on the interlayer transfer nodes, performing upward-backward-pushing to search the ring combination;
s3.4.2, aiming at the current similar ring combination in the CycComibTmp, searching two corresponding interlayer transfer nodes, and splitting the two interlayer node branch combinations into small combinations which are not larger than the residual side length of the similar ring to form a new temporary storage similar ring combination CycPartTmp; whether CycPartTmp forms a ring is judged, if yes, cycComib is written into a combined section meeting a ring form, otherwise, when the number of nodes combined by the CycPartTmp is smaller than the residual side length, the nodes combined by the CycPartTmp are updated into CycComibTmp, and the first three columns of the CycComibTmp are respectively the final nodes of the branch 1, the final nodes of the branch 2 and the length of the current combined side;
s3.4.3, based on the first 3 columns of all the rows of CycComibTmp, counting the inter-layer transfer node information TransPointInf [ ] [2], wherein the first column is a transfer node, and the second column is the residual maximum combined edge number; the information transfer between layers is convenient;
s3.4.4, after the layer 1 is searched, a similar ring combination CycComibTmp exists, each combination forms a ring with the root node, and the ring combination is written into CycleComib, which shows that the similar ring which exists is reversely pushed from the bottom to the top necessarily exists in the ring.
7. The general long-and-short-loop searching method for the QC-LDPC code according to claim 1, wherein step S4) is to traverse all loop combinations of cyclecom, and if offsets of nodes thereof satisfy the following relationship, it is determined that a combination thereof exists in a loop, otherwise, the loop combination thereof exists only in the base matrix, and the sufficient condition for existence of a loop with a length of 2i is the following formula 1:
Figure FDA0003967025650000031
in the formula p jk,qk Representation matrix j k Line q k The permutated circulant matrix offset value at which the column is located, p is the spreading factor, j i =j 0 ;j k ≠j k+1 ;q k ≠q k+1 (ii) a If the ring combination with the length of 2i in the CycleComib is adopted, if the first node is the check node, the node CycleComib [2]][2+2k]For check nodes, corresponding to row j of the matrix k Node CycleComib [2]][2+2k+1]For variable nodes, corresponding to the columns q of the matrix k On the contrary, if the first node is a variable node, the node CycleComib [2]][2+2k]For variable nodes, corresponding to the columns q of the matrix k Node CycleComib [2]][2+2k+1]As variable nodes, corresponding to rows j of the matrix k
8. A computer-readable storage medium storing a computer program for use in conjunction with a computing device, the computer program being executable by a processor to implement the method of any one of claims 1 to 7.
CN201811604334.4A 2018-12-26 2018-12-26 Long-short ring universal searching method for QC-LDPC code Active CN109768801B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811604334.4A CN109768801B (en) 2018-12-26 2018-12-26 Long-short ring universal searching method for QC-LDPC code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811604334.4A CN109768801B (en) 2018-12-26 2018-12-26 Long-short ring universal searching method for QC-LDPC code

Publications (2)

Publication Number Publication Date
CN109768801A CN109768801A (en) 2019-05-17
CN109768801B true CN109768801B (en) 2023-02-03

Family

ID=66450984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811604334.4A Active CN109768801B (en) 2018-12-26 2018-12-26 Long-short ring universal searching method for QC-LDPC code

Country Status (1)

Country Link
CN (1) CN109768801B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110708139B (en) * 2019-09-23 2021-01-19 北京大学 LDPC codeword expansion method and system based on parallel vector message transfer algorithm

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159515A (en) * 2007-11-22 2008-04-09 普天信息技术研究院有限公司 Encoding method and system of variable length low-density parity code
CN102088294A (en) * 2010-09-29 2011-06-08 西安空间无线电技术研究所 QC-LDPC (quasi-cyclic low-density parity-check codes) coder and coding method
CN102394659A (en) * 2011-08-04 2012-03-28 中国科学院上海微系统与信息技术研究所 Low density parity check (LDPC) code check matrix construction method and corresponding matrix multiply operation device
US9548759B1 (en) * 2013-11-26 2017-01-17 Marvell International Ltd. Systems and methods for processing LDPC codes with different circulant sizes
CN110719108A (en) * 2019-08-26 2020-01-21 北京大学 QC-LDPC codeword extension method and system based on ring connectivity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159515A (en) * 2007-11-22 2008-04-09 普天信息技术研究院有限公司 Encoding method and system of variable length low-density parity code
CN102088294A (en) * 2010-09-29 2011-06-08 西安空间无线电技术研究所 QC-LDPC (quasi-cyclic low-density parity-check codes) coder and coding method
CN102394659A (en) * 2011-08-04 2012-03-28 中国科学院上海微系统与信息技术研究所 Low density parity check (LDPC) code check matrix construction method and corresponding matrix multiply operation device
US9548759B1 (en) * 2013-11-26 2017-01-17 Marvell International Ltd. Systems and methods for processing LDPC codes with different circulant sizes
CN110719108A (en) * 2019-08-26 2020-01-21 北京大学 QC-LDPC codeword extension method and system based on ring connectivity

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
光通信系统中LDPC码构造方法的研究进展;袁建国等;《激光杂志》;20171231;第38卷(第11期);第1-7页 *

Also Published As

Publication number Publication date
CN109768801A (en) 2019-05-17

Similar Documents

Publication Publication Date Title
US10411735B1 (en) Systems and methods for an iterative decoding scheme
US20170230058A1 (en) Encoding Method, Decoding Method, Encoding Device and Decoding Device for Structured LDPC
US6857097B2 (en) Evaluating and optimizing error-correcting codes using a renormalization group transformation
CN106330203B (en) LDPC decoding method
KR101286858B1 (en) Fast stochastic decode method for low density parity check code
Cho et al. Construction of protographs for large-girth structured LDPC convolutional codes
CN104333390A (en) Construction method and encoding method for check matrix of LDPC code
KR20170020305A (en) Decoding of Non-binary LDPC Codes
US20120060071A1 (en) Product code decoding method and device
CN101826878A (en) QC-LDPC (Quasi-Cyclic Low Density Parity Check) code constructing method
EP3533145A1 (en) Generation of spatially-coupled quasi-cyclic ldpc codes
Fu et al. Locality of optimal binary codes
CN109768801B (en) Long-short ring universal searching method for QC-LDPC code
Prezza Optimal rank and select queries on dictionary-compressed text
Balaji et al. A tight rate bound and matching construction for locally recoverable codes with sequential recovery from any number of multiple erasures
CN103731157B (en) The combined structure method of Quasi-cyclic Low-density Parity-check Codes
CN109756232A (en) A method of big girth rule QC-LDPC code is constructed based on Fibonacci-Lucas ordered series of numbers
EP4007174B1 (en) Method for constructing regular qc-ldpc code and electronic device
CN111162796B (en) Data processing method and device based on LDPC (Low Density parity check) encoder and terminal
WO2020062982A1 (en) Method for constructing ldpc code check matrix, and ldpc code compilation method
WO2022161147A1 (en) Decoding method, apparatus and device, and computer readable storage medium
Vellambi et al. Results on the improved decoding algorithm for low-density parity-check codes over the binary erasure channel
CN105375933B (en) A kind of LDPC loops detection based on message transmission and ring enumeration
US7363570B2 (en) Method of converting parity check matrix for low density parity check coding
Harada et al. A characterization of designs related to an extremal doubly-even self-dual code of length 48

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant