KR101630114B1 - LDPC Decoding Device and Method Using Min-Sum Algorithm - Google Patents

LDPC Decoding Device and Method Using Min-Sum Algorithm Download PDF

Info

Publication number
KR101630114B1
KR101630114B1 KR1020150020615A KR20150020615A KR101630114B1 KR 101630114 B1 KR101630114 B1 KR 101630114B1 KR 1020150020615 A KR1020150020615 A KR 1020150020615A KR 20150020615 A KR20150020615 A KR 20150020615A KR 101630114 B1 KR101630114 B1 KR 101630114B1
Authority
KR
South Korea
Prior art keywords
minimum value
difference
decoding
value
minimum
Prior art date
Application number
KR1020150020615A
Other languages
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
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020150020615A priority Critical patent/KR101630114B1/en
Application granted granted Critical
Publication of KR101630114B1 publication Critical patent/KR101630114B1/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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule

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 low density parity check (LDPC) decoding device and an LDPC decoding method using a minimum sum algorithm. The method comprises the following steps: (a) acquiring a difference (d_min) between a first minimum which is the least value in the minimum sum algorithm and a second minimum which is the second least value in the minimum sum algorithm; (b) comparing the difference (d_min) between the first and the second minimums acquired in the step (a) with a preset threshold; and (c) omitting parity check when the difference (d_min) between the first minimum and the second minimum is smaller than the predetermined threshold. According to the present invention, a channel state can be estimated without separate information about a channel to be reflected in decoding, and a computation amount according to repetitive decoding can be reduced.

Description

최소합 알고리즘을 이용한 LDPC 복호화 장치 및 방법{LDPC Decoding Device and Method Using Min-Sum Algorithm}(LDPC Decoding Device and Method Using Min-Sum Algorithm)

본 발명의 실시예들은 LDPC 복호화 장치 및 방법에 관한 것으로서, 더욱 상세하게는 최소합 알고리즘을 이용한 LDPC 복호화 장치 및 방법에 관한 것이다.
Embodiments of the present invention relate to an LDPC decoding apparatus and method, and more particularly, to an LDPC decoding apparatus and method using a minimum sum algorithm.

4세대 무선 이동 통신 시스템에서는 사용자에게 다양한 멀티미디어 서비스를 제공하기 위해 고속의 데이터 전송률(data transfer rate)과 낮은 오류율(error rate)을 요구하고 있다. 보다 구체적으로, 4세대 무선 이동 통신에서는 고속 이동 시 최대 100Mbps, 저속 이동 또는 정지 시 최대 155Mbps~1Gbps의 데이터 전송 속도를 요구하고 있다. 따라서 열악한 전송 환경에서 고품질, 고신뢰성 통신을 수행하기 위해서는 채널 부호화/복호화 기술이 필수적으로 수반되어야 한다. In the fourth generation wireless mobile communication system, a high data transfer rate and a low error rate are required to provide various multimedia services to users. More specifically, in the fourth generation wireless mobile communication, a maximum data transmission speed of 100 Mbps is required for high-speed movement, and a maximum data transmission speed of 155 Mbps to 1 Gbps is required for low-speed movement or suspension. Accordingly, in order to perform high-quality and high-reliability communication in a poor transmission environment, channel encoding / decoding technology must be involved.

채널 부호화 기술은 채널의 성격에 따라 여러 가지 형태로 변형되어 사용될 수 있는데, 기본적으로 오류 정정 코드(error correcting code)를 이용하여 신호를 부호화/복호화하는 기술이 공통적으로 사용된다. The channel coding technique can be used in various forms according to the characteristics of a channel. Basically, a technique of encoding / decoding a signal using an error correcting code is commonly used.

오류 정정 코드는 신뢰할 수 없는 채널 상에서 신뢰할 수 있는 통신을 달성하기 위해 사용되는 것으로서, 대표적인 예로 저 밀도 패리티 검사(LDPC: Low Density Parity Check) 코드를 이용한 부호화/복호화 기법(이하, 'LDPC 코딩'이라고 한다)이 있다. The error correction code is used for achieving reliable communication on an unreliable channel. As a typical example, an error correction code is encoded / decoded using a Low Density Parity Check (LDPC) code (hereinafter referred to as LDPC coding) ).

LDPC 코딩은 간단한 확률적(probabilistic) 복호법을 이용한 코딩 기법으로서, 반복 복호를 통하여 수신 신호를 복호화한다. LDPC 코딩은 대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 0의 값을 가지는 엘리먼트들 이외의 극소수의 엘리먼트들이 0이 아닌 값(non-zero value, 예를 들어 1의 값)을 가지는 패리티 검사 행렬(Parity Check Matrix)에 의해 정의된다. LDPC coding is a coding technique using a simple probabilistic decoding method, and decodes a received signal through iterative decoding. LDPC coding requires that most elements have a zero value and that few elements other than elements having a value of zero have a non-zero value (e.g., a value of 1) It is defined by a parity check matrix.

LDPC 코딩 기법에서, 각각의 반복 복호화 단계에서는 시험 복호화(tentative decoding)를 통해 시험 코드(tentative code)를 생성하고, 패리티 검사(parity check)를 통해 생성된 시험 코드가 유효한 부호어(valid codeword)인지를 확인한다. 만약, 생성된 시험코드가 유효한 부호어가 아닌 경우 복호화가 반복되어 수행되고, 생성된 시험 코드가 유효한 부호어인 경우, 복호화가 중단된다. 이 때, 복호화 횟수가 증가할수록 생성된 시험 코드가 유효한 부호어일 확률은 증가한다. In the LDPC coding scheme, in each iterative decoding step, a tentative code is generated through tentative decoding, and a test code generated through a parity check is a valid codeword . If the generated test code is not a valid codeword, decryption is repeatedly performed, and if the generated test code is a valid codeword, decryption is stopped. At this time, as the number of decoding increases, the probability that the generated test code is a valid code word increases.

근래에 들어, 스마트폰과 같이 배터리로 동작하는 휴대용 전자 장비의 사용이 급증하면서 저전력으로 동작에 대한 연구가 급증하고 있다. LDPC 복호화 알고리즘은 각 복호화 단계마다 패리티 체크를 수행하며, 패리티 체크가 성공할 때까지 계속적으로 반복 복호화가 이루어지는 바, 저전력 동작을 위해 복호화 연산을 최소화하기 위한 복호화 장치 및 방법이 요구되고 있다.
Recently, the use of battery-operated portable electronic equipment such as a smart phone has been rapidly increasing, and research on operation with a low power has been rapidly increasing. The LDPC decoding algorithm performs a parity check for each decoding step, and iterative decoding is continuously performed until the parity check is successful. Therefore, a decoding apparatus and a method for minimizing a decoding operation for low power operation are required.

본 발명의 일 측면은 저 전력으로 동작 가능한 최소화 알고리즘을 이용한 LDPC 복호화 장치 및 방법을 제공하는 것이다. An aspect of the present invention is to provide an LDPC decoding apparatus and method using a minimization algorithm that can operate at low power.

본 발명의 다른 측면은 별도의 채널 상태에 대한 정보 없이 채널 상태를 예측하여 복호화에 반영할 수 있는 최소합 알고리즘을 이용한 LDPC 복호화 장치 및 방법을 제공하는 것이다. Another aspect of the present invention is to provide an LDPC decoding apparatus and method using a minimum sum algorithm that can predict a channel state without information on a separate channel state and reflect the decoded channel state to decoding.

본 발명의 또 다른 측면은 반복 복호화에 따른 연산량을 줄일 수 있는 최소합 알고리즘을 이용한 LDPC 복호화 장치 및 방법을 제공하는 것이다.
Another aspect of the present invention is to provide an LDPC decoding apparatus and method using a least sum algorithm that can reduce the amount of computation according to iterative decoding.

상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 최소합 알고리즘을 이용한 LDPC 복호화 방법으로서, 상기 최소합 알고리즘에서 가장 작은 최소값인 제1 최소값 및 다음으로 작은 최소값인 제2 최소값의 차(d_min)를 획득하는 단계(a); 상기 단계(a)에서 획득한 제1 최소값 및 제2 최소값의 차(d_min)를 미리 설정된 임계값과 비교하는 단계(b); 상기 제1 최소값 및 제2 최소값의 차(d_min)가 상기 미리 설정된 임계값보다 작을 경우 패리티 체크를 생략하는 단계(c)를 포함하는 최소합 알고리즘을 이용한 LDPC 복호화 방법이 제공된다. In order to achieve the above object, according to a preferred embodiment of the present invention, there is provided a method of decoding an LDPC using a least sum algorithm, the method comprising: calculating a difference between a first minimum value, which is the smallest minimum value and a second minimum value, (d_min) of the image; (B) comparing a difference (d_min) between the first minimum value and the second minimum value obtained in the step (a) with a preset threshold value; And omitting a parity check if the difference d_min between the first minimum value and the second minimum value is smaller than the preset threshold value.

상기 제1 최소값 및 상기 제2 최소값은 체크 노드 연산 결과를 이용하여 획득한다.The first minimum value and the second minimum value are obtained using the check node calculation result.

상기 방법은 상기 제1 최소값 및 제2 최소값의 차(d_min)가 미리 설정된 임계값보다 작을 경우 상기 패리티 체크와 함께 시험 복호화를 생략하는 단계(d)를 더 포함할 수 있다. The method may further include the step (d) of omitting test decryption with the parity check if the difference (d_min) between the first minimum value and the second minimum value is smaller than a preset threshold value.

상기 제1 최소값 및 제2 최소값의 차(d_min)가 상기 미리 설정된 임계값 이상일 경우 상기 패리티 체크 및 시험 복호화를 수행한다. And performs parity check and test decoding when the difference d min between the first minimum value and the second minimum value is equal to or greater than the preset threshold value.

상기 단계(a) 내지 (c)는 각 반복 복호화 단계마다 수행되며, 특정 반복 복호화 단계에서 패리티 체크를 생략하지 않는 것으로 결정될 경우, 해당 반복 복호화 단계 이후의 반복 복호화 단계에서는 상기 단계 (b) 및 (c)를 수행하지 않는다. If it is determined that the parity check is not omitted in the specific iterative decoding step, the steps (a) to (c) are performed for each iterative decoding step, c) is not performed.

본 발명의 다른 측면에 따르면, 최소합 알고리즘을 이용한 LDPC 복호화 방법으로서, 상기 최소합 알고리즘에서 가장 작은 최소값인 제1 최소값 및 다음으로 작은 최소값인 제2 최소값의 차(d_min)를 획득하는 단계(a); 상기 제1 최소값 및 최소값의 차(d_min)가 미리 설정된 임계값보다 작고 현재 반복 복호수가 미리 설정된 기준 반복 복호수를 초과하는지 여부를 판단하는 단계(b); 상기 제1 최소값 및 최소값의 차(d_min)가 미리 설정된 임계값보다 작고 현재 반복 복호수가 미리 설정된 기준 반복 복호수를 초과할 경우 반복 복호화를 종료하는 단계(c)를 포함하는 최소합 알고리즘을 이용한 LDPC 복호화 방법이 제공된다. According to another aspect of the present invention, there is provided a method of LDPC decoding using a least sum algorithm, comprising: obtaining a difference (d_min) between a first minimum value which is the smallest minimum value and a second minimum value which is the next smallest minimum value in the minimum sum algorithm ); (B) determining whether the difference (d_min) between the first minimum value and the minimum value is smaller than a preset threshold value and the current number of iterative decoding exceeds the preset reference iteration number; (C) terminating iterative decoding when the difference (d_min) between the first minimum value and the minimum value is smaller than a predetermined threshold and the current number of iterative decodings exceeds a predetermined reference number of repeated iterations, A decoding method is provided.

본 발명의 또 다른 측면에 따르면, 최소합 알고리즘에 기초하여 체크 노드 연산 및 배리어블 노드 연산을 수행하는 체크노드/배리어블 노드 연산부; 상기 체크 노드 연산 시 출력되는 가장 작은 최소값인 제1 최소값 및 다음으로 작은 최소값인 제2 최소값의 차(d_min)를 획득하는 최소값차 획득부; 및 상기 제1 최소값 및 상기 제2 최소값의 차(d_min)가 미리 설정된 임계값보다 작을 경우 패리티 체크를 생략하며, 상기 제1 최소값 및 상기 제2 최소값의 차(d_min)가 미리 설정된 임계값 이상일 경우 패리티 체크를 수행하는 패리티 체크부를 포함하는 최소합 알고리즘을 이용한 LDPC 복호화 장치가 제공된다. According to another aspect of the present invention, there is provided a check node / permutable node operation unit that performs a check node operation and a permissible node operation based on a minimum sum algorithm; A minimum value difference obtaining unit for obtaining a difference (d_min) between a first minimum value which is a smallest minimum value outputted in the check node operation and a second minimum value which is a next smallest minimum value; And if the difference d_min between the first minimum value and the second minimum value is less than a preset threshold value, the parity check is skipped, and if the difference d_min between the first minimum value and the second minimum value is equal to or greater than a preset threshold value There is provided an LDPC decoding apparatus using a minimum sum algorithm including a parity check unit for performing a parity check.

본 발명의 또 다른 측면에 따르면, 최소합 알고리즘에 기초하여 체크 노드 연산 및 배리어블 노드 연산을 수행하는 체크노드/배리어블 노드 연산부; 상기 체크 노드 연산 시 출력되는 가장 작은 최소값인 제1 최소값 및 다음으로 작은 최소값인 제2 최소값의 차(d_min)를 획득하는 최소값차 획득부; 및 상기 제1 최소값 및 최소값의 차(d_min)가 미리 설정된 임계값보다 작고 현재 반복 복호수가 미리 설정된 기준 반복 복호수를 초과할 경우 반복 복호화를 종료하는 조기 종료 판단부를 포함하는 최소합 알고리즘을 이용한 LDPC 복호화 장치가 제공된다.
According to another aspect of the present invention, there is provided a check node / permutable node operation unit that performs a check node operation and a permissible node operation based on a minimum sum algorithm; A minimum value difference obtaining unit for obtaining a difference (d_min) between a first minimum value which is a smallest minimum value outputted in the check node operation and a second minimum value which is a next smallest minimum value; And an early termination determination unit for terminating iterative decoding when the difference (d_min) between the first minimum value and the minimum value is less than a predetermined threshold value and the current number of iteration decodings exceeds a predetermined reference number of repeated iterations, A decoding apparatus is provided.

본 발명의 실시예들에 의하면, 별도의 채널 상태에 대한 정보 없이 채널 상태를 예측하여 복호화에 반영할 수 있는 장점이 있다.According to embodiments of the present invention, there is an advantage that a channel state can be predicted and reflected in decoding without information on a separate channel state.

또한 본 발명의 실시예들에 의하면, 반복 복호화에 따른 연산량을 줄일 수 있는 장점이 있다.
According to the embodiments of the present invention, it is possible to reduce the amount of calculation according to iterative decoding.

도 1은 제1 최소값과 제2 최소값의 차이와 총 반복 횟수와의 관계를 나타낸 표.
도 2는 SNR별로 제2 최소값과 제1 최소값의 차(d_min)와 총 반복 횟수와의 관계를 나타낸 그래프.
도 3은 본 발명의 제1 실시예에 따른 LDPC 복호화 장치의 구조를 도시한 블록도.
도 4는 본 발명의 제2 실시예에 따른 LDPC 복호화 장치의 구조를 도시한 블록도.
도 5는 본 발명의 제1 실시예에 따른 LDPC 복호화 방법의 흐름을 도시한 순서도.
도 6은 본 발명의 제2 실시예에 따른 LDPC 복호화 방법의 흐름을 도시한 순서도.
도 7은 일반적인 LDPC 부호화의 개념을 설명하기 위한 도면.
1 is a table showing the relationship between the difference between the first minimum value and the second minimum value and the total number of repetitions.
2 is a graph showing the relationship between the difference (d_min) between the second minimum value and the first minimum value and the total number of repetitions for each SNR.
3 is a block diagram showing a structure of an LDPC decoding apparatus according to a first embodiment of the present invention;
4 is a block diagram illustrating a structure of an LDPC decoding apparatus according to a second embodiment of the present invention;
5 is a flowchart showing a flow of an LDPC decoding method according to the first embodiment of the present invention.
6 is a flowchart showing a flow of an LDPC decoding method according to a second embodiment of the present invention.
FIG. 7 is a diagram for explaining the concept of general LDPC coding; FIG.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 7은 일반적인 LDPC 부호화의 개념을 설명하기 위한 도면이다. 7 is a diagram for explaining the concept of general LDPC coding.

도 7에서는 패리티 체크 행렬의 일 예 및 패리티 체크 행렬에 대응하는 팩터 그래프(factor graph)를 도시하고 있다. FIG. 7 shows an example of a parity check matrix and a factor graph corresponding to a parity check matrix.

블록 코드의 하나인 LDPC 코드는 패리티 체크 행렬에 의해 정의된다. LDPC 코드는 복호화의 복잡도를 줄이기 위하여 적은 개수의 '1'을 포함하는 패리티 체크 행렬을 사용한다. LDPC 코드에서, 복호화는 연판정(soft decision) 복호화 알고리즘인 합-곱(sum-product) 알고리즘 또는 최소 합(min-sum) 알고리즘 등을 이용하여 수행될 수 있다. The LDPC code, which is one of the block codes, is defined by a parity check matrix. The LDPC code uses a parity check matrix including a small number of '1' to reduce decoding complexity. In the LDPC code, the decoding may be performed using a sum-product algorithm or a min-sum algorithm, which is a soft decision decoding algorithm.

여기서, (소스) 데이터들이 k 비트(bits)이고, LDPC 코드에 따라 부호화된 데이터들이 n 비트라고 가정한다. 이 때, n 비트의 부호화된 데이터들은 k 비트의 데이터들과 (n-k) 비트의 패리티들을 포함한다. 이 때, k 비트의 데이터들과 (n-k) 비트의 패리티들이 배리어블 노드(variable node)들에 대응되고, 체크(check) 비트들이 체크 노드들에 대응된다고 가정하는 경우, 패리티 체크 행렬은 배리어블 노드들과 체크 노드들의 연결 관계를 기초로 정의될 수 있다.Here, it is assumed that the (source) data is k bits and the data encoded according to the LDPC code is n bits. At this time, the n bits of encoded data include k bits of data and (n-k) bits of parity. At this time, when it is assumed that k bits of data and parities of (nk) bits correspond to variable nodes and check bits correspond to check nodes, the parity check matrix is a barrierable It can be defined based on the connection relationship between nodes and check nodes.

LDPC 부호화 장치는 하기 수학식 1의 제한(constraint)을 가지고 부호화된 데이터들을 생성할 수 있다.The LDPC encoding apparatus can generate encoded data with the constraint of Equation (1).

Figure 112015014324026-pat00001
Figure 112015014324026-pat00001

Figure 112015014324026-pat00002
Figure 112015014324026-pat00002

여기서, H는 m x n 차원의 패리티 체크 행렬, m은 체크 노드들의 개수, X는 n 비트의 부호화된 데이터들(부호어(codeword)), u는 k 비트의 (소스) 데이터들, G는 n x k 차원의 생성 매트릭스(generating matrix)를 각각 의미한다. Here, H is an mxn-dimensional parity check matrix, m is the number of check nodes, X is n-bit coded data (codeword), u is k-bit (source) data, Respectively. ≪ / RTI >

패리티 체크 행렬의 각 열(column)에 포함되는 1의 개수는 배리어블 노드 차수로 불려진다. 또한, 패리티 체크 행렬의 각 행(row)에 포함되는 1의 개수는 체크 노드 차수로 불려진다. 각 열에 대한 배리어블 노드 차수가 모두 동일하고, 각 행에 대한 체크 노드 차수가 모두 동일한 경우, LDPC 코드는 균일(regular) LDPC 코드이며, 각 열에 대한 변수 노드 차수가 다르거나, 각 행에 대한 체크 노드 차수가 다른 경우, LDPC 코드는 비균일 LDPC 코드이다.The number of 1s included in each column of the parity check matrix is called the permissible node degree. In addition, the number of 1s included in each row of the parity check matrix is called a check node degree. If all the permutable node orders for each column are the same and the check node orders for each row are all the same, the LDPC code is a regular LDPC code, and the variable node degree for each column is different, When the node degree is different, the LDPC code is a non-uniform LDPC code.

도 7을 참조하면, 패리티 체크 행렬(H)은 배리어블 노드들(v1, v2,... v10)과 체크 노드들(c1, c2, c3 ,..., c5)의 연결 관계에 기초하여 정의된다. 배리어블 노드들(v1, v2, ...,v10)은 부호화된 데이터들에 대응되며, 부호화된 데이터들은 데이터 비트들과 패리티 비트들을 포함한다. 또한, 체크 노드들은 체크 비트들에 대응된다. 패리티 체크 행렬(H)의 차원은 배리어블 노드들의 개수 및 체크 노드들의 개수에 따라 5 x 10이다.7, the parity check matrix (H) is a barrier block nodes (v 1, v 2, ... v 10) and check nodes (c 1, c 2, c 3, ..., c 5 ). ≪ / RTI > The viable nodes v 1 , v 2 , ..., v 10 correspond to coded data, and the coded data includes data bits and parity bits. Also check nodes correspond to check bits. The dimension of the parity check matrix H is 5 x 10 according to the number of the permissible nodes and the number of check nodes.

배리어블 노드들 및 체크 노드들 사이의 연결 관계를 나타낸 팩터 그래프 상에서, v1은 c1 및 c3와 연결되어 있으므로, 패리티 체크 행렬(H)의 1열1행 원소와 1열 3행 원소는 '1'이고, 1열의 나머지 원소들은 모두 0으로 결정된다. 마찬가지로, v2는 c1 및 c2와 연결되어 있으므로, 2열1행 원소와 2열2행 원소는 '1'이고 2열의 나머지 원소들은 모두 '0'임을 알 수 있다. 상술한 방식으로, 패리티 체크 행렬의 모든 원소들은 '1' 또는 '0' 중 어느 하나로 결정된다.V 1 is connected to c 1 and c 3 on the factor graph representing the connection relationship between the permissible nodes and the check nodes, so that the first-row one-row one-row and one-column three-row elements of the parity check matrix H '1', and the rest of the elements in the first column are all set to zero. Similarly, since v 2 is connected to c 1 and c 2 , it can be seen that the elements of row 2 row 1 row and column 2 row 2 are '1', and the rest of the elements of row 2 are '0'. In the above-described manner, all elements of the parity check matrix are determined to be either '1' or '0'.

또한, 배리어블 노드 차수는 각각의 변수 노드들에 연결된 선들의 개수와 동일하며, 체크 노드 차수는 각각의 체크 노드들에 연결된 선들의 개수와 동일하다. 즉, 도 7의 팩터 그래프를 참조하면, 배리어블 노드들 각각에는 두 개의 선들이 연결되어 있으므로, 변수 노드 차수는 '2'임을 알 수 있다. 또한, 체크 노드 차수는 '4'이다.Also, the barrier node degree is equal to the number of lines connected to the respective variable nodes, and the check node degree is the same as the number of lines connected to the respective check nodes. That is, referring to the factor graph of FIG. 7, since two lines are connected to each of the barrier nodes, the variable node degree is '2'. The check node degree is '4'.

상기의 부호화 방법에 따라 부호화된 데이터들에 대해 복호화를 수행하는 경우, 배리어블 노드들 및 체크 노드들 각각은 연결된 다른 노드들로 자신의 복호화 결과를 전송하거나, 다른 노드들의 복호화 결과를 수신한다. 즉, 하나의 노드가 다른 노드로부터 다른 노드의 복호화 결과를 수신하는 경우, 상기 하나의 노드는 다른 노드의 복호화 결과를 이용하여 복호화를 수행하고, 자신의 복호화 결과를 자신과 연결된 다른 노드로 전송한다. When decrypting the coded data according to the above coding method, each of the permutable nodes and the check nodes transmits its decryption result to other connected nodes or receives decryption results of other nodes. That is, when one node receives a decoding result of another node from another node, the one node decodes using the decoding result of the other node and transmits its decoding result to another node connected thereto .

이 때, 체크 노드들에서 수행되는 복호화 동작을 체크 노드 연산(check node operation)이라 하고, 배리어블 노드들에서 수행되는 복호화 동작을 배리어블 노드 연산(variable node operation)이라 한다. At this time, a decoding operation performed in the check nodes is referred to as a check node operation, and a decoding operation performed in the enabled nodes is referred to as a variable node operation.

체크 노드 연산 및 배리어블 노드 연산을 통해 시험 코드(tentative code)가 생성되고, 생성된 시험 코드는 패리티 검사(parity check)를 통해 유효한 부호어(valid codeword)인지를 검사 받는다. A tentative code is generated through a check node operation and a barrier node operation, and the generated test code is checked for a valid codeword through a parity check.

만약, 생성된 시험 코드가 유효한 부호어이면 복호화 동작이 종료되고, 유효한 부호어가 아니면 복호화 동작이 반복 수행된다. If the generated test code is a valid codeword, the decoding operation is ended. If the test code is not a valid codeword, the decoding operation is repeatedly performed.

부호화된 LDPC 코드에 대한 복호화를 위한 알고리즘에는 합곱 알고리즘, 최소합 알고리즘 등과 같이 다양한 알고리즘이 존재하며, 본 발명은 최소합 알고리즘을 이용한 LDPC 복호화 장치 및 방법에 적용된다. Various algorithms such as a summing algorithm and a minimum sum algorithm exist for decoding the encoded LDPC code, and the present invention is applied to an LDPC decoding apparatus and method using a least sum algorithm.

최소합 알고리즘은 LLR-SPA(Log-Likelyhood Ratio Sum-Product Algorithm)의 함수를 근사화환 알고리즘이다. The least-sum algorithm is a function of the LLR-SPA (Log-Likelihood Ratio Sum-Product Algorithm).

최소합 알고리즘에서 체크 노드가 수행하는 연산은 다음의 수학식 2와 같다. The operation performed by the check node in the least sum algorithm is expressed by Equation 2 below.

Figure 112015014324026-pat00003
Figure 112015014324026-pat00003

위 수학식 2에서, α는 최소합 알고리즘에 곱해주는 계수를 의미하고 Q는 배리어블 노드로부터 받은 메시지이며, i는 체크노드 인덱스이고, j는 배리어블 노드 인덱스이다. In Equation (2),? Denotes a coefficient that is multiplied by the minimum sum algorithm, Q denotes a message received from a permissible node, i denotes a check node index, and j denotes a barrier node index.

체크 노드에서는 배리어블 노드 j에서 온 메시지들 중 자신을 제외한 건들 중에서 최소값을 찾아야 하는데, 이때 최소값을 찾는 과정은 다음의 수학식 3과 같이 표현될 수 있다. In the check node, a minimum value among the messages from the barrier node j, which is excluded from itself, must be found. Here, the process of finding the minimum value may be expressed as Equation (3).

Figure 112015014324026-pat00004
Figure 112015014324026-pat00004

thereforetherefore

Figure 112015014324026-pat00005
Figure 112015014324026-pat00005

최소합 알고리즘에서는, 절대값이 가장 작은 최소값인 제1 최소값(min1)과 그 다음으로 작은 최소값인 제2 최소값(min2)을 구하게 된다. 체크 노드에서 연산된 연산 결과는 배리어블 노드로 다음의 정보를 포함하여 저장 및 전달된다. In the least sum algorithm, the first minimum value min1, which is the smallest absolute value and the second minimum value min2, which is the next smallest value are obtained. The operation result computed at the check node is stored and transmitted to the permissible node, including the following information.

{signs, min1, min2, index of min1}{signs, min1, min2, index of min1}

또한, 근래에는 수정형 최소합 알고리즘이 제안되었으며, 수정형 최소합 알고리즘은 다음과 같은 정보를 배리어블 노드로 전달한다. Recently, a modified least sum algorithm has been proposed. The modified minimum sum algorithm conveys the following information to the permissible node.

{signs, min1, (min2-min1), index of min1}{signs, min1, (min2-min1), index of min1}

도 1은 제1 최소값과 제2 최소값의 차이와 총 반복 횟수와의 관계를 나타낸 표이다. 1 is a table showing the relationship between the difference between the first minimum value and the second minimum value and the total number of repetitions.

도 1에서 0은 복호화가 성공하여 반복 복호화가 진행되지 않고 다음 프레임으로 넘어갔음을 의미한다. In FIG. 1, 0 means that decryption has succeeded and the next frame is not passed through iterative decoding.

도 1에서, ?趺?은 반복 횟수를 의미하고, 표 상단의 dB 값은 SNR을 의미하며, 표에 기재된 각각의 값은 해당 반복 횟수 및 SNR에서의 제1 최소값과 제2 최소값의 차이(d_min)를 의미한다. In FIG. 1,? Denotes the number of repetitions, and the dB value at the top of the table denotes the SNR. Each of the values in the table indicates the difference between the first minimum value and the second minimum value in the repetition count and SNR ).

도 1을 분석하면, 제1 최소값과 제2 최소값의 차이는 SNR과 상당한 상관 관계가 있음을 알 수 있다. SNR이 상대적으로 큰 반복 복호화에서의 제1 최소값과 제2 최소값의 차이값은 SNR이 상대적으로 작은 반복 복호화에서의 제1 최소값과 제2 최소값의 차이값에 비해 큰 것을 확인할 수 있다. 1, it can be seen that the difference between the first minimum value and the second minimum value has a significant correlation with the SNR. The difference between the first minimum value and the second minimum value in the iterative decoding with a relatively large SNR is larger than the difference between the first minimum value and the second minimum value in the iterative decoding with a relatively small SNR.

예를 들어, SNR이 1.5bB인 경우 제1 반복 복호수에서 d_min은 0.03538이나, SNR이 5.5dB인 경우 제1 반복 복호수에서의 d_min은 0.6578로 SNR이 1.5dB인 경우의 d_min에 비해 큰 것을 확인할 수 있다. For example, if the SNR is 1.5bB, d_min is 0.03538 in the first iteration, and d_min in the first iteration is 0.6578 when the SNR is 5.5dB, which is larger than d_min when the SNR is 1.5dB Can be confirmed.

또한, 각 SNR에서 반복 복호수가 증가할수록 d_min 값이 증가하는 것을 확인할 수 있다. Also, it can be seen that the value of d_min increases as the number of iterative decodings increases in each SNR.

반복 복호수가 증가할수록 d_min 값이 점차적으로 증가하다가 특정 반복 복호수에서 패리티 체크를 만족하여 반복 복호화가 종료되는 것을 확인할 수 있다. As the number of iterative decodings increases, the value of d_min gradually increases, and it is confirmed that the iterative decoding is completed by satisfying the parity check in the specific iterative multiple lakes.

결국, 최소합 알고리즘에서 출력되는 제1 최소값과 제2 최소값의 차이는 LDPC 반복 복호화 알고리즘에서 스케줄링을 위해 레퍼런스 변수로 활용될 수 있다는 점을 도 1로부터 확인할 수 있다. As a result, it can be seen from FIG. 1 that the difference between the first minimum value and the second minimum value output from the minimum sum algorithm can be utilized as a reference variable for scheduling in the LDPC iterative decoding algorithm.

도 2는 SNR별로 제2 최소값과 제1 최소값의 차(d_min)와 총 반복 횟수와의 관계를 나타낸 그래프이다. 2 is a graph showing the relationship between the difference (d_min) between the second minimum value and the first minimum value and the total number of repetitions for each SNR.

도 2의 그래프는 도 1의 표를 그래프로 재구성한 것이다. 도 2를 참조하면, SNR이 높을수록 제1 최소값과 제2 최소값의 차가 큰 것을 확인할 수 있다. The graph of FIG. 2 is a graph reconstructed from the table of FIG. Referring to FIG. 2, the higher the SNR, the larger the difference between the first minimum value and the second minimum value.

또한, 제1 최소값과 제2 최소값의 차가 클수록 반복 횟수가 적다는 것을 확인할 수 있다. In addition, it can be confirmed that the larger the difference between the first minimum value and the second minimum value, the smaller the number of repetition.

아울러, 각 SNR에서 반복 횟수가 증가할수록 제1 최소값과 제2 최소값의 차이는 점차적으로 증가하게 된다. In addition, as the number of repetitions increases in each SNR, the difference between the first minimum value and the second minimum value gradually increases.

종래의 LDPC 알고리즘에서, SNR은 반복 복호화에서 최소 반복 복호수 및 최대 반복 복호수를 설정하는 기준 변수로 활용이 되는데, 본 발명자의 연구에 따르면 최소합 알고리즘을 사용하는 LDPC 복호화에서 제1 최소값 및 제2 최소값의 차(d_min)가 SNR과 상당한 상관 관계가 있음을 위의 도 1 및 도 2로부터 확인할 수 있다. In the conventional LDPC algorithm, the SNR is used as a reference variable for setting the minimum repetitive multiple lag and the maximum repetitive multiple lag in the iterative decoding. According to the inventor's research, in the LDPC decoding using the minimum sum algorithm, It can be seen from FIGS. 1 and 2 that the difference (d_min) between the two minimum values has a significant correlation with the SNR.

LDPC 알고리즘은 통신뿐만 아니라 다양한 저장 장치에서도 활용될 수 있으며, 최소값차(d_min)는 통신 외에 적용되는 LDPC 복호화에서도 복호화를 스케줄링하는 레퍼런스 변수로 활용될 수 있다는 점은 당업자에게 있어 자명할 것이다. It will be obvious to those skilled in the art that the LDPC algorithm can be utilized not only for communication but also for various storage devices, and that the minimum value difference d_min can be used as a reference variable for scheduling decoding even in LDPC decoding other than communication.

이하에서는 제1 최소값 및 제2 최소값의 차(d_min)를 이용하여 복호화를 스케줄링하는 장치 및 방법에 대해 살펴보기로 한다. Hereinafter, an apparatus and method for scheduling decoding using a difference (d_min) between a first minimum value and a second minimum value will be described.

도 3은 본 발명의 제1 실시예에 따른 LDPC 복호화 장치의 구조를 도시한 블록도이다. 3 is a block diagram illustrating a structure of an LDPC decoding apparatus according to a first embodiment of the present invention.

도 3을 참조하면, 본 발명의 제1 실시예에 따른 LDPC 복호화 장치는, 체크노드/배리어블 노드 연산부(300), 최소값차 획득부(310), 패리티 체크부(320) 및 저장부(330)를 포함한다. 3, the LDPC decoding apparatus according to the first embodiment of the present invention includes a check node / permissible node operation unit 300, a minimum value difference acquisition unit 310, a parity check unit 320, and a storage unit 330 ).

체크노드/배리어블 노드 연산부(300)는 매 반복 복호화마다 체크노드 연산 및 배리어블 노드 연산을 수행한다. 체크노드/배리어블 노느 연산부(300)는 최소합 알고리즘에 따른 체크 노드 연산 및 배리어블 노드 연산을 수행하며, 알려진 다양한 최소합 알고리즘이 이용될 수 있다. The check node / permissible node operation unit 300 performs a check node operation and a permissible node operation for each iteration. The check node / barrier block operation unit 300 performs check node operation and barrier node operation according to the minimum sum algorithm, and various known minimum sum algorithms can be used.

체크 노드 연산 시 제1 최소값 및 제2 최소값이 획득되며, 제1 최소값 및 제2 최소값은 배리어블 노드 연산에 사용된다. 수정형 최소합 알고리즘에서는 제1 최소값 및 제2 최소값의 차가 배리어블 노드 연산에 이용되기도 한다. In the check node operation, the first minimum value and the second minimum value are obtained, and the first minimum value and the second minimum value are used for the permissible node operation. In the modified least sum algorithm, the difference between the first minimum value and the second minimum value is also used in the computation of the permutable node.

최소값차 회득부(310)는 체크 노드 연산 과정에서 출력되는 제1 최소값과 제2 최소값의 차를 획득한다. 통상적인 최소합 알고리즘에서 체크 노드 연산 시에 제1 최소값 및 제2 최소값이 출력되며 출력된 제1 최소값 및 제2 최소값을 이용하여 최소값차를 획득할 수 있을 것이다. The minimum value difference obtaining unit 310 obtains the difference between the first minimum value and the second minimum value output in the check node calculation process. The first minimum value and the second minimum value are output in the check node operation in a conventional minimum sum algorithm and the minimum value difference can be obtained using the first minimum value and the second minimum value outputted.

수정형 최소합 알고리즘에서는 제1 최소값 및 제2 최소값의 차가 출력되므로, 보다 용이하게 최소값차를 획득하는 것이 가능하다. In the modified minimum sum algorithm, the difference between the first minimum value and the second minimum value is output, so that it is possible to more easily obtain the minimum value difference.

저장부(310)에는 제1 임계값이 저장되며, 제1 임계값은 특정 반복 복호화에서 패리티 체크를 수행할지 여부를 판단하는 기초 정보로 사용된다. A first threshold value is stored in the storage unit 310, and the first threshold value is used as basic information for determining whether to perform a parity check in the specific iterative decoding.

패리티 체크부(320)는 저장부에 저장된 제1 임계값 및 최소값차 획득부(310)에서 제공하는 최소값차 정보를 이용하여 패리티 체크를 수행할지 여부를 판단하고 패리티 체크가 필요한 경우 패리티 체크를 수행한다. The parity check unit 320 determines whether to perform a parity check using the minimum value difference information provided by the first threshold value and minimum value difference obtaining unit 310 stored in the storage unit and performs a parity check when a parity check is required do.

도 1 및 도 2로부터 확인되는 바와 같이, 최소값차는 SNR과 상관 관계가 있으며, SNR이 낮은 상태에서는 비교적 많은 횟수의 복호화가 필요하다. 비교적 많은 횟수의 복호화가 예상되는 경우 특정 반복 복호화에서는 패리티 체크를 수행하는 것이 불필요한 부하로 작용할 수 있다. 1 and 2, the minimum value difference is correlated with the SNR, and a relatively large number of times of decoding is required in a state where the SNR is low. When a relatively large number of times of decoding is expected, performing a parity check in a specific iterative decoding may serve as an unnecessary load.

예를 들어, 10번 이상의 추가적인 반복 복호화가 예상되는 경우 제1 반복 복호화 및 제2 반복 복호화에서는 패리티 체크에 성공하지 않을 것이 예상되므로 패리티 체크를 수행하는 것이 불필요한 부하를 증가시키게 된다. For example, if it is anticipated that more than 10 additional iterative decoding is to be performed, it is expected that the parity check will not be successful in the first iterative decoding and the second iterative decoding. Therefore, performing a parity check increases the unnecessary load.

최소값차가 낮다는 것은 신호의 송수신 상태가 양호하지 않다는 것을 의미하며, 많은 횟수의 반복 복호화가 요구된다는 것을 의미한다. A low minimum value difference means that the transmission / reception state of the signal is not good, meaning that a large number of iterative decoding is required.

따라서, 본 발명의 바람직한 실시예에 따르면, 패리티 체크부(320)는 최소값차가 미리 설정된 제1 임계값보다 작을 경우 패리티 체크를 생략하도록 동작한다. Therefore, according to a preferred embodiment of the present invention, the parity check unit 320 operates to omit the parity check when the minimum value difference is smaller than a preset first threshold value.

최소값차가 미리 설정된 제1 임계값 이상일 경우 패리티 체크부(320)는 정상적으로 패리티 체크를 수행한다. 패리티 체크 결과 패리티 체크에 성공하는 경우 반복 복호화는 종료된다. When the minimum value difference is equal to or larger than a preset first threshold value, the parity check unit 320 normally performs parity check. If the parity check is successful as a result of the parity check, iterative decoding ends.

최소값차와 제1 임계값을 비교하여 패리티 체크를 수행할지 여부를 판단하는 작업은 매 반복 복호화마다 이루어진다. The operation of determining whether to perform the parity check by comparing the minimum value difference with the first threshold value is performed every iterative decoding.

도 1에 도시된 표에서, SNR이 0.5dB인 경우 초기 복호화 단계에서의 최소값차는 매우 작은 값을 가지며 초기 복호화 단계에서는 패리티 체크를 생략하는 것이 바람직하다. In the table shown in FIG. 1, when the SNR is 0.5 dB, the minimum value difference in the initial decoding step has a very small value, and it is preferable to omit the parity check in the initial decoding step.

그러나, SNR이 3.5dB 이상인 경우에는 초기 복호화 단계에서도 최소값차가 매우 큰 값을 가지므로 제1 복호화 단계에서부터 패리티 체크를 수행하는 것이 바람직하다. However, when the SNR is 3.5 dB or more, it is preferable to perform the parity check from the first decoding step since the minimum value difference has a very large value even in the initial decoding step.

위에서는 패리티 체크 연산만이 최소값차가 제1 임계값보다 작을 경우 생략되는 것으로 설명하였으나 시험 복호화가 패리티 체크 연산과 함께 생략될 수 있다. In the above description, only the parity check operation is omitted when the minimum value difference is smaller than the first threshold value, but the test decoding may be omitted together with the parity check operation.

시험 복호화는 복호화된 데이터를 미리 설정된 기준 값으로 결정하는 작업으로서, 경판정이 사용될 경우 0 또는 1의 값으로 복호화된 데이터 값을 결정하는 작업이다. Test decryption is a task of deciding decoded data as a preset reference value and deciding a decoded data value to a value of 0 or 1 when hard decision is used.

패리티 체크가 생략될 경우, 시험 복호화도 함께 생략하여 복호화 연산을 최소화하는 것이 바람직하다. When the parity check is omitted, it is preferable to omit test decryption to minimize the decoding operation.

한편, 특정 반복 복호화 단계에서 패리티 체크를 생략하지 않도록 판단된 경우 그 이후에 반복 복호화 단계에서는 패리티 체크를 생략할지 여부를 판단하는 동작을 수행하지 않는 것이 바람직하다. On the other hand, if it is determined not to omit the parity check in the specific iterative decoding step, it is preferable not to perform the operation of determining whether to omit the parity check in the iterative decoding step thereafter.

예를 들어, 제1 반복 복호화 단계 및 제2 반복 복호화 단계에서 패리티 체크를 생략하는 것으로 결정하였으나 제3 반복 복호화 단계에서는 패리티 체크를 생략하지 않는 것으로 결정한 경우, 제4 반복 복호화 단계 이후에서는 계속적으로 패리티 체크를 수행하며 패리티 체크를 생략할지 여부를 판단하는 동작을 수행하지 않는 것이 바람직하다. For example, if it is determined that the parity check is skipped in the first iterative decoding step and the second iterative decoding step but the parity check is not omitted in the third iterative decoding step, It is preferable not to perform an operation of performing a check and determining whether or not to omit the parity check.

도 4는 본 발명의 제2 실시예에 따른 LDPC 복호화 장치의 구조를 도시한 블록도이다. 4 is a block diagram illustrating a structure of an LDPC decoding apparatus according to a second embodiment of the present invention.

도 4를 참조하면, 본 발명의 제2 실시예에 따른 LDPC 복호화 장치는 복호화부(400), 최소값차 획득부(410), 조기 종료 판단부(420) 및 저장부(430)를 포함한다. 4, the LDPC decoding apparatus according to the second embodiment of the present invention includes a decoding unit 400, a minimum value difference obtaining unit 410, an early termination determining unit 420, and a storage unit 430.

복호화부(400)는 최소합 알고리즘에 따른 반복 복호화를 수행한다. 복호화부는 체크 노드 연산 및 배리어블 노드 연산을 수행하며, 또한 패리티 체크 및 시험 복호화 연산을 수행한다. The decoding unit 400 performs iterative decoding according to the minimum sum algorithm. The decoding unit performs a check node operation and a permissible node operation, and also performs a parity check and a test decoding operation.

최소값차 획득부(410)는 복호화부(400)에서 체크 노드 연산과정에서 출력되는 제1 최소값 및 제2 최소값의 최소값차를 획득한다. The minimum value difference obtaining unit 410 obtains the difference between the minimum value of the first minimum value and the minimum value of the second minimum value output from the decoding unit 400 in the check node calculation process.

저장부(430)에는 제2 임계값 및 기준 반복 복호수 정보가 저장된다.The storage unit 430 stores the second threshold value and the reference iterative bin information.

조기 종료 판단부(420)는 최소값차 획득부(410)에서 획득하는 최소값차 정보 및 저장부에 저장된 제2 임계값 및 기준 반복 복호수를 이용하여 반복 복호화를 조기에 종료할지 여부를 판단하는 기능을 한다. The early termination determining unit 420 determines whether or not to end the iterative decoding early using the minimum value difference information acquired by the minimum value difference acquiring unit 410, the second threshold value stored in the storage unit, .

SNR 환경이 좋지 않거나 기타 다른 이유로 송신 데이터가 훼손되는 경우, 많은 반복 복호화를 거치게 되더라도 패리티 체크에 성공하지 못하는 경우가 발생한다. If the SNR environment is poor or the transmission data is corrupted due to other reasons, the parity check may not be successful even if the iterative decoding is performed a lot.

이와 같은 경우 계속적으로 반복 복호화를 수행하기 보다는 패리티 체크에 성공하지 못하더라도 반복 복호를 조기에 종료하는 것이 바람직하다. 본 발명에서는 불필요한 연산을 피하기 위해, 소정 조건을 만족하는 경우 조기 종료 판단부(420)는 반복 복호화를 종료시킨다. In such a case, it is preferable to terminate the iterative decoding prematurely even if the parity check is unsuccessful, rather than performing the iterative decoding continuously. In the present invention, in order to avoid unnecessary operations, the early termination determining unit 420 ends the iterative decoding if the predetermined condition is satisfied.

조기 종료 판단부(420)는 최소값차 획득부(410)에서 획득하는 최소값차가 저장부에 저장된 제2 임계값보다 작고, 현재 반복 복호수가 미리 설정된 기준 반복 복호수보다 클 경우 반복 복호화를 조기에 종료하도록 결정한다. If the minimum difference value acquired by the minimum difference value acquisition unit 410 is smaller than the second threshold value stored in the storage unit and the current number of iteration decodings is larger than the preset reference iteration iteration count unit 420, .

조기 종료 판단부(420)는 최소값차 획득부(410)에서 획득하는 최소값차가 저장부에 저장된 제2 임계값보다 크거나 현재 반복 복호수가 미리 설정된 기준 반복 복호수보다 작을 경우 다음 반복 복호화를 수행하도록 결정한다. If the minimum value difference acquired by the minimum value difference obtaining unit 410 is greater than the second threshold value stored in the storage unit or the current iteration number is smaller than the preset reference iteration number, the early termination determination unit 420 performs the next iteration .

조기 종료 판단부(420)의 판단 동작은 매 반복 복호화 단계마다 수행된다. The determination of the early termination determination unit 420 is performed every iterative decoding step.

본 발명의 제2 실시예에서는 최소합 복호화 알고리즘에서 획득할 수 있는 최소값차를 이용하여 반복 복호화에 대한 조기 종료를 판단하도록 하는 것이며, 이를 통해 최소값차를 이용하여 불필요한 반복 복호화를 회피하여 연산량을 줄일 수 있게 된다. In the second embodiment of the present invention, the early termination of iterative decoding is determined by using the minimum value difference obtainable by the minimum sum decoding algorithm. By avoiding unnecessary iterative decoding using the minimum value difference, .

도 5는 본 발명의 제1 실시예에 따른 LDPC 복호화 방법의 흐름을 도시한 순서도이다. 5 is a flowchart illustrating a flow of an LDPC decoding method according to the first embodiment of the present invention.

도 5를 참조하면, 우선 최소합 알고리즘을 이용한 체크 노드 연산이 수행된다(단계 500). Referring to FIG. 5, first, a check node operation using a least sum algorithm is performed (step 500).

체크 노드 연산이 이루어지면, 제1 최소값 및 제2 최소값이 출력되며, 제1 최소값 및 제2 최소값을 이용하여 제1 최소값 및 제2 최소값의 차(d_min)를 획득한다(단계 502). When the check node operation is performed, the first minimum value and the second minimum value are output, and a difference d_min between the first minimum value and the second minimum value is obtained using the first minimum value and the second minimum value (step 502).

체크 노드 연산이 이루어지면, 체크 노드 연산 과정에서 출력된 제1 최소값 및 제2 최소값을 이용하여 배리어블 노드 연산을 수행한다(단계 504). When the check node operation is performed, a barrier node operation is performed using the first minimum value and the second minimum value output from the check node operation (step 504).

단계 502에서 획득되는 최소값차(d_min)를 미리 설정되어 저장되는 제1 임계값과 비교한다(단계 506). The minimum value difference d_min obtained in step 502 is compared with a first threshold value stored in advance (step 506).

최소값차(d_min)가 미리 설정된 제1 임계값보다 작을 경우 패리티 체크 및 시험 복호화를 생략하고 다음 복호화를 수행한다(단계 508). If the minimum value difference d_min is smaller than the preset first threshold value, the parity check and test decoding are omitted and the next decoding is performed (step 508).

최소값차(d_min)가 미리 설정된 제1 임계값보다 클 경우 통상적인 반복화 단계에서와 같이 패리티 체크 및 시험 복호화를 수행한다(단계 510). When the minimum value difference d_min is greater than a predetermined first threshold value, parity check and test decoding are performed as in the normal repetition step (step 510).

도 5에 도시된 절차는 각 반복 복호화 단계마다 수행된다. The procedure shown in FIG. 5 is performed for each iterative decoding step.

도 6은 본 발명의 제2 실시예에 따른 LDPC 복호화 방법의 흐름을 도시한 순서도이다. 6 is a flowchart illustrating a flow of an LDPC decoding method according to a second embodiment of the present invention.

도 6을 참조하면, 우선 최소합 알고리즘을 이용한 체크 노드 연산이 수행된다(단계 600). Referring to FIG. 6, a check node operation using a least sum algorithm is performed (step 600).

체크 노드 연산이 이루어지면, 제1 최소값 및 제2 최소값이 출력되며, 제1 최소값 및 제2 최소값을 이용하여 제1 최소값 및 제2 최소값의 차(d_min)를 획득한다(단계 602). When the check node operation is performed, the first minimum value and the second minimum value are output, and the difference (d_min) between the first minimum value and the second minimum value is obtained using the first minimum value and the second minimum value (step 602).

체크 노드 연산이 이루어지면, 체크 노드 연산 과정에서 출력된 제1 최소값 및 제2 최소값을 이용하여 배리어블 노드 연산을 수행한다(단계 604). When the check node operation is performed, a barrier node operation is performed using the first minimum value and the second minimum value output in the check node operation (step 604).

도 6에는 도시되어 있지 않으나 배리어블 노드 연산 후 패리티 체크 연산 및 시험 복호화가 추가적으로 수행될 수 있다. Although not shown in FIG. 6, a parity check operation and test decoding may be additionally performed after the computation of the barrier node.

단계 602에서 획득한 최소값차(d_min)가 미리 설정된 제2 임계값보다 작은지 여부 및 현재 반복 복호수가 미리 설정된 기준 반복 복호수를 초과하는지 여부를 판단한다(단계 606). It is determined whether or not the minimum value difference d_min obtained in step 602 is smaller than a preset second threshold and whether the current number of iterative decoding exceeds the preset reference iteration number (step 606).

최소값차(d_min)가 미리 설정된 제2 임계값보다 작고 현재 반복 복호수가 미리 설정된 기준 반복 복호수를 초과하는 경우 더 이상 반복 복호를 수행하지 않고 종료시킨다(단계 608). If the minimum value difference d_min is smaller than the preset second threshold value and the current number of iterative decoding exceeds the preset reference iterative number, the process is terminated without performing iterative decoding (step 608).

최소값차가 미리 설정된 제2 임계값보다 크거나 현재 반복 복호수가 미리 설정된 기준 반복 복호수를 초과하지 않는 경우 다음 반복 복호화를 정상적으로 진행한다(단계 610). If the minimum value difference is larger than the preset second threshold value or the current iteration number does not exceed the preset reference iteration number, the next iteration is normally performed (step 610).

앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The above-described technical features may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and limited embodiments and drawings. However, it should be understood that the present invention is not limited to the above- Various modifications and variations may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

Claims (12)

최소합 알고리즘을 이용한 LDPC 복호화 방법으로서,
상기 최소합 알고리즘에서 가장 작은 최소값인 제1 최소값 및 다음으로 작은 최소값인 제2 최소값의 차(d_min)를 획득하는 단계(a);
상기 단계(a)에서 획득한 제1 최소값 및 제2 최소값의 차(d_min)를 미리 설정된 임계값과 비교하는 단계(b);
상기 제1 최소값 및 제2 최소값의 차(d_min)가 상기 미리 설정된 임계값보다 작을 경우 패리티 체크를 생략하는 단계(c)를 포함하는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 방법.
An LDPC decoding method using a least sum algorithm,
(A) obtaining a difference (d_min) between a first minimum value that is the smallest minimum value and a second minimum value that is the next smallest minimum value in the minimum sum algorithm;
(B) comparing a difference (d_min) between the first minimum value and the second minimum value obtained in the step (a) with a preset threshold value;
And omitting the parity check if the difference d_min between the first minimum value and the second minimum value is smaller than the preset threshold value.
제1항에 있어서,
상기 제1 최소값 및 상기 제2 최소값은 체크 노드 연산 결과를 이용하여 획득하는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 방법.
The method according to claim 1,
Wherein the first minimum value and the second minimum value are obtained using a check node computation result.
제1항에 있어서,
상기 제1 최소값 및 제2 최소값의 차(d_min)가 미리 설정된 임계값보다 작을 경우 복호화된 데이터를 미리 설정된 기준 값으로 결정하는 작업인 시험 복호화를 생략하는 단계(d)를 더 포함하는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 방법.
The method according to claim 1,
And a step (d) of omitting test decryption, which is an operation of deciding decrypted data as a preset reference value when the difference (d_min) between the first minimum value and the second minimum value is smaller than a predetermined threshold value LDPC decoding method using a least sum algorithm.
제1항에 있어서,
상기 제1 최소값 및 제2 최소값의 차(d_min)가 상기 미리 설정된 임계값 이상일 경우 상기 패리티 체크 및 복호화된 데이터를 미리 설정된 기준 값으로 결정하는 작업인 시험 복호화를 수행하는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 방법.
The method according to claim 1,
And deciding the parity check and decoded data as a preset reference value when the difference d_min between the first minimum value and the second minimum value is equal to or greater than the preset threshold value, For LDPC decoding.
제1항에 있어서
상기 단계(a) 내지 (c)는 각 반복 복호화 단계마다 수행되며,
특정 반복 복호화 단계에서 패리티 체크를 생략하지 않는 것으로 결정될 경우, 해당 반복 복호화 단계 이후의 반복 복호화 단계에서는 상기 단계 (b) 및 (c)를 수행하지 않는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 방법.
The method of claim 1, wherein
The steps (a) to (c) are performed for each iterative decoding step,
(B) and (c) are not performed in the iterative decoding step after the iterative decoding step when it is determined that the parity check is not omitted in the specific iterative decoding step .
최소합 알고리즘을 이용한 LDPC 복호화 방법으로서,
상기 최소합 알고리즘에서 가장 작은 최소값인 제1 최소값 및 다음으로 작은 최소값인 제2 최소값의 차(d_min)를 획득하는 단계(a);
상기 제1 최소값 및 제2 최소값의 차(d_min)가 미리 설정된 임계값보다 작고 현재 반복 복호수가 반복 복호화를 조기에 종료할지 판단하기 위해 미리 설정된 기준 반복 복호수를 초과하는지 여부를 판단하는 단계(b);
상기 제1 최소값 및 제2 최소값의 차(d_min)가 미리 설정된 임계값보다 작고 현재 반복 복호수가 상기 반복 복호화를 조기에 종료할지 판단하기 위해 미리 설정된 기준 반복 복호수를 초과할 경우 반복 복호화를 종료하는 단계(c)를 포함하는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 방법.
An LDPC decoding method using a least sum algorithm,
(A) obtaining a difference (d_min) between a first minimum value that is the smallest minimum value and a second minimum value that is the next smallest minimum value in the minimum sum algorithm;
Determining whether a difference (d_min) between the first minimum value and the second minimum value is smaller than a preset threshold value and whether the current number of iterative decoding exceeds the reference repeated iterations preset in order to judge whether the iterative decoding ends prematurely );
When the difference (d_min) between the first minimum value and the second minimum value is smaller than a predetermined threshold value and the current iteration number exceeds the preset reference iteration number to judge whether the iteration ending early, the iteration decoding is ended Wherein the step (c) comprises the step (c).
제6항에 있어서,
상기 제1 최소값 및 상기 제2 최소값은 체크 노드 연산 결과를 이용하여 획득하는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 방법.
The method according to claim 6,
Wherein the first minimum value and the second minimum value are obtained using a check node computation result.
최소합 알고리즘을 이용한 LDPC 복호화 장치로서,
최소합 알고리즘에 기초하여 체크 노드 연산 및 배리어블 노드 연산을 수행하는 체크노드/배리어블 노드 연산부;
상기 체크 노드 연산 시 출력되는 가장 작은 최소값인 제1 최소값 및 다음으로 작은 최소값인 제2 최소값의 차(d_min)를 획득하는 최소값차 획득부; 및
상기 제1 최소값 및 상기 제2 최소값의 차(d_min)가 미리 설정된 임계값보다 작을 경우 패리티 체크를 생략하며, 상기 제1 최소값 및 상기 제2 최소값의 차(d_min)가 미리 설정된 임계값 이상일 경우 패리티 체크를 수행하는 패리티 체크부를 포함하는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 장치.
An LDPC decoding apparatus using a least sum algorithm,
A check node / barrier node operation unit performing a check node operation and a permissible node operation based on a minimum sum algorithm;
A minimum value difference obtaining unit for obtaining a difference (d_min) between a first minimum value which is a smallest minimum value outputted in the check node operation and a second minimum value which is a next smallest minimum value; And
Wherein if the difference d_min between the first minimum value and the second minimum value is less than a preset threshold value, the parity check is skipped, and if the difference d_min between the first minimum value and the second minimum value is equal to or greater than a predetermined threshold value, And a parity check unit for performing a check of the LDPC code.
삭제delete 제8항에 있어서,
상기 제1 최소값 및 제2 최소값의 차(d_min)가 미리 설정된 임계값보다 작을 경우 상기 패리티 체크부는 복호화된 데이터를 미리 설정된 기준 값으로 결정하는 작업인 시험 복호화를 생략하는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 장치.
9. The method of claim 8,
Wherein when the difference d min between the first minimum value and the second minimum value is smaller than a predetermined threshold value, the parity check unit omits test decoding, which is an operation of deciding the decoded data as a preset reference value, For example.
제8항에 있어서
특정 복호화 단계에서 패리티 체크를 생략하지 않는 것으로 결정될 경우, 상기 패리티 체크부는 해당 반복 복호화 단계 이후의 반복 복호화 단계에서는 패리피 체크를 생략하지 않는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 장치.
The method of claim 8, wherein
Wherein the parity check unit does not omit the parity check in the iterative decoding step after the iterative decoding step if it is determined that the parity check is not omitted in the specific decoding step.
최소합 알고리즘을 이용한 LDPC 복호화 장치로서,
최소합 알고리즘에 기초하여 체크 노드 연산 및 배리어블 노드 연산을 수행하는 체크노드/배리어블 노드 연산부;
상기 체크 노드 연산 시 출력되는 가장 작은 최소값인 제1 최소값 및 다음으로 작은 최소값인 제2 최소값의 차(d_min)를 획득하는 최소값차 획득부; 및
상기 제1 최소값 및 제2 최소값의 차(d_min)가 미리 설정된 임계값보다 작고 현재 반복 복호수가 반복 복호화를 조기에 종료할지 판단하기 위해 미리 설정된 기준 반복 복호수를 초과할 경우 반복 복호화를 종료하는 조기 종료 판단부를 포함하는 것을 특징으로 하는 최소합 알고리즘을 이용한 LDPC 복호화 장치.

An LDPC decoding apparatus using a least sum algorithm,
A check node / barrier node operation unit performing a check node operation and a permissible node operation based on a minimum sum algorithm;
A minimum value difference obtaining unit for obtaining a difference (d_min) between a first minimum value which is a smallest minimum value outputted in the check node operation and a second minimum value which is a next smallest minimum value; And
When the difference (d_min) between the first minimum value and the second minimum value is smaller than a preset threshold value and the current iteration number exceeds the preset reference iteration number to judge whether the iteration decoding ends prematurely, And a termination determination unit for determining the termination of the LDPC decoding.

KR1020150020615A 2015-02-11 2015-02-11 LDPC Decoding Device and Method Using Min-Sum Algorithm KR101630114B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150020615A KR101630114B1 (en) 2015-02-11 2015-02-11 LDPC Decoding Device and Method Using Min-Sum Algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150020615A KR101630114B1 (en) 2015-02-11 2015-02-11 LDPC Decoding Device and Method Using Min-Sum Algorithm

Publications (1)

Publication Number Publication Date
KR101630114B1 true KR101630114B1 (en) 2016-06-13

Family

ID=56191495

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150020615A KR101630114B1 (en) 2015-02-11 2015-02-11 LDPC Decoding Device and Method Using Min-Sum Algorithm

Country Status (1)

Country Link
KR (1) KR101630114B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102092634B1 (en) * 2018-10-12 2020-04-23 고려대학교 산학협력단 Low density parity check code decoder and method for decoding ldpc code
KR20220014730A (en) * 2020-07-29 2022-02-07 한국전자통신연구원 Method and apparatus for decoding low-density parity-check code

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110004211A (en) * 2009-07-07 2011-01-13 한양대학교 산학협력단 Method for setting number of iterative decoding, apparatus and method for iterative decoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110004211A (en) * 2009-07-07 2011-01-13 한양대학교 산학협력단 Method for setting number of iterative decoding, apparatus and method for iterative decoding

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102092634B1 (en) * 2018-10-12 2020-04-23 고려대학교 산학협력단 Low density parity check code decoder and method for decoding ldpc code
US10972129B2 (en) 2018-10-12 2021-04-06 Korea University Research And Business Foundation Low density parity check code decoder and method for decoding LDPC code
KR20220014730A (en) * 2020-07-29 2022-02-07 한국전자통신연구원 Method and apparatus for decoding low-density parity-check code
US11595060B2 (en) 2020-07-29 2023-02-28 Electronics And Telecommunications Research Institute Method and apparatus for decoding low-density parity-check code
KR102525414B1 (en) * 2020-07-29 2023-04-25 한국전자통신연구원 Method and apparatus for decoding low-density parity-check code

Similar Documents

Publication Publication Date Title
JP5301402B2 (en) Rate adapted low density parity check code
KR101431162B1 (en) Message-passing decoding method with sequencing according to reliability of vicinity
US7676734B2 (en) Decoding apparatus and method and information processing apparatus and method
KR101718543B1 (en) Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same
JP5432367B2 (en) Code error floor reduction using write verification
KR101261091B1 (en) Method for setting number of iterative decoding, Apparatus and Method for iterative decoding
JP4777876B2 (en) Early termination of turbo decoder iterations
WO2014044072A1 (en) Generation method and generation device for mixed polar code
US20130007551A1 (en) Stochastic Stream Decoding of Binary LDPC Codes
KR20120023403A (en) Method and apparatus for decoding of product codes
US11177834B2 (en) Communication method and apparatus using polar codes
US9219501B2 (en) LDPC encoding/decoding method and device using same
KR101630114B1 (en) LDPC Decoding Device and Method Using Min-Sum Algorithm
JPWO2009035096A1 (en) COMMUNICATION SYSTEM, TRANSMISSION DEVICE, ERROR CORRECTION CODE RETRANSMECTION METHOD, COMMUNICATION PROGRAM
CN107026655B (en) Method for decoding a codeword and decoder
JP2008544639A (en) Decoding method and apparatus
KR101554488B1 (en) Method and apparatus for decording of low density parity check code
KR20120000040A (en) Method for setting number of iterative decoding, apparatus and method for ldpc decoding
WO2021135426A1 (en) Decoding method, decoder, and decoding device
KR101484066B1 (en) Ldpc code decoding method
KR102045438B1 (en) Method and Apparatus for Decoding of Low-density parity-check
KR101449750B1 (en) Apparatus and method for generating a low density parity check code
KR101606040B1 (en) Device and method for decoding of low-density parity-check codes by faild check nodes
WO2020052754A1 (en) Simplified check node processing for ldpc decoding
KR101412171B1 (en) Apparatus and method for decoding ldpc code

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 4