CN107565978B - BP decoding method based on Tanner graph edge scheduling strategy - Google Patents

BP decoding method based on Tanner graph edge scheduling strategy Download PDF

Info

Publication number
CN107565978B
CN107565978B CN201710764489.3A CN201710764489A CN107565978B CN 107565978 B CN107565978 B CN 107565978B CN 201710764489 A CN201710764489 A CN 201710764489A CN 107565978 B CN107565978 B CN 107565978B
Authority
CN
China
Prior art keywords
check
node
nodes
variable
information
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
CN201710764489.3A
Other languages
Chinese (zh)
Other versions
CN107565978A (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.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
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 Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN201710764489.3A priority Critical patent/CN107565978B/en
Publication of CN107565978A publication Critical patent/CN107565978A/en
Application granted granted Critical
Publication of CN107565978B publication Critical patent/CN107565978B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

The invention discloses a BP decoding method based on a Tanner graph edge scheduling strategy, which adopts Tanner graph edge scheduling in the decoding process to carry out parallel transmission and accelerate the decoding iteration speed. In the check node updating part, a diversity processing mode is adopted, after several times of iterative decoding, when a check equation is not established, the check node transmits information through all nodes adjacent to the check node, and the reliability of the check node is improved; when the check equation is established and the reliability of the check node is less than the reliability threshold, only the check node needs to transmit information with the nodes with smaller LLR information of the previous adjacent w nodes, so that part of the calculation complexity is reduced; and the rest check nodes do not transmit information any more, the calculation complexity of the algorithm is further reduced, the propagation of LLR information along a ring is inhibited, and the error code performance is improved. Simulation results show that when the signal-to-noise ratio is 3.0dB, the calculation complexity of the EDBP algorithm is only 42% of that of the BP algorithm, the calculation complexity is reduced, and the error code performance of the EDBP algorithm is superior to that of the Flooding algorithm.

Description

BP decoding method based on Tanner graph edge scheduling strategy
Technical Field
The invention relates to the technical field of communication, in particular to an Edge-based Dynamic Scheduling for BP (EDBP) method based on a Tanner graph Edge Scheduling strategy.
Background
An LDPC code (LDPC) is a linear error correcting code that can be uniquely determined by its Check matrix, and this matrix is a sparse matrix, so that its codewords have a good distance characteristic between them, which is one of the best codes found so far that it is closest to the shannon limit. With the rapid development of computer technology and the improvement of hardware integration technology, the LDPC code has excellent Error correction performance, smaller decoding Error probability and lower decoding complexity, so that domestic and foreign scholars make extensive research, and adopt the LDPC code as one of Forward Error correction codes (FEC) in many communication standards, such as CMMB, DTMB, DVB-S2 and ieee802.16 e.
In terms of decoding algorithm, the most widely used is the LLR-BP decoding algorithm. Each iteration of the algorithm comprises two parts: check node processing and variable node processing. In each iteration, all check nodes receive information from the adjacent variable nodes, and the information is transmitted back to the adjacent variable nodes after being processed; then all variable nodes carry out the same process, and finally the variable nodes collect all available information to carry out judgment. The LLR-BP decoding algorithm has better error code performance, but the calculation at the check node of the LLR-BP decoding algorithm comprises complex trigonometric function operation, the hardware realization complexity is high, and the requirements of future communication systems are difficult to meet. Therefore, Ueng Y L et al propose a comb (SI) algorithm that decodes by successive updating of variable nodes, Huang H et al propose a Layered Belief Propagation (LBP) algorithm that decodes by successive updating of check nodes, and analysis shows that the improved two algorithms only accelerate the Iterative convergence speed of messages to a certain extent. In order to further reduce decoding iteration time, Aslam C A and the like respectively improve an SI algorithm and an LBP algorithm, and a shuffle-BP (SBP) decoding algorithm is provided, wherein the algorithm is a serial message transfer decoding algorithm based on variable nodes, the decoding convergence speed is improved, but the error code performance is reduced due to the fact that semi-parallel processing is adopted in actual engineering implementation. To reduce computational complexity while maintaining high error performance, wangian et al propose FLBP algorithm, introducing function f (x) to simplify the operation. Although the FLBP algorithm achieves the aim of reducing the computation complexity of the LBP algorithm, the decoding performance of the FLBP algorithm is reduced. Therefore, Wangzaizhen et al continuously improves the algorithm into NLBP decoding algorithm and OLBP error code algorithm, and respectively improves the lost error code performance in FLBP algorithm by introducing correction factor alpha and offset factor beta. However, the error performance of the NLBP decoding algorithm and the OLBP decoding algorithm still has a certain loss. In order to further improve the error code performance, fanya-nan et al also proposes an Overlapped punctured-BP (OSBP) decoding algorithm, which adopts a plurality of identical sub-decoders to update simultaneously in different updating sequences, so as to improve the iterative convergence speed, improve the performance, but still have higher implementation complexity.
Disclosure of Invention
The invention provides a BP decoding method based on a Tanner graph edge scheduling strategy, which can reduce complexity and improve decoding efficiency.
In order to solve the problems, the invention is realized by the following technical scheme:
the BP decoding method based on the Tanner graph edge scheduling strategy comprises the following steps:
step 1, initializing decoding parameters, namely initializing an initialization message transmitted to a check node by a variable node, initializing information transmitted to the variable node by the check node, wherein the edge number k of the transmitted information is 0 and the iteration number is 1; setting the maximum number of iterations l at the same timemaxAnd a reliability threshold τ;
step 2, calculating the maximum edge number k required to be updatedmaxI.e. by
kmax=Mdclmax
Wherein M is the number of check nodes, dcTo check the degree of a node, /)maxIs the maximum iteration number;
step 3, when the iteration times l are less than the maximum iteration times lmaxThen, turning to the step 4; otherwise, go to step 9;
step 4, in the first iteration updating process, the number k of the edges of the information transmitted in the Tanner graph is less than the maximum number k of the edgesmaxThen, turning to step 5; otherwise, go to step 8;
step 5, carrying out message updating and decoding on all check nodes in the Tanner graph;
step 5.1, all check nodes in the Tanner graph are classified, namely
Classifying check nodes which do not meet a check equation into a first set;
classifying the check nodes which meet the check equation and have the reliability smaller than the reliability threshold tau into a second set;
classifying check nodes which meet a check equation and have the reliability of the check nodes more than or equal to a reliability threshold value tau into a third set;
step 5.2, based on the classification of step 5.1, performing different forms of message update decoding on all check nodes in the Tanner graph;
firstly, each check node in the first set needs to be completely transferred and updated, namely, when all the check nodes are completely transferred and updated, the information of all variable nodes connected with the check nodes is directly transferred to the check nodes;
each check node in the second set needs to be partially transferred and updated, that is, when each check node needs to be partially transferred and updated, the maximum likelihood probability values of all variable nodes connected with the check node need to be sorted firstly, and then information of the variable nodes with smaller maximum likelihood probability values in the first w sets is transferred to the check node; wherein w is a set value;
each check node in the third set does not need to be updated, namely, the information of all variable nodes connected with the check node does not need to be transmitted to the check node;
step 6, carrying out message updating and decoding on all variable nodes in the Tanner graph;
when each variable node is updated, the information of all check nodes connected with the variable node is directly transmitted to the variable node;
step 7, adding 1 to the edge number k of the transmitted information in the Tanner graph, and returning to the step 4;
step 8, adding 1 to the iteration frequency l, and returning to the step 3;
and 9, executing decoding judgment, calculating hard judgment information for all variable nodes, and stopping decoding until all check equations are met.
In the above step 1, the variable node transmits the initialization message m to the check nodev→c=2y/σ2Where y is the received sequence, σ2Is the noise variance.
In the above step 1, the initialization information m transmitted to the variable node by the check nodec→v=0。
In the step 1, the number k of the edges of the transmitted information is the number of the edges, which need to be updated, transmitted to the check node by the variable node, and is also the number of the edges, which need to be updated, transmitted to the variable node by the check node, wherein the number of the edges, which need to be updated, transmitted to the check node by the variable node is equal to the number of the edges, which need to be updated, transmitted to the variable node by the check node.
In the above steps 5 and 9, when the check equation S is 0, it indicates that the check equation is satisfied; and when the check equation S is not equal to 0, indicating that the check equation is not satisfied.
In the above steps 5 and 9, the check equation S is:
Figure BDA0001393845930000031
wherein, H is a check matrix,
Figure BDA0001393845930000032
for coding a sequence, T denotes transpose.
In step 5, the reliability of the check node is equal to the minimum value of the absolute values of the maximum likelihood probability values of all the variable nodes adjacent to the check node.
Compared with the prior art, the method adopts Tanner graph edge-based scheduling in the decoding process to perform parallel transmission, so that the decoding iteration speed is increased. In the check node updating part, a diversity processing mode is adopted, after several times of iterative decoding, when a check equation is not established, the check node transmits information through all nodes adjacent to the check node, and the reliability of the check node is improved; when the check equation is established and the reliability of the check node is smaller than the reliability threshold, only the check node needs to transmit information with the nodes with smaller information of the previous w adjacent LLR (LogLikelihood Ratio), so that the complexity of part of calculation is reduced; and the rest check nodes do not transmit information any more, the calculation complexity of the algorithm is further reduced, the propagation of LLR information along a ring is inhibited, and the error code performance is improved. Simulation results show that when the signal-to-noise ratio is 3.0dB, the calculation complexity of the EDBP algorithm is only 42% of that of the BP algorithm, the calculation complexity is reduced, and the error code performance of the EDBP algorithm is superior to that of the Flooding algorithm.
Drawings
FIG. 1 is a schematic diagram of information delivery after check node diversity processing; in the figure, → represents the edge to be updated,
Figure BDA0001393845930000033
indicating edges that do not need to be updated.
Fig. 2 is a diagram illustrating the selection of the reliability threshold τ.
Fig. 3 is a schematic diagram of the determination of the rate of change k value.
Fig. 4 is a diagram illustrating Mackay code with row weight of 16, comparing the decoding performance of the algorithm and the coding in the present invention.
Fig. 5 is a diagram illustrating Mackay code with row weight of 24, comparing the decoding performance of the algorithm and the coding in the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings in conjunction with specific examples.
The BP decoding method based on the Tanner graph edge scheduling strategy comprises the following steps:
step 1, initializing decoding parameters, namely initializing an initialization message m transmitted from a variable node to a check nodev→c=2y/σ2Y is the received sequence, σ2Is the variance of the noise; initialization information m transmitted to variable node by check node c→v0; the edge number k of the transfer information is initialized to be 0, in the invention, the edge number k of the transfer information is the updated edge number required by the variable node to be transferred to the check node, and is also required by the check node to be transferred to the variable nodeThe number of the updated edges is equal to the number of the edges which need to be updated and are transmitted to the check node by the variable node; initializing the iteration number to be 1; setting the maximum number of iterations l at the same timemaxAnd a reliability threshold τ;
step 2, calculating the maximum edge number k required to be updatedmaxI.e. by
kmax=Mdclmax
Wherein M is the number of check nodes, dcTo check the degree of a node, /)maxIs the maximum iteration number;
step 3, when the iteration times l are less than the maximum iteration times lmaxThen, turning to the step 4; otherwise, go to step 9;
step 4, in the first iteration updating process, the number k of the edges of the information transmitted in the Tanner graph is less than the maximum number k of the edgesmaxThen, turning to step 5; otherwise, go to step 8;
step 5, carrying out message updating and decoding on all check nodes in the Tanner graph;
step 5.1, all check nodes in the Tanner graph are classified, namely
Classifying check nodes which do not meet a check equation into a first set;
② will satisfy the check equation and the reliability of the check nodes is less than the reliability threshold
Figure BDA0001393845930000041
Classifying the check nodes into a second set;
③ will satisfy the check equation and check the reliability of the node to be greater than or equal to the reliability threshold
Figure BDA0001393845930000042
Classifying the check nodes into a third set;
step 5.2, based on the classification of step 5.1, performing different forms of message update decoding on all check nodes in the Tanner graph;
firstly, each check node in the first set needs to be completely transferred and updated, namely, when all the check nodes are completely transferred and updated, the information of all variable nodes connected with the check nodes is directly transferred to the check nodes;
each check node in the second set needs to perform partial transfer updating, that is, when each check node needs to perform partial transfer updating, the LLR values of all variable nodes connected with the check node need to be sorted first, and then the information of the variable nodes with smaller first w LLR values is transmitted to the check node; wherein w is a set value;
each check node in the third set does not need to be updated, namely, the information of all variable nodes connected with the check node does not need to be transmitted to the check node;
step 6, carrying out message updating and decoding on all variable nodes in the Tanner graph;
when each variable node is updated, the information of all check nodes connected with the variable node is directly transmitted to the variable node;
step 7, adding 1 to the edge number k of the transmitted information in the Tanner graph, and returning to the step 4;
step 8, adding 1 to the iteration frequency l, and returning to the step 3;
and 9, executing decoding judgment, calculating hard judgment information for all variable nodes, and stopping decoding until all check equations are met.
The invention provides an Edge-based on Tanner graph Edge Scheduling strategy BP (Edge-based on Tanner dynamic Scheduling for BP, EDBP) algorithm. Firstly, Tanner graph edge scheduling is adopted in the decoding process, parallel transmission is carried out, and the decoding iteration speed is increased. Then, aiming at the problem of high updating complexity of the check node, different processing is carried out on the updating of the check node according to whether the check equation is met and whether the reliability of the check node reaches a reliability threshold value, so that the calculation complexity is reduced, meanwhile, the propagation of LLR information along a Tanner graph ring is inhibited, and the error code performance is improved.
The invention improves the existing LLR-BP decoding algorithm, so the steps of the LLR-BP decoding algorithm are introduced firstly.
Taking BPSK modulation, for example, transmission information in AWGN channel, modulated codeword c ═ c1,c2,...,cnAnd) mapping to transmission sequence x ═ x (x)1,x2,...,xn) The received sequence is y ═ y (y)1,y2,...,yn). According to y, the decoded sequence is
Figure BDA0001393845930000051
The following are the meanings of some of the variables used by the algorithm:
L(l)(qij): transmitting the variable node i to the check node j in the decoding iteration process for the first timeiExternal probability information when a;
L(l)(rji): transmitted from check node j to variable node i in the decoding iteration process of the I timeiExternal probability information when a;
L(l)(qi): x output by variable node i after decoding iteration for the first timeiA posterior probability information of a;
c (i): all check nodes connected with the variable node i;
r (j): all variable nodes connected with the check nodes;
c (i) \\ j: the variable node i is connected with other check nodes except the check node j;
r (j) \\ i: the check node j is connected to the variable nodes other than the variable node i.
Firstly, defining:
Figure BDA0001393845930000052
Figure BDA0001393845930000053
Figure BDA0001393845930000054
Figure BDA0001393845930000055
concept of reliability: check node cjIs defined as
Figure BDA0001393845930000056
Wherein
Figure BDA0001393845930000061
Representation and the check node cjAll variable nodes v adjacent to each othernThe minimum value of the absolute values of the LLR values (probability information values) of (a) is the reliability of the check node.
The LLR-BP algorithm comprises the following specific steps:
(1) initializing, calculating initial probability likelihood ratio L (p) of channel transferred to variable nodei) 1, 2.. n. then, for each variable node i and its neighboring check node j ∈ c (i), an initialization message is set for the variable node to pass to the check node:
the formula (1) and (2) can be used for obtaining:
Figure BDA0001393845930000062
(2) repeatedly waiting for treatment (the first time)
And (3) check node message processing, wherein for all check nodes j and variable nodes i belonging to R (j) adjacent to the check nodes j, the messages transmitted to the check nodes by the variable nodes are calculated during the ith iteration:
Figure BDA0001393845930000063
wherein the content of the first and second substances,
Figure BDA0001393845930000064
and (3) variable node message processing: for all variable nodes i and the variable nodes j belonging to the variable nodes j ∈ C (i), during the l-th iteration, the messages transmitted to the variable nodes by the check nodes are calculated:
Figure BDA0001393845930000065
(3) decoding decision
Calculating the posterior probability of all variable nodes i after the iteration:
Figure BDA0001393845930000066
and carrying out hard decision on the obtained message:
Figure BDA0001393845930000067
(4) and (4) judging:
Figure BDA0001393845930000068
in the formula, H is a check matrix,
Figure BDA0001393845930000069
for coding a sequence, T denotes transpose.
LDPC code over GF (2) domain
Figure BDA0001393845930000071
The dimension of the check matrix H is m × n, each row corresponds to a check equation, each column corresponds to one bit of a code word, the number of non-zero elements in each row is row weight, the number of non-zero elements in each column is column weight, as shown in formula (10) decoding judgment, if S is 0, the check equation is satisfied, decoding is correct, decoding is finished, if S is not equal to 0, the check equation is not satisfied, iterative updating needs to be carried out again, and when the decoding iteration number is greater than the initialized maximum iteration number, the LDPC decoding fails and the final result is output.
Because the update part of the check node in the LLR-BP algorithm has the hyperbolic tangent function and the calculation complexity is very high, the invention considers the following points from the theory:
firstly, the method comprises the following steps: in each iterative operation process, the LLR-BP algorithm needs to use all nodes to update information, namely, all edges in the Tanner graph are used for information transmission. After several times of iterative decoding, the LLR information of some check nodes has small fluctuation up and down and reaches a stable state;
secondly, the method comprises the following steps: in the LLR-BP algorithm, information transfer among nodes is independent, so that the influence on the check nodes is small even if the information transfer is not carried out.
Thirdly, the method comprises the following steps: if part of check nodes are to be reliable, only the partial variable nodes with smaller LLR information need to transmit messages, the node information with larger influence degree is transmitted, and the node information with smaller influence degree is ignored.
Fourthly: when the reliability of the check node and the nodes adjacent to the check node is high enough, the check node and the adjacent nodes can be prevented from transmitting information through the connected edges.
Fifth, the method comprises the following steps: due to the existence of the trap set in the decoding process of the LLR-BP algorithm, the oscillation phenomenon is easy to occur during decoding, and the required decoding iteration times are excessive, so the LLR information of the nodes mainly adopts a parallel processing mode, and the reliability of the check node is defined as the minimum value of the LLR information of the nodes adjacent to the check node.
Sixth: if the check node is stable, the corresponding check equation is established, and the reliability of the check node must be greater than the reliability threshold (the reliability threshold is selected by us in the following simulation experiment). In the next iteration process, unreliable edges are only selected from the Tanner graph to transmit information, and the calculation complexity is reduced, so that propagation of LLR information along a ring is inhibited, the influence of the ring on the performance is reduced, and the error code performance is improved.
For this reason, the core improvement point of the decoding algorithm of the invention is the improvement of the updating part of the check node.
Firstly, carrying out diversity processing on check nodes:
in order to reduce unnecessary information transmission, unreliable edges in the Tanner graph need to be judged in each iteration updating process, information transmission is only carried out on the unreliable edges, and the calculation complexity of the algorithm is reduced. Because the LDPC code has a trapping set in the decoding process and is easy to cause codeword errors, even if a certain check equation is established in iterative updating, the reliability of check nodes cannot be still explained. Setting a reliability threshold value for the message of the check node, when the check equation is established and the reliability of the check node is greater than or equal to the reliability threshold value, determining that the check node is stable, otherwise, selecting and updating the edge connected with the check node. Check nodes are thus divided into the following three sets:
1, set: check nodes with unsatisfied check equations are classified into set 1 and defined in ScNot equal to 0. And the check nodes in the set 1 are updated in the next iteration, and all edges between the variable nodes connected with the check nodes transmit information until the code word is correctly transmitted.
Set 2: check nodes satisfying the check equation are defined as ScAnd the reliability of a check node is less than the reliability threshold, then such check node is classified into set 2. The check nodes in the set 2 have low reliability, and are easy to cause variable node information oscillation, and the reason that the set 2 is formed is that most of the nodes in the set 2 need only to perform partial iterative updating because a few adjacent variable nodes are decoded incorrectly and most of other adjacent variable nodes are decoded correctly. In order to reduce unnecessary side transfer information, only the information of a certain node in the set 2 needs to be determined by which variable nodes adjacent to the node, so N is definedw-min(c) And the first w smaller information sets in the variable node information LLR adjacent to the node c in the set 2 are represented, that is, the w variable nodes mainly determining the reliability of the check node c. When a variable node adjacent to node c belongs to Nw-min(c) Then the variable node is most likely to be in error, and information needs to be propagated to the edge. When the variable node connected to set 2 does not belong to Nw-min(c) The edge to which it is connected need not pass information.
Set 3: if the check equation is satisfied and the reliability of the node is greater than or equal to the reliability threshold, the check node is classified into the set 3. The variable nodes adjacent to the check nodes of set 3 have higher reliability, so no information will be passed on the edges adjacent to set 3 in the next iteration.
Table 1: edge classification criteria
Figure BDA0001393845930000081
Table 1 shows the classification of the edges in the Tanner graph,m,n∈ (0,1) indicates whether the edge needs to be updated further during the decoding iteration, whenm,nWhen 0, the edge is shown to converge and does not need to be updated in the next iteration, whenm,nWhen 1, the representation needs to be updated in the next iteration. If the check node belongs to the set 2, the w variable nodes which have a large influence on the reliability of the check node are updated, and the other corresponding variable nodes are not updated, namely, only the w edges which have a large influence are operated.
As shown in fig. 1, three types of check nodes are proposed based on the present invention, wherein all variable nodes connected to the check node of set 1 need to perform information transmission and also need to perform next iteration update; the edges connected with the check nodes of the set 2 need to be classified, and only w edges with larger influence need to be found for information transmission, that is, whether the updated information of the variable nodes plays a role in determining the reliability of the check nodes of the set 2 is judged, if so, the information transmission needs to be carried out in the next iteration updating, and if not, the information transmission does not need to be carried out on the edges; the check nodes of the set 3 belong to reliable nodes, and the edges connected with the reliable nodes do not need to carry out information transmission.
Secondly, for the selection of the reliability threshold τ:
although the check nodes of the set 2 satisfy the check equation, the reliability of the check nodes still cannot be described, and the reliability of the check nodes must be higher than a value, which is referred to as a reliability threshold in the present invention. The reliability threshold can be set according to human experience, or can be obtained by a check equation through modulo-2 sum of a plurality of variable node information, and is mainly determined by row weight in a matrix. In the preferred embodiment of the present invention, the reliability threshold is set such that the degrees of the check nodes are linearly related:
τ=τ1+λ(dc-10) (11)
the reliability threshold calculation formula is expressed as formula (11), where τ represents check node degree dcReliability threshold of τ1Is an initialization reliability threshold with a row weight of 10, dcIn order to determine the row weight of the regular LDPC code, or the degree of the check node, λ is a fixed constant parameter, and as can be seen from equation (11), the reliability threshold τ is a set of arithmetic progression columns using the row weight of the check matrix as a difference. Therefore, the reliability threshold value changes along with the change of the row weight. In order to obtain a reliability threshold value with check node degree of 10, a regular LDPC code with check node degree of 10, code length of 1024 and code rate of 0.5 is randomly constructed by a Mackay construction method, wherein w is equal to 2, and the minimum value and the second minimum value are mainly used for check updating in an MS algorithm.
As shown in fig. 2, the reliability threshold of the LDPC code with a degree of 10 is 2.7, that is, the initial value of the reliability threshold is 2.7. The error performance with the threshold value of 2.4 shown in fig. 2 is the worst, because when the reliability threshold value is assumed to be 2.4, that is, greater than 2.4, the node is mistaken for reliability, and node updating is not performed any more, and the node at this time does not necessarily converge, which easily causes codeword error and reduces the error performance. Similarly, when the reliability threshold is set to be 2.8, the number of converged nodes is relatively reduced, the number of nodes needing message transmission is increased, the calculation complexity is increased by 56% compared with the reliability threshold of 2.7, but the error code performance is not obviously increased, and the reliability threshold is set to be 2.7, namely tau, in order to reduce the calculation complexity of the algorithm1=2.7。
As can be seen from equation (11), for LDPC codes of different parity check degrees, it is necessary to know the value of λ to obtain the reliability threshold of the LDPC codes of different parity check degrees. And randomly constructing a regular LDPC code with check node degrees of 15, 20, 25, 30 and 35, code rate of 0.5 and code length of 1024 by using a Mackay construction method, and determining an optimal lambda value by simulation under the condition that the signal-to-noise ratio is 2.8 dB.
As can be seen from fig. 3, when the change rate λ is equal to 0.05, the error performance of the codeword is better. When the lambda value is equal to 0.04, the determined reliability threshold is lower, and a plurality of non-reliable nodes are determined as reliable nodes, so that the error code performance is reduced; when the lambda value is equal to 0.06, the reliability threshold value is too large, the nodes which should be reliable are regarded as unreliable, and under the condition of limited iteration times, some nodes do not reach convergence yet, and the calculation complexity is increased. The reliability threshold is expressed as
τ=2.7+0.05(dc-10) (12)
The reliability threshold corresponding to the check node in the parity check matrix under different row weights can be easily obtained by the formula (12), so that the calculation is simpler, and the application of the algorithm in engineering is facilitated. The reliability threshold of the present invention is obtained with the above process.
The decoding effect of the invention is analyzed by simulation, and the simulation conditions are as follows: AWGN channel, BPSK modulation, maximum number of iterations 30, λ equal to 2.
Fig. 4 and 5 are simulation comparisons of error code performance of the flood algorithm and the EDBP algorithm proposed by the present invention using a (1024, 512) Mackay code with a line weight of 16 and a (1024, 512) Mackay code with a line weight of 24, respectively. As can be seen from fig. 4 and 5, with the decoding algorithm of the present invention, the error performance of the row weight 24 Mackay code is better than that of the row weight 16 Mackay code, because the LDPC code with row weight 24 receives more information at a single check node than the LDPC code with row weight 16, and can correct more codeword errors, so the error performance is better than that of the LDPC code with row weight 16.
The comparison of the error performance shown in fig. 4 and the comparison shown in fig. 5 clearly shows that: firstly, when the signal-to-noise ratio is lower than 1.8dB, the error code performance of the EDBP algorithm provided by the invention is similar to that of the Flooding algorithm, because when the signal-to-noise ratio is lower, the reliability of the node is lower, the number of the stable edges in the Tanner graph is less, basically, all the edges in the Tanner graph are in information transmission, and the EDBP algorithm is basically similar to the Flooding algorithm. Secondly, when the signal-to-noise ratio is larger than 1.8dB, along with the progress of decoding, the reliability of node information is increased, the number of reliable check nodes is increased, and the number of edges in a Tanner graph is increased. In conclusion, the EDBP algorithm provided by the invention has implementability.
As the number of established check equations is continuously increased along with the increase of the signal-to-noise ratio and the progress of decoding, and the number of check nodes with reliability higher than the reliability threshold is also continuously increased, more and more sides tending to stability in the Tanner graph are provided, and the calculation complexity of the side reduction of the transmitted information is reduced. Therefore, the overall complexity of the algorithm is lower than that of the Flooding algorithm, and when the signal-to-noise ratio is 3.0dB, the computational complexity of the Flooding decoding algorithm is d in each iteration updating processc× M, the calculation complexity of EDBP algorithm is about 0.42 × dc× M, the computational complexity is greatly reduced.
It should be noted that, although the above-mentioned embodiments of the present invention are illustrative, the present invention is not limited thereto, and thus the present invention is not limited to the above-mentioned embodiments. Other embodiments, which can be made by those skilled in the art in light of the teachings of the present invention, are considered to be within the scope of the present invention without departing from its principles.

Claims (7)

1. A BP decoding method based on a Tanner graph edge scheduling strategy is characterized by comprising the following steps:
step 1, initializing decoding parameters, namely initializing an initialization message transmitted to a check node by a variable node, initializing information transmitted to the variable node by the check node, wherein the edge number k of the transmitted information is 0 and the iteration number is 1; setting the maximum number of iterations l at the same timemaxAnd a reliability threshold τ;
step 2, calculating the maximum edge number k required to be updatedmaxI.e. by
kmax=Mdclmax
Wherein M is the number of check nodes, dcTo check the degree of a node, /)maxIs the maximum iteration number;
step 3, when the iteration number l is less than the maximumLarge number of iterations lmaxThen, turning to the step 4; otherwise, go to step 9;
step 4, in the first iteration updating process, the number k of the edges of the information transmitted in the Tanner graph is less than the maximum number k of the edgesmaxThen, turning to step 5; otherwise, go to step 8;
step 5, carrying out message updating and decoding on all check nodes in the Tanner graph;
step 5.1, all check nodes in the Tanner graph are classified, namely
Classifying check nodes which do not meet a check equation into a first set;
classifying the check nodes which meet the check equation and have the reliability smaller than the reliability threshold tau into a second set;
classifying check nodes which meet a check equation and have the reliability of the check nodes more than or equal to a reliability threshold value tau into a third set;
step 5.2, based on the classification of step 5.1, performing different forms of message update decoding on all check nodes in the Tanner graph;
firstly, each check node in the first set needs to be completely transferred and updated, namely, when all the check nodes are completely transferred and updated, the information of all variable nodes connected with the check nodes is directly transferred to the check nodes;
each check node in the second set needs to be partially transferred and updated, that is, when each check node needs to be partially transferred and updated, the maximum likelihood probability values of all variable nodes connected with the check node need to be sorted firstly, and then information of the variable nodes with smaller maximum likelihood probability values in the first w sets is transferred to the check node; wherein w is a set value;
each check node in the third set does not need to be updated, namely, the information of all variable nodes connected with the check node does not need to be transmitted to the check node;
step 6, carrying out message updating and decoding on all variable nodes in the Tanner graph;
when each variable node is updated, the information of all check nodes connected with the variable node is directly transmitted to the variable node;
step 7, adding 1 to the edge number k of the transmitted information in the Tanner graph, and returning to the step 4;
step 8, adding 1 to the iteration times l, and returning to the step 3;
and 9, executing decoding judgment, calculating hard judgment information for all variable nodes, and stopping decoding until all check equations are met.
2. The BP decoding method based on Tanner graph edge scheduling policy according to claim 1, wherein in step 1, the variable node transmits the initialization message m to the check nodev→c=2y/σ2Where y is the received sequence, σ2Is the noise variance.
3. The BP decoding method based on Tanner graph edge scheduling policy according to claim 1, wherein in step 1, the initialization information m transmitted to the variable node by the check nodec→v=0。
4. The BP decoding method based on the Tanner graph edge scheduling policy according to claim 1, wherein in step 1, the number k of edges of the transmitted information is the number of edges that the variable node needs to update when transmitting to the check node, and is also the number of edges that the check node needs to update when transmitting to the variable node, wherein the number of edges that the variable node needs to update when transmitting to the check node is equal to the number of edges that the check node needs to update when transmitting to the variable node.
5. The BP decoding method based on the Tanner graph edge scheduling policy according to claim 1, wherein in steps 5 and 9, when a check equation S is 0, it is indicated that the check equation is satisfied; and when the check equation S is not equal to 0, indicating that the check equation is not satisfied.
6. The BP decoding method based on the Tanner graph edge scheduling policy according to claim 5, wherein in steps 5 and 9, the check equation S is:
Figure FDA0002528565660000021
wherein, H is a check matrix,
Figure FDA0002528565660000022
for coding a sequence, T denotes transpose.
7. The BP decoding method according to claim 1, wherein in step 5, the reliability of the check node is equal to the minimum of the absolute values of the maximum likelihood probability values of all the variable nodes adjacent to the check node.
CN201710764489.3A 2017-08-30 2017-08-30 BP decoding method based on Tanner graph edge scheduling strategy Active CN107565978B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710764489.3A CN107565978B (en) 2017-08-30 2017-08-30 BP decoding method based on Tanner graph edge scheduling strategy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710764489.3A CN107565978B (en) 2017-08-30 2017-08-30 BP decoding method based on Tanner graph edge scheduling strategy

Publications (2)

Publication Number Publication Date
CN107565978A CN107565978A (en) 2018-01-09
CN107565978B true CN107565978B (en) 2020-10-16

Family

ID=60978210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710764489.3A Active CN107565978B (en) 2017-08-30 2017-08-30 BP decoding method based on Tanner graph edge scheduling strategy

Country Status (1)

Country Link
CN (1) CN107565978B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199722B (en) * 2018-01-10 2021-07-20 桂林电子科技大学 BIBD-LDPC code construction method based on matrix lattice
CN108566211B (en) * 2018-03-27 2021-11-02 西安电子科技大学 Layered LDPC decoding method based on dynamic change of H matrix layer processing sequence
CN108809330B (en) * 2018-05-07 2020-09-22 中山大学 LDPC code decoding method for NAND-Flash storage medium
CN109347485A (en) * 2018-09-29 2019-02-15 山东存储之翼电子科技有限公司 Construct the method and LDPC code Compilation Method of LDPC check matrix
CN109194338A (en) * 2018-11-07 2019-01-11 桂林电子科技大学 A kind of polarization code coding method of the more bit process of mixed node
CN110708077B (en) * 2019-11-01 2020-12-15 苏州怡林城信息科技有限公司 LDPC code large number logic decoding method, device and decoder

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043218A (en) * 2006-03-22 2007-09-26 松下电器产业株式会社 Decoding method for LDPC code
CN101534129A (en) * 2009-04-21 2009-09-16 北京邮电大学 Belief propagation LDPC interpretation method based on non-equality information updating
CN101595644A (en) * 2005-12-27 2009-12-02 Lg电子株式会社 Use the equipment and the method for channel code decoding
CN104184480A (en) * 2014-08-25 2014-12-03 西安电子科技大学 Improved LDPC coding method reducing complexity

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006039801A1 (en) * 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
JP2006238127A (en) * 2005-02-25 2006-09-07 Sony Corp Decoding device and method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101595644A (en) * 2005-12-27 2009-12-02 Lg电子株式会社 Use the equipment and the method for channel code decoding
CN101043218A (en) * 2006-03-22 2007-09-26 松下电器产业株式会社 Decoding method for LDPC code
CN101534129A (en) * 2009-04-21 2009-09-16 北京邮电大学 Belief propagation LDPC interpretation method based on non-equality information updating
CN104184480A (en) * 2014-08-25 2014-12-03 西安电子科技大学 Improved LDPC coding method reducing complexity

Also Published As

Publication number Publication date
CN107565978A (en) 2018-01-09

Similar Documents

Publication Publication Date Title
CN107565978B (en) BP decoding method based on Tanner graph edge scheduling strategy
KR100891782B1 (en) Apparatus and method for correcting of forward error in high data transmission system
CN109586730B (en) Polarization code BP decoding algorithm based on intelligent post-processing
CN109286405B (en) Low-complexity polarization code progressive bit flipping SC decoding method
CN107612560B (en) Polarization code early iteration stopping method based on partial information bit likelihood ratio
Xu et al. Polar decoding on sparse graphs with deep learning
CN108092673B (en) BP iterative decoding method and system based on dynamic scheduling
CN110535475B (en) Hierarchical adaptive normalized minimum sum decoding algorithm
CN110830050A (en) LDPC decoding method, system, electronic device and storage medium
CN110830049A (en) LDPC decoding method for improving minimum sum of offsets based on density evolution
CN109981226A (en) A kind of combined dispatching decoding algorithm of joint source-channel coding system
Jayasooriya et al. Analysis and design of Raptor codes using a multi-edge framework
US11184025B2 (en) LDPC decoding method and LDPC decoding apparatus
CN101106383A (en) A low density checksum decoding method
KR20090012189A (en) Apparatus and method for decoding using performance enhancement algorithm for ldpc codes with scaling based min-sum iterative decoding
CN104184480A (en) Improved LDPC coding method reducing complexity
CN108566211B (en) Layered LDPC decoding method based on dynamic change of H matrix layer processing sequence
CN111669184B (en) Joint edge dynamic scheduling iterative decoding method applied to LDPC coding cooperation
Tang et al. Normalized Neural Network for Belief Propagation LDPC Decoding
WO2021073338A1 (en) Decoding method and decoder
CN111010196B (en) Decoding method for BP List of polarization code
Zhou et al. Performance analysis of LDPC decoding algorithm
CN108092672B (en) BP decoding method based on folding scheduling
Tian et al. A scalable graph neural network decoder for short block codes
CN111835363A (en) LDPC code decoding method based on alternative direction multiplier method

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