Method and apparatus for decoding three-dimensional turbo product code based on crossing layers
10382066 ยท 2019-08-13
Assignee
Inventors
Cpc classification
H03M13/2918
ELECTRICITY
H03M13/453
ELECTRICITY
H03M13/19
ELECTRICITY
International classification
H03M13/29
ELECTRICITY
H03M13/45
ELECTRICITY
H03M13/00
ELECTRICITY
H03M13/09
ELECTRICITY
Abstract
Disclosed is a three-dimensional TPC decoding apparatus. A three-dimensional TPC decoding apparatus includes an X decoder which decodes an X axis of an m-th upper half layer based on decoding results of a Y axis and a Z axis of an m1-th upper half layer; a Y decoder which decodes a Y axis of an m-th lower half layer based on decoding results of an X axis and a Z axis of an m1-th lower half layer; and a Z decoder which decodes a Z axis based on a decoding result of the Y axis of an m-th upper half layer and a decoding result of the X axis of an m-th lower half layer.
Claims
1. An apparatus for decoding information encoded using a three-dimensional Turbo Product Code (TPC), comprising: an upper X decoder circuit which decodes an X axis value of an m-th upper half layer based on decoding results of a Y axis and a Z axis of an m1-th upper half layer; an upper Y decoder circuit that is connected in series with the upper X decoder circuit and which decodes a Y axis value of the m-th upper half based on a decoding result of the upper X decoder circuit; a lower Y decoder circuit that is connected in parallel with the upper X decoder circuit and which decodes a Y axis value of an m-th lower half layer based on decoding results of the X axis and the Z axis of an m1-th lower half layer; a lower X decoder circuit that is connected in series with the lower Y decoder circuit and which decodes an X axis value of the m-th lower half layer based on a decoding result of the lower Y decoder circuit; and a Z decoder circuit that is connected is series with the upper Y decoder circuit and the lower X decoder circuit, and which decodes a Z axis value based on a decoding result of the upper Y decoder circuit and the a decoding result of the lower X decoder circuit; wherein the decoding results of the upper X decoder circuit, the lower X decoder circuit, the upper Y decoder circuit, the lower Y decoder circuit, and the Z decoder circuit collectively represent a decoded version of the information.
2. The apparatus according to claim 1, wherein the lower Y decoder circuit decodes the Y axis value of the m-th lower half while the upper X decoder circuit decodes the X axis value of the m-th upper half layer.
3. The apparatus according to claim 1, wherein the lower X decoder circuit decodes the X axis value of the m-th lower half while the upper Y decoder circuit decodes the Y axis value of the m-th upper half layer.
4. The apparatus according to claim 1, wherein decoded values for the X axis and the Y axis are determined using a chase-pyndiah algorithm.
5. The apparatus according to claim 1, wherein decoded values for the Z axis are determined using a normalized min-sum algorithm.
6. A method for decoding information encoded using a three-dimensional Turbo Product Code (TPC), comprising: decoding, by an upper X decoder circuit, an X axis value of an m-th upper half layer based on decoding results of a Y axis and a Z axis of an m1-th upper half layer; decoding, by an upper Y decoder circuit, a Y axis value of the m-th upper half layer based on a decoding result of the upper X decoder circuit; decoding, by a lower Y decoder circuit, a Y axis value of an m-th lower half layer based on decoding results of the X axis and the Z axis of an m1-th lower half layer; decoding, by a lower X decoder circuit, an X axis value of the m-th lower half layer based on the decoding result of the lower Y decoder circuit; and decoding, by a Z decoder circuit, a Z axis value based on a decoding result of the upper Y decoder circuit and a decoding result of the lower X decoder circuit; wherein the upper X decoder circuit is connected in series with the upper Y decoder circuit, the upper X decoder circuit is connected in parallel in the lower Y decoder circuit, the lower Y decoder circuit is connected in series with the lower X decoder circuit, and the Z decoder circuit is connected in series with the the upper Y decoder circuit and the lower X decoder circuit; and wherein the decoding results of the upper X decoder circuit, the lower X decoder circuit, the upper Y decoder circuit, the lower Y decoder circuit, and the Z decoder circuit collectively represent a decoded version of the information.
7. The method according to claim 6, further comprising: comparing a predetermined number of iterations for a decoding process with a number of currently performed iterations of the decoding process; and repeatedly performing the decoding process when the predetermined number is larger than the number of currently performed iterations of the decoding process.
8. The method according to claim 6, further comprising: comparing a predetermined number of iterations for a decoding process with a number of currently performed iterations of the decoding process; and performing hard decision and outputting an information value which searches an error when the predetermined number is equal to the number of currently performed iterations of the decoding process.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other aspects, features and other advantages of the present disclosure will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION
(9) Those skilled in the art may make various modifications to the present invention and the present invention may have various embodiments thereof, and thus specific embodiments will be illustrated in the drawings and described in detail in detailed description. However, this does not limit the present invention within specific exemplary embodiments, and it should be understood that the present invention covers all the modifications, equivalents and replacements within the spirit and technical scope of the present invention. In the description of respective drawings, similar reference numerals designate similar elements.
(10) Terms such as first or second, A or B may be used to describe various components but the components are not limited by the above terms. The above terms are used only to discriminate one component from the other component. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component. A term of and/or includes combination of a plurality of related elements or any one of the plurality of related elements.
(11) It should be understood that, when it is described that an element is coupled or connected to another element, the element may be directly coupled or directly connected to the other element or coupled or connected to the other element through a third element. On the contrary, it should be understood that when an element is referred to as being directly connected to or directly coupled to another element, another element does not intervene therebetween.
(12) Terms used in the present application are used only to describe specific exemplary embodiments, and are not intended to limit the present invention. A singular form may include a plural form if there is no clearly opposite meaning in the context. In the present invention, it should be understood that term include or have indicates that a feature, a number, a step, an operation, a component, a part or the combination thoseof described in the specification is present, but do not exclude a possibility of presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations, in advance.
(13) If it is not contrarily defined, all terms used herein including technological or scientific terms have the same meaning as those generally understood by a person with ordinary skill in the art. Terms defined in generally used dictionary shall be construed that they have meanings matching those in the context of a related art, and shall not be construed in ideal or excessively formal meanings unless they are clearly defined in the present application.
(14) Hereinafter, exemplary embodiments according to the present disclosure will be described in detail with reference to accompanying drawings.
(15)
(16) The serial decoding method is the simplest decoding method. According to the serial decoding method, all axes are connected in series and results of axes which have been previously decoded are reflected to update an input which is input to a decoder of a subsequent axis.
(17) In the serial decoding method, [R] refers to reception information which passes through a channel, R.sub.X(m), R.sub.Y(m), and R.sub.Z(m) refer to soft inputs used for m-th decoding of each axis, W.sub.X(m), W.sub.Y(m), and W.sub.Z(m) refer to extrinsic information obtained as a m-th decoding result of each axis, and .sub.X(m) and .sub.Y(m) refer to weighting factors which are multiplied to extrinsic information of each axis. When all the X, Y, and Z axes are completely decoded, a number of iterative decoding times increases by one.
(18) Referring to
(19) In this case, the Z decoder is an axis configured by a single parity code. A performance of the Z axis may be improved using a sum-product algorithm (SPA) which is mainly used for LDPC decoding. Alternatively, instead of the sum-product algorithm a normalized min-sum method is applied to reduce implementation complexity.
(20) Referring to
R.sub.X(m)=[R]+.sub.Y(m1)W.sub.Y(m1)+W.sub.Z(m1)
R.sub.Y(m)=[R]+.sub.X(m)W.sub.X(m)
R.sub.Z(m)=[R]+.sub.X(m)W.sub.X(m)+.sub.Y(m)W.sub.Y(m)[Equation 1]
(21) Referring to Equation 1, the m-th soft input of the X axis is based on the m1-th decoding results of the Y axis and the Z axis. Further, the m-th soft input of the Y axis is based on the m-th decoding result of the X axis. Further, the m-th decoding result of the Z axis is based on the m-th decoding results of the X axis and the Y axis.
(22) The serial decoding method has a merit in that since the decoding results of other axis are reflected in one iterative decoding, an error correction performance is good. However, since the decoding of individual axes is sequentially performed, it is undesirable because the throughput is low. As described above, since a decoding time of the serial decoding method is very long, the decoding processes of the individual axes are parallelized to shorten the overall decoding time.
(23)
(24) When the parallel decoding method is performed, if all the X axis, the Y axis, and the Z axis are parallelized, the performance is significantly lowered with the same iterative decoding times as the serial decoding method. Therefore, a partial parallel decoding method which parallelizes only the X axis and decoding of the Y axis and configures the Z axis in the serial manner in which the results of the X axis and the Y axis are reflected to minimize the lowering of the performance.
(25) Referring to
(26) In the partial parallel decoding method of
R.sub.X(m)=[R]+.sub.Y(m1)W.sub.Y(m1)+W.sub.Z(m1)
R.sub.Y(m)=[R]+.sub.X(m1)W.sub.X(m1)+W.sub.Z(m1)
R.sub.Z(m)=[R]+.sub.X(m)W.sub.X(m)+.sub.Y(m)W.sub.Y(m)[Equation 2]
(27) Referring to Equation 2, the m-th soft input of the X axis is based on the m1-th decoding results of the Y axis and the Z axis. Further, the m-th soft input of the Y axis is based on the m1-th decoding results of the X axis and the Y axis. Further, the m-th decoding result of the Z axis is based on the m-th decoding results of the X axis and the Y axis.
(28) According to the partial parallel decoding method of
(29) As described above, in order to achieve any one of the performance and the throughput, both the serial decoding method and the parallel decoding method of the related art may require sacrifice of the other one. Therefore, a new decoding method which may achieve both the better performance and the better throughput is required.
(30)
(31) Referring to
(32) That is, the X axis and the Y axis are decoded in series on one layer. However, since the decoding is simultaneously performed on two layers, the decoding is performed in parallel with respect to two layers. By doing this, the same performance as the serial iterative decoding method may be achieved only during the same decoding time as the parallel iterative decoding method of the related art.
(33) Referring to
(34) When decoding on the half layers is completed, the decoding result of the X axis of the upper half layer is reflected to update an input value which is input to the Y decoder and the lower half layer updates the input value of the X decoder based on the decoding result of the Y axis. That is, secondary decoding is performed.
(35) When the decoding of the X axis and the decoding of the Y axis are completed, an input value which is input to the Z decoder is updated based on the values and then a Z axis decoding process is performed. As described above, one iterative decoding process is completed and the overall decoding process is repeatedly performed as many as the number of required repeating times.
(36) In the layer crossing decoding method of
(37) In this case, the same weighting factors .sub.X(m) and .sub.Y(m) are used on the upper half layer and the lower half layer. R.sub.UP,X(m) and R.sub.UP,Y(m) refer to soft inputs of the X decoder and the Y decoder of the upper half layer used in the m-th iterative decoding. Further, W.sub.UP,X(m) and W.sub.UP,Y(m) refer to extrinsic information obtained as the decoding results of the X axis and the Y axis of the upper half layer during the m-th iterative decoding. Since the Z axis decoding is performed after combining all the layers, the extrinsic information of the m-th iterative decoding of the Z axis decoding is denoted by W.sub.Z(m).
R.sub.UP,X(m)=[R]+.sub.Y(m1)W.sub.UP,Y(m1)+W.sub.Z(m1)
R.sub.UP,Y(m)=[R]+.sub.X(m)W.sub.UP,X(m)[Equation 3]
(38) Referring to Equation 3, the m-th soft input of the X axis on the upper half layer is based on the m1-th decoding results of the Y axis and the Z axis the upper half layer. Further, the m-th soft input of the Y axis of the upper half layer is based on the m-th decoding result of the X axis of the upper half layer.
(39) In the other hand, an operation of updating the soft input of each axis applied to the m-th decoding of the lower half layer may be represented by the following Equation 4.
R.sub.DOWN,X(m)=[R]+.sub.Y(m)W.sub.DOWN,Y(m)
R.sub.DOWN,Y(m)=[R]+.sub.X(m1)W.sub.DOWN,X(m1)+W.sub.Z(m1)[Equation 4]
(40) Referring to Equation 4, the m-th soft input of the X axis on the lower half layer is based on the m-th decoding result of the Y axis of the lower half layer. Further, the m-th soft input of the Y axis of the lower half layer is based on the m1-th decoding results of the X axis and the Z axis of the lower half layer.
(41) The extrinsic information obtained after completing all the decoding of the X axis and the decoding of the Y axis is calculated to generate the soft input of the Z axis decoding. A value of the upper half layer of the soft input of the Z axis decoding is generated using the extrinsic information obtained by performing the decoding of the X axis and the decoding of the Y axis of the upper half layer and the extrinsic information obtained by performing the decoding of the X axis and the decoding of the Y axis of the lower half layer is used for the operation of a value of the lower half layer. The operation of updating the soft input of the Z axis may be represented by the following Equation 5.
R.sub.UP,Z(m)=[R]+.sub.X(m)W.sub.UP,X(m)+.sub.Y(m)W.sub.UP,Y(m)
R.sub.DOWN,Z(m)=[R]+.sub.X(m)W.sub.DOWN,X(m)+.sub.Y(m)W.sub.DOWN,Y(m)[Equation 5]
(42) Referring to Equation 5, the m-th soft input of the Z axis of the upper half layer is based on the m-th decoding results of the X axis and the Y axis of the upper half layer. Further, the m-th soft input of the Z axis of the lower half layer is based on the m-th decoding results of the X axis and the Y axis of the lower half layer.
(43) As described above, when the layer crossing decoding method is used, the decoding of the X axis and the decoding of the Y axis are simultaneously performed so that the decoding may be performed for a short decoding time similarly to the existing parallel decoding method. Simultaneously, similarly to the serial decoding method in terms of the performance, as a soft input operating value which is input to decode the Z axis, the information obtained by decoding the X axis and the Y axis is input. Therefore, the error correction performance is improved.
(44)
(45) Referring to
(46) As illustrated in
(47) Next, when the decoding on the half layers is completed, the upper half layer reflects the decoding result of the Y axis to update a soft input which is input to the X decoder and the lower half layer reflects the decoding of the X axis result to update a soft input which is input to the Y decoder. Next, the X decoder decodes the lower half layer and the Y decoder decodes the upper half layer.
(48) When both the decoding of the X axis of the lower half layer and the decoding of the Y axis of the upper half layer are completed, the result is reflected to perform the Z axis decoding. The layer crossing serial and parallel hybrid decoding method is repeated as many as the number of iterative decoding. When the iterative decoding is completed, initial channel information value and decoding result values of the X, Y, and Z axes after completing four times of iterative decoding process are added and then hard decision is performed to output an information value.
(49) As described above, according to the layer crossing hybrid decoding method proposed by the present disclosure, decoding of the X axis starts through upper half information and decoding of the Y axis starts with lower half information and a value reflecting the decoding result of the previous axis is used as a soft input from a point where the position of the half information crosses during the decoding of the X axis and the decoding of the Y axis to perform the decoding. Therefore, the performance and the decoding time may be simultaneously improved.
(50)
(51) Referring to
(52) Next, primarily decoding is performed in m-th iterative decoding (S1200). That is, the upper half layer is decoded with respect to the X axis and the lower half layer is decoded with respect to the Y axis. The upper half layer and the lower half layer are simultaneously decoded so that a merit of the parallel decoding method may be obtained.
(53) Next, inputs of the X decoder and the Y decoder are updated (S1300). That is, an input of the Y axis of the m-th upper half layer is updated by reflecting a decoding result of the X axis of the m-th upper half layer performed in step S1200 and an input of the X axis of the m-th lower half layer is updated by reflecting a decoding result of the Y axis of the m-th lower half layer performed in step S1200.
(54) Next, secondary decoding is performed in m-th iterative decoding (S1400). That is, the upper half layer is decoded with respect to the Y axis and the lower half layer is decoded with respect to the X axis. With respect to each of the upper half layer and the lower half layer, the decoding of the Y axis is performed using the result of the X axis or the decoding of the X axis is performed using the result of the Y axis, so that a merit of the serial decoding method may be obtained.
(55) After completing the secondary decoding, an input of the Z decoder is updated to decode the Z axis (S1500). That is, an input of the Z axis of the upper half layer is updated based on the decoding results of the X axis and the Y axis of the upper half layer and an input of the Z axis of the lower half layer is updated based on the decoding results of the X axis and the Y axis of the lower half layer.
(56) Next, the iteration number of decoding processes of a three-dimensional turbo product code is confirmed (S1700). When the m-th iteration number is not equal to a predetermined iteration number, it means that the iterative decoding which needs to be performed remains so that a sequence moves to step S1100 again. Further, when the m-th iteration number is equal to the predetermined iteration number, it means that all the iterative decoding is completed. Therefore, hard decision is performed (S1800) and the decoding process is finally completed.
(57)
(58)
(59) Referring to
(60) A throughput in the simulation result of
(61) TABLE-US-00001 TABLE 1 Total decoding Iterative decoding structure time (CLK) Throughput Serial decoding method 418,976 3.75 Mbps Partial parallel decoding method 213,136 7.38 Mbps Layer crossing hybrid decoding method 254,104 6.2 Mbps
(62) Referring to Table 1, a decoding time of the layer crossing hybrid decoding method proposed by the present disclosure is not fast as much as a decoding time of the partial parallel decoding method of 213136 CLK. However, a decoding time of 254104 CLK which is 40% faster than the decoding time of the serial decoding method of 418976 CLK. When the decoding time is converted into a throughput, it is understood that the throughput is 6.2 Mbps which is similar to a throughput of the partial parallel decoding method of 7.38 Mbps.
(63)
(64) Referring to
(65) When the decoding apparatus illustrated in
(66) The exemplary embodiments of the present disclosure have been described with reference to the accompanying drawings, but those skilled in the art will understand that the present disclosure may be implemented in another specific form without changing the technical spirit or an essential feature thereof. Thus, it is to be appreciated that embodiments described above are intended to be illustrative in every sense, and not restrictive.