KR101627283B1 - Method and Apparatus for decoding Low-Density Parity-Check code - Google Patents

Method and Apparatus for decoding Low-Density Parity-Check code Download PDF

Info

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
Application number
KR1020150051750A
Other languages
Korean (ko)
Inventor
선우명훈
배정현
Original Assignee
아주대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교 산학협력단 filed Critical 아주대학교 산학협력단
Priority to KR1020150051750A priority Critical patent/KR101627283B1/en
Application granted granted Critical
Publication of KR101627283B1 publication Critical patent/KR101627283B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding

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

[0001] The present invention relates to a decoding method and apparatus for decoding low-density parity check codes,

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

Figure 112015035758424-pat00001
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)

Figure 112015035758424-pat00002

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)

Figure 112015035758424-pat00003

At this time,

Figure 112015035758424-pat00004
Denotes a check-variable message that the i-th check node delivers to the j-th variable node,
Figure 112015035758424-pat00005
Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node,
Figure 112015035758424-pat00006
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,
Figure 112015035758424-pat00007
Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node,
Figure 112015035758424-pat00008
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

Figure 112015035758424-pat00009
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)

Figure 112015035758424-pat00010

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)

Figure 112015035758424-pat00011

At this time,

Figure 112015035758424-pat00012
Denotes a check-variable message that the i-th check node delivers to the j-th variable node,
Figure 112015035758424-pat00013
Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node,
Figure 112015035758424-pat00014
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,
Figure 112015035758424-pat00015
Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node,
Figure 112015035758424-pat00016
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).

Figure 112015035758424-pat00017

At this time,

Figure 112015035758424-pat00018
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).

Figure 112015035758424-pat00019

Figure 112015035758424-pat00020
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-
Figure 112015035758424-pat00021
To initialize the variable node. At this time,
Figure 112015035758424-pat00022
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,
Figure 112015035758424-pat00023
Represents a message value corresponding to the j < th > bit of the received codeword,
Figure 112015035758424-pat00024
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).

Figure 112015035758424-pat00025

At this time,

Figure 112015035758424-pat00026
Denotes a check-variable message that the i-th check node delivers to the j-th variable node,
Figure 112015035758424-pat00027
Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node,
Figure 112015035758424-pat00028
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

Figure 112015035758424-pat00029
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,
Figure 112015035758424-pat00030
The minimum value of
Figure 112015035758424-pat00031
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).

Figure 112015035758424-pat00032

At this time,

Figure 112015035758424-pat00033
Denotes a variable-check message transmitted from the j-th variable node to the i-th check node,
Figure 112015035758424-pat00034
Is the initial value of the variable-check message,
Figure 112015035758424-pat00035
Denotes a set of check nodes other than the i-th check node connected to the j-th variable node,
Figure 112015035758424-pat00036
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)

Figure 112015035758424-pat00037
Checks-variable messages to be transmitted to the j-th variable node from the other check nodes except the i-th check node
Figure 112015035758424-pat00038
And the initial value of the variable-check message
Figure 112015035758424-pat00039
, 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).

Figure 112015035758424-pat00040

At this time,

Figure 112015035758424-pat00041
Denotes the test decoded value generated through trial decoding at the jth variable node,
Figure 112015035758424-pat00042
Is the initial value of the variable-check message,
Figure 112015035758424-pat00043
Represents a set of check nodes connected to the jth variable node.

That is, according to Equation (5)

Figure 112015035758424-pat00044
Lt; / RTI > is the check-variable messages that are passed from all the check nodes to the j <
Figure 112015035758424-pat00045
And the initial value of the variable-check message
Figure 112015035758424-pat00046
. ≪ / RTI >

Next, the test decoded value

Figure 112015035758424-pat00047
Is determined by Equation (6).

Figure 112015035758424-pat00048

At this time,

Figure 112015035758424-pat00049
Represents the judgment result value for the test decoded value, and the judgment result value
Figure 112015035758424-pat00050
Lt; RTI ID = 0.0 >
Figure 112015035758424-pat00051
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).

Figure 112015035758424-pat00052

That is, according to Equation 7,

Figure 112015035758424-pat00053
And a parity check matrix H
Figure 112015035758424-pat00054
Lt; / RTI >
Figure 112015035758424-pat00055
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).

Figure 112015035758424-pat00056

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-

Figure 112015035758424-pat00057
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

Figure 112015035758424-pat00058
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

Figure 112015035758424-pat00059
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).

Figure 112015035758424-pat00060

At this time,

Figure 112015035758424-pat00061
Denotes a check-variable message that the i-th check node delivers to the j-th variable node,
Figure 112015035758424-pat00062
Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node,
Figure 112015035758424-pat00063
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,
Figure 112015035758424-pat00064
Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node,
Figure 112015035758424-pat00065
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

Figure 112015035758424-pat00066
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,
Figure 112015035758424-pat00067
The minimum value of
Figure 112015035758424-pat00068
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.

Figure 112015035758424-pat00069

Table 1 shows that when the maximum number of iterative decoding is limited to 5, the variable-check message

Figure 112015035758424-pat00070
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.

Figure 112015035758424-pat00071

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 .

Figure 112015035758424-pat00072

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

Figure 112015035758424-pat00073
Lt; RTI ID = 0.0 > check-node < / RTI >
Figure 112015035758424-pat00074
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 .

t c SNR 2 dB 2.5 dB 3 dB 3.5 dB 4 dB 5 0% 0.002905% 0.009067% 0.015681% 0.013738 6 0% 0.000626% 0.000848% 0.001148% 0.001498 7 0% 0.000017% 0.000279% 0.000065% 0.00041%

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

Figure 112015035758424-pat00075
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
Figure 112015035758424-pat00076
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,

Figure 112015035758424-pat00077
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)
SNR = 2dB SNR = 3dB SNR = 4dB
Operation amount
Reduction rate
Operation amount
Reduction rate
Operation amount
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%
Equations (8) and
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,

Figure 112015035758424-pat00078
,
Figure 112015035758424-pat00079
,
Figure 112015035758424-pat00080
,
Figure 112015035758424-pat00081
Are check-variable messages that the check node delivers to the variable node,
Figure 112015035758424-pat00082
,
Figure 112015035758424-pat00083
,
Figure 112015035758424-pat00084
,
Figure 112015035758424-pat00085
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,

Figure 112015035758424-pat00086
Variable node threshold
Figure 112015035758424-pat00087
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

Figure 112015035758424-pat00088
Is a variable that is passed from the lth variable node to the check node.
Figure 112015035758424-pat00089
, a variable to be passed from the mth variable node to the check node - check message
Figure 112015035758424-pat00090
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 >
Figure 112015035758424-pat00091
And a variable to be transmitted to the check node from the kth variable node which is an inactive variable node - check message
Figure 112015035758424-pat00092
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

Figure 112015035758424-pat00093
There is no need to calculate the value

In 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 initialization unit 410, an inactive node detection unit 420, a check node update unit 430, a variable node update unit 440, (450) and a parity check unit (460).

The initialization unit 410 initializes a plurality of check nodes and a plurality of variable nodes.

The inactive node detection unit 420 detects at least one inactive variable node that does not need to update the variable node based on the variable node threshold value changed in accordance with the number of iterative decoding among the plurality of variable nodes.

The check node update unit 430 performs the check node update without using the detected inactive variable node.

The variable node update unit 440 updates the variable node only for the active variable nodes other than the detected inactive variable node.

The test decryption unit 450 performs a determination on the decryption value generated through trial decryption.

The parity checker 460 performs a parity check to determine whether the decoding stop condition is satisfied.

At this time, if it is determined that the decoding stop condition is not satisfied, the parity checking unit 460 notifies the inactive node detecting unit 420 and instructs the inactive variable detecting unit 420 to detect the inactive variable node.

The non-active node detector 420, the check node update unit 430, the variable node update unit 440, the test decoder 450, and the parity check unit 460 sequentially perform the operations repeatedly. The decoding operation is continuously performed until the decoding stop condition is satisfied.

However, if it is determined that the decoding stop condition is satisfied as a result of the determination by the parity checker 460, all the decoding operations are ended.

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)

A method for decoding a low density parity check code (LDPC) through an iterative decoding process including 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 test decode process, and a parity check process As a result,
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 method according to claim 1,
The step of detecting the inactive variable node
The variable that the jth variable node delivers to the ith check node - the check message
Figure 112015035758424-pat00094
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 method according to claim 1,
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 method according to claim 1,
The step of detecting the inactive variable node
Is performed on the basis of Equation (8) below.
(8)
Figure 112015035758424-pat00095

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 method according to claim 1,
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 method according to claim 1,
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 method according to claim 1,
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 method according to claim 1,
The check node update process
And the check node update is performed based on Equation (9) below.
(9)
Figure 112015035758424-pat00096

At this time,
Figure 112015035758424-pat00097
Denotes a check-variable message that the i-th check node delivers to the j-th variable node,
Figure 112015035758424-pat00098
Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node,
Figure 112015035758424-pat00099
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,
Figure 112015035758424-pat00100
Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node,
Figure 112015035758424-pat00101
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.
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 decode unit for performing trial decryption, An apparatus for decoding a low density parity check code (LDPC) through an iterative decoding process including a parity check unit for performing an inspection,
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.
10. The method of claim 9,
The inactive node detecting unit
The variable that the jth variable node delivers to the ith check node - the check message
Figure 112016032873824-pat00102
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.
10. The method of claim 9,
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.
10. The method of claim 9,
The inactive node detecting unit
And the inactive node is detected based on the following equation (8).
(8)
Figure 112016032873824-pat00103

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.
10. The method of claim 9,
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.
10. The method of claim 9,
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.
10. The method of claim 9,
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:
10. The method of claim 9,
The check node update unit
And the check node updating is performed based on Equation (9) below.
(9)
Figure 112016032873824-pat00104

At this time,
Figure 112016032873824-pat00105
Denotes a check-variable message that the i-th check node delivers to the j-th variable node,
Figure 112016032873824-pat00106
Denotes a set of variable nodes other than the j-th variable node connected to the i-th check node,
Figure 112016032873824-pat00107
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,
Figure 112016032873824-pat00108
Check message to be transmitted to the i-th check node from the variable node other than the j-th variable node,
Figure 112016032873824-pat00109
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.
KR1020150051750A 2015-04-13 2015-04-13 Method and Apparatus for decoding Low-Density Parity-Check code KR101627283B1 (en)

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)

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

Patent Citations (2)

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