CN109639394B - Edge-dividing type relay decoding method for multi-edge type low-density parity check code - Google Patents

Edge-dividing type relay decoding method for multi-edge type low-density parity check code Download PDF

Info

Publication number
CN109639394B
CN109639394B CN201811368000.1A CN201811368000A CN109639394B CN 109639394 B CN109639394 B CN 109639394B CN 201811368000 A CN201811368000 A CN 201811368000A CN 109639394 B CN109639394 B CN 109639394B
Authority
CN
China
Prior art keywords
edge
information
decoding
integer
range
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
CN201811368000.1A
Other languages
Chinese (zh)
Other versions
CN109639394A (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.)
Fujian Normal University
Original Assignee
Fujian Normal University
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 Fujian Normal University filed Critical Fujian Normal University
Priority to CN201811368000.1A priority Critical patent/CN109639394B/en
Publication of CN109639394A publication Critical patent/CN109639394A/en
Application granted granted Critical
Publication of CN109639394B publication Critical patent/CN109639394B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check

Abstract

The invention belongs to the technical field of digital communication, and particularly relates to a method for decoding a multi-edge type low-density parity check code by using a classified edge class relay. The invention relates to a method for decoding a multilateral low-density parity check code by using classified edges and relaying, which comprises the following steps: initializing likelihood information RtoA, RtoB and an iteration counter, and setting the total number of decoding iteration; executing the coding branch A; exchanging likelihood information at the relay R; executing the coding branch B; exchanging likelihood information at the relay R; and accumulating the iteration counter, if the iteration counter is less than the total iteration times, jumping to the step of executing a decoding branch A to continue executing, and otherwise, judging the information bit to obtain a final decoding result. Compared with the traditional decoding method starting from the 'side' view angle and not distinguishing the side types, the technical scheme of the invention has better error rate performance, and can optimize the iteration times and improve the decoding efficiency on the premise of ensuring the decoding accuracy.

Description

Edge-dividing type relay decoding method for multi-edge type low-density parity check code
Technical Field
The invention belongs to the technical field of digital communication, and particularly relates to a method for decoding a multi-edge type low-density parity check code by using a classified edge class relay.
Background
The paper "mathematical theory of communications" in 1948 (C.E. Shannon, A chemical biology of communication [ J ], BST J,1948, (27): 379-: the reliability of channel transmission can be improved by channel coding techniques, i.e. the channel coding techniques can make the error rate during transmission as low as possible. This serves as a milestone which marks the generation of the information theory, which academia refers to as shannon information theory.
From the generation of information theory to the present, the research of channel coding is also going on, and many "good codes" are researched, among which the multilateral type low density parity check code (i.e. MET-LDPC code) proposed by Tom Richardson et al in 2004 is of interest, and the code type has better performance and wider application range. The MET-LDPC code comprises a wider coding framework, and the edge class of the MET-LDPC code covers the structural characteristics of CT codes, RA codes and LDPC codes.
In the conventional LDPC code, all edges in the factor graph are interchangeable, that is, the edges are equivalent and belong to the same edge class. Therefore, the conventional LDPC code only focuses on the number of edges connected to a node, and does not focus on the difference existing between edges. In practical applications, a conventional LDPC code may be represented by a degree distribution, with the degree of a node (including variable nodes and check nodes) being represented by the number of edges associated with the node.
The MET-LDPC code comprises various types of edges, and the various types of edges cannot be interchanged. At this time, describing the MET-LDPC code from a side view is problematic, and therefore the MET-LDPC code describes the degree distribution from a node view. The edge degree of the MET-LDPC code is a vector and not only comprises the detailed division of edge types, but also comprises the types and the number of edges connected with each node. The MET-LDPC code also introduces three special structures of edge class with the degree of 2, edge class with the degree of 1 and puncturing variable nodes. However, the current research on decoding of the MET-LDPC code still remains in the side view angle of the traditional LDPC code, all sides are considered to be the same during decoding, only one side class exists, the characteristics and three special structures of the multi-side type low-density parity check code are not considered, and the effect of division of the side classes on decoding is not considered from the degree distribution of node view angles.
Disclosure of Invention
One of the objectives of the present invention is to overcome the above disadvantages, and to provide a method for decoding a multi-edge low-density parity check code by using a multi-edge class relay, which has better error rate performance than the existing decoding method, and can optimize the number of iterations and improve the decoding efficiency on the premise of ensuring the decoding accuracy.
In order to solve the technical problem, the invention provides an edge-based relay decoding method of a multi-edge low-density parity check code, which comprises the following steps:
step 0, initializing likelihood information RtoA transmitted to a decoding branch A by a relay point R, initializing likelihood information RtoB transmitted to a decoding branch B by the relay point R, and setting the total number Ritem _ num of the current decoding iteration; the relay point R refers to a puncturing variable node; the decoding branch A is used for carrying out iterative decoding on the edge class with the degree equal to 1 and the relevant part thereof; the decoding branch B refers to iterative decoding of edge classes with the degree equal to 2 and relevant parts thereof;
step 1, initializing an iteration counter Ritem;
step 2, executing the decoding branch A;
step 3, exchanging information at the relay point R, and updating likelihood information AtoR transmitted to the relay point R by the decoding branch A and likelihood information RtoB transmitted to the decoding branch B by the relay point R;
step 4, executing the decoding branch B;
step 5, exchanging information at the relay point R, and updating likelihood information BtoR transmitted to the relay point R by the decoding branch B and likelihood information RtoA transmitted to the decoding branch A by the relay point R;
step 6, adding 1 to the iteration counter Ritem, and executing the step 2 if the iteration counter Ritem is smaller than the total iteration times Ritem _ num, otherwise executing the step 7;
and 7, judging the information bits to obtain a final decoding result.
The technical scheme of the invention is designed for the characteristics that MET-LDPC codes have various edge types, starts from the degree distribution of node visual angles, divides decoding into a branch A and a branch B according to the types of the edges during decoding, carries out different iterative decoding processing, simultaneously adopts a decoding model similar to a bidirectional relay communication system, focuses on the updating sequence of different types of edge information and the information transmission process during decoding, and has better error code rate performance compared with the traditional decoding algorithm which starts from the 'edge' visual angle and does not distinguish the types of the edges.
Further, said "executing said coding branch a" comprises the steps of:
step 21, setting the total iteration times Aitem _ num of the decoding branch A, and initializing an iteration counter Aitem of the decoding branch A;
calculating channel information pLchy _ V of variable nodes connected with the T1 type edges;
initializing information VC from variable node to check point direction on T3 class edgeT3Is 0;
the T1-type edge refers to an edge class of which the edge degree connected with the variable node is 1 and the edge degree connected with the check node is also 1; the T3-type edge refers to the edge degree q connected with the variable node3And the edge degree connected with the check node is r3Wherein q is3And r3Is an integer greater than 0; the decoding branch A only comprises decoding processing of T1 type edges and T3 type edges;
step 22, calculating the information VC in the direction from the variable node to the check point on the T1 edgeT1The calculation formula is as follows:
Figure BDA0001869104800000021
wherein f isT1I is 0 to f for the number of variable nodes connected to the T1 class edgeT1-an integer in the range of 1;
step 23, calculating information CV on the T3 edge from the check point to the variable node directionT3The calculation formula is as follows:
Figure BDA0001869104800000031
wherein f isT1The number of variable nodes connected to the T1 class edge, r3I is 0 to f for the degree of the T3 type edge connected to the check nodeT1-an integer in the range of 1, j being 0 to r3-an integer in the range of 1, t is 0 to r3-an integer in the range of 1 and different from j, inter _ VCT3Is VCT3Information after passing through the interleaver;
step 24, calculating the information VC in the direction from the variable node to the check point on the T3 edgeT3The calculation formula is as follows:
Figure BDA0001869104800000032
wherein f isT3Are variable nodes connected with T3 edge classNumber of points, i.e. number of punctured variable nodes, q3I is 0 to f for the degree of the T3 class edge connected to the variable nodeT3-an integer in the range of 1, j being 0 to q3-an integer in the range of 1, t is 0 to q3-an integer in the range of 1 and different from j, Deinter _ CVT3Is CV ofT3Information after passing through the interleaver, RtoA is likelihood information transmitted to the decoding branch A by the relay point R;
step 25, calculating information CV on the T1 edge from the check point to the variable node directionT1The calculation formula is as follows:
Figure BDA0001869104800000033
wherein f isT1Number of variable nodes connected for T1 type edge, i being 0 to fT1An integer in the range of-1, r3T is 0 to r for the degree of the T3 type edge connected to the check node3Integer in the range of-1, inter _ VCT3Is VCT3Information after passing through the interleaver;
step 26, making advance judgment, comprising the following steps:
calculating the modulo-2 sum of code words of the information node at the ith check node through the T3 edge class as Ci
According to VCT1The code word estimation is performed by the following formula:
Figure BDA0001869104800000034
wherein
Figure BDA0001869104800000035
Representing an estimated codeword result;
if it is
Figure BDA0001869104800000036
Is equal to CiIf yes, decoding is successful, the decoding branch A is ended, and the step 3 is executed; otherwise, executing step 27;
and step 27, adding 1 to the iteration counter Aitem of the decoding branch A, if the iteration counter Aitem of the decoding branch A is smaller than the total iteration times Aitem _ num of the decoding branch A, executing the step 22, otherwise, ending the decoding branch A and executing the step 3.
According to the technical scheme, in the decoding branch A, the variable nodes are classified more finely (T1 and T3) according to the connection condition of the variable nodes and the edges of different types, and meanwhile, the iteration times are optimized on the premise of ensuring the decoding accuracy through judgment in advance, so that the decoding efficiency is improved.
Further, said "exchanging information at said relay R, updating likelihood information AtoR passed by said decoding branch a to said relay R and likelihood information RtoB passed by said relay R to said decoding branch B" comprises the steps of:
step 31, updating the value of the likelihood information AtoR transmitted to the relay point R by the decoding branch a, wherein the calculation formula is as follows:
Figure BDA0001869104800000041
wherein f isT3For the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodes, i is 0 to fT3-an integer in the range of 1, q3For the edge degree of T3 type edge connected with variable node, T is 0 to q3Integer in the range of-1, Deinter _ CVT3Is CV ofT3Information after passing through the interleaver;
step 32, calculating the value of likelihood information RtoB transmitted to the decoding branch B by the relay point R, wherein the calculation formula is as follows:
Figure BDA0001869104800000042
wherein f isT3For the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodes, i is 0 to fT3-an integer in the range of 1.
Further, said "executing said coding branch B" comprises the steps of:
step 41, setting the total iteration number Bitem _ num of the decoding branch B, and initializing an iteration counter Bitem of the decoding branch B;
calculating the channel information pLV of the variable node connected with the T2 type edge and the channel information pLchy _ Ti of the variable node connected with other Ti type edges;
initializing the information CV on the T2 edge in the direction from the check point to the variable nodeT2_aAnd CVT2_bIs 0; initializing information VC in direction from variable node to check point on Ti edgeT1Is 0;
the T2-type edge refers to an edge class of which the edge degree connected with the variable node is 2 and the edge degree connected with the check node is also 2; the Ti-like edge refers to the edge degree connected with the variable node as qiAnd the edge degree connected with the check node is riClass of side of qiAnd riIs an integer greater than 0, i is 4 to neAn integer of the range; n iseIs the total number of edge classes of the multi-edge type low density parity check code;
step 42, calculating T2Information VC in direction from variable node to check point on edgeT2_aAnd VCT2_bThe calculation formula is as follows:
Figure BDA0001869104800000043
wherein f isT2I is 0 to f for the number of variable nodes connected to the edge T2T2-an integer in the range of 1;
step 43, calculating the information CV on the Ti edge from the check point to the variable nodeT1The calculation method is as follows:
Figure BDA0001869104800000051
wherein n iseRepresenting the total number of edge classes of a low density parity check code of the multi-edge type, fT2The number of variable nodes connected to the edge T2, riIs the edge degree of the Ti-like edge connected to the check node, rhI is 4 to n for the degree of the Th-type edge connected to the check nodeeAn integer in the range of j is 0 to ri-an integer in the range of 1, l being from 0 to fT2-an integer in the range of-1, t is 0 to ri-an integer in the range of 1 and different from j, h is 4 to neAn integer in the range and different from i, k is 0 to rhInteger in the range of-1, inert _ VCTiIs VCTiInformation, after passing through the interleaver, inseter _ VCThIs VCThInformation after passing through the interleaver;
step 44, calculating the information VC in the direction from the variable node to the check point on the Ti edgeT1The calculation method is as follows:
Figure BDA0001869104800000052
wherein n iseNumber of edges, q, representing a low density parity check code of the multi-edge typeiIs the degree of the Ti-like edge connected to the variable node, riIs a Ti-like edge degree, f, connected to the check nodeTiW is 0 to fTiAn integer in the range of-1, i is 4 to neIntegers within the range, pun represents the number of edge classes connected to the punctured variable node, and j is 0 to qi-an integer in the range of 1, t is 0 to qi-a total of integers in the range of 1 and different from j, Deinter _ CVTiIs CV ofTiInformation after passing through the interleaver; RtoB is likelihood information transmitted to the decoding branch B by the relay point R;
step 45, calculating information CV on the T2 edge from the check point to the variable node directionT2_aAnd CVT2_bThe calculation formula is as follows:
Figure BDA0001869104800000053
wherein n iseRepresenting the total number of edge classes, r, of a low-density parity-check code of the multi-edge typeiIs the edge degree of the Ti-like edge connected to the check node, fT2I is 4 to n for the number of variable nodes connected to the edge T2eAn integer in the range of j is 0 to ri-an integer in the range of 1, w is 0 to fT2Range of-1Integer of inner, inter _ VCTiIs VCTiInformation after passing through the interleaver;
step 46, making a decision in advance, comprising the following steps:
calculating the information node through Ti (i is more than or equal to 4 and less than or equal to n)e) Edge class, modulo-2 sum of codeword at jth check node being cj,0≤j<fT2
According to VCT2_aAnd VCT2_bThe code word estimation is performed by the following formula:
Figure BDA0001869104800000061
wherein
Figure BDA0001869104800000062
Representing the estimated codeword result, fT2J is the number of variable nodes connected to the edge T2 and is 0 to fT2-an integer in the range of 1;
if it is
Figure BDA0001869104800000063
If the decoding is successful, ending the decoding branch B and executing the step 5; otherwise, go to step 47;
and step 47, adding 1 to the iteration counter Bitem of the decoding branch B, executing step 42 if the iteration counter Bitem of the decoding branch B is smaller than the total iteration times Bitem _ num of the decoding branch B, otherwise ending the decoding branch B, and executing step 5.
According to the technical scheme, in the decoding branch B, the variable nodes are classified more finely (T2, Ti) according to the connection condition of the variable nodes and the edges of different types, and meanwhile, the iteration times are optimized on the premise of ensuring the decoding accuracy through judgment in advance, so that the decoding efficiency is improved.
Further, said "exchanging information at said relay R, updating said likelihood information BtoR passed by said decoding branch B to said relay R and said likelihood information RtoA passed by said relay R to said decoding branch a" comprises the steps of:
step 51, updating likelihood information BtoR transmitted to the relay point R by the decoding branch B, wherein the calculation formula is as follows:
Figure BDA0001869104800000064
wherein f isT3Is the number of variable nodes connected with the T3 edge class, i.e. the number of the puncturing variable nodes, pun represents the number of the edge classes connected with the puncturing variable nodes, i is an integer ranging from 4 to 3+ pun, w is 0 to fT3-an integer in the range of 1, qiT is 0 to q as the degree of the Ti-like edge connected to the variable nodeiInteger in the range of-1, Deinter _ CVTiIs CV ofTiInformation after passing through the interleaver;
step 52, updating likelihood information RtoA transmitted to the decoding branch a by the relay point R, wherein a calculation formula is as follows:
Figure BDA0001869104800000065
wherein f isT3J is 0 to f for the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodesT3-an integer in the range of 1.
Further, the "determining the information bits to obtain the final decoding result" includes the following steps:
step 71, performing codeword decision on the punctured information bits, where the decision formula is:
Figure BDA0001869104800000071
wherein f isT3J is 0 to f for the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodesT3-an integer in the range of 1;
step 72, determining the unpunctured information bits, comprising the following steps:
calculating likelihood information pLLR _ Ti (w) transmitted to the un-deleted information bits by the Ti type edges, wherein the calculation formula is as follows:
Figure BDA0001869104800000072
wherein n iseRepresenting the total number of edge classes, q, of a low-density parity-check code of the multi-edge typeiIs the edge degree of the Ti-like edge connected to the variable node, fTiThe number of variable nodes connected with Ti-type edges is shown, and the pun is the number w of edges connected with a punctured variable node is 0 to fTiInteger in the range of i from 4+ pun to neAn integer in the range of t is 0 to qiInteger in the range of-1, Deinter _ CVTiIs CV ofTiThe information after passing through the interleaver, pLchy _ Ti, is the channel information of the variable nodes connected with the Ti-type edges;
and judging the jth code word connected with the Ti class edge, wherein the judgment formula is as follows:
Figure BDA0001869104800000073
wherein n iseRepresenting the total number of edge classes of a low-density parity-check code of the multi-edge type, fTiIs the number of variable nodes connected to Ti-class edges, pun is the number of edges connected to punctured variable nodes, and w is 0 to fTiInteger in the range of i from 4+ pun to neAn integer within the range.
In summary, the technical scheme of the invention has the following beneficial effects:
1. aiming at the characteristic that MET-LDPC codes have various edge types, starting from the degree distribution of node visual angles, dividing decoding into a branch A and a branch B according to the types of the edges during decoding, performing different iterative decoding processing, simultaneously adopting a decoding model similar to a bidirectional relay communication system, paying attention to the updating sequence of different types of edge information and the information transmission process during decoding, and having better error code rate performance compared with the traditional decoding algorithm starting from the 'edge' visual angle and not distinguishing the types of the edges.
2. In the decoding branch A and the decoding branch B, the technical scheme of the invention classifies variable nodes more carefully according to the connection condition of the variable nodes and different types of edges, and optimizes iteration times on the premise of ensuring decoding accuracy by judging in advance, thereby improving decoding efficiency.
Drawings
Fig. 1 is a factor graph of a conventional LDPC code.
Fig. 2 is a decoding flowchart of a conventional LDPC code.
FIG. 3 is a factor graph of a five-sided type LDPC.
FIG. 4 is a diagram of the MET-LDPC code relay process of the present invention.
Fig. 5 is a flowchart of edge-based intermediate decoding of the multi-edge ldpc code according to the present invention.
FIG. 6 is a factor graph of MET-LDPC decoding branch A of the present invention.
FIG. 7 is a diagram of the process of information update of various edges during the iterative decoding of the MET-LDPC decoding branch A of the present invention.
FIG. 8 is a flowchart of the MET-LDPC decoding branch A decoding of the present invention.
FIG. 9 is a factor graph of MET-LDPC decoding branch B of the present invention.
FIG. 10 is a diagram of the information updating process of various types of edges in the branch B iterative decoding of MET-LDPC decoding of the present invention.
FIG. 11 is a flowchart of the MET-LDPC decoding branch B decoding of the present invention.
Fig. 12 is a graph of BER performance of MET-LDPC codes (K640) using the edge-divided relay decoding method of the present invention and the conventional LDPC code decoding method.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Before the embodiments of the present invention are specifically described, a conventional LDPC code and its decoding method are briefly described, the LDPC code is a packet error correction code with a sparse check matrix proposed by Robert Gallager of the massachusetts institute of technology in 1963, the performance of the LDPC code approaches shannon limit, the description and implementation are simple, theoretical analysis and research are easy to perform, the decoding is simple, parallel operation can be performed, and the LDPC code is suitable for hardware implementation. For the convenience of analysis, an LDPC code is generally represented by a factor graph, and all nodes on the factor graph can be divided into two classes, which are unrelated to each other, and referred to as variable nodes and check nodes. The edges on the factor graph connect the variable nodes and the check nodes with a certain rule, but the nodes of the same class cannot be connected by the edges. As shown in fig. 1, the graph is a factor graph of a conventional LDPC code, in the graph, a circular node is a variable node, a square node is a check node, a connection line between the variable node and the check node is called an edge, and an interleaver may perform random permutation on an information sequence input between the variable node and the check node and output the information sequence. In the factor graph of the conventional LDPC code, all edges are interchangeable, that is, the edges are equivalent and belong to the same edge class, so that the conventional LDPC code only focuses on the number of edges connected to a node, and does not focus on the difference between the edges. In practical applications, a conventional LDPC code may be represented by a degree distribution, with the degree of a node (including variable nodes and check nodes) being represented by the number of edges associated with the node. Since the conventional LDPC code only contains one type of edge, the formula describing the degree distribution from the edge perspective is as follows:
Figure BDA0001869104800000091
Figure BDA0001869104800000092
wherein equation 1 corresponds to the variable node, λiThe number of edges of the variable node with the expression degree i is the proportion of the total number of edges, and dv represents the maximum degree of the variable node. Equation 2 corresponds to check node, ρjThe representation degree is the proportion of the number of the edges of the variable node with j to the total number of the edges, and dc represents the maximum degree of the variable node.
As shown in FIG. 2, of a conventional LDPC codeDecoding flow chart, for a binary traditional LDPC code, there is a check matrix H with m rows and n columns, and relevant variables used in the decoding process include: y isiRepresents the ith received signal after passing through the AWGN channel; sigma2Represents the variance of the AWGN channel; l isch(i) Channel information indicating an ith reception signal; l isjiRepresents the jth check node CjTo the ith variable node ViThe information of (a); qijRepresents the ith variable node ViTo the jth check node CjThe information of (a); l isiRepresenting variable node ViThe posterior probability of (a) is used for codeword decision; in the above variables, i is more than or equal to 1 and less than or equal to n, and j is more than or equal to 1 and less than or equal to m.
The decoding method is as follows:
step 1, setting total iteration number item of decoding, initializing an iteration counter w to be 0, and calculating channel information Lch(i) The calculation formula is as follows:
Figure BDA0001869104800000093
step 2, calculating information L transmitted to variable nodes by all check nodesjiThe calculation formula is as follows:
Figure BDA0001869104800000094
step 3, calculating information Q transmitted to check nodes by all variable nodesijThe calculation formula is as follows:
Figure BDA0001869104800000095
step 4, adding 1 to the iteration counter w, and then, if w is judged to be smaller than the total iteration times item, skipping to the step 2 to continue execution; if w is more than or equal to the total iteration times item, skipping to the step 5 to judge the code word;
step 5, firstly calculating variable node ViA posteriori probability L ofiThe calculation formula is as follows:
Figure BDA0001869104800000096
then, the code word is judged according to the posterior probability, if LiIf the number is more than or equal to 0, the code word is judged to be 0, otherwise, the code word is judged to be 1.
As can be seen from the above description, the conventional LDPC code has only one type of edge, and the type of the edge is not distinguished in the decoding manner, for example, fig. 3 is a factor graph of a five-edge type LDPC code, where a circular node is a variable node (divided into a punctured variable node and an unpunctured variable node), a square node is a check node, a connection line between the variable node and the check node is an edge, there are 5 types of edge classes in the graph, and the edge classes cannot be interchanged. Because the MET-LDPC code describes the degree distribution from the node perspective, the degree of the MET-LDPC code is a vector, and includes not only the detailed division of the type of the edge, but also the type and number of edges connected to each node. Furthermore, MET-LDPC codes can be represented by the following two "node view" polynomials, where equation 3 is associated with the variable nodes and equation 4 is associated with the check nodes:
Figure BDA0001869104800000101
Figure BDA0001869104800000102
the meaning of the relevant variables in the formula is: n iseThe number of types of edges is represented,
Figure BDA0001869104800000103
representing degrees of various edge classes, where diThe degree of the ith class edge is represented,
Figure BDA0001869104800000104
it means n iseDegree of class edge.
Figure BDA0001869104800000105
Representing variable nodes. n istIs shown asThe number of co-channels is such that,
Figure BDA0001869104800000106
represents ntThe reception degree of each channel.
Figure BDA0001869104800000107
Representing the channel corresponding to the variable node. N denotes a codeword length. v. ofb,dRepresents the ratio of variable nodes connected to type (b, d) edges to the total codeword length, μdIndicating the proportion of check nodes connected to edges of type (b, d) to the total codeword length.
In addition to the multi-edge type, the most important characteristic of the MET-LDPC code is that a large number of edge classes with an edge degree d equal to 2, edge classes with an edge degree d equal to 1, and puncturing variable nodes are introduced in the codeword construction process. The edge class with the edge degree d equal to 2 can simplify the coding method and improve the stability of the code word; the edge class with the degree d equal to 1 is effectively controlled, so that the threshold cannot be improved, and the code word becomes more flexible; meanwhile, in order to eliminate a large number of error floors caused by edge classes with the edge degree d equal to 2, the MET-LDPC code introduces puncturing variable nodes. Therefore, the construction process of the MET-LDPC code has a significant characteristic that the edge degrees of the parity check nodes of the MET-LDPC code are only generally covered by two types, and the edge degrees of the two types of parity check nodes are 2 and 1 respectively.
The technical scheme of the invention is that a decoding model similar to a bidirectional relay communication system is adopted from the special structure of the MET-LDPC code. In the decoding process, a decoding part related to the edge degree d equal to 1 edge class is called a decoding branch A, a decoding part related to the edge degree d equal to 2 edge class is called a decoding branch B, a puncturing variable node is regarded as a relay point R, as shown in FIG. 4, the decoding method of the MET-LDPC code is a MET-LDPC code relay process diagram of the invention, the decoding method of the MET-LDPC code can be simply regarded as a process that the decoding branch A and the decoding branch B exchange likelihood information AtoR and BtoR with each other through the relay point R, and then respective iterative decoding is carried out according to information RtoA and RtoB obtained from the relay point R. In the processing process of the decoding branch A and the decoding branch B, the technical scheme of the invention classifies variable nodes more finely according to the connection condition of the variable nodes and different types of edges, and meanwhile, the decoding process does not start from the edge view, instead of transmitting the information of the simple variable nodes to check points after updating and transmitting the information of the check points to the variable nodes after updating, the technical scheme focuses on the updating sequence of the information on the different types of edges and the transmission of the information during decoding.
In addition, before specifically describing the embodiment of the present invention, a simple description is made of a common mathematical formula used in the technical solution, which mainly includes:
omega formula
The Ω formula represents the calculation method at the check node: assume that the input of the check node has a1,a2,a3,…,anThen output aoutputCan be calculated by the following Ω equation:
aoutput=Ω(a1,a2,a3,…,an)
=sign(a1,a2,a3,…,an)×min(abs(a1),abs(a2),abs(a3),…,abs(an))
wherein: sign (a)1,a2,a3,…,an)=sign(a1)×sign(a2)×sign(a3)×……×sign(an)
abs(an)=|an|
Equation of gamma
Defining a formula:
Figure BDA0001869104800000111
Γ represents the set of all ai terms that satisfy condition F, for example:
Figure BDA0001869104800000112
description of channel information calculation formula:
assuming that the signal-to-noise ratio is SNR, the code rate of the codeword is Rc,the source length of the code word is K, the code word length is N, and y (i) represents the code word information of the ith variable node at the receiving end. Then, when BPSK modulation is adopted in the white gaussian noise channel, the channel information pLchy of the ith variable node is:
Figure BDA0001869104800000113
wherein N is0Expressing the unilateral power spectral density, and the calculation formula is as follows:
N0=1/(exp((SNR/10)×log(10.0))×Rc)。
fig. 5 is a flowchart of edge-based intermediate decoding of a multi-edge ldpc code according to the present invention, which includes the following steps:
step 0, initializing likelihood information RtoA transmitted to a decoding branch A by a relay point R, initializing likelihood information RtoB transmitted to a decoding branch B by the relay point R, and setting the total number Ritem _ num of the current decoding iteration;
in the technical scheme of the invention, the relay point R refers to a puncturing variable node; the decoding branch A is used for carrying out iterative decoding on the edge class with the degree equal to 1 and the relevant part of the edge class; the decoding branch B refers to iterative decoding of the edge class with the degree equal to 2 and the relevant part thereof; when performing initialization, assume a code rate of RcIf the number of the information sources is K, the length of the code word is K
Figure BDA0001869104800000121
The ratio of the punctured variable nodes is vb,dIf the number of punctured variable nodes is N ═ a × N, then likelihood information rtoa (j) passed to decoding branch a by relay point R and likelihood information rtob (j) passed to decoding branch B by relay point R are initialized to 0, respectively, (0 ≦ j)<n), and simultaneously setting the total iteration number Ritem _ num of the decoding, wherein the total iteration number can be set arbitrarily.
Step 1, initializing an iteration counter Ritem to be 0;
step 2, executing the decoding branch A;
FIG. 6 is a factor graph of MET-LDPC decoding branch A of the present invention, wherein the relevant part of decoding branch A only includes two types of edges and its check pointsThe connecting edges are denoted by T1 and T3, respectively. Wherein the T1 type edges are shown by dotted lines and are respectively connected with the variable node V (V)0,V1……VfTi-1) Connected to check nodes, wherein the degree of edge d connected to variable node V 11 and degree of edge d connected to check node1' is also 1. T3 type edges are shown as solid lines and are connected to variable nodes Q (Q)0,Q1,……,QfTi-1) And check nodes, wherein the edge degree d connected to the variable node Q3Is q3And the edge degree d connected with the check node3' is r3
Fig. 7 is a diagram of information updating processes of various edges during MET-LDPC branch a iterative decoding of the present invention, where the information updating processes of various edges during the decoding branch a iterative decoding sequentially include: updating information from variable node to check point direction to VC on T1-type edgeT1(ii) a Updating CV information from check point to variable node direction on T3 type edgeT3;CVT3The information after the interleaver is Deinter _ CVT3(ii) a Updating information from variable node to check point direction to VC on T3-type edgeT3;VCT3The information after the interleaver is inter _ VCT3(ii) a Updating CV information from check point to variable node direction on T1 type edgeT1
Fig. 8 is a flowchart of the decoding of branch a of MET-LDPC decoding according to the present invention, which includes the following steps:
step 21, setting the total iteration times Aitem _ num of the decoding branch A, and initializing an iteration counter Aitem of the decoding branch A to be 0;
the channel information pLchy _ V of the variable node connected to the T1-type edge is calculated, and the calculation formula of the channel information is as described above. The T1-type edge refers to an edge class of which the edge degree connected with the variable node is 1 and the edge degree connected with the check node is also 1; the T3-type edge refers to the edge degree q connected with the variable node3And the edge degree connected with the check node is r3Wherein q is3And r3Is an integer greater than 0; the decoding branch A only comprises decoding processing of T1 type edges and T3 type edges;
initializing information VC from variable node to check point direction on T3 class edgeT3Is 0;
step 22, calculating the information VC in the direction from the variable node to the check point on the T1 edgeT1The calculation formula is as follows:
Figure BDA0001869104800000122
wherein f isT1I is 0 to f for the number of variable nodes connected to the T1 class edgeT1-an integer in the range of 1;
step 23, calculating information CV on the T3 edge from the check point to the variable node directionT3The calculation formula is as follows:
Figure BDA0001869104800000131
wherein f isT1The number of variable nodes connected to the T1 class edge, r3I is 0 to f for the degree of the T3 type edge connected to the check nodeT1-an integer in the range of 1, j being 0 to r3-an integer in the range of 1, t is 0 to r3-an integer in the range of 1 and different from j, inter _ VCT3Is VCT3Information after passing through the interleaver;
step 24, calculating the information VC in the direction from the variable node to the check point on the T3 edgeT3The calculation formula is as follows:
Figure BDA0001869104800000132
wherein f isT3The number of variable nodes connected with the T3 edge class, i.e. the number of punctured variable nodes, q3I is 0 to f for the degree of the T3 class edge connected to the variable nodeT3-an integer in the range of 1, j being 0 to q3-an integer in the range of 1, t is 0 to q3-an integer in the range of 1 and different from j, Deinter _ CVT3Is CV ofT3Information after passing through the interleaver, RtoA is likelihood information transmitted to the decoding branch A by the relay point R;
step 25, calculating information CV on the T1 edge from the check point to the variable node directionT1The calculation formula is as follows:
Figure BDA0001869104800000133
wherein f isT1Number of variable nodes connected for T1 type edge, i being 0 to fT1An integer in the range of-1, r3T is 0 to r for the degree of the T3 type edge connected to the check node3Integer in the range of-1, inter _ VCT3Is VCT3Information after passing through the interleaver;
step 26, making advance judgment, comprising the following steps:
firstly, calculating the modulo-2 sum of code words of the information node at the ith check node through the T3 edge class as Ci
According to VCT1The code word estimation is performed by the following formula:
Figure BDA0001869104800000134
wherein f isT3The number of variable nodes connected to the T3 edge class,
Figure BDA0001869104800000135
for the estimated codeword result, the formula means if VCT1If the code word is less than 0, the code word is 1, otherwise, the code word is 0;
then make a judgment if
Figure BDA0001869104800000141
Is equal to CiIf the decoding is successful, ending the decoding branch A, and skipping to the total decoding step 3 to continue execution; otherwise the next step 27 of this decoding branch a is executed;
step 27, adding 1 to the iteration counter Aitem of the decoding branch A, and if the value of the iteration counter Aitem of the decoding branch A is judged to be smaller than the total iteration times Aitem _ num of the decoding branch A, skipping to the step 22 for continuous execution; if the value of the iteration counter Aitem of the decoding branch A is larger than the total iteration times Aitem _ num of the decoding branch A, ending the decoding branch A and executing the total decoding step 3.
According to the technical scheme, in the decoding branch A, the variable nodes are classified more finely (T1 and T3) according to the connection condition of the variable nodes and the edges of different types, and meanwhile, the iteration times are optimized on the premise of ensuring the decoding accuracy through judgment in advance, so that the decoding efficiency is improved.
Step 3, exchanging information at the relay point R, and updating likelihood information AtoR transmitted to the relay point R by the decoding branch a and likelihood information RtoB transmitted to the decoding branch B by the relay point R, specifically comprising the following steps:
step 31, updating the value of the likelihood information AtoR transmitted to the relay point R by the decoding branch a, wherein the calculation formula is as follows:
Figure BDA0001869104800000142
wherein f isT3For the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodes, i is 0 to fT3-an integer in the range of 1, q3For the edge degree of T3 type edge connected with variable node, T is 0 to q3Integer in the range of-1, Deinter _ CVT3Is CV ofT3Information after passing through the interleaver;
step 32, calculating the value of likelihood information RtoB transmitted to the decoding branch B by the relay point R, wherein the calculation formula is as follows:
Figure BDA0001869104800000143
wherein f isT3For the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodes, i is 0 to fT3-an integer in the range of 1;
step 4, executing the decoding branch B;
FIG. 9 is a factor graph of a branch B of MET-LDPC decoding according to the present invention, where the branch B of the MET-LDPC code includes two or more types of edges, and the different types of edges are represented by different line types. If the edge type is represented by a vector T, the edge types in the B branch include: t ≦ i ≦ n (T2, Ti) 4 ≦ i ≦ neWherein the T2 edge refers to the edge degree d connected with the variable node in the B branch 32 and edge degree d connected with check node3' an edge class also of 2; the Ti-type edge refers to the edge degree d connected with the variable node in the B branchiIs qiAnd the edge degree d connected with the check nodei' is riI is 4 to neAn integer of the range, neRepresenting the total number of edge classes of this MET-LDPC code.
Defining 4 pieces of information waiting for updating on the T2 class edge, which are: information VC from ith variable node to ith check pointT2_a(i) The information VC in the direction from the (i + 1) th variable node to the (i) th check pointT2_b(i) Information CV in the direction from the i-1 st check point to the i-th variable nodeT2_b(i) And the information from the ith check point to the ith variable node is CVT2_a(i),0≤i<fT2,fT2The number of variable nodes connected to the edge T2 in fig. 9.
Defined at the same time, in Ti (4. ltoreq. i. ltoreq. n)e) On class edges, the information in the direction from the variable node to the check point is denoted as VCTiThe information after the interleaver is inter _ VCTiAnd the information from the check point to the variable node is CVTiThe information after the interleaver is Deinter _ CVTiWherein i is more than or equal to 4 and less than or equal to ne. When the decoding branch B is executed, the information updating process on various edges is shown in fig. 10.
FIG. 11 is a flowchart of the MET-LDPC decoding branch B decoding according to the present invention, which comprises the following steps:
step 41, setting the total iteration number Bitem _ num of the decoding branch B, and initializing an iteration counter Bitem of the decoding branch B to be 0;
calculating the channel information pLV of the variable node connected with the T2 type edge and the channel information pLchy _ Ti of the variable node connected with other Ti type edges; the calculation formula of the channel information is as described above. Wherein, the T2-class edge refers to an edge class whose edge degree connected with the variable node is 2 and whose edge degree connected with the check node is 2; the Ti-like edge refers to the edge degree connected with the variable node as qiAnd the edge degree connected with the check node is riClass of side of qiAnd riIs an integer greater than 0, i is 4 to neAn integer of the range; n iseIs the total number of edge classes of the multi-edge type low density parity check code;
initializing the information CV on the T2 edge in the direction from the check point to the variable nodeT2_aAnd CVT2_bIs 0; initializing information VC in direction from variable node to check point on Ti edgeT1Is 0;
step 42, calculating T2Information VC in direction from variable node to check point on edgeT2_aAnd VCT2_bThe calculation formula is as follows:
Figure BDA0001869104800000151
wherein f isT2I is 0 to f for the number of variable nodes connected to the edge T2T2-an integer in the range of 1;
step 43, calculating the information CV on the Ti edge from the check point to the variable nodeT1The calculation method is as follows:
Figure BDA0001869104800000152
wherein n iseRepresenting the total number of edge classes of a low density parity check code of the multi-edge type, fT2The number of variable nodes connected to the edge T2, riIs the edge degree of the Ti-like edge connected to the check node, rhI is 4 to n for the degree of the Th-type edge connected to the check nodeeAn integer in the range of j is 0 to ri-an integer in the range of 1, l being from 0 to fT2-an integer in the range of-1, t is 0 to ri-an integer in the range of 1 and different from j, h is 4 to neAn integer in the range and different from i, k is 0 to rhInteger in the range of-1, inert _ VCTiIs VCTiInformation, after passing through the interleaver, inseter _ VCThIs VCThInformation after passing through the interleaver;
step 44, calculating the information VC in the direction from the variable node to the check point on the Ti edgeT1The calculation method is as follows:
Figure BDA0001869104800000161
wherein n iseNumber of edges, q, representing a low density parity check code of the multi-edge typeiIs the degree of the Ti-like edge connected to the variable node, riIs a Ti-like edge degree, f, connected to the check nodeTiW is 0 to fTiAn integer in the range of-1, i is 4 to neIntegers within the range, pun represents the number of edge classes connected to the punctured variable node, and j is 0 to qi-an integer in the range of 1, t is 0 to qi-a total of integers in the range of 1 and different from j, Deinter _ CVTiIs CV ofTiInformation after passing through the interleaver; RtoB is likelihood information transmitted to the decoding branch B by the relay point R;
step 45, calculating information CV on the T2 edge from the check point to the variable node directionT2_aAnd CVT2_bThe calculation formula is as follows:
Figure BDA0001869104800000162
wherein n iseRepresenting the total number of edge classes, r, of a low-density parity-check code of the multi-edge typeiIs the edge degree of the Ti-like edge connected to the check node, fT2I is 4 to n for the number of variable nodes connected to the edge T2eAn integer in the range of j is 0 to ri-an integer in the range of 1, w is 0 to fT2Integer in the range of-1, inter _ VCTiIs VCTiInformation after passing through the interleaver;
step 46, making a decision in advance, comprising the following steps:
calculating the information node through Ti (i is more than or equal to 4 and less than or equal to n)e) Edge class, modulo-2 sum of codeword at jth check node being cj,0≤j<fT2
According to VCT2_aAnd VCT2_bThe code word estimation is performed by the following formula:
Figure BDA0001869104800000163
wherein
Figure BDA0001869104800000164
Representing the estimated codeword result, fT2J is the number of variable nodes connected to the edge T2 and is 0 to fT2-an integer in the range of 1; the rule for codeword estimation is: if VCT2_aAdding VCT2_bIf the value of (1) is less than 0, the code word is 1, otherwise the code word is 0;
then further judge if
Figure BDA0001869104800000171
If the decoding is successful, ending the decoding branch B and skipping to the step 5 of total decoding; otherwise, continue to decode branch B, step 47;
and step 47, adding 1 to the iteration counter Bitem of the decoding branch B, and then judging whether the iteration counter Bitem of the decoding branch B is smaller than the total iteration times Bitem _ num of the decoding branch B, skipping to the step 42 of the decoding branch B for continuous execution, or else, ending the decoding branch B and executing the total decoding step 5.
Step 5, exchanging information at the relay point R, and updating the likelihood information BtoR transmitted to the relay point R by the decoding branch B and the likelihood information RtoA transmitted to the decoding branch a by the relay point R, specifically comprising the following steps:
step 51, updating likelihood information BtoR transmitted to the relay point R by the decoding branch B, wherein the calculation formula is as follows:
Figure BDA0001869104800000172
wherein f isT3Is the number of variable nodes connected with the T3 edge class, i.e. the number of the puncturing variable nodes, pun represents the number of the edge classes connected with the puncturing variable nodes, i is an integer ranging from 4 to 3+ pun, w is 0 to fT3-an integer in the range of 1, qiT is 0 to q as the degree of the Ti-like edge connected to the variable nodeiInteger in the range of-1, Deinter _ CVTiIs CV ofTiInformation after passing through the interleaver;
step 52, updating likelihood information RtoA transmitted to the decoding branch a by the relay point R, wherein a calculation formula is as follows:
Figure BDA0001869104800000173
wherein f isT3J is 0 to f for the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodesT3-an integer in the range of 1.
Step 6, adding 1 to the iteration counter Ritem, and executing the step 2 if the iteration counter Ritem is smaller than the total iteration times Ritem _ num, otherwise executing the step 7;
and 7, judging the information bits to obtain a final decoding result, wherein the method comprises the following steps:
step 71, performing codeword decision on the punctured information bits, where the decision formula is:
Figure BDA0001869104800000174
wherein f isT3J is 0 to f for the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodesT3-an integer in the range of 1;
step 72, determining the unpunctured information bits, comprising the following steps:
calculating likelihood information pLLR _ Ti (w) transmitted to the un-deleted information bits by the Ti type edges, wherein the calculation formula is as follows:
Figure BDA0001869104800000181
wherein n iseRepresenting the total number of edge classes, q, of a low-density parity-check code of the multi-edge typeiIs the edge degree of the Ti-like edge connected to the variable node, fTiThe number of variable nodes connected with Ti-type edges is shown, and the pun is the number w of edges connected with a punctured variable node is 0 to fTiInteger in the range of i from 4+ pun to neAn integer in the range of t is 0 to qiInteger in the range of-1, Deinter _ CVTiIs CV ofTiThe information after passing through the interleaver, pLchy _ Ti, is the channel information of the variable nodes connected with the Ti-type edges;
and judging the jth code word connected with the Ti class edge, wherein the judgment formula is as follows:
Figure BDA0001869104800000182
wherein n iseRepresenting the total number of edge classes of a low-density parity-check code of the multi-edge type, fTiIs the number of variable nodes connected to Ti-class edges, pun is the number of edges connected to punctured variable nodes, and w is 0 to fTiInteger in the range of i from 4+ pun to neAn integer within the range.
The steps clearly illustrate the decoding process of the 'edge-classified relay' of the MET-LDPC code. In the following, a specific embodiment is used to describe the edge-based relay decoding method for a multi-edge type low density parity check code of the present invention, where the embodiment takes a six-edge type MET-LDPC code as an example, and describes the six-edge type MET-LDPC code with a degree distribution of node angles, and the degree distribution can be expressed as:
Figure BDA0001869104800000183
Figure BDA0001869104800000184
meanwhile, the structural parameter table of the six-sided MET-LDPC code is as follows:
Figure BDA0001869104800000185
constructing MET-LDPC code according to the polynomial, and decoding according to the edge-classified relay decoding method of the multilateral low-density parity check code provided by the patent of the invention under AWGN channel and BPSK modulation technology, and the specific steps are as follows:
step 0, initialization:
assuming that the SNR is SNR, the code rate of the codeword is Rc equal to 0.5, and the source length of the codeword is K equal to 640, the codeword length is N equal to 1280, the number of puncturing variable points is N equal to 0.2 × N equal to 256, and the total iteration number Ritem _ num of MET-LDPC code decoding is set equal to 150.
Step 1, initializing an iteration counter Ritem to be 0.
And 2, executing iterative decoding of the decoding branch A.
And step 21, setting the total iteration number Aitem _ num of the decoding branch A to be equal to 3, and setting an iteration counter Aitem of the decoding branch A to be 0. And calculating the channel information pLchy _ V (i) of the variable nodes connected with the edge T1 (i is more than or equal to 0 and less than 256).
Step 22, calculating the information VC in the direction from the variable node to the check point on the T1 edgeT1The calculation formula is as follows:
VCT1(i)=pLchy_V(i)
(0≤i<256)
step 23, calculating information CV from the direction of the check point to the direction of the variable node on the T3 edgeT3The calculation formula is as follows:
Figure BDA0001869104800000191
step 24, calculating information VC from variable node direction to check point direction on T3 edgeT3The calculation formula is as follows:
Figure BDA0001869104800000192
step 25, calculating information CV on the T1 edge from the check point to the variable node directionT1The calculation formula is as follows:
Figure BDA0001869104800000193
step 26, advance judgment:
making advance decision at check node position, firstly, supposing that information node passes through T3 edge class, and the modulo-2 sum of code word at i-th check node is ciThen, the following formula is used to pair VCT1Is determined, wherein
Figure BDA0001869104800000194
Represents the decided estimated codeword:
Figure BDA0001869104800000195
judging if there is any according to the estimated result of the code word
Figure BDA0001869104800000196
If the decoding is successful, jumping out of iteration in advance and jumping to the step 3; if it is
Figure BDA0001869104800000201
The next step 27 is continued.
Step 27, adding 1 to the iteration counter Aitem of the decoding branch A, and then judging whether the iteration counter Aitem of the decoding branch A is smaller than the total iteration times Aitem _ num of the decoding branch A, and then skipping to the step 22 to continue execution; if the iteration counter Aitem of the decoding branch A is greater than or equal to the total iteration number Aitem _ num of the decoding branch A, the decoding branch A is ended, and the total decoding step 3 is executed.
And step 3: information is exchanged at the relay variable node.
Step 31, updating the information AtoR transmitted to the relay node R (i.e. the puncturing variable node) by the decoding branch a, wherein the calculation formula is as follows:
Figure BDA0001869104800000202
step 32, calculating the value of likelihood information RtoB transmitted to branch B by relay point R (i.e. puncturing variable node), where the calculation formula is:
RtoB(i)=AtoR(i)
(0≤i<256)
and 4, executing iterative decoding of the decoding branch B, wherein four edge types T2, T4, T5 and T6 of the MET-LDPC code are covered under the decoding branch B in the embodiment.
And step 41, setting the total iteration number Bitem _ num of the decoding branch B to be 3, and initializing the iteration counter Bitem of the decoding branch B to be 0. The channel information is calculated, the channel information of the variables connected with the T2 type edges is pLV (i) (0 is more than or equal to i <640), the channel information of the variables connected with the repeated edges T4, T5 and T6 type edges is pLchy _ T4(j) (0 is more than or equal to j <256), pLchy _ T5(j) (0 is more than or equal to j <256) and pLchy _ T6(j) (0 is more than or equal to j <384), in the embodiment, the edges T4 and T5 are connected with puncturing variable nodes, and the channel information is 0.
Step 42, calculating the information VC in the direction from the variable node to the check point on the T2 edgeT2_aAnd VCT2_bThe calculation formula is as follows:
VCT2_a(i)=Ω(pLV(i)+CVT2_b(i))
VCT2_b(i)=Ω(pLV(i+1)+CVT2_a(i+1))
(0≤i<640)
step 43, calculating the information CV on the T4, T5 and T6 edges from the check point to the variable node directionT4、CVT5And CVT6The calculation formula is as follows:
Figure BDA0001869104800000211
Figure BDA0001869104800000212
step 44, calculating the VC of the information in the directions from the variable nodes to the check points on the edges of T4, T5 and T6 respectivelyT4、CVT5And CVT6The calculation formula is as follows:
Figure BDA0001869104800000213
step 45, calculating information CV on the T2 edge from the check point to the variable node directionT2_aAnd CVT2_bThe calculation formula is as follows:
Figure BDA0001869104800000214
Figure BDA0001869104800000215
step 46, making a decision in advance, comprising the following steps: at the check node location, the modulo-2 and c of the codeword that passed into the check point by the T4, T5, T6 edges are computediAnd simultaneously carrying out codeword estimation, wherein the codeword estimation formula is as follows:
Figure BDA0001869104800000216
making a decision based on the estimated codeword result, if any
Figure BDA0001869104800000217
If the decoding branch B is finished, ending the decoding branch B and jumping to the total decoding step 5, otherwise continuing to execute the step 47 of the decoding branch B;
step 47, adding 1 to the iteration counter Bitem of the decoding branch B, and then judging whether the iteration counter Bitem of the decoding branch B is smaller than the total iteration number Bitem _ num of the decoding branch B, and jumping to the step 42 to continue execution; if the iteration counter Bitem of the decoding branch B is larger than the total iteration number Bitem _ num of the decoding branch B, the decoding branch B is ended, and the step 5 of total decoding is skipped.
Step 5, exchanging information at the relay variable node, comprising the following steps:
step 51, updating likelihood information btor (j) transmitted to the relay point R by the decoding branch B (j is more than or equal to 0 and less than 256), wherein the calculation formula is as follows:
Figure BDA0001869104800000221
and step 52, updating likelihood information RtoA transmitted to the decoding branch A by the relay point R, wherein the calculation formula is as follows:
RtoA(j)=BtoR(j)
(0≤j<256)
step 6, executing an operation of adding 1 to the decoded iteration counter Ritem, and if the decoded iteration counter Ritem is smaller than the total iteration times Ritem _ num, skipping to the step 2 to continue executing; otherwise, jumping to step 7 to continue execution;
and 7, judging the information bits, comprising the following steps:
step 71, the punctured information bits are judged, and the judgment formula is as follows:
Figure BDA0001869104800000222
step 72, determining the unpunctured information bits, including the following steps:
likelihood information pLLR _ T6(w) of T6 type edges transmitted to unpunctured information bits is calculated:
Figure BDA0001869104800000223
and then the j code word connected with the T6 class edge is judged:
Figure BDA0001869104800000224
fig. 12 is a graph of BER performance of MET-LDPC codes using the edge-divided type relay decoding method of the present invention and the conventional LDPC code decoding method, where the source length K of a codeword is 640, the x axis represents the signal-to-noise ratio, and the y axis represents the bit error rate. The curve with the x represents the bit error rate simulation curve of the MET-LDPC code adopting the traditional LDPC coding method. The curve with O represents the bit error rate simulation of the MET-LDPC code adopting the edge-dividing relay decoding method of the inventionCurve line. As can be seen from the simulation chart, BER is 10-6Compared with the traditional decoding algorithm, the edge-classified relay decoding method has the gain of nearly 1.3 dB.
The above embodiments are merely illustrative of the technical solutions of the present invention, and the present invention is not limited to the above embodiments, and any modifications or alterations according to the principles of the present invention should be within the protection scope of the present invention.

Claims (1)

1. A kind of multilateral type low density parity check code divides the edge type to relay the decoding method, characterized by, including the following steps:
step 0, initializing likelihood information RtoA transmitted to a decoding branch A by a relay point R, initializing likelihood information RtoB transmitted to a decoding branch B by the relay point R, and setting the total number Ritem _ num of the current decoding iteration; the relay point R refers to a puncturing variable node; the decoding branch A is used for carrying out iterative decoding on the edge class with the degree equal to 1 and the relevant part thereof; the decoding branch B refers to iterative decoding of edge classes with the degree equal to 2 and relevant parts thereof;
step 1, initializing an iteration counter Ritem;
step 2, executing the decoding branch A, comprising the following steps:
step 21, setting the total iteration times Aitem _ num of the decoding branch A, and initializing an iteration counter Aitem of the decoding branch A;
calculating channel information pLchy _ V of variable nodes connected with the T1 type edges;
initializing information VC from variable node to check point direction on T3 class edgeT3Is 0;
the T1-type edge refers to an edge class of which the edge degree connected with the variable node is 1 and the edge degree connected with the check node is also 1; the T3-type edge refers to the edge degree q connected with the variable node3And the edge degree connected with the check node is r3Wherein q is3And r3Is an integer greater than 0; the decoding branch A only comprises decoding processing of T1 type edges and T3 type edges;
step (ii) of22. Calculating the information VC in the direction from the variable node to the check point on the T1 edgeT1The calculation formula is as follows:
Figure FDA0003010077180000011
wherein f isT1I is 0 to f for the number of variable nodes connected to the T1 class edgeT1-an integer in the range of 1;
step 23, calculating information CV on the T3 edge from the check point to the variable node directionT3The calculation formula is as follows:
Figure FDA0003010077180000012
wherein f isT1The number of variable nodes connected to the T1 class edge, r3I is 0 to f for the degree of the T3 type edge connected to the check nodeT1-an integer in the range of 1, j being 0 to r3-an integer in the range of 1, t is 0 to r3-an integer in the range of 1 and different from j, inter _ VCT3Is VCT3Information after the interleaver, Γ represents a set of all terms that satisfy the condition, and the calculation formula of Ω is:
wherein:
Figure FDA0003010077180000013
step 24, calculating the information VC in the direction from the variable node to the check point on the T3 edgeT3The calculation formula is as follows:
Figure FDA0003010077180000021
wherein f isT3The number of variable nodes connected with the T3 edge class, i.e. the number of punctured variable nodes, q3I is 0 to f for the degree of the T3 class edge connected to the variable nodeT3-an integer in the range of 1, j being 0 to q3-an integer in the range of 1, t is 0 to q3-an integer in the range of 1 and different from j, Deinter _ CVT3Is CV ofT3Information after passing through the interleaver, RtoA is likelihood information transmitted to the decoding branch A by the relay point R;
step 25, calculating the edge pass check of T1Information CV in the direction of point-to-variable nodesT1The calculation formula is as follows:
Figure FDA0003010077180000022
wherein f isT1Number of variable nodes connected for T1 type edge, i being 0 to fT1An integer in the range of-1, r3T is 0 to r for the degree of the T3 type edge connected to the check node3Integer in the range of-1, inter _ VCT3Is VCT3Information after the interleaver, Γ represents a set of all terms that satisfy the condition, and the calculation formula of Ω is:
wherein:
Figure FDA0003010077180000023
step 26, making advance judgment, comprising the following steps:
calculating the modulo-2 sum of code words of the information node at the ith check node through the T3 edge class as Ci
According to VCT1The code word estimation is performed by the following formula:
Figure FDA0003010077180000024
wherein
Figure FDA0003010077180000025
Representing an estimated codeword result;
if it is
Figure FDA0003010077180000026
Is equal to CiIf yes, decoding is successful, the decoding branch A is ended, and the step 3 is executed; otherwise, executing step 27;
step 27, adding 1 to the iteration counter Aitem of the decoding branch a, if the iteration counter Aitem of the decoding branch a is smaller than the total iteration times Aitem _ num of the decoding branch a, executing step 22, otherwise, ending the decoding branch a, and executing step 3;
step 3, exchanging information at the relay point R, and updating the likelihood information AtoR transmitted to the relay point R by the decoding branch a and the likelihood information RtoB transmitted to the decoding branch B by the relay point R, including the following steps:
step 31, updating the value of the likelihood information AtoR transmitted to the relay point R by the decoding branch a, wherein the calculation formula is as follows:
Figure FDA0003010077180000031
wherein f isT3For the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodes, i is 0 to fT3-an integer in the range of 1, q3For the edge degree of T3 type edge connected with variable node, T is 0 to q3Integer in the range of-1, Deinter _ CVT3Is CV ofT3Information after passing through the interleaver;
step 32, calculating the value of likelihood information RtoB transmitted to the decoding branch B by the relay point R, wherein the calculation formula is as follows:
Figure FDA0003010077180000032
wherein f isT3For the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodes, i is 0 to fT3-an integer in the range of 1;
step 4, executing the decoding branch B, comprising the following steps:
step 41, setting the total iteration number Bitem _ num of the decoding branch B, and initializing an iteration counter Bitem of the decoding branch B;
calculating the channel information pLV of the variable node connected with the T2 type edge and the channel information pLchy _ Ti of the variable node connected with other Ti type edges;
initializing the information CV on the T2 edge in the direction from the check point to the variable nodeT2_aAnd CVT2_bIs 0; initializing information VC in direction from variable node to check point on Ti edgeTiIs 0;
the T2-type edge refers to an edge class of which the edge degree connected with the variable node is 2 and the edge degree connected with the check node is also 2; the Ti-like edge refers to an edge connected with a variable nodeDegree qiAnd the edge degree connected with the check node is riClass of side of qiAnd riIs an integer greater than 0, i is 4 to neAn integer of the range; n iseIs the total number of edge classes of the multi-edge type low density parity check code;
step 42, calculating T2Information VC in direction from variable node to check point on edgeT2_aAnd VCT2_bThe calculation formula is as follows:
Figure FDA0003010077180000033
wherein f isT2I is 0 to f for the number of variable nodes connected to the edge T2T2-1 and Ω is calculated as:
wherein:
Figure FDA0003010077180000041
step 43, calculating the information CV on the Ti edge from the check point to the variable nodeTiThe calculation method is as follows:
Figure FDA0003010077180000042
wherein n iseRepresenting the total number of edge classes of a low density parity check code of the multi-edge type, fT2The number of variable nodes connected to the edge T2, riIs the edge degree of the Ti-like edge connected to the check node, rhI is 4 to n for the degree of the Th-type edge connected to the check nodeeAn integer in the range of j is 0 to ri-an integer in the range of 1, l being from 0 to fT2-an integer in the range of-1, t is 0 to ri-an integer in the range of 1 and different from j, h is 4 to neAn integer in the range and different from i, k is 0 to rhInteger in the range of-1, inter _ VCTiIs VCTiThe information, inter _ VC, after passing through the interleaverThIs VCThInformation after the interleaver, Γ represents a set of all terms that satisfy the condition, and the calculation formula of Ω is:
wherein:
Figure FDA0003010077180000043
step 44, calculating the information VC in the direction from the variable node to the check point on the Ti edgeTiThe calculation method is as follows:
Figure FDA0003010077180000044
wherein n iseNumber of edges, q, representing a low density parity check code of the multi-edge typeiIs the degree of the Ti-like edge connected to the variable node, riIs a Ti-like edge degree, f, connected to the check nodeTiW is 0 to fTiAn integer in the range of-1, i is 4 to neIntegers within the range, pun represents the number of edge classes connected to the punctured variable node, and j is 0 to qi-an integer in the range of 1, t is 0 to qi-an integer in the range of 1 and different from j, Deinter _ CVTiIs CV ofTiInformation after passing through the interleaver; RtoB is likelihood information transmitted to the decoding branch B by the relay point R;
step 45, calculating information CV on the T2 edge from the check point to the variable node directionT2_aAnd CVT2_bThe calculation formula is as follows:
Figure FDA0003010077180000051
wherein n iseRepresenting the total number of edge classes, r, of a low-density parity-check code of the multi-edge typeiIs the edge degree of the Ti-like edge connected to the check node, fT2I is 4 to n for the number of variable nodes connected to the edge T2eAn integer in the range of j is 0 to ri-an integer in the range of 1, w is 0 to fT2Integer in the range of-1, inter _ VCTiIs VCTiInformation after the interleaver, Γ represents the set of all terms that satisfy the condition, the calculation of ΩThe formula is as follows:
wherein:
Figure FDA0003010077180000052
step 46, making a decision in advance, comprising the following steps:
calculating the information node through Ti (i is more than or equal to 4 and less than or equal to n)e) Edge class, modulo-2 sum of codeword at jth check node being cj,0≤j<fT2
According to VCT2_aAnd VCT2_bThe code word estimation is performed by the following formula:
Figure FDA0003010077180000053
wherein
Figure FDA0003010077180000054
Representing the estimated codeword result, fT2J is the number of variable nodes connected to the edge T2 and is 0 to fT2-1 and Ω is calculated as:
wherein:
Figure FDA0003010077180000055
if it is
Figure FDA0003010077180000061
If the decoding is successful, ending the decoding branch B and executing the step 5; otherwise, go to step 47;
step 47, adding 1 to the iteration counter Bitem of the decoding branch B, if the iteration counter Bitem of the decoding branch B is smaller than the total iteration times Bitem _ num of the decoding branch B, executing step 42, otherwise, ending the decoding branch B, and executing step 5
Step 5, exchanging information at the relay point R, and updating the likelihood information BtoR transferred to the relay point R by the decoding branch B and the likelihood information RtoA transferred to the decoding branch A by the relay point R, comprising the following steps:
step 51, update stationThe likelihood information BtoR transmitted to the relay point R by the decoding branch B is calculated by the formula:
Figure FDA0003010077180000062
wherein f isT3Is the number of variable nodes connected with the T3 edge class, i.e. the number of the puncturing variable nodes, pun represents the number of the edge classes connected with the puncturing variable nodes, i is an integer ranging from 4 to 3+ pun, w is 0 to fT3-an integer in the range of 1, qiT is 0 to q as the degree of the Ti-like edge connected to the variable nodeiInteger in the range of-1, Deinter _ CVTiIs CV ofTiInformation after passing through the interleaver;
step 52, updating likelihood information RtoA transmitted to the decoding branch a by the relay point R, wherein a calculation formula is as follows:
Figure FDA0003010077180000063
wherein f isT3J is 0 to f for the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodesT3An integer in the range of-1
Step 6, adding 1 to the iteration counter Ritem, and executing the step 2 if the iteration counter Ritem is smaller than the total iteration times Ritem _ num, otherwise executing the step 7;
and 7, judging the information bits to obtain a final decoding result, wherein the method comprises the following steps:
step 71, performing codeword decision on the punctured information bits, where the decision formula is:
Figure FDA0003010077180000064
wherein f isT3J is 0 to f for the number of variable nodes connected to the T3 edge class, i.e., the number of punctured variable nodesT3-an integer in the range of 1;
step 72, determining the unpunctured information bits, comprising the following steps:
calculating likelihood information pLLR _ Ti (w) transmitted to the un-deleted information bits by the Ti type edges, wherein the calculation formula is as follows:
Figure FDA0003010077180000065
wherein n iseRepresenting the total number of edge classes, q, of a low-density parity-check code of the multi-edge typeiIs the edge degree of the Ti-like edge connected to the variable node, fTiThe number of variable nodes connected with Ti-type edges is shown, and the pun is the number w of edges connected with a punctured variable node is 0 to fTiInteger in the range of i from 4+ pun to neAn integer in the range of t is 0 to qiInteger in the range of-1, Deinter _ CVTiIs CV ofTiThe information after passing through the interleaver, pLchy _ Ti, is the channel information of the variable nodes connected with the Ti-type edges;
and judging the jth code word connected with the Ti class edge, wherein the judgment formula is as follows:
Figure FDA0003010077180000071
wherein n iseRepresenting the total number of edge classes of a low-density parity-check code of the multi-edge type, fTiIs the number of variable nodes connected to Ti-class edges, pun is the number of edges connected to punctured variable nodes, and w is 0 to fTiInteger in the range of i from 4+ pun to neAn integer within the range.
CN201811368000.1A 2018-11-16 2018-11-16 Edge-dividing type relay decoding method for multi-edge type low-density parity check code Active CN109639394B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811368000.1A CN109639394B (en) 2018-11-16 2018-11-16 Edge-dividing type relay decoding method for multi-edge type low-density parity check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811368000.1A CN109639394B (en) 2018-11-16 2018-11-16 Edge-dividing type relay decoding method for multi-edge type low-density parity check code

Publications (2)

Publication Number Publication Date
CN109639394A CN109639394A (en) 2019-04-16
CN109639394B true CN109639394B (en) 2021-06-01

Family

ID=66068348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811368000.1A Active CN109639394B (en) 2018-11-16 2018-11-16 Edge-dividing type relay decoding method for multi-edge type low-density parity check code

Country Status (1)

Country Link
CN (1) CN109639394B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110350923B (en) * 2019-07-09 2022-09-23 福建师范大学福清分校 Method for constructing external information transfer graph of quintuple type low-density parity check code

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118231A (en) * 2011-04-13 2011-07-06 厦门大学 Code rate self-adaptive encoding method for multi-edge type low-density parity check code
CN108712233A (en) * 2018-05-17 2018-10-26 福建师范大学福清分校 A kind of physical-layer network coding method based on both sides class low density parity check code

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499226B2 (en) * 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
KR102159016B1 (en) * 2014-05-08 2020-09-24 삼성전자주식회사 Distributed turbo encoder and therefor method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118231A (en) * 2011-04-13 2011-07-06 厦门大学 Code rate self-adaptive encoding method for multi-edge type low-density parity check code
CN108712233A (en) * 2018-05-17 2018-10-26 福建师范大学福清分校 A kind of physical-layer network coding method based on both sides class low density parity check code

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
低资源消耗多边类型LDPC码译码器的FPGA实现;谢东福;《应用科学学报》;20101130;第28卷(第6期);第633-638页 *

Also Published As

Publication number Publication date
CN109639394A (en) 2019-04-16

Similar Documents

Publication Publication Date Title
TWI663839B (en) Method for providing soft information with decoder under hard decision hard decoding mode
Angarita et al. Reduced-complexity min-sum algorithm for decoding LDPC codes with low error-floor
CN101107782B (en) ECC decoding method
USRE44421E1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
Zhang et al. Lowering LDPC error floors by postprocessing
US11057049B2 (en) Generalized low-density parity check codes in digital communication system
US20080172592A1 (en) Method and Device For Controlling the Decoding of a Ldpc Encoded Codeword, In Particular For Dvb-S2 Ldpc Encoded Codewords
JP5506878B2 (en) Parity check matrix generation method for low density parity check code
EP3533145B1 (en) Generation of spatially-coupled quasi-cyclic ldpc codes
KR101718543B1 (en) Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same
WO2017080249A1 (en) Method of generating low-density parity-check code transmitted over channel and apparatus utilizing same
CN105763203B (en) Multi-element LDPC code decoding method based on hard reliability information
Xu et al. Polar decoding on sparse graphs with deep learning
CN110784232B (en) Space coupling LDPC code sliding window decoding method
Lechner et al. Analysis and design of binary message passing decoders
CN108092673B (en) BP iterative decoding method and system based on dynamic scheduling
CN101707485A (en) LDPC decoding method combining bit flipping (BF) and majority logic (MLG)
CN107196737B (en) SCMA decoding method based on message passing algorithm
US8930790B1 (en) Method and apparatus for identifying selected values from among a set of values
CN109639394B (en) Edge-dividing type relay decoding method for multi-edge type low-density parity check code
US20210242885A1 (en) Ldpc decoding method and ldpc decoding apparatus
Shibata et al. Design and construction of irregular LDPC codes for channels with synchronization errors: new aspect of degree profiles
CN104753542B (en) For the bit reversal of LDPC code and linear programming combination interpretation method
KR102045438B1 (en) Method and Apparatus for Decoding of Low-density parity-check
Chen et al. FPGA implementation and verification of LDPC minimum sum algorithm decoder with weight (3, 6) regular parity check matrix

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