WO2015163545A1 - 비트-직렬 방식의 복호기 및 그 최소값 탐색 방법 - Google Patents

비트-직렬 방식의 복호기 및 그 최소값 탐색 방법 Download PDF

Info

Publication number
WO2015163545A1
WO2015163545A1 PCT/KR2014/009205 KR2014009205W WO2015163545A1 WO 2015163545 A1 WO2015163545 A1 WO 2015163545A1 KR 2014009205 W KR2014009205 W KR 2014009205W WO 2015163545 A1 WO2015163545 A1 WO 2015163545A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit
value
minimum value
values
input
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/KR2014/009205
Other languages
English (en)
French (fr)
Inventor
선우명훈
이재학
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ajou University Industry Academic Cooperation Foundation
Original Assignee
Ajou University Industry Academic Cooperation Foundation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ajou University Industry Academic Cooperation Foundation filed Critical Ajou University Industry Academic Cooperation Foundation
Publication of WO2015163545A1 publication Critical patent/WO2015163545A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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

  • Embodiments of the present invention relate to a bit-serial decoder and its minimum value search method.
  • the decoding process of the LDPC code is largely composed of four processes.
  • the first process includes an initialization process, a second process, a check node update process, a third process, a variable node update process, and a fourth process, a decision process.
  • Algorithms used to decode the LDPC code include a sum-product algorithm for improving error correction performance and a min-sum algorithm for reducing hardware complexity.
  • the check node update process has considerably higher hardware complexity than other processes because it uses algorithm to find two minimum values.
  • a bit-serial LDPC decoder has been proposed to reduce the hardware complexity of the operation of the check node update. This decoder shows excellent performance in throughput versus hardware complexity.
  • the minimum value search algorithm of the LDPC decoder to which the bit-serial method is applied performs a decoding operation by searching only the first minimum value (first minimum value) during the minimum value search used in the check node update of the corresponding decoder.
  • the second minimum value (second minimum value) is not searched, and the first minimum value is used by adding '1'.
  • the bit-serial method is used due to the decoding operation using this approximation.
  • LDPC decoding has the disadvantage of reducing the bit error rate (BER) performance while reducing the hardware complexity.
  • An embodiment of the present invention provides a bit-serial decoder that can prevent performance degradation and reduce the time required for a decoding operation by searching for a minimum value while maintaining low hardware complexity and high throughput when searching for two minimum values. It provides a method for searching the minimum value.
  • a bit-serial decoder includes a bit value comparison unit for sequentially comparing the bit values of each of the input values from the most significant bit to the least significant bit; An activation / deactivation processor configured to determine whether to activate a bit value of each of the input values according to a comparison result of the bit value comparison unit; When an arbitrary first bit having one bit value activated by the activation / deactivation processing unit is found for the first time between the most significant bit and the least significant bit, the input value having the bit value activated in the first bit is determined.
  • a first minimum value determiner that determines a minimum value; And a second minimum value determiner configured to invert the bit value deactivated by the activation / deactivation processor to determine a second minimum value in the first bit in which the first minimum value is determined.
  • the minimum value may be searched while maintaining a low hardware complexity and a high throughput when updating a check node.
  • the minimum value search algorithm may be updated to prevent performance degradation and to reduce the time required for the decoding operation.
  • FIG. 1 is a block diagram illustrating a bit-serial decoder according to an embodiment of the present invention.
  • FIG. 2 is an exemplary diagram for explaining in detail a process of determining a first and a second minimum value by a bit-serial decoder according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of a check node update process in a bit-serial LDPC decoder.
  • FIG. 4 is a flowchart illustrating a method for searching for a minimum value of a bit-serial decoder according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a process of determining whether to activate a bit value of each of input values transmitted from a variable node to a check node according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a process of determining a second minimum value according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method of searching for a minimum value of a bit-serial decoder according to another embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a method of searching for a minimum value of a bit-serial decoder according to another embodiment of the present invention.
  • a bit-serial decoder includes a bit value comparison unit for sequentially comparing the bit values of each of the input values from the most significant bit to the least significant bit; An activation / deactivation processor configured to determine whether to activate a bit value of each of the input values according to a comparison result of the bit value comparison unit; When an arbitrary first bit having one bit value activated by the activation / deactivation processing unit is found for the first time between the most significant bit and the least significant bit, the input value having the bit value activated in the first bit is determined.
  • a first minimum value determiner that determines a minimum value; And a second minimum value determiner configured to invert the bit value deactivated by the activation / deactivation processor to determine a second minimum value in the first bit in which the first minimum value is determined.
  • the input values may include values transmitted from the variable node of the LDPC decoder to the check node.
  • the activation / deactivation processor is configured to activate a relatively small bit value among each bit value and deactivate a relatively large bit value according to a result of comparing the most significant bit to the first bit in one bit unit. Can be.
  • the activation / deactivation processing unit assigns a status flag to a corresponding bit value when the bit value is activated or deactivated, and the first and second minimum value determination units are configured based on the status flag. 2
  • the minimum value can be determined.
  • the activation / deactivation processor may assign a state flag of '0' to a corresponding bit value when the bit value is activated, and may assign a state flag of '1' to the corresponding bit value when the bit value is deactivated.
  • the activation / deactivation processor may deactivate all of the bit values of the corresponding input value from the deactivated bit to the least significant bit to exclude the first and second minimum value candidates.
  • the second minimum value determiner has a bit value activated by the activation / deactivation processor between the first bit and the least significant bit with respect to input values having a bit value activated through inversion processing in the first bit.
  • an input value having a bit value activated in the second bit may be determined as the second minimum value.
  • a bit-serial decoder includes a bit value comparison unit for sequentially comparing the bit values of each of the input values from the first bit to the last bit; An activation / deactivation processor configured to determine whether to activate the respective bit values according to the comparison result; A first minimum value determiner which determines an input value having the largest number of consecutively activated bits among the input values as a first minimum value; And a second minimum value determiner configured to determine, as a second minimum value, an input value in which the number of consecutively activated bits among the input values is next to the first minimum value.
  • the second minimum value determiner inverts the bit values of the plurality of second minimum values from any first bit in which the first minimum value is determined.
  • the second minimum value can be determined.
  • the second minimum value determiner is configured to input an input value having the largest number of bits sequentially activated from the first bit to an arbitrary second bit, with respect to input values having a bit value activated through inversion processing in the first bit.
  • the second minimum value may be determined.
  • a method for searching for a minimum value of a bit-serial decoder includes sequentially comparing bit values of input values from the most significant bit to the least significant bit in a bit value comparison unit of a bit-serial decoder.
  • step In the activation / deactivation processor of the bit-serial decoder, determining whether to activate the bit values of the input values according to a comparison result of the bit value comparator; In the first minimum value determiner of the bit-serial decoder, if any first bit with one bit value activated by the activation / deactivation processor is found for the first time between the most significant bit and the least significant bit, Determining an input value having a bit value activated in the first bit as a first minimum value; And determining, by the second minimum value determiner of the bit-series decoder, inverting the bit value deactivated by the activation / deactivation processor in the first bit in which the first minimum value is determined. It includes.
  • the input values may include values transmitted from the variable node of the LDPC decoder to the check node.
  • Determining whether or not to activate the bit value of each of the input value is activated by processing the relatively small bit value of each bit value according to the result of comparing the most significant bit to the first bit in a bit unit And deactivating a relatively large bit value.
  • Determining whether to activate a bit value of each of the input values further includes assigning a status flag to the corresponding bit value when the bit value is activated or deactivated. It can be used as the basis for determining the first and second minimum values.
  • the determining of whether to activate a bit value of each of the input values may include deactivating all bit values of the corresponding input value from the deactivated bit to the least significant bit during the deactivation process. It may further comprise the step of excluding.
  • the determining of the second minimum value may be performed by the activation / deactivation processing unit between the first bit and the least significant bit, for input values having a bit value activated through an inversion process in the first bit. If any second bit with one bit value is found for the first time, determining the input value having the bit value activated in the second bit as the second minimum value.
  • a method of searching for a minimum value of a bit-serial decoder includes sequentially comparing bit values of input values from a first bit to a last bit in a bit value comparison unit of a bit-serial decoder.
  • the method of searching for a minimum value of a bit-series decoder when the second minimum value determined by the second minimum value determining unit is plural, the first minimum value is determined by the second minimum value determining unit.
  • the method may further include inverting the bit values of the plurality of second minimum values in the determined first first bit to determine the second minimum value.
  • the determining of the second minimum value may include: for input values having a bit value activated through inversion processing in the first bit, the number of bits sequentially activated from the first bit to an arbitrary second bit is highest. And determining an input value as the second minimum value.
  • An object of the present invention is to propose two minimum search algorithms that can search up to a second minimum value while maintaining low hardware complexity and do not require additional latency. That is, the present invention can prevent both the performance degradation by obtaining both minimum values required for the minimum-sum LDPC decoding operation with the addition of some operations while maintaining high throughput.
  • FIG. 1 is a block diagram illustrating a bit-serial decoder according to an embodiment of the present invention.
  • a bit-serial decoder 100 may include a bit value comparison unit 110, an activation / deactivation processor 120, a first minimum value determination unit 130, and a first value determination unit 130.
  • 2 may include a minimum value determination unit 140, and a control unit 150.
  • the bit value comparison unit 110 sequentially compares a bit value of each of the plurality of input values from the most significant bit to the least significant bit.
  • the bit value comparison unit 110 may receive a bit value of each of the plurality of input values from the most significant bit by one bit and output the comparison result.
  • the input value may include a value transmitted from the variable node of the LDPC decoder to the check node.
  • the bit value comparison unit 110 is the most significant bit.
  • the bit values of '0', '0', '0', and '1' are respectively compared, and the comparison result can be sequentially output from the next bit to the least significant bit, and then the comparison result can be output.
  • the activation / deactivation processor 120 determines whether to activate a bit value of each of the input values according to the comparison result of the bit value comparison unit 110.
  • the activation / deactivation processing unit 120 may activate a relatively small bit value and deactivate a relatively large bit value according to a result of comparing the bit values of the input values.
  • the activation / deactivation process may be continuously performed until any first bit for which the first minimum value is determined.
  • the activation / deactivation processor 120 may assign a status flag to the corresponding bit value when the bit value is activated or deactivated. That is, the activation / deactivation processor 120 assigns a status flag of '0' to the corresponding bit value in the activation process of the bit value, and applies a status flag of '1' to the corresponding bit value in the deactivation process of the bit value. You can give it.
  • the state flag may be used as basic data when the first and second minimum values are determined by the first minimum value determiner 130 and the second minimum value determiner 140.
  • the status flag indicates a first minimum value candidate before the first minimum value is determined, and indicates whether a second minimum value candidate is present after the first minimum value is determined. That is, it indicates whether the corresponding input value is a candidate through activation or deactivation of the state flag. When the operation starts and the status flag of each bit value of all input values is activated, the corresponding input value can be designated as the minimum value candidate.
  • the activation / deactivation processing unit 120 deactivates all the bit values of the corresponding input value from the deactivated bit to the least significant bit and excludes them from the first and second minimum value candidates. You can.
  • the activation / deactivation processing unit 120 assigns a status flag of '1' to a bit value of the deactivation processing target, all of the status flags of '1' are also applied to the bit values from the deactivated bit to the least significant bit. To disable all bits. As described above, this is to exclude the corresponding input value from the first and second minimum value candidates, thereby improving the throughput for searching for the minimum value, thereby reducing the computation time.
  • the first minimum value determiner 130 firstly finds a random first bit having one bit value activated by the activation / deactivation processor between the most significant bit and the least significant bit for input values. The input value having the bit value activated in the bit is determined as the first minimum value.
  • the first minimum value determiner 130 determines the status flag in the first bit.
  • An input value having a bit value of '0' is determined as the first minimum value.
  • the second minimum value determiner 140 inverts the bit value deactivated by the activation / deactivation processor 120 to determine a second minimum value in the first bit in which the first minimum value is determined.
  • the second minimum value determiner 140 may perform the activation / deactivation processing unit between the first bit and the least significant bit with respect to input values having a bit value activated through inversion processing in the first bit.
  • an input value having the bit value activated in the second bit may be determined as the second minimum value.
  • the controller 150 is a bit-serial decoder 100 according to an embodiment of the present invention, that is, the bit value comparison unit 110, the activation / deactivation processing unit 120, and the first minimum value determination unit ( 130, the overall operation of the second minimum value determiner 140 may be controlled.
  • the status flags indicate whether the corresponding input values are the first minimum value candidates, and after the first minimum value is determined, the status flags are the second minimum value candidates of the corresponding input values. Indicates whether or not. According to the number of '0' among the input values of the activated state flags, the operation is performed as in Cases 1 to 3 below.
  • the status flags indicate whether the first minimum value candidate is present. If the status flag is activated '1', the corresponding input value is excluded from the first minimum candidate so that all status flags are inactivated. The above operation is repeated to reduce the minimum value candidate. Finally, when there is one first minimum value candidate, the corresponding input value is determined as the first minimum value.
  • the status flag indicates the minimum value candidates. If there is one '0' among the inputs of the activated state flag, the corresponding input value is determined as the first minimum value. The status flag only deactivates an input value determined as the first minimum value. Thus, the state flag indicates only candidates of the second minimum value since the first minimum value is determined after the next input value comes in. After the first minimum value is determined, if there is one '0' among the inputs of the activated state flag, the corresponding input value becomes the second minimum value. Accordingly, the first minimum value and the second minimum value are determined by deactivating all the state flags except the corresponding state flag.
  • FIG. 2 is an exemplary diagram for explaining in detail a process of determining a first and a second minimum value by a bit-serial decoder according to an embodiment of the present invention.
  • the input value A is '01001'
  • the input value B is '01010'
  • the input value C is '01011'
  • the input value D is '10000'
  • the fourth bit Since the bit values of (4 bits) are '0', '1', '1', and '0' respectively, only the state flag of the bit value of the input value A is '0' as shown in FIG.
  • the status flags of the bit values of the remaining input values B, C, and D become '1'.
  • the most significant bit (1 bit) is '1' for the input value D
  • the status flags of all bit values are '1'.
  • the input value A is determined as the first minimum value.
  • the four-bit state flags of the input values A, B, C, and D are '0', '1', '1', and '1'.
  • the 4-bit state flag is inverted. That is, as shown in Fig. 2C, the 4-bit state flag '1' of the input values B and C is inverted to become the state flag '0', and the 4-bit state flag '0 of the input value A is inverted. 'Is reversed to become' 1 '.
  • the 4-bit state flag '1' maintains that state.
  • the status flag '0' is given to the bit value of the input value B, and the bit value of the input value C is applied to the bit value of the input value C.
  • Status flag '1' is given.
  • bit-serial decoder 100 may be implemented in a different embodiment from the one embodiment of the present invention.
  • another embodiment of the present invention will be described with reference to FIG. 1.
  • the configuration of the decoder 100 of the bit-serial method according to another embodiment of the present invention is the same as that of FIG. However, the rest of the components except for some of the components have a difference in function and operation, and in the following embodiments will be described in detail only the configuration with differences except for the common parts.
  • the first minimum value determiner 130 selects an input value having the largest number of bits continuously activated by the activation / deactivation processor 120 among the input values compared by the bit value comparison unit 110. 1 can be determined as the minimum value.
  • the second minimum value determiner 140 may determine, as a second minimum value, an input value in which the number of consecutively activated bits among the input values is next to the first minimum value.
  • the second minimum value when the second minimum value is one, the second minimum value may be immediately determined. However, when the second minimum value is plural, additional work is required.
  • the second minimum value determiner 140 inverts the bit values of the plurality of second minimum values from any first bit in which the first minimum value is determined, thereby inverting the second values.
  • the minimum value can be determined.
  • the second minimum value determiner 140 continuously activates the input values having the bit values activated through the inversion processing from the first bit from the first bit to an arbitrary second bit.
  • the input value having the highest number of bits can be determined as the second minimum value.
  • the first minimum value determiner 130 selects the input value A having the largest number of bits continuously activated (the status flag '0') in the fourth bit among the input values A, B, C, and D. Decide on
  • the second minimum value determiner 140 selects the input values B, C having the largest number of bits continuously activated in the third bit among the input values B, C, and D as the second minimum value candidate. Choose. If there is only one second minimum value candidate, it may be finally determined as the second minimum value. However, when there are a plurality of second minimum value candidates as described above, additional work is required.
  • the bit values of the fourth bit of the input values B and C selected as the second minimum value candidates are inverted and activated, and accordingly, the second minimum value determination unit 140 performs the fifth bit among the input values B and C. And finally determine the input value B with a higher number of consecutively activated bits as the second minimum value.
  • the bit-serial LDPC decoder finds two minimum values among the values ⁇ ij1 , ⁇ ij2 , ⁇ ij3 , and ⁇ ij4 sent from the variable node to the check node when the check node is updated. .
  • FIG. 4 is a flowchart illustrating a method for searching for a minimum value of a bit-serial decoder according to an embodiment of the present invention.
  • step 410 the bit value comparison unit 110 of the bit-serial decoder 100 sequentially processes a bit value of each of a plurality of input values from the most significant bit to the least significant bit. Compare with.
  • the input values may include values transmitted from the variable node of the LDPC decoder to the check node.
  • the activation / deactivation processing unit 120 of the bit-serial decoder 100 may determine a bit value of each of the input values according to a comparison result of the bit value comparison unit 110. Determine whether to activate. A detailed description of the step 420 will be described later with reference to FIG. 5.
  • step 340 In the bit-serial decoder 100, the first minimum value determiner 130 determines an input value having a bit value activated in the first bit as a first minimum value.
  • the The bit-serial decoder 100 repeats the steps 410 to 430 until the first random bit having the activated bit value is found for the first time.
  • the second minimum value determiner 140 of the bit-serial decoder 100 performs the activation / deactivation process 120 at the first bit in which the first minimum value is determined.
  • the inactive bit value is inverted to determine a second minimum value.
  • FIG. 5 is a flowchart illustrating a process of determining whether to activate a bit value of each of input values according to an embodiment of the present invention.
  • step 510 the activation / deactivation processor 120 of the bit-serial decoder 100 compares the most significant bit from the first bit in one bit unit. A relatively small bit value of each bit value is activated.
  • step 520 the activation / deactivation processor 120 of the bit-serial decoder 100 assigns a status flag '0' to the activated bit value.
  • step 530 the activation / deactivation processing unit 120 of the bit-serial decoder 100 compares the most significant bit to the first bit in one bit unit, and among the respective bit values. Deactivate relatively large bit values.
  • step 540 the activation / deactivation processor 120 of the bit-serial decoder 100 assigns a state flag '1' to the deactivated bit value.
  • FIG. 6 is a flowchart illustrating a process of determining a second minimum value according to an embodiment of the present invention.
  • the second minimum value determiner 140 of the bit-serial decoder 100 receives an input having a bit value activated through inversion processing in the first bit. For values, bit values from the first bit to the least significant bit are sequentially input.
  • the second minimum value determiner 140 of the bit-serial decoder 100 analyzes the state flags of the input bit values.
  • the status flag of the analysis target is already assigned to the input bit values by the activation / deactivation processor 120 and stored in a register, so that the second minimum value determination unit 140 stores the status flag in the register.
  • Checking may analyze the state flags of the input bit values and output the result.
  • the second minimum value determiner 140 of the bit-serial decoder 100 determines whether one of the state flags of the input bit values is '0'.
  • the second minimum value determiner 140 of the bit-serial decoder 100 determines the corresponding bit value.
  • the input value having is determined as the second minimum value.
  • the second minimum value determination unit 140 of the bit-serial decoder 100 may determine the first bit. The process from step 610 to step 630 is repeated for the next bit until the status flag '0' becomes one.
  • FIG. 7 is a flowchart illustrating a method of searching for a minimum value of a bit-serial decoder according to another embodiment of the present invention.
  • FIG. 7 shows an embodiment limited to the case where the second minimum value is one.
  • step 710 the bit value comparator 110 of the bit-serial decoder 100 first sets a bit value of each of the input values transmitted from the variable node to the check node. The first bit (most significant bit) to the last bit (least significant bit) are compared sequentially.
  • step 720 the activation / deactivation processor 120 of the bit-serial decoder 100 determines whether to activate each bit value according to the comparison result.
  • the first minimum value determiner 130 of the bit-serial decoder 100 determines an input value having the largest number of consecutively activated bits among the input values as the first minimum value. do.
  • the second minimum value determination unit 140 of the bit-serial decoder 100 receives an input value in which the number of consecutively activated bits among the input values is higher than the first minimum value. Determine the second minimum value.
  • FIG. 8 is a flowchart illustrating a method of searching for a minimum value of a bit-serial decoder according to another embodiment of the present invention.
  • FIG. 8 shows an embodiment of the case where there are a plurality of second minimum values.
  • bit value comparator 110 of the bit-serial decoder 100 first selects a bit value of each of input values transmitted from a variable node to a check node. The first bit (most significant bit) to the last bit (least significant bit) are compared sequentially.
  • step 820 the activation / deactivation processor 120 of the bit-serial decoder 100 determines whether to activate each bit value according to the comparison result.
  • the first minimum value determiner 130 of the bit-serial decoder 100 determines an input value having the largest number of consecutively activated bits among the input values as the first minimum value. do.
  • the second minimum value determination unit 140 of the bit-serial decoder 100 receives an input value in which the number of bits sequentially activated among the input values is higher than the first minimum value. Determine the second minimum value.
  • the second minimum value determiner 140 of the bit-serial decoder 100 determines that the first minimum value is determined. In any of the first bits, the bit values of the plurality of second minimum values are inverted.
  • step 870 the second minimum value determiner 140 of the bit-serial decoder 100 starts from the first bit with respect to input values having bit values activated through the inversion process. The input value with the largest number of successively activated bits up to any second bit is finally determined as the second minimum value.
  • the second minimum value determination unit 140 of the bit-serial decoder 100 performs the step 860. And immediately terminate the present embodiment without performing step 870 above.
  • Embodiments of the invention include a computer readable medium containing program instructions for performing various computer-implemented operations.
  • the computer readable medium may include program instructions, local data files, local data structures, or the like, alone or in combination.
  • the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, magnetic-optical media such as floppy disks, and ROM, RAM, flash memory, and the like.
  • Hardware devices specifically configured to store and execute the same program instructions are included.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기는 변수 노드에서 체크 노드로 전송되는 입력값들 각각의 비트값을 최상위 비트에서부터 최하위 비트까지 순차적으로 비교하는 비트값 비교부; 상기 비트값 비교부의 비교 결과에 따라, 상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 활성화/비활성화 처리부; 상기 최상위 비트에서부터 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견되는 경우, 상기 제1 비트에서 활성화된 비트값을 가지는 입력값을 제1 최소값으로 결정하는 제1 최소값 결정부; 및 상기 제1 최소값이 결정된 상기 제1 비트에서, 상기 활성화/비활성화 처리부에 의해 비활성화된 비트값을 반전 처리하여 제2 최소값을 결정하는 제2 최소값 결정부를 포함한다.

Description

비트-직렬 방식의 복호기 및 그 최소값 탐색 방법
본 발명의 실시예들은 비트-직렬 방식의 복호기 및 그 최소값 탐색 방법에 관한 것이다.
최근 들어 대부분의 통신시스템 표준에서는 오류 정정을 위한 기술들이 필수적으로 사용되고 있으며, 여러 오류 정정 부호 중 샤논의 한계(Shannon limit)에 가장 가까운 성능을 보이는 LDPC(Low-Density Parity-Check) 부호가 주로 채택되는 추세이다.
LDPC 부호의 복호 과정은 크게 네 가지 과정으로 구성된다. 제1 과정인 초기화 과정, 제2 과정인 체크 노드 갱신 과정, 제3 과정인 변수 노드 갱신 과정, 제4 과정인 판정 과정으로 구성된다. 이러한 LDPC 부호의 복호에 사용되는 알고리즘에는 대표적으로 오류 정정 성능 향상을 목적으로 하는 합-곱 (Sum-Product) 알고리즘과 하드웨어 복잡도를 줄이기 위한 최소-합 (Min-Sum) 알고리즘 등이 있다.
최소-합 알고리즘을 사용하는 LDPC 복호 과정의 경우, 체크 노드 갱신 과정은 두 개의 최소값을 찾는 알고리즘을 사용하기 때문에 다른 과정에 비해 상당히 큰 하드웨어 복잡도를 가진다. 최근 체크 노드 갱신의 연산의 하드웨어 복잡도를 줄이기 위해 비트-직렬 방식의 LDPC 복호기가 제안되었다. 이 복호기는 하드웨어 복잡도 대비 처리율에서 뛰어난 성능을 보인다.
비트-직렬 방식이 적용된 LDPC 복호기의 최소값 탐색 알고리즘은 해당 복호기의 체크 노드 갱신에서 사용하는 최소값 탐색 시 첫 번째 최소값(제1 최소값)만을 찾아 복호 연산을 진행한다. 두 번째 최소값(제2 최소값)은 탐색하지 않고 제1 최소값에 '1'을 더한 값을 사용한다.
이와 같이 기존에는 두 번째 최소값(제2 최소값)은 탐색하지 않고 제1 최소값에 '1'을 더한 값을 제2 최소값으로 사용하여 복호를 하기 때문에, 이런 근사치를 사용한 복호 연산으로 인해 비트-직렬 방식의 LDPC 복호는 하드웨어 복잡도가 감소하는데 비해 BER(Bit Error Rate) 성능 열화가 발생하는 단점을 가지고 있다.
관련 선행기술로는 대한민국 공개특허공보 제2008-0052274호(발명의 명칭: 저밀도 패리티 검사 부호의 검사노드를 갱신하는 방법 및 장치, 공개일자: 2008년 06월 11일)가 있다.
본 발명의 일 실시예는 2개의 최소값 탐색 시 낮은 하드웨어 복잡도 및 높은 처리율을 유지하면서 최소값을 탐색함으로써 성능 열화가 발생하는 것을 방지하고 복호 연산에 필요한 시간을 단축할 수 있는 비트-직렬 방식의 복호기 및 그 최소값 탐색 방법을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기는 입력값들 각각의 비트값을 최상위 비트에서부터 최하위 비트까지 순차적으로 비교하는 비트값 비교부; 상기 비트값 비교부의 비교 결과에 따라, 상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 활성화/비활성화 처리부; 상기 최상위 비트에서부터 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견되는 경우, 상기 제1 비트에서 활성화된 비트값을 가지는 입력값을 제1 최소값으로 결정하는 제1 최소값 결정부; 및 상기 제1 최소값이 결정된 상기 제1 비트에서, 상기 활성화/비활성화 처리부에 의해 비활성화된 비트값을 반전 처리하여 제2 최소값을 결정하는 제2 최소값 결정부를 포함한다.
본 발명의 일 실시예에 따르면, 체크 노드 갱신 시 낮은 하드웨어 복잡도 및 높은 처리율을 유지하면서 최소값을 탐색할 수 있다.
본 발명의 일 실시예에 따르면, 최소값 탐색 알고리즘을 갱신하여 성능 열화가 발생하는 것을 방지하고 복호 연산에 필요한 시간을 단축할 수 있다.
도 1은 본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기를 설명하기 위해 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기가 제1 및 제2 최소값을 결정하는 과정을 보다 구체적으로 설명하기 위해 도시한 예시도이다.
도 3은 비트-직렬 방식의 LDPC 복호기에서의 체크 노드 갱신 과정의 일례를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기의 최소값 탐색 방법을 설명하기 위해 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따라 변수 노드에서 체크 노드로 전송되는 입력값들 각각의 비트값에 대한 활성화 여부를 결정하는 과정을 설명하기 위해 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따라 제2 최소값을 결정하는 과정을 설명하기 위해 도시한 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 비트-직렬 방식의 복호기의 최소값 탐색 방법을 설명하기 위해 도시한 흐름도이다.
도 8은 본 발명의 또 다른 실시예에 따른 비트-직렬 방식의 복호기의 최소값 탐색 방법을 설명하기 위해 도시한 흐름도이다.
본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기는 입력값들 각각의 비트값을 최상위 비트에서부터 최하위 비트까지 순차적으로 비교하는 비트값 비교부; 상기 비트값 비교부의 비교 결과에 따라, 상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 활성화/비활성화 처리부; 상기 최상위 비트에서부터 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견되는 경우, 상기 제1 비트에서 활성화된 비트값을 가지는 입력값을 제1 최소값으로 결정하는 제1 최소값 결정부; 및 상기 제1 최소값이 결정된 상기 제1 비트에서, 상기 활성화/비활성화 처리부에 의해 비활성화된 비트값을 반전 처리하여 제2 최소값을 결정하는 제2 최소값 결정부를 포함한다.
상기 입력값들은 LDPC 복호기의 변수 노드에서 체크 노드로 전송되는 값들을 포함할 수 있다.
상기 활성화/비활성화 처리부는 상기 최상위 비트에서부터 상기 제1 비트까지 한 비트 단위로 비교한 결과에 따라, 상기 각각의 비트값 중 상대적으로 작은 비트값을 활성화 처리하고, 상대적으로 큰 비트값을 비활성화 처리할 수 있다.
상기 활성화/비활성화 처리부는 상기 비트값의 활성화 또는 비활성화 처리 시, 해당 비트값에 상태 플래그(status flag)를 부여하고, 상기 제1 및 제2 최소값 결정부는 상기 상태 플래그에 기초하여 상기 제1 및 제2 최소값을 결정할 수 있다.
상기 활성화/비활성화 처리부는 상기 비트값의 활성화 처리 시 해당 비트값에 '0'의 상태 플래그를 부여하고, 상기 비트값의 비활성화 처리 시 해당 비트값에 '1'의 상태 플래그를 부여할 수 있다.
상기 활성화/비활성화 처리부는 상기 비활성화 처리 시, 해당 입력값의 비트값들을 상기 비활성화 처리된 비트에서부터 상기 최하위 비트까지 모두 비활성화 처리하여 상기 제1 및 제2 최소값 후보에서 제외시킬 수 있다.
상기 제2 최소값 결정부는 상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트와 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제2 비트가 최초로 발견되는 경우, 상기 제2 비트에서 활성화된 비트값을 가지는 입력값을 상기 제2 최소값으로 결정할 수 있다.
본 발명의 다른 실시예에 따른 비트-직렬 방식의 복호기는 입력값들 각각의 비트값을 첫 번째 비트부터 마지막 비트까지 순차적으로 비교하는 비트값 비교부; 상기 비교 결과에 따라 상기 각각의 비트값의 활성화 여부를 결정하는 활성화/비활성화 처리부; 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 가장 많은 입력값을 제1 최소값으로 결정하는 제1 최소값 결정부; 및 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 상기 제1 최소값 다음으로 많은 입력값을 제2 최소값으로 결정하는 제2 최소값 결정부를 포함한다.
상기 제2 최소값 결정부는 상기 제2 최소값 결정부에 의해 결정된 상기 제2 최소값이 복수개일 경우, 상기 제1 최소값이 결정된 임의의 제1 비트에서, 상기 복수개의 제2 최소값의 비트값을 반전 처리하여 상기 제2 최소값을 결정할 수 있다.
상기 제2 최소값 결정부는 상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트에서부터 임의의 제2 비트까지 연속하여 활성화 처리된 비트 수가 가장 많은 입력값을 상기 제2 최소값으로 결정할 수 있다.
본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기의 최소값 탐색 방법은 비트-직렬 방식의 복호기의 비트값 비교부에서, 입력값들 각각의 비트값을 최상위 비트에서부터 최하위 비트까지 순차적으로 비교하는 단계; 상기 비트-직렬 방식의 복호기의 활성화/비활성화 처리부에서, 상기 비트값 비교부의 비교 결과에 따라, 상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 단계; 상기 비트-직렬 방식의 복호기의 제1 최소값 결정부에서, 상기 최상위 비트에서부터 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견되는 경우, 상기 제1 비트에서 활성화된 비트값을 가지는 입력값을 제1 최소값으로 결정하는 단계; 및 상기 비트-직렬 방식의 복호기의 제2 최소값 결정부에서, 상기 제1 최소값이 결정된 상기 제1 비트에서, 상기 활성화/비활성화 처리부에 의해 비활성화된 비트값을 반전 처리하여 제2 최소값을 결정하는 단계를 포함한다.
상기 입력값들은 LDPC 복호기의 변수 노드에서 체크 노드로 전송되는 값들을 포함할 수 있다.
상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 단계는 상기 최상위 비트에서부터 상기 제1 비트까지 한 비트 단위로 비교한 결과에 따라, 상기 각각의 비트값 중 상대적으로 작은 비트값을 활성화 처리하고, 상대적으로 큰 비트값을 비활성화 처리하는 단계를 포함할 수 있다.
상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 단계는 상기 비트값의 활성화 또는 비활성화 처리 시, 해당 비트값에 상태 플래그(status flag)를 부여하는 단계를 더 포함하고, 상기 상태 플래그는 상기 제1 및 제2 최소값의 결정하기 위한 기초 자료로서 이용될 수 있다.
상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 단계는 상기 비활성화 처리 시, 해당 입력값의 비트값들을 상기 비활성화 처리된 비트에서부터 상기 최하위 비트까지 모두 비활성화 처리하여 상기 제1 및 제2 최소값 후보에서 제외시키는 단계를 더 포함할 수 있다.
상기 제2 최소값을 결정하는 단계는 상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트와 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제2 비트가 최초로 발견되는 경우, 상기 제2 비트에서 활성화된 비트값을 가지는 입력값을 상기 제2 최소값으로 결정하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따른 비트-직렬 방식의 복호기의 최소값 탐색 방법은 비트-직렬 방식의 복호기의 비트값 비교부에서, 입력값들 각각의 비트값을 첫 번째 비트부터 마지막 비트까지 순차적으로 비교하는 단계; 상기 비트-직렬 방식의 복호기의 활성화/비활성화 처리부에서, 상기 비교 결과에 따라 상기 각각의 비트값의 활성화 여부를 결정하는 단계; 비트-직렬 방식의 복호기의 제1 최소값 결정부에서, 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 가장 많은 입력값을 제1 최소값으로 결정하는 단계; 및 비트-직렬 방식의 복호기의 제2 최소값 결정부에서, 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 상기 제1 최소값 다음으로 많은 입력값을 제2 최소값으로 결정하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따른 비트-직렬 방식의 복호기의 최소값 탐색 방법은 상기 제2 최소값 결정부에 의해 결정된 상기 제2 최소값이 복수개일 경우, 상기 제2 최소값 결정부에서, 상기 제1 최소값이 결정된 임의의 제1 비트에서, 상기 복수개의 제2 최소값의 비트값을 반전 처리하여 상기 제2 최소값을 결정하는 단계를 더 포함할 수 있다.
상기 제2 최소값을 결정하는 단계는 상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트에서부터 임의의 제2 비트까지 연속하여 활성화 처리된 비트 수가 가장 많은 입력값을 상기 제2 최소값으로 결정하는 단계를 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
본 발명의 목적은 낮은 하드웨어 복잡도를 유지하면서 두 번째 최소값까지 탐색 가능하며 추가적인 latency가 필요 없는 두 최소값 탐색 알고리즘을 제안하는 것이다. 즉, 본 발명은 높은 처리율을 유지하면서 약간의 연산 추가로 최소-합 LDPC 복호 연산에 필요한 두 최소값을 모두 얻어 성능 열화가 발생하는 것을 방지할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기를 설명하기 위해 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기(100)는 비트값 비교부(110), 활성화/비활성화 처리부(120), 제1 최소값 결정부(130), 제2 최소값 결정부(140), 및 제어부(150)를 포함할 수 있다.
상기 비트값 비교부(110)는 복수의 입력값들 각각의 비트값을 최상위 비트에서부터 최하위 비트까지 순차적으로 비교한다.
이를 위해, 상기 비트값 비교부(110)는 복수의 입력값들 각각의 비트값을 최상위 비트에서부터 한 비트씩 입력받아 그 비교 결과를 출력할 수 있다. 이때, 상기 입력값은 LDPC 복호기의 변수 노드에서 체크 노드로 전송되는 값을 포함할 수 있다.
예를 들어, 입력값 A는 '01001', 입력값 B는 '01010', 입력값 C는 '01011', 입력값 D는 '10000'인 경우, 상기 비트값 비교부(110)는 최상위 비트인 '0', '0', '0', '1'의 비트값을 각각 비교하며, 순차적으로 그 다음 비트에서부터 최하위 비트까지 비교한 후 비교 결과를 출력할 수 있다.
상기 활성화/비활성화 처리부(120)는 상기 비트값 비교부(110)의 비교 결과에 따라, 상기 입력값들 각각의 비트값의 활성화 여부를 결정한다.
즉, 상기 활성화/비활성화 처리부(120)는 상기 입력값들 각각의 비트값을 비교한 결과에 따라 상대적으로 작은 비트값을 활성화 처리하고, 상대적으로 큰 비트값을 비활성화 처리할 수 있다.
여기서, 상기 활성화/비활성화 처리는 상기 제1 최소값이 결정되는 임의의 제1 비트까지 계속하여 수행될 수 있다.
상기 활성화/비활성화 처리부(120)는 상기 비트값의 활성화 또는 비활성화 처리 시, 해당 비트값에 상태 플래그(status flag)를 부여할 수 있다. 즉, 상기 활성화/비활성화 처리부(120)는 상기 비트값의 활성화 처리 시 해당 비트값에 '0'의 상태 플래그를 부여하고, 상기 비트값의 비활성화 처리 시 해당 비트값에 '1'의 상태 플래그를 부여할 수 있다.
상기 상태 플래그는 상기 제1 최소값 결정부(130) 및 상기 제2 최소값 결정부(140)에서 제1 및 제2 최소값을 결정할 때에 기초 자료로서 이용될 수 있다.
상기 상태 플래그는 제1 최소값이 결정되기 전에는 제1 최소값 후보를 나타내고, 상기 제1 최소값이 결정 된 후는 제2 최소값 후보 여부를 나타낸다. 즉, 상기 상태 플래그의 활성화 또는 비활성화를 통해 해당 입력값이 후보인지 아닌지를 나타낸다. 연산이 시작되어 모든 입력값의 비트값 각각의 상태 플래그가 활성화 되면 해당 입력값은 최소값 후보로 지정될 수 있는 것이다.
한편, 상기 활성화/비활성화 처리부(120)는 상기 비트값의 비활성화 처리 시, 해당 입력값의 비트값들을 상기 비활성화 처리된 비트에서부터 상기 최하위 비트까지 모두 비활성화 처리하여 상기 제1 및 제2 최소값 후보에서 제외시킬 수 있다.
즉, 상기 활성화/비활성화 처리부(120)는 비활성화 처리 대상의 비트값에 '1'의 상태 플래그를 부여할 때, 그 비활성화 처리된 비트부터 최하위 비트까지의 비트값에 대해서도 모두 '1'의 상태 플래그를 부여하여 모든 비트를 비활성화 처리할 수 있다. 이는 앞서 언급한 바와 같이 해당 입력값을 제1 및 제2 최소값 후보에서 제외시키기 위함이며, 이에 따라 최소값 탐색을 위한 처리율을 향상시켜 연산 시간을 단축시킬 수 있다.
상기 제1 최소값 결정부(130)는 입력값들에 대한 최상위 비트에서부터 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견되면, 상기 제1 비트에서 활성화된 비트값을 가지는 입력값을 제1 최소값으로 결정한다.
즉, 상기 제1 최소값 결정부(130)는 복수의 입력값들에 대한 임의의 제1 비트에서 상태 플래그가 '0'인 비트값이 하나인 경우가 최초로 발견되면, 상기 제1 비트에서 상태 플래그가 '0'인 비트값을 가지는 입력값을 제1 최소값으로 결정한다.
상기 제2 최소값 결정부(140)는 상기 제1 최소값이 결정된 상기 제1 비트에서, 상기 활성화/비활성화 처리부(120)에 의해 비활성화된 비트값을 반전 처리하여 제2 최소값을 결정한다.
즉, 상기 제2 최소값 결정부(140)는 상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트와 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부(120)에 의해 활성화된 비트값이 하나인 임의의 제2 비트가 최초로 발견되는 경우, 상기 제2 비트에서 활성화된 비트값을 가지는 입력값을 상기 제2 최소값으로 결정할 수 있다.
상기 제어부(150)는 본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기(100), 즉 상기 비트값 비교부(110), 상기 활성화/비활성화 처리부(120), 상기 제1 최소값 결정부(130), 상기 제2 최소값 결정부(140) 등의 동작을 전반적으로 제어할 수 있다.
이와 같이, 본 발명의 일 실시예에서는 제1 최소값이 결정되기 전에는 상태 플래그들이 해당 입력값들의 제1 최소값 후보 여부를 나타내고, 제1 최소값이 결정된 후에는 상태 플래그들이 해당 입력값의 제2 최소값 후보 여부를 나타낸다. 활성화된 상태 플래그들의 입력값들 중 '0'의 개수에 따라서 아래의 케이스 1~3과 같은 연산을 하게 된다.
1. Case 1
'0'이 없을 경우, 다시 말해 상태 플래그가 모두 '1'인 경우, 현재 입력값들을 통해 제1 최소값 후보 여부를 알 수 없다. 따라서 Case 1의 경우 상태 플래그의 변화 없이 다음 비트의 입력을 받게 된다.
2. Case 2
'0'이 2개 이상 있을 경우, 상태 플래그가 '1'인 입력값은 제1 최소값 또는 제2 최소값 후보에서 제외되어 모든 상태 플래그를 비활성화(상태 플래그 = '1')시킨다.
예를 들어, 제1 최소값이 결정 되지 않았을 경우, 상태 플래그들은 제1 최소값 후보 여부를 나타내고 있다. 상태 플래그가 활성화된 '1'이면, 해당 입력값은 제1 최소값 후보에서 제외되어 모든 상태 플래그가 비활성화된다. 위와 같은 연산을 반복하며 최소값 후보를 줄여 나간다. 최종적으로 제1 최소값 후보가 한 개가 되면 해당 입력값을 제1 최소값으로 결정한다.
3. Case 3
'0'이 1개 있을 경우, 하나의 최소값 후보만 남게 되므로 해당 입력값이 제1 최소값 또는 제2 최소값으로 결정된다. 예를 들어, 최소값이 결정되기 전의 경우, 상태 플래그는 최소값 후보들을 나타낸다. 활성화된 상태 플래그의 입력 중 '0'이 1개 있을 경우 해당 입력값은 제1 최소값으로 결정하게 된다. 상태 플래그는 제1 최소값으로 결정된 입력값만 비활성화시킨다. 따라서 다음 입력값이 들어오면 제1 최소값이 결정된 후이기 때문에, 상태 플래그는 제2 최소값의 후보들만 나타낸다. 제1 최소값이 결정된 후의 경우, 활성화된 상태 플래그의 입력 중 '0'이 1개 있다면 해당 입력값이 제2 최소값이 된다. 따라서, 해당 상태 플래그를 제외한 모든 상태 플래그를 비활성화하여 제1 최소값 및 제2 최소값을 결정한다.
도 2는 본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기가 제1 및 제2 최소값을 결정하는 과정을 보다 구체적으로 설명하기 위해 도시한 예시도이다.
먼저 도 2의 (A)에 도시된 바와 같이, 입력값 A는 '01001', 입력값 B는 '01010', 입력값 C는 '01011', 입력값 D는 '10000'인 경우, 네 번째 비트(4비트)의 비트값은 각각 '0', '1', '1', '0'이기 때문에 도 2의 (B)에 도시된 바와 같이 입력값 A의 비트값의 상태 플래그만 '0'이 되고 나머지 입력값 B, C, D의 비트값의 상태 플래그는 '1'이 된다. 참고로, 입력값 D의 경우 최상위 비트(1비트)가 '1'이기 때문에 모든 비트값의 상태 플래그는 '1'이 된다. 따라서, 입력값 A가 제1 최소값으로 결정된다.
상기 제1 최소값이 결정되기 전에는 도 2의 (B)와 같이 입력값 A, B, C, D 각각의 4비트의 상태 플래그는 '0', '1', '1', '1'이지만, 상기 제1 최소값이 결정된 후에는 4비트의 상태 플래그는 반전 처리된다. 즉, 도 2의 (C)에 도시된 바와 같이 입력값 B, C의 4비트의 상태 플래그 '1'은 반전 처리되어 상태 플래그 '0'이 되고, 입력값 A의 4비트의 상태 플래그 '0'은 반전 처리되어 '1'이 된다. 이때, 입력값 D는 이미 최소값 후보에서 제외된 상태이기 때문에 그것의 4비트의 상태 플래그 '1'은 그 상태를 유지한다. 이후, 그 다음의 비트인 5비트에서 입력값 B의 비트값이 입력값 C의 비트값보다 작으므로, 입력값 B의 비트값에는 상태 플래그 '0'이 부여되고, 입력값 C의 비트값에는 상태 플래그 '1'이 부여된다. 이처럼, 5비트에서 상태 플래그 '0'인 활성화된 비트값이 하나만 발견되었으므로, 입력값 B가 제2 최소값으로 결정된다.
한편, 상기 비트-직렬 방식의 복호기(100)는 본 발명의 일 실시예와는 다른 실시 형태로 구현될 수 있다. 이하에서는 본 발명의 다른 실시예를 도 1을 참조하여 설명하기로 한다.
본 발명의 다른 실시예에 따른 비트-직렬 방식의 복호기(100)의 구성은 도 1의 그것과 동일한다. 다만, 각 구성요소들 중 일부를 제외한 나머지 구성은 그 기능 및 작용에 있어서 차이점이 있으며, 이하의 실시예에서는 공통된 부분을 배제하고 차이점이 있는 구성에 대해서만 자세히 설명하기로 한다.
상기 제1 최소값 결정부(130)는 상기 비트값 비교부(110)에 의해 비교된 입력값들 중에서, 상기 활성화/비활성화 처리부(120)에 의해 연속으로 활성화 처리된 비트 수가 가장 많은 입력값을 제1 최소값으로 결정할 수 있다.
상기 제2 최소값 결정부(140)는 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 상기 제1 최소값 다음으로 많은 입력값을 제2 최소값으로 결정할 수 있다.
이때, 상기 제2 최소값이 하나인 경우에는 상기 제2 최소값이 바로 결정될 수 있지만, 상기 제2 최소값이 복수개일 경우에는 별도의 추가 작업이 필요하다.
즉, 상기 제2 최소값 결정부(140)는 상기 제2 최소값이 복수개일 경우, 상기 제1 최소값이 결정된 임의의 제1 비트에서, 상기 복수개의 제2 최소값의 비트값을 반전 처리하여 상기 제2 최소값을 결정할 수 있다.
보다 구체적으로, 상기 제2 최소값 결정부(140)는 상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트에서부터 임의의 제2 비트까지 연속하여 활성화 처리된 비트 수가 가장 많은 입력값을 상기 제2 최소값으로 결정할 수 있다.
예를 들어, 입력값 A는 '01001', 입력값 B는 '01010', 입력값 C는 '01011', 입력값 D는 '10000'인 경우에 대해 가정한다. 이러한 경우, 상기 제1 최소값 결정부(130)는 입력값 A, B, C, D 중에서 네 번째 비트에서 연속으로 활성화된(상태 플래그 '0') 비트 수가 가장 많은 입력값 A를 상기 제1 최소값으로 결정한다.
상기 제1 최소값을 결정한 후, 상기 제2 최소값 결정부(140)는 입력값 B, C, D 중에서 세 번째 비트에서 연속으로 활성화된 비트 수가 가장 많은 입력값 B, C를 상기 제2 최소값 후보로 선택한다. 상기 제2 최소값 후보가 하나만 있는 경우에는 그것을 상기 제2 최소값으로 최종 결정하면 되지만, 위에서와 같이 상기 제2 최소값 후보가 복수개인 경우에는 별도의 추가 작업이 필요하다.
즉, 상기 제2 최소값 후보로 선택된 입력값 B, C의 네 번째 비트의 비트값들이 반전 처리되어 활성화되며, 이에 따라 상기 제2 최소값 결정부(140)는 상기 입력값 B, C 중에서 다섯 번째 비트에서 연속으로 활성화된 비트 수가 더 많은 입력값 B를 상기 제2 최소값으로 최종 결정한다.
참고로, 본 발명의 실시예들은 도 3과 같은 비트-직렬 방식의 LDPC 복호기에서의 체크 노드 갱신 시 2개의 최소값을 탐색하는 방법에 근거하여 설명하였다. 체크 노드에서 변수 노드로 보내는 값(αij1, αij2, αij3, αij4)은 각각 자신과 연결된 변수 노드를 제외한 나머지 변수 노드의 β 값 중에서 최소값을 찾는다. 하지만, 자신에 연결된 변수 노드의 β 값이 최소값이라면 두 번째 최소값을 가지는 β 값이 필요하다. 따라서, 도 3에 도시된 바와 같이, 비트-직렬 방식의 LDPC 복호기에서는 상기 체크 노드 갱신 시 변수 노드에서 체크 노드로 보내는 값(βij1, βij2, βij3, βij4) 중에서 2개의 최소값을 찾는다.
이와 같이, 본 발명의 실시예들에서는 도 3과 같은 비트-직렬 방식의 LDPC 복호기에 한정하여 설명하고 있지만, 이에 한정되지 않고 그 밖의 모든 복호기에 적용될 수 있다. 이하의 실시예에서도 마찬가지이다.
도 4는 본 발명의 일 실시예에 따른 비트-직렬 방식의 복호기의 최소값 탐색 방법을 설명하기 위해 도시한 흐름도이다.
도 1 및 도 4를 참조하면, 단계(410)에서 상기 비트-직렬 방식의 복호기(100)의 비트값 비교부(110)는 복수의 입력값들 각각의 비트값을 최상위 비트에서부터 최하위 비트까지 순차적으로 비교한다. 이때, 상기 입력값들은 LDPC 복호기의 변수 노드에서 체크 노드로 전송되는 값들을 포함할 수 있다.
다음으로, 단계(420)에서 상기 비트-직렬 방식의 복호기(100)의 활성화/비활성화 처리부(120)는 상기 비트값 비교부(110)의 비교 결과에 따라, 상기 입력값들 각각의 비트값의 활성화 여부를 결정한다. 상기 단계(420)에 대한 자세한 설명은 도 5를 참조하여 후술한다.
상기 최상위 비트에서부터 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부(120)에 의해 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견되는 경우(430의 "예" 방향), 단계(340)에서 상기 비트-직렬 방식의 복호기(100)의 제1 최소값 결정부(130)는 상기 제1 비트에서 활성화된 비트값을 가지는 입력값을 제1 최소값으로 결정한다.
반면, 상기 최상위 비트에서부터 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부(120)에 의해 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견되지 않는 경우(430의 "아니오" 방향), 상기 비트-직렬 방식의 복호기(100)는 상기 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견될 때까지 상기 단계(410)에서 상기 단계(430)까지를 반복 수행한다.
다음으로, 단계(450)에서 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 제1 최소값이 결정된 상기 제1 비트에서, 상기 활성화/비활성화 처리부(120)에 의해 비활성화된 비트값을 반전 처리하여 제2 최소값을 결정한다. 상기 단계(450)에 대한 자세한 설명은 도 6을 참조하여 후술한다.
도 5는 본 발명의 일 실시예에 따라 입력값들 각각의 비트값에 대한 활성화 여부를 결정하는 과정을 설명하기 위해 도시한 흐름도이다.
도 1 및 도 5를 참조하면, 단계(510)에서 상기 비트-직렬 방식의 복호기(100)의 활성화/비활성화 처리부(120)는 상기 최상위 비트에서부터 상기 제1 비트까지 한 비트 단위로 비교한 결과, 상기 각각의 비트값 중 상대적으로 작은 비트값을 활성화 처리한다.
다음으로, 단계(520)에서 상기 비트-직렬 방식의 복호기(100)의 활성화/비활성화 처리부(120)는 상기 활성화 처리된 비트값에 상태 플래그 '0'을 부여한다.
다음으로, 단계(530)에서 상기 비트-직렬 방식의 복호기(100)의 활성화/비활성화 처리부(120)는 상기 최상위 비트에서부터 상기 제1 비트까지 한 비트 단위로 비교한 결과, 상기 각각의 비트값 중 상대적으로 큰 비트값을 비활성화 처리한다.
다음으로, 단계(540)에서 상기 비트-직렬 방식의 복호기(100)의 활성화/비활성화 처리부(120)는 상기 비활성화 처리된 비트값에 상태 플래그 '1'을 부여한다.
도 6은 본 발명의 일 실시예에 따라 제2 최소값을 결정하는 과정을 설명하기 위해 도시한 흐름도이다.
도 1 및 도 6을 참조하면, 단계(610)에서 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트부터 상기 최하위 비트까지의 비트값들을 순차적으로 입력받는다.
다음으로, 단계(620)에서 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 입력된 비트값들의 상태 플래그를 분석한다. 여기서, 상기 분석 대상의 상태 플래그는 상기 활성화/비활성화 처리부(120)에 의해 상기 입력된 비트값들에 이미 부여되어 레지스터에 저장된 것이므로, 상기 제2 최소값 결정부(140)는 상기 레지스터에 저장된 상태 플래그를 체크하는 것으로 상기 입력된 비트값들의 상태 플래그를 분석하여 그 결과를 출력할 수 있다.
다음으로, 단계(630)에서 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 입력된 비트값들의 상태 플래그가 '0'인 것이 하나인지 여부를 판단한다.
상기 판단 결과, 상태 플래그 '0'이 하나인 경우(630의 "예" 방향), 단계(640)에서 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 해당 비트값을 가지는 입력값을 상기 제2 최소값으로 결정한다.
반면, 상기 판단 결과, 상태 플래그 '0'이 하나가 아닌 경우(630의 "아니오" 방향), 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 제1 비트의 다음 비트에 대해 상기 단계(610)에서 상기 단계(630)까지의 과정을 상태 플래그 '0'이 하나가 될 때까지 반복 수행한다.
도 7은 본 발명의 다른 실시예에 따른 비트-직렬 방식의 복호기의 최소값 탐색 방법을 설명하기 위해 도시한 흐름도이다. 참고로, 도 7은 제2 최소값이 하나인 경우로 한정한 실시 형태를 나타낸다.
도 1 및 도 7을 참조하면, 단계(710)에서 상기 비트-직렬 방식의 복호기(100)의 비트값 비교부(110)는 변수 노드에서 체크 노드로 전송되는 입력값들 각각의 비트값을 첫 번째 비트(최상위 비트)부터 마지막 비트(최하위 비트)까지 순차적으로 비교한다.
다음으로, 단계(720)에서 상기 비트-직렬 방식의 복호기(100)의 활성화/비활성화 처리부(120)는 상기 비교 결과에 따라 상기 각각의 비트값의 활성화 여부를 결정한다.
다음으로, 단계(730)에서 상기 비트-직렬 방식의 복호기(100)의 제1 최소값 결정부(130)는 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 가장 많은 입력값을 제1 최소값으로 결정한다.
다음으로, 단계(740)에서 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 상기 제1 최소값 다음으로 많은 입력값을 제2 최소값으로 결정한다.
도 8은 본 발명의 또 다른 실시예에 따른 비트-직렬 방식의 복호기의 최소값 탐색 방법을 설명하기 위해 도시한 흐름도이다. 참고로, 도 8은 제2 최소값이 복수개인 경우에 대한 실시 형태를 나타낸다.
도 1 및 도 8을 참조하면, 단계(810)에서 상기 비트-직렬 방식의 복호기(100)의 비트값 비교부(110)는 변수 노드에서 체크 노드로 전송되는 입력값들 각각의 비트값을 첫 번째 비트(최상위 비트)부터 마지막 비트(최하위 비트)까지 순차적으로 비교한다.
다음으로, 단계(820)에서 상기 비트-직렬 방식의 복호기(100)의 활성화/비활성화 처리부(120)는 상기 비교 결과에 따라 상기 각각의 비트값의 활성화 여부를 결정한다.
다음으로, 단계(830)에서 상기 비트-직렬 방식의 복호기(100)의 제1 최소값 결정부(130)는 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 가장 많은 입력값을 제1 최소값으로 결정한다.
다음으로, 단계(840)에서 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 상기 제1 최소값 다음으로 많은 입력값을 제2 최소값으로 결정한다.
이때, 상기 제2 최소값이 복수개인 경우(850의 "예" 방향), 단계(860)에서 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 제1 최소값이 결정된 임의의 제1 비트에서, 상기 복수개의 제2 최소값의 비트값을 반전 처리한다.
다음으로, 단계(870)에서 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트에서부터 임의의 제2 비트까지 연속하여 활성화 처리된 비트 수가 가장 많은 입력값을 제2 최소값으로 최종 결정한다.
물론, 상기 단계(850)에서 상기 제2 최소값이 복수개가 아닌 경우(850의 "아니오" 방향), 상기 비트-직렬 방식의 복호기(100)의 제2 최소값 결정부(140)는 상기 단계(860) 및 상기 단계(870)을 수행하지 않고 본 실시예를 즉시 종료한다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
[부호의 설명]
110: 비트값 비교부
120: 활성화/비활성화 처리부
130: 제1 최소값 결정부
140: 제2 최소값 결정부
150: 제어부

Claims (19)

  1. 입력값들 각각의 비트값을 최상위 비트에서부터 최하위 비트까지 순차적으로 비교하는 비트값 비교부;
    상기 비트값 비교부의 비교 결과에 따라, 상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 활성화/비활성화 처리부;
    상기 최상위 비트에서부터 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견되는 경우, 상기 제1 비트에서 활성화된 비트값을 가지는 입력값을 제1 최소값으로 결정하는 제1 최소값 결정부; 및
    상기 제1 최소값이 결정된 상기 제1 비트에서, 상기 활성화/비활성화 처리부에 의해 비활성화된 비트값을 반전 처리하여 제2 최소값을 결정하는 제2 최소값 결정부
    를 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  2. 제1항에 있어서,
    상기 입력값들은
    LDPC(Low-Density Parity-Check) 복호기의 변수 노드에서 체크 노드로 전송되는 값들을 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  3. 제1항에 있어서,
    상기 활성화/비활성화 처리부는
    상기 최상위 비트에서부터 상기 제1 비트까지 한 비트 단위로 비교한 결과에 따라, 상기 각각의 비트값 중 상대적으로 작은 비트값을 활성화 처리하고, 상대적으로 큰 비트값을 비활성화 처리하는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  4. 제3항에 있어서,
    상기 활성화/비활성화 처리부는
    상기 비트값의 활성화 또는 비활성화 처리 시, 해당 비트값에 상태 플래그(status flag)를 부여하고,
    상기 제1 및 제2 최소값 결정부는
    상기 상태 플래그에 기초하여 상기 제1 및 제2 최소값을 결정하는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  5. 제4항에 있어서,
    상기 활성화/비활성화 처리부는
    상기 비트값의 활성화 처리 시 해당 비트값에 '0'의 상태 플래그를 부여하고, 상기 비트값의 비활성화 처리 시 해당 비트값에 '1'의 상태 플래그를 부여하는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  6. 제3항에 있어서,
    상기 활성화/비활성화 처리부는
    상기 비활성화 처리 시, 해당 입력값의 비트값들을 상기 비활성화 처리된 비트에서부터 상기 최하위 비트까지 모두 비활성화 처리하여 상기 제1 및 제2 최소값 후보에서 제외시키는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  7. 제1항에 있어서,
    상기 제2 최소값 결정부는
    상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트와 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제2 비트가 최초로 발견되는 경우, 상기 제2 비트에서 활성화된 비트값을 가지는 입력값을 상기 제2 최소값으로 결정하는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  8. 입력값들 각각의 비트값을 최상위 비트부터 최하위 비트까지 순차적으로 비교하는 비트값 비교부;
    상기 비교 결과에 따라 상기 각각의 비트값의 활성화 여부를 결정하는 활성화/비활성화 처리부;
    상기 입력값들 중 연속으로 활성화 처리된 비트 수가 가장 많은 입력값을 제1 최소값으로 결정하는 제1 최소값 결정부; 및
    상기 입력값들 중 연속으로 활성화 처리된 비트 수가 상기 제1 최소값 다음으로 많은 입력값을 제2 최소값으로 결정하는 제2 최소값 결정부
    를 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  9. 제8항에 있어서,
    상기 제2 최소값 결정부는
    상기 제2 최소값 결정부에 의해 결정된 상기 제2 최소값이 복수개일 경우, 상기 제1 최소값이 결정된 임의의 제1 비트에서, 상기 복수개의 제2 최소값의 비트값을 반전 처리하여 상기 제2 최소값을 결정하는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  10. 제9항에 있어서,
    상기 제2 최소값 결정부는
    상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트에서부터 임의의 제2 비트까지 연속하여 활성화 처리된 비트 수가 가장 많은 입력값을 상기 제2 최소값으로 결정하는 것을 특징으로 하는 비트-직렬 방식의 복호기.
  11. 비트-직렬 방식의 복호기의 비트값 비교부에서, 입력값들 각각의 비트값을 최상위 비트에서부터 최하위 비트까지 순차적으로 비교하는 단계;
    상기 비트-직렬 방식의 복호기의 활성화/비활성화 처리부에서, 상기 비트값 비교부의 비교 결과에 따라, 상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 단계;
    상기 비트-직렬 방식의 복호기의 제1 최소값 결정부에서, 상기 최상위 비트에서부터 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제1 비트가 최초로 발견되는 경우, 상기 제1 비트에서 활성화된 비트값을 가지는 입력값을 제1 최소값으로 결정하는 단계; 및
    상기 비트-직렬 방식의 복호기의 제2 최소값 결정부에서, 상기 제1 최소값이 결정된 상기 제1 비트에서, 상기 활성화/비활성화 처리부에 의해 비활성화된 비트값을 반전 처리하여 제2 최소값을 결정하는 단계
    를 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기의 최소값 탐색 방법.
  12. 제11항에 있어서,
    상기 입력값들은
    LDPC 복호기의 변수 노드에서 체크 노드로 전송되는 값들을 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기의 최소값 탐색 방법.
  13. 제11항에 있어서,
    상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 단계는
    상기 최상위 비트에서부터 상기 제1 비트까지 한 비트 단위로 비교한 결과에 따라, 상기 각각의 비트값 중 상대적으로 작은 비트값을 활성화 처리하고, 상대적으로 큰 비트값을 비활성화 처리하는 단계
    를 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기의 최소값 탐색 방법.
  14. 제13항에 있어서,
    상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 단계는
    상기 비트값의 활성화 또는 비활성화 처리 시, 해당 비트값에 상태 플래그(status flag)를 부여하는 단계
    를 더 포함하고,
    상기 상태 플래그는
    상기 제1 및 제2 최소값의 결정하기 위한 기초 자료로서 이용되는 것을 특징으로 하는 비트-직렬 방식의 복호기의 최소값 탐색 방법.
  15. 제13항에 있어서,
    상기 입력값들 각각의 비트값의 활성화 여부를 결정하는 단계는
    상기 비활성화 처리 시, 해당 입력값의 비트값들을 상기 비활성화 처리된 비트에서부터 상기 최하위 비트까지 모두 비활성화 처리하여 상기 제1 및 제2 최소값 후보에서 제외시키는 단계
    를 더 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기의 최소값 탐색 방법.
  16. 제11항에 있어서,
    상기 제2 최소값을 결정하는 단계는
    상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트와 상기 최하위 비트 사이에서, 상기 활성화/비활성화 처리부에 의해 활성화된 비트값이 하나인 임의의 제2 비트가 최초로 발견되는 경우, 상기 제2 비트에서 활성화된 비트값을 가지는 입력값을 상기 제2 최소값으로 결정하는 단계
    를 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기의 최소값 탐색 방법.
  17. 비트-직렬 방식의 복호기의 비트값 비교부에서, 입력값들 각각의 비트값을 최상위 비트부터 최하위 비트까지 순차적으로 비교하는 단계;
    상기 비트-직렬 방식의 복호기의 활성화/비활성화 처리부에서, 상기 비교 결과에 따라 상기 각각의 비트값의 활성화 여부를 결정하는 단계;
    비트-직렬 방식의 복호기의 제1 최소값 결정부에서, 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 가장 많은 입력값을 제1 최소값으로 결정하는 단계; 및
    비트-직렬 방식의 복호기의 제2 최소값 결정부에서, 상기 입력값들 중 연속으로 활성화 처리된 비트 수가 상기 제1 최소값 다음으로 많은 입력값을 제2 최소값으로 결정하는 단계
    를 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기의 최소값 탐색 방법.
  18. 제17항에 있어서,
    상기 제2 최소값 결정부에 의해 결정된 상기 제2 최소값이 복수개일 경우,
    상기 제2 최소값 결정부에서, 상기 제1 최소값이 결정된 임의의 제1 비트에서, 상기 복수개의 제2 최소값의 비트값을 반전 처리하여 상기 제2 최소값을 결정하는 단계
    를 더 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기의 최소값 탐색 방법.
  19. 제18항에 있어서,
    상기 제2 최소값을 결정하는 단계는
    상기 제1 비트에서 반전 처리를 통해 활성화된 비트값을 가지는 입력값들에 대해, 상기 제1 비트에서부터 임의의 제2 비트까지 연속하여 활성화 처리된 비트 수가 가장 많은 입력값을 상기 제2 최소값으로 결정하는 단계
    를 포함하는 것을 특징으로 하는 비트-직렬 방식의 복호기의 최소값 탐색 방법.
PCT/KR2014/009205 2014-04-22 2014-09-30 비트-직렬 방식의 복호기 및 그 최소값 탐색 방법 Ceased WO2015163545A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0048065 2014-04-22
KR1020140048065A KR101618854B1 (ko) 2014-04-22 2014-04-22 비트-직렬 방식의 복호기 및 그 최소값 탐색 방법

Publications (1)

Publication Number Publication Date
WO2015163545A1 true WO2015163545A1 (ko) 2015-10-29

Family

ID=54332685

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/009205 Ceased WO2015163545A1 (ko) 2014-04-22 2014-09-30 비트-직렬 방식의 복호기 및 그 최소값 탐색 방법

Country Status (2)

Country Link
KR (1) KR101618854B1 (ko)
WO (1) WO2015163545A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080222499A1 (en) * 2007-03-09 2008-09-11 Hung Jui-Hui Cyclic comparison method for low-density parity-check decoder
US20080292025A1 (en) * 2006-04-28 2008-11-27 Andrey Efimov Low Density Parity Check (Ldpc) Code Decoder
US20090164540A1 (en) * 2007-12-19 2009-06-25 Electronics And Telecommunications Research Institute Apparatus and method for updating check node of low density parity check code
US20100037119A1 (en) * 2006-12-05 2010-02-11 Jong-Ee Oh Apparatus and method for updating check node of low-density parity check codes
US8234320B1 (en) * 2007-10-25 2012-07-31 Marvell International Ltd. Bitwise comparator for selecting two smallest numbers from a set of numbers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080292025A1 (en) * 2006-04-28 2008-11-27 Andrey Efimov Low Density Parity Check (Ldpc) Code Decoder
US20100037119A1 (en) * 2006-12-05 2010-02-11 Jong-Ee Oh Apparatus and method for updating check node of low-density parity check codes
US20080222499A1 (en) * 2007-03-09 2008-09-11 Hung Jui-Hui Cyclic comparison method for low-density parity-check decoder
US8234320B1 (en) * 2007-10-25 2012-07-31 Marvell International Ltd. Bitwise comparator for selecting two smallest numbers from a set of numbers
US20090164540A1 (en) * 2007-12-19 2009-06-25 Electronics And Telecommunications Research Institute Apparatus and method for updating check node of low density parity check code

Also Published As

Publication number Publication date
KR101618854B1 (ko) 2016-05-10
KR20150121893A (ko) 2015-10-30

Similar Documents

Publication Publication Date Title
WO2015012572A1 (en) Apparatus and method for receiving signal in communication system supporting low density parity check code
WO2015111850A1 (en) Interactive system, display apparatus, and controlling method thereof
WO2016133316A1 (en) Electronic device and method of operating voice recognition function
WO2014092502A1 (en) Encoding method and apparatus using crc code and polar
WO2021091022A1 (ko) 머신 러닝 시스템 및 머신 러닝 시스템의 동작 방법
WO2017043769A1 (ko) 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법
WO2014003254A1 (ko) 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법
WO2022107997A1 (ko) 편향된 오류 기반 양자 오류 정정 부호 최적화 방법 및 장치
WO2015163545A1 (ko) 비트-직렬 방식의 복호기 및 그 최소값 탐색 방법
WO2022010064A1 (ko) 전자 장치 및 그의 제어 방법
WO2015053441A1 (ko) 식별키 생성 장치 및 방법
WO2018101607A1 (ko) 벡터 프로세서 및 그 제어 방법
WO2023177025A1 (ko) 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치
WO2014010938A1 (en) Apparatus and method for transmitting/receiving packet in broadcasting and communication system
WO2023018157A1 (ko) 저밀도 패리티 체크 부호를 이용한 dna 데이터 부호화 및 복호화 방법, 프로그램 및 장치
WO2023177108A1 (en) Method and system for learning to share weights across transformer backbones in vision and language tasks
WO2015137722A1 (ko) Vliw 명령어를 처리하는 방법 및 장치와 vliw 명령어를 처리하기 위한 명령어를 생성하는 방법 및 장치
WO2023008797A1 (ko) 전자 장치 및 전자 장치의 제어 방법
EP3060981A1 (en) Method and processor for executing instructions, method and apparatus for encoding instructions, and recording medium therefor
WO2016006813A1 (en) Image forming apparatus for determining defects of light-emitting element array chips
WO2022250195A1 (ko) 연속적인 부분 신드롬 검색을 이용하는 고속 연판정 기반 선형 부호의 복호화 방법 및 장치
WO2023008672A1 (ko) 유사 이미지 분류를 위한 딥 러닝 성능 향상 방법 및 장치
EP4285367A1 (en) Method and system for searching target node related to queried entity in network
WO2017126715A1 (ko) 나눗셈 연산을 처리하는 방법, 장치 및 기록매체
US6769005B1 (en) Method and apparatus for priority resolution

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: 14890263

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: 14890263

Country of ref document: EP

Kind code of ref document: A1