WO2017023028A1 - Multiple decoding method for turbo and ldpc decoders, and apparatus thereof - Google Patents

Multiple decoding method for turbo and ldpc decoders, and apparatus thereof Download PDF

Info

Publication number
WO2017023028A1
WO2017023028A1 PCT/KR2016/008339 KR2016008339W WO2017023028A1 WO 2017023028 A1 WO2017023028 A1 WO 2017023028A1 KR 2016008339 W KR2016008339 W KR 2016008339W WO 2017023028 A1 WO2017023028 A1 WO 2017023028A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoder
decoders
decoding
turbo
mode selection
Prior art date
Application number
PCT/KR2016/008339
Other languages
French (fr)
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
Priority claimed from KR1020160094984A external-priority patent/KR101760462B1/en
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Publication of WO2017023028A1 publication Critical patent/WO2017023028A1/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

Definitions

  • the present invention relates to a decoding method and apparatus, and more particularly, to a multiple decoding method and apparatus for a turbo decoder and LDPC decoder.
  • Turbo codes and LDPC codes in communication systems are closest to Shannon's limits and are the most powerful error correcting codes.
  • Turbo codes and LDPC codes have been researched to implement a system with error correction codes adopted in various standards such as WiMAX, WiFi, 3GPP-LTE, and DVB-S2.
  • the turbo / LDPC decoder capable of decoding the turbo code and the LDPC code has a disadvantage in that the system storage area is considerably large due to various standards and various system implementation parameters.
  • An object of the present invention is to provide a multiplex decoding method and apparatus for a turbo decoder and an LDPC decoder, which can support both a turbo decoder and an LDPC decoder while reducing the area of the decoding device.
  • a multiplexing device for a turbo decoder and an LDPC decoder for achieving the above object includes a plurality of check node calculators, a plurality of bit node calculators, and the node calculators, respectively, for low density parity check (LDPC) decoding.
  • LDPC low density parity check
  • a plurality of unit decoders including a plurality of decoders for turbo decoding configured to share a common operation unit performing a common operation with a plurality of decoders;
  • a mode selection unit which receives a mode selection signal for selecting one of the turbo decoding and the LDPC decoding; Based on the mode selection signal, for interleaving an output value of one of a plurality of decoders of a unit decoder of a preceding unit in the plurality of unit decoders adjacent to each other and selectively outputting to one of a plurality of decoders of a unit decoder of a subsequent unit
  • a plurality of interleaving control units And a plurality of deinterleaving controllers for deinterleaving an output value of one of a plurality of decoders of the unit decoder of the rear stage based on the mode selection signal and selectively outputting the output values to one of a plurality of decoders of the front turbo decoder.
  • the interleaving control unit includes an interleaver for performing the interleaving; And an interleaver switch turned on or off according to the mode selection signal, wherein the deinterleaving controller comprises: a deinterleaver for performing the deinterleaving; And a deinterleaver switch turned on or off according to the mode selection signal.
  • the LDPC decoder includes: a column interleaving controller for interleaving an output value of the bit node calculator in a row unit according to the mode selection signal and selectively outputting the result to the check node calculator; And a row interleaving controller for interleaving an output value of the check node calculator in a column unit according to the mode selection signal and selectively outputting the interleaved output to the bit node calculator.
  • the thermal interleaving control unit comprises: a thermal interleaver for performing interleaving in units of columns; And a column interleaver switch turned on or off according to the mode selection signal
  • the row interleaving controller comprises: a row interleaver for performing interleaving on a row basis; And a row interleaver switch turned on or off according to the mode selection signal.
  • the interleaver switch of the interleaving controller and the deinterleaver switch of the deinterleaving controller are turned on, and the column interleaver of the thermal interleaving controller is turned on.
  • the switch and the row interleaver switch of the row interleaving control unit are turned off, and the switches may operate in reverse when the mode selection signal is a signal for selecting the LDPC decoding.
  • the common operation unit may be an operation unit that performs a min * operation.
  • the interleaving control unit and the deinterleaving control unit are configured to perform one of a plurality of decoders of the front end turbo decoding unit and the rear end turbo decoding for the turbo decoding.
  • the output value of one of the plurality of decoders of the front turbo decoder is interleaved by the interleaving control unit and output to one of the plurality of decoders of the rear turbo decoder.
  • An output value of one of a plurality of decoders of a decoder may be deinterleaved by the deinterleaving controller and output to one of a plurality of decoders of the front turbo decoder.
  • the turbo decoding unit is the turbo decoding unit
  • Equation 1 s' is the previous state, s is the current state, Is the probability value linking the two states, k is the codeword index, y k is the symbol value with the received error at the k index, x k is the original symbol value without the received error at the k index, and u k is Input bits,
  • Equation 2 Is the forward state probability value of the current operation order, Is the value of the forward state probability calculated immediately before the current sequence of operations, Is the reverse state probability value of the current operation sequence, Is the reverse state probability value computed just before the current sequence of operations,
  • Equation 4 When min * (a, b) in Equation 3 is performed by Equation 4,
  • Equation 4 It may be calculated using a simplified look-up table (LUT) configured to receive and calculate an output value.
  • LUT look-up table
  • the check node calculator performs a check node update based on Equations 6 and 7,
  • Is a bit-check message transmitted from d c adjacent bit nodes to check node k
  • each of a and b represents the second term of Equation 7 when each of the two input values selected from the bit-check messages is represented.
  • Is min (a, b) and It may be calculated using a simplified look-up table (LUT) configured to receive and calculate an output value.
  • a multiple decoding method for a turbo decoder and LDPC decoder for achieving the above object comprises the steps of: a mode selection unit for receiving a mode selection signal for selecting one of the turbo decoding and the LDPC decoding; Based on the mode selection signal, the interleaving control unit performs turbo decoding configured to share a common operation unit performing a common operation with each of the plurality of check node operators included in the low density parity check (LDPC) decoder and the plurality of bit node operators.
  • LDPC low density parity check
  • both the turbo decoder and the LDPC decoder can be supported while reducing the area of the decoding device.
  • an operation amount of the decoding apparatus can be reduced by performing an operation using a simplified lookup table.
  • 1 is a diagram illustrating a conventional turbo decoder.
  • FIG. 2 is a diagram illustrating a forward and reverse state probability value update operation of a turbo decoder.
  • FIG. 3 is a diagram illustrating a configuration of a module that performs a state probability value update operation in a turbo decoder.
  • FIG. 4 is a diagram illustrating a configuration of a module that performs an external information update operation in a turbo decoder.
  • FIG. 5 is a diagram illustrating a multiple decoding apparatus for a turbo decoder and an LDPC decoder according to an embodiment of the present invention.
  • FIG. 6A is a diagram illustrating a case in which a multiple decoding apparatus according to another embodiment of the present invention operates as an LPDC decoder.
  • FIG. 6B is a diagram illustrating a case where a multiple decoding apparatus according to another embodiment of the present invention operates as a turbo decoder.
  • FIG. 7 is a diagram illustrating a multiple decoding method for a turbo decoder and an LDPC decoder according to an embodiment of the present invention.
  • FIG. 8 is a diagram for comparing the area of a conventional turbo decoder and LDPC decoder with a multiple decoder according to the present invention.
  • first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • 1 is a diagram illustrating a conventional turbo decoder.
  • the turbo decoder includes a first SISO decoder 110, a second SISO decoder 120, an output interleaver 130, a deinterleaver 140, and a turbo decoder. And an input interleaver 150.
  • the first SISO decoder 110 updates the forward state probability value and the reverse state probability value based on the input information, and finally updates and outputs the first external information.
  • the input information on the first SISO decoder 110 is deinterleaved by p1, which is first parity information, sys (system information), which is an unencoded original message, and second external information, which is an output value of the second SISO decoder 120. To include the output.
  • the output interleaver 130 interleaves the first external information, which is an output value of the first SISO decoder 110, and outputs the interleaved information to the second SISO decoder 120.
  • the second SISO decoder 120 updates the forward state probability value and the reverse state probability value based on the input information, and finally updates and outputs the second external information.
  • the input information on the second SISO decoder 120 is a value obtained by interleaving and outputting the second parity information p2 and sys and the first external information that is the output value of the first SISO decoder 110. Include.
  • the deinterleaver 140 deinterleaves the second external information, which is an output value of the second SISO decoder 120, and outputs the deinterleaver to the first SISO decoder 110.
  • the turbo decoder repeatedly performs these operations until the predetermined condition is satisfied.
  • the input interleaver 150 interleaves sys and outputs the second SISO decoder 120.
  • the decoders 110 and 120 perform initialization by calculating a branch probability value according to Equation 1 based on the input information.
  • s' is the previous state
  • s is the current state
  • Is the probability value that links the two states.
  • k is a codeword index
  • y k is a symbol value intermingled with the received error at the k index
  • x k is the original symbol value without a received error at the k index
  • u k is an input bit.
  • the decoders 110 and 120 update the forward state probability value and the reverse state probability value according to equations (2) to (4).
  • Equation (2) Is the forward state probability value of the current operation order, Is the value of the forward state probability calculated immediately before the current sequence of operations, Is the reverse state probability value of the current operation sequence, Is a reverse state probability value calculated immediately before the current operation sequence.
  • Equation 3 is calculated.
  • Equation 3 min * (a, b) of Equation 3 may be performed by Equation 4.
  • Equation 4 may be performed with a smaller amount of calculation using a simplified lookup table, which will be described later with reference to FIG. 6B.
  • FIG. 2 is a diagram illustrating a forward and reverse state probability value update operation of a turbo decoder.
  • FIG. 2 a forward and reverse state probability value update operation for eight inputs when an input bit is 8 bits is illustrated.
  • the 000 state of the 1st state index is updated in FIG. 2
  • the 000 state of the 0th state index (indicated by a dotted line) and the 001 state (indicated by a solid line) are received as inputs. do.
  • FIG. 3 is a diagram illustrating a configuration of a module that performs a state probability value update operation in a turbo decoder.
  • FIG. 3 (a) shows the configuration of the forward state probability value updating module.
  • the adder module converts and adds an 8-bit input into 16 bits to prevent overflow, and adds the data size conversion module.
  • Data Size 16 to 8 module converts the 16-bit sum result into an 8-bit output value and outputs it.
  • each of the two addition modules in the forward state probability value updating module of FIG. 3 (a) may be a channel LLR value, a former state probability value, and internal information. Is inputted, converted into 16 bits, and added to each other, and each of the two data size conversion modules converts the summed value to 8 bits and outputs to the min * module which performs min * operation.
  • the min * module performs min * operation using a look up table (LUT) by inputting two sum result values input from two data size conversion modules. By delaying the current state value of the current operation sequence, which is the result of min *, by one clock, the output is delayed.
  • LUT look up table
  • the present invention can reduce the amount of computation and the area of the forward state probability value updating module by using a simplified lookup table that the min * module uses when performing a min * operation. .
  • each of the two addition modules in the reverse state probability value update module of FIG. 3 (b) receives a channel LLR value, a next state probability value, and internal information as inputs.
  • Each of the two data size conversion modules converts the sum result into 8 bits and outputs them to the min * module that performs the min * operation.
  • the min * module performs a min * operation using the lookup table to calculate the reverse state probability value of the current operation order.
  • the min * module may perform a min * operation using a simplified lookup table.
  • the decoders 110 and 120 calculate extrinsic information based on the forward state probability value and the reverse state probability value.
  • the external information is computed probabilistic depending on whether the input binary bit string is 0 or 1, and the min * operation mentioned above is used. In this case, when the number of state memories of the decoder is n, the min * operation is performed in a tree structure with n min * operations sequentially.
  • the external information calculated by one of the decoders 110 and 120 is output to the other of the decoders 110 and 120 through an interleaving or deinterleaving process.
  • FIG. 4 is a diagram illustrating a configuration of a module that performs an external information update operation in a turbo decoder.
  • each of eight adder modules and data size conversion modules (Adder & Data size 16 to 8 modules) corresponding to eight bits includes forward state probability values (Alpha values), reverse state probability values (Beta values), and the like.
  • forward state probability values (Alpha values)
  • Beta values reverse state probability values
  • external information is calculated through a min * module having a tree structure.
  • the decoders 110 and 120 undergo an iterative external information operation process, and finally undergo a hard decision process, wherein the hard decision operation is calculated as the sum of the first external information and the second external information of the turbo decoder. After transforming the result into a binary bit string, the decoding process is terminated.
  • FIG. 5 is a diagram illustrating a multiple decoding apparatus for a turbo decoder and an LDPC decoder according to an embodiment of the present invention.
  • a multiple decoding apparatus includes a plurality of unit decoding units 510 and 520, a first interleaving control unit 532, a second interleaving control unit 534, and a first deinterleaving control unit. 542 and a second deinterleaving controller 544.
  • the plurality of unit decoding units 510 and 520 are disposed adjacent to each other, and may be divided into a unit decoding unit 510 at a front end and a unit decoding unit 520 at a rear end.
  • the unit decoder 510 of the previous stage includes a first decoder 512, a first common calculator 513, a first bit node calculator 514, a second decoder 516, a second common calculator 517, and a first decoder.
  • the check node calculator 518 is included.
  • the first decoder 512 and the second decoder 516 perform an operation for turbo decoding.
  • the first bit node calculator 514 performs a bit node update operation
  • the first check node calculator 518 performs a check node update operation.
  • the first decoder 512 and the first bit node calculator 514 share a structure in which the first common calculator 513 performs a common operation to each other.
  • the second decoder 516 and the first check node calculator 518 have a structure in which the second common calculator 517 sharing a common operation is shared.
  • turbo decoding and LDPC decoding it is possible to perform both turbo decoding and LDPC decoding in a relatively narrow area compared to the case where the decoders 512 and 516 and the node calculators 514 and 518 have a common calculator separately.
  • the subsequent unit decoder 520 includes a third decoder 522, a third common calculator 523, a second bit node calculator 524, a fourth decoder 526, a fourth common calculator 527, and a second decoder.
  • the check node calculator 528 is included.
  • the third decoder 522 and the fourth decoder 526 perform an operation for turbo decoding.
  • the second bit node calculator 524 performs a bit node update operation
  • the second check node calculator 528 performs a check node update operation.
  • the third decoder 522 and the second bit node calculator 524 share a structure in which the third common calculator 523 performs a common operation.
  • the fourth decoder 526 and the second check node calculator 528 have a structure in which the fourth common calculator 517 performs a common operation to each other.
  • the third common operation unit 523 and the fourth common operation unit 517 may be a min * operation unit that performs a min * operation.
  • the first interleaving control unit 532 interleaves the output value of the first decoder 512 of the previous unit decoding unit 510 based on the mode selection signal for selecting one of the turbo decoding and the LDPC decoding, and then decodes the unit decoding at the subsequent stage. And selectively output to the fourth decoder 526 of the unit 520.
  • the first interleaving control unit 532 interleaves the output value of the first decoder 512 to output to the fourth decoder 526, and the mode If the selection signal is a signal for selecting LDPC decoding, the interleaving operation on the output value of the first decoder 512 and the output value of the output value of the first decoder 512 to the fourth decoder 526 are not performed. Do not.
  • the first decoder 512 is connected to the fourth decoder 526, but in another embodiment, the first decoder 512 may be connected to the third decoder 522.
  • the multiplexing device may further include a mode selection unit (not shown) for receiving a mode selection signal for selecting one of turbo decoding and LDPC decoding.
  • the mode selection signal may be determined by the user, or may be determined according to a predetermined criterion (whether the input value input to the multiple decoding apparatus is a turbo-coded or LDPC-coded input value, etc.).
  • the second interleaving control unit 534 interleaves the output value of the second decoder 516 of the unit decoding unit 510 in the preceding unit based on the mode selection signal for selecting one of the turbo decoding and the LDPC decoding, and then decodes the unit decoding in the latter stage. It selectively outputs to the third decoder 522 of the unit 520.
  • the first deinterleaving controller 542 deinterleaves the output value of the fourth decoder 526 of the unit decoder 520 of the latter stage based on the mode selection signal for selecting one of turbo decoding and LDPC decoding.
  • the first decoder 512 of the unit decoder 510 is selectively output.
  • the second deinterleaving control unit 544 deinterleaves the output value of the third decoder 522 of the unit decoding unit 520 of the latter stage based on the mode selection signal for selecting one of the turbo decoding and the LDPC decoding.
  • the second decoder 516 of the unit decoder 510 is selectively output.
  • the decoding device operates as a turbo decoder or an LDPC decoder.
  • each of the unit decoders 510 and 520 may further include a plurality of check node calculators and a bit node calculator, and may be connected to each other.
  • a column interleaver (not shown) and a row interleaving between the check node calculator and the bit node calculator may be performed in units of columns.
  • a row interleaver (not shown) that performs interleaving on a unit basis may be further connected.
  • each of the unit decoders 510 and 520 may further include a plurality of decoders.
  • FIG. 6A is a diagram illustrating a case in which a multiple decoding apparatus according to another embodiment of the present invention operates as an LPDC decoder.
  • the first interleaving control unit 532 of FIG. 5 is composed of a first interleaver 532a and a first interleaver switch S1 in FIG. 6A
  • the second interleaving control unit 534 of FIG. 5 is a second interleaver (FIG. 6A).
  • the first deinterleaver controller 542 of FIG. 5 includes the first deinterleaver 542a and the first deinterleaver switch S3 in FIG. 6A.
  • the second deinterleaving control unit 544 includes a second deinterleaver 544a and a second deinterleaver switch S4. At this time, the switches are configured to be ON or OFF according to the mode selection signal.
  • FIG. 6A illustrates a first interleaver switch S1, a second interleaver switch S2, a first deinterleaver switch S3, and a second deinterleaver switch S4 as a signal mode selection signal for selecting LDPC decoding is received. ) Is turned off.
  • the first column interleaver 515 and the first column interleaver 515 for interleaving an output value of the first bit node calculator 514 in rows may be provided.
  • the first row interleaver switch S5 is connected, and the first row interleaver 519 and the first row interleaver switch S6 interleaving the output values of the first check node calculator 518 in units of columns in parallel thereto. Is connected.
  • the second column interleaver 525 and the second column interleaver 525 for interleaving the output value of the second bit node calculator 524 in units of rows are provided.
  • the second row interleaver switch S7 is connected, and the second row interleaver 529 and the second row interleaver switch S8 interleaving the output values of the second check node operation unit 528 in units of columns in parallel thereto. Is connected.
  • FIG. 6A illustrates a first column interleaver switch S5, a first row interleaver switch S6, a second column interleaver switch S7, and a second row interleaver switch as a signal mode selection signal for selecting LDPC decoding is received. The state where S8) is turned on is shown.
  • the first bit node calculator 514 and the first check node calculator 518 operate as one LDPC decoder, and the second bit node calculator 524
  • the second check node calculator 528 operates as another LDPC decoder.
  • bit node calculators 518 and 528 perform initialization according to equation (5).
  • u n denotes an LLR (log-) value of the nth bit having an encoding symbol size N.
  • the check node calculators 514 and 524 perform a check node update on the check node k according to equations (6) and (7).
  • the g () function may be defined as Equation 7 as a min * -sum algorithm requiring an operation using a min * operator, which is a common operator according to an embodiment of the present invention.
  • Is min (a, b) and It may be calculated using a simplified look-up table (LUT) configured to receive and calculate an output value.
  • LUT look-up table
  • the size of the lookup table (LUT) has a large size of a (bit) X b (bit).
  • min (a, b) and The size of the lookup table can be greatly reduced by using a lookup table configured to receive an input and calculate an output value.
  • min (a, b) is also included in the first term of the g () function, there is an advantage that the calculation result of the first term can be used as it is without a separate operation when calculating the second term.
  • the bit node calculators 518 and 528 perform bit node update at the bit node n according to Equation (8).
  • u n is the channel LLR (log-) value of the nth bit with encoding symbol size N
  • the check node calculators 514 and 524 When all parity check equations satisfy a hard decision, the check node calculators 514 and 524 consider that a valid codeword is restored and terminate the decoding process.
  • FIG. 6B is a diagram illustrating a case where a multiple decoding apparatus according to another embodiment of the present invention operates as a turbo decoder.
  • FIG. 6B has the same components as FIG. 6A, and only the operations of the switches S1 to S8 are different, and thus only the operations of the switches will be described.
  • a first interleaver switch S1 when a signal mode selection signal for selecting turbo decoding is received, a first interleaver switch S1, a second interleaver switch S2, a first deinterleaver switch S3, and a second deinterleaver switch S4. Is turned ON.
  • the multiple decoding apparatus of FIG. 6B can operate as a turbo decoder.
  • the first interleaver 532a interleaves the output value output from the first decoder 512 and outputs the output value to the fourth decoder 526, and outputs the output value output from the fourth decoder 526 to the first deinterleaver.
  • Deinterleaving 542a outputs the first decoder 512 to the first decoder 512
  • the second interleaver 534a interleaves the output value output from the second decoder 516 to the third decoder 522.
  • the second deinterleaver 544a deinterleaves the output value output from 522 to the second decoder 516.
  • the input interleaver 150 is connected to each of the third decoder 522 and the fourth decoder 526, and as shown in FIG. 1, the first parity information p1 and the first parity information are shown in FIG. 6A. It is assumed that p2, which is two parity information, and sys, which is an unencoded original message, are given as an input value of a turbo decoder through an input interleaver 150 and the like. Even in this case, the input interleaver 150 may be configured to be connected to each of the third decoder 522 and the fourth decoder 526 only when the mode selection signal is a signal for selecting turbo decoding.
  • Equation 4 a min * operation as shown in Equation 4 is required in the turbo decoding process.
  • the second term of Equation 4 is used. Is It can be calculated using a simplified lookup table (LUT) configured to receive an output value and calculate an output value, thereby reducing the amount of computation in the turbo decoding process and reducing the size of the lookup table.
  • LUT lookup table
  • the min * operation is essentially performed in the present invention.
  • the common operation unit performing the min * operation which is a common operation, is provided by the decoders 512.
  • the decoders 512 By sharing between 516, 522, and 526 and the node calculators 514, 518, 524, and 528, the size (area) of the multiple decoding apparatus can be further reduced.
  • the multiple decoding apparatus is operated as a turbo decoder or an LDPC decoder by operating switches based on a mode selection signal.
  • the same operation may be implemented through branch control of output values.
  • first and second interleavers 532a and 534a, first and second deinterleavers 542a and 544a, first and second column interleavers 515 and 525, and first and second row interleavers 519, 529 is connected to the multiple decoding device irrespective of the mode selection signal, and the first and second interleavers 532a and 534a, the first and second interleavers 532a and 534a only when the output value needs to be interleaved or deinterleaved according to the mode selection signal.
  • FIG. 7 is a diagram illustrating a multiple decoding method for a turbo decoder and an LDPC decoder according to an embodiment of the present invention.
  • the mode selector receives a mode selection signal for selecting one of turbo decoding and LDPC decoding.
  • the interleaving control unit interleaves an output value of one of the plurality of decoders of the front turbo decoding unit and selectively outputs one of the plurality of decoders of the rear turbo decoding unit.
  • the deinterleaving control unit deinterleaves an output value of one of the plurality of decoders of the rear turbo decoder based on the mode selection signal and selectively outputs the output value to one of the plurality of decoders of the front turbo decoder.
  • the interleaving control unit interleaves an output value of one of the plurality of decoders of the front turbo decoding unit and outputs it to one of the plurality of decoders of the rear turbo decoding unit, and the deinterleaving control unit deinterleaves the output value of one of the plurality of decoders of the rear turbo decoding unit.
  • the deinterleaving control unit deinterleaves the output value of one of the plurality of decoders of the rear turbo decoding unit.
  • FIG. 8 is a diagram for comparing the area of a conventional turbo decoder and LDPC decoder with a multiple decoder according to the present invention.
  • each of the multiple decoding apparatuses according to the present invention includes the area of the arithmetic module area and the decoding apparatus in the decoding apparatus. The area is compared.
  • the area of the multiple decoding device according to the present invention is slightly larger than that of the conventional turbo decoder and the conventional LDPC decoder in both the area of the calculation module and the area of the decoding device in the decoding device, but the conventional turbo decoder and the conventional LDPC Compared to a simple combination of the decoder, since the area of the multiple decoding apparatus according to the present invention is about 23 to 24% smaller, when the multiple decoding is required, the multiple decoding apparatus according to the present invention can be implemented in a smaller area than in the related art. It can be seen that.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Disclosed are a multiple decoding method for a turbo and an LDPC decoder, and an apparatus thereof. A multiple decoding apparatus according to an embodiment of the present invention comprises: a plurality of unit decoding units including a plurality of check node computation units for low density parity check (LDPC) decoding, a plurality of bit node computation units, and a plurality of decoders for turbo decoding configured to share a common computation unit performing common computation with each of the node computation units; a mode selection unit for receiving a mode selection signal for selecting one of the turbo decoding and the LDPC decoding; a plurality of interleaving control units for, on the basis of the mode selection signal, interleaving one output value of a plurality of decoders of the preceding unit decoding units in the plurality of unit decoding units adjacent to each other and selectively outputting the interleaved output value to one of a plurality of decoders of the succeeding unit decoding units; and a plurality of deinterleaving control units for, on the basis of the mode selection signal, deinterleaving one output value of the plurality of decoders of the subsequent unit decoding units and selectively outputting the deinterleaved output value to one of a plurality of decoders of the preceding turbo decoding unit.

Description

터보 복호기 및 LDPC 복호기를 위한 다중 복호 방법 및 그 장치Multiple Decoding Method and Apparatus for Turbo Decoder and LDPC Decoder
본 발명은 복호 방법 및 장치에 관한 것으로, 특히 터보 복호기 및 LDPC 복호기를 위한 다중 복호 방법 및 그 장치에 관한 것이다. The present invention relates to a decoding method and apparatus, and more particularly, to a multiple decoding method and apparatus for a turbo decoder and LDPC decoder.
통신 시스템에서 터보 부호와 LDPC 부호는 샤논의 한계에 거의 근접하면서 가장 강력한 오류정정부호이다. 터보 부호와 LDPC 부호는 WiMAX, WiFi, 3GPP-LTE, DVB-S2 등 다양한 표준에 채택된 오류정정부호로 시스템 구현을 위한 많은 연구가 진행되어 왔다. Turbo codes and LDPC codes in communication systems are closest to Shannon's limits and are the most powerful error correcting codes. Turbo codes and LDPC codes have been researched to implement a system with error correction codes adopted in various standards such as WiMAX, WiFi, 3GPP-LTE, and DVB-S2.
또한, 오류정정부호의 구현 관점에서 멀티 표준 및 멀티 부호의 오류정정기법을 유연하게 복호 가능하도록 터보 부호와 LDPC 부호의 결합된 복호기에 관한 구조 설계에 대한 연구도 활발히 진행되어 왔다. In addition, from the standpoint of implementing an error correcting code, research has been actively conducted on the structure design of a combined decoder of a turbo code and an LDPC code to flexibly decode multistandard and multicode error correction techniques.
이러한, 터보 부호와 LDPC 부호의 복호가 가능한 터보/LDPC 복호기는 다양한 표준과 다양한 시스템 구현 파라미터로 인하여 시스템 스토리지 면적이 상당히 크다는 단점을 지니고 있다.The turbo / LDPC decoder capable of decoding the turbo code and the LDPC code has a disadvantage in that the system storage area is considerably large due to various standards and various system implementation parameters.
선행 기술로는 한국 공개특허공보 제10-2009-0012189호(2009.02.02.)가 있다. The prior art is Korean Patent Publication No. 10-2009-0012189 (2009.02.02.).
본 발명의 목적은 터보 복호기 및 LDPC 복호기를 모두 지원하면서도 복호 장치의 면적을 줄일 수 있는 터보 복호기 및 LDPC 복호기를 위한 다중 복호 방법 및 그 장치를 제공하는 것이다. SUMMARY OF THE INVENTION An object of the present invention is to provide a multiplex decoding method and apparatus for a turbo decoder and an LDPC decoder, which can support both a turbo decoder and an LDPC decoder while reducing the area of the decoding device.
상기 목적을 달성하기 위한 본 발명의 일 실시예예 따른 터보 복호기 및 LDPC 복호기를 위한 다중 복호 장치는 저밀도 패리티 검사(LDPC) 복호화를 위한 복수의 체크 노드 연산부, 복수의 비트 노드 연산부 및 상기 노드 연산부들 각각과 공통적인 연산을 수행하는 공통 연산부를 공유하도록 구성된 터보 복호화를 위한 복수의 디코더를 포함하는 복수의 단위 복호부; 상기 터보 복호화 및 상기 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호를 수신하는 모드 선택부; 상기 모드 선택 신호에 기초하여, 상호간에 인접한 상기 복수의 단위 복호부에서의 전단의 단위 복호부의 복수의 디코더 중 하나의 출력값을 인터리빙하여 후단의 단위 복호부의 복수의 디코더 중 하나에게 선택적으로 출력하기 위한 복수의 인터리빙 제어부; 및 상기 모드 선택 신호에 기초하여, 상기 후단의 단위 복호부의 복수의 디코더 중 하나의 출력값을 디인터리빙하여 전단 터보 복호부의 복수의 디코더 중 하나에게 선택적으로 출력하기 위한 복수의 디인터리빙 제어부를 포함한다. A multiplexing device for a turbo decoder and an LDPC decoder according to an embodiment of the present invention for achieving the above object includes a plurality of check node calculators, a plurality of bit node calculators, and the node calculators, respectively, for low density parity check (LDPC) decoding. A plurality of unit decoders including a plurality of decoders for turbo decoding configured to share a common operation unit performing a common operation with a plurality of decoders; A mode selection unit which receives a mode selection signal for selecting one of the turbo decoding and the LDPC decoding; Based on the mode selection signal, for interleaving an output value of one of a plurality of decoders of a unit decoder of a preceding unit in the plurality of unit decoders adjacent to each other and selectively outputting to one of a plurality of decoders of a unit decoder of a subsequent unit A plurality of interleaving control units; And a plurality of deinterleaving controllers for deinterleaving an output value of one of a plurality of decoders of the unit decoder of the rear stage based on the mode selection signal and selectively outputting the output values to one of a plurality of decoders of the front turbo decoder.
바람직하게는, 상기 인터리빙 제어부는 상기 인터리빙을 수행하는 인터리버; 및 상기 모드 선택 신호에 따라 ON 또는 OFF되는 인터리버 스위치를 포함하고, 상기 디인터리빙 제어부는 상기 디인터리빙을 수행하는 디인터리버; 및 상기 모드 선택 신호에 따라 ON 또는 OFF되는 디인터리버 스위치를 포함할 수 있다. Preferably, the interleaving control unit includes an interleaver for performing the interleaving; And an interleaver switch turned on or off according to the mode selection signal, wherein the deinterleaving controller comprises: a deinterleaver for performing the deinterleaving; And a deinterleaver switch turned on or off according to the mode selection signal.
바람직하게는, 상기 LDPC 복호부는 상기 모드 선택 신호에 따라, 상기 비트 노드 연산부의 출력 값을 열(row) 단위로 인터리빙하여 상기 체크 노드 연산부로 선택적으로 출력하는 열 인터리빙 제어부; 및 상기 모드 선택 신호에 따라, 상기 체크 노드 연산부의 출력 값을 행(column) 단위로 인터리빙하여 상기 비트 노드 연산부로 선택적으로 출력하는 행 인터리빙 제어부를 더 포함할 수 있다. Preferably, the LDPC decoder includes: a column interleaving controller for interleaving an output value of the bit node calculator in a row unit according to the mode selection signal and selectively outputting the result to the check node calculator; And a row interleaving controller for interleaving an output value of the check node calculator in a column unit according to the mode selection signal and selectively outputting the interleaved output to the bit node calculator.
바람직하게는, 상기 열 인터리빙 제어부는 상기 열 단위로 인터리빙을 수행하는 열 인터리버; 및 상기 모드 선택 신호에 따라 ON 또는 OFF되는 열 인터리버 스위치를 포함하고, 상기 행 인터리빙 제어부는 상기 행 단위로 인터리빙을 수행하는 행 인터리버; 및 상기 모드 선택 신호에 따라 ON 또는 OFF되는 행 인터리버 스위치를 포함할 수 있다. Advantageously, the thermal interleaving control unit comprises: a thermal interleaver for performing interleaving in units of columns; And a column interleaver switch turned on or off according to the mode selection signal, wherein the row interleaving controller comprises: a row interleaver for performing interleaving on a row basis; And a row interleaver switch turned on or off according to the mode selection signal.
바람직하게는, 상기 모드 선택 신호가 상기 터보 복호화를 선택하기 위한 신호인 경우에는, 상기 인터리빙 제어부의 상기 인터리버 스위치 및 상기 디인터리빙 제어부의 상기 디인터리버 스위치는 ON되고, 상기 열인터리빙 제어부의 상기 열 인터리버 스위치 및 상기 행 인터리빙 제어부의 상기 행 인터리버 스위치는 OFF되고, 상기 모드 선택 신호가 상기 LDPC 복호화를 선택하기 위한 신호인 경우에는 상기 스위치들은 반대로 동작할 수 있다. Preferably, when the mode selection signal is a signal for selecting the turbo decoding, the interleaver switch of the interleaving controller and the deinterleaver switch of the deinterleaving controller are turned on, and the column interleaver of the thermal interleaving controller is turned on. The switch and the row interleaver switch of the row interleaving control unit are turned off, and the switches may operate in reverse when the mode selection signal is a signal for selecting the LDPC decoding.
바람직하게는, 상기 공통 연산부는 min* 연산을 수행하는 연산부일 수 있다. Preferably, the common operation unit may be an operation unit that performs a min * operation.
바람직하게는, 상기 모드 선택 신호가 상기 터보 복호화를 선택하기 위한 신호인 경우에는, 상기 터보 복호화를 위하여 상기 인터리빙 제어부 및 상기 디인터리빙 제어부가 상기 전단 터보 복호부의 복수의 디코더 중 하나와 상기 후단 터보 복호부의 복수의 디코더 중 하나 사이에 병렬로 연결되고, 상기 전단 터보 복호부의 복수의 디코더 중 하나의 출력 값은 상기 인터리빙 제어부에 의해 인터리빙되어 상기 후단 터보 복호부의 복수의 디코더 중 하나로 출력되고, 상기 후단 터보 복호부의 복수의 디코더 중 하나의 출력 값은 상기 디인터리빙 제어부에 의해 디인터리빙되어 상기 전단 터보 복호부의 복수의 디코더 중 하나로 출력될 수 있다. Preferably, when the mode selection signal is a signal for selecting the turbo decoding, the interleaving control unit and the deinterleaving control unit are configured to perform one of a plurality of decoders of the front end turbo decoding unit and the rear end turbo decoding for the turbo decoding. The output value of one of the plurality of decoders of the front turbo decoder is interleaved by the interleaving control unit and output to one of the plurality of decoders of the rear turbo decoder. An output value of one of a plurality of decoders of a decoder may be deinterleaved by the deinterleaving controller and output to one of a plurality of decoders of the front turbo decoder.
바람직하게는, 상기 터보 복호부는 상기 터보 복호부는Preferably, the turbo decoding unit is the turbo decoding unit
하기 수학식 1 내지 수학식 4에 기초하여 순방향 상태 확률 값 업데이트 및 역방향 상태 확률 값 업데이트를 수행하고, Performing a forward state probability value update and a reverse state probability value update based on Equations 1 to 4 below,
[수학식 1][Equation 1]
Figure PCTKR2016008339-appb-I000001
Figure PCTKR2016008339-appb-I000001
상기 수학식 1에서 s'는 이전 상태, s는 현재 상태,
Figure PCTKR2016008339-appb-I000002
는 두 상태를 연결하는 가지 확률 값, k는 코드워드 인덱스, yk는 k 인덱스에서의 수신된 오류가 섞인 심볼값, xk는 k 인덱스에서의 수신된 오류가 없는 원래 심볼값, uk는 입력 비트이고,
In Equation 1, s' is the previous state, s is the current state,
Figure PCTKR2016008339-appb-I000002
Is the probability value linking the two states, k is the codeword index, y k is the symbol value with the received error at the k index, x k is the original symbol value without the received error at the k index, and u k is Input bits,
[수학식 2] [Equation 2]
Figure PCTKR2016008339-appb-I000003
Figure PCTKR2016008339-appb-I000003
상기 수학식 2에서
Figure PCTKR2016008339-appb-I000004
는 현재 연산 순서의 순방향 상태 확률 값,
Figure PCTKR2016008339-appb-I000005
는 현재 연산 순서 직전에 산출된 순방향 상태 확률 값,
Figure PCTKR2016008339-appb-I000006
는 현재 연산 순서의 역방향 상태 확률 값,
Figure PCTKR2016008339-appb-I000007
는 현재 연산 순서 직전에 산출된 역방향 상태 확률 값이고,
In Equation 2
Figure PCTKR2016008339-appb-I000004
Is the forward state probability value of the current operation order,
Figure PCTKR2016008339-appb-I000005
Is the value of the forward state probability calculated immediately before the current sequence of operations,
Figure PCTKR2016008339-appb-I000006
Is the reverse state probability value of the current operation sequence,
Figure PCTKR2016008339-appb-I000007
Is the reverse state probability value computed just before the current sequence of operations,
[수학식 3] [Equation 3]
Figure PCTKR2016008339-appb-I000008
Figure PCTKR2016008339-appb-I000008
상기 수학식 3에서 min*(a,b)는 수학식 4에 의하여 수행될 때, When min * (a, b) in Equation 3 is performed by Equation 4,
[수학식 4][Equation 4]
Figure PCTKR2016008339-appb-I000009
Figure PCTKR2016008339-appb-I000009
상기 수학식 4의 두 번째 항인
Figure PCTKR2016008339-appb-I000010
Figure PCTKR2016008339-appb-I000011
를 입력받아 출력 값을 산출하도록 구성된 간소화된 룩업테이블(LUT)을 이용하여 산출될 수 있다.
The second term of Equation 4
Figure PCTKR2016008339-appb-I000010
Is
Figure PCTKR2016008339-appb-I000011
It may be calculated using a simplified look-up table (LUT) configured to receive and calculate an output value.
바람직하게는, 상기 체크 노드 연산부는 수학식 6 및 수학식 7에 기초하여 체크 노드 업데이트를 수행하고, Preferably, the check node calculator performs a check node update based on Equations 6 and 7,
[수학식 6][Equation 6]
Figure PCTKR2016008339-appb-I000012
Figure PCTKR2016008339-appb-I000012
[수학식 7][Equation 7]
Figure PCTKR2016008339-appb-I000013
Figure PCTKR2016008339-appb-I000013
Figure PCTKR2016008339-appb-I000014
는 dc개의 인접한 비트 노드에서 체크 노드 k로 전송하는 비트- 체크 메시지이고, a, b 각각은 상기 비트- 체크 메시지 중 선택된 2개의 입력 값을 나타낼 때, 상기 수학식 7의 두 번째 항인
Figure PCTKR2016008339-appb-I000015
는 min(a, b) 및
Figure PCTKR2016008339-appb-I000016
를 입력받아 출력 값을 산출하도록 구성된 간소화된 룩업테이블(LUT)을 이용하여 산출될 수 있다.
Figure PCTKR2016008339-appb-I000014
Is a bit-check message transmitted from d c adjacent bit nodes to check node k, and each of a and b represents the second term of Equation 7 when each of the two input values selected from the bit-check messages is represented.
Figure PCTKR2016008339-appb-I000015
Is min (a, b) and
Figure PCTKR2016008339-appb-I000016
It may be calculated using a simplified look-up table (LUT) configured to receive and calculate an output value.
또한, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 터보 복호기 및 LDPC 복호기를 위한 다중 복호 방법은 모드 선택부가 터보 복호화 및 상기 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호를 수신하는 단계; 상기 모드 선택 신호에 기초하여, 인터리빙 제어부가 저밀도 패리티 검사(LDPC) 복호부에 포함된 복수의 체크 노드 연산부 및 복수의 비트 노드 연산부 각각과 공통적인 연산을 수행하는 공통 연산부를 공유하도록 구성된 터보 복호화를 위한 복수의 디코더를 포함하는 복수의 터보 복호부에서의 전단 터보 복호부의 상기 복수의 디코더 중 하나의 출력값을 인터리빙하여 후단 터보 복호부의 복수의 디코더 중 하나로 선택적으로 출력하는 단계; 및 상기 모드 선택 신호에 기초하여, 디인터리빙 제어부가 상기 후단 터보 복호부의 복수의 디코더 중 하나의 출력값을 디인터리빙하여 상기 전단 터보 복호부의 복수의 디코더 중 하나에게 선택적으로 출력하는 단계를 포함할 수 있다. In addition, a multiple decoding method for a turbo decoder and LDPC decoder according to an embodiment of the present invention for achieving the above object comprises the steps of: a mode selection unit for receiving a mode selection signal for selecting one of the turbo decoding and the LDPC decoding; Based on the mode selection signal, the interleaving control unit performs turbo decoding configured to share a common operation unit performing a common operation with each of the plurality of check node operators included in the low density parity check (LDPC) decoder and the plurality of bit node operators. Interleaving an output value of one of the plurality of decoders of the front turbo decoder in the plurality of turbo decoders including a plurality of decoders for selectively outputting to one of the plurality of decoders of the rear turbo decoder; And deinterleaving, by the deinterleaving controller, an output value of one of a plurality of decoders of the rear turbo decoder based on the mode selection signal, and selectively outputting the output value to one of the plurality of decoders of the front turbo decoder. .
본 발명의 일 실시예에 따르면 터보 복호기 및 LDPC 복호기에서 공통적인 연산을 수행하는 공통 연산부를 공유함으로써, 터보 복호기 및 LDPC 복호기를 모두 지원하면서도 복호 장치의 면적을 줄일 수 있는 장점이 있다. According to an embodiment of the present invention, by sharing a common operation unit performing common operations in the turbo decoder and the LDPC decoder, both the turbo decoder and the LDPC decoder can be supported while reducing the area of the decoding device.
본 발명의 다른 실시예에 따르면 간소화된 룩업 테이블을 이용하여 연산을 수행함으로써 복호 장치의 연산량을 줄일 수 있는 장점이 있다. According to another embodiment of the present invention, an operation amount of the decoding apparatus can be reduced by performing an operation using a simplified lookup table.
도 1은 종래의 터보 복호기를 설명하기 위하여 도시한 도면이다. 1 is a diagram illustrating a conventional turbo decoder.
도 2는 터보 복호기의 순방향 및 역방향 상태 확률값 업데이트 동작을 설명하기 위하여 도시한 도면이다. 2 is a diagram illustrating a forward and reverse state probability value update operation of a turbo decoder.
도 3은 터보 복호기에서 상태 확률값 업데이트 동작을 수행하는 모듈의 구성을 설명하기 위하여 도시한 도면이다. 3 is a diagram illustrating a configuration of a module that performs a state probability value update operation in a turbo decoder.
도 4는 터보 복호기에서 외부 정보 업데이트 동작을 수행하는 모듈의 구성을 설명하기 위하여 도시한 도면이다. 4 is a diagram illustrating a configuration of a module that performs an external information update operation in a turbo decoder.
도 5는 본 발명의 일 실시예에 따른 터보 복호기 및 LDPC 복호기를 위한 다중 복호 장치를 설명하기 위하여 도시한 도면이다. 5 is a diagram illustrating a multiple decoding apparatus for a turbo decoder and an LDPC decoder according to an embodiment of the present invention.
도 6a는 본 발명의 다른 실시예에 따른 다중 복호 장치가 LPDC 복호기로 동작하는 경우에 대해 설명하기 위하여 도시한 도면이다. FIG. 6A is a diagram illustrating a case in which a multiple decoding apparatus according to another embodiment of the present invention operates as an LPDC decoder.
도 6b는 본 발명의 다른 실시예에 따른 다중 복호 장치가 터보 복호기로 동작하는 경우에 대해 설명하기 위하여 도시한 도면이다. FIG. 6B is a diagram illustrating a case where a multiple decoding apparatus according to another embodiment of the present invention operates as a turbo decoder.
도 7은 본 발명의 일 실시예에 따른 터보 복호기 및 LDPC 복호기를 위한 다중 복호 방법을 설명하기 위하여 도시한 도면이다. 7 is a diagram illustrating a multiple decoding method for a turbo decoder and an LDPC decoder according to an embodiment of the present invention.
도 8은 종래의 터보 복호기 및 LDPC 복호기와 본 발명에 따른 다중 복호기의 면적을 비교하기 위하여 도시한 도면이다. 8 is a diagram for comparing the area of a conventional turbo decoder and LDPC decoder with a multiple decoder according to the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특 정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components 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 the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination 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. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하에서는 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in detail.
도 1은 종래의 터보 복호기를 설명하기 위하여 도시한 도면이다. 1 is a diagram illustrating a conventional turbo decoder.
도 1을 참조하면, 종래의 BCJR 알고리즘 기반의 터보 복호기가 도시되어 있는데, 터보 복호기는 제1 SISO 디코더(110), 제2 SISO 디코더(120), 출력 인터리버(130), 디인터리버(140) 및 입력 인터리버(150)를 포함한다. Referring to FIG. 1, a conventional BCJR algorithm-based turbo decoder is illustrated. The turbo decoder includes a first SISO decoder 110, a second SISO decoder 120, an output interleaver 130, a deinterleaver 140, and a turbo decoder. And an input interleaver 150.
제1 SISO 디코더(110)는 입력 정보를 바탕으로 순방향 상태 확률 값, 역방향 상태 확률값을 업데이트하고, 최종적으로 제1 외부 정보를 업데이트하여 출력한다. 이때, 제1 SISO 디코더(110)에 대한 입력 정보는 제1 패리티 정보인 p1, 부호화되지 않은 원본 메시지인 sys(systematic information) 및 제2 SISO 디코더(120)의 출력값인 제2 외부정보가 디인터리빙되어 출력된 값을 포함한다. The first SISO decoder 110 updates the forward state probability value and the reverse state probability value based on the input information, and finally updates and outputs the first external information. In this case, the input information on the first SISO decoder 110 is deinterleaved by p1, which is first parity information, sys (system information), which is an unencoded original message, and second external information, which is an output value of the second SISO decoder 120. To include the output.
출력 인터리버(130)는 제1 SISO 디코더(110)의 출력값인 제1 외부 정보를 인터리빙하여 제2 SISO 디코더(120)에게 출력한다. The output interleaver 130 interleaves the first external information, which is an output value of the first SISO decoder 110, and outputs the interleaved information to the second SISO decoder 120.
제2 SISO 디코더(120)는 입력 정보를 바탕으로 순방향 상태 확률 값, 역방향 상태 확률값을 업데이트하고, 최종적으로 제2 외부 정보를 업데이트하여 출력한다. 이때, 제2 SISO 디코더(120)에 대한 입력 정보는 제2 패리티 정보인 p2, sys가 인터리빙되어 출력된 값 및 제1 SISO 디코더(110)의 출력값인 제1 외부정보가 인터리빙되어 출력된 값을 포함한다. The second SISO decoder 120 updates the forward state probability value and the reverse state probability value based on the input information, and finally updates and outputs the second external information. In this case, the input information on the second SISO decoder 120 is a value obtained by interleaving and outputting the second parity information p2 and sys and the first external information that is the output value of the first SISO decoder 110. Include.
디인터리버(140)는 제2 SISO 디코더(120)의 출력값인 제2 외부 정보를 디인터리빙하여 제1 SISO 디코더(110)에게 출력한다. The deinterleaver 140 deinterleaves the second external information, which is an output value of the second SISO decoder 120, and outputs the deinterleaver to the first SISO decoder 110.
터보 복호기는 소정 조건을 만족할때까지 이와 같은 동작들을 반복하여 수행하게 된다. The turbo decoder repeatedly performs these operations until the predetermined condition is satisfied.
입력 인터리버(150)는 sys를 인터리빙하여 제2 SISO 디코더(120)에게 출력한다. The input interleaver 150 interleaves sys and outputs the second SISO decoder 120.
터보 복호화의 과정을 보다 구체적으로 설명하면 다음과 같다. The process of turbo decoding will be described in more detail as follows.
① 초기화 과정① Initialization process
디코더(110, 120)는 입력 정보를 바탕으로 가지(branch) 확률 값을 수학식 1에 따라 연산함으로써, 초기화를 수행한다. The decoders 110 and 120 perform initialization by calculating a branch probability value according to Equation 1 based on the input information.
[수학식 1][Equation 1]
Figure PCTKR2016008339-appb-I000017
Figure PCTKR2016008339-appb-I000017
이때, s'는 이전 상태, s는 현재 상태,
Figure PCTKR2016008339-appb-I000018
는 두 상태를 연결하는 가지 확률 값이다. 또한, k는 코드워드 인덱스, yk는 k 인덱스에서의 수신된 오류가 섞인 심볼값, xk는 k 인덱스에서의 수신된 오류가 없는 원래 심볼값, uk는 입력 비트이다.
Where s' is the previous state, s is the current state,
Figure PCTKR2016008339-appb-I000018
Is the probability value that links the two states. Also, k is a codeword index, y k is a symbol value intermingled with the received error at the k index, x k is the original symbol value without a received error at the k index, and u k is an input bit.
② 순방향, 역방향 상태 확률 값 업데이트 과정② Forward and reverse state probability value update process
디코더(110, 120)는 수학식 2 내지 수학식 4에 따라 순방향 상태 확률 값과 역방향 상태 확률 값을 업데이트한다. The decoders 110 and 120 update the forward state probability value and the reverse state probability value according to equations (2) to (4).
[수학식 2][Equation 2]
Figure PCTKR2016008339-appb-I000019
Figure PCTKR2016008339-appb-I000019
수학식 2에서
Figure PCTKR2016008339-appb-I000020
는 현재 연산 순서의 순방향 상태 확률 값,
Figure PCTKR2016008339-appb-I000021
는 현재 연산 순서 직전에 산출된 순방향 상태 확률 값,
Figure PCTKR2016008339-appb-I000022
는 현재 연산 순서의 역방향 상태 확률 값,
Figure PCTKR2016008339-appb-I000023
는 현재 연산 순서 직전에 산출된 역방향 상태 확률 값이다.
In equation (2)
Figure PCTKR2016008339-appb-I000020
Is the forward state probability value of the current operation order,
Figure PCTKR2016008339-appb-I000021
Is the value of the forward state probability calculated immediately before the current sequence of operations,
Figure PCTKR2016008339-appb-I000022
Is the reverse state probability value of the current operation sequence,
Figure PCTKR2016008339-appb-I000023
Is a reverse state probability value calculated immediately before the current operation sequence.
한편, 연산의 편의성을 위해 수학식 2에 음수 자연로그(-ln) 연산을 취하게 되면, 수학식 3이 산출된다. On the other hand, when a negative natural logarithm (−ln) operation is performed on Equation 2 for convenience of operation, Equation 3 is calculated.
[수학식 3] [Equation 3]
Figure PCTKR2016008339-appb-I000024
Figure PCTKR2016008339-appb-I000024
Figure PCTKR2016008339-appb-I000025
Figure PCTKR2016008339-appb-I000025
이때, 수학식 3의 min*(a,b)는 수학식 4에 의하여 수행될 수 있다.In this case, min * (a, b) of Equation 3 may be performed by Equation 4.
[수학식 4][Equation 4]
Figure PCTKR2016008339-appb-I000026
Figure PCTKR2016008339-appb-I000026
한편, 본 발명의 일 실시예에 따르면 간소화된 룩업 테이블을 이용하여 수학식 4에 대한 연산을 보다 적은 연산량으로 수행할 수 있는데, 이에 대해서는 도 6b를 참조하여 후술한다. Meanwhile, according to an exemplary embodiment of the present invention, an operation for Equation 4 may be performed with a smaller amount of calculation using a simplified lookup table, which will be described later with reference to FIG. 6B.
도 2는 터보 복호기의 순방향 및 역방향 상태 확률값 업데이트 동작을 설명하기 위하여 도시한 도면이다. 2 is a diagram illustrating a forward and reverse state probability value update operation of a turbo decoder.
도 2를 참조하면, 입력 비트가 8 비트인 경우에 입력되는 8개의 입력에 대한 순방향 및 역방향 상태 확률값 업데이트 동작이 도시되어 있다. Referring to FIG. 2, a forward and reverse state probability value update operation for eight inputs when an input bit is 8 bits is illustrated.
도 2에서, 현재 연산 순서인 현재 인덱스에서의 각각의 상태 확률 값 별로, 이전 연산 순서인 이전 인덱스에서의 두 개의 상태 확률 값을 입력으로 받고, 이를 이용하여 min* 연산을 수행하여 순방향 상태 업데이트 또는 역방향 상태 업데이트를 할 수 있게 된다. In FIG. 2, for each state probability value of the current index, which is the current operation order, two state probability values of the previous index, which is the previous operation order, are received as inputs, and a min * operation is used to update the forward state. Reverse status update is possible.
예컨대, 순방향 상태 확률 값 업데이트 과정에 대해 설명하면, 도 2에서 1st 상태 인덱스의 000 상태를 업데이트한다고 가정하면 0th 상태 인덱스의 000 상태(점선으로 표시)와 001 상태(실선으로 표시)를 입력으로 받게 된다. 이때,
Figure PCTKR2016008339-appb-I000027
는 0th 상태 인덱스와 1th 상태 인덱스간의 상태를 연결시켜주는 가지(branch) 확률 값을 나타낸다.
For example, referring to the process of updating the forward state probability value, assuming that the 000 state of the 1st state index is updated in FIG. 2, the 000 state of the 0th state index (indicated by a dotted line) and the 001 state (indicated by a solid line) are received as inputs. do. At this time,
Figure PCTKR2016008339-appb-I000027
Represents the branch probability value that links the state between the 0th state index and the 1th state index.
도 3은 터보 복호기에서 상태 확률값 업데이트 동작을 수행하는 모듈의 구성을 설명하기 위하여 도시한 도면이다. 3 is a diagram illustrating a configuration of a module that performs a state probability value update operation in a turbo decoder.
도 3(a)는 순방향 상태 확률 값 업데이트 모듈의 구성을 도시한 것으로, 가산 모듈(Adder module)은 오버 플로우를 방지하기 위하여 8비트 크기를 가지는 입력을 16비트로 변환하여 합산하고, 데이터 크기 변환 모듈(Data Size 16 to 8 module)은 16비트 크기의 합산 결과 값을 8비트 크기의 출력 값으로 변환하여 출력한다. FIG. 3 (a) shows the configuration of the forward state probability value updating module. The adder module converts and adds an 8-bit input into 16 bits to prevent overflow, and adds the data size conversion module. (Data Size 16 to 8 module) converts the 16-bit sum result into an 8-bit output value and outputs it.
보다 구체적으로는, 도 3(a)의 순방향 상태 확률 값 업데이트 모듈에서의 2개의 가산 모듈 각각은 채널 LLR 값(Channel LLR Value), 이전 상태 확률 값(Former State Values) 및 내부 정보(Intrinsic Information)를 입력으로 받아 16비트로 변환하여 상호간에 합산하고, 2개의 데이터 크기 변환 모듈 각각은 그 합산한 결과 값을 8비트로 변환하여 min* 연산을 수행하는 min* 모듈로 출력한다. More specifically, each of the two addition modules in the forward state probability value updating module of FIG. 3 (a) may be a channel LLR value, a former state probability value, and internal information. Is inputted, converted into 16 bits, and added to each other, and each of the two data size conversion modules converts the summed value to 8 bits and outputs to the min * module which performs min * operation.
min* 모듈은 2개의 데이터 크기 변환 모듈로부터 입력되는 2개의 합산 결과값을 입력으로 하여 룩업 테이블(LUT: Look Up Table)을 이용하여 min* 연산을 수행하는데, 클럭 홀드 모듈(Oneclock hold module)을 통해 min* 연산 결과인 현재 연산 순서의 순방향 상태 확률 값(current state value)을 한 클럭만큼 지연시킨 후 출력하게 된다. The min * module performs min * operation using a look up table (LUT) by inputting two sum result values input from two data size conversion modules. By delaying the current state value of the current operation sequence, which is the result of min *, by one clock, the output is delayed.
다만, 본 발명에서는 min* 모듈이 min* 연산을 수행할때 사용하는 룩업 테이블을 간소화된 룩업 테이블을 이용함으로써 순방향 상태 확률 값 업데이트 모듈의 연산량과 면적을 종래에 비해 줄일 수 있는데, 이에 대해서는 후술한다. However, the present invention can reduce the amount of computation and the area of the forward state probability value updating module by using a simplified lookup table that the min * module uses when performing a min * operation. .
또한, 도 3(b)의 역방향 상태 확률 값 업데이트 모듈에서의 2개의 가산 모듈 각각은 채널 LLR 값(Channel LLR Value), 다음 상태 확률 값(Next State Values) 및 내부 정보(Intrinsic Information)를 입력으로 받아 상호간에 합산하고, 2개의 데이터 크기 변환 모듈 각각은 그 합산한 결과 값을 8비트로 변환하여 min* 연산을 수행하는 min* 모듈로 출력한다. In addition, each of the two addition modules in the reverse state probability value update module of FIG. 3 (b) receives a channel LLR value, a next state probability value, and internal information as inputs. Each of the two data size conversion modules converts the sum result into 8 bits and outputs them to the min * module that performs the min * operation.
min* 모듈은 룩업 테이블을 이용하여 min* 연산을 수행하여 현재 연산 순서의 역방향 상태 확률 값을 산출하게 된다. 이때, 전술한 바와 같이 min* 모듈은 간소화된 룩업 테이블을 이용하여 min* 연산을 수행할 수 있다. The min * module performs a min * operation using the lookup table to calculate the reverse state probability value of the current operation order. In this case, as described above, the min * module may perform a min * operation using a simplified lookup table.
③ 외부정보 업데이트 과정③ Update process of external information
디코더(110, 120)는 순방향 상태 확률 값 및 역방향 상태 확률 값을 바탕으로 외부정보(Extrinsic Information)를 산출하게 된다. 외부정보는 입력 이진 비트열이 0인지, 1인지에 따라 확률적으로 연산하게 되며, 이때 앞서 언급한 min* 연산을 이용하게 된다. 이때, min* 연산은 디코더의 상태 메모리 개수를 n개라고 할 때 n번의 min*연산을 순차적으로, 트리구조로 수행하게 된다. The decoders 110 and 120 calculate extrinsic information based on the forward state probability value and the reverse state probability value. The external information is computed probabilistic depending on whether the input binary bit string is 0 or 1, and the min * operation mentioned above is used. In this case, when the number of state memories of the decoder is n, the min * operation is performed in a tree structure with n min * operations sequentially.
또한, 디코더(110, 120) 중 하나에서 산출된 외부정보는 인터리빙 또는 디인터리빙 과정을 거쳐 디코더(110, 120) 중 다른 하나에게 출력된다. In addition, the external information calculated by one of the decoders 110 and 120 is output to the other of the decoders 110 and 120 through an interleaving or deinterleaving process.
도 4는 터보 복호기에서 외부 정보 업데이트 동작을 수행하는 모듈의 구성을 설명하기 위하여 도시한 도면이다. 4 is a diagram illustrating a configuration of a module that performs an external information update operation in a turbo decoder.
도 4를 참조하면, 8개 비트에 대응되는 8개의 가산 모듈 및 데이터 크기 변환 모듈(Adder & Data size 16 to 8 module) 각각은 순방향 상태 확률 값(Alpha value), 역방향 상태 확률값(Beta values) 및 채널 LLR 값(Channel LLR Value)을 입력으로 받아 합산한 후, 트리 구조를 가지는 min* 모듈을 통해 외부 정보를 산출하게 된다. Referring to FIG. 4, each of eight adder modules and data size conversion modules (Adder & Data size 16 to 8 modules) corresponding to eight bits includes forward state probability values (Alpha values), reverse state probability values (Beta values), and the like. After receiving the channel LLR value as an input and summing, external information is calculated through a min * module having a tree structure.
④ 경판정(Hard Decision) 복원 과정④ Hard Decision Restoration Process
디코더(110, 120)는 반복적인 외부정보 연산 과정을 거친 후, 최종적으로 경판정 과정을 거치게 되며 이때 경판정 연산은 터보 복호기의 제1 외부정보와 제2 외부정보의 합으로 연산된다. 연산된 결과를 이진 비트열로 변형한 후 디코딩 프로세스를 종료한다. The decoders 110 and 120 undergo an iterative external information operation process, and finally undergo a hard decision process, wherein the hard decision operation is calculated as the sum of the first external information and the second external information of the turbo decoder. After transforming the result into a binary bit string, the decoding process is terminated.
도 5는 본 발명의 일 실시예에 따른 터보 복호기 및 LDPC 복호기를 위한 다중 복호 장치를 설명하기 위하여 도시한 도면이다. 5 is a diagram illustrating a multiple decoding apparatus for a turbo decoder and an LDPC decoder according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 일 실시예에 따른 다중 복호 장치는 복수의 단위 복호부(510, 520), 제1 인터리빙 제어부(532), 제2 인터리빙 제어부(534), 제1 디인터리빙 제어부(542) 및 제2 디인터리빙 제어부(544)를 포함한다. Referring to FIG. 5, a multiple decoding apparatus according to an embodiment of the present invention includes a plurality of unit decoding units 510 and 520, a first interleaving control unit 532, a second interleaving control unit 534, and a first deinterleaving control unit. 542 and a second deinterleaving controller 544.
복수의 단위 복호부(510, 520)는 상호간에 인접하여 배치되어 있는데, 전단의 단위 복호부(510)와 후단의 단위 복호부(520)로 구분될 수 있다. The plurality of unit decoding units 510 and 520 are disposed adjacent to each other, and may be divided into a unit decoding unit 510 at a front end and a unit decoding unit 520 at a rear end.
전단의 단위 복호부(510)는 제1 디코더(512), 제1 공통 연산부(513), 제1 비트 노드 연산부(514), 제2 디코더(516), 제2 공통 연산부(517) 및 제1 체크 노드 연산부(518)를 포함한다. The unit decoder 510 of the previous stage includes a first decoder 512, a first common calculator 513, a first bit node calculator 514, a second decoder 516, a second common calculator 517, and a first decoder. The check node calculator 518 is included.
제1 디코더(512) 및 제2 디코더(516)는 터보 복호화를 위한 연산을 수행한다. The first decoder 512 and the second decoder 516 perform an operation for turbo decoding.
제1 비트 노드 연산부(514)는 비트노드 업데이트 연산을 수행하고, 제1 체크 노드 연산부(518)는 체크 노드 업데이트 연산을 수행한다. The first bit node calculator 514 performs a bit node update operation, and the first check node calculator 518 performs a check node update operation.
이때, 제1 디코더(512)와 제1 비트 노드 연산부(514)는 상호간에 공통적인 연산을 수행하는 제1 공통 연산부(513)를 공유하는 구조를 가진다. In this case, the first decoder 512 and the first bit node calculator 514 share a structure in which the first common calculator 513 performs a common operation to each other.
또한, 제2 디코더(516)와 제1 체크 노드 연산부(518)는 상호간에 공통적인 연산을 수행하는 제2 공통 연산부(517)를 공유하는 구조를 가진다. In addition, the second decoder 516 and the first check node calculator 518 have a structure in which the second common calculator 517 sharing a common operation is shared.
이를 통해, 본 발명에서는 디코더들(512, 516)과 노드 연산부들(514, 518)이 공통 연산부를 별도로 구비하고 있을 경우에 비해 상대적으로 좁은 면적으로 터보 복호화와 LDPC 복호화를 모두 수행할 수 있게 된다. Accordingly, in the present invention, it is possible to perform both turbo decoding and LDPC decoding in a relatively narrow area compared to the case where the decoders 512 and 516 and the node calculators 514 and 518 have a common calculator separately. .
후단의 단위 복호부(520)는 제3 디코더(522), 제3 공통 연산부(523), 제2 비트 노드 연산부(524), 제4 디코더(526), 제4 공통 연산부(527) 및 제2 체크 노드 연산부(528)를 포함한다. The subsequent unit decoder 520 includes a third decoder 522, a third common calculator 523, a second bit node calculator 524, a fourth decoder 526, a fourth common calculator 527, and a second decoder. The check node calculator 528 is included.
제3 디코더(522) 및 제4 디코더(526)는 터보 복호화를 위한 연산을 수행한다. The third decoder 522 and the fourth decoder 526 perform an operation for turbo decoding.
제2 비트 노드 연산부(524)는 비트 노드 업데이트 연산을 수행하고, 제2 체크 노드 연산부(528)는 체크 노드 업데이트 연산을 수행한다. The second bit node calculator 524 performs a bit node update operation, and the second check node calculator 528 performs a check node update operation.
이때, 제3 디코더(522)와 제2 비트 노드 연산부(524)는 상호간에 공통적인 연산을 수행하는 제3 공통 연산부(523)를 공유하는 구조를 가진다. In this case, the third decoder 522 and the second bit node calculator 524 share a structure in which the third common calculator 523 performs a common operation.
또한, 제4 디코더(526)와 제2 체크 노드 연산부(528)는 상호간에 공통적인 연산을 수행하는 제4 공통 연산부(517)를 공유하는 구조를 가진다.In addition, the fourth decoder 526 and the second check node calculator 528 have a structure in which the fourth common calculator 517 performs a common operation to each other.
바람직하게는, 본 발명의 일 실시예에 따른 제3 공통 연산부(523) 및 제4 공통 연산부(517)는 min* 연산을 수행하는 min* 연산부일 수 있다. Preferably, the third common operation unit 523 and the fourth common operation unit 517 according to an embodiment of the present invention may be a min * operation unit that performs a min * operation.
제1 인터리빙 제어부(532)는 터보 복호화 및 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호에 기초하여 전단의 단위 복호부(510)의 제1 디코더(512)의 출력 값을 인터리빙하여 후단의 단위 복호부(520)의 제4 디코더(526)에게 선택적으로 출력한다. 보다 구체적으로는, 모드 선택 신호가 터보 복호화를 선택하기 위한 신호인 경우에는 제1 인터리빙 제어부(532)가 제1 디코더(512)의 출력 값을 인터리빙하여 제4 디코더(526)에게 출력하고, 모드 선택 신호가 LDPC 복호화를 선택하기 위한 신호인 경우에는 제1 디코더(512)의 출력 값에 대한 인터리빙 동작 및 제1 디코더(512)의 출력 값을 제4 디코더(526)에게 출력하는 동작을 수행하지 않는다. The first interleaving control unit 532 interleaves the output value of the first decoder 512 of the previous unit decoding unit 510 based on the mode selection signal for selecting one of the turbo decoding and the LDPC decoding, and then decodes the unit decoding at the subsequent stage. And selectively output to the fourth decoder 526 of the unit 520. More specifically, when the mode selection signal is a signal for selecting turbo decoding, the first interleaving control unit 532 interleaves the output value of the first decoder 512 to output to the fourth decoder 526, and the mode If the selection signal is a signal for selecting LDPC decoding, the interleaving operation on the output value of the first decoder 512 and the output value of the output value of the first decoder 512 to the fourth decoder 526 are not performed. Do not.
다만, 본 발명에서는 제1 디코더(512)가 제4 디코더(526)와 연결되지만, 다른 실시예에서는 제1 디코더(512)가 제3 디코더(522)와 연결될 수 있다. However, in the present invention, the first decoder 512 is connected to the fourth decoder 526, but in another embodiment, the first decoder 512 may be connected to the third decoder 522.
바람직하게는, 본 발명의 일 실시예에 따른 다중 복호 장치는 터보 복호화 및 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호를 수신하는 모드 선택부(미도시)를 더 포함할 수 있다. 이때, 모드 선택 신호는 사용자에 의하여 결정되거나, 소정의 기준(다중 복호 장치에 입력되는 입력 값이 터보 부호화된 입력 값인지 LDPC 부호화된 입력 값인지 등)에 따라 결정될 수 있다. Preferably, the multiplexing device according to an embodiment of the present invention may further include a mode selection unit (not shown) for receiving a mode selection signal for selecting one of turbo decoding and LDPC decoding. In this case, the mode selection signal may be determined by the user, or may be determined according to a predetermined criterion (whether the input value input to the multiple decoding apparatus is a turbo-coded or LDPC-coded input value, etc.).
제2 인터리빙 제어부(534)는 터보 복호화 및 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호에 기초하여 전단의 단위 복호부(510)의 제2 디코더(516)의 출력 값을 인터리빙하여 후단의 단위 복호부(520)의 제3 디코더(522)에게 선택적으로 출력한다. The second interleaving control unit 534 interleaves the output value of the second decoder 516 of the unit decoding unit 510 in the preceding unit based on the mode selection signal for selecting one of the turbo decoding and the LDPC decoding, and then decodes the unit decoding in the latter stage. It selectively outputs to the third decoder 522 of the unit 520.
제1 디인터리빙 제어부(542)는 터보 복호화 및 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호에 기초하여 후단의 단위 복호부(520)의 제4 디코더(526)의 출력 값을 디인터리빙하여 전단의 단위 복호부(510)의 제1 디코더(512)에게 선택적으로 출력한다.The first deinterleaving controller 542 deinterleaves the output value of the fourth decoder 526 of the unit decoder 520 of the latter stage based on the mode selection signal for selecting one of turbo decoding and LDPC decoding. The first decoder 512 of the unit decoder 510 is selectively output.
제2 디인터리빙 제어부(544)는 터보 복호화 및 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호에 기초하여 후단의 단위 복호부(520)의 제3 디코더(522)의 출력 값을 디인터리빙하여 전단의 단위 복호부(510)의 제2 디코더(516)에게 선택적으로 출력한다.The second deinterleaving control unit 544 deinterleaves the output value of the third decoder 522 of the unit decoding unit 520 of the latter stage based on the mode selection signal for selecting one of the turbo decoding and the LDPC decoding. The second decoder 516 of the unit decoder 510 is selectively output.
이와 같이, 본 발명의 일 실시예에 따르면 제1 및 제2 인터리빙 제어부(532, 534) 및 제1 및 제2 디인터리빙 제어부(542, 544)의 동작에 따라 본 발명의 일 실시예에 따른 다중 복호 장치는 터보 복호기 또는 LDPC 복호기로 동작하게 된다. As described above, according to an embodiment of the present invention, according to the operation of the first and second interleaving controllers 532 and 534 and the first and second deinterleaving controllers 542 and 544, The decoding device operates as a turbo decoder or an LDPC decoder.
한편, 도 5에서는 설명의 편의를 위하여, 단위 복호부(510, 520) 각각에 포함된 체크 노드 연산부(514, 524) 및 비트 노드 연산부(518, 528)를 한개씩만 도시 했으나, 단위 복호부(510, 520) 각각에 복수의 체크 노드 연산부 및 비트 노드 연산부가 더 포함될 수 있고 상호간에 연결될 수 있으며, 체크 노드 연산부와 비트 노드 연산부 사이에는 열 단위로 인터리빙을 수행하는 열 인터리버(미도시) 및 행 단위로 인터리빙을 수행하는 행 인터리버(미도시)가 더 연결될 수 있다. 또한, 단위 복호부(510, 520) 각각에는 복수의 디코더가 더 포함될 수 있다. 5, only one check node calculator 514 and 524 and one bit node calculator 518 and 528 included in each of the unit decoders 510 and 520 are illustrated for convenience of description. Each of the 510 and 520 may further include a plurality of check node calculators and a bit node calculator, and may be connected to each other. A column interleaver (not shown) and a row interleaving between the check node calculator and the bit node calculator may be performed in units of columns. A row interleaver (not shown) that performs interleaving on a unit basis may be further connected. In addition, each of the unit decoders 510 and 520 may further include a plurality of decoders.
도 6a는 본 발명의 다른 실시예에 따른 다중 복호 장치가 LPDC 복호기로 동작하는 경우에 대해 설명하기 위하여 도시한 도면이다. FIG. 6A is a diagram illustrating a case in which a multiple decoding apparatus according to another embodiment of the present invention operates as an LPDC decoder.
이하에서는, 도 5와 동일한 구성 요소에 대해서는 설명을 생략하고 차이점이 있는 구성 요소에 대해서만 설명한다. In the following description, the same components as those in FIG. 5 will be omitted, and only the components having differences will be described.
도 5의 제1 인터리빙 제어부(532)는 도 6a에서 제1 인터리버(532a)와 제1 인터리버 스위치(S1)로 구성되고, 도 5의 제2 인터리빙 제어부(534)는 도 6a에서 제2 인터리버(534a)와 제2 인터리버 스위치(S2)로 구성되고, 도 5의 제1 디인터리빙 제어부(542)는 도 6a에서 제1 디인터리버(542a)와 제1 디인터리버 스위치(S3)로 구성되고, 제2 디인터리빙 제어부(544)는 제2 디인터리버(544a)와 제2 디인터리버 스위치(S4)로 구성된다. 이때, 스위치들은 모드 선택 신호에 따라 ON 또는 OFF되도록 구성된다. The first interleaving control unit 532 of FIG. 5 is composed of a first interleaver 532a and a first interleaver switch S1 in FIG. 6A, and the second interleaving control unit 534 of FIG. 5 is a second interleaver (FIG. 6A). 534a and the second interleaver switch S2, and the first deinterleaver controller 542 of FIG. 5 includes the first deinterleaver 542a and the first deinterleaver switch S3 in FIG. 6A. The second deinterleaving control unit 544 includes a second deinterleaver 544a and a second deinterleaver switch S4. At this time, the switches are configured to be ON or OFF according to the mode selection signal.
도 6a은 LDPC 복호화를 선택하기 위한 신호 모드 선택 신호가 수신됨에 따라, 제1 인터리버 스위치(S1), 제2 인터리버 스위치(S2), 제1 디인터리버 스위치(S3) 및 제2 디인터리버 스위치(S4)가 OFF된 상태를 도시하고 있다. FIG. 6A illustrates a first interleaver switch S1, a second interleaver switch S2, a first deinterleaver switch S3, and a second deinterleaver switch S4 as a signal mode selection signal for selecting LDPC decoding is received. ) Is turned off.
또한, 제1 비트 노드 연산부(514)와 제1 체크 노드 연산부(518) 사이에는 제1 비트 노드 연산부(514)의 출력 값을 열(row) 단위로 인터리빙하는 제1 열 인터리버(515)와 제1 열 인터리버 스위치(S5)가 연결되고, 이와 병렬로 제1 체크 노드 연산부(518)의 출력 값을 행(column) 단위로 인터리빙하는 제1 행 인터리버(519)와 제1 행 인터리버 스위치(S6)가 연결된다. In addition, between the first bit node calculator 514 and the first check node calculator 518, the first column interleaver 515 and the first column interleaver 515 for interleaving an output value of the first bit node calculator 514 in rows may be provided. The first row interleaver switch S5 is connected, and the first row interleaver 519 and the first row interleaver switch S6 interleaving the output values of the first check node calculator 518 in units of columns in parallel thereto. Is connected.
또한, 제2 비트 노드 연산부(524)와 제2 체크 노드 연산부(528) 사이에는 제2 비트 노드 연산부(524)의 출력 값을 열(row) 단위로 인터리빙하는 제2 열 인터리버(525)와 제2 열 인터리버 스위치(S7)가 연결되고, 이와 병렬로 제2 체크 노드 연산부(528)의 출력 값을 행(column) 단위로 인터리빙하는 제2 행 인터리버(529)와 제2 행 인터리버 스위치(S8)가 연결된다. In addition, between the second bit node calculator 524 and the second check node calculator 528, the second column interleaver 525 and the second column interleaver 525 for interleaving the output value of the second bit node calculator 524 in units of rows are provided. The second row interleaver switch S7 is connected, and the second row interleaver 529 and the second row interleaver switch S8 interleaving the output values of the second check node operation unit 528 in units of columns in parallel thereto. Is connected.
도 6a는 LDPC 복호화를 선택하기 위한 신호 모드 선택 신호가 수신됨에 따라 제1 열 인터리버 스위치(S5), 제1 행 인터리버 스위치(S6), 제2 열 인터리버 스위치(S7) 및 제2 행 인터리버 스위치(S8)가 ON된 상태를 도시하고 있다. 6A illustrates a first column interleaver switch S5, a first row interleaver switch S6, a second column interleaver switch S7, and a second row interleaver switch as a signal mode selection signal for selecting LDPC decoding is received. The state where S8) is turned on is shown.
이와 같은 스위치들(S1 내지 S8)의 동작에 따라, 제1 비트 노드 연산부(514)와 제1 체크 노드 연산부(518)가 하나의 LDPC 복호기로서 동작하게 되고, 제2 비트 노드 연산부(524)와 제2 체크 노드 연산부(528)가 또 하나의 LDPC 복호기로서 동작하게 된다. According to the operations of the switches S1 to S8, the first bit node calculator 514 and the first check node calculator 518 operate as one LDPC decoder, and the second bit node calculator 524 The second check node calculator 528 operates as another LDPC decoder.
한편, LDPC 복호화의 과정을 구체적으로 설명하면 다음과 같다. Meanwhile, the process of LDPC decoding will be described in detail.
① 초기화 과정① Initialization process
비트 노드 연산부(518, 528)는 수학식 5에 따라 초기화를 수행한다. The bit node calculators 518 and 528 perform initialization according to equation (5).
[수학식 5][Equation 5]
Figure PCTKR2016008339-appb-I000028
Figure PCTKR2016008339-appb-I000028
여기서,
Figure PCTKR2016008339-appb-I000029
는 비트 노드 n으로부터 인접한 체크 노드 ki로 전송되는 비트-체크 메시지를 의미하고, un은 인코딩 심벌 사이즈 N인 n번째 비트의 LLR(log-) 값을 의미한다.
here,
Figure PCTKR2016008339-appb-I000029
Denotes a bit-check message transmitted from a bit node n to an adjacent check node k i , and u n denotes an LLR (log-) value of the nth bit having an encoding symbol size N.
② 체크 노드 업데이트 과정② Check Node Update Process
체크 노드 연산부(514, 524)는 수학식 6 및 수학식 7에 따라 체크 노드 k에 대한 체크 노드 업데이트를 수행한다. The check node calculators 514 and 524 perform a check node update on the check node k according to equations (6) and (7).
[수학식 6][Equation 6]
Figure PCTKR2016008339-appb-I000030
Figure PCTKR2016008339-appb-I000030
이때,
Figure PCTKR2016008339-appb-I000031
는 dc개의 인접한 비트 노드에서 체크 노드 k로 전송하는 비트-체크 메시지이다. 또한,
Figure PCTKR2016008339-appb-I000032
는 체크 노드 k에서 개의 인접한 비트 노드로 전송하는 체크-비트 메시지이다.
At this time,
Figure PCTKR2016008339-appb-I000031
Is a bit-check message sent from d c adjacent bit nodes to check node k. Also,
Figure PCTKR2016008339-appb-I000032
Is a check-bit message sent from check node k to the n adjacent bit nodes.
한편, g()함수는 본 발명의 일실시예에 따른 공통 연산기인 min* 연산기를 이용한 연산이 필요한 min*-sum 알고리즘으로 수학식 7과 같이 정의될 수 있다. Meanwhile, the g () function may be defined as Equation 7 as a min * -sum algorithm requiring an operation using a min * operator, which is a common operator according to an embodiment of the present invention.
[수학식 7][Equation 7]
Figure PCTKR2016008339-appb-I000033
Figure PCTKR2016008339-appb-I000033
여기서, a, b 각각이 상기 비트- 체크 메시지 중에서 선택된 2개의 입력 값을 나타낼 때, 본 발명의 일 실시예에 따르면 수학식 7의 두 번째 항인
Figure PCTKR2016008339-appb-I000034
는 min(a, b) 및
Figure PCTKR2016008339-appb-I000035
를 입력받아 출력 값을 산출하도록 구성된 간소화된 룩업테이블(LUT)을 이용하여 산출될 수 있다.
Here, when a and b each represent two input values selected from the bit-check message, according to an embodiment of the present invention,
Figure PCTKR2016008339-appb-I000034
Is min (a, b) and
Figure PCTKR2016008339-appb-I000035
It may be calculated using a simplified look-up table (LUT) configured to receive and calculate an output value.
종래에는 a, b 각각을 입력받아 출력 값을 산출하도록 구성된 룩업테이블(LUT)을 사용하였기 때문에 해당 룩업테이블(LUT)의 크기가 a(bit) X b(bit)로 큰 크기를 가졌는데, 본 발명의 일 실시예에서는 min(a, b) 및
Figure PCTKR2016008339-appb-I000036
를 입력받아 출력 값을 산출하도록 구성된 룩업테이블을 사용함으로써 룩업 테이블의 크기를 크게 줄일 수 있다. 또한, min(a, b)는 g()함수의 첫번째 항에도 포함되어 있어, 두번째 항을 계산할는 경우에 별도로 연산할 필요 없이 첫번째 항의 연산 결과를 그대로 활용할 수 있다는 장점도 있다.
In the related art, since a lookup table (LUT) configured to receive inputs a and b and calculate output values is used, the size of the lookup table (LUT) has a large size of a (bit) X b (bit). In one embodiment of the invention, min (a, b) and
Figure PCTKR2016008339-appb-I000036
The size of the lookup table can be greatly reduced by using a lookup table configured to receive an input and calculate an output value. In addition, min (a, b) is also included in the first term of the g () function, there is an advantage that the calculation result of the first term can be used as it is without a separate operation when calculating the second term.
③ 비트노드 업데이트 과정③ Bitnode update process
비트 노드 연산부(518, 528)는 수학식 8에 따라 비트 노드 n에서의 비트 노드 업데이트를 수행한다. The bit node calculators 518 and 528 perform bit node update at the bit node n according to Equation (8).
[수학식 8][Equation 8]
Figure PCTKR2016008339-appb-I000037
Figure PCTKR2016008339-appb-I000037
이때, un은 인코딩 심벌 사이즈 N인 n번째 비트의 채널 LLR(log-) 값이고,
Figure PCTKR2016008339-appb-I000038
는 dv개의 인접한 체크 노드에서 비트 노드에게 전송하는 체크-비트 메시지이고,
Figure PCTKR2016008339-appb-I000039
는 비트 노드 n에서 dv개의 인접한 체크 노드에게 전송하는 비트-체크 메시지이다.
Where u n is the channel LLR (log-) value of the nth bit with encoding symbol size N,
Figure PCTKR2016008339-appb-I000038
Is a check-bit message sent from the d v adjacent check nodes to the bit node,
Figure PCTKR2016008339-appb-I000039
Is a bit-check message sent from bit node n to d v adjacent check nodes.
④ 경판정(Hard Decision) 복원④ Hard decision restoration
체크 노드 연산부(514, 524)는 모든 패리티 체크 방정식(parity check equation)이 경판정(hard decision)을 만족할 경우, 유효 코드워드(valid codeword)가 복원된 것으로 보고, 복호화 프로세스를 종료한다.When all parity check equations satisfy a hard decision, the check node calculators 514 and 524 consider that a valid codeword is restored and terminate the decoding process.
도 6b는 본 발명의 다른 실시예에 따른 다중 복호 장치가 터보 복호기로 동작하는 경우에 대해 설명하기 위하여 도시한 도면이다. FIG. 6B is a diagram illustrating a case where a multiple decoding apparatus according to another embodiment of the present invention operates as a turbo decoder.
도 6b는 도 6a와 구성 요소는 동일하고, 스위치들(S1 내지 S8)의 동작만 차이가 있으므로 스위치들의 동작에 대해서만 설명한다. 6B has the same components as FIG. 6A, and only the operations of the switches S1 to S8 are different, and thus only the operations of the switches will be described.
도 6b에서는 터보 복호화를 선택하기 위한 신호 모드 선택 신호가 수신됨에 따라 제1 인터리버 스위치(S1), 제2 인터리버 스위치(S2), 제1 디인터리버 스위치(S3) 및 제2 디인터리버 스위치(S4)가 ON이 된다. In FIG. 6B, when a signal mode selection signal for selecting turbo decoding is received, a first interleaver switch S1, a second interleaver switch S2, a first deinterleaver switch S3, and a second deinterleaver switch S4. Is turned ON.
또한, 터보 복호화를 선택하기 위한 신호 모드 선택 신호가 수신됨에 따라 제1 열 인터리버 스위치(S5), 제1 행 인터리버 스위치(S6), 제2 열 인터리버 스위치(S7) 및 제2 행 인터리버 스위치(S8)가 OFF 된다. In addition, when a signal mode selection signal for selecting turbo decoding is received, a first column interleaver switch S5, a first row interleaver switch S6, a second column interleaver switch S7, and a second row interleaver switch S8. ) Is turned off.
이와 같은 스위치들(S1 내지 S8)의 동작에 따라 도 6b의 다중 복호 장치는 터보 복호기로써 동작을 할 수 있게 된다. According to the operations of the switches S1 to S8, the multiple decoding apparatus of FIG. 6B can operate as a turbo decoder.
즉, 도 6b에서는 제1 디코더(512)에서 출력된 출력값을 제1 인터리버(532a)가 인터리빙하여 제4 디코더(526)에게 출력하고, 제4 디코더(526)에서 출력된 출력값을 제1 디인터리버(542a)가 디인터리빙하여 제1 디코더(512)에게 출력하고, 제2 디코더(516)에서 출력된 출력값을 제2 인터리버(534a)가 인터리빙하여 제3 디코더(522)에게 출력하고, 제3 디코더(522)에서 출력된 출력값을 제2 디인터리버(544a)가 디인터리빙하여 제2 디코더(516)에게 출력한다. That is, in FIG. 6B, the first interleaver 532a interleaves the output value output from the first decoder 512 and outputs the output value to the fourth decoder 526, and outputs the output value output from the fourth decoder 526 to the first deinterleaver. Deinterleaving 542a outputs the first decoder 512 to the first decoder 512, and the second interleaver 534a interleaves the output value output from the second decoder 516 to the third decoder 522. The second deinterleaver 544a deinterleaves the output value output from 522 to the second decoder 516.
다만, 도 6a에서는 설명의 편의를 위하여 생략되었지만, 도 1에서와 같이 입력 인터리버(150)가 제 3 디코더(522) 및 제4 디코더(526) 각각에 연결되고, 제1 패리티 정보인 p1, 제2 패리티 정보인 p2 및 부호화되지 않은 원본 메시지인 sys가 입력 인터리버(150)를 거친 출력 값 등이 터보 복호기의 입력으로서 주어진다고 가정한다. 이 경우에도, 입력 인터리버(150)는 모드 선택 신호가 터보 복호화를 선택하는 신호인 경우에 한하여 제 3 디코더(522) 및 제4 디코더(526) 각각에 연결되도록 구성될 수 있다. 6A, the input interleaver 150 is connected to each of the third decoder 522 and the fourth decoder 526, and as shown in FIG. 1, the first parity information p1 and the first parity information are shown in FIG. 6A. It is assumed that p2, which is two parity information, and sys, which is an unencoded original message, are given as an input value of a turbo decoder through an input interleaver 150 and the like. Even in this case, the input interleaver 150 may be configured to be connected to each of the third decoder 522 and the fourth decoder 526 only when the mode selection signal is a signal for selecting turbo decoding.
한편, 도 1에서 설명한 바와 같이 터보 복호화 과정에서 수학식 4와 같은 min* 연산이 필요한데, 본 발명의 일 실시예에 따르면 수학식 4의 두 번째 항인
Figure PCTKR2016008339-appb-I000040
Figure PCTKR2016008339-appb-I000041
를 입력받아 출력 값을 산출하도록 구성된 간소화된 룩업테이블(LUT)을 이용하여 산출할 수 있고, 이에 따르면 터보 복호화 과정에서의 연산량을 줄일 수 있고, 룩업테이블의 크기도 줄일 수 있게 되는 장점이 있다.
Meanwhile, as described with reference to FIG. 1, a min * operation as shown in Equation 4 is required in the turbo decoding process. According to an embodiment of the present invention, the second term of Equation 4 is used.
Figure PCTKR2016008339-appb-I000040
Is
Figure PCTKR2016008339-appb-I000041
It can be calculated using a simplified lookup table (LUT) configured to receive an output value and calculate an output value, thereby reducing the amount of computation in the turbo decoding process and reducing the size of the lookup table.
또한, 도 6a 및 도 6b에서는 모두 min* 연산을 필수적으로 수행하여야 하는데, 본 발명에서는 도 5 및 도 6에 도시된 바와 같이 공통적인 연산인 min* 연산을 수행하는 공통 연산부를 디코더들(512, 516, 522, 526)과 노드 연산부들(514, 518, 524, 528)이 공유함으로써 다중 복호 장치의 크기(면적)를 보다 줄일 수 있게 되는 효과가 있다. 6A and 6B, the min * operation is essentially performed in the present invention. In the present invention, as shown in FIGS. 5 and 6, the common operation unit performing the min * operation, which is a common operation, is provided by the decoders 512. By sharing between 516, 522, and 526 and the node calculators 514, 518, 524, and 528, the size (area) of the multiple decoding apparatus can be further reduced.
한편, 본 발명에서는 모드 선택 신호에 기초하여 스위치들을 동작하여 다중 복호 장치를 터보 복호기 또는 LDPC 복호기로서 동작시켰으나, 다른 실시예에서는 출력 값들의 분기 제어를 통해 동일한 동작을 구현할 수도 있다. Meanwhile, in the present invention, the multiple decoding apparatus is operated as a turbo decoder or an LDPC decoder by operating switches based on a mode selection signal. However, in another embodiment, the same operation may be implemented through branch control of output values.
예컨대, 제1 및 제2 인터리버(532a, 534a), 제1 및 제2 디인터리버(542a , 544a), 제1 및 제2 열 인터리버(515, 525), 제1 및 제2 행 인터리버(519, 529)는 모드 선택 신호에 무관하게 다중 복호 장치에 연결된 상태로 유지되고, 모드 선택 신호에 따라 출력 값을 인터리빙 또는 디인터리빙 필요가 있을 경우에 한하여 제1 및 제2 인터리버(532a, 534a), 제1 및 제2 디인터리버(542a , 544a), 제1 및 제2 열 인터리버(515, 525), 제1 및 제2 행 인터리버(519, 529) 등으로 출력 값이 분기하여 출력되도록 제어함으로써, 동일한 목적을 달성할 수도 있다. For example, first and second interleavers 532a and 534a, first and second deinterleavers 542a and 544a, first and second column interleavers 515 and 525, and first and second row interleavers 519, 529 is connected to the multiple decoding device irrespective of the mode selection signal, and the first and second interleavers 532a and 534a, the first and second interleavers 532a and 534a only when the output value needs to be interleaved or deinterleaved according to the mode selection signal. By controlling the output values to be branched and output to the first and second deinterleavers 542a and 544a, the first and second column interleavers 515 and 525, the first and second row interleavers 519 and 529, and the like, You can also achieve your purpose.
도 7은 본 발명의 일 실시예에 따른 터보 복호기 및 LDPC 복호기를 위한 다중 복호 방법을 설명하기 위하여 도시한 도면이다. 7 is a diagram illustrating a multiple decoding method for a turbo decoder and an LDPC decoder according to an embodiment of the present invention.
단계 710에서는, 모드 선택부가 터보 복호화 및 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호를 수신한다. In operation 710, the mode selector receives a mode selection signal for selecting one of turbo decoding and LDPC decoding.
단계 720에서는, 모드 선택 신호에 기초하여, 인터리빙 제어부가 전단 터보 복호부의 복수의 디코더 중 하나의 출력값을 인터리빙하여 후단 터보 복호부의 복수의 디코더 중 하나로 선택적으로 출력한다. In operation 720, based on the mode selection signal, the interleaving control unit interleaves an output value of one of the plurality of decoders of the front turbo decoding unit and selectively outputs one of the plurality of decoders of the rear turbo decoding unit.
단계 730에서는, 모드 선택 신호에 기초하여, 디인터리빙 제어부가 후단 터보 복호부의 복수의 디코더 중 하나의 출력값을 디인터리빙하여 전단 터보 복호부의 복수의 디코더 중 하나에게 선택적으로 출력한다. In operation 730, the deinterleaving control unit deinterleaves an output value of one of the plurality of decoders of the rear turbo decoder based on the mode selection signal and selectively outputs the output value to one of the plurality of decoders of the front turbo decoder.
이때, 인터리빙 제어부가 전단 터보 복호부의 복수의 디코더 중 하나의 출력값을 인터리빙하여 후단 터보 복호부의 복수의 디코더 중 하나로 출력하고, 디인터리빙 제어부가 후단 터보 복호부의 복수의 디코더 중 하나의 출력값을 디인터리빙하여 전단 터보 복호부의 복수의 디코더 중 하나에게 출력하게 되면, 터보 복호기로서 동작하는 것이다. At this time, the interleaving control unit interleaves an output value of one of the plurality of decoders of the front turbo decoding unit and outputs it to one of the plurality of decoders of the rear turbo decoding unit, and the deinterleaving control unit deinterleaves the output value of one of the plurality of decoders of the rear turbo decoding unit. When outputting to one of the plurality of decoders of the front end turbo decoder, it operates as a turbo decoder.
도 8은 종래의 터보 복호기 및 LDPC 복호기와 본 발명에 따른 다중 복호기의 면적을 비교하기 위하여 도시한 도면이다. 8 is a diagram for comparing the area of a conventional turbo decoder and LDPC decoder with a multiple decoder according to the present invention.
도 8을 참조하면, 종래의 터보 복호기, 종래의 LDPC 복호기, 종래의 터보 복호기와 종래의 LDPC 복호기를 단순 결합한 경우, 본 발명에 따른 다중 복호 장치 각각에 대해 복호 장치 내의 연산 모듈 면적 및 복호 장치의 면적을 비교한 것이다. Referring to FIG. 8, in the case where a conventional turbo decoder, a conventional LDPC decoder, a conventional turbo decoder, and a conventional LDPC decoder are simply combined, each of the multiple decoding apparatuses according to the present invention includes the area of the arithmetic module area and the decoding apparatus in the decoding apparatus. The area is compared.
도 8에 따르면, 복호 장치 내의 연산 모듈 면적 및 복호 장치의 면적 모두에서 본 발명에 따른 다중 복호 장치의 면적이 종래의 터보 복호기와 종래의 LDPC 복호기보다는 다소 크지만, 종래의 터보 복호기와 종래의 LDPC 복호기를 단순 결합한 경우에 비해서는 본 발명에 따른 다중 복호 장치의 면적이 23~24% 가량 작으므로, 다중 복호가 필요한 경우에는 본 발명에 따른 다중 복호 장치가 종래에 비해 보다 작은 면적으로 구현될 수 있음을 알 수 있다. According to Fig. 8, the area of the multiple decoding device according to the present invention is slightly larger than that of the conventional turbo decoder and the conventional LDPC decoder in both the area of the calculation module and the area of the decoding device in the decoding device, but the conventional turbo decoder and the conventional LDPC Compared to a simple combination of the decoder, since the area of the multiple decoding apparatus according to the present invention is about 23 to 24% smaller, when the multiple decoding is required, the multiple decoding apparatus according to the present invention can be implemented in a smaller area than in the related art. It can be seen that.
지금까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been described with reference to the preferred embodiments. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

Claims (10)

  1. 저밀도 패리티 검사(LDPC) 복호화를 위한 복수의 체크 노드 연산부, 복수의 비트 노드 연산부 및 상기 노드 연산부들 각각과 공통적인 연산을 수행하는 공통 연산부를 공유하도록 구성된 터보 복호화를 위한 복수의 디코더를 포함하는 복수의 단위 복호부;A plurality of decoders for turbo decoding configured to share a plurality of check node calculators for low density parity check (LDPC) decoding, a plurality of bit node calculators, and a common calculator for performing common operations with each of the node calculators A unit decoder of;
    상기 터보 복호화 및 상기 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호를 수신하는 모드 선택부;A mode selection unit which receives a mode selection signal for selecting one of the turbo decoding and the LDPC decoding;
    상기 모드 선택 신호에 기초하여, 상호간에 인접한 상기 복수의 단위 복호부에서의 전단의 단위 복호부의 복수의 디코더 중 하나의 출력값을 인터리빙하여 후단의 단위 복호부의 복수의 디코더 중 하나에게 선택적으로 출력하기 위한 복수의 인터리빙 제어부; 및Based on the mode selection signal, for interleaving an output value of one of a plurality of decoders of a unit decoder of a preceding unit in the plurality of unit decoders adjacent to each other and selectively outputting to one of a plurality of decoders of a unit decoder of a subsequent unit A plurality of interleaving control units; And
    상기 모드 선택 신호에 기초하여, 상기 후단의 단위 복호부의 복수의 디코더 중 하나의 출력값을 디인터리빙하여 전단 터보 복호부의 복수의 디코더 중 하나에게 선택적으로 출력하기 위한 복수의 디인터리빙 제어부를 포함하는 것을 특징으로 하는 다중 복호 장치.And a plurality of deinterleaving controllers for deinterleaving an output value of one of the plurality of decoders of the unit decoder of the rear stage based on the mode selection signal and selectively outputting one of the plurality of decoders of the front end turbo decoder. Decoding device made with.
  2. 제1항에 있어서, The method of claim 1,
    상기 인터리빙 제어부는 The interleaving control unit
    상기 인터리빙을 수행하는 인터리버; 및 An interleaver for performing the interleaving; And
    상기 모드 선택 신호에 따라 ON 또는 OFF되는 인터리버 스위치를 포함하고, An interleaver switch turned on or off in response to the mode selection signal,
    상기 디인터리빙 제어부는 The deinterleaving controller
    상기 디인터리빙을 수행하는 디인터리버; 및 A deinterleaver for performing the deinterleaving; And
    상기 모드 선택 신호에 따라 ON 또는 OFF되는 디인터리버 스위치를 포함하는 것을 특징으로 하는 다중 복호 장치.And a deinterleaver switch switched on or off in response to the mode selection signal.
  3. 제2항에 있어서, The method of claim 2,
    상기 LDPC 복호부는 The LDPC decoder is
    상기 모드 선택 신호에 따라, 상기 비트 노드 연산부의 출력 값을 열(row) 단위로 인터리빙하여 상기 체크 노드 연산부로 선택적으로 출력하는 열 인터리빙 제어부; 및A column interleaving controller for interleaving an output value of the bit node calculator in units of rows according to the mode selection signal and selectively outputting the interleaved output to the check node calculator; And
    상기 모드 선택 신호에 따라, 상기 체크 노드 연산부의 출력 값을 행(column) 단위로 인터리빙하여 상기 비트 노드 연산부로 선택적으로 출력하는 행 인터리빙 제어부를 더 포함하는 것을 특징으로 하는 다중 복호 장치.And a row interleaving controller for interleaving an output value of the check node calculator in a column unit according to the mode selection signal and selectively outputting the interleaved output to the bit node calculator.
  4. 제3항에 있어서, The method of claim 3,
    상기 열 인터리빙 제어부는The thermal interleaving control unit
    상기 열 단위로 인터리빙을 수행하는 열 인터리버; 및 A column interleaver for performing interleaving on a column basis; And
    상기 모드 선택 신호에 따라 ON 또는 OFF되는 열 인터리버 스위치를 포함하고, A thermal interleaver switch turned on or off in response to the mode selection signal,
    상기 행 인터리빙 제어부는The row interleaving control unit
    상기 행 단위로 인터리빙을 수행하는 행 인터리버; 및 A row interleaver for performing interleaving on a row basis; And
    상기 모드 선택 신호에 따라 ON 또는 OFF되는 행 인터리버 스위치를 포함하는 것을 특징으로 하는 다중 복호 장치.And a row interleaver switch which is turned on or off according to the mode selection signal.
  5. 제4항에 있어서, The method of claim 4, wherein
    상기 모드 선택 신호가 상기 터보 복호화를 선택하기 위한 신호인 경우에는, If the mode selection signal is a signal for selecting the turbo decoding,
    상기 인터리빙 제어부의 상기 인터리버 스위치 및 상기 디인터리빙 제어부의 상기 디인터리버 스위치는 ON되고, 상기 열인터리빙 제어부의 상기 열 인터리버 스위치 및 상기 행 인터리빙 제어부의 상기 행 인터리버 스위치는 OFF되고, The interleaver switch of the interleaving controller and the deinterleaver switch of the deinterleaving controller are turned on, the column interleaver switch of the column interleaving controller and the row interleaver switch of the row interleaving controller are turned off,
    상기 모드 선택 신호가 상기 LDPC 복호화를 선택하기 위한 신호인 경우에는 상기 스위치들은 반대로 동작하는 것을 특징으로 하는 다중 복호 장치.And if the mode selection signal is a signal for selecting the LDPC decoding, the switches operate in reverse.
  6. 제5항에 있어서, The method of claim 5,
    상기 공통 연산부는 The common operation unit
    min* 연산을 수행하는 연산부인 것을 특징으로 하는 다중 복호 장치.and a computing unit for performing a min * operation.
  7. 제1항에 있어서, The method of claim 1,
    상기 모드 선택 신호가 상기 터보 복호화를 선택하기 위한 신호인 경우에는, If the mode selection signal is a signal for selecting the turbo decoding,
    상기 터보 복호화를 위하여 상기 인터리빙 제어부 및 상기 디인터리빙 제어부가 상기 전단 터보 복호부의 복수의 디코더 중 하나와 상기 후단 터보 복호부의 복수의 디코더 중 하나 사이에 병렬로 연결되고, The interleaving controller and the deinterleaving controller are connected in parallel between one of a plurality of decoders of the front turbo decoder and one of a plurality of decoders of the rear turbo decoder for the turbo decoding;
    상기 전단 터보 복호부의 복수의 디코더 중 하나의 출력 값은 상기 인터리빙 제어부에 의해 인터리빙되어 상기 후단 터보 복호부의 복수의 디코더 중 하나로 출력되고, An output value of one of the plurality of decoders of the front turbo decoder is interleaved by the interleaving controller and output to one of the plurality of decoders of the rear turbo decoder.
    상기 후단 터보 복호부의 복수의 디코더 중 하나의 출력 값은 상기 디인터리빙 제어부에 의해 디인터리빙되어 상기 전단 터보 복호부의 복수의 디코더 중 하나로 출력되는 것을 특징으로 하는 다중 복호 장치.And an output value of one of the plurality of decoders of the rear turbo decoder is deinterleaved by the deinterleaving controller and output to one of the plurality of decoders of the front turbo decoder.
  8. 제1 항에 있어서,The method of claim 1,
    상기 터보 복호부는The turbo decoder is
    하기 수학식 1 내지 수학식 4에 기초하여 순방향 상태 확률 값 업데이트 및 역방향 상태 확률 값 업데이트를 수행하고, Performing a forward state probability value update and a reverse state probability value update based on Equations 1 to 4 below,
    [수학식 1][Equation 1]
    Figure PCTKR2016008339-appb-I000042
    Figure PCTKR2016008339-appb-I000042
    이때, s'는 이전 상태, s는 현재 상태,
    Figure PCTKR2016008339-appb-I000043
    는 두 상태를 연결하는 가지 확률 값, k는 코드워드 인덱스, yk는 k 인덱스에서의 수신된 오류가 섞인 심볼값, xk는 k 인덱스에서의 수신된 오류가 없는 원래 심볼값, uk는 입력 비트이고,
    Where s' is the previous state, s is the current state,
    Figure PCTKR2016008339-appb-I000043
    Is the probability value linking the two states, k is the codeword index, yk is the symbol value with the received error at the k index, xk is the original symbol value without the received error at the k index, and uk is the input bit. ,
    [수학식 2][Equation 2]
    Figure PCTKR2016008339-appb-I000044
    Figure PCTKR2016008339-appb-I000044
    상기 수학식 2에서
    Figure PCTKR2016008339-appb-I000045
    는 현재 연산 순서의 순방향 상태 확률 값,
    Figure PCTKR2016008339-appb-I000046
    는 현재 연산 순서 직전에 산출된 순방향 상태 확률 값,
    Figure PCTKR2016008339-appb-I000047
    는 현재 연산 순서의 역방향 상태 확률 값,
    Figure PCTKR2016008339-appb-I000048
    는 현재 연산 순서 직전에 산출된 역방향 상태 확률 값이고,
    In Equation 2
    Figure PCTKR2016008339-appb-I000045
    Is the forward state probability value of the current operation order,
    Figure PCTKR2016008339-appb-I000046
    Is the value of the forward state probability calculated immediately before the current sequence of operations,
    Figure PCTKR2016008339-appb-I000047
    Is the reverse state probability value of the current operation sequence,
    Figure PCTKR2016008339-appb-I000048
    Is the reverse state probability value computed just before the current sequence of operations,
    [수학식 3] [Equation 3]
    Figure PCTKR2016008339-appb-I000049
    Figure PCTKR2016008339-appb-I000049
    상기 수학식 3에서 min*(a,b)는 수학식 4에 의하여 수행될 때, When min * (a, b) in Equation 3 is performed by Equation 4,
    [수학식 4][Equation 4]
    Figure PCTKR2016008339-appb-I000050
    Figure PCTKR2016008339-appb-I000050
    상기 수학식 4의 두 번째 항인
    Figure PCTKR2016008339-appb-I000051
    Figure PCTKR2016008339-appb-I000052
    를 입력받아 출력 값을 산출하도록 구성된 간소화된 룩업테이블(LUT)을 이용하여 산출되는 것을 특징으로 하는 다중 복호 장치.
    The second term of Equation 4
    Figure PCTKR2016008339-appb-I000051
    Is
    Figure PCTKR2016008339-appb-I000052
    The multi-decoding device, characterized in that it is calculated using a simplified lookup table (LUT) configured to receive an output value.
  9. 제1항에 있어서, The method of claim 1,
    상기 체크 노드 연산부는 The check node calculation unit
    수학식 6 및 수학식 7에 기초하여 체크 노드 업데이트를 수행하고, Perform a check node update based on Equation 6 and Equation 7,
    [수학식 6][Equation 6]
    Figure PCTKR2016008339-appb-I000053
    Figure PCTKR2016008339-appb-I000053
    [수학식 7][Equation 7]
    Figure PCTKR2016008339-appb-I000054
    Figure PCTKR2016008339-appb-I000054
    Figure PCTKR2016008339-appb-I000055
    는 dc개의 인접한 비트 노드에서 체크 노드 k로 전송하는 비트- 체크 메시지이고, a, b 각각은 상기 비트- 체크 메시지 중 선택된 2개의 입력 값을 나타낼 때,
    Figure PCTKR2016008339-appb-I000055
    Is a bit-check message transmitted from d c adjacent bit nodes to check node k, and each of a and b indicates two input values selected from the bit-check messages,
    상기 수학식 7의 두 번째 항인
    Figure PCTKR2016008339-appb-I000056
    는 min(a, b) 및
    Figure PCTKR2016008339-appb-I000057
    를 입력받아 출력 값을 산출하도록 구성된 간소화된 룩업테이블(LUT)을 이용하여 산출되는 것을 특징으로 하는 다중 복호 장치.
    The second term of Equation 7
    Figure PCTKR2016008339-appb-I000056
    Is min (a, b) and
    Figure PCTKR2016008339-appb-I000057
    The multi-decoding device, characterized in that it is calculated using a simplified lookup table (LUT) configured to receive an output value.
  10. 모드 선택부가 터보 복호화 및 상기 LDPC 복호화 중 하나를 선택하기 위한 모드 선택 신호를 수신하는 단계;Receiving, by a mode selector, a mode selection signal for selecting one of turbo decoding and the LDPC decoding;
    상기 모드 선택 신호에 기초하여, 인터리빙 제어부가 저밀도 패리티 검사(LDPC) 복호부에 포함된 복수의 체크 노드 연산부 및 복수의 비트 노드 연산부 각각과 공통적인 연산을 수행하는 공통 연산부를 공유하도록 구성된 터보 복호화를 위한 복수의 디코더를 포함하는 복수의 터보 복호부에서의 전단 터보 복호부의 상기 복수의 디코더 중 하나의 출력값을 인터리빙하여 후단 터보 복호부의 복수의 디코더 중 하나로 선택적으로 출력하는 단계; 및Based on the mode selection signal, the interleaving control unit performs turbo decoding configured to share a common operation unit performing a common operation with each of the plurality of check node operators included in the low density parity check (LDPC) decoder and the plurality of bit node operators. Interleaving an output value of one of the plurality of decoders of the front turbo decoder in the plurality of turbo decoders including a plurality of decoders for selectively outputting to one of the plurality of decoders of the rear turbo decoder; And
    상기 모드 선택 신호에 기초하여, 디인터리빙 제어부가 상기 후단 터보 복호부의 복수의 디코더 중 하나의 출력값을 디인터리빙하여 상기 전단 터보 복호부의 복수의 디코더 중 하나에게 선택적으로 출력하는 단계를 포함하는 것을 특징으로 하는 다중 복호 방법. And deinterleaving, by the deinterleaving controller, an output value of one of the plurality of decoders of the rear turbo decoder based on the mode selection signal, and selectively outputting the output value to one of the plurality of decoders of the front turbo decoder. Multiple decoding method.
PCT/KR2016/008339 2015-07-31 2016-07-29 Multiple decoding method for turbo and ldpc decoders, and apparatus thereof WO2017023028A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20150108796 2015-07-31
KR10-2015-0108796 2015-07-31
KR10-2016-0094984 2016-07-26
KR1020160094984A KR101760462B1 (en) 2015-07-31 2016-07-26 Method and Apparatus for multi decoding corresponding to Turbo decoder and LDPC decoder

Publications (1)

Publication Number Publication Date
WO2017023028A1 true WO2017023028A1 (en) 2017-02-09

Family

ID=57943269

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/008339 WO2017023028A1 (en) 2015-07-31 2016-07-29 Multiple decoding method for turbo and ldpc decoders, and apparatus thereof

Country Status (1)

Country Link
WO (1) WO2017023028A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100020962A (en) * 2007-06-14 2010-02-23 인텔 코오퍼레이션 Unified decoder for convolutional, turbo, and ldpc codes
JP2012070410A (en) * 2006-11-22 2012-04-05 Yokohama National Univ Coding modulation system, receiver unit, coding modulation method, and decoding method
US20130156133A1 (en) * 2010-09-08 2013-06-20 Giuseppe Gentile Flexible Channel Decoder

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012070410A (en) * 2006-11-22 2012-04-05 Yokohama National Univ Coding modulation system, receiver unit, coding modulation method, and decoding method
KR20100020962A (en) * 2007-06-14 2010-02-23 인텔 코오퍼레이션 Unified decoder for convolutional, turbo, and ldpc codes
US20130156133A1 (en) * 2010-09-08 2013-06-20 Giuseppe Gentile Flexible Channel Decoder

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BAILEY, STEVO ET AL.: "SLATE: A Combined Architecture for LDPC and Turbo Decoding", EE 290C FINAL PROJECT, 6 May 2014 (2014-05-06), XP055362533, Retrieved from the Internet <URL:https://people.eecs.berkeley.edu/~stevo.bailey/documents/slate_final.pdf> *
GAUTHAM, T. S. V. ET AL.: "Common Architecture for Decoding Turbo and LDPC Codes", COMMUNICATIONS (NCC), 2010 NATIONAL CONFERENCE ON, 5 March 2010 (2010-03-05), pages 1 - 5, XP031648220, Retrieved from the Internet <URL:www.ncc.org.in/download.php?f=NCC2010/A1_6.pdf> *

Similar Documents

Publication Publication Date Title
WO2011139133A2 (en) Method and apparatus for channel coding and decoding in a communication system using a low-density parity-check code
WO2012093894A2 (en) Method and apparatus for channel encoding and decoding in a broadcasting/communication system using low density parity-check codes
WO2016093568A1 (en) Method and apparatus for parallel concatenated ldpc convolutional codes enabling power-efficient decoders
WO2013055046A2 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
WO2009110722A2 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
WO2017213409A1 (en) Channel decoding method and apparatus using structured priori information of preamble
Varzaghani et al. A 10.3-GS/s, 6-bit flash ADC for 10G ethernet applications
WO2017217711A1 (en) Data retransmission method for polar code, and device therefor
WO2014092502A1 (en) Encoding method and apparatus using crc code and polar
WO2015160205A1 (en) Method and apparatus for generating codeword, and method and apparatus for recovering codeword
WO2009107989A2 (en) Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
WO2015130077A1 (en) Signal multiplexing device and signal multiplexing method using layered division multiplexing
WO2014168405A1 (en) Transmitting apparatus, interleaving method thereof, receiving apparatus, and deinterleaving method thereof
WO2013032156A1 (en) Method and apparatus for transmitting and receiving information in a broadcasting/communication system
WO2015041479A1 (en) Transmitter and puncturing method thereof
WO2016137253A1 (en) Parity puncturing device for fixed-length signaling information encoding, and parity puncturing method using same
WO2017217715A1 (en) Method for determining frozen bit for polar code and device therefor
WO2015041480A1 (en) Transmitter and signal processing method thereof
WO2017176031A1 (en) Receiver and method for processing a signal thereof
WO2016003221A1 (en) Signal multiplexing device and signal multiplexing method using layered division multiplexing
WO2019093855A1 (en) Encoding method on basis of polar code in order to support harq, and wireless device using same
WO2016137203A1 (en) Zero padding apparatus for encoding fixed-length signaling information and zero padding method using same
WO2017023028A1 (en) Multiple decoding method for turbo and ldpc decoders, and apparatus thereof
WO2019033579A1 (en) Oled display panel and method for driving same
WO2015037921A1 (en) Transmitter, receiver, and signal processing method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16833264

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16833264

Country of ref document: EP

Kind code of ref document: A1