Error correction encoder, error correction decoder, and optical communication device including the same

Provided is an error correction encoder. The error correction encoder includes input nodes for receiving input words, first encoders for generating first parities by performing a first error correction encoding on each of the input words, an interleaver for generating interleaved words by performing interleaving on the input words, a second encoder for generating a plurality of second parities by performing a second error correction encoding on each of the interleaved words, output nodes for outputting each of the input words, first parity output nodes for outputting the first parities, and second parity output nodes for outputting the second parities.

CROSS-REFERENCE TO RELATED APPLICATIONS

This U.S. non-provisional patent application claims priority under 35 U.S.C. § 119 of Korean Patent Application Nos. 10-2015-0165504, filed on Nov. 25, 2015, and 10-2016-0143563, filed on Oct. 31, 2016, the entire contents of which are hereby incorporated by reference.

BACKGROUND

The present disclosure herein relates to a communication device, and more particularly, to an error correction encoder, an error correction decoder, and an optical communication device including the both.

Communication devices transmit/receive signals through wire or wireless channels. While signals are delivered through wire or wireless channels, noise affects the signals due to various reasons. Due to noise, an error that a received signal is not restored to a transmitted signal may occur.

In order to process, compensate, or correct such an error, an error correction encoder and decoder are applied to communication devices. The error correction encoder generates additional information, for example, parity, to correct an error based on a signal to be transmitted. A communication device may transmit/receive an original signal and a signal including parity through a wire or wireless channel. Additionally, an error correction decoder of a communication device detects an original signal part and a parity part from a signal received through a wire or wireless channel, and process, compensate, or correct the original signal part or an error of the original signal part and the parity part by using the parity part

An error correction encoder and decoder are also applied to an optical communication device. Compared to other communication methods, optical communication has a relatively high transfer rate and as related technology develops, a communication transfer rate is increased continuously. An error correction encoder and decoder applied to an optical communication device are required to have a high processing speed corresponding to a transfer rate of optical communication. Additionally, in order to increase the reliability of optical communication, an error correction encoder and decoder applied to an optical communication device are required to have a high error correction function. That is, an error correction encoder and decoder having a high processing speed and a high error correction function are required to be applied to an optical communication device.

SUMMARY

The present disclosure provides an error correction encoder and decoder having a high processing speed and a high error correction function and an optical communication device including the same.

An embodiment of the inventive concept provides an error correction encoder including: a plurality of input nodes configured to receive a plurality of input words; a plurality of first encoders configured to generate a plurality of first parities by performing a first error correction encoding on each of the plurality of input words received through the plurality of input nodes; an interleaver configured to generate interleaved words by performing interleaving on the plurality of input words received from the plurality of input nodes; a plurality of second encoders configured to generate a plurality of second parities by performing a second error correction encoding on each of the plurality of interleaved words received from the interleaver; a plurality of output nodes configured to output each of the plurality of input words received through the plurality of input nodes; a plurality of first parity output nodes configured to output each of the plurality of first parities received from the plurality of first encoders; and a plurality of second parity output nodes configured to output each of the plurality of second parities received from the plurality of second encoders.

In an embodiment, each of the first error correction encoding and the second error correction encoding may include Low Density Parity Check (LDPC) encoding.

In an embodiment, each interleaved word may include a part of each of the plurality of input words.

In an embodiment, the error correction encoder may further include a control circuit configured to adjust the number of activation first encoders among the plurality of first encoders, the number of activation second encoders among the plurality of second encoders, and the number of activation inputs and the number of activation outputs of the interleaver.

In an embodiment of the inventive concept, an error correction decoder includes: a plurality of input nodes configured to receive a plurality of input words; a plurality of first error correction decoders configured to perform a first error correction decoding on each of the plurality of input words received through the plurality of input nodes by using a plurality of first parities received through a plurality of first parity input nodes; and an interleaver configured to generate a plurality of interleaved words by performing interleaving on outputs of the plurality of first error correction decoders; and a plurality of second error correction decoders configured to perform a second error correction decoding on each of the plurality of interleaved words received from the interleaver by using a plurality of second parities received through a plurality of second parity input nodes.

In an embodiment, the error correction decoder may further include: a deinterleaver configured to generate a plurality of deinterleaved words by performing deinterleaving on outputs of the plurality of second error correction decoders; and a plurality of adders configured to add the plurality of input words received through the plurality of input nodes and the deinterleaved words received from the deinterleaver, respectively, to deliver the added results to the plurality of first error correction decoders, respectively.

In an embodiment, the each deinterleaved word may include a part of each of outputs of the plurality of second error correction decoders.

In an embodiment, the plurality of first error correction decoders may be configured to perform the first error correction decoding on outputs of the plurality of adders; and when the deinterleaver does not output a valid value, the plurality of adders may be configured to deliver the plurality of input words to the plurality of first error correction decoders, respectively.

In an embodiment, the error correction decoder may further include a plurality of adders configured to deliver values, which are obtained by subtracting the outputs of the deinterleaver from outputs of the plurality of first error correction decoders, to the interleaver.

In an embodiment, the interleaver may be configured to perform interleaving on outputs of the plurality of adders and when the deinterleaver does not output a valid value, the plurality of adders may be configured to deliver the outputs of the plurality of first error correction decoders to the interleaver.

In an embodiment, the error correction decoder may further include a plurality of adders configured to deliver values, which are obtained by subtracting the outputs of the interleaver from the outputs of the plurality of second error correction decoders, respectively, to the deinterleaver, wherein the deinterleaver may be configured to perform deinterleaving on outputs of the plurality of adders.

In an embodiment, the error correction decoder may further include, when the number of delivering outputs to the deinterleaver by the plurality of second error correction decoders reaches a reference value, a plurality of output nodes configured to output each of the outputs of the plurality of second error correction decoders to the outside.

In an embodiment, the error correction decoder may further include a control circuit configured to adjust the number of activation first error correction decoders among the plurality of first error correction decoders, the number of activation inputs and activation outputs of the interleaver, the number of second error correction decoders among the plurality of second error correction decoders, and the number of activation inputs and activation outputs of the deinterleaver.

In an embodiment, each of the first error correction decoding and the second error correction decoding may include iterative decoding for performing error correction a plurality of times.

In an embodiment, each of the first error correction decoding and the second error correction decoding may include Low Density Parity Check (LDPC) decoding.

In an embodiment of the inventive concept, an optical communication device includes: a scrambler configured to perform scramble on a first input word; a parallelizer configured to output a plurality of second input words by parallelizing an output of the scrambler; an error correction encoder configured to perform error correction encoding on the plurality of second input words; and an optical transmitter configured to output an output of the error correction encoder as an optical signal, wherein the error correction encoder includes: a plurality of first encoders configured to generate a plurality of first parities by performing a first error correction encoding on each of the plurality of second input words; an interleaver configured to generate a plurality of interleaved words by performing interleaving on the plurality of second input words; and a plurality of second encoders configured to generate a plurality of second parities by performing a second error correction encoding on each of the plurality of interleaved words received from the interleaver, wherein the error correction encoder is configured to output the plurality of second input words, the plurality of first parities, and the plurality of second parities.

In an embodiment, the optical communication device may further include a serializer configured to reduce the number of outputs of the error correction encoder to match the number of inputs of the optical transmitter and deliver the number to the optical transmitter.

In an embodiment, the error correction encoder may be configured to output each second input word and a first parity and a second parity corresponding to each second input word as each output word.

In an embodiment, the optical communication device may further include: an optical receiver configured to receive a second optical signal; a second parallelizer configured to parallelize an output of the optical receiver as a plurality of third input words; an error correction decoder configured to perform error correction decoding on the plurality of third input words; a serializer configured to serialize outputs of the second error correction decoder as a fourth input word; a descrambler configured to perform descramble on an output of the serializer and output a result, wherein the error correction decoder may include: a plurality of first error correction decoders configured to perform a first error correction decoding on each of the plurality of third input words by using the plurality of first parities; an interleaver configured to generate a plurality of interleaved words by performing interleaving on outputs of the plurality of first error correction decoders; and a plurality of second error correction decoders configured to perform a second error correction decoding on each of the plurality of interleaved words received from the interleaver by using the plurality of second parities.

In an embodiment, the optical communication device may further include: an optical receiver configured to receive second optical signals; a second parallelizer configured to parallelize outputs of the optical receiver as a plurality of third input words; an error correction decoder configured to perform error correction decoding on the plurality of third input words; a serializer configured to serialize outputs of the error correction decoder as a fourth input word; and a descrambler configured to perform descramble on an output of the serializer and output a result, wherein the error correction decoder may include: a plurality of first error correction decoders configured to perform a first error correction decoding on each of the plurality of third input words by using the plurality of first parities; an interleaver configured to generate a plurality of interleaved words by performing interleaving on outputs of the plurality of first error correction decoders; and a plurality of second error correction decoders configured to perform a second error correction decoding on each of the plurality of interleaved words received from the interleaver by using the plurality of second parities.

DETAILED DESCRIPTION

Hereinafter, it will be described in more detail with reference to the accompanying drawings so that those skilled in the art easily carry out the technical idea of the inventive concept.

FIG. 1is a block diagram illustrating an error correction encoder100according to an embodiment of the inventive concept. Exemplarily, the error correction encoder100for performing error correction encoding during an error correction process is shown inFIG. 1.

Referring toFIG. 1, the error correction encoder100includes an input unit110, a first encoding unit120, an interleaver130, a second encoding unit140, an output unit150, a first parity output unit160, and a second parity output unit170.

The input unit110includes a plurality of input nodes I1to I4. Each of the plurality of input nodes I1to I4is configured to receive an input word from an external device. That is, the plurality of input nodes I1to I4may receive a plurality of input words IW1to IW4at the same time, respectively. For example, the plurality of input words IW1to IW4may be delivered from a data source for generating data to be transmitted through a wire or wireless channel to the plurality of input nodes I1to I4. The plurality of input words IW1to IW4received through the plurality of input nodes I1to I4are delivered to the first encoding unit120, the interleaver130, and the output unit150.

The first encoding unit120includes a plurality of first encoders121to124that respectively correspond to the plurality of input nodes I1to I4. Exemplarily, the plurality of input nodes I1to I4and the plurality of first encoders121to124may have one-to-one corresponding relationship. The plurality of first encoders121to124may perform a first error correction encoding on each of the plurality of input words IW1to IW4received through the plurality of input nodes I1to I4. For example, each of the first encoders121to124may perform Low Density Parity Check (LDPC) encoding. The plurality of first encoders121to124may generate first parities P11to P14from the plurality of input words IW1to IW4, respectively. The first parities P11to P14may be additional information generated from the plurality of input words IW1to IW4in order for error correction. The first parities P11to P14are delivered to the first parity output unit160.

The interleaver130may perform interleaving on the plurality of input words IW1to IW4received through the plurality of input nodes I1to I4in order to generate a plurality of interleaved words IV1to IV4. For example, the interleaver130may generate one interleaved word by extracting a part from each of the plurality of input words IW1to IW4. One interleaved word may include parts of each of the plurality of input words IW1to IW4. Exemplarily, the number of the input words IW1to IW4inputted to the interleaver130and the number of the interleaved words IV1to IV4outputted from the interleaver130may be the same. That is, the number of input nodes and the number of output nodes in the interleaver130may be the same. The plurality of interleaved words IV1to IV4outputted from the interleaver130may be delivered to the second encoding unit140.

The second encoding unit140includes a plurality of second encoders141to144that respectively correspond to the plurality of interleaved words IV1to IV4. Exemplarily, the plurality of interleaved words IV1to IV4and the plurality of second encoders141to144may have one-to-one corresponding relationship. The plurality of second encoders141to144may perform second error correction encoding on each of the plurality of interleaved words IV1to IV4. For example, each of the second encoders141to144may perform Low Density Parity Check (LDPC) encoding. The plurality of second encoders141to144may generate second parities P21to P24from the plurality of interleaved words IV1to IV4, respectively. The second parities P21to P24may be additional information generated from the plurality of interleaved words IV1to IV4in order for error correction. The second parities P21to P24are delivered to the second parity output unit170.

The output unit150includes a plurality of output nodes O1to O4that respectively correspond to the plurality of input nodes I1to I4. The plurality of output nodes O1to O4may output the plurality of input words IW1to IW4delivered from the plurality of input nodes I1to I4.

The first parity output unit160includes a plurality of first parity output nodes161to164that respectively correspond to the plurality of first encoder121to124. The first parity output nodes161to164may output the first parities P11to P14delivered from the plurality of first encoder121to124, respectively.

The second parity output unit170includes a plurality of second parity output nodes171to174that respectively correspond to the plurality of second encoder141to144. The second parity output nodes171to174may output the second parities P21to P24delivered from the plurality of second encoder141to144, respectively.

Exemplarily, each of the plurality of input words IW1to IW4outputted through the output nodes O1to O4, the plurality of first parities P11to P14outputted through the first parity output nodes161to164, and the plurality of second parities P21to P24outputted through the second parity output nodes171to174may form a plurality of output words OW1to OW4. For example, each input word may form one output word together with a corresponding first parity and a corresponding second parity. The plurality of output words OW1to OW4may be transmitted through a wire or wireless channel.

As mentioned above, the error correction encoder100according to an embodiment of the inventive concept is configured to perform error correction encoding in parallel on a plurality of input words. Although it is shown inFIG. 1that error correction encoding is performed on four input words IW1to IW4, the number of simultaneously-encoded input words is not limited. For example, when the error correction encoder100is configured to encode k input words simultaneously (k is a positive integer), k input nodes, k first encoders, k second encoders, k output nodes, k first parity output nodes, and k second parity output nodes may be provided to the error correction encoder100. Additionally, the interleaver130may include k input nodes and k output nodes. For example, the interleaver130may be applied to convert k input words into k interleaved words.

FIG. 2is a flowchart illustrating a method of the error correction encoder100ofFIG. 1to perform error correction encoding. Referring toFIGS. 1 and 2, in operation S110, the error correction encoder100may receive the plurality of input words IW1to IW4from the plurality of input nodes I1to I4.

After the plurality of input words IW1to IW4are received, operation S120, operation S130, operation S140, and operation S150are performed in parallel.

In operation S120, the error correction encoder100may output the plurality of input words IW1to IW4from the plurality of output nodes O1to O4.

In operation S130, the error correction encoder100may generate the plurality of first parities P11to P14by performing a first error correction encoding on the plurality of input words IW1to IW4in the respective first encoders121to124. The plurality of first parities P11to P14may be outputted from the plurality of first parity output nodes161to164.

In operation S140, the error correction encoder100may generate a plurality of interleaved words IV1to IV4by performing interleaving on the plurality of input words IW1to IW4in the interleaver130. In operation S150, the error correction encoder100may generate a plurality of second parities P21to P24by performing a second error correction encoding on the plurality of interleaved words IV1to IV4in the respective second encoders141to144. The plurality of second parities P21to P24may be outputted from the plurality of second parity output nodes171to174.

The plurality of input words IW1to IW4, the plurality of first parities P11to P14, and the plurality of second parities P21to P24may form the plurality of output words OW1to OW4and may be transmitted through a wire or wireless channel.

FIG. 3is a block diagram illustrating an error correction decoder200according to an embodiment of the inventive concept. Exemplarily, the error correction decoder200for performing error correction decoding during an error correction process is shown inFIG. 3. Referring toFIG. 3, the error correction decoder200includes an input unit210, a first adding unit220, a first decoding unit230, a second adding unit240, an interleaver250, a second decoding unit260, a third adding unit270, a deinterleaver280, an output unit290, a first parity input unit PI1, and a second parity input unit PI2.

The input unit210includes a plurality of input nodes I1to I4. The plurality of input nodes I1to I4receive a plurality of input words IW1to IW4. The plurality of input words IW1to IW4may be original data where a data source is generated among signals received through a wire or wireless channel, for example, a part corresponding to input words inputted to the error correction encoder100(seeFIG. 1) for performing error correction encoding. The plurality of input words IW1to IW4may be delivered to the first adding unit220.

The first adding unit220includes a plurality of first adders221to224that respectively correspond to the plurality of input words IW1to IW4. The plurality of first adders221to224may output results, obtained by adding the plurality of first input words IW1to IW4and a plurality of deinterleavers DV1to DV4outputted from the deinterleaver280, as a plurality of first sum signals A1to A4. Exemplarily, if the deinterleaver280does not output valid deinterleavers DV1to DV4, the plurality of first adders221to224may output the plurality of first input words IW1to IW4as the plurality of first sum signals A1to A4, respectively. The plurality of first sum signals A1to A4are delivered to the first decoding unit230.

The first parity input unit PH includes a plurality of first parity input nodes PI11to PI14. The plurality of first parity input nodes PI11to PI14receive a plurality of first parities P11to P14. The plurality of first parities P11to P14may be first parities where input words are encoded among signals received through a wire or wireless channel, for example, a part corresponding to first parities outputted from the first error correction encoders121to124(seeFIG. 1). The plurality of first parities P11to P14may be delivered to the first decoding unit230.

The first decoding unit230includes a plurality of first decoders231to234that respectively correspond to the plurality of first sum signals A1to A4. Exemplarily, the plurality of first decoders231to234may perform a first error correction decoding on each of the plurality of first sum signals A1to A4by using the plurality of first parities P11to P14. For example, the plurality of first parities P11to P14and the plurality of first sum signals A1to A4may have one-to-one corresponding relationship. According to the one-to-one corresponding relationship, the plurality of first decoders231to234may perform error correction decoding on a related first sum signal by using a related first parity. For example, each of the plurality of first decoders231to234may perform iterative error correction decoding. For example, each of the first decoders231to234may perform Low Density Parity Check (LDPC) decoding. Each of the first decoders231to234may perform decoding iteratively until the number of decoding reaches a predetermined reference value. The decoding results of the first decoders231to234may be delivered as first intermediate signals B1to B4to the second adding unit240.

The second adding unit240includes a plurality of second adders241to244that respectively correspond to the plurality of first decoders231to234. The plurality of second adders241to244may output results, obtained by subtracting the outputs of the deinterleavers DV1to DV4outputted from the deinterleaver280from the plurality of first intermediate signals B1to B4, as a plurality of second sum signals C1to C4. Exemplarily, if the deinterleaver280does not output valid deinterleavers DV1to DV4, the plurality of second adders241to244may output the plurality of first intermediate signals B1to B4as a plurality of second sum signals C1to C4. The plurality of second sum signals C1to C4are delivered to the interleaver250.

The interleaver250may generate a plurality of interleaved words IV1to IV4by performing interleaving on the plurality of second sum signals C1to C4. For example, the interleaver250may generate one interleaved word by extracting a part from each of the plurality of second sum signals C1to C4. One interleaved word may include parts of each of the plurality of second sum signals C1to C4. Exemplarily, the number of the second sum signals C1to C4inputted to the interleaver250and the number of the interleaved words IV1to IV4outputted from the interleaver250may be the same. That is, the number of input nodes and the number of output nodes in the interleaver250may be the same. The plurality of interleaved words IV1to IV4outputted from the interleaver250are delivered to the second decoding unit260and the third adding unit270.

The second parity input unit PI2includes a plurality of second parity input nodes PI21to PI24. The plurality of second parity input nodes PI21to PI24receive a plurality of second parities P21to P24. The plurality of second parities P21to P24may be second parities where interleaved words are encoded among signals received through a wire or wireless channel, for example, a part corresponding to second parities outputted from the second error correction encoders141to144(seeFIG. 1). The plurality of second parities P21to P24may be delivered to the second decoding unit260.

The second decoding unit260includes a plurality of second decoders261to264that respectively correspond to the plurality of interleaved words IV1to IV4. Exemplarily, the plurality of second decoders261to264may perform a second error correction decoding on each of the plurality of interleaved words IV1to IV4by using the plurality of second parities P21to P24. For example, the plurality of second parities P21to P24and the plurality of interleaved words IV1to IV4may have one-to-one corresponding relationship. According to the one-to-one corresponding relationship, the plurality of second decoders261to264may perform error correction decoding on a related interleaved word by using a related second parity. For example, each of the plurality of second decoders261to264may perform iterative error correction decoding. For example, each of the second decoders261to264may perform Low Density Parity Check (LDPC) decoding. Each of the second decoders261to264may perform decoding iteratively until the number of decoding reaches a predetermined reference value. The decoding results of the second decoders261to264may be delivered as second intermediate signals D1to D4to the third adding unit270and the output unit290.

The third adding unit270includes a plurality of third adders241to274that respectively correspond to the plurality of second decoders261to264. The plurality of third adders271to274may output results, obtained by subtracting the outputs of the interleaved words IV1to IV4outputted from the interleaver250from the plurality of second intermediate signals D1to D4, as a plurality of third sum signals E1to E4. The plurality of third sum signals E1to E4are delivered to the deinterleaver280.

The deinterleaver280may generate a plurality of deinterleaved words DV1to DV4by performing deinterleaving on the plurality of third sum signals E1to E4. For example, the deinterleaver280may generate one deinterleaved word by extracting a part from each of the plurality of third sum signals E1to E4. One deinterleaved word may include parts of each of the plurality of third sum signals E1to E4. Exemplarily, the number of the third sum signals E1to E4inputted to the deinterleaver280and the number of the deinterleaved words DV1to DV4outputted from the deinterleaver280may be the same. That is, the number of input nodes and the number of output nodes in the deinterleaver280may be the same. The plurality of deinterleaved words DV1to DV4outputted from the deinterleaver280are delivered to the first adding unit220and the second adding unit240.

Exemplarily, the interleaver150and the deinterleaver280may have a symmetric structure. For example, when first signals are inputted to the interleaver250and the outputs of the interleaver250are inputted to the deinterleaver280, the first signals may be outputted from the deinterleaver280. For example, when first signals are inputted to the interleaver250and the outputs of the interleaver250are inputted to the deinterleaver280, the first signals may be outputted from the deinterleaver280.

The output unit290includes a plurality of output nodes O1to O4that respectively correspond to the plurality of second intermediate signals D1to D4. When the number of outputting the second intermediate signals D1to D4by the plurality of second decoders261to264, or the number of delivering the second intermediate signals D1to D4to the third adders271to274reaches a reference value, the plurality of output nodes O1to O4may output the second intermediate signals D1to D4as final output signals, respectively. The final output signals may be delivered to a data sink that is to receive data.

As mentioned above, the error correction decoder200according to an embodiment of the inventive concept is configured to perform error correction decoding in parallel on a plurality of input words. Although it is shown inFIG. 3that error correction decoding is performed on four input words IW1to IW4, the number of simultaneously-decoded input words is not limited. For example, when the error correction decoder200is configured to decode k input words simultaneously (k is a positive integer), k input nodes, k first parity input nodes, k second parity input nodes, k first adders, k first decoders, k second adders, k second decoders, k third adders, and k output nodes may be provided to the error correction decoder200. Additionally, the interleaver250may include k input nodes and k output nodes. For example, the interleaver250may be applied to convert k second sum signals into k interleaved words. Additionally, the deinterleaver850may include k input nodes and k output nodes. For example, the deinterleaver280may be applied to convert k third sum signals into k deinterleaved words.

FIG. 4is a flowchart illustrating a method of the error correction decoder200ofFIG. 3to perform error correction decoding. Referring toFIGS. 3 and 4, in operation S210, in relation to the error correction decoder200, the plurality of input nodes I1to I4receive the plurality of input words IW1to IW4; the plurality of first parity input nodes PI11to PI14receive the plurality of first parities P11to P14; and the plurality of second parity input nodes PI21to PI22receive the plurality of second parities P21to P24.

Before the third sum signals E1are provided to the deinterleaver280, the deinterleaver280does not output valid deinterleaved words DV1to DV4. Accordingly, the first adders221to224may output the plurality of input words IW1to IW4as the first sum signals A1to A4.

In operation S220, the first decoders231to234may perform a first error correction decoding on each of the plurality of input words IW1to IW4by using the plurality of first parities P11to P14. For example, the first error correction decoding may be LDPC decoding for performing decoding iteratively. A result of the first error correction decoding may be outputted as the first intermediate signals B1to B4.

Before the third sum signals E1are provided to the deinterleaver280, the deinterleaver280does not output valid deinterleaved words DV1to DV4. Accordingly, the second adders241to244may output the plurality of first intermediate signals B1to B4as the second sum signals C1to C4.

In operation S230, the interleaver250may perform interleaving on the results of the first error correction decoding outputted through the second adders241to244from the first decoders231to234. The interleaved words IV1to IV4are delivered to the second decoders261to264and the third adders271to274.

In operation S240, the second decoders261to264may perform a second error correction decoding on each of the plurality of interleaved words IV1to IV4by using the plurality of second parities P21to P24. For example, the second error correction decoding may be LDPC decoding for performing decoding iteratively. A result of the second error correction decoding may be outputted as the second intermediate signals D1to D4. The second intermediate signals D1to D4are delivered to the third adders271to274and the output nodes O1to O4.

Exemplarily, performing error correction decoding once by the first decoders231to234and the second decoders261to264may form one error correction loop.

In operation S250, it is determined whether the number of iterations reaches a reference value. For example, the second decoders261to264may determine whether the number of outputting the second intermediate signals D1to D4reaches the reference value. If the number of iterations does not reach the reference value, the third adders271to274may calculate values obtained by subtracting the interleaved words IV1to IV4inputted to the second decoders261to264from the second intermediate signals D1to D4outputted from the second decoders261to264. For example, the third adders271to274may calculate the degree of fault or error reduction (or improvement) by the second decoders261to264between the interleaved words IV1to IV4and the second intermediate signals D1to D4to output it as the third sum signals E1to E4.

In operation S260, the deinterleaver280may perform deinterleaving on the third sum signals E1to E4delivered from the second decoders261to264through the third adders271to274, that is, the results of the second error correction decoding. The deinterleaver280may output the result of the deinterleaving as the deinterleaved words DV1to DV4.

The first adders221to224may add the input words IW1to IW4and the deinterleaved words DV1to DV4, respectively. That is, the first adders221to224may add a result that a fault or error of the input words IW1to IW4is reduced or improved by the first decoders231to234and the second decoders261to264and the input words IW1to IW4. That is, the first sum signals A1to A4outputted from the first adders221to224may be values that a fault or an error is reduced or improved in the input words IW1to IW4. For example, values where a fault or an error is reduced or improved may be correction values.

In operation S270, the first decoders231to234may perform a first error correction decoding on the plurality of first sum signals A1to A4by using the first parities P11to P14.

The second adders241to244may output values, obtained by subtracting the deinterleavers DV1to DV4from the first intermediate signals B1to B4outputted from the first decoders231to234, as the second sum signals C1to C4. For example, the inputs of the first decoders231to234may include the input words IW1to IW4and correction values calculated in the first error correction loop. The outputs of the first decoders231to234include the input words IW1to IW4, correction values of a first error correction loop, and correction values of the first decoders231to234of a second error correction loop. Since the correction values of the first decoders231to234of the second error correction loop are based on the input words IW1to IW4and the correction values of the first error correction loop, they are more improved values than the correction values of the first error correction loop based on the input words IW1to IW4.

When the second adders241to244subtract the deinterleavers DV1to DV4from the first intermediate signals B1to B4, the second sum signals C1to C4include input words and correction values calculated by the first decoders231to234in the second error correction loop. That is, the second sum signals C1to C4include values where correction values improved by the first decoders231to234in the second error correction loop are applied to the input words IW1to IW4based on the correction values of the first error correction loop.

In operation S230, the interleaver250performs interleaving on the second sum signals C1to C4.

In operation S240, the second decoders261to264perform second error correction decoding on the interleaved words IV1to IV4.

In operation S250, if the number of iterations does not reach the reference value, the correction values of the second error correction loop are calculated by the third adders271to274. The correction values of the second error correction loop may be reflected on the input words IW1to IW4by the first adders221to224. If the number of iterations reaches the reference value, in operation S280, the second intermediate signals D1to D4are outputted as final outputs through the output nodes O1to O4.

As described with reference toFIGS. 1 to 4, the error correction encoder100is configured to perform error correction encoding in parallel on a plurality of input words at the same time. Accordingly, an encoding speed of the error correction encoder100is improved. Additionally, the error correction decoder200is configured to perform error correction decoding in parallel on a plurality of input words at the same time. Accordingly, a decoding speed of the error correction decoder200is improved.

Additionally, the error correction encoder100performs error correction encoding to allow the error correction decoder200to perform error correction loops iteratively and also the first error correction decoding and the second error correction decoding iteratively in each error correction loop. Additionally, the error correction decoder200increases the error correction ability of error correction decoding by performing error correction loops iteratively. Additionally, the error correction decoder200performs the first error correction decoding and the second error correction decoding of each error correction loop through iterative decoding. Accordingly, the error correction ability of error correction decoding is further improved. Furthermore, it is known that error correction encoding and decoding schemes for correcting errors through iterative decoding have error floor. As described with reference toFIGS. 1 to 4, if the error correction encoding and decoding schemes for correcting errors through iterative decoding are configured hierarchically, error floors of the error correction encoder100and the error correction decoder200may be further lowered than an existing single error correction channel encoder and decoder.

The error correction encoder100performs interleaving that mixes different input words in an error correction encoding process. Additionally, the error correction decoder200performs interleaving that mixes different input words and deinterleaving in an error correction encoding process. Since different input words refer to each other and are used for error correction, error correction ability is further improved.

FIG. 5is a block diagram illustrating an optical communication device300according to embodiments of the inventive concept. Referring toFIG. 5, the optical communication device300includes a processor310, a transmitter320, and a receiver330.

The processor310may be a data source for transmitting data through the transmitter320or a data sink for receiving data through the receiver330.

The transmitter320is configured to convert a transmission signal outputted from the processor310into an optical signal and transmit the optical signal. The transmitter320includes a scrambler SCR, a parallelizer PAR, an error correction encoder ENC, a serializer SER, and a transmission module TX.

The scrambler SCR may perform scramble on a transmission signal outputted from the processor310. For example, the scramble may be an operation for converting a signal to allow the number of logical bits of ‘1’ and the number of logical bits of ‘0’ in the signal to be similar.

The parallelizer PAR may divide a scrambled signal into a plurality of signals. For example, the parallelizer PAR may receive a scrambled serial signal and output a first part of the serial signal as a first signal, a second part as a second signal, and a kth part as a kth signal in parallel (or simultaneously).

The error correction encoder ENC is configured to perform error correction encoding on parallel signals. Exemplarily, the error correction encoder ENC may include the error correction encoder100described with reference toFIG. 1.

The serializer SER may convert error-correction-encoded signals into serial signals. For example, the serializer SER outputs a first error-correction-encoded signal and then, outputs a second-error-correction-encoded signal and then, outputs a kth-error-correction-encoded signal. The serializer SER may deliver a serial signal to the transmission module TX.

The transmission module TX includes a horizontal quadrature amplitude modulator QAM_H, a vertical quadrature amplitude modulator QAM_V, a horizontal inverse fast Fourier transformer IFFT_H, a vertical inverse fast Fourier transformer IFFT_V, a cyclic prefix inserters CP_I, low pass filters LPF, digital-analog converts DAC, and a modulator MOD.

The interleaver INT may divide an input signal into a horizontal or in-phase component and a vertical or quadrature phase component. The horizontal quadrature amplitude modulator QAM_H may perform quadrature amplitude modulation on the horizontal component and the vertical quadrature amplitude modulator QAM_V performs quadrature amplitude modulation on the vertical component. The vertical inverse fast Fourier transformer IFFT_H may perform inverse fast Fourier transformation on the horizontal component and the vertical inverse fast Fourier transformer IFFT_V performs inverse fast Fourier transformation on the vertical component. The cyclic prefix inserters CP_I may an insert cyclic prefix into the vertical component and the horizontal component. The low pass filters LPF may perform filtering on the vertical component and the horizontal component. The digital-analog converts DAC may perform analog conversion on the vertical component and the horizontal component. The modulator MOD may modulate an optical signal by using the vertical component and the horizontal component. The modulated optical signal may be transmitted to an optical line.

The receiver330is configured to convert an optical signal received from a wire or wireless channel into an electrical signal to deliver it to the processor310. The receiver330includes a descrambler DSCR, a serializer SER, an error correction decoder DEC, a parallelizer PAR, and a reception module RX.

The reception module TX includes a horizontal quadrature amplitude demodulator DQAM_H, a vertical quadrature amplitude demodulator DQAM_V, a horizontal fast Fourier transformer FFT_H, a vertical fast Fourier transformer FFT_V, a cyclic prefix removers, CP_R), low pass filters LPF, analog-digital converters ADC, and a demodulator DMOD.

The demodulator DMOD may demodulate an optical signal received through a wire or wireless channel to obtain an electrical signal. The electrical signal is divided into a vertical component and a horizontal component and outputted in parallel. The analog-digital converts ADC may perform digital conversion on the vertical component and the horizontal component. The low pass filters LPF may perform filtering on the vertical component and the horizontal component. The cyclic prefix removers CP_R may remove a cyclic prefix from the vertical component and the horizontal component. The horizontal fast Fourier transformer FFT_H may perform fast Fourier transformation on the horizontal component and the vertical fast Fourier transformer IFFT_V performs fast Fourier transformation on the vertical component. The horizontal quadrature amplitude demodulator DQAM_H may perform quadrature amplitude demodulation on the horizontal component and the vertical quadrature amplitude demodulator DQAM_V performs quadrature amplitude demodulation on the vertical component. The deinterleaver DINT may combine the vertical component and the horizontal component to output as a serial signal.

The parallelizer PAR may divide the serial signal into a plurality of signals. For example, the parallelizer PAR may receive a scrambled serial signal and output a first part of the serial signal as a first signal, a second part as a second signal, and a kth part as a kth signal in parallel (or simultaneously).

The error correction decoder DEC is configured to perform error correction decoding on parallel signals. Exemplarily, the error correction decoder DEC may include the error correction decoder200described with reference toFIG. 3.

The serializer SER may convert error-correction-decoded signals into serial signals. For example, the serializer SER outputs a first error-correction-decoded signal and then, outputs a second-error-correction-decoded signal and then, outputs a kth-error-correction-decoded signal. The serializer SER may deliver a serial signal to the transmission module TX.

The descrambler DSCR may perform descramble that is an inverse operation of scramble performed by the scrambler SCR.

FIG. 6is a block diagram illustrating an optical communication device400according to an application example of the inventive concept. Referring toFIG. 6, the optical communication device400includes a processor410, a transmitter420, and a receiver430.

Compared to the optical communication device300ofFIG. 5, the transmitter420of the optical communication device400includes two transmission modules TX. Additionally, the receiver430of the optical communication device400includes two reception modules RX. Each of the transmission modules TX may have the same structure as the transmission module TX ofFIG. 5and each of the reception modules RX may have the same structure as the reception module RX ofFIG. 5

The serializer SER of transmitter420may convert a plurality of parallel signals into two signals. For example, as described with reference toFIG. 1, when the error correction encoder ENC outputs four output words OW1to OW4, the serializer SER may convert two output words into one serial signal and the remaining two output words into another serial signal. Two serial signals may be parallel to each other. Each serial signal may be transmitted to a wire or wireless channel through the transmission module TX. That is, it may be interpreted that the serializer SER converts four parallel signals into two parallel signals.

The parallelizer PAR of the receiver430receives serial signals from a plurality of reception modules RX, respectively. The parallelizer PAR may convert a serial signal received from each reception module RX into two or more parallel signals. For example, as described with reference toFIG. 3, when the error correction decoder DEC performs error correction decoding based on four input words IW1to OW4, the parallelizer PAR may convert a serial signal received from each reception module RX into two parallel signals. Serial signals received from each reception module RX may be parallel to each other. That is, it may be interpreted that the parallelizer PAR converts two parallel signals into four parallel signals.

FIG. 7is a block diagram illustrating an optical communication device500according to an application example of the inventive concept. Referring toFIG. 7, the optical communication device500includes a processor510, a transmitter520, and a receiver530.

Compared to the optical communication device300ofFIG. 5, the transmitter520of the optical communication device500includes four transmission modules TX. Additionally, the receiver530of the optical communication device500includes four reception modules RX. Each of the transmission modules TX may have the same structure as the transmission module TX ofFIG. 5and each of the reception modules RX may have the same structure as the reception module RX ofFIG. 5

Compared to the optical communication device300ofFIG. 5, the transmitter520of the optical communication device500does not include a serializer. Exemplarily, when the number of the output words OW1to OW4of the error correction encoder ENC and the number of transmission modules TX are the same, a serializer is not provided to the transmitter520.

Compared to the optical communication device300ofFIG. 5, the receiver530of the optical communication device500does not include a parallelizer. Exemplarily, when the number of the input words IW1to IW4of the error correction decoder DEC and the number of reception modules RX are the same, a parallelizer is not provided to the receiver530.

FIG. 8illustrates an application example of the error correction encoder100ofFIG. 1. Exemplarily, some of the reference symbols shown inFIG. 1are omitted inFIG. 8in order to avoid complicating the drawing.

Compared to the error correction encoder100ofFIG. 1, a control circuit CTN is further provided in an error correction encoder100aofFIG. 8. The control circuit CTN outputs a second control signal CTRL2in response to a first control signal CTRL1received from an external device. The second control signal CTRL2may be delivered to an input unit110, a first encoding unit120, an interleaver130, a second encoding unit140, an output unit150, a first parity output unit160, a second parity output unit270, or some of them. The control circuit CTN may adjust the number of input words IW1to IW4that the error correction encoder100aperforms error correction encoding in parallel by using the second control signal CTRL2.

For example, by using the second control signal CTRL2, the control circuit CTN may adjust or determine all or some of the number of activation input nodes among the input nodes I1to I4, the number of activation first encoders among the first encoders121to124, the number of activation input nodes and activation output nodes among input nodes and output nodes of the interleaver130, the number of second encoders among the second encoders141to144, the number of activation output nodes among the output nodes O1to O4, the number of activation first parity output nodes among the first parity output nodes161to164, and the number of activation second parity output nodes among the second parity output nodes171to174.

When the number of input words that the error correction encoder100aperforms error correction encoding in parallel is adjusted, the flexibility of the error correction encoder100amay be improved and the cost of manufacturing a new error correction encoder may be saved.

FIG. 9illustrates an application example of the error correction decoder200ofFIG. 3. Exemplarily, some of the reference symbols shown inFIG. 3are omitted inFIG. 9in order to avoid complicating the drawing.

Compared to the error correction decoder200ofFIG. 3, a control circuit CTN is further provided in an error correction decoder200aofFIG. 9. The control circuit CTN outputs a second control signal CTRL2in response to a first control signal CTRL1received from an external device. The second control signal CTRL2may be delivered to an input unit110, a first parity input unit PI1, a second parity input unit PI2, a first adding unit220, a first decoding unit230, a second adding unit240, an interleaver250, a second decoding unit260, a third adding unit270, a deinterleaver280, and an output unit290. The control circuit CTN may adjust the number of input words IW1to IW4that the error correction decoder200aperforms error correction decoding in parallel by using the second control signal CTRL2.

For example, by using the second control signal CTRL2, the control circuit CTN may adjust or determine all or some of the number of activation input nodes among the input nodes I1to I4, the number of activation first parity input nodes among the first parity input nodes PI11to PI14, the number of activation parity input nodes among the second parity input nodes PI21to PI24, the number of activation first adders among the first adders221to224, the number of activation first decoders among the first decoders231to234, the number of activation input nodes and output nodes among input nodes and output nodes of the interleaver250, the number of activation second decoders among the second decoders261to264, the number of third adders among the third adders271to274, the number of activation input nodes and activation output nodes among input nodes and output nodes of the deinterleaver280, and the number of activation output nodes among the output nodes O1to O4.

When the number of input words that the error correction decoder200aperforms error correction decoding in parallel is adjusted, the flexibility of the error correction decoder200amay be improved and the cost of manufacturing a new error correction decoder may be saved.

According to embodiments of the inventive concept, an error correction encoder and decoder perform a plurality of input words in parallel. Accordingly, an error correction encoder, an error correction decoder, and an optical communication device, each having an improved processing speed, are provided. Additionally, according to embodiments of the inventive concept, an error correction encoder and decoder perform interleaving on a plurality of input words and then perform iterative two-step error correction. Accordingly, an error correction encoder, an error correction decoder, and an optical communication device, each having an improved error correction function, are provided.