CN109495114B - LDPC decoder construction method based on Markov Monte Carlo method - Google Patents

LDPC decoder construction method based on Markov Monte Carlo method Download PDF

Info

Publication number
CN109495114B
CN109495114B CN201811176885.5A CN201811176885A CN109495114B CN 109495114 B CN109495114 B CN 109495114B CN 201811176885 A CN201811176885 A CN 201811176885A CN 109495114 B CN109495114 B CN 109495114B
Authority
CN
China
Prior art keywords
iteration
binary information
ldpc
information vector
vector
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
CN201811176885.5A
Other languages
Chinese (zh)
Other versions
CN109495114A (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.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201811176885.5A priority Critical patent/CN109495114B/en
Publication of CN109495114A publication Critical patent/CN109495114A/en
Application granted granted Critical
Publication of CN109495114B publication Critical patent/CN109495114B/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
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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/1148Structural properties of the code parity-check or generator matrix

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention discloses an LDPC decoder construction method based on a Markov Monte Carlo method, which comprises the following steps: s1: constructing an MCMC decoding algorithm of the LDPC through a generating matrix G, a receiving signal y and a preset maximum iteration number max; s2: constructing an LDPC MCMC-S decoding algorithm on the basis of the LDPC MCMC decoding algorithm; s3: the MCMC-L decoding algorithm of the LDPC is constructed by a generating matrix G, a receiving signal y and a preset expansion path number L. The invention solves the problem of poor performance when the code length is short in BP, and can be used for next generation mobile communication to meet the requirement of LDPC decoding.

Description

LDPC decoder construction method based on Markov Monte Carlo method
Technical Field
The invention relates to the technical field of signal processing, in particular to a construction method of an LDPC decoder based on a Markov Monte Carlo method.
Background
Low Density Parity Check Code (LDPC), proposed by Gallagar in 1962, is one of Linear Block Codes (LBC). With the proposal of the LDPC effective decoding algorithm, the LDPC is gradually popularized and is considered to have the characteristics of good performance and parallel friendliness close to Shannon limit. Because of these advantages, LDPC codes have been included in a variety of protocols since the 2G era (e.g., IEEE 802.11, IEEE 802.20). Nowadays, LDPC codes are adopted as coding schemes for long code blocks of data channels in 5G enhanced Mobile Broadband (eMBB) scenarios.
As an important component of LDPC codes, decoder modules are not a small number of. Decoding methods of LDPC code decoders can be roughly classified into two types: a decoding method based on hard decision and a decoding method based on soft decision. The first kind of decoding scheme has low computational complexity and is easy to implement, but has limited error correction capability. The second category of methods includes Belief Propagation (BP) algorithms that employ a posteriori probability information. It is computationally complex but is widely studied due to performance approaching the shannon limit. However, when the factor graph of the LDPC code contains small cycles, the BP decoding algorithm can only provide a sub-optimal solution, and particularly when the code length is short, the result is not ideal. Therefore, how to improve the performance of the BP algorithm in short codes while maintaining acceptable complexity becomes a key issue.
Disclosure of Invention
The invention aims to: the invention aims to provide an LDPC decoder construction method based on a Markov Monte Carlo method, which can improve the performance of a BP algorithm in short codes and maintain acceptable complexity.
The technical scheme is as follows: in order to achieve the purpose, the invention adopts the following technical scheme:
the LDPC decoder construction method based on the Markov Monte Carlo method comprises the following steps:
s1: constructing an MCMC decoding algorithm of the LDPC by generating a matrix G, a received signal y and a preset maximum iteration number max;
s2: constructing an LDPC MCMC-S decoding algorithm on the basis of the LDPC MCMC decoding algorithm;
s3: the MCMC-L decoding algorithm of the LDPC is constructed by a generating matrix G, a receiving signal y and a preset expansion path number L.
Further, the step S1 includes the steps of:
s1.1: initializing the binary information vector x through a hard decision result to obtain an initialized binary information vector x (0)
S1.2: setting the total times of the first iteration counter as max, and enabling an iteration variable j of the first iteration counter to be 1;
s1.3: setting the total times of the second iteration counter as K, and enabling an iteration variable i of the second iteration counter to be 1; k is the length of the binary information vector x;
s1.4: the calculation was performed according to formulas (1) to (3):
Figure BDA0001824005250000021
Figure BDA0001824005250000022
Figure BDA0001824005250000023
wherein x is i Representing the ith bit of a binary information vector x, x i=0 The ith bit representing the binary information vector x is 0, x i=1 The ith bit representing the binary information vector x is 1, sigma represents the standard deviation of white gaussian noise added by the signal in the process of space propagation, and L i Denotes x i Log-likelihood ratio of (2), P (x) i 0) represents x i Probability of 0, r is a random number uniformly distributed between 0 and 1;
s1.5: making i equal to i +1, and returning to step S1.4 until iterating to preset number K, and obtaining j-th iteration result x (j) Then entering the next operation;
s1.6: j is given as j +1, and the procedure returns to step S1.3 until the iteration reaches the preset number max, and the result x of the max-th iteration is obtained (max) Is an estimate of the transmitted information.
Further, the step S2 includes the steps of:
s2.1: initializing the binary information vector x through a hard decision result to obtain an initialized binary information vector x (0)
S2.2: setting the total times of the first iteration counter as K, and enabling an iteration variable i of the first iteration counter to be 1;
s2.3: the calculation is performed according to equation (4):
Figure BDA0001824005250000024
in the formula (4), the reaction mixture is,
Figure BDA0001824005250000025
representing the result of inverting the ith bit of a binary information vector x, d i Is a measure of the flipped result, which is used to derive the bits in xUpdating the sequence;
s2.4: making i equal to i +1, returning to the step S2.3 until iteration reaches a preset number of times K, and then entering the next operation;
s2.5: for d obtained i (i-1, 2.. K) sorting in ascending order, storing the sorting result in vector s as the order of the subsequent update bits; the p-th element Sp in s is stored at d i Subscript of element at p-th order in ascending order;
s2.6: setting the total times of the second iteration counter as max, and enabling an iteration variable j of the second iteration counter to be 1;
s2.7: setting the total times of the third iteration counter as K, and enabling an iteration variable p of the third iteration counter to be 1;
s2.8: the calculation was performed according to the formulas (5) to (8):
Figure BDA0001824005250000031
Figure BDA0001824005250000032
Figure BDA0001824005250000033
Figure BDA0001824005250000034
where N denotes the length of the received signal y, σ * Represents the result of the standard deviation correction of the added noise in the channel,
Figure BDA0001824005250000035
representing the modified log-likelihood ratio,
Figure BDA0001824005250000036
s-th representing a binary information vector x p Each ratioIn particular to a method for preparing a high-purity sodium chloride solution,
Figure BDA0001824005250000037
represent
Figure BDA0001824005250000038
Probability of 0, r is a random number uniformly distributed between 0 and 1;
s2.9: let p be p +1 and return to step S2.8 until the iteration reaches the preset number K, and obtain the jth iteration result x (j) Then, the next operation is carried out;
s2.10: j is equal to j +1 and returns to step S2.7 until the iteration reaches the preset number max, and the max-th iteration result x (max) Is an estimate of the transmitted information.
Further, the step S3 includes the steps of:
s3.1: initializing x with all-zero vectors 1 =x 2 =...=x L (ii) a Wherein x is u U is more than or equal to 1 and less than or equal to L which is a binary information vector on the u-th path, and L is the number of preset expansion paths;
s3.2: setting the total times of the first iteration counter as K, and enabling an iteration variable i of the first iteration counter to be 1;
s3.3: setting the total times of a second iteration counter as L, and enabling an iteration variable p of the second iteration counter to be 1;
s3.4: value is assigned according to equation (9):
Figure BDA0001824005250000039
in the formula (9), the reaction mixture is,
Figure BDA00018240052500000310
represents the vector x p The result after the i-th bit flip, x p Representing a binary information vector, x, on the p-th path L+p Representing a binary information vector on the L + p path;
s3.5: setting the total times of the third iteration counter to be 2L, and enabling an iteration variable j of the third iteration counter to be 1;
s3.6: the calculation is performed according to equation (10):
d j '=||y-Gx j || 2 2 (10)
in the formula (10), d j ' is a measure of the binary information vector on each path to obtain the path that will eventually need to be reserved; x is the number of j Representing a binary information vector on the jth path;
s3.7: for d obtained j ' (i ═ 1, 2.., K) is sorted in ascending order, and the sorting result is stored in a vector s for obtaining L paths which need to be reserved finally;
s3.8: j is made to be j +1, the process returns to the step S3.6 until iteration is carried out for a preset time 2L, and then the next operation is carried out;
s3.9: the value is assigned according to equation (11):
Figure BDA0001824005250000041
in the formula (11), the reaction mixture is,
Figure BDA0001824005250000042
denotes the S th p A binary information vector on a strip path;
s3.10: making p equal to p +1, returning to the step S3.4 until iteration reaches a preset number L, and then entering the next operation;
s3.11: i is equal to i +1, and the process returns to step S2.3 until the iteration reaches the preset number K, then the binary information vector x on the 1 st path 1 Is an estimate of the transmitted information.
Further, the transmission formula of the LDPC decoder is:
y=Gx+n (12)
in the formula (12), the vector n ∈ C N Each term obeys a mean value of 0 and a variance of σ 2 X is a K × 1-dimensional binary information vector, y is an N × 1-dimensional reception vector, N represents a code length, and K represents an information bit length.
Has the beneficial effects that:the invention discloses an LDPC decoder construction method based on a Markov Monte Carlo method, which has certain advantages on short codes compared with the BP decoding algorithm of the classical LDPC. The experimental result shows that compared with BP decoding, the optimized decoding method provided by the invention has the signal-to-noise ratio of about 10 -3 There is a performance gain of over 1 dB. The method solves the problem of poor performance when the code length is short in BP, and can be used for next generation mobile communication to meet the requirements of the next generation mobile communication on LDPC decoding.
Drawings
FIG. 1 is a detailed algorithm diagram of the LDPC-MCMC algorithm;
FIG. 2 is a detailed algorithm diagram of the LDPC-MCMC-S algorithm;
FIG. 3 is a detailed algorithm diagram of the LDPC-MCMC-L algorithm;
FIG. 4 is a graph comparing the error rate performance of the decoding results of the method of the present invention (MCMC, MCMC-S, MCMC-L) with the conventional BP decoding method when the received signal vector length and the information vector length are 20 and 10, respectively;
FIG. 5 is a graph comparing the error rate performance of the decoding results of the method of the present invention (MCMC, MCMC-S, MCMC-L) with the conventional BP decoding method when the received signal vector length and the information vector length are 32 and 16, respectively;
FIG. 6 is a hardware architecture diagram of the MCMC-L;
FIG. 7 is a detailed diagram of the computing modules in the hardware architecture diagram of the MCMC-L.
Detailed Description
The technical solution of the present invention will be further described with reference to the following detailed description and accompanying drawings.
The specific embodiment discloses an LDPC decoder construction method based on a Markov Monte Carlo method, which comprises the following steps:
s1: an LDPC MCMC decoding algorithm is constructed by a generating matrix G, a receiving signal y and a preset maximum iteration number max, and is called as an LDPC-MCMC algorithm, wherein the LDPC-MCMC algorithm is shown in figure 1;
s2: an LDPC MCMC-S decoding algorithm is constructed on the basis of the LDPC MCMC decoding algorithm, the LDPC MCMC-S decoding algorithm is called LDPC-MCMC-S algorithm, and the LDPC-MCMC-S algorithm is shown in figure 2;
s3: the LDPC MCMC-L decoding algorithm is constructed by the generation matrix G, the received signal y and the preset expansion path number L and is called LDPC-MCMC-L algorithm, and the LDPC-MCMC-L algorithm is shown in FIG. 3.
Step S1 includes the steps of:
s1.1: initializing the binary information vector x through a hard decision result to obtain an initialized binary information vector x (0)
S1.2: setting the total times of the first iteration counter as max, and enabling an iteration variable j of the first iteration counter to be 1;
s1.3: setting the total times of a second iteration counter as K, and enabling an iteration variable i of the second iteration counter to be 1; k is the length of the binary information vector x;
s1.4: the calculation was performed according to formulas (1) to (3):
Figure BDA0001824005250000051
Figure BDA0001824005250000052
Figure BDA0001824005250000053
wherein x is i Representing the ith bit of a binary information vector x, x i=0 The ith bit representing the binary information vector x is 0, x i=1 The ith bit representing the binary information vector x is 1, σ represents the standard deviation of white gaussian noise added by the signal during spatial propagation, and L i Represents x i Log-likelihood ratio of (2), P (x) i 0) represents x i Probability of 0, r is a random number uniformly distributed between 0 and 1;
s1.5: i is made to be i +1, and the process returns to step S1.4 until the iteration reaches the preset number K, and the jth iteration result x is obtained (j) Then, the next operation is carried out;
s1.6: j is given as j +1, and the procedure returns to step S1.3 until the iteration reaches the preset number max, and the result x of the max-th iteration is obtained (max) Is an estimate of the transmitted information.
Step S2 includes the steps of:
s2.1: initializing the binary information vector x through a hard decision result to obtain an initialized binary information vector x (0)
S2.2: setting the total times of the first iteration counter as K, and enabling an iteration variable i of the first iteration counter to be 1;
s2.3: the calculation is performed according to equation (4):
Figure BDA0001824005250000061
in the formula (4), the reaction mixture is,
Figure BDA0001824005250000062
representing the result of inverting the ith bit of a binary information vector x, d i Is a measure of the result after the flip, used to get the update sequence of the bits in x;
s2.4: making i equal to i +1, returning to the step S2.3 until iteration reaches a preset number of times K, and then entering the next operation;
s2.5: for d obtained i (i-1, 2.. K) sorting in ascending order, storing the sorting result in vector s as the order of the subsequent update bits; p-th element S in S p Stored is at d i Subscripts of the elements at the p-th position in ascending order;
s2.6: setting the total times of the second iteration counter as max, and enabling an iteration variable j of the second iteration counter to be 1;
s2.7: setting the total times of a third iteration counter as K, and enabling an iteration variable p of the third iteration counter to be 1;
s2.8: the calculation was performed according to the formulas (5) to (8):
Figure BDA0001824005250000063
Figure BDA0001824005250000064
Figure BDA0001824005250000065
Figure BDA0001824005250000071
where N denotes the length of the received signal y, σ * Represents the result of the standard deviation correction of the added noise in the channel,
Figure BDA0001824005250000072
representing the modified log-likelihood ratio,
Figure BDA0001824005250000073
s-th representing a binary information vector x p One bit of the data is transmitted to the receiver,
Figure BDA0001824005250000074
to represent
Figure BDA0001824005250000075
Probability of 0, r is a random number uniformly distributed between 0 and 1;
s2.9: p is equal to p +1, and the process returns to step S2.8 until the iteration reaches the preset number K, and the j-th iteration result x is obtained (j) Then, the next operation is carried out;
s2.10: j is given as j +1, and the process returns to step S2.7 until the iteration reaches the preset number max, and the result x of the max-th iteration is obtained (max) Is an estimate of the transmitted information.
Step S3 includes the following steps:
s3.1: initializing x with all-zero vectors 1 =x 2 =...=x L (ii) a Wherein x is u U is more than or equal to 1 and less than or equal to L which is a binary information vector on the u-th path, and L is the number of preset expansion paths;
s3.2: setting the total times of the first iteration counter as K, and enabling an iteration variable i of the first iteration counter to be 1;
s3.3: setting the total times of the second iteration counter to be L, and enabling an iteration variable p of the second iteration counter to be 1;
s3.4: value is assigned according to equation (9):
Figure BDA0001824005250000076
in the formula (9), the reaction mixture is,
Figure BDA0001824005250000077
represents the vector x p The result after the i-th bit flip, x p Representing a binary information vector, x, on the p-th path L+p Representing a binary information vector on the L + p path;
s3.5: setting the total times of the third iteration counter to be 2L, and enabling an iteration variable j of the third iteration counter to be 1;
s3.6: the calculation is performed according to equation (10):
d j '=||y-Gx j || 2 2 (10)
in the formula (10), d j ' is a measure of the binary information vector on each path to obtain the path that needs to be reserved finally; x is a radical of a fluorine atom j Representing a binary information vector on the jth path;
s3.7: for d obtained j ' (i ═ 1, 2.., K) is sorted in ascending order, and the sorting result is stored in a vector s for obtaining L paths which need to be reserved finally;
s3.8: j is set as j +1, the process returns to the step S3.6 until iteration reaches the preset time 2L, and then the next operation is carried out;
s3.9: the value is assigned according to equation (11):
Figure BDA0001824005250000081
in the formula (11), the reaction mixture is,
Figure BDA0001824005250000082
denotes the th S p A binary information vector on a strip path;
s3.10: making p equal to p +1, returning to the step S3.4 until iteration is carried out for a preset number of times L, and then entering the next operation;
s3.11: i is set to i +1, and the process returns to step S2.3 until the iteration reaches the preset number K, then the binary information vector x on the 1 st path 1 Is an estimate of the transmitted information.
The transmission formula of the LDPC decoder is:
y=Gx+n (12)
in the formula (12), the vector n ∈ C N Each term obeys a mean value of 0 and a variance of σ 2 X is a K × 1-dimensional binary information vector, y is an N × 1-dimensional reception vector, N represents a code length, and K represents an information bit length.
The results of comparing the method of this embodiment with the classical BP decoding algorithm are shown in fig. 4 and 5.
As can be seen from fig. 4 and 5, when the code length is short: under the (20,10) and (32,16) scenarios, the performance is obviously improved compared with the traditional BP algorithm. Compared with BP decoding, the optimized decoding method provided by the invention has the signal-to-noise ratio of about 10 -3 There is a performance gain of over 1 dB. The method solves the problem of poor performance when the code length is short in BP, and can be used for next generation mobile communication to meet the requirements of the next generation mobile communication on LDPC decoding.
In terms of computational complexity, the algorithms of the invention all comprise operations of multiplication, addition, comparison and sequencing, so that the computational complexity is improved compared with the traditional BP algorithm. However, since these methods are all designed for short codes, the required complexity is still relatively low, and the performance improvement obtained by using the present solution is combined, the cost of the calculation amount can be accepted.
Finally, the present invention provides a hardware architecture diagram of an example MCMC-L of the present invention, FIG. 6, and a detailed diagram of a specific computing module, FIG. 7, for reference.
FIG. 6 shows an MCMC-L hardware architecture diagram, where initialization is performed first, followed by the calculation of d j ' and d j+L ' (j-1, 2, …, L) and then sorted and re-iterated until a maximum number of iterations max is reached.
FIG. 7 is a pair d j ' and d j+L ' concrete presentation of calculation module. Where #and #, including '2' are addition and binary addition, respectively. Suppose G is stored in column vector form, and G i The ith column vector of the G matrix is represented. D can be implemented with less complexity using the algorithm of FIG. 7 j ' and d j+L ' calculation.

Claims (2)

1. An LDPC decoder construction method based on a Markov Monte Carlo method is characterized in that: the method comprises the following steps:
s1: constructing an MCMC decoding algorithm of the LDPC by generating a matrix G, a received signal y and a preset maximum iteration number max; the MCMC decoding algorithm for constructing the LDPC specifically comprises the following steps:
s1.1: initializing the binary information vector x through a hard decision result to obtain the initialized binary information vector x (0)
S1.2: setting the total times of the first iteration counter as max, and enabling an iteration variable j of the first iteration counter to be 1;
s1.3: setting the total times of the second iteration counter as K, and enabling an iteration variable i of the second iteration counter to be 1; k is the length of the binary information vector x;
s1.4: the calculation was performed according to formulas (1) to (3):
Figure FDA0003668353170000011
Figure FDA0003668353170000012
Figure FDA0003668353170000013
wherein x is i Representing the ith bit of a binary information vector x, x i=0 The ith bit representing the binary information vector x is 0, x i=1 The ith bit representing the binary information vector x is 1, sigma represents the standard deviation of white gaussian noise added by the signal in the process of space propagation, and L i Denotes x i Log likelihood ratio of (c), P (x) i 0) represents x i Probability of 0, r is a random number uniformly distributed between 0 and 1;
s1.5: i is made to be i +1, and the process returns to step S1.4 until the iteration reaches the preset number K, and the jth iteration result x is obtained (j) Then entering the next operation;
s1.6: j is given as j +1, and the procedure returns to step S1.3 until the iteration reaches the preset number max, and the result x of the max-th iteration is obtained (max) An estimate of the transmitted information;
s2: constructing an LDPC MCMC-S decoding algorithm on the basis of the LDPC MCMC decoding algorithm; the MCMC-S decoding algorithm for constructing the LDPC specifically comprises the following steps:
s2.1: initializing the binary information vector x through a hard decision result to obtain the initialized binary information vector x (0)
S2.2: setting the total times of the first iteration counter as K, and enabling an iteration variable i of the first iteration counter to be 1;
s2.3: the calculation is performed according to equation (4):
Figure FDA0003668353170000021
in the formula (4), the reaction mixture is,
Figure FDA0003668353170000022
representing the junction after inverting the ith bit of a binary information vector xFruit, d i Is a measure of the result after the flip, used to get the update sequence of the bits in x;
s2.4: making i equal to i +1, returning to the step S2.3 until iteration reaches a preset number of times K, and then entering the next operation;
s2.5: for d obtained i (i 1, 2.. K) sorting in ascending order, storing the sorting result in a vector s as the order of the subsequent update bits; p-th element s of s p Stored is at d i Subscript of element at p-th order in ascending order;
s2.6: setting the total times of the second iteration counter as max, and enabling an iteration variable j of the second iteration counter to be 1;
s2.7: setting the total times of the third iteration counter as K, and enabling an iteration variable p of the third iteration counter to be 1;
s2.8: the calculation was performed according to formulas (5) to (8):
Figure FDA0003668353170000023
Figure FDA0003668353170000024
Figure FDA0003668353170000025
Figure FDA0003668353170000026
where N denotes the length of the received signal y, σ * Represents the result of the standard deviation correction of the added noise in the channel,
Figure FDA0003668353170000027
representing the modified log-likelihood ratio,
Figure FDA0003668353170000028
s-th representing a binary information vector x p One bit of the data is transmitted to the receiver,
Figure FDA0003668353170000029
to represent
Figure FDA00036683531700000210
Probability of 0, r is a random number uniformly distributed between 0 and 1;
s2.9: let p be p +1 and return to step S2.8 until the iteration reaches the preset number K, and obtain the jth iteration result x (j) Then, the next operation is carried out;
s2.10: j is equal to j +1 and returns to step S2.7 until the iteration reaches the preset number max, and the max-th iteration result x (max) An estimate of the transmitted information;
s3: constructing an MCMC-L decoding algorithm of the LDPC by a generating matrix G, a receiving signal y and a preset expansion path number L; the MCMC-L decoding algorithm for constructing the LDPC specifically comprises the following steps:
s3.1: initializing x with all-zero vectors 1 =x 2 =...=x L (ii) a Wherein x is u The binary information vector on the u-th path is represented by u being more than or equal to 1 and less than or equal to L, and L is the number of preset expansion paths;
s3.2: setting the total times of the first iteration counter as K, and enabling an iteration variable i of the first iteration counter to be 1;
s3.3: setting the total times of a second iteration counter as L, and enabling an iteration variable p of the second iteration counter to be 1;
s3.4: the value is assigned according to equation (9):
Figure FDA0003668353170000031
in the formula (9), the reaction mixture is,
Figure FDA0003668353170000032
represents the vector x p The ith bit-flipped result of (1), x p Representing a binary information vector, x, on the p-th path L+p Representing a binary information vector on the L + p path;
s3.5: setting the total times of the third iteration counter to be 2L, and enabling an iteration variable j of the third iteration counter to be 1;
s3.6: the calculation is performed according to equation (10):
d j '=||y-Gx j || 2 2 (10)
in the formula (10), d j ' is a measure of the binary information vector on each path to obtain the path that needs to be reserved finally; x is the number of j Representing a binary information vector on the jth path;
s3.7: for d obtained j ' (i ═ 1, 2.., K) is sorted in ascending order, and the sorting result is stored in a vector s for obtaining L paths which need to be reserved finally;
s3.8: j is set as j +1, the process returns to the step S3.6 until iteration reaches the preset time 2L, and then the next operation is carried out;
s3.9: the value is assigned according to equation (11):
Figure FDA0003668353170000033
in the formula (11), the reaction mixture is,
Figure FDA0003668353170000034
denotes the s th p A binary information vector on a path;
s3.10: making p equal to p +1, returning to the step S3.4 until iteration reaches a preset number L, and then entering the next operation;
s3.11: i is equal to i +1, and the process returns to step S2.3 until the iteration reaches the preset number K, then the binary information vector x on the 1 st path 1 Is an estimate of the transmitted information.
2. The method of constructing an LDPC decoder according to claim 1 based on a markov monte carlo method, wherein: the transmission formula of the LDPC decoder is as follows:
y=Gx+n (12)
in the formula (12), the vector n ∈ C N Each term obeys a mean value of 0 and a variance of σ 2 X is a K × 1-dimensional binary information vector, y is an N × 1-dimensional reception vector, N represents a code length, and K represents an information bit length.
CN201811176885.5A 2018-10-10 2018-10-10 LDPC decoder construction method based on Markov Monte Carlo method Active CN109495114B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811176885.5A CN109495114B (en) 2018-10-10 2018-10-10 LDPC decoder construction method based on Markov Monte Carlo method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811176885.5A CN109495114B (en) 2018-10-10 2018-10-10 LDPC decoder construction method based on Markov Monte Carlo method

Publications (2)

Publication Number Publication Date
CN109495114A CN109495114A (en) 2019-03-19
CN109495114B true CN109495114B (en) 2022-07-26

Family

ID=65690253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811176885.5A Active CN109495114B (en) 2018-10-10 2018-10-10 LDPC decoder construction method based on Markov Monte Carlo method

Country Status (1)

Country Link
CN (1) CN109495114B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101322328A (en) * 2005-11-18 2008-12-10 高通股份有限公司 Reduced complexity detection and decoding for a receiver in a communication system
CN103746731A (en) * 2014-01-21 2014-04-23 电子科技大学 Probability calculation-based multiple input multiple output detector and detection method
WO2017100689A1 (en) * 2015-12-10 2017-06-15 University Of Utah Research Foundation Soft-information moderation for mimo detectors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101322328A (en) * 2005-11-18 2008-12-10 高通股份有限公司 Reduced complexity detection and decoding for a receiver in a communication system
CN103746731A (en) * 2014-01-21 2014-04-23 电子科技大学 Probability calculation-based multiple input multiple output detector and detection method
WO2017100689A1 (en) * 2015-12-10 2017-06-15 University Of Utah Research Foundation Soft-information moderation for mimo detectors

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Approaching MIMO capacity using bitwise Markov Chain Monte Carlo detection;Rong-rong Chen 等;《IEEE Transactions on Communications》;20100208;第58卷(第2期);全文 *
Markov Chain Monte Carlo Based Detection for Two-Dimensional Intersymbol Interference Channels;Mahdi Shaghaghi 等;《IEEE Transactions on Magnetics》;20101203;第47卷(第2期);全文 *

Also Published As

Publication number Publication date
CN109495114A (en) 2019-03-19

Similar Documents

Publication Publication Date Title
US8326213B2 (en) Encoding low density parity check (LDPC) codes through an LDPC decoder
US7539920B2 (en) LDPC decoding apparatus and method with low computational complexity algorithm
CN108847848B (en) BP decoding algorithm of polarization code based on information post-processing
US8099645B2 (en) LDPC codes and stochastic decoding for optical transmission
CN108964669B (en) LDPC code quadratic programming decoding method based on degree decomposition and alternative multiplier method
CN105763203B (en) Multi-element LDPC code decoding method based on hard reliability information
CN107204780B (en) Merging BP decoding algorithm and device of polar-LDPC (Low Density parity check) concatenated code
US20070094568A1 (en) Method for updating check node in low density parity check decoder
US10892783B2 (en) Apparatus and method for decoding polar codes
JP2012151839A (en) Method for performing soft decision decoding of euclidean space reed-muller code
CN114244375A (en) LDPC normalized minimum sum decoding method and device based on neural network
CN102811065B (en) Mini-sum decoding correcting method based on linear minimum mean error estimation
CN110166171A (en) Multielement LDPC code compensates high-performance decoding scheme based on the segmented of EMS
US20070083802A1 (en) Broadcast message passing decoding of low density parity check codes
CN106656209B (en) Cascade code method for correcting synchronous errors by adopting iterative decoding
CN110995279A (en) Polarization code combined SCF spherical list overturning decoding method
CN106998240A (en) A kind of interpretation method and decoder
CN109495114B (en) LDPC decoder construction method based on Markov Monte Carlo method
CN101106437A (en) A decoding method for limited geometrical low density checksum code
CN112165338A (en) Estimation method for interleaving relation of convolutional code random interleaving sequence
CN115276668A (en) LDPC code hybrid decoding method based on CRC
CN114448570B (en) Deep learning decoding method of distributed joint information source channel coding system
CN113014271B (en) Polarization code BP decoding method for reducing turnover set
CN114374397A (en) Method for three-dimensional Turbo product code decoding structure and optimizing iteration weight factor
CN110730006B (en) LDPC code error correction method and error correction module for MCU

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