WO2009078644A1 - Decoding apparatus and method based on variable error correction value - Google Patents
Decoding apparatus and method based on variable error correction value Download PDFInfo
- Publication number
- WO2009078644A1 WO2009078644A1 PCT/KR2008/007419 KR2008007419W WO2009078644A1 WO 2009078644 A1 WO2009078644 A1 WO 2009078644A1 KR 2008007419 W KR2008007419 W KR 2008007419W WO 2009078644 A1 WO2009078644 A1 WO 2009078644A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- correction value
- check node
- error correction
- updating
- variable error
- Prior art date
Links
- 238000012937 correction Methods 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 44
- 230000000694 effects Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1117—Soft-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/112—Soft-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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/658—Scaling by multiplication or division
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6583—Normalization other than scaling, e.g. by subtraction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1165—QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
Definitions
- the present invention relates to a decoding apparatus and method based on a variable error correction value; and, more particularly, to a decoding apparatus and method which can improve decoding performance by providing a modified min-sum algorithm using the variable error correction value whenever decoding is performed in a check node updating operation and applying the modified min-sum algorithm to a Low Density Parity Check (LDPC) code of a DVB-S2 standard.
- LDPC Low Density Parity Check
- LDPC Low Density Parity Check
- a parity check matrix of the LDPC code is mostly formed of '0' elements.
- an iterative decoding based on probability can be easily implemented due to low density that the number of non-zero elements is small, compared with a code length of the LDPC code.
- the LDPC code is drawing attention as a research theme of an error correction code field, and actually suggested and used as a standard in various fields, e.g., communication, broadcasting and storage media.
- the BP algorithm can be simply modified into an approximation method based on the BP.
- the approximation method is also called a min-sum approximation.
- the approximation method may decrease decoding complexity, but it deteriorates decoding performance.
- a decoding method of the LDPC code is an algorithm for correcting errors by repeatedly exchanging messages between a variable node and check node of a Tanner graph and updating messages in each node.
- the BP iterative decoding method uses a Log- Likelihood Ratio (LLR) values not a posterior probability as the messages needed for decoding in a Binary-Input Additive White Gaussian Noise (BIAWGN) channel.
- LLR Log- Likelihood Ratio
- BPSK Binary Phase Shift Keying
- AWGN Additive White Gaussian Noise
- an LLR value L(y n ) corresponding to a reception signal of n" 1 variable node is expressed as the following Equation 1.
- q nm (x) is defined as a probability that a variable n is x, where xe ⁇ 0,l ⁇ , under the condition that M(n) check nodes except the m" 1 check node are satisfied.
- r ⁇ x is defined as a probability that the m" 1 check node is satisfied under the condition that the variable n is x, where xe ⁇ 0,l ⁇ .
- a posterior LLR value of the n" 1 variable node for a temporary decoding is defined as
- the method is called a normalized BP approximation method and it improves decoding performance by using a normalized factor smaller than 1 as shown in the
- Equation 7 The other is a method called an offset BP approximation method of updating the check node by sing an offset factor ⁇ . As shown in Equation 8 below, check node updating operation is performed using the offset factor ⁇ , where ⁇ is positive value. [46]
- the approximation includes determining whether an equation value is positive or negative, searching for a minimum element among the set
- Fig. 1 is a graph illustrating a magnitude distribution of messages outputted from a variable node in the sum-product algorithm.
- the drawing shows a distribution of an absolute LLR value corresponding to a specific reception signal for the LDPC code having a code rate of 1/2 of DVB-S2 standard and a length 64800 when a signal-to-noise ratio (E b /N 0 ) is 1.0 dB.
- Fig. 2 is a graph illustrating another magnitude distribution of messages outputted from the variable node in the sum-product algorithm.
- the drawing shows a distribution of n'm corresponding to a specific reception signal for the LDPC code having a code rate of 8/9 of DVB-S2 standard and a length 64800 when the signal-to-noise ratio (E b /N 0 ) is 3.6 dB.
- An embodiment of the present invention is directed to providing a decoding apparatus and method which can provide optimal decoding performance under a low code rate by using the variable error correction value for every decoding in a check node updating operation.
- a decoding method including: setting an initial normalized factor and a normalized factor correction value; initially updating a check node based on the initial normalized factor; and updating the check node based on a variable error correction value acquired by adding the initial normalized factor and the normalized factor correction value.
- a decoding method including: setting an initial offset factor and an offset factor correction value; initially updating a check node based on the initial offset factor; and updating the check node based on a variable error correction value acquired by multiplying the initial offset factor by the offset factor correction value.
- a decoding apparatus including: a initial setting unit for setting an initial normalized factor and a normalized factor correction value; and a check node updating unit for initially updating a check node based on the initial normalized factor and updating the check node based on a variable error correction value acquired by adding the initial normalized factor and the normalized factor correction value.
- a decoding apparatus including: a initial setting unit for setting an initial offset factor and a offset factor correction value; and a check node updating unit for initially updating a check node based on the initial offset factor and updating the check node based on a variable error correction value acquired by multiplying the initial offset factor by the offset factor correction value.
- the present invention provides optimal decoding performance at a low code rate by using the variable error correction value for every decoding in a check node updating operation.
- Fig. 1 is a graph illustrating a magnitude distribution of messages outputted from a variable node in a sum-product algorithm.
- Fig. 2 is a graph illustrating another magnitude distribution of messages outputted from a variable node in a sum-product algorithm.
- Fig. 3 is a flowchart describing a decoding method using a variable error correction value in accordance with an embodiment of the present invention.
- Fig. 4 is a flowchart describing a decoding method using a variable error correction value in accordance with another embodiment of the present invention.
- Fig. 5 shows a variable error correction value in accordance with an embodiment of the present invention.
- Fig. 6 is a graph showing performance of a decoding method using a variable error correction value in accordance with an embodiment of the present invention.
- Fig. 7 is a graph showing performance of a decoding method using a variable error correction value in accordance with another embodiment of the present invention.
- FIG. 8 is a block diagram illustrating a decoding apparatus using a variable error correction value in accordance with an embodiment of the present invention.
- FIG. 3 is a flowchart describing a decoding method using a variable error correction value in accordance with an embodiment of the present invention.
- an initial normalized factor and a normalized factor correction value are set at step S301.
- a check node is initially updated based on the initial normalized factor.
- a variable error correction value is acquired by adding the initial normalized factor and the normalized factor correction value, and the check node is re- updated based on the variable error correction value.
- a first value is produced by adding the normalized factor correction value and the variable error correction value used in the previous update, and the first value is used as a variable error correction value in the re-update.
- Fig. 4 is a flowchart describing a decoding method using a variable error correction value in accordance with another embodiment of the present invention.
- an initial offset factor and a offset factor correction value are set at step S401.
- a check node is initially updated based on the initial offset factor.
- a variable error correction value is produced by multiplying the initial offset factor by the offset factor correction value, and the check node is re -updated based on the variable error correction value.
- a second value is produced by multiplying the offset factor correction value by the variable error correction value used in the previous update, and the second value is used as a variable error correction value in the present update.
- an iteration number i is equal to 1; a maximum iteration decoding number is I max ;
- variable node is updated based on the following Equation 11. [106] m'GM(n)
- the decoding performance varies based on two factors, i.e.,
- Fig. 5 shows a variable error correction value in accordance with an embodiment of the present invention.
- the drawing shows the performance according to the
- the maximum iteration number I 1112x is defined as 50; a large amount of values are simulated for the normalized factor, the offset factor, the normalized factor correction value, and the offset factor correction value in order to find the optimal values having superior performance; and the optimal values are selected based on a curve fitting method.
- simulation values are connected in the form of a curve when E b /No is 0.95 dB or 1.0 dB; and a peck is determined as
- FIG. 6 is a graph showing performance of a decoding method using a variable error correction value in accordance with an embodiment of the present invention.
- the drawing shows a simulation result for a code having the code rate of 1/3 based on the values of Table 1 and the performance of conventional decoding algorithm, where v (1)
- Fig. 7 is a graph showing performance of a decoding method using a variable error correction value in accordance with another embodiment of the present invention.
- the drawing shows a simulation result for a code having the code rate of 1/3 based on the values of Table 2 and the performance of conventional decoding algorithm, where ⁇ ⁇ ])
- the decoding performance of the normalized BP algorithm is improved more than the decoding performance of the min-sum algorithm and the decoding performance of the conventional normalized BP algorithm.
- the decoding performance e.g., a frame error rate (FER), of the general BP algorithm (which is a sum-product algorithm) is 0.01.
- FER frame error rate
- the decoding performance of the normalized BP algorithm approaches within 0.12 dB.
- the decoding performance of the offset BP algorithm using the variable error correction value is improved more than the decoding performance of the conventional offset BP algorithm.
- the decoding performance of the offset BP algorithm approaches within 0.08 dB.
- Fig. 8 is a block diagram illustrating a decoding apparatus using a variable error correction value in accordance with an embodiment of the present invention.
- the decoding apparatus using the variable error correction value includes an initial setting unit 81 and a check node updating unit 82.
- the initial setting unit 81 sets an initial normalized factor and a normalized factor correction value upon receipt of an input signal from a user.
- the check node updating unit 82 initially updates the check node by using the initial normalized factor established in the initial setting unit 81, and the check node is re- updated based on a variable error correction value acquired by adding the initial normalized factor and the normalized factor correction value.
- the check node updating unit 82 acquires a first value by adding the normalized factor correction value and the variable error correction value used in the previous update, and the first value is used as a variable error correction value in the present update.
- the decoding apparatus using the variable error correction value includes an initial setting unit 81 and a check node updating unit 82.
- the initial setting unit 81 sets an initial offset factor and an offset factor correction value upon receipt of an input signal from a user.
- the check node updating unit 82 initially updates the check node by using the initial offset factor established in the initial setting unit 81, and the check node is re-updated based on a variable error correction value acquired by multiplying the initial offset factor by the offset factor correction value.
- the check node updating unit 82 acquires a second value by multiplying the offset factor correction value by the variable error correction value used in the previous update, and the second value is used as the variable error correction value in the present update.
- the method of the present invention may be programmed in a computer language.
- Codes and code segments constituting the computer program may be easily inferred by a computer programmer skilled in the art.
- the computer program may be stored in a computer-readable recording medium including all kinds of media such as CD-ROM, RAM, ROM, floppy disk, hard disk and magneto-optical disk, and read and executed by a computer to embody the methods.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Provided is a decoding apparatus and method based on a variable error correction value. The decoding method includes setting an initial normalized factor and a normalized factor correction value, initially updating a check node based on the initial normalized factor, and updating the check node based on a variable error correction value acquired by adding the initial normalized factor and the normalized factor correction value.
Description
Description
DECODING APPARATUS AND METHOD BASED ON VARIABLE ERROR CORRECTION VALUE
Technical Field
[1] The present invention relates to a decoding apparatus and method based on a variable error correction value; and, more particularly, to a decoding apparatus and method which can improve decoding performance by providing a modified min-sum algorithm using the variable error correction value whenever decoding is performed in a check node updating operation and applying the modified min-sum algorithm to a Low Density Parity Check (LDPC) code of a DVB-S2 standard.
[2] This work was supported by the IT R&D program of MIC/IITA [2007-S-008-01 ,
"Development of 21GHz Band Satellite Broadcasting Transmission Technology"].
[3]
Background Art
[4] A Low Density Parity Check (LDPC) code is introduced by Gallager in 1960s, and has received rare reviews due to its an excellent decoding performance close to a theoretical limitation of Shannon for various channel types.
[5] A parity check matrix of the LDPC code is mostly formed of '0' elements. Thus, an iterative decoding based on probability can be easily implemented due to low density that the number of non-zero elements is small, compared with a code length of the LDPC code.
[6] Recently, the LDPC code is drawing attention as a research theme of an error correction code field, and actually suggested and used as a standard in various fields, e.g., communication, broadcasting and storage media.
[7] It is known that superior decoding performance can be obtained when the LDPC code is decoded by using a Belief Propagation (BP) algorithm such as a sum-product algorithm,. However, calculation complexity is increased when reliable information is to be restored through the BP algorithm. In addition, since a code having a long code length such as the LDOC code of the DVB -S2 standard has a high decoding complexity, it is required to develop a new method that can decrease the calculation complexity of decoding.
[8] The BP algorithm can be simply modified into an approximation method based on the BP. The approximation method is also called a min-sum approximation. The approximation method may decrease decoding complexity, but it deteriorates decoding performance.
[9] Hereafter, a decoding method of the LDPC code will be described.
[10] In a BP iterative decoding method is an algorithm for correcting errors by repeatedly exchanging messages between a variable node and check node of a Tanner graph and updating messages in each node. The BP iterative decoding method uses a Log- Likelihood Ratio (LLR) values not a posterior probability as the messages needed for decoding in a Binary-Input Additive White Gaussian Noise (BIAWGN) channel.
[11] Hereafter, a general sum-product algorithm of the LDPC code using the LLR values will be described. The general sum-product algorithm is also called a standard BP.
[12] The parity check matrix of the LDPC code is defined as H=[hnm]; a set of variable nodes connected to m"1 check node is defined as N(m)= JnIIv1=I }; and a set of check nodes connected to n"1 variable node is defined as M(n)={mlhnm=l }. Also, a codeword transmitted using a Binary Phase Shift Keying (BPSK) is defined as
W = (W1 , W2 , - - - , WN ) in an Additive White Gaussian Noise (AWGN) channel having an average of 1 and a dispersion of σ2= N0/2; and a reception signal is defined as
[13] Based on the definition and assumption, an LLR value L(yn) corresponding to a reception signal of n"1 variable node is expressed as the following Equation 1. [14]
Eq. 1
[16]
[17] Meanwhile, qnm(x) is defined as a probability that a variable n is x, where xe{0,l }, under the condition that M(n) check nodes except the m"1 check node are satisfied.
Similarly, r^x) is defined as a probability that the m"1 check node is satisfied under the condition that the variable n is x, where xe{0,l }. Also, a posterior LLR value of the n"1 variable node for a temporary decoding is defined as
0 ) n
[18] When the iteration number is i, where T is integer, an LLR message
( O transmitted from the n"1 variable node to the m"1 check node and an LLR message
-(" transmitted from the m"1 check node to the nth variable node are expressed as the
following Equation 2. [19]
Eq. 2 [21] [22] Meanwhile, the sum-product algorithm of the BP iterative decoding method will be described. [23] First,
is calculated for each of the numbers n and m based on the reception signal y. received through the channel. [24] Then, in an iterative decoding, a check node updating operation is performed based on the following Equation 3 for each m or n, where neN(m). [25]
Eq. 3 [27] [28] Continuously, a variable node updating operation is performed based on the following Equations 4 and 5 for each n or m, where meM(n). [29] [30] -C) - U v *) + Y ε(r> m '≡λl ( n )\m
Eq. 4
[31] lP = L(yn) + ∑ ε (i) me Al (n)
Eq. 5
[32]
[33] In the temporary decoding step, if
is larger than 0, n"1 symbol Wn of a temporary codeword is set to 0. Otherwise, Wn is set to 1. If H(w)τ= 0 is satisfied, the temporary decoding is suspended. If not, the above steps, i.e., the check node updating operation and the variable node updating operation, are repeatedly performed until the iteration number reaches maximum iteration number.
[34] Meanwhile, the min-sum approximation method simplifies the check node updating operation and reduces calculation complexity of the sum-product algorithm. In the sum-product algorithm, a hyperbolic tangent function of the check node updating operation has highest calculation amount. The hyperbolic tangent function is substituted with a minimum value of messages transmitted from neighboring variable nodes, approximated, and expressed as the following Equation 6.
Eq. 6
[37]
[38] Generally, it is known that error probability of decoding method based on the min- sum approximation method is larger than error probability of the sum-product algorithm. When the Equations 3 and 6 are compared,
based on the min-sum approximation method is equal to or greater than
based on the sum-product algorithm all the time. [39] Therefore, two methods are used to acquire check node update value similar to the value of the Equation 3 based on the Equation 6.
[40] One is a method of updating the check node by using a normalized factor ϊ as shown in the following Equation 7. [41]
Eq. 7
[43]
[44] The method is called a normalized BP approximation method and it improves decoding performance by using a normalized factor smaller than 1 as shown in the
Equation 7. [45] The other is a method called an offset BP approximation method of updating the check node by sing an offset factor β. As shown in Equation 8 below, check node updating operation is performed using the offset factor β, where β is positive value. [46]
Eq. 8
[48]
[49] As shown in Equations 7 and 8, in improved two approximation methods, the approximation includes determining whether an equation value is positive or negative, searching for a minimum element among the set
' n 'm ri N(m)\ n] as a representative value, and correcting an effect which
except the representative value affects
(O
[50] Herein, the correction values
Y and βare fixed values used in the part of correcting the effect which
except the representative value affects c mn
. That is, an effect of n'm varying at every iteration number is not considered. [51] Referring to Figs. 1 and 2, in the sum-product algorithm, distribution state of
for each iteration number will be described.
[52] Fig. 1 is a graph illustrating a magnitude distribution of messages outputted from a variable node in the sum-product algorithm. The drawing shows a distribution of an absolute LLR value
corresponding to a specific reception signal for the LDPC code having a code rate of 1/2 of DVB-S2 standard and a length 64800 when a signal-to-noise ratio (Eb/N0) is 1.0 dB. [53] Fig. 2 is a graph illustrating another magnitude distribution of messages outputted
from the variable node in the sum-product algorithm. The drawing shows a distribution of n'm corresponding to a specific reception signal for the LDPC code having a code rate of 8/9 of DVB-S2 standard and a length 64800 when the signal-to-noise ratio (Eb/N0) is 3.6 dB.
[54] The distribution varies according to reception signals, but simulations showed that the above distribution is obtained.
[55] As shown in Figs. 1 and 2, when code rate is relatively low, the magnitude distribution of messages outputted from the variable node moves to the right side rapidly as the decoding iteration number is increased. When the code rate is high, as the decoding iteration number is increased, the magnitude distribution makes a little more.
[56] In case of the high code rate is high, a performance similar to the BP algorithm can be acquired by using a fixed factor. At a relatively low code rate, however, the performance is deteriorated compared to the sum-product algorithm.
[57] In case of the high code rate, the decoding performance based on the fixed factor to compensate for the effect of
except the representative value affects ε(l) is similar to that of the BP algorithm. However, at a low code rate, the decoding performance based on the fixed factor is much smaller than the decoding performance of the BP algorithm.
[58] Since the LDPC code is decoded using the fixed factor in the conventional normalized BP algorithm and the conventional offset BP algorithm, the decoding performance is deteriorated at low code rate.
[59]
Disclosure of Invention Technical Problem
[60] An embodiment of the present invention is directed to providing a decoding apparatus and method which can provide optimal decoding performance under a low code rate by using the variable error correction value for every decoding in a check node updating operation.
[61] Other objects and advantages of the present invention can be understood by the following description, and become apparent with reference to the embodiments of the present invention. Also, it is obvious to those skilled in the art of the present invention
that the objects and advantages of the present invention can be realized by the means as claimed and combinations thereof. [62]
Technical Solution
[63] In accordance with an aspect of the present invention, there is provided a decoding method, including: setting an initial normalized factor and a normalized factor correction value; initially updating a check node based on the initial normalized factor; and updating the check node based on a variable error correction value acquired by adding the initial normalized factor and the normalized factor correction value.
[64] In accordance with another aspect of the present invention, there is provided a decoding method, including: setting an initial offset factor and an offset factor correction value; initially updating a check node based on the initial offset factor; and updating the check node based on a variable error correction value acquired by multiplying the initial offset factor by the offset factor correction value.
[65] In accordance with another aspect of the present invention, there is provided a decoding apparatus, including: a initial setting unit for setting an initial normalized factor and a normalized factor correction value; and a check node updating unit for initially updating a check node based on the initial normalized factor and updating the check node based on a variable error correction value acquired by adding the initial normalized factor and the normalized factor correction value.
[66] In accordance with another aspect of the present invention, there is provided a decoding apparatus, including: a initial setting unit for setting an initial offset factor and a offset factor correction value; and a check node updating unit for initially updating a check node based on the initial offset factor and updating the check node based on a variable error correction value acquired by multiplying the initial offset factor by the offset factor correction value.
[67]
Advantageous Effects
[68] The present invention provides optimal decoding performance at a low code rate by using the variable error correction value for every decoding in a check node updating operation. [69]
Brief Description of the Drawings [70] Fig. 1 is a graph illustrating a magnitude distribution of messages outputted from a variable node in a sum-product algorithm. [71] Fig. 2 is a graph illustrating another magnitude distribution of messages outputted from a variable node in a sum-product algorithm.
[72] Fig. 3 is a flowchart describing a decoding method using a variable error correction value in accordance with an embodiment of the present invention.
[73] Fig. 4 is a flowchart describing a decoding method using a variable error correction value in accordance with another embodiment of the present invention.
[74] Fig. 5 shows a variable error correction value in accordance with an embodiment of the present invention.
[75] Fig. 6 is a graph showing performance of a decoding method using a variable error correction value in accordance with an embodiment of the present invention.
[76] Fig. 7 is a graph showing performance of a decoding method using a variable error correction value in accordance with another embodiment of the present invention.
[77] Fig. 8 is a block diagram illustrating a decoding apparatus using a variable error correction value in accordance with an embodiment of the present invention.
[78]
Best Mode for Carrying Out the Invention
[79] The advantages, features and aspects of the invention will become apparent from the following description of the embodiments with reference to the accompanying drawings, which is set forth hereinafter. Therefore, those skilled in the field of this art of the present invention can embody the technological concept and scope of the invention easily. In addition, if it is considered that detailed description on a related art may obscure the points of the present invention, the detailed description will not be provided herein. The preferred embodiments of the present invention will be described in detail hereinafter with reference to the attached drawings.
[80] Fig. 3 is a flowchart describing a decoding method using a variable error correction value in accordance with an embodiment of the present invention.
[81] First, an initial normalized factor and a normalized factor correction value are set at step S301.
[82] At step S302, a check node is initially updated based on the initial normalized factor.
[83] At step S303, a variable error correction value is acquired by adding the initial normalized factor and the normalized factor correction value, and the check node is re- updated based on the variable error correction value.
[84] At step S304, when the check node is re-updated, a first value is produced by adding the normalized factor correction value and the variable error correction value used in the previous update, and the first value is used as a variable error correction value in the re-update.
[85] In the check node updating operation, when values of messages inputted into the check node are large, values of messages outputted from the check node are large. Thus, as the iteration number is increased, the normalized factor
Y is increased at an appropriate ratio, too.
[86] Fig. 4 is a flowchart describing a decoding method using a variable error correction value in accordance with another embodiment of the present invention.
[87] First, an initial offset factor and a offset factor correction value are set at step S401.
[88] At step S402, a check node is initially updated based on the initial offset factor.
[89] At step S403, a variable error correction value is produced by multiplying the initial offset factor by the offset factor correction value, and the check node is re -updated based on the variable error correction value.
[90] At step S404, when the check node is re-updated, a second value is produced by multiplying the offset factor correction value by the variable error correction value used in the previous update, and the second value is used as a variable error correction value in the present update.
[91] In the check node updating operation, when values of messages inputted into the check node are large, values of messages outputted from the check node are large. Thus, as the iteration number is increased, the offset factor β is decreased at an appropriate ratio, too.
[92] Hereafter, decoding based on the variable error correction value will be described in detail.
[93] In an initial setting operation, an iteration number i is equal to 1; a maximum iteration decoding number is Imax;
IT = C = Hy.) is set for all n and m; and the initial normalized factor
/>)
, the initial offset factor βm
, the normalized factor correction value
Ar and the offset factor correction value Aβ are set. [94] Subsequently, message exchange and the check node updating and the variable node updating are performed.
[95] In order to improve performance of the normalized BP algorithm, the check node is updated based on the following Equation 9.
[96]
Eq. 9
[98] where l≤n≤N; and meM(n).
[99] [100] Meanwhile, in order to improve performance of the offset BP algorithm, the check node is updated based on the following Equation 10. [101]
Eq. 10
[103] where l≤n≤N; and meM(n). [104]
Eq. 11 [108] [109] Subsequently, a temporary codeword
Eq. 12 [112] [113] To be specific, if
Hw(l) = 0 is satisfied or i is equal to Imax, the decoding process is suspended and decoded codeword is determined as
W and outputted. Otherwise, the iteration number i is increased by 1 (i=i+l), the following operation is performed. Then, the check node is re-updated. [114] - Normalized BP algorithm:
[115] - Offset BP algorithm: βU = /?•-» x AJ3
[116]
[117] In the present invention, the decoding performance varies based on two factors, i.e.,
/« and
Ar
(or
and Aβ
). The two factors are not determined based on the specific element of the code. As a parity check matrix of the code is changed, a message distribution outputted from the variable node is changed. Therefore, optimal
/■) and
Aχ
(or β{]) and Aβ
) die searched for all codes.
[118] The normalized factor, the normalized factor correction value, the offset factor and the offset factor correction value having excellent performance will be searched for the LDPC code of the DVB-S2 standard.
[119] Fig. 5 shows a variable error correction value in accordance with an embodiment of the present invention. The drawing shows the performance according to the
A7
variation for the LDPC code of DVB -S2 standard having a code rate of 1/2 and a length of 64800 when a signal-to-noise ratio (Eb/N0) is 0.95 dB or 1.0 dB, and f] is 0.75.
[120] Herein, the maximum iteration number I1112x is defined as 50; a large amount of values are simulated for the normalized factor, the offset factor, the normalized factor correction value, and the offset factor correction value in order to find the optimal values having superior performance; and the optimal values are selected based on a curve fitting method. Herein, simulation values are connected in the form of a curve when Eb/No is 0.95 dB or 1.0 dB; and a peck is determined as
Ar based on the curve fitting method. [121] Table 1 and Table 2 preset values of
(i)
Y
Ar
βm and tφ having fine performance for a code having code rate of 1/2 and a code having code rate of 1/3.
[122] [123] Table 1 [Table 1] [Table ]
[124] [125] Table 2
[Table 2] [Table ]
[126] [127] Fig. 6 is a graph showing performance of a decoding method using a variable error correction value in accordance with an embodiment of the present invention. The drawing shows a simulation result for a code having the code rate of 1/3 based on the values of Table 1 and the performance of conventional decoding algorithm, where v (1)
= 0.82;
Aχ
= 0.004; the code rate is 1/3; and N=64800.
[128] Fig. 7 is a graph showing performance of a decoding method using a variable error correction value in accordance with another embodiment of the present invention. The drawing shows a simulation result for a code having the code rate of 1/3 based on the values of Table 2 and the performance of conventional decoding algorithm, where β{])
= 0.44; Aβ
= 0.96; the code rate is 1/3; and N=64800.
[129] Referring to Figs. 6 and 7, the decoding performance of the normalized BP algorithm is improved more than the decoding performance of the min-sum algorithm and the decoding performance of the conventional normalized BP algorithm. The decoding performance, e.g., a frame error rate (FER), of the general BP algorithm (which is a sum-product algorithm) is 0.01. When the normalized BP algorithm having the code rate of 1/3 is compared to the general BP algorithm, the decoding performance of the normalized BP algorithm approaches within 0.12 dB.
[130] Also, the decoding performance of the offset BP algorithm using the variable error correction value is improved more than the decoding performance of the conventional offset BP algorithm. When the offset BP algorithm having the code rate of 1/3 is compared to the general BP algorithm, the decoding performance of the offset BP algorithm approaches within 0.08 dB.
[131] Fig. 8 is a block diagram illustrating a decoding apparatus using a variable error
correction value in accordance with an embodiment of the present invention.
[132] As shown in Fig. 8, the decoding apparatus using the variable error correction value includes an initial setting unit 81 and a check node updating unit 82.
[133] The initial setting unit 81 sets an initial normalized factor and a normalized factor correction value upon receipt of an input signal from a user.
[134] The check node updating unit 82 initially updates the check node by using the initial normalized factor established in the initial setting unit 81, and the check node is re- updated based on a variable error correction value acquired by adding the initial normalized factor and the normalized factor correction value.
[135] Herein, when the check node is to be re-updated, the check node updating unit 82 acquires a first value by adding the normalized factor correction value and the variable error correction value used in the previous update, and the first value is used as a variable error correction value in the present update.
[136] Also, in the check node re-updating operation, when values of messages inputted into the check node are large, values of messages outputted from the check node are large. Therefore, as the iteration number is increased, the check node updating unit 82 increases the normalized factor at an appropriate ratio.
[137] In another embodiment, the decoding apparatus using the variable error correction value includes an initial setting unit 81 and a check node updating unit 82.
[138] The initial setting unit 81 sets an initial offset factor and an offset factor correction value upon receipt of an input signal from a user.
[139] The check node updating unit 82 initially updates the check node by using the initial offset factor established in the initial setting unit 81, and the check node is re-updated based on a variable error correction value acquired by multiplying the initial offset factor by the offset factor correction value.
[140] Herein, when the check node is to be re-updated, the check node updating unit 82 acquires a second value by multiplying the offset factor correction value by the variable error correction value used in the previous update, and the second value is used as the variable error correction value in the present update.
[141] Also, in the check node re-updating operation, when values of messages inputted into the check node are large, values of messages outputted from the check node are large. Therefore, as the iteration number is increased, the check node updating unit 82 decreases the offset factor β at an appropriate ratio.
[142] The method of the present invention may be programmed in a computer language.
Codes and code segments constituting the computer program may be easily inferred by a computer programmer skilled in the art. Furthermore, the computer program may be stored in a computer-readable recording medium including all kinds of media such as CD-ROM, RAM, ROM, floppy disk, hard disk and magneto-optical disk, and read and
executed by a computer to embody the methods.
[143] The present application contains subject matter related to Korean Patent Application Nos. 2007-0131837 and 2008-0043579, filed in the Korean Intellectual Property Office on December 15, 2007, and May 9, 2008, respectively, the entire contents of which are incorporated herein by reference.
[144] While the present invention has been described with respect to the specific embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.
Claims
[1] A decoding method, comprising: setting an initial normalized factor and a normalized factor correction value; initially updating a check node based on the initial normalized factor; and updating the check node based on a variable error correction value acquired by adding the initial normalized factor and the normalized factor correction value.
[2] The decoding method of claim 1, further comprising: re-updating the check node based on a present variable error correction value obtained by adding the normalized factor correction value and the variable error correction value used in the previous update.
[3] The decoding method of claim 1, wherein the variable error correction value is increased as an iteration number of check node updating operation is increased.
[4] The decoding method of claim 1, wherein the normalized factor correction value is determined as a corresponding to the initial normalized factor value based on a curve fitting method.
[5] A decoding method, comprising: setting an initial offset factor and an offset factor correction value; initially updating a check node based on the initial offset factor; and updating the check node based on a variable error correction value acquired by multiplying the initial offset factor by the offset factor correction value.
[6] The decoding method of claim 5, further comprising: re-updating the check node based on a present variable error correction value obtaining by multiplying the offset factor correction value by the variable error correction value used in the previous update.
[7] The decoding method of claim 5, wherein the variable error correction value is decreased as an iteration number of check node updating operation is increased.
[8] The decoding method of claim 5, wherein the offset factor correction value is determined as a value corresponding to the initial offset factor based on a curve fitting method.
[9] A decoding apparatus, comprising: a initial setting unit for setting an initial normalized factor and a normalized factor correction value; and a check node updating unit for initially updating a check node based on the initial normalized factor and updating the check node based on a variable error correction value acquired by adding the initial normalized factor and the normalized factor correction value.
[10] The decoding apparatus of claim 9, wherein the check updating unit re -updates
the check node based on a present variable error correction value acquired by adding the normalized factor correction value and the variable error correction value used in the previous update. [11] The decoding apparatus of claim 9, wherein the variable error correction value is increased as an iteration number of check node updating operation is increased. [12] A decoding apparatus, comprising: a initial setting unit for setting an initial offset factor and a offset factor correction value; and a check node updating unit for initially updating a check node based on the initial offset factor and updating the check node based on a variable error correction value acquired by multiplying the initial offset factor by the offset factor correction value. [13] The decoding apparatus of claim 12, wherein the check updating unit re -updates the check node based on a present variable error correction value acquired by multiplying the offset factor correction value by the variable error correction value used in the previous update. [14] The decoding apparatus of claim 12, wherein the variable error correction value is decreased as an iteration number of check node updating operation is increased.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/808,319 US8381063B2 (en) | 2007-12-15 | 2008-12-15 | Decoding apparatus and method based on variable error correction value |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20070131837 | 2007-12-15 | ||
KR10-2007-0131837 | 2007-12-15 | ||
KR10-2008-0043579 | 2008-05-09 | ||
KR1020080043579A KR20090064268A (en) | 2007-12-15 | 2008-05-09 | Apparatus and method for decoding using variable error-correcting value |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009078644A1 true WO2009078644A1 (en) | 2009-06-25 |
Family
ID=40795700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2008/007419 WO2009078644A1 (en) | 2007-12-15 | 2008-12-15 | Decoding apparatus and method based on variable error correction value |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2009078644A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040101743A (en) * | 2003-05-26 | 2004-12-03 | 삼성전자주식회사 | Apparatus and method for decoding of ldpc in a communication system |
-
2008
- 2008-12-15 WO PCT/KR2008/007419 patent/WO2009078644A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040101743A (en) * | 2003-05-26 | 2004-12-03 | 삼성전자주식회사 | Apparatus and method for decoding of ldpc in a communication system |
Non-Patent Citations (2)
Title |
---|
JINGHU CHEN ET AL.: "Density Evolution for Two Improved BP-Based Decoding Algorithms of LDPC Codes", IEEE COMMUNICATIONS LETTERS, vol. 6, no. 5, May 2002 (2002-05-01), XP011066348 * |
JINGHU CHEN ET AL.: "Reduced-Complexity Decoding of LDPC Codes", IEEE TRANSACTIONS ON COMMUNICATIONS, vol. 53, no. 8, August 2005 (2005-08-01) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321745B2 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
US8132080B2 (en) | Communication apparatus and decoding method | |
US7395487B2 (en) | Common circuitry supporting both bit node and check node processing in LDPC (Low Density Parity Check) decoder | |
US20060085720A1 (en) | Message passing memory and barrel shifter arrangement in LDPC (Low Density Parity Check) decoder supporting multiple LDPC codes | |
JP5461728B2 (en) | Channel decoding apparatus and method in digital broadcast communication system using low density parity check code | |
JP4743156B2 (en) | Decoding device | |
US7409628B2 (en) | Efficient design to implement LDPC (Low Density Parity Check) decoder | |
KR20090072972A (en) | Method and device for decoding low density parity check code | |
EP1442527A1 (en) | Node processors for use in parity check decoders | |
CN110830050B (en) | LDPC decoding method, system, electronic equipment and storage medium | |
CN110830049B (en) | LDPC decoding method based on density evolution improved offset minimum sum | |
US20050262421A1 (en) | Efficient front end memory arrangement to support parallel bit node and check node processing in LDPC (Low Density Parity Check) decoders | |
US8214717B2 (en) | Apparatus and method for decoding LDPC code based on prototype parity check matrixes | |
JP2008199623A (en) | Message-passing and forced convergence decoding method | |
US8381063B2 (en) | Decoding apparatus and method based on variable error correction value | |
KR20090012189A (en) | Apparatus and method for decoding using performance enhancement algorithm for ldpc codes with scaling based min-sum iterative decoding | |
US7383485B2 (en) | Fast min*- or max*-circuit in LDPC (low density parity check) decoder | |
WO2009078644A1 (en) | Decoding apparatus and method based on variable error correction value | |
US7447985B2 (en) | Efficient design to implement min**/min**- or max**/max**- functions in LDPC (low density parity check) decoders | |
JP5034588B2 (en) | Soft decision decoding apparatus and soft decision decoding program | |
US20130268821A1 (en) | Decoding apparatus and decoding method for decoding data encoded by ldpc | |
JP5500203B2 (en) | Soft decision decoding apparatus and soft decision decoding program | |
Tran-Thi et al. | High-Performance and Low-Complexity Decoding Algorithms for 5G Low-Density Parity-Check Codes. | |
CN111416627A (en) | L DPC decoding method based on simplified BP algorithm | |
CN116961836A (en) | Decoding method and device for 5G LDPC code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08861394 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12808319 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08861394 Country of ref document: EP Kind code of ref document: A1 |