Decoding apparatus, decoding method, and computer program product
AssigneeKabushiki Kaisha Toshiba
InventorKazuaki Doi
Life of this patent
Estimating the term…
Abstract
According to an embodiment, a decoding apparatus for a low-density parity-check (LDPC) code includes a first calculator, a second calculator, and a selector. The first calculator is configured to perform row processing based on a first decoding algorithm. The second calculator is configured to perform row processing based on a second decoding algorithm having a lower error correction capacity than that of the first decoding algorithm. The selector is configured to select an output value from the row processing performed by the second calculator when an error in an output value from the row processing performed by the first calculator is greater than an error in the output value from the row processing performed by the second calculator.
Claims10
A decoding apparatus for a low-density parity-check (LDPC) code, comprising:
- a controller coupled to memory and configured to implement:
- a first calculator;
- a second calculator;
- and
- a first selector configured to select an output value from the first calculator or the second calculator based on a determination condition, wherein
- the first calculator comprises:
- a first absolute value calculator configured to calculate a first absolute value representing an absolute value of an input value that is input to the first calculator;
- a first ½ calculator configured to calculate a first input value x by dividing the first absolute value by 2;
- a ϕ1 determiner configured to determine, by using first information including pairs of the first input value x and a first output value ϕ1(x)=−log(tan h(x)), the first output value ϕ1(x) from the first input value x that is output from the first ½ calculator;
- an adder configured to calculate a sum Q of first output values ϕ1(x) that are output from the ϕ1 determiner;
- a Q-R value calculator configured to select each of the first output values ϕ1(x) output from the ϕ1 determiner as an R value in an output order and calculate a Q-R value representing a difference between the sum Q and the R value;
- a second ½ calculator configured to calculate a second input value y by dividing the Q-R value by 2;
- and
- a ϕ2 determiner configured to determine, by using second information including pairs of the second input value y and a second output value ϕ2(y)=−log(tan h(y)), the second output value ϕ2(y) from the second input value y that is output from the second ½ calculator and output the second output value ϕ2(y) as the output value from the first calculator, and
- the second calculator comprises:
- a second absolute value calculator configured to calculate a second absolute value representing an absolute value of an input value that is input to the second calculator;
- a comparator configured to acquire, from among second absolute values that are output from the second absolute value calculator, smallest and second smallest of the second absolute values;
- and
- a second selector configured to output one of the smallest and the second smallest of the second absolute values as the output value from the second calculator.
A decoding method performed by a decoding apparatus of a low-density parity-check (LDPC) code, the method comprising:
- performing, by a controller, first row processing;
- performing, by the controller, second row processing;
- and
- selecting, by the controller, an output value from the first row processing or the second row processing based on a determination condition, wherein
- the first row processing:
- calculates a first absolute value representing an absolute value of an input value;
- calculates a first input value x by dividing the first absolute value by 2;
- determines, by using first information including pairs of the first input value x and a first output value ϕ1(x)=−log(tan h(x)), the first output value ϕ1(x) from the first input value x;
- calculates a sum Q of first output values ϕ1(x);
- selects each of the first output values ϕ1(x) as an R value in an output order and calculates a Q-R value representing a difference between the sum Q and the R value;
- calculates a second input value y by dividing the Q-R value by 2;
- and
- determines, by using second information including pairs of the second input value y and a second output value ϕ2(y)=−log(tan h(y)), the second output value ϕ2(y) from the second input value y and outputs the second output value ϕ2(y) as the output value from the first row processing, and
- the second row processing:
- calculates a second absolute value representing an absolute value of an input value;
- acquires, from among second absolute values that are calculated, smallest and second smallest of the second absolute values;
- and
- outputs one of the smallest and the second smallest of the second absolute values as the output value from the second row processing.
A non-transitory computer-readable medium including computer-readable instructions for decoding a low-density parity-check (LDPC) code, the computer-readable instructions causing a controller that is coupled to memory to perform a method comprising:
- performing first row processing;
- performing second row processing;
- and
- selecting an output value from the first row processing-or the second row processing based on a determination condition, wherein
- the first row processing:
- calculates a first absolute value representing an absolute value of an input value;
- calculates a first input value x by dividing the first absolute value by 2;
- determines, by using first information including pairs of the first input value x and a first output value ϕ1(x)=−log(tan h(x)), the first output value ϕ1(x) from the first input value x;
- calculates a sum Q of first output values ϕ1(x);
- selects each of the first output values ϕ1(x) as an R value in an output order and calculates a Q-R value representing a difference between the sum Q and the R value;
- calculates a second input value y by dividing the Q-R value by 2;
- and
- determines, by using second information including pairs of the second input value y and a second output value ϕ2(y)=−log(tan h(y)), the second output value ϕ2(y) from the second input value y and outputs the second output value ϕ2(y) as the output value from the first row processing, and
- the second row processing:
- calculates a second absolute value representing an absolute value of an input value;
- acquires, from among second absolute values that are calculated, smallest and second smallest of the second absolute values;
- and
- outputs one of the smallest and the second smallest of the second absolute values as the output value from the second row processing.
Dependencies are inferred from the claim text.