CN111917420B - LDPC self-adaptive decoding method and LDPC self-adaptive decoder - Google Patents

LDPC self-adaptive decoding method and LDPC self-adaptive decoder Download PDF

Info

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
Application number
CN202010867467.1A
Other languages
Chinese (zh)
Other versions
CN111917420A (en
Inventor
孙文鹏
罗倩倩
殷瑭蔓
魏涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou New Generation Chip Technology Co ltd
Original Assignee
Guangdong Communications and Networks Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Communications and Networks Institute filed Critical Guangdong Communications and Networks Institute
Priority to CN202010867467.1A priority Critical patent/CN111917420B/en
Publication of CN111917420A publication Critical patent/CN111917420A/en
Application granted granted Critical
Publication of CN111917420B publication Critical patent/CN111917420B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing 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

LDPC self-adaptive decoding method and LDPC self-adaptive decoder
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,,
Figure BDA0002649194980000021
i∈(1,2,...,n),y i representing the log-likelihood ratio of the ith bit in the data to be decoded,/or->
Figure BDA0002649194980000022
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,
Figure BDA0002649194980000023
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,,
Figure BDA0002649194980000051
i∈(1,2,...,n),y i representing the log-likelihood ratio of the ith bit in the data to be decoded,
Figure BDA0002649194980000052
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,
Figure BDA0002649194980000061
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 is
Figure BDA0002649194980000062
e 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:
Figure BDA0002649194980000071
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,
Figure BDA0002649194980000072
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:
Figure BDA0002649194980000081
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:
Figure BDA0002649194980000082
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
Figure BDA0002649194980000083
The reliable information of each variable node is calculated, and the calculation formula is as follows:
Figure BDA0002649194980000084
wherein K is j To correct the factor so that the condition is satisfied
Figure BDA0002649194980000085
If it is
Figure BDA0002649194980000086
The 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,,
Figure BDA0002649194980000091
i∈(1,2,...,n),y i representing the log-likelihood ratio of the ith bit in the data to be decoded,
Figure BDA0002649194980000101
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,
Figure BDA0002649194980000102
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 is
Figure BDA0002649194980000103
e 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:
Figure BDA0002649194980000111
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,
Figure BDA0002649194980000121
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:
Figure BDA0002649194980000122
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:
Figure BDA0002649194980000123
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
Figure BDA0002649194980000124
The reliable information of each variable node is calculated, and the calculation formula is as follows:
Figure BDA0002649194980000125
wherein K is j To correct the factor so that the condition is satisfied
Figure BDA0002649194980000126
If it is
Figure BDA0002649194980000127
The 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,,
Figure FDA0004210757410000011
i∈(1,2,...,n),y i representing the log-likelihood ratio of the ith bit in the data to be decoded,/or->
Figure FDA0004210757410000012
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,
Figure FDA0004210757410000021
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.
CN202010867467.1A 2020-08-25 2020-08-25 LDPC self-adaptive decoding method and LDPC self-adaptive decoder Active CN111917420B (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996169A (en) * 2022-04-22 2023-11-03 华为技术有限公司 Information transmission method and device

Citations (13)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (13)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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