ADMM decoding method and device based on improved line segment projection

By improving the ADMM decoding method of line segment projection, the problems of poor performance of ADMM decoding algorithm in low signal-to-noise ratio areas and high complexity of verification multicellular body projection are solved, and adaptive punishment and low bit error rate performance are achieved, which shortens Decoding time.

CN114710167BActive Publication Date: 2024-12-27HUAZHONG NORMAL UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210249244.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-14
Publication Date
2024-12-27
Estimated Expiration
2042-03-14

AI Technical Summary

Technical Problem

The ADMM decoding algorithm has poor decoding performance in low signal-to-noise ratio areas, and the complexity of the multicellular projection step is high, which makes it take a long time to update the information of the verification node. The existing method requires the parameters of the penalty function. Optimization is time-consuming.

Method used

Adopting the ADMM decoding method based on improved line segment projection, normalizing the projection vector through preset thresholds and judgment rules to determine its Euclidean projection on multicellular bodies, eliminating the step of optimizing punishment parameters. , adaptive punishment, reducing the complexity of decoding.

Benefits of technology

Improves the bit error rate performance, shortens the decoding time, reduces the computational complexity, is easy to implement with hardware, and avoids the steps of optimizing penalties.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114710167B_ABST
    Figure CN114710167B_ABST
Patent Text Reader

Abstract

The present application provides a method and device for ADMM decoding based on improved line segment projection, the method comprising: determining a vector to be projected based on a low-density parity check code LDPC, a selection matrix corresponding to the LDPC, and a Lagrange multiplier vector; normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a first vector after normalization; and determining the Euclidean projection of the vector to be projected on a check polyhedron according to the parity of the number of elements in the first vector whose value is 1. The method and device for ADMM decoding based on improved line segment projection provided by the present application have the effect of adaptive penalty, eliminate the step of optimizing penalty parameters, and have better bit error rate performance than the existing ADMM decoding method with a penalty function, reduce the complexity of calculating the Euclidean projection of the vector to be projected on the check polyhedron during the decoding process, are easy to implement in hardware, and shorten the decoding time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a method and device for ADMM decoding based on improved line segment projection. Background Art

[0002] Recently, the Alternating Direction Method of Multipliers (ADMM) decoding algorithm has been studied by more and more coding scholars. The algorithm was first proposed by Barman et al., which combines the ADMM framework with the linear programming algorithm, effectively solving the error flattening problem of the traditional belief propagation (BP) decoding algorithm, and retains the advantages of the maximum likelihood authentication of linear programming decoding. However, the decoding performance of the ADMM decoding algorithm is poor in low signal-to-noise ratio areas, and the complexity of the polytope projection step in the algorithm is high, resulting in a long time to update the information of the check node.

[0003] In existing research, a method of reconstructing the penalty function has been proposed for the ADMM decoding method of low-density parity check code (LDPC). Although it can effectively improve the bit error rate of the ADMM decoding method in the low signal-to-noise ratio area, it requires optimizing the penalty parameters of the penalty function, and the process is very time-consuming. Summary of the invention

[0004] In view of the problems existing in the prior art, the present application provides a method and device for ADMM decoding based on improved line segment projection.

[0005] In a first aspect, the present application provides a method for ADMM decoding based on improved line segment projection, comprising:

[0006] Determine a vector to be projected based on a low-density parity-check code LDPC, a selection matrix corresponding to the LDPC, and a Lagrange multiplier vector;

[0007] Normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector;

[0008] According to the parity of the number of elements in the first vector whose values ​​are 1, the Euclidean projection of the vector to be projected on the check polyhedron is determined.

[0009] Optionally, the normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector includes:

[0010] Comparing the value of each element in the to-be-projected vector with the size of the preset threshold in sequence;

[0011] If the value of the element in the to-be-projected vector is greater than or equal to the preset threshold, the value of the element is judged to be 1;

[0012] If the value of the element in the to-be-projected vector is less than the preset threshold, the value of the element is judged to be 0;

[0013] Based on the judgment result of each element in the vector to be projected, a first vector after the vector to be projected is normalized is obtained.

[0014] Optionally, determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1 includes:

[0015] If the number of elements whose value is 1 in the first vector is an even number, it is determined that the first vector is the Euclidean projection of the vector to be projected on the verification polyhedron.

[0016] Optionally, determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1 includes:

[0017] If the number of elements with a value of 1 in the first vector is an odd number, then determine the two even vertices of the vector to be projected that are closest to the unit cube, and the projection result of the vector to be projected on the line segment formed by the two even vertices, as the Euclidean projection of the vector to be projected on the verification polyhedron.

[0018] Optionally, if the number of elements with a value of 1 in the first vector is an odd number, determining two even vertices of the vector to be projected that are closest to the unit cube, and a projection result of the vector to be projected on the line segment formed by the two even vertices as the Euclidean projection of the vector to be projected on the check polyhedron, comprises:

[0019] If the number of elements with a value of 1 in the first vector is an odd number, determine the positions of the two elements whose values ​​in the to-be-projected vector have the smallest difference with the preset threshold, and record them as the first position and the second position respectively;

[0020] Negate the elements at the first position and the second position of the first vector respectively to determine the corresponding second vector and third vector;

[0021] Based on the point-to-line segment projection formula, determine the projection result of the vector to be projected on the target vector as the Euclidean projection of the vector to be projected on the verification polyhedron;

[0022] The target vector is determined based on the second vector and the third vector.

[0023] Optionally, the point-to-line segment projection formula is determined based on the target vector, the projection of the dot product result of the target vector and the fourth vector on the unit cube, and the second vector; the fourth vector is determined based on the second vector and the vector to be projected.

[0024] Optionally, the point-to-line segment projection formula is:

[0025] z=A+t·AB; where Target vector AB={0,…,B p -A p ,…,B q -A q ,…,0}, A represents the second vector, B represents the third vector, and the fourth vector Av={…,v p -A p ,…,v q -A q ,…}.

[0026] In a second aspect, the present application further provides a device for ADMM decoding based on improved line segment projection, comprising:

[0027] A determination module, used to determine a vector to be projected based on a low-density parity check code LDPC, a selection matrix corresponding to the LDPC, and a Lagrange multiplier vector;

[0028] A decision module, used for normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector;

[0029] A projection module is used to determine the Euclidean projection of the vector to be projected on the verification polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1.

[0030] In a third aspect, the present application further provides an electronic device, comprising a processor and a memory storing a computer program, wherein when the processor executes the computer program, the method of ADMM decoding based on improved line segment projection described in the first aspect is implemented.

[0031] In a fourth aspect, the present application further provides a computer program product, including a computer program, which, when executed by a processor, implements the method of ADMM decoding based on improved line segment projection as described in the first aspect above.

[0032] The method and device for ADMM decoding based on improved line segment projection provided in the embodiment of the present application determine the non-zero positive integer vertices of the vector to be projected after normalization processing by determining the vector to be projected within a preset threshold and decision rule, and then determine the Euclidean projection of the vector to be projected on the check polyhedron according to whether the number of the above non-zero positive integer vertices is odd or even. The method for ADMM decoding based on improved line segment projection provided in the embodiment of the present application has the effect of adaptive penalty, omitting the step of optimizing penalty parameters, and the bit error rate performance is better than the existing ADMM decoding method with penalty function, reducing the complexity of calculating the Euclidean projection of the vector to be projected on the check polyhedron during the decoding process, being easy to implement in hardware, and shortening the decoding time. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] In order to more clearly illustrate the technical solutions in the present application or the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0034] Figure 1 It is a flowchart of a method for ADMM decoding based on improved line segment projection provided in an embodiment of the present application;

[0035] Figure 2 It is an overall flow chart of the ADMM decoding method based on improved line segment projection provided in an embodiment of the present application;

[0036] Figure 3 It is a schematic diagram of the implementation flow of the method for ADMM decoding based on improved line segment projection provided in an embodiment of the present application;

[0037] Figure 4 is a comparison chart of the frame error rate performance of the ADMM decoding method based on improved line segment projection provided by an embodiment of the present application and the existing method;

[0038] Figure 5 is a comparison chart of the average number of iterations of the ADMM decoding method based on improved line segment projection provided by an embodiment of the present application and the existing method;

[0039] Figure 6 is a comparison chart of average decoding time between the ADMM decoding method based on improved line segment projection provided by an embodiment of the present application and the existing method;

[0040] Figure 7 is a structural schematic diagram of a device for ADMM decoding based on improved line segment projection provided in an embodiment of the present application;

[0041] Figure 8It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0042] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in this application will be clearly and completely described below in conjunction with the drawings in this application. Obviously, the described embodiments are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0043] Figure 1 is a flow chart of the method for ADMM decoding based on improved line segment projection provided in an embodiment of the present application, such as Figure 1 As shown, the method includes:

[0044] Step 101: Determine a vector to be projected based on a low-density parity-check code LDPC, a selection matrix corresponding to the LDPC, and a Lagrange multiplier vector;

[0045] Step 102: Based on a preset threshold and a decision rule, determine a first vector consisting of integer vertices closest to the vector to be projected and the unit cube;

[0046] Step 103: Determine the Euclidean projection of the vector to be projected on the verification polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1;

[0047] Step 104: Determine the LDPC decoding result based on the Euclidean projection of the vector to be projected on the check polytope.

[0048] Specifically, low-density parity check code LDPC is a commonly used codeword. A binary LDPC code with a code length of n can be expressed as x = {x1, x2, ..., x n-1 ,x n}, after BPSK modulation, the input is an additive white Gaussian noise channel, and the vector received by the receiving end is y = {y1, y2, ..., y n-1 ,y n}; where the values ​​of the elements in vector x are 0 or 1.

[0049] The existing ADMM decoding method for LDPC codes requires determining the auxiliary variables corresponding to the LDPC codes at the check nodes. When determining the auxiliary variables corresponding to the check nodes, the Euclidean projection of the vector to be projected on the corresponding check polyhedron is usually determined based on the input LDPC code, the selection matrix corresponding to the LDPC code and the corresponding Lagrange multiplier vector. The calculation steps are relatively cumbersome and the calculation complexity is high. Therefore, an ADMM decoding method based on improved line segment projection is proposed in this application.

[0050] The vector to be projected is determined by inputting an LDPC code, a selection matrix corresponding to the LDPC code and a corresponding Lagrange multiplier vector in the prior art; wherein the selection matrix is ​​a check matrix determined according to the LDPC code, and then a corresponding selection matrix is ​​generated according to the check matrix.

[0051] The above-mentioned vector to be projected is preprocessed, and the value of each element in the vector to be projected is compared with the size of the preset threshold, and the value of the above-mentioned vector to be projected is normalized in combination with the judgment rule to obtain the corresponding first vector. The above-mentioned preset threshold can be set according to actual needs, and is generally set to 0.5. The judgment rule is specifically that when the value of the element in the vector to be projected is greater than the preset threshold, the value of the element is judged to be a first value, when the value of the element in the vector to be projected is equal to the preset threshold, the value of the element is judged to be a second value, and when the value of the element in the vector to be projected is less than the preset threshold, the value of the element is judged to be a third value; wherein the above-mentioned first value, second value and third value can be different values, or the same value, and are generally set to different values.

[0052] After normalization, the number of elements in the first vector whose values ​​are non-zero positive integers is determined, and based on whether the number is even or odd, it is determined whether the first vector is directly used as the Euclidean projection of the vector to be projected on the verification polyhedron, or whether further processing is required to determine the projection of the vector to be projected on a specific line segment as its Euclidean projection on the verification polyhedron.

[0053] The ADMM decoding method based on improved line segment projection provided in the embodiment of the present application determines the non-zero positive integer vertices of the vector to be projected after normalization processing by determining the vector to be projected within a preset threshold and decision rule, and then determines the Euclidean projection of the vector to be projected on the check polyhedron according to whether the number of the above non-zero positive integer vertices is odd or even. The ADMM decoding method based on improved line segment projection provided in the embodiment of the present application has the effect of adaptive penalty, omits the step of optimizing penalty parameters, and has better bit error rate performance than the existing ADMM decoding method with penalty function, reduces the complexity of calculating the Euclidean projection of the vector to be projected on the check polyhedron during the decoding process, is easy to implement in hardware, and shortens the decoding time.

[0054] Optionally, the normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector includes:

[0055] Comparing the value of each element in the to-be-projected vector with the size of the preset threshold in sequence;

[0056] If the value of the element in the to-be-projected vector is greater than or equal to the preset threshold, the value of the element is judged to be 1;

[0057] If the value of the element in the to-be-projected vector is less than the preset threshold, the value of the element is judged to be 0;

[0058] Based on the judgment result of each element in the vector to be projected, a first vector after the vector to be projected is normalized is obtained.

[0059] Specifically, the value of each element in the vector to be projected is obtained in turn, and the size is compared with the preset threshold;

[0060] If the value of an element in the to-be-projected vector is greater than or equal to a preset threshold, the value of the element is set to 1;

[0061] If the value of an element in the vector to be projected is less than a preset threshold, the value of the element is set to 0;

[0062] After the above processing, the value of each element of the vector to be projected will change according to the above preset threshold and decision rule, and the first vector corresponding to the vector to be projected is obtained. The value of each element in the first vector corresponding to the vector to be projected may be different if the threshold value is different.

[0063] In this application, the above-mentioned preset threshold is usually set to 0.5, and the judgment rule is: when the value of an element of the vector to be projected is greater than or equal to 0.5, the value of the element is judged to be any positive integer (for simplicity, the any positive integer is usually set to 1), that is, the value of the element is set to any positive integer; when the value of the element of the vector to be projected is less than 0.5, the value of the element is judged to be 0, that is, the value of the element is set to 0.

[0064] For example, the vector to be projected ν = {0.8, 0.4, 0.9, 1, 0.3, 1.1}, the preset threshold is 0.5, and the decision rule is: when the value of the element is greater than or equal to 0.5, the value of the element is set to 1; when the value of the element is less than 0.5, the value of the element is set to 0; then the first vector u of the vector to be projected is {1, 0, 1, 1, 0, 1}.

[0065] Optionally, determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1 includes:

[0066] If the number of elements with a value of 1 in the first vector is an even number, it is determined that the first vector is the Euclidean projection of the vector to be projected on the verification polyhedron.

[0067] Specifically, after determining the first vector of the vector to be projected, count the number of elements with a value of 1 in the first vector, and if the number of elements with a value of 1 in the first vector is an even number, directly determine the first vector as the Euclidean projection of the vector to be projected on the verification polyhedron. If the number of elements with a value of 1 in the first vector is an odd number, further processing of the vector to be projected is required, specifically determining the two even vertices of the vector to be projected closest to the unit cube, and determining the projection result of the vector to be projected on the line segment formed by the two even vertices, and using the projection result as the Euclidean projection of the vector to be projected on the verification polyhedron.

[0068] Optionally, if the number of elements with a value of 1 in the first vector is an odd number, determining two even vertices of the vector to be projected that are closest to the unit cube, and a projection result of the vector to be projected on the line segment formed by the two even vertices as the Euclidean projection of the vector to be projected on the check polyhedron, comprises:

[0069] If the number of elements with a value of 1 in the first vector is an odd number, determine the positions of the two elements whose values ​​in the to-be-projected vector have the smallest difference with the preset threshold, and record them as the first position and the second position respectively;

[0070] Negate the elements at the first position and the second position of the first vector respectively to determine the corresponding second vector and third vector;

[0071] Based on the point-to-line segment projection formula, determine the projection result of the vector to be projected on the target vector as the Euclidean projection of the vector to be projected on the verification polyhedron;

[0072] The target vector is determined based on the second vector and the third vector.

[0073] Specifically, when it is determined that the number of elements in the first vector u corresponding to the vector v to be projected that are 1 is an odd number, first determine the positions of the two elements whose vector values ​​of the elements in the vector v to be projected have the smallest difference with the preset threshold. Here, the position of the element specifically refers to the number of the element in all the elements of the vector to be projected, which can also be understood as the subscript corresponding to the element, and the positions of the two elements are denoted as p and q, respectively. Then, the value of the p-th element in the first vector u is negated to obtain a new vector A, denoted as point A, and the value of the q-th element in the first vector u is negated to obtain a new vector B, denoted as point B. Obviously, point A and point B have only two different values ​​of the elements in the two positions, so the target vector AB can be expressed as: AB = {0,…,Bp -A p ,…,B q -A q ,…,0}.

[0074] Then, according to the projection formula from point to line segment, the projection result of the vector to be projected on the target vector AB is determined as the Euclidean projection of the vector to be projected on the verification polyhedron.

[0075] Optionally, the point-to-line segment projection formula is determined based on the target vector, the projection of the dot product result of the target vector and the fourth vector on the unit cube, and the second vector; the fourth vector is determined based on the second vector and the vector to be projected.

[0076] Specifically, the point-to-line segment projection formula can be expressed in two forms. Case 1: The fourth vector Av = {…, v p -A p ,…,v q -A q ,…}, target vector AB={0,…,B p -A p ,…,B q -A q ,…,0}, the result of the dot product AvAB is divided by 2 to determine its projection on the unit cube, which can be expressed as

[0077] The point-to-line segment projection formula is determined based on the target vector AB, the dot product of the fourth vector Av and the target vector AB, and the second vector A. The vector to be projected v = {…, v p ,…,v q ,…},Π [0,1] (·) represents the projection of the corresponding vector on the unit cube, that is, when the value of the element in the vector is greater than or equal to 1, the value of the projection on the unit cube is 1; when the value of the element is less than or equal to 0, the value of the projection on the unit cube is 0; when the value of the element is greater than 0 and less than 1, the value of the projection on the unit cube is the original value of the element; for example, the corresponding vector is {1.2, -1, 0.8, 0, 1}, then Π [0,1] {1.2,-1,0.8,0,1}={1,0,0.8,0,1}.

[0078] The corresponding point-to-line segment projection formula is:

[0079] z=A+t·AB; where

[0080] Case 2: The fourth vector can also be expressed as Bv = {…, v p -B p ,…,vq -B q ,…}, the corresponding target vector is expressed as BA={0,…,A p -B p ,…,A q -B q ,…,0}, the result of the dot product of the two BvBA is divided by 2 to determine its projection on the unit cube, which can be expressed as

[0081] At this time, the point-to-line segment projection formula is determined based on the target vector BA, the dot product result of the fourth vector Bv and the target vector BA, and the third vector B. The vector to be projected v = {…, v p ,…,v q ,…}.

[0082] The corresponding point-to-line segment projection formula is:

[0083] z=B+t·BA; where

[0084] The ADMM decoding method based on improved line segment projection provided in the embodiment of the present application determines the non-zero positive integer vertices of the vector to be projected after normalization processing by determining the vector to be projected within a preset threshold and decision rule, and then determines the Euclidean projection of the vector to be projected on the check polyhedron according to whether the number of the above non-zero positive integer vertices is odd or even. The ADMM decoding method based on improved line segment projection provided in the embodiment of the present application has the effect of adaptive penalty, omits the step of optimizing penalty parameters, and has better bit error rate performance than the existing ADMM decoding method with penalty function, reduces the complexity of calculating the Euclidean projection of the vector to be projected on the check polyhedron during the decoding process, is easy to implement in hardware, and shortens the decoding time.

[0085] The following is a specific example to illustrate the ADMM decoding method based on improved line segment projection provided by the present application:

[0086] Figure 2 is an overall flow chart of the ADMM decoding method based on improved line segment projection provided in an embodiment of the present application, such as Figure 2 As shown, the method specifically includes:

[0087] Step 1: Initialize decoding parameters:

[0088] 1.1. For a binary LDPC code x={x1,x2,…,x n-1 ,x n}, after BPSK modulation, the input is an additive white Gaussian noise channel, and the vector received by the receiving end is y = {y1, y2, ..., y n-1 ,y n}, then according to the log-likelihood ratio i∈{1,2,...,n}, calculate the log-likelihood ratio vector γ={γ1,γ2,...,γ n-1 ,γ n};

[0089] 1.2. The initial value of the iteration number k is 0 and the maximum value is 500;

[0090] 1.3. Initialize the Lagrange multiplier vector λ j Initialize auxiliary variable z to a vector of all 0s j is a vector of all 0.5;

[0091] Step 2: Update the current information of all variable nodes according to the following formula:

[0092]

[0093] Among them, x i represents the value of the i-th element in the vector x of the variable node (i.e. the current information of the i-th variable node), z j→i Represents the auxiliary variable z of the jth check node j The vector position corresponding to the i-th variable node in , λ j→i Denotes the Lagrange multiplier vector λ corresponding to the jth check node j The vector corresponding to the i-th variable node in , μ is a constant greater than 0, ∏ [0,1] (·) represents the projection of the corresponding vector on the unit cube, N v (i) represents the index of the check node adjacent to the i-th variable node, |N v (i) represents the number of check nodes adjacent to the i-th variable node.

[0094] Among them, [0,1] (·) represents the projection of the corresponding vector on the unit cube, that is, when the value of the element in the vector is greater than or equal to 1, the value of the projection on the unit cube is 1; when the value of the element is less than or equal to 0, the value of the projection on the unit cube is 0; when the value of the element is greater than 0 and less than 1, the value of the projection on the unit cube is the original value of the element; for example, the corresponding vector is {1.2, -1, 0.8, 0, 1}, then Π [0,1] {1.2,-1,0.8,0,1}={1,0,0.8,0,1}.

[0095] Step 3: Update the auxiliary variable z according to the following formula j :

[0096]

[0097] Among them, z jrepresents the auxiliary variable corresponding to the jth check node, ∏PP dj (·) represents the Euclidean projection of the corresponding vector on the check polytope corresponding to the jth check node, P j is a selection matrix generated according to the check matrix H. For example, the check matrix H corresponding to the following (7,4) Hamming code is:

[0098]

[0099] The elements of the first row of the check matrix H are [1 1 0 1 1 0 0], so the selection matrix P composed of the variable nodes adjacent to the check node is j for:

[0100]

[0101] Calculate the vector to be projected When verifying the Euclidean projection on the polyhedron, z is calculated j When using the ADMM decoding method based on improved line segment projection provided by the present application, the specific process is as follows Figure 3 shown.

[0102] Step 4: Update the Lagrange multiplier vector λ according to the following formula:

[0103] λ j k+1 =λ j k +μ(P j x k+1 -z j k+1 )

[0104] Step 5: Determine whether the output vector x satisfies the early stopping condition H T x=0 or whether the preset maximum number of iterations is reached. If both are no, repeat steps 2 to 4. If any condition is met, stop the iteration.

[0105] Step 6: Obtain the decoding result of the LDPC codeword.

[0106] Figure 3 : is a schematic diagram of an implementation flow of a method for ADMM decoding based on improved line segment projection provided in an embodiment of the present application, the method specifically comprising:

[0107] 1. Remember The above determination Perform Euclidean projection on the check polyhedron corresponding to the check node, that is, convert it into a projection result z for determining the vector v to be projected;

[0108] 2. The vector v to be projected is passed through a preset threshold (such as 0.5) and a judgment rule, and the elements in the vector v whose vector values ​​are greater than or equal to the preset threshold (such as 0.5) are judged as 1, and the elements whose vector values ​​are less than the preset threshold (such as 0.5) are judged as 0. The result after the judgment is recorded as vector u;

[0109] 3. Calculate the number of elements in vector u whose value is 1;

[0110] 4. If the number of elements in vector u that are 1 is even, directly output vector u as the projection result z;

[0111] 5. If the number of elements in vector u that are 1 is an odd number, first find the positions of the two elements in vector v whose values ​​have the smallest difference with the preset threshold value (for example, 0.5), and record them as p and q respectively;

[0112] 6. Reverse the value of the p-th element and the q-th element in vector u to obtain two new vectors A and B, which are denoted as point A and point B respectively;

[0113] 7. According to the projection formula z = A + t · AB, calculate the projection result z of vector v on line segment AB. Obviously, point A and point B only have two different elements, so line segment AB is represented by AB = {0,…,B p -A p ,…,B q -A q ,…,0}, and Av={…,v p -A p ,…,v q -A q ,…}, so z=A+t·AB, where Π [0,1] (·) represents the projection of the corresponding vector onto the unit cube;

[0114] 8. The above projection result z is used as the result of Euclidean projection of the vector to be projected on the verification polyhedron;

[0115] Among them, z is Figure 2 In step 3, check the auxiliary variable z corresponding to the node j .

[0116] Figures 4 to 6 The performance comparison diagram of the ADMM decoding method based on improved line segment projection provided by the embodiment of the present application and the existing method from three perspectives is shown in the figure. The channel used in the simulation experiment is an additive white Gaussian noise channel, the modulation mode is BPSK modulation, and the codeword selected in the experiment is the (576,288) irregular code C1 with a code rate of 1 / 2 and a degree of {6,7}. All experiments in this paper adopt the H-based TEarly stopping technology for x=0, with a maximum number of iterations of 500. ADMM-CSA (Alternating direction method of multipliers based on cut search Algorithm) is used to represent the existing decoding algorithm based on cut search projection alternating direction multiplier method, ADMM-PD-CSA (Penalized Alternating direction method of multipliers based on cut search Algorithm) is used to represent the existing decoding algorithm based on cut search projection penalty alternating direction multipliers, ADMM-LSA (Alternating direction method of multipliers based on Line segment Projection Algorithm) is used to represent the existing decoding algorithm based on line segment projection alternating direction multipliers, and ADMM-I-LSA (Alternating direction method of multipliers based on Improved Line segment Projection Algorithm) is used to represent the improved line segment projection alternating direction multiplier decoding algorithm provided in the embodiment of the present application.

[0117] Figure 4 : is a comparison chart of the frame error rate performance of the ADMM decoding method based on improved line segment projection provided by the embodiment of the present application and the existing method, such as Figure 4 As shown in Figure 2, the frame error rate of C1 codewords of each algorithm under a maximum of 500 iterations. Figure 4 It can be seen that the frame error rate of the ADMM-I-LSA algorithm provided in the embodiment of the present application is better than that of the ADMM-CSA algorithm, the ADMM-PD-CSA algorithm and the ADMM-LSA algorithm under the C1 codeword. For example, when FER=1×10 -5 The frame error rate of the ADMM-I-LSA algorithm has a 0.7dB performance improvement compared to the ADMM-CSA algorithm, a 0.2dB improvement compared to the ADMM-PD-CSA algorithm, and a 0.4dB improvement compared to ADMM-LSA. In addition, the ADMM-I-LSA algorithm provided in the embodiment of the present application has an adaptive penalty effect, and there is no need to optimize the penalty parameter step.

[0118] Figure 5 : is a comparison chart of the average number of iterations of the ADMM decoding method based on improved line segment projection provided by the embodiment of the present application and the existing method, such as Figure 5As shown in Figure 2, the average number of iterations of the C1 codeword under each algorithm is compared with a maximum of 500 iterations. Figure 5 It can be seen that the average number of iterations of the ADMM-I-LSA algorithm provided in the embodiment of the present application is better than that of the ADMM-CSA algorithm, the ADMM-PD-CSA algorithm and the ADMM-LSA algorithm. For this codeword, when SNR=2.5, the ADMM-I-LSA algorithm saves 72% of the average number of iterations compared with the ADMM-CSA algorithm, saves 20% of the average number of iterations compared with the ADMM-PD-CSA, and saves 20% of the average number of iterations compared with the ADMM-LSA algorithm.

[0119] Figure 6 A comparison chart of the average decoding time of the ADMM decoding method based on improved line segment projection provided by the embodiment of the present application and the existing method. Figure 6 It can be seen that the time consumption of the ADMM-I-LSA algorithm of the present application is significantly better than that of the ADMM-CSA algorithm, the ADMM-PD-CSA algorithm and the ADMM-LSA algorithm. When SNR = 2.5, the ADMM-I-LSA algorithm saves 77.4% of the average decoding time compared to the ADMM-CSA algorithm, saves 36.4% of the average decoding time compared to the ADMM-PD-CSA algorithm, and saves 29.5% of the average decoding time compared to the ADMM-LSA algorithm.

[0120] In summary, the ADMM decoding method based on improved line segment projection proposed in the present application reduces the complexity of the decoding algorithm and outperforms the existing ADMM decoding algorithm with penalty function in terms of bit error rate performance, without the need for complex steps to optimize penalty parameters.

[0121] Figure 7 is a structural diagram of an apparatus for ADMM decoding based on improved line segment projection provided in an embodiment of the present application, such as Figure 7 As shown, the device comprises:

[0122] A determination module 701 is used to determine a vector to be projected based on a low-density parity check code LDPC, a selection matrix corresponding to the LDPC, and a Lagrange multiplier vector;

[0123] A decision module 702 is used to normalize the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector;

[0124] A projection module 703, configured to determine a Euclidean projection of the vector to be projected on a check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1;

[0125] The determination module 701 is further configured to determine a decoding result of the LDPC based on the Euclidean projection of the vector to be projected on the check polytope.

[0126] Optionally, the normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector includes:

[0127] Comparing the value of each element in the to-be-projected vector with the size of the preset threshold in sequence;

[0128] If the value of the element in the to-be-projected vector is greater than or equal to the preset threshold, the value of the element is judged to be 1;

[0129] If the value of the element in the to-be-projected vector is less than the preset threshold, the value of the element is judged to be 0;

[0130] Based on the judgment result of each element in the vector to be projected, a first vector after the vector to be projected is normalized is obtained.

[0131] Optionally, determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1 includes:

[0132] If the number of elements with a value of 1 in the first vector is an even number, the first vector is determined to be the Euclidean projection of the vector to be projected on the verification polyhedron.

[0133] Optionally, determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1 includes:

[0134] If the number of elements with a value of 1 in the first vector is an odd number, then determine the two even vertices of the vector to be projected that are closest to the unit cube, and the projection result of the vector to be projected on the line segment formed by the two even vertices, as the Euclidean projection of the vector to be projected on the verification polyhedron.

[0135] Optionally, if the number of elements with a value of 1 in the first vector is an odd number, determining two even vertices of the vector to be projected that are closest to the unit cube, and a projection result of the vector to be projected on the line segment formed by the two even vertices as the Euclidean projection of the vector to be projected on the check polyhedron, comprises:

[0136] If the number of elements with a value of 1 in the first vector is an odd number, determine the positions of the two elements whose values ​​in the to-be-projected vector have the smallest difference with the preset threshold, and record them as the first position and the second position respectively;

[0137] Negate the elements at the first position and the second position of the first vector respectively to determine the corresponding second vector and third vector;

[0138] Based on the point-to-line segment projection formula, determine the projection result of the vector to be projected on the target vector as the Euclidean projection of the vector to be projected on the verification polyhedron;

[0139] The target vector is determined based on the second vector and the third vector.

[0140] Optionally, the point-to-line segment projection formula is determined based on the target vector, the projection of the dot product result of the target vector and the fourth vector on the unit cube, and the second vector; the fourth vector is determined based on the second vector and the vector to be projected.

[0141] Optionally, the point-to-line segment projection formula is:

[0142] z=A+t·AB; where Target vector AB={0,…,B p -A p ,…,B q -A q ,…,0}, A represents the second vector, B represents the third vector, and the fourth vector Av={…,v p -A p ,…,v q -A q ,…}.

[0143] It should be noted here that the device for ADMM decoding based on improved line segment projection provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment of ADMM decoding based on improved line segment projection, and can achieve the same technical effect. The parts and beneficial effects that are the same or corresponding to the method embodiment in this embodiment will not be described in detail here.

[0144] Figure 8 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application, such as Figure 8 As shown, the electronic device may include: a processor 810, a communication interface 820, a memory 830 and a communication bus 840, wherein the processor 810, the communication interface 820 and the memory 830 communicate with each other through the communication bus 840. The processor 810 may call the logic instructions in the memory 830 to execute the steps of the method for ADMM decoding based on improved line segment projection, for example, including:

[0145] Determine a vector to be projected based on a low-density parity-check code LDPC, a selection matrix corresponding to the LDPC, and a Lagrange multiplier vector;

[0146] Normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector;

[0147] According to the parity of the number of elements in the first vector whose values ​​are 1, the Euclidean projection of the vector to be projected on the check polyhedron is determined.

[0148] Optionally, the normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector includes:

[0149] Comparing the value of each element in the to-be-projected vector with the size of the preset threshold in sequence;

[0150] If the value of the element in the to-be-projected vector is greater than or equal to the preset threshold, the value of the element is judged to be 1;

[0151] If the value of the element in the to-be-projected vector is less than the preset threshold, the value of the element is judged to be 0;

[0152] Based on the judgment result of each element in the vector to be projected, a first vector after the vector to be projected is normalized is obtained.

[0153] Optionally, determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1 includes:

[0154] If the number of elements with a value of 1 in the first vector is an even number, the first vector is determined to be the Euclidean projection of the vector to be projected on the verification polyhedron.

[0155] Optionally, determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1 includes:

[0156] If the number of elements with a value of 1 in the first vector is an odd number, then determine the two even vertices of the vector to be projected that are closest to the unit cube, and the projection result of the vector to be projected on the line segment formed by the two even vertices, as the Euclidean projection of the vector to be projected on the verification polyhedron.

[0157] Optionally, if the number of elements with a value of 1 in the first vector is an odd number, determining two even vertices of the vector to be projected that are closest to the unit cube, and a projection result of the vector to be projected on the line segment formed by the two even vertices as the Euclidean projection of the vector to be projected on the check polyhedron, comprises:

[0158] If the number of elements with a value of 1 in the first vector is an odd number, determine the positions of the two elements whose values ​​in the to-be-projected vector have the smallest difference with the preset threshold, and record them as the first position and the second position respectively;

[0159] Negate the elements at the first position and the second position of the first vector respectively to determine the corresponding second vector and third vector;

[0160] Based on the point-to-line segment projection formula, determine the projection result of the vector to be projected on the target vector as the Euclidean projection of the vector to be projected on the verification polyhedron;

[0161] The target vector is determined based on the second vector and the third vector.

[0162] Optionally, the point-to-line segment projection formula is determined based on the target vector, the projection of the dot product result of the target vector and the fourth vector on the unit cube, and the second vector; the fourth vector is determined based on the second vector and the vector to be projected.

[0163] Optionally, the point-to-line segment projection formula is:

[0164] z=A+t·AB; where Target vector AB={0,…,B p -A p ,…,B q -A q ,…,0}, A represents the second vector, B represents the third vector, and the fourth vector Av={…,v p -A p ,…,v q -A q ,…}.

[0165] In addition, the logic instructions in the above-mentioned memory 830 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art, and the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk.

[0166] It should be noted here that the above-mentioned electronic device provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment of ADMM decoding based on improved line segment projection, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those of the method embodiment will not be described in detail here.

[0167] On the other hand, the present application also provides a computer program product, which includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the steps of the ADMM decoding method based on improved line segment projection provided by the above methods.

[0168] Specifically, the above-mentioned computer program product provided in the embodiment of the present application can implement all the method steps implemented by the above-mentioned method embodiments, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as the method embodiment will not be described in detail here.

[0169] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0170] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0171] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for ADMM decoding based on improved line segment projection, characterized in that: include: Determine a vector to be projected based on a low-density parity-check code LDPC, a selection matrix corresponding to the LDPC, and a Lagrange multiplier vector; Normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector; Determining a Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1; Determine a decoding result of LDPC based on the Euclidean projection of the vector to be projected on the check polytope; The step of determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1 includes: If the number of elements with a value of 1 in the first vector is an even number, determining that the first vector is the Euclidean projection of the vector to be projected on the verification polyhedron; If the number of elements with a value of 1 in the first vector is an odd number, the positions of the two elements whose values ​​in the to-be-projected vector have the smallest difference with the preset threshold are determined, and are recorded as the first position and the second position respectively; the elements in the first position and the second position in the first vector are negated respectively to determine the corresponding second vector and third vector; based on the point-to-line segment projection formula, the projection result of the to-be-projected vector on the target vector is determined as the Euclidean projection of the to-be-projected vector on the verification polyhedron; The target vector is determined based on the second vector and the third vector.

2. The method for ADMM decoding based on improved line segment projection according to claim 1, characterized in that: The step of normalizing the vector to be projected based on a preset threshold and a decision rule to obtain a normalized first vector includes: Comparing the value of each element in the to-be-projected vector with the size of the preset threshold in sequence; If the value of the element in the to-be-projected vector is greater than or equal to the preset threshold, the value of the element is judged to be 1; If the value of the element in the to-be-projected vector is less than the preset threshold, the value of the element is judged to be 0; Based on the judgment result of each element in the vector to be projected, a first vector after the vector to be projected is normalized is obtained.

3. The method for ADMM decoding based on improved line segment projection according to claim 1, characterized in that: The point-to-line segment projection formula is determined based on the target vector, the projection of the dot product result of the target vector and the fourth vector on the unit cube, and the second vector; The fourth vector is determined according to the second vector and the vector to be projected.

4. The method for ADMM decoding based on improved line segment projection according to any one of claims 1 to 3, characterized in that: The point-to-line segment projection formula is: z=A+t·AB; where Target vector AB={0,…,B p -A p ,…,B q -A q ,…,0}, A represents the second vector, B represents the third vector, and the fourth vector Av={…,v p -A p ,…,v q -A q ,…}.

5. A device for ADMM decoding based on improved line segment projection, characterized in that: include: A determination module, used to determine a vector to be projected based on a low-density parity check code LDPC, a selection matrix corresponding to the LDPC, and a Lagrange multiplier vector; A decision module, used to determine the first vector corresponding to the vector to be projected based on a preset threshold and a decision rule; A projection module, used for determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1; The step of determining the Euclidean projection of the vector to be projected on the check polyhedron according to the parity of the number of elements in the first vector whose values ​​are 1 includes: If the number of elements with a value of 1 in the first vector is an even number, determining that the first vector is the Euclidean projection of the vector to be projected on the verification polyhedron; If the number of elements with a value of 1 in the first vector is an odd number, the positions of the two elements whose values ​​in the to-be-projected vector have the smallest difference with the preset threshold are determined, and are recorded as the first position and the second position respectively; the elements in the first position and the second position in the first vector are negated respectively to determine the corresponding second vector and third vector; based on the point-to-line segment projection formula, the projection result of the to-be-projected vector on the target vector is determined as the Euclidean projection of the to-be-projected vector on the verification polyhedron; The target vector is determined based on the second vector and the third vector.

6. An electronic device comprising a processor and a memory storing a computer program, characterized in that: When the processor executes the computer program, the method for ADMM decoding based on improved line segment projection according to any one of claims 1 to 4 is implemented.

7. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method for ADMM decoding based on improved line segment projection according to any one of claims 1 to 4 is implemented.