KR101718543B1 - Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same - Google Patents

Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same Download PDF

Info

Publication number
KR101718543B1
KR101718543B1 KR1020100114203A KR20100114203A KR101718543B1 KR 101718543 B1 KR101718543 B1 KR 101718543B1 KR 1020100114203 A KR1020100114203 A KR 1020100114203A KR 20100114203 A KR20100114203 A KR 20100114203A KR 101718543 B1 KR101718543 B1 KR 101718543B1
Authority
KR
South Korea
Prior art keywords
value
decoding
ldpc
inverse function
weight
Prior art date
Application number
KR1020100114203A
Other languages
Korean (ko)
Other versions
KR20120053122A (en
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 KR1020100114203A priority Critical patent/KR101718543B1/en
Publication of KR20120053122A publication Critical patent/KR20120053122A/en
Application granted granted Critical
Publication of KR101718543B1 publication Critical patent/KR101718543B1/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
    • 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

Landscapes

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

Abstract

LDPC 코드(Low Density Parity Check Code) 부호를 위한 복호 방법이 개시된다. LDPC 코드 부호를 위한 복호 방법은 복호 반복 횟수를 초기화하는 초기화 단계, 수신 신호로부터 각각의 검사 노드의 가중치를 계산하는 가중치 계산 단계, 상기 가중치를 이용하여 반전 함수값을 계산하는 반전 함수값 계산 단계, 상기 반전 함수값을 문턱값과 비교하여 경판정값을 반전하고, 상기 수신 신호의 값을 조절하여 상기 가변 노드의 신뢰도를 갱신하는 신뢰도 갱신 단계, 갱신된 상기 가변 노드의 신뢰도를 이용하여 신드롬 벡터를 계산하는 패리티 검사 단계, 상기 신드롬 벡터가 0이면 상기 경판정값에 근거한 경판정 벡터를 부호어로 출력하는 부호어 단계, 및 상기 신드롬 벡터가 0이 아니면 상기 복호 반복 횟수에 따라 상기 가중치 계산 단계로 궤환하는 궤환 단계를 포함한다. 본 발명에 의한 복호 방법은 비트 반전 알고리즘을 기반으로 가변 노드의 신뢰도 갱신하여 높은 에러 정정 성능을 제공할 수 있다.A decoding method for an LDPC code (Low Density Parity Check Code) code is disclosed. The decoding method for an LDPC code code includes an initializing step of initializing a number of decoding iterations, a weight calculating step of calculating a weight of each check node from a received signal, an inverse function value calculating step of calculating an inverse function value using the weight, A reliability updating step of comparing the inverse function value with a threshold value to invert the hard decision value and updating the reliability of the variable node by adjusting a value of the received signal; A codeword step of outputting a hard decision vector based on the hard decision value as a codeword if the syndrome vector is 0; and a codeword step of, if the syndrome vector is not 0, . The decoding method according to the present invention can provide high error correction performance by updating reliability of a variable node based on a bit inversion algorithm.

Description

개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체 {Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a decoding method, apparatus, and recording medium for a low-density parity check code based on an improved bit inversion algorithm,

본 발명은 저밀도 패리티 검사 부호를 위한 고성능 복호 방법, 장치 및 이를 위한 기록 매체에 관한 것으로서, 특히 비트 반전 알고리즘을 기반으로 가변 노드의 신뢰도 갱신하여 높은 에러 정정 성능을 갖는 복호 방법, 장치 및 이를 위한 기록 매체에 관한 것이다.
The present invention relates to a high-performance decoding method, apparatus, and recording medium for a low-density parity check code, and more particularly to a decoding method, apparatus, and recording medium having a high error correction performance by updating reliability of a variable node based on a bit- Media.

저밀도 패리티 검사 (Low Density Parity Check : 이하 LDPC 라고 함) 부호는 우수한 복호 성능을 보임에 따라 최근 많은 연구가 진행되고 있다. LDPC 부호의 복호 방법은 크게 합곱 알고리즘(sum-product algorithm : 이하 SPA라고 함)과 비트 반전(bit-flipping : 이하 BF라고 함) 알고리즘으로 나눌 수 있다. SPA는 에러 정정 부호로서 신뢰 전파 (Belief Propagation : BP) 알고리즘과 같은 메시지 경과 알고리즘 (message passing algorithm)을 이용하여, 새년(Shannon)의 채널 용량 한계에 근접하는 복호 성능을 가질 수 있다. 그러나 SPA를 이용하는 복호기는 복호에 필요한 연산의 복잡도가 매우 높다는 문제를 갖고 있다. 반면 BF 알고리즘은 LDPC 부호를 구성하는 가장 간단한 알고리즘으로써 패리티 검사 연산을 반복적으로 수행하여 간단한 모듈러 연산(modular -2 addition)으로 구현이 가능하므로 다른 알고리즘에 비하여 복호에 필요한 연산의 복잡도가 낮으나, 오류 정정 능력이 BP에 비해 떨어진다.Low Density Parity Check (LDPC) codes have been recently studied because of their excellent decoding performance. A decoding method of an LDPC code can be broadly divided into a sum-product algorithm (hereinafter referred to as SPA) and a bit-flipping (hereinafter referred to as BF) algorithm. SPA can have a decoding performance close to the channel capacity limit of a new year (Shannon) by using a message passing algorithm such as a belief propagation (BP) algorithm as an error correction code. However, the decoder using the SPA has a problem that the complexity required for decoding is very high. On the other hand, the BF algorithm is the simplest algorithm for constructing the LDPC code, and it can be implemented as a modular -2 addition by repeatedly performing the parity check operation. Therefore, the complexity required for decoding is lower than other algorithms, Ability is lower than BP.

이에 복잡도를 높이지 않으면서도 에러 정정 능력을 높이기 위한 연구가 지속적으로 수행되고 있다.
Therefore, research is continuously carried out to improve error correction capability without increasing the complexity.

본 발명은 높은 오류 정정 성능을 가지며 적은 반복 복호 횟수를 가지는 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치를 제공하는 것이다.The present invention provides a decoding method and apparatus for a low density parity check code having a high error correction performance and a small number of iterative decoding times.

본 발명의 다른 목적은 LDPC 부호를 가변 노드의 신뢰도 갱신을 이용하여 BF 복호 방식으로 복호하는 방법 및 장치를 제공하는 것이다.It is another object of the present invention to provide a method and apparatus for decoding an LDPC code using a BF decoding method using reliability update of a variable node.

상기 목적을 달성하기 위한 저밀도 패리티 검사 부호를 위한 복호 방법은 복호 반복 횟수를 초기화하는 초기화 단계, 수신 신호로부터 각각의 검사 노드의 가중치를 계산하는 가중치 계산 단계, 상기 가중치를 이용하여 반전 함수값을 계산하는 반전 함수값 계산 단계, 상기 반전 함수값을 문턱값과 비교하여 경판정값을 반전하고, 상기 수신 신호의 값을 조절하여 상기 가변 노드의 신뢰도를 갱신하는 신뢰도 갱신 단계, 갱신된 상기 가변 노드의 신뢰도를 이용하여 신드롬 벡터를 계산하는 패리티 검사 단계, 상기 신드롬 벡터가 0이면 상기 경판정값에 근거한 경판정 벡터를 부호어로 출력하는 부호어 단계, 및 상기 신드롬 벡터가 0이 아니면 상기 복호 반복 횟수에 따라 상기 가중치 계산 단계로 궤환하는 궤환 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a decoding method for a low-density parity-check code, the decoding method comprising: initializing a decoding repetition number; calculating a weight of each check node from a received signal; A reliability updating step of comparing the inverse function value with a threshold value to invert the hard decision value and to update the reliability of the variable node by adjusting the value of the received signal, A parity check step of calculating a syndrome vector using reliability, a codeword step of outputting a hard decision vector based on the hard decision value as a codeword if the syndrome vector is 0, and a codeword step of, if the syndrome vector is not 0, And a feedback step of feeding back to the weight calculation step.

상기 목적을 달성하기 위한 신뢰도 갱신 단계는 상기 반전 함수값이 상기 문턱값보다 큰 값을 갖는지 비교하는 비교 단계, 상기 반전 함수 값이 문턱값보다 크면, 상기 경판정값을 반전하는 반전 단계, 상기 수신 신호의 값을 조절하는 조절 단계, 및 상기 조절된 수신 신호의 값을 이용하여 경판정 벡터를 갱신하는 벡터 갱신 단계를 포함하는 것을 특징으로 한다.The reliability updating step for achieving the above object includes a comparison step for comparing whether the inverse function value has a value larger than the threshold value, an inversion step for inverting the hard decision value if the inverse function value is larger than a threshold value, And a vector updating step of updating the hard decision vector using the value of the adjusted received signal.

상기 목적을 달성하기 위한 조절 단계는 상기 수신 신호의 값에 조절값을 더하여 상기 조절된 수신 신호를 생성하는 것을 특징으로 한다.The adjusting step may include adding an adjustment value to the value of the reception signal to generate the adjusted reception signal.

상기 목적을 달성하기 위한 초기화 단계는 상기 복호 반복 횟수를 초기값으로 리셋하는 리셋 단계, 및 최대 복호 반복 횟수를 설정하는 설정 단계를 포함하는 것을 특징으로 한다.The initializing step for achieving the above object is characterized by including a reset step of resetting the number of decoding iterations to an initial value, and a setting step of setting the maximum number of decoding iterations.

상기 목적을 달성하기 위한 궤환 단계는 상기 복호 반복 횟수가 상기 최대 복호 반복 횟수와 같으면, LDPC 코드 부호에 대한 복호에 실패하였음을 선언하는 선언 단계, 및 상기 복호 반복 횟수가 상기 최대 복호 반복 횟수보다 작으면, 상기 복호 반복 횟수를 1증가하여 상기 가중치 계산 단계로 궤환하는 반복 횟수 증가 단계를 포함하는 것을 특징으로 한다.The feedback step for achieving the above object is characterized by including a declaring step of declaring that decoding of the LDPC code code is unsuccessful if the number of times of decoding is equal to the maximum number of iterations of decoding and a step of deciding that the decoding iteration number is less than the maximum number of iterations And incrementing the number of repetition times by one to feed back to the weight calculation step.

상기 다른 목적을 달성하기 위한 LDPC 부호를 위한 복호 장치는 외부로부터 다양한 형태로 인가되는 LDPC 신호를 수신하여 디지털 코드로 변환하는 수신부, 상기 수신부로부터 상기 LDPC 신호를 인가받고, 상기 LDPC 신호로부터 가중치를 계산하고, 계산된 가중치를 이용하여 반전함수를 계산하며, 계산된 반전 함수값에 따라 경판정값을 반전하여 상기 LDPC 신호를 복호하는 복호부, 및 상기 복호부로부터 복호된 상기 LDPC 신호를 인가받아 외부 장치와 정해진 인터페이스에 적합한 코드로 변경하여 출력하는 부호어 출력부를 구비한다.According to another aspect of the present invention, there is provided a decoding apparatus for an LDPC code, comprising: a receiver for receiving an LDPC signal applied in various forms from an external source and converting the received LDPC signal into a digital code; receiving the LDPC signal from the receiver; A decoding unit for decoding the LDPC signal by inverting the hard decision value according to the calculated inverse function value, and a decoding unit for decoding the LDPC signal received from the decoding unit, And a codeword output unit for outputting a code suitable for a predetermined interface.

상기 다른 목적을 달성하기 위한 복호부는 상기 LDPC 신호가 인가되면 반복 횟수를 초기화 하고, 최대 반복 횟수를 설정하며, 상기 LDPC 신호로부터 상기 가중치를 계산하는 가중치 계산부, 상기 계산된 가중치를 이용하여 상기 반전 함수값을 계산하고, 계산된 상기 반전 함수값이 지정된 문턱값보다 큰지 여부를 판정하여 계산된 상기 반전 함수가 지정된 문턱값보다 크면 상기 경판정값을 반전하고, 상기 LDPC 신호를 조절하는 반전 함수 계산부, 상기 경판정값이 반전된 경우에 상기 조절된 LDPC 신호에 따라 경판정 벡터를 갱신하는 신뢰도 갱신부, 및 상기 갱신된 경판정 벡터를 이용하여 신드롬 벡터를 계산하고 계산된 신드롬 벡터가 0 벡터이면, 상기 갱신된 경판정 벡터를 부호어로서 출력하는 패리티 검사부를 구비하는 것을 특징으로 한다.
The decoding unit for achieving the other object includes a weight calculator for initializing a repetition number, setting a maximum repetition number, and calculating the weight from the LDPC signal when the LDPC signal is applied, Calculating a function value, determining whether the calculated inverse function value is greater than a specified threshold value, inverting the hard decision value if the calculated inverse function is greater than a specified threshold value, and performing an inverse function calculation A reliability updating unit for updating the hard decision vector in accordance with the adjusted LDPC signal when the hard decision value is inverted; and a reliability updating unit for calculating a syndrome vector using the updated hard decision vector, , And outputs the updated hard decision vector as a codeword.

본 발명에 따른 저밀도 패리티 검사 부호를 위한 복호 방법은 비트 반전 알고리즘을 기반으로 가변 노드의 신뢰도 갱신하여 높은 에러 정정 성능을 가지므로, 적은 반복 복호 횟수로 낮은 비트 오류율을 갖는 복호기를 제공할 수 있다.
The decoding method for a low density parity check code according to the present invention can provide a decoder having a low bit error rate with a small number of iterative decoding times because it has high error correction performance by updating the reliability of a variable node based on a bit inversion algorithm.

도 1은 본 발명에 따른 LDPC 부호의 패리티 검사 행렬의 일예를 나타내는 도면이다.
도 2는 도 1의 LDPC 부호의 패리티 검사 행렬을 인수 그래프로 나타낸 도면이다.
도 3은 도2 의 패리티 검사 노드 갱신의 일례를 나타내는 도면이다.
도 4는 도2 가변 노드 갱신의 일례를 나타내는 도면이다.
도 5는 본 발명의 일예에 따른 복호 과정을 설명하기 위한 흐름도이다.
도 6은 본 발명에 따른 복호기의 비트 오류율 성능을 나타내는 시뮬레이션 그래프이다.
도 7은 본 발명에 따른 복호기의 평균 반복 복호 횟수를 나타내는 시뮬레이션 그래프이다.
도 8은 본 발명의 일예에 따른 LDPC 부호를 위한 복호 장치를 나타내는 도면이다.
1 is a diagram illustrating an example of a parity check matrix of an LDPC code according to the present invention.
FIG. 2 is a diagram showing a parity check matrix of the LDPC code of FIG. 1 as an argument graph.
3 is a diagram illustrating an example of parity check node update in FIG.
4 is a diagram showing an example of the variable node update in Fig.
5 is a flowchart illustrating a decoding process according to an embodiment of the present invention.
6 is a simulation graph showing bit error rate performance of a decoder according to the present invention.
FIG. 7 is a simulation graph showing the average number of iterative decoding times of the decoder according to the present invention.
8 is a diagram illustrating a decoding apparatus for an LDPC code according to an embodiment of the present invention.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서 본 발명의 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조할 수 있다. For a better understanding of the present invention and operational advantages of the present invention and the objects attained by the practice of the present invention, reference should be made to the accompanying drawings, which illustrate embodiments of the present invention, and to those described in the accompanying drawings.

이하, 첨부한 도면을 참조하여 본 발명의 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다. Hereinafter, the present invention will be described in detail with reference to embodiments of the present invention with reference to the accompanying drawings. However, the present invention can be implemented in various different forms, and is not limited to the embodiments described. In order to clearly describe the present invention, parts that are not related to the description are omitted, and the same reference numerals in the drawings denote the same members.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “...부”, “...기”, “모듈”, “블록” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when an element is referred to as " including " an element, it does not exclude other elements unless specifically stated to the contrary. The terms "part", "unit", "module", "block", and the like described in the specification mean units for processing at least one function or operation, And a combination of software.

도 1은 본 발명에 따른 LDPC 부호의 패리티 검사 행렬의 일예를 나타내는 도면으로, M X N 크기의 패리티 검사 행렬(100)(H)을 나타낸다. FIG. 1 is a diagram illustrating an example of a parity check matrix of an LDPC code according to the present invention, and shows a parity check matrix 100 (H) of an M X N size.

도 1의 에서 패리티 검사 행렬(100)(H)에서 N은 열의 개수이며, 부호어의 길이를 나타내며, M은 행의 개수로서, 패리티 검사 식의 개수를 나타낸다. LDPC 부호의 검사 행렬은 1의 개수가 0의 개수보다 적은 것이 특징이다.In FIG. 1, N in the parity check matrix 100 (H) denotes the number of columns, the length of a codeword, and M the number of rows, which indicates the number of parity check equations. The check matrix of the LDPC code is characterized in that the number of 1's is less than the number of 0's.

도 2는 도 1의 LDPC 부호의 패리티 검사 행렬을 인수 그래프(Tanner Graph)로 나타낸 도면이다.FIG. 2 is a diagram showing a parity check matrix of the LDPC code of FIG. 1 by using an argument graph (Tanner Graph).

도 2를 참조하면, 가변 노드(variable node)(201 ~ 208)는 패리티 검사 행렬(100)(H)에서 열(column)을 나타낸다. 그리고 검사 노드(check node)(211 ~ 214)는 패리티 검사 행렬(100)(H)에서 행(row)을 나타낸다. 인수 그래프(200)에서 각각의 노드는 에지(edge)를 통해 연결되어진다. 여기서 에지는 패리티 검사 행렬(100)에서 '0'이 아닌 원소의 위치에 의해 결정된다. 검사 노드(ci)와 가변 노드(vj)가 에지를 통해 연결되어 있다면, 패리티 검사 행렬(100)에서 원소(hij)는 '0'이 아닌 값을 갖게 된다. 예를 들어 검사 노드(c0)(211)와 가변 노드(v3)(204)가 에지를 통해 연결되면, 패리티 검사 행렬(100)의 원소(h03)는 '0'이 아닌 값을 갖는다.Referring to FIG. 2, variable nodes 201 to 208 represent columns in the parity check matrix 100 (H). The check nodes 211 to 214 represent a row in the parity check matrix 100 (H). In the argument graph 200, each node is connected via an edge. Here, the edge is determined by the position of an element other than '0' in the parity check matrix 100. If the check node c i and the variable node v j are connected through an edge, the element h ij in the parity check matrix 100 has a value other than '0'. For example, when the check node (c 0 ) 211 and the variable node (v 3 ) 204 are connected through an edge, the element h 03 of the parity check matrix 100 has a value other than '0' .

그리고 특정 노드에 연결된 에지의 수를 그 노드의 차수라고 부른다. 가변 노드(201 ~ 208) 차수가 dv로 일정하고, 검사 노드(211 ~ 214) 차수가 dc로 일정할 때, 이때의 LDPC 부호를 정규(Regular) LDPC 부호라고 한다. 즉 패리티 검사 행렬(100)의 각 행에서 1의 값을 갖는 원소의 개수가 동일하고, 각 열에서 1의 값을 갖는 원소의 개수가 동일하면, LDPC 부호는 정규 LDPC 부호이다. 반면 가변 노드 차수(dv)와 검사 노드 차수(dc)가 일정하지 않은 경우의 LDPC 부호는 비정규(Irregular) LDPC 부호라고 한다. 도1 에 도시된 패리티 검사 행렬(100)은 가변 노드의 차수(dv)가 2차이며, 검사 노드 차수(dc)가 4차로 일정하므로 정규 LDPC 부호이다.The number of edges connected to a particular node is called the degree of that node. When the order of the variable nodes 201 to 208 is constant at d v and the order of the check nodes 211 to 214 is constant at d c , the LDPC code at this time is called a Regular LDPC code. That is, if the number of elements having a value of 1 in each row of the parity check matrix 100 is the same and the number of elements having a value of 1 in each column is the same, the LDPC code is a regular LDPC code. On the other hand, the LDPC code in the case where the variable node degree (d v ) and the check node degree (d c ) are not constant is called an irregular LDPC code. The parity check matrix 100 shown in FIG. 1 is a regular LDPC code because the order d v of the variable nodes is second order and the order of the check nodes d c is fourth order constant.

갈라거에 의해 제안된 BP 복호기는 반복적인 메시지 경과 알고리즘의 하나로 가변 노드와 패리티 검사 노드를 연결한 에지를 통해 메시지를 교환함으로써 복호가 이루어진다. 이때, 각각의 노드에서 발생하는 복호 과정을 노드 갱신(Node Update)이라고 한다. 모든 복호 반복 과정에서 각각의 노드는 이전 반복 과정에서 받은 메시지를 이용하여 해당 노드에 에지를 통해 연결된 이웃들과 메시지를 교환한다.The BP decoder proposed by Galgarder is one of the iterative message passing algorithms and it is decoded by exchanging messages through the edge connecting the variable node and the parity check node. At this time, the decoding process occurring in each node is called a node update. In all decoding iterations, each node exchanges messages with neighbors connected to the node through the edge using the message received in the previous iteration.

도3 은 도2 의 검사 노드 갱신의 일례를 나타내는 도면이다. 도3 에서는 검사 노드(211 ~214) 중 검사 노드(c0)(211)를 일예로 나타내었다. 도3 에 도시된 바와 같이 검사 노드(c0)(211)는 가변 노드(202, 204, 205)로부터 메시지(q10, q30, q40)를 인가받아, 검사노드의 메시지(r07)를 갱신하여 가변 노드(208)로 출력한다.3 is a diagram showing an example of check node update in FIG. In FIG. 3, the check node (c 0 ) 211 among the check nodes 211 to 214 is shown as an example. The check nodes (c 0), (211) as shown in Figure 3 is received is the message (q 10, q 30, q 40) from the variable nodes (202, 204, 205), a message of a check node (r 07) And outputs it to the variable node 208.

도 2 및 도 3을 참고하면, 각각의 검사 노드(ci)의 메시지는 수학식 1과 같이 갱신된다.Referring to FIG. 2 and FIG. 3, the message of each check node c i is updated as shown in Equation (1).

Figure 112010074955612-pat00001
Figure 112010074955612-pat00001

수학식 1에서 qi'j는 검사노드 ci 와 에지를 통해 연결된 가변 노드들의 메시지이다. 또한 i'∈Rj\i 는 패리티 검사 행렬(100)의 j행에서 1을 갖는 모든 원소의 인덱스를 나타낸다.In Equation (1), q i'j is a message of the variable nodes connected through the edge of the check node c i . Also i'∈R j\i indicates an index of all the elements with 1 in the j row of the parity check matrix (100).

도 4는 도 2의 가변 노드 갱신의 일례를 나타내는 도면으로, 가변 노드(201 ~208) 중 가변 노드(v1)(202)를 일 예로 나타내었다. 도 4에 도시된 바와 같이 가변 노드(v1)(202)는 검사 노드(211)로부터 메시지(r00)를 인가받아, 가변 노드의 메시지(q11)를 갱신하여 검사 노드(212)로 출력한다. 도 2 및 도 4를 참고하면, 각각의 가변 노드(vj)의 메시지는 수학식 2와 같이 갱신된다.Fig. 4 is a diagram showing an example of the variable node update of Fig. 2, in which the variable node (v 1 ) 202 of the variable nodes 201 to 208 is shown as an example. 4, the variable node v 1 202 receives the message r 00 from the check node 211, updates the message q 11 of the variable node, and outputs it to the check node 212 do. 2 and 4, the message of each variable node v j is updated as shown in equation (2).

Figure 112010074955612-pat00002
Figure 112010074955612-pat00002

수학식 2에서 rj'i는 가변 노드 vj와 에지를 통해 연결된 검사 노드들의 메시지이며, 수학식 2에서 j′∈Ci\j' 은 패리티 검사 행렬(100)의 i열에서 1을 갖는 모든 원소의 인덱스를 나타낸다. 여기서 pi는 각 원소에 대한 사후 확률 추정치를 나타낸다.In Equation (2), r j'i is a message of the check nodes connected through the variable node v j and the edge, and j ' C ij' in Equation (2) is a message having i in the i column of the parity check matrix 100 Indicates the index of all elements. Where p i represents the posterior probability estimate for each element.

상기한 바와 같이, LDPC 부호의 복호 방법은 크게 합곱 알고리즘(sum-product algorithm : 이하 SPA라고 함)과 BF 알고리즘으로 나눌 수 있다.As described above, the decoding method of the LDPC code can be largely divided into a sum-product algorithm (hereinafter referred to as SPA) and a BF algorithm.

BF 알고리즘에서는 채널로부터 수신한 신호 yi로부터 수학식 3에 따라 경판정 벡터(zi)를 구할 수 있다.In the BF algorithm, a hard decision vector (z i ) can be obtained from a signal y i received from a channel according to Equation (3).

Figure 112010074955612-pat00003
Figure 112010074955612-pat00003

BF 알고리즘은 LDPC 부호를 복호할 때, 0 또는 1로 엄격하게 결정된 신호에 대해 복호를 시도하기 때문에 0 또는 1의 경판정(hard-decision) 값(zi)을 계산한다. 그리고 수학식 3에 의해 경판정 값(zi)이 계산되면, 경판정 벡터(

Figure 112010074955612-pat00004
)가 결정되고, 수학식 4에 따라 신드롬 벡터(syndrome vector)(
Figure 112010074955612-pat00005
)를 구할 수 있다.The BF algorithm calculates a hard-decision value (z i ) of 0 or 1 since it attempts to decode a signal strictly determined to be 0 or 1 when decoding the LDPC code. When the hard decision value z i is calculated by Equation (3), the hard decision vector
Figure 112010074955612-pat00004
) Is determined, and a syndrome vector (
Figure 112010074955612-pat00005
) Can be obtained.

Figure 112010074955612-pat00006
Figure 112010074955612-pat00006

반면, SPA 는 실수(real number) 범위에서 다단계의 값을 가지는 신호에 대해 복호를 시도하므로, 연판정(soft-decision) 값을 계산한다.On the other hand, SPA attempts to decode a signal having a multilevel value in a real number range, and thus calculates a soft-decision value.

BF 알고리즘은 검사 노드에서 구해진 신도롬 벡터(

Figure 112010074955612-pat00007
)를 이용하여 가변 노드에 연결된 검사 노드 들 중 패리티 검사 식을 만족하지 않는 검사 노드가 지정되 개수 이상일 경우에 가변 노드를 반전시킨다. 즉 BF 알고리즘은 경판정 벡터(
Figure 112010074955612-pat00008
)를 이용하여 복호 동작을 수행한다.The BF algorithm is a neural network vector obtained at the check node (
Figure 112010074955612-pat00007
), The variable node is inverted when the number of check nodes that do not satisfy the parity check equation among the check nodes connected to the variable node is more than the designated number. That is, the BF algorithm uses a hard decision vector (
Figure 112010074955612-pat00008
) To perform a decoding operation.

BF 알고리즘의 성능을 개선하는 시도로서 가중치 비트 반전 (Weighted Bit-Flipping : 이하 WBF라 함) 알고리즘이 제안되었다. 갈라거에 의해 제안된 BF 알고리즘은 패리티 검사 방정식에 모두 동일한 가중치를 부여했지만, 이를 개선한 WBF 알고리즘은 각 체크에 관여되는 비트 가운데 신호의 크기가 가장 작은 것을 패리티 검사 방정식의 가중치로 부여함으로써 패리티 검사 방정식의 신뢰성을 차등화하는 방법을 사용하였다.A weighted bit-flipping (WBF) algorithm has been proposed as an attempt to improve the performance of the BF algorithm. Although the BF algorithm proposed by Galgardi gives equal weight to all the parity check equations, the WBF algorithm that improves the parity check equation gives the parity check equation with the smallest signal among the bits involved in each check as a weight of the parity check equation, The reliability of the system is differentiated.

WBF 알고리즘에서 j번째 검사 노드가 가지는 i번째 가변 노드에 대한 가중치(wji)는 수학식 5와 같이 표현될 수 있다.The weight w ji for the i-th variable node of the jth check node in the WBF algorithm can be expressed by Equation (5).

Figure 112010074955612-pat00009
Figure 112010074955612-pat00009

그리고 WBF 알고리즘을 개선한 IMWBF(Improved Modified Weighted Bit-Flipping) 알고리즘은 WBF와 마찬가지로 체크 방정식에 가중치를 부여하여 복호를 수행하지만 가중치의 값을 결정하는 방법이 다르다. 즉 WBF 알고리즘은 각 체크에 연결된 비트의 정보를 모두 이용하는 반면에 IMWBF 알고리즘은 자기 자신으로부터 제공된 정보를 제거한 후에 메시지를 전달받는 것이다. 따라서 WBF 알고리즘에 비하여 채널로부터 수신된 신호를 더욱 적극적으로 활용함으로서 성능을 향상 시킨다.The IMWBF (Improved Modified Weighted Bit-Flipping) algorithm that improves the WBF algorithm differs from WBF in that it performs weighting by weighting the check equation, but decides the weight value. That is, the WBF algorithm uses all the information of the bits connected to each check, while the IMWBF algorithm receives the message after removing the information provided from itself. Therefore, it improves the performance by using the signal received from the channel more actively than the WBF algorithm.

그러나, WBF 알고리즘과 IMWBF 알고리즘은 가변 노드가 처음 채널로부터 수신한 신뢰도가 복호 과정 전체에 동일하게 유지되므로 각 노드들이 복호 과정에서 얻게 되는 정보가 매우 제한적이다. 즉, 오류 비트를 가지고 있는 검사 노드에서 오류 비트가 반전된 경우에는 그 검사 노드의 신뢰도가 향상되어야 하지만 WBF 알고리즘과 IMWBF 알고리즘은 복호 전체에 동일한 가중치를 사용하게 되므로 반전된 비트의 신뢰도를 고려하지 않는 문제점이 있다. 또한, 한번의 반복 복호에서 가장 큰 반전 함수값을 가지는 비트만이 반전되므로 새로 얻게 된 정보의 대부분이 낭비되게 된다.However, since the reliability of the WBF algorithm and the IMWBF algorithm are kept the same throughout the decoding process, the information that the nodes obtain from the decoding process is very limited. That is, when the error bit is inverted at the check node having the error bit, the reliability of the check node should be improved. However, since the WBF algorithm and the IMWBF algorithm use the same weight for the entire decoding, There is a problem. Also, since only bits having the largest inverse function value are inverted in one iteration decoding, most of the newly obtained information is wasted.

도 5는 본 발명의 일예에 따른 복호 과정을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a decoding process according to an embodiment of the present invention.

본 발명에 다른 비트 반전 아고리즘 기반의 고성능 저밀도 패리티 검사 부호를 위한 복호 방법은 수신 장치에서 LDPC 부호를 가변 노드의 신뢰도 갱신을 위한 BF 복호 방식으로 복호하여 검출하는 복호기를 포함한다.A decoding method for a bit reversal algorithm based high-performance low-density parity check code according to the present invention includes a decoder for decoding an LDPC code in a receiving apparatus by using a BF decoding method for updating the reliability of a variable node.

복호기는 초기화 시에 반복 횟수(k)를 0으로 초기화 하고, 최대 반복 횟수(kmax)를 설정한다(S11). 이후 수신된 신호로부터 수학식 5에 따라 가중치(wji)를 모두 계산한다(S13). 가중치가 계산되면 반전 함수값(Ej)을 수학식 6 에 따라 계산한다(S15).The decoder initializes the number of iterations k to zero and sets the maximum number of iterations k max at the time of initialization (S11). Then, all the weights w ji are calculated from the received signals according to Equation (5) (S13). When the weight is calculated, the inverse function value E j is calculated according to Equation (6) (S15).

Figure 112010074955612-pat00010
Figure 112010074955612-pat00010

수학식 6에 따라 계산된 반전 함수값(Ej)이 지정된 문턱값(δ)보다 큰지 여부를 판정한다(S17). 여기서, α는 신호대 잡음비(signal-to-noise ratio; SNR)에 따라 다른 최적값을 갖는 양의 실수이다. 계산된 반전 함수(Ej)가 지정된 문턱값(δ)보다 크면 경판정값(zi)을 반전하고, 수신한 신호의 값을 수학식 7과 같이 조절한다.It is determined whether or not the inverse function value E j calculated according to Equation (6) is larger than the specified threshold value? (S17). Where a is a positive real number with an optimal value according to the signal-to-noise ratio (SNR). If the calculated inversion function E j is larger than the specified threshold value?, The hard decision value z i is inverted and the value of the received signal is adjusted as shown in Equation (7).

Figure 112010074955612-pat00011
Figure 112010074955612-pat00011

그리고 조절된 수신 신호의 값(yi)에 따라 경판정 벡터(

Figure 112010074955612-pat00012
)를 수학식 3에 의해 갱신한다(S19). 여기서 조절값(β)은 양의 정수이다.Then, according to the value y i of the adjusted received signal,
Figure 112010074955612-pat00012
(S19). &Quot; (3) " Here, the adjustment value? Is a positive integer.

계산된 반전 함수(Ej)가 지정된 문턱값(δ)보다 크지 않으면, 경판정값(zi)을 반전하지 않는다.If the calculated inversion function E j is not larger than the specified threshold value?, The hard decision value z i is not inverted.

패리티 검사를 수행하기 위해 갱신된 경판정 벡터(

Figure 112010074955612-pat00013
)를 수학식 4에 적용하여, 신드롬 벡터(
Figure 112010074955612-pat00014
)를 계산한다(S21). 계산된 신드롬 벡터(
Figure 112010074955612-pat00015
)가 0 벡터이면, 경판정 벡터(
Figure 112010074955612-pat00016
)를 부호어로서 출력하고 복호를 성공적으로 종료한다(S23). 그러나 계산된 신드롬 벡터(
Figure 112010074955612-pat00017
)가 0 벡터가 아니면, 반복 횟수(k)가 최대 반복 횟수(kmax)에 도달하였는지 확인한다(S25).An updated hard decision vector (< RTI ID = 0.0 >
Figure 112010074955612-pat00013
) Is applied to Equation (4), the syndrome vector (
Figure 112010074955612-pat00014
Is calculated (S21). The calculated syndrome vector (
Figure 112010074955612-pat00015
) Is a 0 vector, a hard decision vector (
Figure 112010074955612-pat00016
) As a codeword and successfully ends the decoding (S23). However, the calculated syndrome vector (
Figure 112010074955612-pat00017
) Is not a 0 vector, it is checked whether the number of repetitions k has reached the maximum number of repetitions (k max ) (S25).

만일 반복 횟수(k)가 최대 반복 횟수(kmax)에 도달하였으면, 복호기는 복호 실패를 선언하고 복호를 종료한다(S27). 반복 횟수(k)가 최대 반복 횟수(kmax)보다 작으면, 반복 횟수(k)에 1을 더하고, 다시 수신된 신호로부터 수학식 5에 따라 가중치(wji)를 모두 계산하는 단계(S13)로 돌아간다(S29).If the number of repetitions k has reached the maximum number of repetitions k max , the decoder declares decryption failure and ends the decoding (S27). (S13) of adding 1 to the repetition count (k) and calculating all the weights w ji from the received signal according to Equation (5) if the repetition number of times (k) is smaller than the maximum repetition number (k max ) (S29).

도 6은 본 발명에 따른 복호기의 비트 오류율 성능을 나타내는 시뮬레이션 그래프이다.6 is a simulation graph showing bit error rate performance of a decoder according to the present invention.

도 6을 참조하면, 사용되는 부호는 부호율(R)이 0.83, 부호어 길이(N)가 1944이며 최대 반복 복호 횟수(kmax)는 200회이다. 이때 사용되는 변조 방식은 BPSK(Binary Phase Shift Keying)이며, 추가적인 백색 가우시안 잡음(Additive White Gaussian Noise : AWGN) 채널 환경에서의 성능을 보여준다.Referring to FIG. 6, the code used is R = 0.83, the length N of the codeword is 1944, and the maximum number of iterative decoding k max is 200 times. The modulation scheme used here is BPSK (Binary Phase Shift Keying) and shows performance in an additive white Gaussian noise (AWGN) channel environment.

도 7은 본 발명에 따른 복호기의 평균 반복 복호 횟수를 나타내는 시뮬레이션 그래프이다.FIG. 7 is a simulation graph showing the average number of iterative decoding times of the decoder according to the present invention.

도 7을 참조하면, 사용되는 부호는 도6 과 마찬가지로 부호율(R)이 0.83, 부호 길이(N)가 1944이며 최대 반복 복호 횟수(kmax)는 200회이다. 이때 사용되는 변조 방식은 BPSK(Binary Phase Shift Keying)이며, 추가적인 백색 가우시안 잡음(Additive White Gaussian Noise) 채널 환경에서의 성능을 보여준다.Referring to FIG. 7, the code used is R = 0.83, the code length N = 1944, and the maximum number of iterative decoding k max is 200, as in FIG. The modulation scheme used here is BPSK (Binary Phase Shift Keying), which shows performance in an additive white Gaussian noise channel environment.

도6 및 도7 에 도시된 바와 같이, 본 발명에 따른 비트 반전 알고리즘 기반의 고성능 저밀도 패리티 검사 부호의 복호 방법은 종래의 복호기 보다 낮은 비트 오류율을 보이며, 적은 반복 복호 횟수를 제공할 수 있다.As shown in FIG. 6 and FIG. 7, the decoding method of the high performance LDPC code based on the bit inversion algorithm according to the present invention shows a lower bit error rate than the conventional decoder and can provide a small number of iterative decoding times.

도 8은 본 발명의 일예에 따른 LDPC 부호를 위한 복호 장치를 나타내는 도면이다.8 is a diagram illustrating a decoding apparatus for an LDPC code according to an embodiment of the present invention.

도 5를 참조하여 도 8의 복호 장치(10)를 설명하면, 복호 장치는 수신부(100), 복호부(200) 및 부호어 출력부(300)를 구비한다. 수신부(100)는 외부로부터 다양한 형태로 인가되는 LDPC 신호(LDPC)를 수신하여 디지털 코드로 변환하여 복호부(200)로 출력한다.8, the decoding apparatus includes a receiving unit 100, a decoding unit 200, and a codeword output unit 300. The decoding unit 10 shown in FIG. The receiving unit 100 receives an LDPC signal (LDPC) applied in various forms from the outside, converts the LDPC signal into a digital code, and outputs the digital code to the decoding unit 200.

복호부(200)는 수신부(100)로부터 디지털 코드로 변환된 LDPC 신호(yLDPC)를 인가받아 도 5에 도시된 복호 방법에 따라 복호 동작을 수행한다. 복호부(200)는 가중치 계산부(210), 반전함수 계산부(220), 신뢰도 갱신부(230) 및 패리티 검사부(240)를 구비한다. 먼저 가중치 계산부(210)는 수신부(100)로부터 LDPC 신호(yLDPC)가 인가되면 반복 횟수(k)를 0으로 초기화 하고, 최대 반복 횟수(kmax)를 설정한다. 그리고 수신된 LDPC 신호(yLDPC)로부터 수학식 5에 따라 가중치(wji)를 모두 계산한다.The decoding unit 200 receives the LDPC signal y LDPC converted into the digital code from the receiving unit 100 and performs a decoding operation according to the decoding method shown in Fig. The decoding unit 200 includes a weight calculation unit 210, an inverse function calculation unit 220, a reliability update unit 230, and a parity check unit 240. First, when the LDPC signal y LDPC is applied from the receiver 100, the weight calculator 210 initializes the repetition number k to 0 and sets the maximum repetition number k max . Then, all the weights w ji are calculated from the received LDPC signal y LDPC according to Equation (5).

반전 함수 계산부(220)는 가중치 계산부(210)에서 계산된 가중치를 이용하여 반전 함수값(Ej)을 수학식 6 에 따라 계산한다. 반전 함수 계산부(220)는 또한 계산된 반전 함수값(Ej)이 지정된 문턱값(δ)보다 큰지 여부를 판정하여 계산된 반전 함수(Ej)가 지정된 문턱값(δ)보다 크면 경판정값(zi)을 반전하고, 수신한 신호의 값을 수학식 7과 같이 조절한다.The inverse function calculating unit 220 calculates the inverse function value E j according to Equation (6) using the weight calculated by the weight calculating unit 210. The inverse function calculating unit 220 further determines whether the calculated inverse function value E j is larger than the specified threshold value 隆 and if the calculated inverse function E j is larger than the specified threshold value 隆, The value (z i ) is inverted and the value of the received signal is adjusted as shown in Equation (7).

신뢰도 갱신부(230)는 경판정값(zi)이 반전된 경우에 조절된 수신 신호의 값(yi)에 따라 경판정 벡터(

Figure 112010074955612-pat00018
)를 수학식 3에 따라 갱신한다.The reliability updating unit 230 updates the reliability of the hard decision vector z i according to the value y i of the received signal adjusted when the hard decision value z i is inverted.
Figure 112010074955612-pat00018
) Is updated according to Equation (3).

패리티 검사부(240)는 경판정 벡터(

Figure 112010074955612-pat00019
)를 수학식 4에 적용하여, 신드롬 벡터(
Figure 112010074955612-pat00020
)를 계산하고, 계산된 신드롬 벡터(
Figure 112010074955612-pat00021
)가 0 벡터이면, 경판정 벡터(
Figure 112010074955612-pat00022
)를 부호어 출력부(300)로 출력한다.The parity check unit 240 receives the hard decision vector (
Figure 112010074955612-pat00019
) Is applied to Equation (4), the syndrome vector (
Figure 112010074955612-pat00020
), And calculates the calculated syndrome vector (
Figure 112010074955612-pat00021
) Is a 0 vector, a hard decision vector (
Figure 112010074955612-pat00022
) To the codeword output unit (300).

부호어 출력부(300)는 성공적으로 복호된 부호어를 외부의 장치에 적합한 형태의 코드(code)로 변경하여 출력한다. 즉 부호어를 외부 장치와 정해진 인터페이스에 적합한 코드(code)로 변경하여 출력한다.The codeword output unit 300 converts a successfully decoded codeword into a code of a form suitable for an external device and outputs the code. That is, the codeword is converted into a code suitable for an interface with an external device and output.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art.

따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (14)

LDPC 코드(Low Density Parity Check Code) 부호를 위한 복호 방법에 있어서,
복호 반복 횟수를 초기화하는 초기화 단계;
수신 신호로부터 각각의 검사 노드의 가중치를 계산하는 가중치 계산 단계;
상기 가중치를 이용하여 반전 함수값을 계산하는 반전 함수값 계산 단계;
상기 반전 함수값을 문턱값과 비교하여 경판정값을 반전하고, 상기 수신 신호의 값을 조절하여 가변 노드의 신뢰도를 갱신하는 신뢰도 갱신 단계;
갱신된 상기 가변 노드의 신뢰도를 이용하여 신드롬 벡터를 계산하는 패리티 검사 단계;
상기 신드롬 벡터가 0이면 상기 경판정값에 근거한 경판정 벡터를 부호어로 출력하는 부호어 단계; 및
상기 신드롬 벡터가 0이 아니면 상기 복호 반복 횟수에 따라 상기 가중치 계산 단계로 궤환하는 궤환 단계를 포함하는 것을 특징으로 하는 LDPC 코드 부호를 위한 복호 방법.
A decoding method for an LDPC code (Low Density Parity Check Code) code,
An initializing step of initializing the number of times of decoding;
A weight calculation step of calculating a weight of each check node from the received signal;
An inverse function value calculation step of calculating an inverse function value using the weight value;
A reliability updating step of comparing the inverse function value with a threshold value to invert the hard decision value and to update the reliability of the variable node by adjusting the value of the received signal;
A parity check step of calculating a syndrome vector using the reliability of the updated variable node;
A codeword step of outputting as a codeword a hard decision vector based on the hard decision value if the syndrome vector is 0; And
And if the syndrome vector is not 0, feedback to the weight calculation step according to the number of decoding iterations.
제 1항에 있어서, 상기 신뢰도 갱신 단계는
상기 반전 함수값이 상기 문턱값보다 큰 값을 갖는지 비교하는 비교 단계;
상기 반전 함수 값이 문턱값보다 크면, 상기 경판정값을 반전하는 반전 단계;
상기 수신 신호의 값을 조절하는 조절 단계; 및
상기 조절된 수신 신호의 값을 이용하여 경판정 벡터를 갱신하는 벡터 갱신 단계를 포함하는 것을 특징으로 하는 LDPC 코드 부호를 위한 복호 방법.
2. The method of claim 1, wherein the reliability updating step
Comparing the inverse function value with a value larger than the threshold value;
An inversion step of inverting the hard decision value if the inverse function value is larger than a threshold value;
An adjusting step of adjusting a value of the received signal; And
And a vector updating step of updating the hard decision vector using the adjusted received signal value.
제 2항에 있어서, 상기 조절 단계는
상기 수신 신호의 값에 조절값을 더하여 상기 조절된 수신 신호를 생성하는 것을 특징으로 하는 LDPC 코드 부호를 위한 복호 방법.
3. The method of claim 2,
And adding the adjusted value to the value of the received signal to generate the adjusted received signal.
제 3항에 있어서, 상기 초기화 단계는
상기 복호 반복 횟수를 초기값으로 리셋하는 리셋 단계; 및
최대 복호 반복 횟수를 설정하는 설정 단계를 포함하는 것을 특징으로 하는 LDPC 코드 부호를 위한 복호 방법.
4. The method of claim 3, wherein the initializing step
A reset step of resetting the number of decoding iterations to an initial value; And
And a setting step of setting a maximum number of decoding iterations.
제 4항에 있어서, 상기 궤환 단계는
상기 복호 반복 횟수가 상기 최대 복호 반복 횟수와 같으면, LDPC 코드 부호에 대한 복호에 실패하였음을 선언하는 선언 단계; 및
상기 복호 반복 횟수가 상기 최대 복호 반복 횟수보다 작으면, 상기 복호 반복 횟수를 1증가하여 상기 가중치 계산 단계로 궤환하는 반복 횟수 증가 단계를 포함하는 것을 특징으로 하는 LDPC 코드 부호를 위한 복호 방법.
5. The method of claim 4, wherein the feedback step
A declaring step of, when the number of decoding iterations is equal to the maximum number of iterations, declaring that decoding of the LDPC code code has failed; And
And a repetition number increasing step of incrementing the number of decoding iterations by 1 and feeding back to the weight calculating step if the number of decoding iterations is smaller than the maximum number of iterations.
제 1항에 있어서, 상기 가중치 계산 단계는
상기 가중치(wji)를 수학식
Figure 112016098967325-pat00023

(여기서, yi' 은 수신 신호를 나타내고, i'∈Cj\i' 는 패리티 검사 행렬의 j열에서 1을 갖는 모든 원소의 인덱스를 나타낸다.)
에 의해 계산하는 것을 특징으로 하는 LDPC 코드 부호를 위한 복호 방법.
2. The method of claim 1, wherein the weight calculation step
The weight (w ji )
Figure 112016098967325-pat00023

(Where yi 'represents the received signal and i'∈C j \ i' represents the index of all elements having 1 in the j-th column of the parity check matrix.)
And decodes the LDPC code.
제 6항에 있어서, 상기 반전 함수값 계산 단계는
상기 반전 함수값(Ej)를 수학식
Figure 112016098967325-pat00024

(여기서, i∈Rj\i' 은 패리티 검사 행렬의 j행에서 1을 갖는 모든 원소의 인덱스를 나타내고, Sj는 신드롬 벡터(syndrome vector)를 나타내며, α는 신호대 잡음비(signal-to-noise ratio; SNR)에 따라 다른 최적값을 갖는 양의 실수를 나타낸다.)
에 의해 계산하는 것을 특징으로 하는 LDPC 코드 부호를 위한 복호 방법.
7. The method of claim 6, wherein the inverse function value calculation step
The inverse function value (E j )
Figure 112016098967325-pat00024

(Where i? R j? I ' denotes an index of all elements having a 1 in j rows of the parity check matrix, S j denotes a syndrome vector,? Denotes a signal-to-noise (SNR), which represents a positive real number with a different optimal value.
And decodes the LDPC code.
제 1항 내지 제 7항 중 어느 한 항에 따른 LDPC 코드 부호를 위한 복호 방법을 수행하기 위한 프로그램 명령어가 기록된, 컴퓨터가 판독가능한 기록매체.
8. A computer-readable recording medium on which program instructions for performing a decoding method for an LDPC code code according to any one of claims 1 to 7 are recorded.
외부로부터 다양한 형태로 인가되는 LDPC 신호를 수신하여 디지털 코드로 변환하여 출력하는 수신부;
상기 수신부로부터 상기 LDPC 신호를 인가받고, 상기 LDPC 신호로부터 가중치(wji)를 계산하고, 계산된 가중치를 이용하여 반전함수를 계산하며, 계산된 반전 함수값에 따라 경판정값을 반전하여 상기 LDPC 신호를 복호하는 복호부; 및
상기 복호부로부터 복호된 상기 LDPC 신호를 인가받아 출력하는 부호어 출력부를 구비하고,
상기 가중치(wji)는 WBF 알고리즘에서 j번째 검사 노드가 가지는 i번째 가변 노드에 대한 가중치인, LDPC 부호를 위한 복호 장치.
A receiving unit for receiving an LDPC signal applied in various forms from the outside and converting the received LDPC signal into a digital code and outputting the converted digital code;
Receives the LDPC signal from the receiver, calculates a weight w ji from the LDPC signal, calculates an inverse function using the calculated weight value, inverts the hard decision value according to the calculated inverse function value, A decoder for decoding the signal; And
And a codeword output unit for receiving and outputting the LDPC signal decoded by the decoding unit,
Wherein the weight w ji is a weight for an i th variable node of a j th check node in the WBF algorithm.
제 9항에 있어서, 상기 복호부는
상기 LDPC 신호가 인가되면 반복 횟수를 초기화 하고, 최대 반복 횟수를 설정하며, 상기 LDPC 신호로부터 상기 가중치를 계산하는 가중치 계산부;
상기 계산된 가중치를 이용하여 상기 반전 함수값을 계산하고, 계산된 상기 반전 함수값이 지정된 문턱값보다 큰지 여부를 판정하여 계산된 상기 반전 함수가 지정된 문턱값보다 크면 상기 경판정값을 반전하고, 상기 LDPC 신호를 조절하는 반전 함수 계산부;
상기 경판정값이 반전된 경우에 상기 조절된 LDPC 신호에 따라 경판정 벡터를 갱신하는 신뢰도 갱신부; 및
상기 갱신된 경판정 벡터를 이용하여 신드롬 벡터를 계산하고 계산된 신드롬 벡터가 0 벡터이면, 상기 갱신된 경판정 벡터를 부호어로서 출력하는 패리티 검사부를 구비하는 것을 특징으로 하는 LDPC 부호를 위한 복호 장치.
10. The apparatus of claim 9, wherein the decoding unit
A weight calculation unit for initializing a repetition number, setting a maximum repetition number, and calculating the weight from the LDPC signal when the LDPC signal is applied;
Determining whether the calculated inverse function value is greater than a specified threshold value, inverting the hard decision value if the inverse function is greater than a specified threshold value, An inverse function calculator for adjusting the LDPC signal;
A reliability updating unit for updating the hard decision vector according to the adjusted LDPC signal when the hard decision value is inverted; And
And a parity check unit for calculating a syndrome vector using the updated hard decision vector and outputting the updated hard decision vector as a codeword if the calculated syndrome vector is a 0 vector. .
제 10항에 있어서, 상기 가중치 계산부
상기 가중치(wji)를 수학식
Figure 112016098967325-pat00025

(여기서, yi' 은 수신 신호를 나타내고, i'∈Cj\i' 는 패리티 검사 행렬의 j열에서 1을 갖는 모든 원소의 인덱스를 나타낸다.)
에 의해 계산하는 것을 특징으로 하는 LDPC 부호를 위한 복호 장치.
11. The apparatus according to claim 10,
The weight (w ji )
Figure 112016098967325-pat00025

(Where yi 'represents the received signal and i'∈C j \ i' represents the index of all elements having 1 in the j-th column of the parity check matrix.)
And decodes the LDPC code.
제 10항에 있어서, 상기 반전 함수 계산부는
상기 반전 함수값(Ej)를 수학식
Figure 112016098967325-pat00026

(여기서, i∈Rj\i' 은 패리티 검사 행렬의 j행에서 1을 갖는 모든 원소의 인덱스를 나타낸다)
에 의해 계산하는 것을 특징으로 하는 LDPC 부호를 위한 복호 장치.
11. The apparatus of claim 10, wherein the inverse function calculation unit
The inverse function value (E j )
Figure 112016098967325-pat00026

(Where i? R j \ i ' represents the index of all elements having a 1 in the j-th row of the parity check matrix)
And decodes the LDPC code.
제 10항에 있어서, 상기 패리티 검사부는
상기 신드롬 벡터가 0 벡터가 아니면, 상기 반복 횟수가 상기 최대 반복 횟수보다 크거나 같은지 판정하여 상기 반복 횟수가 상기 최대 반복 횟수보다 작으면, 상기 조절된 LDPC 신호를 상기 가중치 계산부로 인가하고, 상기 반복 횟수가 상기 최대 반복 횟수보다 크거나 같으면, 복호 실패 신호를 출력하는 것을 특징으로 하는 LDPC 부호를 위한 복호 장치.
The apparatus of claim 10, wherein the parity checker
And if the syndrome vector is not a 0 vector, it is determined whether the repetition number is greater than or equal to the maximum repetition number. If the repetition number is less than the maximum repetition number, the adjusted LDPC signal is applied to the weight calculation unit. And outputs a decoding failure signal if the number of times is greater than or equal to the maximum number of repetitions.
컴퓨터를 제 9항 내지 제 13항 중 어느 한 항에 따른 LDPC 부호를 위한 복호 장치로서 기능시키기 위한 프로그램을 기록한, 컴퓨터가 판독가능한 기록매체.A computer-readable recording medium recording a program for causing a computer to function as a decoding apparatus for an LDPC code according to any one of claims 9 to 13.
KR1020100114203A 2010-11-17 2010-11-17 Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same KR101718543B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100114203A KR101718543B1 (en) 2010-11-17 2010-11-17 Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100114203A KR101718543B1 (en) 2010-11-17 2010-11-17 Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same

Publications (2)

Publication Number Publication Date
KR20120053122A KR20120053122A (en) 2012-05-25
KR101718543B1 true KR101718543B1 (en) 2017-03-22

Family

ID=46269411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100114203A KR101718543B1 (en) 2010-11-17 2010-11-17 Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same

Country Status (1)

Country Link
KR (1) KR101718543B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200098964A (en) * 2019-02-13 2020-08-21 에스케이하이닉스 주식회사 Controller and operating method thereof
US11115064B2 (en) 2019-03-19 2021-09-07 SK Hynix Inc. Error correction decoder and memory system having the same

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160046467A (en) * 2014-10-21 2016-04-29 에스케이하이닉스 주식회사 Semiconductor memory device, data storing system and operating method thereof
KR20160102738A (en) 2015-02-23 2016-08-31 에스케이하이닉스 주식회사 Controller, semiconductor memory system and operating method thereof
US20170288698A1 (en) * 2016-03-29 2017-10-05 Silicon Motion Inc. Power saving for bit flipping decoding algorithm in ldpc decoder
EP3242405B1 (en) * 2016-05-02 2024-02-21 Université de Bretagne Sud Non-binary check node processing with pre-sorted input
KR102559925B1 (en) 2016-07-21 2023-07-26 에스케이하이닉스 주식회사 Ldpc decoder, semiconductor memory system and operating method thereof
TWI632780B (en) * 2016-12-30 2018-08-11 慧榮科技股份有限公司 Decoding method and related apparatus
KR102289883B1 (en) 2017-05-10 2021-08-17 에스케이하이닉스 주식회사 Controller and operation method thereof
KR102530269B1 (en) * 2018-08-08 2023-05-09 에스케이하이닉스 주식회사 Ldpc decoder, semiconductor memory system and operating method thereof
KR102668208B1 (en) * 2020-02-06 2024-05-23 에스케이하이닉스 주식회사 Ldpc decoder, operating method of ldpc decoder and semiconductor memory system
KR102186741B1 (en) * 2020-04-01 2020-12-04 한국과학기술원 Density Evolution Method of the Bit-Flipping Decoding Algorithm of Regular Low-Density Parity-Check Codes and Apparatus Therefore

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891782B1 (en) * 2002-06-11 2009-04-07 삼성전자주식회사 Apparatus and method for correcting of forward error in high data transmission system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘비트 반전 알고리즘을 이용한 SSD의 오류 정정 부호’(2010년 6월 10일)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200098964A (en) * 2019-02-13 2020-08-21 에스케이하이닉스 주식회사 Controller and operating method thereof
US11095316B2 (en) 2019-02-13 2021-08-17 SK Hynix Inc. Controller and operating method for performing read operation to read data in memory device
KR102605633B1 (en) * 2019-02-13 2023-11-23 에스케이하이닉스 주식회사 Controller and operating method thereof
US11115064B2 (en) 2019-03-19 2021-09-07 SK Hynix Inc. Error correction decoder and memory system having the same

Also Published As

Publication number Publication date
KR20120053122A (en) 2012-05-25

Similar Documents

Publication Publication Date Title
KR101718543B1 (en) Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same
KR101431162B1 (en) Message-passing decoding method with sequencing according to reliability of vicinity
US8010869B2 (en) Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
Angarita et al. Reduced-complexity min-sum algorithm for decoding LDPC codes with low error-floor
JP5138221B2 (en) Method for min-sum decoding error correction code
JP5593312B2 (en) Overcoming LDPC trapping sets by resetting the decoder
KR101021465B1 (en) Apparatus and method for receiving signal in a communication system using a low density parity check code
US8689084B1 (en) Method and apparatus for breaking trapping sets in decoding of information
US8245116B2 (en) Method for performing soft decision decoding of Euclidean space Reed-Muller codes
CN105763203B (en) Multi-element LDPC code decoding method based on hard reliability information
US8726119B2 (en) Fast stochastic decode method for low density parity check code
US8689074B1 (en) Method and apparatus for detecting trapping sets in decoding of information
KR20090126829A (en) Iterative decoding method and iterative decoding apparatus
CN110830050B (en) LDPC decoding method, system, electronic equipment and storage medium
US9515680B2 (en) Fast mapping method for layered min-sum decoding of LDPC codes,
JP2008199623A (en) Message-passing and forced convergence decoding method
US9614548B1 (en) Systems and methods for hybrid message passing and bit flipping decoding of LDPC codes
EP1536568A1 (en) Belief propagation decoder cancelling the exchange of unreliable messages
CN101106437A (en) A decoding method for limited geometrical low density checksum code
CN101106383A (en) A low density checksum decoding method
JP2008544639A (en) Decoding method and apparatus
JP2006060695A (en) Information decoding and encoding method,information communication method, information decoding device, transmitting device, and information communication system
KR20090012189A (en) Apparatus and method for decoding using performance enhancement algorithm for ldpc codes with scaling based min-sum iterative decoding
Phromsa-ard et al. Improved gradient descent bit flipping algorithms for LDPC decoding
KR101630114B1 (en) LDPC Decoding Device and Method Using Min-Sum Algorithm

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 4