CN111917420B - LDPC self-adaptive decoding method and LDPC self-adaptive decoder - Google Patents
LDPC self-adaptive decoding method and LDPC self-adaptive decoder Download PDFInfo
- Publication number
- CN111917420B CN111917420B CN202010867467.1A CN202010867467A CN111917420B CN 111917420 B CN111917420 B CN 111917420B CN 202010867467 A CN202010867467 A CN 202010867467A CN 111917420 B CN111917420 B CN 111917420B
- Authority
- CN
- China
- Prior art keywords
- bit
- hard decision
- check
- decoded
- decoding
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims abstract description 59
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 58
- 230000003044 adaptive effect Effects 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000012804 iterative process Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
The invention discloses an LDPC self-adaptive decoding method and an LDPC self-adaptive decoder. The LDPC adaptive decoding method comprises the following steps: determining a hard decision sequence according to the log-likelihood ratio of each bit in the data to be decoded, and calculating an error companion pattern according to the hard decision sequence and a check matrix; counting the number of check equations which are not satisfied by each bit according to the error accompanying pattern and the check result of each bit and the check equation; when the maximum number of the unsatisfied check equations is smaller than the preset threshold value, decoding the data to be decoded by adopting a hard decision decoding algorithm; and when the number of the check equations which are not met to the maximum is greater than or equal to the preset threshold value, decoding the data to be decoded by adopting a soft decision decoding algorithm. The invention can adaptively switch the decoding algorithm according to the channels with different qualities, and gives consideration to the decoding operand and the decoding performance, thereby improving the decoding efficiency.
Description
Technical Field
The present invention relates to the field of mobile communications technologies, and in particular, to an LDPC adaptive decoding method and an LDPC adaptive decoder.
Background
LDPC (Low Density Parity Check Code ) is a linear block code based on a sparse matrix whose corresponding check matrix contains most 0 s and very few 1 s. The LDPC code follows the decoding process of iterative information transfer, and the decoding algorithm is mainly divided into hard decisions and soft decisions. The hard decision decoding algorithm has low operation complexity, low decoding performance, high operation complexity and high decoding performance. In practical applications, a proper decoding method is often required to be selected for channels with different qualities, and once the channel quality changes with the change of channel environment, the selected LDPC decoding method may be difficult to adapt to the channels with different qualities, which limits decoding efficiency.
Disclosure of Invention
In order to overcome the defects of the prior art, the invention provides an LDPC self-adaptive decoding method and an LDPC self-adaptive decoder, which can adaptively switch decoding algorithms according to channels with different qualities and give consideration to the decoding operand and the decoding performance, thereby improving the decoding efficiency.
To solve the above-mentioned technical problem, in a first aspect, an embodiment of the present invention provides an LDPC adaptive decoding method, including:
determining a hard decision sequence according to the log-likelihood ratio of each bit in the data to be decoded, and calculating an error companion pattern according to the hard decision sequence and a check matrix;
counting the number of check equations which are not satisfied by each bit according to the error accompanying pattern and the check result of each bit and the check equation;
when the maximum number of the unsatisfied check equations is smaller than a preset threshold value, decoding the data to be decoded by adopting a hard decision decoding algorithm;
and when the number of the check equations which are not met to the maximum is greater than or equal to the preset threshold value, decoding the data to be decoded by adopting a soft decision decoding algorithm.
Further, the determining a hard decision sequence according to the log likelihood ratio of each bit in the data to be decoded specifically includes:
and calculating the log-likelihood ratio of each bit in the data to be decoded, setting the value of the element corresponding to the hard decision sequence to 0 when the log-likelihood ratio of the bit is larger than 0, and setting the value of the element corresponding to the hard decision sequence to 1 when the log-likelihood ratio of the bit is smaller than or equal to 0.
Further, the hard decision sequence is z= (z) 1 ,z 2 ,...,z n );
Wherein,,i∈(1,2,...,n),y i representing the log-likelihood ratio of the ith bit in the data to be decoded,/or->S i Representing the data to be decoded c i Representing the ith bit, P (c) i =0|S i ) Representing the probability that the ith bit in the data to be decoded is judged to be 0, P (c) i =1|S i ) Representing the probability that the ith bit in the data to be decoded is judged to be 1.
Further, the calculating the error companion pattern according to the hard decision sequence and the check matrix specifically includes:
multiplying the hard decision sequence by the check matrix to obtain the error companion pattern.
Further, the error companion pattern is j= (j) 1 ,j 2 ,...,j n )=z*H;
Where z represents the hard decision sequence, z= (z) 1 ,z 2 ,...,z n ) H represents the check matrix,m∈(1,2,...,n),j m representing the error pattern value, j m =1 means that the hard decision sequence does not satisfy the mth check equation, j m =0 means that the hard decision sequence satisfies the mth check equation.
Further, when the maximum number of the unsatisfied check equations is smaller than a preset threshold value, decoding the data to be decoded by adopting a hard decision decoding algorithm, specifically:
turning over the bit value corresponding to the maximum number of the unsatisfied check equations to obtain new data to be decoded, and calculating a new error accompanying pattern according to the new data to be decoded;
and stopping decoding when the new error companion pattern is equal to 0 or the current iteration number reaches the maximum iteration number, otherwise, calculating the error companion matrix again according to the hard decision sequence and the check matrix.
Further, when the number of the check equations which are not met is greater than or equal to the preset threshold value, decoding the data to be decoded by adopting a soft decision decoding algorithm, specifically:
initializing variable nodes, and calculating reliable information transmitted to adjacent variable nodes by check nodes and reliable information transmitted to adjacent check nodes by the variable nodes in an iterative process so as to calculate the reliable information of each variable node;
and determining an estimated value corresponding to the bit according to the reliable information of the variable node, stopping decoding when the estimated value of the bit meets a parity check equation or the current iteration number reaches the maximum iteration number, otherwise, calculating the error accompanying matrix again according to the hard decision sequence and the check matrix.
In a second aspect, an embodiment of the present invention provides an LDPC adaptive decoder, including:
the error companion pattern calculation module is used for determining a hard decision sequence according to the log likelihood ratio of each bit in the data to be decoded and calculating an error companion pattern according to the hard decision sequence and the check matrix;
the check equation number statistics module is used for counting the number of check equations which are not satisfied by each bit according to the error accompanying pattern and the check result of each bit and the check equation;
the hard decision decoding module is used for decoding the data to be decoded by adopting a hard decision decoding algorithm when the maximum number of the unsatisfied check equations is smaller than a preset threshold value;
and the soft decision decoding module is used for decoding the data to be decoded by adopting a soft decision decoding algorithm when the maximum number of the unsatisfied check equations is greater than or equal to the preset threshold value.
Further, the determining a hard decision sequence according to the log likelihood ratio of each bit in the data to be decoded specifically includes:
and calculating the log-likelihood ratio of each bit in the data to be decoded, setting the value of the element corresponding to the hard decision sequence to 0 when the log-likelihood ratio of the bit is larger than 0, and setting the value of the element corresponding to the hard decision sequence to 1 when the log-likelihood ratio of the bit is smaller than or equal to 0.
Further, the calculating the error companion pattern according to the hard decision sequence and the check matrix specifically includes:
multiplying the hard decision sequence by the check matrix to obtain the error companion pattern.
The embodiment of the invention has the following beneficial effects:
determining a hard decision sequence according to the log-likelihood ratio of each bit in the data to be decoded, calculating an error accompanying pattern according to the hard decision sequence and a check matrix, counting the number of check equations which are not satisfied by each bit according to the error accompanying pattern and the check result of each bit and the check equation, decoding the data to be decoded by adopting a hard decision decoding algorithm when the number of check equations which are not satisfied to the maximum is smaller than a preset threshold value, and decoding the data to be decoded by adopting a soft decision decoding algorithm when the number of check equations which are not satisfied to the maximum is larger than or equal to the preset threshold value, thereby finally realizing the self-adaptive switching decoding algorithm. Compared with the prior art, the embodiment of the invention screens the maximum value from the unsatisfied check equation numbers corresponding to all bits, namely the maximum unsatisfied check equation number, selects to adopt a hard decision decoding algorithm or a soft decision decoding algorithm according to the comparison result of the maximum unsatisfied check equation number and a preset threshold value, and can take account of decoding operation quantity and decoding performance according to the channel self-adaptive switching decoding algorithm with different qualities, thereby improving the decoding efficiency.
Drawings
Fig. 1 is a flowchart of an LDPC adaptive decoding method according to a first embodiment of the present invention;
FIG. 2 is a schematic flow chart of an LDPC adaptive decoding method according to a first embodiment of the present invention;
fig. 3 is a schematic structural diagram of an LDPC adaptive decoder according to a second embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made more apparent and fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
It should be noted that, the step numbers herein are only for convenience of explanation of the specific embodiments, and are not used as limiting the order of execution of the steps.
First embodiment:
as shown in fig. 1-2, a first embodiment provides an LDPC adaptive decoding method, including steps S1 to S4:
s1, determining a hard decision sequence according to the log-likelihood ratio of each bit in data to be decoded, and calculating an error accompanying pattern according to the hard decision sequence and a check matrix;
s2, counting the number of check equations which are not satisfied by each bit according to the error accompanying pattern and the check result of each bit and the check equation;
s3, when the number of the check equations which are not met to the maximum is smaller than a preset threshold value, decoding the data to be decoded by adopting a hard decision decoding algorithm;
and S4, when the number of the check equations which are not met to the maximum is larger than or equal to a preset threshold value, decoding the data to be decoded by adopting a soft decision decoding algorithm.
Illustratively, in step S1, data to be decoded input by a decoder at a receiving end is obtained, a hard decision sequence is determined according to a log likelihood ratio of each bit in the data to be decoded, a check matrix generated at a transmitting end is calculated, and an error accompanying pattern is calculated according to the hard decision sequence and the check matrix.
In a preferred embodiment, the hard decision sequence is determined according to the log likelihood ratio of each bit in the data to be decoded, specifically: and calculating the log-likelihood ratio of each bit in the data to be decoded, setting the value of the corresponding element of the hard decision sequence to 0 when the log-likelihood ratio of the bit is larger than 0, and setting the value of the corresponding element of the hard decision sequence to 1 when the log-likelihood ratio of the bit is smaller than or equal to 0.
In a preferred implementation of this embodiment, the hard decision sequence is z= (z) 1 ,z 2 ,...,z n ) The method comprises the steps of carrying out a first treatment on the surface of the Wherein,,i∈(1,2,...,n),y i representing the log-likelihood ratio of the ith bit in the data to be decoded,S i representing data to be decoded c i Represents the ith bit, P (c) i =0|S i ) Representing the probability that the ith bit in the data to be decoded is judged to be 0, P (c) i =1|S i ) Representing the probability that the i-th bit in the data to be decoded is judged to be 1.
In a preferred embodiment, the error companion pattern is calculated according to the hard decision sequence and the check matrix, specifically: and multiplying the hard decision sequence by the check matrix to obtain an error companion pattern.
In a preferred implementation of this embodiment, the error companion pattern is j= (j) 1 ,j 2 ,...,j n ) =z×h; where z represents a hard decision sequence, z= (z) 1 ,z 2 ,...,z n ) H represents the check matrix, and the check matrix is defined by the code of the code,m∈(1,2,...,n),j m representing the error pattern value, j m =1 means that the hard decision sequence does not satisfy the mth correctionTest equation, j m =0 means that the hard decision sequence satisfies the mth check equation.
Illustratively, in step S2, based on the error accompanying pattern and the verification result of each bit and the verification equation, the number of verification equations that each bit does not satisfy is counted, so as to filter the maximum value from the number of verification equations that are not satisfied and correspond to all the bits as the maximum number of verification equations that are not satisfied. Wherein the statistical formula ise i Representing the number of unsatisfied check equations corresponding to the ith bit in the data to be decoded, c i Representing the ith bit, j, in the data to be decoded m Representing the error map samples.
Illustratively, in step S3, when the maximum number of check equations e is not satisfied max And when the threshold value delta is smaller than the preset threshold value delta, adopting a hard decision decoding algorithm to decode the data to be decoded. The preset threshold value can be obtained according to a large number of simulation and actual test results. The basic idea of the hard decision decoding algorithm is: if the number of check equations which are not satisfied by a certain bit is the largest, the greater the error probability of the bit is, the bit is turned over, namely 0 is converted into 1,1 is converted into 0, and then decoding is continued until all decoding is successful or the maximum number of iterations is reached.
In a preferred embodiment, when the number of check equations that are not satisfied at maximum is smaller than a preset threshold value, the data to be decoded is decoded by adopting a hard decision decoding algorithm, specifically: turning over the bit value corresponding to the number of the check equations which is not met to the maximum to obtain new data to be decoded, and calculating a new error accompanying pattern according to the new data to be decoded; and stopping decoding when the new error accompanying pattern is equal to 0 or the current iteration number reaches the maximum iteration number, otherwise, calculating an error accompanying matrix again according to the hard decision sequence and the check matrix.
It will be appreciated that when the number of check equations e is maximally unsatisfied max When the number of check equations is smaller than a preset threshold value delta, the number e of check equations which are not met to the maximum max And turning over the corresponding bit value, namely converting 0 into 1, converting 1 into 0, obtaining new data to be decoded, calculating a new error accompanying pattern j=z×h according to the new data to be decoded, judging that decoding is successful when the new error accompanying pattern is equal to 0, namely j=z×h=0, stopping decoding, or stopping decoding when the current iteration number reaches the maximum iteration number, otherwise, calculating an error accompanying matrix again according to the hard decision sequence and the check matrix until the current error accompanying pattern is equal to 0 or the current iteration number reaches the maximum iteration number.
Illustratively, in step S4, when the maximum number of check equations e is not satisfied max And when the threshold value delta is larger than or equal to a preset threshold value delta, decoding the data to be decoded by adopting a soft decision decoding algorithm. The basic idea of the soft-decision decoding algorithm is: each row of the LDPC check matrix represents a parity check equation, each variable node transmits reliable information to all check nodes adjacent to the check node, namely a value transmitted by a channel, then each check node processes the reliable information and returns new reliable information to the adjacent variable node, finally whether the parity check equation is met or not is judged, thus completing one information transmission and iteration process, stopping decoding when a certain judgment decoding success or the current iteration number reaches the maximum iteration number, and otherwise, performing the next iteration process.
In a preferred embodiment, when the number of check equations that are not met at most is greater than or equal to a preset threshold value, the data to be decoded is decoded by adopting a soft-decision decoding algorithm, specifically: initializing variable nodes, and calculating the reliable information transmitted by the check nodes to adjacent variable nodes and the reliable information transmitted by the variable nodes to adjacent check nodes in the iterative process so as to calculate the reliable information of each variable node; and determining the estimated value of the corresponding bit according to the reliable information of the variable node, stopping decoding when the estimated value of the bit meets a parity check equation or the current iteration number reaches the maximum iteration number, and otherwise, calculating an error accompanying matrix again according to the hard decision sequence and the check matrix.
It can be understood that the probability of initializing the variable node j defines the reliable information that the variable node j transmits to the check node i as:
wherein P (c) i =1|S i ) Representing the probability that the ith bit in the data to be decoded is judged to be 1, P (c) i =0|S i ) Representing the probability that the i-th bit in the data to be decoded is judged to be 0,a priori probability, q, indicating that the ith bit of the transmission sequence is 1 ij (0) (0) The a priori probability that the i-th bit of the transmission sequence is 0 is indicated, and the superscript (0) indicates the number of iterations.
In the iterative process, calculating reliable information transmitted to the adjacent variable node j by the check node i, wherein the calculation formula is as follows:
wherein N (i) represents a set of check nodes i, the check nodes i in the set are adjacent to variable nodes j, and the superscripts (l) and (l-1) represent the iteration times.
In the iterative process, reliable information transmitted to the adjacent check node i by the variable node j is calculated, and the calculation formula is as follows:
wherein M (j) represents a set of variable nodes j, and the variable nodes j in the set are adjacent to the check node i. K (K) ij To correct the factor so that the condition is satisfied
The reliable information of each variable node is calculated, and the calculation formula is as follows:
If it isThe corresponding bit has an estimate of c i =1, otherwise is c i =0. And stopping decoding when the estimated value of the bit meets the parity check equation or the current iteration number reaches the preset maximum iteration number, otherwise, calculating an error accompanying matrix again according to the hard decision sequence and the check matrix until the current estimated value meets the parity check equation or the current iteration number reaches the maximum iteration number.
According to the embodiment, a hard decision sequence is determined according to the log-likelihood ratio of each bit in data to be decoded, an error accompanying pattern is calculated according to the hard decision sequence and a check matrix, then the number of check equations which are not met by each bit is counted according to the error accompanying pattern and the check result of each bit and the check equation, when the number of check equations which are not met at maximum is smaller than a preset threshold value, the data to be decoded is decoded by adopting a hard decision decoding algorithm, and when the number of check equations which are not met at maximum is larger than or equal to the preset threshold value, the data to be decoded is decoded by adopting a soft decision decoding algorithm, and finally the self-adaptive switching decoding algorithm is realized. In this embodiment, the maximum value, that is, the maximum number of unsatisfied check equations, is selected from the numbers of unsatisfied check equations corresponding to all bits, and a hard decision decoding algorithm or a soft decision decoding algorithm is selected to be adopted according to a comparison result between the maximum number of unsatisfied check equations and a preset threshold value, so that the decoding operation amount and the decoding performance can be considered according to the channel adaptive switching decoding algorithm with different qualities, thereby improving the decoding efficiency.
Second embodiment:
a second embodiment provides an LDPC adaptive decoder comprising: an error companion pattern calculation module 21 for determining a hard decision sequence according to the log likelihood ratio of each bit in the data to be decoded, and calculating an error companion pattern according to the hard decision sequence and the check matrix; a checking equation number statistics module 22, configured to count the number of checking equations that are not satisfied by each bit according to the error accompanying pattern and the checking result of each bit and the checking equation; the hard decision decoding module 23 is configured to decode the data to be decoded by using a hard decision decoding algorithm when the number of check equations that are not satisfied at maximum is smaller than a preset threshold value; the soft-decision decoding module 24 is configured to decode the data to be decoded by using a soft-decision decoding algorithm when the number of check equations that are not met at maximum is greater than or equal to a preset threshold value.
Illustratively, the error pattern calculation module 21 receives input data to be decoded, determines a hard decision sequence according to the log likelihood ratio of each bit in the data to be decoded, calculates a check matrix generated by the transmitting end, and calculates an error pattern according to the hard decision sequence and the check matrix.
In a preferred embodiment, the hard decision sequence is determined according to the log likelihood ratio of each bit in the data to be decoded, specifically: and calculating the log-likelihood ratio of each bit in the data to be decoded, setting the value of the corresponding element of the hard decision sequence to 0 when the log-likelihood ratio of the bit is larger than 0, and setting the value of the corresponding element of the hard decision sequence to 1 when the log-likelihood ratio of the bit is smaller than or equal to 0.
In a preferred implementation of this embodiment, the hard decision sequence is z= (z) 1 ,z 2 ,...,z n ) The method comprises the steps of carrying out a first treatment on the surface of the Wherein,,i∈(1,2,...,n),y i representing the log-likelihood ratio of the ith bit in the data to be decoded,S i representing data to be decoded c i Representing the ith in the data to be decodedBits, P (c) i =0|S i ) Representing the probability that the ith bit in the data to be decoded is judged to be 0, P (c) i =1|S i ) Representing the probability that the i-th bit in the data to be decoded is judged to be 1.
In a preferred embodiment, the error companion pattern is calculated according to the hard decision sequence and the check matrix, specifically: and multiplying the hard decision sequence by the check matrix to obtain an error companion pattern.
In a preferred implementation of this embodiment, the error companion pattern is j= (j) 1 ,j 2 ,...,j n ) =z×h; where z represents a hard decision sequence, z= (z) 1 ,z 2 ,...,z n ) H represents the check matrix, and the check matrix is defined by the code of the code,m∈(1,2,...,n),j m representing the error pattern value, j m =1 means that the hard decision sequence does not satisfy the mth check equation, j m =0 means that the hard decision sequence satisfies the mth check equation.
Illustratively, by the checking equation number statistics module 22, according to the error accompanying pattern and the checking result of each bit and the checking equation, the checking equation number unsatisfied by each bit is counted, so as to filter the maximum value from the unsatisfied checking equation numbers corresponding to all bits as the largest unsatisfied checking equation number. Wherein the statistical formula ise i Representing the number of unsatisfied check equations corresponding to the ith bit in the data to be decoded, c i Representing the ith bit, j, in the data to be decoded m Representing the error map samples.
Illustratively, the hard decision decoding module 23 decodes the data of the maximum unsatisfied check equation number e max And when the threshold value delta is smaller than the preset threshold value delta, adopting a hard decision decoding algorithm to decode the data to be decoded. The preset threshold value can be obtained according to a large number of simulation and actual test results. The basic idea of the hard decision decoding algorithm is:if the number of check equations which are not satisfied by a certain bit is the largest, the greater the error probability of the bit is, the bit is turned over, namely 0 is converted into 1,1 is converted into 0, and then decoding is continued until all decoding is successful or the maximum number of iterations is reached.
In a preferred embodiment, when the number of check equations that are not satisfied at maximum is smaller than a preset threshold value, the data to be decoded is decoded by adopting a hard decision decoding algorithm, specifically: turning over the bit value corresponding to the number of the check equations which is not met to the maximum to obtain new data to be decoded, and calculating a new error accompanying pattern according to the new data to be decoded; and stopping decoding when the new error accompanying pattern is equal to 0 or the current iteration number reaches the maximum iteration number, otherwise, calculating an error accompanying matrix again according to the hard decision sequence and the check matrix.
It will be appreciated that when the number of check equations e is maximally unsatisfied max When the number of check equations is smaller than a preset threshold value delta, the number e of check equations which are not met to the maximum max And turning over the corresponding bit value, namely converting 0 into 1, converting 1 into 0, obtaining new data to be decoded, calculating a new error accompanying pattern j=z×h according to the new data to be decoded, judging that decoding is successful when the new error accompanying pattern is equal to 0, namely j=z×h=0, stopping decoding, or stopping decoding when the current iteration number reaches the maximum iteration number, otherwise, calculating an error accompanying matrix again according to the hard decision sequence and the check matrix until the current error accompanying pattern is equal to 0 or the current iteration number reaches the maximum iteration number.
Illustratively, the soft-decision decoding module 24 decodes the set of equations when the maximum unsatisfied number of check equations e max And when the threshold value delta is larger than or equal to a preset threshold value delta, decoding the data to be decoded by adopting a soft decision decoding algorithm. The basic idea of the soft-decision decoding algorithm is: each row of the LDPC check matrix represents a parity check equation, each variable node transmits reliable information, namely a value transmitted by a channel, to all check nodes adjacent to the variable node, then each check node processes the reliable information and returns a new reliable information to the adjacent variable node, and finally whether the odd condition is met or not is judgedAnd checking the equation even, thus completing one information transmission and iteration process, stopping decoding when a certain decision is successful or the current iteration number reaches the maximum iteration number, and otherwise, performing the next iteration process.
In a preferred embodiment, when the number of check equations that are not met at most is greater than or equal to a preset threshold value, the data to be decoded is decoded by adopting a soft-decision decoding algorithm, specifically: initializing variable nodes, and calculating the reliable information transmitted by the check nodes to adjacent variable nodes and the reliable information transmitted by the variable nodes to adjacent check nodes in the iterative process so as to calculate the reliable information of each variable node; and determining the estimated value of the corresponding bit according to the reliable information of the variable node, stopping decoding when the estimated value of the bit meets a parity check equation or the current iteration number reaches the maximum iteration number, and otherwise, calculating an error accompanying matrix again according to the hard decision sequence and the check matrix.
It can be understood that the probability of initializing the variable node j defines the reliable information that the variable node j transmits to the check node i as:
wherein P (c) i =1|S i ) Representing the probability that the ith bit in the data to be decoded is judged to be 1, P (c) i =0|S i ) Representing the probability that the i-th bit in the data to be decoded is judged to be 0,a priori probability, q, indicating that the ith bit of the transmission sequence is 1 ij (0) (0) The a priori probability that the i-th bit of the transmission sequence is 0 is indicated, and the superscript (0) indicates the number of iterations.
In the iterative process, calculating reliable information transmitted to the adjacent variable node j by the check node i, wherein the calculation formula is as follows:
wherein N (i) represents a set of check nodes i, the check nodes i in the set are adjacent to variable nodes j, and the superscripts (l) and (l-1) represent the iteration times.
In the iterative process, reliable information transmitted to the adjacent check node i by the variable node j is calculated, and the calculation formula is as follows:
wherein M (j) represents a set of variable nodes j, and the variable nodes j in the set are adjacent to the check node i. K (K) ij To correct the factor so that the condition is satisfied
The reliable information of each variable node is calculated, and the calculation formula is as follows:
If it isThe corresponding bit has an estimate of c i =1, otherwise is c i =0. And stopping decoding when the estimated value of the bit meets the parity check equation or the current iteration number reaches the preset maximum iteration number, otherwise, calculating an error accompanying matrix again according to the hard decision sequence and the check matrix until the current estimated value meets the parity check equation or the current iteration number reaches the maximum iteration number.
In this embodiment, the error accompanying pattern calculation module 21 determines a hard decision sequence according to the log-likelihood ratio of each bit in the data to be decoded, calculates an error accompanying pattern according to the hard decision sequence and the check matrix, and then, the check equation number statistics module 22 counts the number of check equations which are not satisfied by each bit according to the error accompanying pattern and the check result of each bit and the check equation, the hard decision decoding module 23 decodes the data to be decoded by adopting a hard decision decoding algorithm when the number of check equations which are not satisfied at maximum is smaller than a preset threshold value, and the soft decision decoding module 24 decodes the data to be decoded by adopting a soft decision decoding algorithm when the number of check equations which are not satisfied at maximum is larger than or equal to the preset threshold value, thereby finally realizing the adaptive switching decoding algorithm. In this embodiment, the maximum value, that is, the maximum number of unsatisfied check equations, is selected from the numbers of unsatisfied check equations corresponding to all bits, and a hard decision decoding algorithm or a soft decision decoding algorithm is selected to be adopted according to a comparison result between the maximum number of unsatisfied check equations and a preset threshold value, so that the decoding operation amount and the decoding performance can be considered according to the channel adaptive switching decoding algorithm with different qualities, thereby improving the decoding efficiency.
In summary, the embodiment of the invention has the following beneficial effects:
determining a hard decision sequence according to the log-likelihood ratio of each bit in the data to be decoded, calculating an error accompanying pattern according to the hard decision sequence and a check matrix, counting the number of check equations which are not satisfied by each bit according to the error accompanying pattern and the check result of each bit and the check equation, decoding the data to be decoded by adopting a hard decision decoding algorithm when the number of check equations which are not satisfied to the maximum is smaller than a preset threshold value, and decoding the data to be decoded by adopting a soft decision decoding algorithm when the number of check equations which are not satisfied to the maximum is larger than or equal to the preset threshold value, thereby finally realizing the self-adaptive switching decoding algorithm. The embodiment of the invention screens the maximum value from the unsatisfied number of the check equations corresponding to all bits, namely the maximum unsatisfied number of the check equations, selects to adopt a hard decision decoding algorithm or a soft decision decoding algorithm according to the comparison result of the maximum unsatisfied number of the check equations and a preset threshold value, can adaptively switch the decoding algorithm according to channels with different qualities, and gives consideration to the decoding operation quantity and the decoding performance, thereby improving the decoding efficiency.
While the foregoing is directed to the preferred embodiments of the present invention, it will be appreciated by those skilled in the art that changes and modifications may be made without departing from the principles of the invention, such changes and modifications are also intended to be within the scope of the invention.
Those skilled in the art will appreciate that implementing all or part of the above-described embodiments may be accomplished by way of computer programs, which may be stored on a computer readable storage medium, which when executed may comprise the steps of the above-described embodiments. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), or the like.
Claims (10)
1. An LDPC adaptive decoding method, comprising:
determining a hard decision sequence according to the log-likelihood ratio of each bit in the data to be decoded, and calculating an error companion pattern according to the hard decision sequence and a check matrix;
counting the number of check equations which are not satisfied by each bit according to the error accompanying pattern and the check result of each bit and the check equation;
when the maximum number of the unsatisfied check equations is smaller than a preset threshold value, decoding the data to be decoded by adopting a hard decision decoding algorithm;
and when the number of the check equations which are not met to the maximum is greater than or equal to the preset threshold value, decoding the data to be decoded by adopting a soft decision decoding algorithm.
2. The LDPC adaptive decoding method of claim 1, wherein the determining the hard decision sequence according to the log likelihood ratio of each bit in the data to be decoded is specifically:
and calculating the log-likelihood ratio of each bit in the data to be decoded, setting the value of the element corresponding to the hard decision sequence to 0 when the log-likelihood ratio of the bit is larger than 0, and setting the value of the element corresponding to the hard decision sequence to 1 when the log-likelihood ratio of the bit is smaller than or equal to 0.
3. The LDPC adaptive coding method of claim 1 or 2, wherein the hard decision sequence is z= (z 1 ,z 2 ,...,z n );
Wherein,,i∈(1,2,...,n),y i representing the log-likelihood ratio of the ith bit in the data to be decoded,/or->S i Representing the data to be decoded c i Representing the ith bit, P (c) i =0|S i ) Representing the probability that the ith bit in the data to be decoded is judged to be 0, P (c) i =1|S i ) Representing the probability that the ith bit in the data to be decoded is judged to be 1.
4. The LDPC adaptive decoding method of claim 1, wherein the calculating an error companion pattern according to the hard decision sequence and the check matrix is specifically:
multiplying the hard decision sequence by the check matrix to obtain the error companion pattern.
5. The LDPC adaptive decoding method of claim 1 or 4, wherein the error companion pattern is j= (j) 1 ,j 2 ,...,j n )=z*H;
Where z represents the hard decision sequence, z= (z) 1 ,z 2 ,...,z n ) H represents the check matrix,m∈(1,2,...,n),j m representing the error pattern value, j m =1 means that the hard decision sequence does not satisfy the mth check equation, j m =0 means that the hard decision sequence satisfies the mth check equation.
6. The LDPC adaptive decoding method as claimed in claim 1, wherein when the maximum number of unsatisfied check equations is smaller than a preset threshold value, the decoding of the data to be decoded is performed by using a hard decision decoding algorithm, specifically:
turning over the bit value corresponding to the maximum number of the unsatisfied check equations to obtain new data to be decoded, and calculating a new error accompanying pattern according to the new data to be decoded;
and stopping decoding when the new error companion pattern is equal to 0 or the current iteration number reaches the maximum iteration number, otherwise, calculating the error companion pattern again according to the hard decision sequence and the check matrix.
7. The LDPC adaptive decoding method as claimed in claim 1, wherein when the maximum number of unsatisfied check equations is greater than or equal to the preset threshold value, the decoding of the data to be decoded is performed by using a soft-decision decoding algorithm, specifically:
initializing variable nodes, and calculating reliable information transmitted to adjacent variable nodes by check nodes and reliable information transmitted to adjacent check nodes by the variable nodes in an iterative process so as to calculate the reliable information of each variable node;
and determining an estimated value corresponding to the bit according to the reliable information of the variable node, stopping decoding when the estimated value of the bit meets a parity check equation or the current iteration number reaches the maximum iteration number, and otherwise, calculating the error companion pattern again according to the hard decision sequence and the check matrix.
8. An LDPC adaptive decoder, comprising:
the error companion pattern calculation module is used for determining a hard decision sequence according to the log likelihood ratio of each bit in the data to be decoded and calculating an error companion pattern according to the hard decision sequence and the check matrix;
the check equation number statistics module is used for counting the number of check equations which are not satisfied by each bit according to the error accompanying pattern and the check result of each bit and the check equation;
the hard decision decoding module is used for decoding the data to be decoded by adopting a hard decision decoding algorithm when the maximum number of the unsatisfied check equations is smaller than a preset threshold value;
and the soft decision decoding module is used for decoding the data to be decoded by adopting a soft decision decoding algorithm when the maximum number of the unsatisfied check equations is greater than or equal to the preset threshold value.
9. The LDPC adaptive decoder of claim 8, wherein the determining the hard decision sequence based on the log likelihood ratio of each bit in the data to be decoded is:
and calculating the log-likelihood ratio of each bit in the data to be decoded, setting the value of the element corresponding to the hard decision sequence to 0 when the log-likelihood ratio of the bit is larger than 0, and setting the value of the element corresponding to the hard decision sequence to 1 when the log-likelihood ratio of the bit is smaller than or equal to 0.
10. The LDPC adaptive decoder of claim 8, wherein the calculating an error companion pattern from the hard decision sequence and the check matrix is specifically:
multiplying the hard decision sequence by the check matrix to obtain the error companion pattern.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010867467.1A CN111917420B (en) | 2020-08-25 | 2020-08-25 | LDPC self-adaptive decoding method and LDPC self-adaptive decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010867467.1A CN111917420B (en) | 2020-08-25 | 2020-08-25 | LDPC self-adaptive decoding method and LDPC self-adaptive decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111917420A CN111917420A (en) | 2020-11-10 |
CN111917420B true CN111917420B (en) | 2023-07-04 |
Family
ID=73278663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010867467.1A Active CN111917420B (en) | 2020-08-25 | 2020-08-25 | LDPC self-adaptive decoding method and LDPC self-adaptive decoder |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917420B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116996169A (en) * | 2022-04-22 | 2023-11-03 | 华为技术有限公司 | Information transmission method and device |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132252A (en) * | 2007-09-26 | 2008-02-27 | 东南大学 | Quantified minimizing and coding method for low-density parity code |
CN101345602A (en) * | 2008-08-21 | 2009-01-14 | 上海交通大学 | Early termination method of low density check code iteration decoding |
CN101976584A (en) * | 2010-10-27 | 2011-02-16 | 记忆科技(深圳)有限公司 | Quasi-cyclic low density parity-check code (QC-LDPC) decoder and decoding method |
CN102130695A (en) * | 2010-01-15 | 2011-07-20 | 中兴通讯股份有限公司 | Decoding method and device of concatenated codes |
CN103269229A (en) * | 2013-05-24 | 2013-08-28 | 上海交通大学 | Mixed iterative decoding method for LDPC-RS two-dimensional product code |
WO2015152922A1 (en) * | 2014-04-03 | 2015-10-08 | Empire Technology Development Llc | Memory device with speculated bit flip threshold |
CN105790774A (en) * | 2016-02-25 | 2016-07-20 | 北京邮电大学 | Improved LDPC decoding method and device |
US9432053B1 (en) * | 2014-07-07 | 2016-08-30 | Microsemi Storage Solutions (U.S.), Inc. | High speed LDPC decoder |
CN109379084A (en) * | 2018-09-08 | 2019-02-22 | 天津大学 | A kind of interpretation method for burst error |
CN109981112A (en) * | 2018-09-26 | 2019-07-05 | 东南大学 | A kind of sequencing statistical decoding method of partial cyclic redundancy check auxiliary |
CN110166056A (en) * | 2019-05-13 | 2019-08-23 | 武汉纺织大学 | A kind of Hard decision decoding method of the LDPC code based on match tracing |
CN110380738A (en) * | 2019-07-19 | 2019-10-25 | 广东省新一代通信与网络创新研究院 | The configurable RS encoder IP core circuit structure of parametric software and its coding method |
CN111416628A (en) * | 2020-04-09 | 2020-07-14 | 重庆邮电大学 | BCH soft decision channel code decoding device based on random representation |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398453B2 (en) * | 2005-10-03 | 2008-07-08 | Motorola, Inc. | Method and apparatus for a low-density parity-check decoder |
KR102543059B1 (en) * | 2017-11-22 | 2023-06-14 | 삼성전자주식회사 | Method of decoding low density parity check (LDPC) code, decoder and system performing the same |
KR102643457B1 (en) * | 2018-11-19 | 2024-03-06 | 에스케이하이닉스 주식회사 | Ldpc decoder, semiconductor memory system and operating method thereof |
-
2020
- 2020-08-25 CN CN202010867467.1A patent/CN111917420B/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132252A (en) * | 2007-09-26 | 2008-02-27 | 东南大学 | Quantified minimizing and coding method for low-density parity code |
CN101345602A (en) * | 2008-08-21 | 2009-01-14 | 上海交通大学 | Early termination method of low density check code iteration decoding |
CN102130695A (en) * | 2010-01-15 | 2011-07-20 | 中兴通讯股份有限公司 | Decoding method and device of concatenated codes |
CN101976584A (en) * | 2010-10-27 | 2011-02-16 | 记忆科技(深圳)有限公司 | Quasi-cyclic low density parity-check code (QC-LDPC) decoder and decoding method |
CN103269229A (en) * | 2013-05-24 | 2013-08-28 | 上海交通大学 | Mixed iterative decoding method for LDPC-RS two-dimensional product code |
WO2015152922A1 (en) * | 2014-04-03 | 2015-10-08 | Empire Technology Development Llc | Memory device with speculated bit flip threshold |
US9432053B1 (en) * | 2014-07-07 | 2016-08-30 | Microsemi Storage Solutions (U.S.), Inc. | High speed LDPC decoder |
CN105790774A (en) * | 2016-02-25 | 2016-07-20 | 北京邮电大学 | Improved LDPC decoding method and device |
CN109379084A (en) * | 2018-09-08 | 2019-02-22 | 天津大学 | A kind of interpretation method for burst error |
CN109981112A (en) * | 2018-09-26 | 2019-07-05 | 东南大学 | A kind of sequencing statistical decoding method of partial cyclic redundancy check auxiliary |
CN110166056A (en) * | 2019-05-13 | 2019-08-23 | 武汉纺织大学 | A kind of Hard decision decoding method of the LDPC code based on match tracing |
CN110380738A (en) * | 2019-07-19 | 2019-10-25 | 广东省新一代通信与网络创新研究院 | The configurable RS encoder IP core circuit structure of parametric software and its coding method |
CN111416628A (en) * | 2020-04-09 | 2020-07-14 | 重庆邮电大学 | BCH soft decision channel code decoding device based on random representation |
Non-Patent Citations (1)
Title |
---|
Simplified Method for Log-Likelihood Ratio Approximation in High-Order Modulations Based on the Voronoi Decomposition;Vanessa B. Olivatto;《IEEE Transactions on Broadcasting 》;583 - 589 * |
Also Published As
Publication number | Publication date |
---|---|
CN111917420A (en) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108462558B (en) | Method and device for decoding polarization code SCL and electronic equipment | |
USRE44421E1 (en) | Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof | |
CN107612560B (en) | Polarization code early iteration stopping method based on partial information bit likelihood ratio | |
Weissman et al. | Universal discrete denoising: Known channel | |
KR100703271B1 (en) | Decoding Method and Apparatus of Low Density Parity Code Using Unified processing | |
CN100499378C (en) | Low-density odd-parity check-code decoding method adopting uniform quantizing variable range | |
CN110995278B (en) | Improved polarity code serial elimination list bit overturning decoding method and system | |
US20060190797A1 (en) | Low complexity decoding of low density parity check codes | |
US8219890B2 (en) | Denoising and error correction for finite input, general output channel | |
JP2009100222A (en) | Device and method for decoding low density parity check code | |
CN114157309B (en) | Polar code decoding method, device and system | |
JP2006523985A (en) | Early termination of turbo decoder iterations | |
CN111726202B (en) | Early termination iteration method for polarization code belief propagation decoding | |
CN112332864A (en) | Polar code decoding method and system for self-adaptive ordered mobile pruning list | |
CN111917420B (en) | LDPC self-adaptive decoding method and LDPC self-adaptive decoder | |
WO2007044991A2 (en) | Broadcast message passing decoding of low density parity check codes | |
EP3665879A1 (en) | Apparatus and method for detecting mutually interfering information streams | |
CN110690906A (en) | Dynamic self-correction minimum sum decoding method and decoder based on same | |
CN114070331A (en) | Self-adaptive serial offset list flip decoding method and system | |
CN111130567B (en) | Polarization code belief propagation list decoding method added with noise disturbance and bit inversion | |
CN110190857B (en) | CRC (Cyclic redundancy check) auxiliary check polarization code decoding method and intelligent terminal | |
KR100362912B1 (en) | Apparatus for stopping recursive decoding and turbo decoder comprising it | |
CN101707486A (en) | LDPC decryption method of multi-state belief propagation (BP) iteration with unidirectional rectification | |
CN111835363B (en) | LDPC code decoding method based on alternate direction multiplier method | |
CN114421974A (en) | Polar code BPL decoding method with improved factor graph selection mode |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231226 Address after: Building A, Runhui Science and Technology Park, No. 18 Shenzhou Road, Huangpu District, Guangzhou City, Guangdong Province, 510663 (self numbered 301, 3rd floor) Patentee after: Guangzhou New Generation Chip Technology Co.,Ltd. Address before: 510000 Room 201, 88 Haiyun Road, Science City, Guangzhou hi tech Industrial Development Zone, Guangdong Province Patentee before: GUANGDONG NEW GENERATION COMMUNICATION AND NETWORK INNOVATION INSTITUTE |