CN108055046B - LDPC decoder based on double correction factors - Google Patents

LDPC decoder based on double correction factors Download PDF

Info

Publication number
CN108055046B
CN108055046B CN201810093380.6A CN201810093380A CN108055046B CN 108055046 B CN108055046 B CN 108055046B CN 201810093380 A CN201810093380 A CN 201810093380A CN 108055046 B CN108055046 B CN 108055046B
Authority
CN
China
Prior art keywords
node
variable
check
information
max
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
CN201810093380.6A
Other languages
Chinese (zh)
Other versions
CN108055046A (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.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN201810093380.6A priority Critical patent/CN108055046B/en
Publication of CN108055046A publication Critical patent/CN108055046A/en
Application granted granted Critical
Publication of CN108055046B publication Critical patent/CN108055046B/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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention discloses an LDPC decoder based on double correction factors, which adopts addition operation to replace product operation in the process of calculating all residue values, simplifies operation steps, greatly reduces calculation complexity, introduces correction factors and corrects the residue values of each edge in order to ensure that the decoding performance of modified RBP and NW RBP algorithms is not reduced, so as to reduce the error rate of decoding after the algorithms are simplified.

Description

LDPC decoder based on double correction factors
Technical Field
The invention relates to the technical field of electronics, communication and information engineering, in particular to an LDPC decoder based on double correction factors.
Background
A Low-Density Parity-Check (LDPC) code is a linear block code. Because of the characteristic of being close to the aroma limit, the LDPC code is widely applied to the fields of deep space communication, optical fiber communication, satellite digital video, audio broadcasting, data storage and the like. In each iteration process, all information from variable nodes to check nodes is updated at the same time, and then all information from check nodes to variable nodes is updated at the same time. The convergence rate of the decoding method is slow, in order to improve the convergence rate of decoding, Casado et al apply the concept of residual degree to belief propagation, and propose two decoding timings: decoding is propagated based on Residual Belief Propagation (RBP), and decoding is propagated based on Residual Belief Propagation (NWRBP) of check nodes. The difference between the two is that the RBP dynamically selects the edge where the maximum residue degree is located for updating, and the NWRBP dynamically selects the check node where the maximum residue degree is located for updating.
The convergence rate of LDPC decoding is effectively improved by both RBP algorithm and NW RBP decoding, but the RBP algorithm and NW RBP decoding have the disadvantages that a large number of floating point type logarithm and exponential operations are required in the decoding process, so that the operation amount is large, the complexity is high, and the hardware realization is not facilitated.
Disclosure of Invention
The invention aims to solve the problems that in the prior art, an RBP decoding algorithm is high in complexity and not beneficial to hardware implementation, and provides an LDPC decoder based on double correction factors.
The technical scheme adopted by the invention is as follows: an LDPC decoder based on double correction factors comprises the following procedures:
1) initialization: setting correction factors alpha and beta;
all information m from check node to variable nodec→vSet to 0; where subscripts c and v are check nodes and variable nodes respectively,
all information L from variable node to check nodev→cSet to its corresponding channel information ri;Lv→cSubscripts are denoted as the v-th variable node through the c-th check node;
setting the total number of information from the check node to the variable node in each iteration as T, wherein the variable T is 0;
m denotes check node to variable node information, where subscripts denote from the number of check nodes to the number of variable nodes;
2) calculating all residual values
Figure BDA0001564316330000021
The calculation process is as follows:
Figure BDA0001564316330000022
Figure BDA0001564316330000023
Figure BDA0001564316330000024
Figure BDA0001564316330000025
and is
Figure BDA0001564316330000026
Figure BDA0001564316330000027
Figure BDA0001564316330000028
Figure BDA0001564316330000029
Figure BDA00015643163300000210
Figure BDA00015643163300000211
And representing the information before updating from the ith check node to the jth variable node.
3) Finding the maximum value of the residue value
Figure BDA00015643163300000212
4) The method is divided into two types, the first type is: generating check node to variable node information
Figure BDA00015643163300000213
Recording the updating times t as t + 1; c hereinmaxAnd vmaxIs a specific node;
and (4) subsequent updating:
FOR each ca∈N(vmax)DO
Generate and propagate
Figure BDA00015643163300000214
V hereinmaxAnd caIs a specific node;
END FOR
the second method is as follows: for each vj∈N(cmax) Generating and propagating check node cmaxInformation to all edge nodes
Figure BDA00015643163300000215
Recording the updating times t as t + 1;
and (4) subsequent updating:
FOR each ca∈N(vj)DO
Generate and propagate
Figure BDA0001564316330000031
END FOR
5) And (4) trial judgment:
IF t<T
returning to the step 2);
ELSE
after the decoding is finished, outputting a decoding result;
END。
preferably, the correction factor α ∈ (0,1), the correction factor β ∈ (0,1), and β < α.
Preferably, said N (c)m)={vn:h mn1 represents and checks node cmA set of all connected variable nodes; n (c)m)\vnA set of representations N (c)m) Removing variable node vnSet of (d), N (v)n)={cm:h mn1 represents a variable node vnA collection of all check nodes connected.
The invention has the beneficial effects that: in the RBP and NWRBP algorithm, because floating-point logarithm and exponent operation are needed when the residue value of each edge is calculated, the operation amount of all the edges from the check node to the variable node is much higher than that of the traditional BP algorithm after the edges are updated; in addition, in order to ensure that the decoding performance of the modified RBP and NW RBP algorithm is not reduced, a correction factor is introduced and the residual value of each edge is corrected, so that the decoding performance is improved on the premise of reducing the operation amount.
Drawings
FIG. 1 is a functional block diagram of the present invention;
FIG. 2 is a diagram illustrating a relationship between a frame error rate and an iteration number when a signal-to-noise ratio is 3.0dB in a white Gaussian noise channel environment by an improved RBP algorithm;
FIG. 3 is a diagram illustrating a relationship between a frame error rate and an iteration number when a signal-to-noise ratio is 3.5dB in a white Gaussian noise channel environment by an improved RBP algorithm;
FIG. 4 is a diagram illustrating a relationship between a frame error rate and an iteration number when a signal-to-noise ratio is 3.0dB in a Gaussian white noise channel environment by an improved NW RBP algorithm;
FIG. 5 is a diagram illustrating a relationship between a frame error rate and an iteration number when a signal-to-noise ratio is 3.5dB in a Gaussian white noise channel environment by an improved NW RBP algorithm;
Detailed Description
The invention will be further described with reference to the drawings in the following examples.
Example 1:
referring to fig. 1-3, an embodiment of the present invention is provided:
step 1, firstly, initializing, and setting correction factors alpha and beta; all information m from check node to variable nodec→vSet to 0; all information L from variable node to check nodev→cSet to its corresponding channel information ri(ii) a Setting the total number of information from the check node to the variable node as T, wherein the variable T is 0;
step 2, calculating the residual value of all edges
Figure BDA0001564316330000041
Original source
Figure BDA0001564316330000042
The calculation method comprises the following steps:
Figure BDA0001564316330000043
Figure BDA0001564316330000044
will be original
Figure BDA0001564316330000045
The calculation method is modified as follows:
Figure BDA0001564316330000046
then through correction factors alpha and beta
Figure BDA0001564316330000047
Making correction and final calculation
Figure BDA0001564316330000048
Step 3, finding the maximum value of the residue value
Figure BDA0001564316330000049
Generating check node to variable node information
Figure BDA00015643163300000410
And for each ca∈N(vmax) Generating and propagating
Figure BDA00015643163300000411
Recording the updating times T as T +1, returning to the step 2 to continuously update when T is less than T, and finishing one iteration when T as T; the repeated decoding interruption condition is as follows: the number of successful decoding or iterations reaches a set maximum.
Example 2:
referring to fig. 1, 4 and 5, an embodiment of the present invention is provided:
step 1, firstly, initializing, and setting correction factors alpha and beta; all information m from check node to variable nodec→vSet to 0; all information L from variable node to check nodev→cSet to its corresponding channel information ri(ii) a Setting the total number of check nodes as T, and setting a variable T as 0;
step 2, calculating the residual value of all edges
Figure BDA00015643163300000412
Original source
Figure BDA00015643163300000413
The calculation method comprises the following steps:
Figure BDA0001564316330000051
Figure BDA0001564316330000052
will be original
Figure BDA0001564316330000053
The calculation method is modified as follows:
Figure BDA0001564316330000054
then through correction factors alpha and beta
Figure BDA0001564316330000055
Making correction and final calculation
Figure BDA0001564316330000056
Step 3, finding the maximum value of the residue value
Figure BDA0001564316330000057
For each vj∈N(cmax) Generating and propagating check node cmaxInformation to all edge nodes
Figure BDA0001564316330000058
And for each ca∈N(vj) Generating and propagating
Figure BDA0001564316330000059
Recording the updating times T as T +1, returning to the step 2 to continuously update when T is less than T, and finishing one iteration when T as T; the repeated decoding interruption condition is as follows: the number of successful decoding or iterations reaches a set maximum.
The computer used for the experiment is configured to be an internal memory of 8GB, the CPU is a desktop computer of Intel Core i 5-65003.20 GHz, the code is developed by C + + language, and the compiler is Visual Studio 2012. The LDPC code used to test the inventive scheme was a (155,3,5) LDPC code. All simulations in the invention are performed in binary input additive white gaussian noise (BI-AWGN) channel, the correction factor α is 0.9, the correction factor β is 0.1, the maximum number of iterations is 200, and the modulation mode is BPSK. By analyzing the performance of each coding scheme, the following conclusions can be drawn:
first, in calculating the residual value
Figure BDA00015643163300000510
In the process, the floating-point product operation is replaced by the addition operation, and compared with the traditional RBP and NW RBP algorithm, the complexity of the improved RBP and improved NW RBP decoding algorithm is greatly reduced, and the hardware implementation difficulty is reduced.
Secondly, as shown in fig. 2 and fig. 3, the frame error rate of the modified RBP decoding algorithm is significantly lower than that of the conventional RBP algorithm, and as shown in fig. 4 and fig. 5, the frame error rate of the modified NW RBP algorithm is also slightly lower than that of the conventional NW RBP algorithm, so that the algorithm achieves the effect of improving decoding performance while reducing complexity.
The above are only typical examples of the present invention, and besides, the present invention may have other embodiments, and all the technical solutions formed by equivalent substitutions or equivalent changes are within the scope of the present invention as claimed.

Claims (3)

1. An LDPC decoder based on dual correction factors, comprising: the method comprises the following steps:
1) initialization: setting correction factors alpha and beta;
all information m from check node to variable nodec→vSet to 0; where subscripts c and v are check nodes and variable nodes respectively,
all information L from variable node to check nodev→cSet to its corresponding channel information ri
Lv→cSubscripts are denoted as the v-th variable node through the c-th check node;
setting the total number of information from the check node to the variable node in each iteration as T, wherein the variable T is 0;
mc→vinformation representing check nodes to variable nodes, wherein subscripts are represented from the c-th check node to the v-th variable node;
2) calculating all residual values
Figure FDA0002959336200000011
The calculation process is as follows:
Figure FDA0002959336200000012
Figure FDA0002959336200000013
Figure FDA0002959336200000014
Figure FDA0002959336200000015
and is
Figure FDA0002959336200000016
Figure FDA0002959336200000017
Figure FDA0002959336200000018
Figure FDA0002959336200000019
Figure FDA00029593362000000110
Figure FDA00029593362000000111
Representing information before updating from the ith check node to the jth variable node;
3) finding the maximum value of the residue value
Figure FDA00029593362000000112
4) The method is divided into two types, the first type is: generating check node to variable node information
Figure FDA00029593362000000113
Recording the updating times t as t + 1; c hereinmaxAnd vmaxIs a specific node;
and (4) subsequent updating:
FOR each ca∈N(vmax)DO
Generate and propagate
Figure FDA0002959336200000021
V hereinmaxAnd caIs a specific node;
END FOR
the second method is as follows: for each vj∈N(cmax) Generating and propagating check node cmaxInformation to all edge nodes
Figure FDA0002959336200000022
Recording the updating times t as t + 1;
and (4) subsequent updating:
FOR each ca∈N(vj)DO
Generate and propagate
Figure FDA0002959336200000023
END FOR
5) And (4) trial judgment:
IF t<T
returning to the step 2);
ELSE
after the decoding is finished, outputting a decoding result;
END。
2. the dual correction factor-based LDPC decoder according to claim 1, wherein: the correction factor alpha belongs to (0,1), the correction factor beta belongs to (0,1), and beta is less than alpha.
3. The dual correction factor-based LDPC decoder according to claim 1, wherein: n (c)m)={vn:hmn1 represents and checks node cmA set of all connected variable nodes; n (c)m)\vnA set of representations N (c)m) Removing variable node vnSet of (d), N (v)n)={cm:hmn1 represents a variable node vnA collection of all check nodes connected.
CN201810093380.6A 2018-01-31 2018-01-31 LDPC decoder based on double correction factors Active CN108055046B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810093380.6A CN108055046B (en) 2018-01-31 2018-01-31 LDPC decoder based on double correction factors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810093380.6A CN108055046B (en) 2018-01-31 2018-01-31 LDPC decoder based on double correction factors

Publications (2)

Publication Number Publication Date
CN108055046A CN108055046A (en) 2018-05-18
CN108055046B true CN108055046B (en) 2021-05-18

Family

ID=62125003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810093380.6A Active CN108055046B (en) 2018-01-31 2018-01-31 LDPC decoder based on double correction factors

Country Status (1)

Country Link
CN (1) CN108055046B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111277275B (en) * 2020-02-11 2021-01-05 上海威固信息技术股份有限公司 Method for adaptively acquiring normalization factor of LDPC decoding algorithm

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594365A (en) * 2012-02-29 2012-07-18 中山大学 Dynamic asynchronous BP decoding method
CN103152057A (en) * 2013-02-01 2013-06-12 哈尔滨工业大学深圳研究生院 Low density parity check code (LDPC) decoder and decoding method based on double normalization correction factors
CN104639178A (en) * 2015-03-06 2015-05-20 中山大学 Dynamic column updating and decoding method based on LDPC (low-density parity-check) code
US9191256B2 (en) * 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
CN106603083A (en) * 2016-12-13 2017-04-26 南京信息工程大学 Enhance LDPC (low-density parity-check) code node-based residual belief propagation decoding method
CN106788461A (en) * 2016-12-13 2017-05-31 天津光电通信技术有限公司 LDPC decoding algorithms based on the lazy serial layering scheduling of variable node
CN106788460A (en) * 2016-12-13 2017-05-31 南京信息工程大学 The sequential series connection confidence interpretation method of LDPC code
CN107404323A (en) * 2017-08-09 2017-11-28 重庆邮电大学 A kind of LDPC code based on staggeredly ranks message transmission improves decoding algorithm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101599336B1 (en) * 2014-04-22 2016-03-04 아주대학교 산학협력단 Method and Apparatus for decoding Low-Density Parity-Check code

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594365A (en) * 2012-02-29 2012-07-18 中山大学 Dynamic asynchronous BP decoding method
US9191256B2 (en) * 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
CN103152057A (en) * 2013-02-01 2013-06-12 哈尔滨工业大学深圳研究生院 Low density parity check code (LDPC) decoder and decoding method based on double normalization correction factors
CN104639178A (en) * 2015-03-06 2015-05-20 中山大学 Dynamic column updating and decoding method based on LDPC (low-density parity-check) code
CN106603083A (en) * 2016-12-13 2017-04-26 南京信息工程大学 Enhance LDPC (low-density parity-check) code node-based residual belief propagation decoding method
CN106788461A (en) * 2016-12-13 2017-05-31 天津光电通信技术有限公司 LDPC decoding algorithms based on the lazy serial layering scheduling of variable node
CN106788460A (en) * 2016-12-13 2017-05-31 南京信息工程大学 The sequential series connection confidence interpretation method of LDPC code
CN107404323A (en) * 2017-08-09 2017-11-28 重庆邮电大学 A kind of LDPC code based on staggeredly ranks message transmission improves decoding algorithm

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Improved decoding of LDPC codes by variable-to-check residual belief propagation;Lingyan Song等;《2015 10th International Conference on Communications and Networking in China》;20160623;第163-166页 *
LDPC码节点剩余度置信传播译码改进;周华等;《电子技术应用》;20171106;第43卷(第11期);第107-111页 *
改进的基于剩余度置信度传播的LDPC解码算法;赵明等;《北京航空航天大学学报》;20131028;第40卷(第3期);第350-354页 *

Also Published As

Publication number Publication date
CN108055046A (en) 2018-05-18

Similar Documents

Publication Publication Date Title
CN100486118C (en) Minimal sum decoding method based on grading excursion correction
CN107241106B (en) Deep learning-based polar code decoding algorithm
CN108847848B (en) BP decoding algorithm of polarization code based on information post-processing
US7539920B2 (en) LDPC decoding apparatus and method with low computational complexity algorithm
CN107612560B (en) Polarization code early iteration stopping method based on partial information bit likelihood ratio
CN110830049B (en) LDPC decoding method based on density evolution improved offset minimum sum
US10498363B2 (en) Low density parity check decoder using binary logarithm and decoding method thereof
CN109921804B (en) Self-adaptive fusion serial offset list polarization code decoding method and system
CN110535475B (en) Hierarchical adaptive normalized minimum sum decoding algorithm
CN107968657B (en) Hybrid decoding method suitable for low-density parity check code
CN110336567B (en) Joint iterative decoding method applied to G-LDPC coding cooperation
CN107565978B (en) BP decoding method based on Tanner graph edge scheduling strategy
CN114244375B (en) LDPC normalization minimum sum decoding method and device based on neural network
CN110022159B (en) Fast-convergence LDPC decoding algorithm
CN110417512B (en) Joint iterative decoding method for CPM communication system
Winkelbauer et al. On quantization of log-likelihood ratios for maximum mutual information
CN108055046B (en) LDPC decoder based on double correction factors
CN109495116B (en) SC-BP mixed decoding method of polarization code and adjustable hardware architecture thereof
CN108092671A (en) A kind of NB-LDPC code coding methods of high-performance low complex degree
CN106603083B (en) Improved method based on LDPC code node residual degree belief propagation decoding
CN111835363B (en) LDPC code decoding method based on alternate direction multiplier method
KR20090064268A (en) Apparatus and method for decoding using variable error-correcting value
CN110212924B (en) LT code encoding and decoding method and system
CN108092672B (en) BP decoding method based on folding scheduling
CN111628786B (en) Adaptive minimum sum decoding method for LDPC code

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