KR101627283B1 - Method and Apparatus for decoding Low-Density Parity-Check code - Google Patents
Method and Apparatus for decoding Low-Density Parity-Check code Download PDFInfo
- Publication number
- KR101627283B1 KR101627283B1 KR1020150051750A KR20150051750A KR101627283B1 KR 101627283 B1 KR101627283 B1 KR 101627283B1 KR 1020150051750 A KR1020150051750 A KR 1020150051750A KR 20150051750 A KR20150051750 A KR 20150051750A KR 101627283 B1 KR101627283 B1 KR 101627283B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- variable
- check
- variable node
- inactive
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
Abstract
A method for decoding a low density parity check code (LDPC) is disclosed. A method for decoding a low density parity check code according to an exemplary embodiment of the present invention includes an initialization process for a plurality of check nodes and a plurality of variable nodes, a check node update process, a variable node update process, a trial decoding process, and a parity check process The method includes decoding a low density parity check code (LDPC) through an iterative decoding process, and determining at least one inactive variable node that does not require updating of a variable node based on a variable node threshold value changed according to the number of iterative decoding among the plurality of variable nodes Wherein the step of updating the variable node performs the variable node update only for the active variable nodes except for the inactive variable node, And performs the node update.
Description
The present invention relates to a decoding operation, and more particularly, to a decoding method and apparatus for a low density parity check code.
Recently, as a communication technology has been rapidly developed, a low-density parity-check code (LDPC) has emerged as a new alternative.
LDPC coding has the error correcting ability closest to the limit of the channel capacity announced by Shannon together with turbo coding among the forward error correction techniques and it is currently used for Wi-fi (IEEE 802.11n, 802.11ac), Wigig (IEEE 802.11ad) 10Gbase-T Ethernet (802.3an), etc., and is being actively discussed as a next generation forward error correction coding.
However, in spite of high error correction capability, there is a need for an efficient decoding method in order to reduce the computational complexity due to the large amount of computation required for decoding in LDPC coding.
Related art is disclosed in Korean Patent Laid-Open Publication No. 10-2013-0021973 (entitled "Low complexity LDPC decoding method, publication date: 2013.03.06).
It is an object of the present invention to provide an LDPC decoding method and apparatus that can minimize the degradation of Bit Error Ratio (LDPC) performance while reducing the computational complexity.
According to an aspect of the present invention, there is provided an iterative decoding method including an initialization process, a check node update process, a variable node update process, a trial decoding process, and a parity check process for a plurality of check nodes and a plurality of variable nodes, A method of decoding a low density parity check code (LDPC) through a process includes detecting at least one inactive variable node that does not require updating of a variable node based on a variable node threshold that is changed according to the number of iterative decoding among the plurality of variable nodes Wherein the variable node update process performs the variable node update only for the active variable nodes except for the inactive variable node, and the check node update process performs the check node update without using the inactive variable node .
Advantageously, the step of detecting the inactive variable node comprises: receiving a variable-check message
Th variable node is detected as an inactive variable node if the absolute value of the variable node threshold t v is greater than the variable node threshold t v and the variable node threshold t v may be set to decrease as the iteration number increases.Preferably, the step of detecting the inactive variable node may be performed such that a larger number of inactive variable nodes are detected than the number of inactive variable nodes detected in the previous iterative decoding times as the iteration decoding number increases.
Preferably, the step of detecting the inactive variable node may be performed according to the following equation (8).
(8)
In this case, t v is the variable node threshold, t 0 is the initial value of the threshold value of the variable node, Δt is a variable constant, and k is the number of iterative decoding.
Preferably, the check node update process is performed using a smaller number of the active variable nodes as the check node update count increases.
Advantageously, the variable node update process may be performed for a smaller number of the active variable nodes as the number of variable node updates increases.
Preferably, the check node updating process uses only the active variable nodes other than the inactive variable node and the jth variable node when the i-th check node updates the check-variable message to be transmitted to the j-th variable node Variable message to update the check-variable message.
Preferably, the check node update process may perform the check node update based on Equation (9) below.
(9)
At this time,
Denotes a check-variable message that the i-th check node delivers to the j-th variable node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node and the k-th variable node, which is an inactive variable node, Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node, Check message, which is transmitted to the i-th check node from the variable node other than the j-th variable node and the k-th variable node which is an inactive variable node.Preferably, an initialization unit for initializing a plurality of check nodes and a plurality of variable nodes, a check node update unit for performing check node update, a variable node update unit for performing variable node update, a test for performing test decryption The LDPC decoding apparatus includes a decoding unit and a parity checking unit for performing a parity check. The decoding apparatus for LDPC decoding comprises a variable node determining unit that determines, based on a variable node threshold value, Wherein the variable node update unit updates the variable node only for the active variable nodes except for the inactive variable node, and the check node update unit updates the active variable node only for the active variable nodes, Wherein the check node update is performed without using the inactive variable node .
Preferably, the non-active node detection unit includes a variable-check message transmitted by the j-th variable node to the i-th check node
Th variable node is detected as an inactive variable node if the absolute value of the variable node threshold t v is greater than the variable node threshold t v , and the value of the variable node threshold t v may decrease as the iteration count increases.Preferably, the inactive node detecting unit may detect the inactive variable node so that a larger number of inactive variable nodes are detected than the number of inactive variable nodes detected in the previous iterative decoding times as the number of iterative decoding increases .
Preferably, the inactive node detecting unit may detect the inactive node based on Equation (8) below.
(8)
In this case, t v is the variable node threshold, t 0 is the initial value of the threshold value of the variable node, Δt is a variable constant, and k is the number of iterative decoding.
Advantageously, the check node update unit may perform the check node update using a smaller number of the active variable nodes as the number of check node updates increases.
Preferably, the variable node update unit may perform the variable node update only for a smaller number of the active variable nodes as the number of variable node update times increases.
Preferably, the check node updating unit updates only the active variable nodes except for the inactive variable node and the j-th variable node when the i-th check node updates the check-variable message to be transmitted to the j-th variable node And updates the check-variable message.
Preferably, the check node update unit may perform the check node update based on Equation (9) below.
(9)
At this time,
Denotes a check-variable message that the i-th check node delivers to the j-th variable node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node and the k-th variable node, which is an inactive variable node, Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node, Check message, which is transmitted to the i-th check node from the variable node other than the j-th variable node and the k-th variable node which is an inactive variable node.According to an embodiment of the present invention, by partially deactivating a check node considering deactivated variable nodes, the amount of computation required to update the check node is reduced, thereby minimizing the degradation of bit error ratio performance and reducing the amount of LDPC decryption computation There is an effect that can be done.
According to another embodiment of the present invention, since the detection probability of the inactive variable node detected for each iteration decoding number increases as the number of iterative decoding increases, the amount of LDPC decoding can be further reduced.
1 is a flowchart illustrating an LDPC decoding method according to a conventional minimum sum algorithm.
FIG. 2 is a flowchart illustrating an LDPC decoding method according to an embodiment of the present invention. Referring to FIG.
FIG. 3 is a diagram illustrating a check node update method according to an embodiment of the present invention. Referring to FIG.
FIG. 4 is a diagram for explaining an LDPC decoding apparatus according to an embodiment of the present invention. Referring to FIG.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
1 is a flowchart illustrating an LDPC decoding method according to a conventional minimum sum algorithm.
At this time, the LDPC decoding method is performed using the parity check matrix H and the tanner graph, and the parity check matrix H can be expressed by the tanner graph. The number of check nodes is made as many as the number of rows in the parity check matrix, and variable nodes as many as the number of columns are formed to form a tanner graph. If the (i, j) element of the matrix is 1, then the i-th check node is connected to the j-th variable node and the edge to become neighboring nodes.
In step 110, the decoding apparatus performs initialization on a plurality of check nodes and a plurality of variable nodes.
More specifically, in the check node, initialization is performed by Equation (1).
At this time,
Represents a check-variable message that the i-th check node delivers to the j-th variable node, and initializes the check node by setting the initial value of the check-variable message to zero.Next, in the variable node, initialization is performed by Equation (2).
Denotes a variable-check message that the j-th variable node delivers to the i-th check node, and the initial value of the check- To initialize the variable node. At this time, Is derived as a posterior probability as shown in Equation (2) when the probability distribution of input symbols is uniform in an additive white Gaussian noise (AWGN) channel, Represents a message value corresponding to the j < th > bit of the received codeword, Means the variance of the noise.
In step 120, the decoding apparatus updates the check node.
More specifically, the check node performs an update according to Equation (3).
At this time,
Denotes a check-variable message that the i-th check node delivers to the j-th variable node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node, Indicates a variable-check message to be transmitted to the i-th check node from the variable node other than the j-th variable node.That is, according to Equation (3), by multiplying the sign of the variable-check messages in the variable nodes other than the j-th variable node connected to the i-th check node by the first term
Check-messages < / RTI > to be transmitted to the i < th > check node in the variable nodes other than the j-th variable node by the second term are determined as negative or positive numbers, The minimum value of Of the message.In step 130, the decoding apparatus updates the variable node.
More specifically, the variable node performs the update according to Equation (4).
At this time,
Denotes a variable-check message transmitted from the j-th variable node to the i-th check node, Is the initial value of the variable-check message, Denotes a set of check nodes other than the i-th check node connected to the j-th variable node, Denotes check-variable messages to be transmitted to the j-th variable node from the other check nodes except the i-th check node.That is, according to Equation (4)
Checks-variable messages to be transmitted to the j-th variable node from the other check nodes except the i-th check node And the initial value of the variable-check message , Whereby the variable node performs the update.In step 140, the decoding apparatus performs determination on the decoded value generated through trial decryption.
More specifically, the process of determining a test decoded value generated through trial decryption is performed by Equations (5) and (6).
First, the process of calculating the test decoded value is performed by Equation (5).
At this time,
Denotes the test decoded value generated through trial decoding at the jth variable node, Is the initial value of the variable-check message, Represents a set of check nodes connected to the jth variable node.That is, according to Equation (5)
Lt; / RTI > is the check-variable messages that are passed from all the check nodes to the j < And the initial value of the variable-check message . ≪ / RTI >Next, the test decoded value
Is determined by Equation (6).
At this time,
Represents the judgment result value for the test decoded value, and the judgment result value Lt; RTI ID = 0.0 > The value of the sign is determined based on whether the sign of the sign is negative or positive.In step 150, the decoding apparatus performs a parity check to determine whether the decoding stop condition is satisfied.
More specifically, the parity check is performed by Equation (7).
That is, according to Equation 7,
And a parity check matrix H Lt; / RTI > Is 0 or not, it is determined whether the decoding stop condition is satisfied.If it is determined that the decoding stop condition is not satisfied, the check node update step and the variable node update (VNU) step are performed again in step 120, The process of repeating the check node update and the variable node update until the decoding stop condition is satisfied is called an iterative decoding process.
In step 160, if the decoding apparatus determines that the decoding stop condition is satisfied through the parity check, the decoding operation including the check node update and the variable node update is stopped.
1, when the decoding stop condition is not satisfied, the check node unit update and the variable node unit update must be continuously performed until the decoding stop condition is satisfied, so that the calculation amount There was a problem that became very high.
FIG. 2 is a flowchart illustrating an LDPC decoding method according to an embodiment of the present invention. Referring to FIG.
In step 210, the decoding apparatus performs initialization on a plurality of check nodes and a plurality of variable nodes.
The initialization of the check node and the variable node performed in step 210 is the same as the operation of step 110, so a detailed description will be omitted. In the following, the same operations as those in Fig. 1 will not be described in detail.
In step 220, the decoding apparatus detects at least one inactive variable node that does not need to update the variable node among the plurality of variable nodes based on the variable node threshold value that is changed in accordance with the number of iterative decoding times.
More specifically, the detection of the inactive variable node may be performed by Equation (8).
In this case, t v is the variable node threshold, t 0 is the initial value of the threshold value of the variable node, Δt is a variable constant, and k is the number of iterative decoding.
That is, the upper equation of Equation (8) indicates that the variable-check message transmitted from the j-th variable node to the i-
Is greater than the variable node threshold t v , it means that the j th variable node is detected as an inactive variable node.In addition, the lower mathematics of equation (8) The expression variable node threshold t v is a variable node threshold to mean that in the initial value t 0 being repeatedly determined by decoding the number of k and a value obtained by subtracting the product of the variable constant △ t, which the iterative decoding count it means that the variable node threshold t v becomes smaller by the variable constant? t each time the value of k increases.
Considering Equation (8), as the number of iterative decoding increases, a variable-check message
It can be seen that the criterion for determining an inactive variable node is gradually relaxed since the value of the variable node threshold t v is smaller than the absolute value of the variable node threshold t v .In the present invention, as the number of iterative decoding increases, the criterion for determining the inactive variable node is relaxed because the variable-check message
Since the reliability of the variable-check message gradually increases, the necessity of updating the variable node is reduced as much as the reliability of the variable-check message increases.As a result, as the number of iterative decoding increases, more inactive variable nodes are detected than the number of inactive variable nodes detected in the previous iterative decoding times.
For example, if two inactive variable nodes are detected in the first iteration decoding time, three more inactive variable nodes are detected in the second iteration decoding time, and four more inactive variable nodes are detected in the third iteration decoding time, Nine inactive variable nodes can be detected through iterative decoding. However, the number of inactive variable nodes detected in the iterative decoding times is only an example, and the present invention is not limited thereto.
Preferably, the variable node threshold initial value t 0 may have a value between 5 and 7, and the variable constant Δt may have a value between 0.25 and 1.
At this time, as Δt has a larger value, the rate of increase of the number of inactive variable nodes detected in the iterative decoding times becomes higher.
For example, if Δt is 0.25, if the number of inactive variable nodes detected in the first, second and third iterative decoding times is 2, 3, and 4, respectively, then inactive detected at the first, second, The number of variable nodes may be 3, 4, or 5, respectively. However, the number of inactive variable nodes detected in the iterative decoding times is only an example, and the present invention is not limited thereto.
On the other hand, if an inactive variable node is detected immediately after the initialization of the check node and the variable node is performed, there will be no inactive variable node before the iteration is still performed.
In step 230, the decoding apparatus updates the check node without using the inactive variable node.
More specifically, the decoding apparatus according to an embodiment of the present invention updates the check node by Equation (9).
At this time,
Denotes a check-variable message that the i-th check node delivers to the j-th variable node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node and the k-th variable node, which is an inactive variable node, Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node, Check message, which is transmitted to the i-th check node from the variable node other than the j-th variable node and the k-th variable node which is an inactive variable node.That is, according to Equation (9), by multiplying the sign of the variable-check messages in the variable nodes other than the j-th variable node connected to the i-th check node by the first term
Check messages are transmitted to the i-th check node in the variable nodes other than the j-th variable node and the k-th variable node, which are inactive variable nodes, by the second term, The minimum value of Of the message.At this time, if the number of iterative decoding increases and the number of update of the check node and the number of update of the variable node increase, the deactivated variable node satisfying the forced convergence condition will increase. Therefore, each time the iteration decoding number increases, The check node update is performed using the variable node, and as a result, the computation amount according to the update of the check node is reduced every time the iteration decoding number increases.
The inactive variable node detection algorithm of step 220 of the present invention and the check node operation amount reduction rate when the check node update algorithm of step 230 is applied can be displayed as shown in Table 1.
Table 1 shows that when the maximum number of iterative decoding is limited to 5, the variable-check message
If t v is greater than those shown for the check node calculation amount reduction rate, t 0 is 5, 6, and has a value of 7 △ t has a value of 0.25, 0.5, 0.75, 1, SNR is the value of the 3db ~ 7dB I have.In Table 1, it can be seen that as the value of the SNR and the variable constant? T increase, the decrease rate of the check node operation amount increases.
Meanwhile, in the prior art, in order to reduce the amount of computation at the time of updating the check node, it is determined whether or not the compulsory convergence condition is satisfied for both the variable node and the check node, and the check node satisfying the forced convergence condition is set as an inactive check node, A technique for not performing the update has been proposed. In this way, the method of reducing the amount of decoding computation by deactivating both the check node and the variable node satisfying the forced convergence condition based on whether both the check node and the variable node satisfy the forced convergence condition is called a forced convergence technique.
In the conventional forced convergence technique, an inactive variable node and an inactive check node are detected by determining whether the variable node forced convergence condition of Equation (10) and the check node forced convergence condition of Equation (11) are satisfied or not.
In Equation (10), if the absolute value of the test decoded value z j is greater than the variable node threshold value t v , the jth variable node is detected as the inactive variable node. However, in Equation (10), since the value of the variable node threshold value t v is a fixed value unlike the variable node threshold value t v of the present invention, even if the number of iterative decoding times increases, the number of inactive variable nodes detected for each iteration decoding time increases gradually Do not.
On the other hand, in the present invention, since the value of the variable node threshold t v becomes smaller as the number of iterative decoding increases as shown in Equation (8), the number of inactive variable nodes detected when the number of iterative decoding increases .
In the conventional forced convergence technique, it is determined whether or not the check node forced convergence condition is satisfied according to Equation (11). The variable-check messages
Lt; RTI ID = 0.0 > check-node < / RTI > The check node is detected as an inactive check node and the check node is no longer updated. If the i-th check node does not satisfy the forced convergence condition of Equation (11), the check node update is continuously performed until the forced convergence condition is satisfied.However, the conventional forced convergence technique reduces the amount of decoding computation as compared with the minimum sum algorithm of FIG. 1, but as shown in Table 2 below, the amount of decrypting computation is very small, so that it is difficult to say that the decryption computation amount is actually reduced .
Table 2 shows that when the maximum number of iterative decoding is limited to 5, it is larger than the check node threshold value t c in the check node update operation
Is selected as the minimum value. When looking at Table 2, the range of the SNR 4dB eseo 2dB, when selection probability on average, t c is 5 days, if the 0.0082782%, t c 6 days is the case 0.000824%, t c is 7 days 0.0000804%. In Table 2, it can be seen that the selection probabilities are all less than about 0.01%. Thus exceeding t c It can be seen that there is little probability of being selected as the minimum value.That is, the forced convergence technique can not effectively reduce the computational complexity of check nodes because the number of check nodes that are inactive when the maximum number of iterative decodings is small is very small.
However, in an embodiment of the present invention, when a check node is updated without using a separate forced convergence condition for determining whether the check node is inactive,
The check nodes are partially deactivated in such a manner that they are excluded from the minimum value candidates of the check nodes. At this time, if all the variable nodes connected to the check node become inactive variable nodes, then the check node becomes an inactive check node.That is, in the conventional forced convergence technique, the check node performs the check node update operation using all the variable nodes connected to the check node until the check node satisfies the forced convergence condition of Equation (10) and becomes an inactive check node, According to an embodiment of the present invention, as the number of check node update operations (the number of iterative decoding operations) increases, the number of inactive variable nodes increases, the number of active variable nodes used in the check node update operation decreases, There is an effect that the computational complexity of the check node update operation is reduced.
Further, according to the present invention, as the inactive variable node is detected according to Equation (8), as the number of iterative decoding increases, more inactive variable nodes can be detected than the number of inactive variable nodes detected in the previous iterative decoding times.
Therefore, if both the inactive variable node detection algorithm of Equation (8) and the check node update algorithm of Equation (9) are applied, the number of active variable nodes used in the check node update operation is sharply reduced, There is an effect that the computational complexity of the check node update operation is sharply reduced.
Table 3 below shows the deceleration rate reduction rate when applying Equation (9) in the present invention to the conventional forced convergence technique based on the conventional minimum sum algorithm and applying Equation (8) and Equation (9) Respectively.
Algorithm classification
(t v, t c)
Reduction rate
Reduction rate
Reduction rate
Minimum sum
algorithm
(-, -)
-
-
-
compulsion
Convergence technique
(7, 7)
0%
0%
0.1%
The present invention applying only Equation 9
(7, -)
17.17%
29.49%
20.07%
The present invention applying Equation (9)
(7, -)
25.85%
35.63%
20.43%
In Table 3, the minimum sum algorithm does not use both the variable node threshold t v and the check node threshold t c , the forced convergence technique uses both the variable node threshold t v and the check node threshold t c , Only the threshold value t v is used. The variable node threshold t v and the check node threshold t c are set to 7 and 7, respectively.
On the basis of this, the compulsory convergence technique is analyzed to have almost no reduction in the computation amount when compared with the minimum sum algorithm, and when the SNRs are 2dB, 3dB, and 4dB, the present invention applying Equation 9 only has 17.17% %, And 20.08%, respectively, and the computation amount is reduced by 25.85%, 35.63%, and 20.43%, respectively, as compared with the minimum sum algorithm of the present invention using Equations (8) and (9).
As a result of comparing the minimum sum algorithm, the forced convergence technique, and the bit error rate (BER) performance of the present invention under the above conditions, it is analyzed that there is little difference between the BER performances, , It can be seen that the decoding operation amount can be reduced while the deterioration of the BER performance is minimized.
In step 240, the variable node update is performed only for the active variable nodes except for the inactive variable node.
In this case, as the number of update of the variable node increases, the number of the active variable node decreases, and the variable node update is performed only for a smaller number of active variable nodes every time the number of update of the variable node increases Decoding computation amount is reduced.
However, if an inactive variable node is detected immediately after the initialization of the check node and the variable node is performed, since the inactive variable node does not exist before the iterative decoding is performed yet, Nodes will also not exist.
In step 250, the decoding device performs a determination on the decoded value generated through trial decoding.
In step 260, the decoding apparatus performs a parity check to determine whether the decoding stop condition is satisfied.
If it is determined that the decoding interruption condition is not satisfied, the process returns to step 220 to perform inactive variable node detection, check node update, and variable node update again.
In step 270, if the decoding apparatus determines that the decoding stop condition is satisfied through the parity check, it stops the decoding operation including the check node update and the variable node update.
FIG. 3 is a diagram illustrating a check node update method according to an embodiment of the present invention. Referring to FIG.
In FIG. 3, the active variable nodes j, l, and m variable nodes are represented by a circular node, the kth variable node is represented by an inactive variable node, and the i-th check node is represented by a rectangular node. In addition, the active variable nodes j, l, and mth variable nodes and the i-th check node are connected by a solid line edge line, and the kth variable node and the i-th check node, which are inactive variable nodes, have.
here,
, , , Are check-variable messages that the check node delivers to the variable node, , , , Are variable-check messages that the variable node delivers to the check node.In FIG. 3, the k-th variable node, which is an inactive variable node,
Variable node threshold And is determined to be an inactive variable node.At this time, according to an embodiment of the present invention, one of the result values of the check node update operation
Is a variable that is passed from the lth variable node to the check node. , a variable to be passed from the mth variable node to the check node - check message It is calculated using only two. This is because the check node update operation is performed according to Equation (9). The variable-check message < RTI ID = 0.0 > And a variable to be transmitted to the check node from the kth variable node which is an inactive variable node - check message Is a value excluded from the check node update operation by the equation (9).On the other hand, since the kth variable node is an inactive variable node, it is not necessary to perform a variable node update operation. Accordingly, the i-th check node requires a check-variable message
There is no need to calculate the valueIn summary, according to the embodiment of the present invention, when an inactive variable node exists, the check node connected to the inactive variable node does not have to calculate the check-variable message to be transmitted to the inactive variable node, It is not necessary to consider the variable-check message to be transmitted to the check node in the inactive variable node, so that the amount of decoding operation is reduced.
FIG. 4 is a diagram for explaining an LDPC decoding apparatus according to an embodiment of the present invention. Referring to FIG.
4, an LDPC decoding apparatus according to an exemplary embodiment of the present invention includes an
The
The inactive
The check
The variable
The
The
At this time, if it is determined that the decoding stop condition is not satisfied, the
The
However, if it is determined that the decoding stop condition is satisfied as a result of the determination by the
The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium.
The computer readable recording medium includes a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM, DVD, etc.).
The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
Claims (16)
Detecting at least one inactive variable node that does not require a variable node update based on a variable node threshold that is changed according to the number of iterative decoding among the plurality of variable nodes,
Wherein the variable node update process updates the variable node only for the active variable nodes except for the inactive variable node,
Wherein the check node update process performs the check node update without using the inactive variable node.
The step of detecting the inactive variable node
The variable that the jth variable node delivers to the ith check node - the check message If the absolute value of the j variable node is greater than the variable node threshold value t v , the j variable node is detected as an inactive variable node,
Wherein the variable node threshold value t v is set to decrease as the number of iterative decoding increases.
The step of detecting the inactive variable node
Wherein the number of inactive variable nodes detected is larger than the number of inactive variable nodes detected in the previous iteration decoding cycle as the number of iterative decoding increases.
The step of detecting the inactive variable node
Is performed on the basis of Equation (8) below.
(8)
Where t v is the variable node threshold, t 0 is the initial value of the variable node threshold, Δt is a variable constant, and k is the number of iterative decoding.
The check node update process
And the number of active variable nodes is smaller than the number of active variable nodes as the number of check node updates increases.
The variable node update process
Wherein the number of active variable nodes is smaller than the number of active variable nodes as the number of variable node updates increases.
The check node update process
updating the check-variable message using only the active variable nodes except for the inactive variable node and the jth variable node when the i-th check node updates the check-variable message to be transmitted to the j-th variable node / RTI >
The check node update process
And the check node update is performed based on Equation (9) below.
(9)
At this time, Denotes a check-variable message that the i-th check node delivers to the j-th variable node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node and the k-th variable node, which is an inactive variable node, Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node, Check message to be transmitted to the i-th check node from the variable node excluding the j-th variable node and the k-th variable node which is an inactive variable node.
Further comprising an inactive node detector for detecting at least one inactive variable node that does not need to update a variable node based on a variable node threshold that is changed according to the number of iterative decoding among the plurality of variable nodes,
Wherein the variable node update unit updates the variable node only for the active variable nodes except for the inactive variable node,
Wherein the check node update unit performs the check node update without using the inactive variable node.
The inactive node detecting unit
The variable that the jth variable node delivers to the ith check node - the check message If the absolute value of the j variable node is greater than the variable node threshold value t v , the j variable node is detected as an inactive variable node,
The variable node v is the threshold t LDPC decoding device, characterized in that a decrease in value as the number of times decoding is repeated increase.
The inactive node detecting unit
Wherein the inactive variable node is detected such that more inactive variable nodes are detected than the number of inactive variable nodes detected in the previous iteration decoding times as the iteration decoding number increases.
The inactive node detecting unit
And the inactive node is detected based on the following equation (8).
(8)
Where t v is the variable node threshold, t 0 is the initial value of the variable node threshold, Δt is a variable constant, and k is the number of iterative decoding.
The check node update unit
And the check node updating is performed using a smaller number of active variable nodes as the number of check node updates increases.
The variable node updating unit
And performs the variable node update only for a smaller number of the active variable nodes as the number of variable node update times increases.
The check node update unit
updating the check-variable message using only the active variable nodes except for the inactive variable node and the jth variable node when the i-th check node updates the check-variable message to be transmitted to the j-th variable node Wherein the LDPC decoding apparatus comprises:
The check node update unit
And the check node updating is performed based on Equation (9) below.
(9)
At this time, Denotes a check-variable message that the i-th check node delivers to the j-th variable node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node, Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node and the k-th variable node, which is an inactive variable node, Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node, Check message to be transmitted to the i-th check node from the variable node excluding the j-th variable node and the k-th variable node which is an inactive variable node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150051750A KR101627283B1 (en) | 2015-04-13 | 2015-04-13 | Method and Apparatus for decoding Low-Density Parity-Check code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150051750A KR101627283B1 (en) | 2015-04-13 | 2015-04-13 | Method and Apparatus for decoding Low-Density Parity-Check code |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101627283B1 true KR101627283B1 (en) | 2016-06-03 |
Family
ID=56192571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150051750A KR101627283B1 (en) | 2015-04-13 | 2015-04-13 | Method and Apparatus for decoding Low-Density Parity-Check code |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101627283B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100110662A (en) * | 2009-04-03 | 2010-10-13 | 아주대학교산학협력단 | Method and apparatus for reducing complexity of low-density parity-check code decoding |
JP2013207358A (en) * | 2012-03-27 | 2013-10-07 | Jvc Kenwood Corp | Decoding device, decoding method, and program |
-
2015
- 2015-04-13 KR KR1020150051750A patent/KR101627283B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100110662A (en) * | 2009-04-03 | 2010-10-13 | 아주대학교산학협력단 | Method and apparatus for reducing complexity of low-density parity-check code decoding |
JP2013207358A (en) * | 2012-03-27 | 2013-10-07 | Jvc Kenwood Corp | Decoding device, decoding method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101599336B1 (en) | Method and Apparatus for decoding Low-Density Parity-Check code | |
US8127209B1 (en) | QC-LDPC decoder with list-syndrome decoding | |
AU2005222533B2 (en) | Method and apparatus for efficiently decoding low density parity check code | |
US7454685B2 (en) | Method and apparatus for decoding low density parity check code using united node processing | |
US8862970B1 (en) | Low power LDPC decoding under defects/erasures/puncturing | |
US7930621B2 (en) | Systems and methods for LDPC decoding with post processing | |
US8990661B1 (en) | Layer specific attenuation factor LDPC decoder | |
US7853854B2 (en) | Iterative decoding of a frame of data encoded using a block coding algorithm | |
US8572463B2 (en) | Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size | |
EP3092717B1 (en) | Decoding of non-binary ldpc codes | |
Zimmermann et al. | Reduced complexity LDPC decoding using forced convergence | |
US10298263B2 (en) | Refresh, run, aggregate decoder recovery | |
US8799742B1 (en) | QC-LDPC decoder with list-syndrome decoding | |
CN101107782A (en) | ECC decoding method | |
US10848182B2 (en) | Iterative decoding with early termination criterion that permits errors in redundancy part | |
US20200044668A1 (en) | Method for ldpc decoding, ldpc decoder and storage device | |
KR20120053122A (en) | Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same | |
CN108736900B (en) | Turbo code decoding control method and device, computer readable medium and terminal | |
JP2009005343A (en) | Method and system for decoding symbol sequence received via communication path into codeword of error correcting code | |
US20200052719A1 (en) | Communication method and apparatus using polar codes | |
US11641213B2 (en) | Log-likelihood ratio mapping tables in flash storage systems | |
KR20130012549A (en) | Ldpc encoding and decoding method, and device using the method | |
Cochachin et al. | Density evolution thresholds for noise-against-noise min-sum decoders | |
US8019020B1 (en) | Binary decoding for correlated input information | |
US9231620B2 (en) | Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190326 Year of fee payment: 4 |