KR101307733B1 - Apparatus and method for decoding block layered based non-binary qc-ldpc - Google Patents

Apparatus and method for decoding block layered based non-binary qc-ldpc Download PDF

Info

Publication number
KR101307733B1
KR101307733B1 KR1020120021804A KR20120021804A KR101307733B1 KR 101307733 B1 KR101307733 B1 KR 101307733B1 KR 1020120021804 A KR1020120021804 A KR 1020120021804A KR 20120021804 A KR20120021804 A KR 20120021804A KR 101307733 B1 KR101307733 B1 KR 101307733B1
Authority
KR
South Korea
Prior art keywords
check node
merge
block
binary
metric
Prior art date
Application number
KR1020120021804A
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 KR1020120021804A priority Critical patent/KR101307733B1/en
Application granted granted Critical
Publication of KR101307733B1 publication Critical patent/KR101307733B1/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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Abstract

PURPOSE: An apparatus of encoding non-binary based QC-LDPC codes and a method thereof are provided to improve a whole transfer rate of a decoder. CONSTITUTION: A check node processing is performed by using a min-max algorithm which has a minimum value among maximum values of a check node operation unit. The check node operation unit comprises a min-max operation block which operates each row of a parity check matrix by one block layer. The check node operation unit performs a merge processing at the mini-max algorithm in two directions, classifies a merge operation as a left merging (L-merge) operation and a right merging (R-merge) operation and performs the L-merge operation and the R-merge operation. In a unit matrix forming the parity check matrix, elements positioned in a diagonal direction of the matrix comprise the elements of Galois-field and the rest elements of the matrix comprise 0. [Reference numerals] (AA,EE,JJ,NN) Switch network 2; (BB,FF,KK,OO) Smallest-largest calculation block; (CC) Backward metric; (DD) Backward memory bank; (GG) L-combination; (HH,PP) Shift register; (II) Forward metric; (LL) Forward memory bank; (MM) R-combination

Description

블록 레이어 기반의 비 이진 QC-LDPC 부호의 복호 장치 및 그 방법{APPARATUS AND METHOD FOR DECODING BLOCK LAYERED BASED NON-BINARY QC-LDPC}Decoding device and method thereof for non-binary PCC-LDPC code based on block layer {APPARATUS AND METHOD FOR DECODING BLOCK LAYERED BASED NON-BINARY QC-LDPC}

본 발명의 실시예들은 디지털 통신 시스템에 있어서 송신단에서 데이터 전송 과정 중 데이터에 발생한 오류를 수신단에서 정정하는 순방향 오류 정정(FEC: forward error correction) 시스템으로, 블록 레이어 기반의 비 이진 QC-LDPC (QC-LDPC: Quasi Cyclic Low-Density Parity Check) 부호의 복호 장치 및 방법에 관한 것이다.Embodiments of the present invention are a forward error correction (FEC) system that corrects an error occurring in data during a data transmission process at a transmitter in a digital communication system, and is based on a block layer based non-binary QC-LDPC (QC). -LDPC: relates to a decoding apparatus and method of a Quasi Cyclic Low-Density Parity Check) code.

최근 광대역 통신망에서 전송 대역폭의 증가 및 새로운 통신 서비스의 출현과 함께 인터넷 트래픽이 지속적으로 성장함에 따라 현재 유무선 통신시스템은 고속 데이터 전송이 가능 하도록 빠르게 변화하고 있다.Recently, with the increase of the transmission bandwidth in broadband networks and the emergence of new communication services, the Internet traffic continues to grow, and the wired and wireless communication systems are rapidly changing to enable high-speed data transmission.

특히, 기간 통신망인 광전송 시스템은 현재 100Gbps급 기술이 상용화 되고 있으며, 더 나아가 십 년 안에는 1-Tbps까지 전송률이 증가하는 방향으로 발전 할 것으로 전망하고 있다. 또한 고속 무선 통신 시스템에 있어서 VOD, HDTV, 3D-TV 등의 대용량 어플리케이션의 무선전송을 위한 시스템의 개발 또한 진행 되고 있다. 이러한 통신시스템의 진화는 필수로 사용 되는 고성능의 순방향 오류 정정 회로의 필요성이 대두되고 있다.In particular, the optical transmission system, which is the main communication network, is currently commercialized in the 100Gbps class, and is expected to develop in the direction of increasing the transmission rate to 1-Tbps within a decade. In addition, the development of a system for wireless transmission of high-volume applications such as VOD, HDTV, 3D-TV in high-speed wireless communication system is also in progress. The evolution of such communication systems has led to the need for high performance forward error correction circuits.

비 이진 LDPC (Non-Binary Quasi Cyclic Low-Density Parity Check) 부호는 기존의 LDPC부호가 확장 된 형태로서, Davey와 MacKay가 처음으로 제안한 블록부호 이다. 비 이진 LDPC부호 에서는 패리티 검사행렬(H)에서 '0' 이 아닌 원소들이 갈루아 체(Galois-Field)의 원소들로 할당된다. 일반적인 통신시스템에서 코드 길이가 짧거나, 고차의 변조기술이 적용 될 경우, 비 이진 LDPC부호는 LDPC 부호와 비교 하였을 때 보다 더 훌륭한 오류 정정 성능을 보인다.Non-Binary Quasi Cyclic Low-Density Parity Check (LDPC) code is an extension of the existing LDPC code, the first block code proposed by Davey and MacKay. In the non-binary LDPC code, elements other than '0' in the parity check matrix ( H ) are allocated as elements of Galois-Field. In a typical communication system, if the code length is short or higher-order modulation technique is applied, the non-binary LDPC code shows better error correction performance than the LDPC code.

비 이진 LDPC부호를 적용하기 위한 연구는 다방면의 통신시스템에 대해 진행 되고 있는데, 우선 가장 널리 사용되는 리드-솔로몬(RS: Reed-Solomon)부호와 비교하여 상당히 월등한 오류 정정 성능을 보이는 것으로 보고 되고 있으며, 또한 무선통신 시스템에 있어서 MIMO(Multiple Input Multiple Output) 기술이 적용될 때 기존의 LDPC 부호보다 비 이진 LDPC 부호가 훨씬 더 뛰어난 오류정정 성능을 보이고 있다.Research into the application of non-binary LDPC codes has been carried out on various communication systems. First, it is reported to have a significantly superior error correction performance compared to the most widely used Reed-Solomon (RS) codes. In addition, non-binary LDPC codes show much better error correction performance than conventional LDPC codes when MIMO (Multiple Input Multiple Output) technology is applied in a wireless communication system.

또한 광통신 시스템에서도 비 이진 LDPC 부호를 적용하기 위한 시도가 진행되고 있다. 특히 광통신 시스템에서는 FEC 성능의 중요성이 부각되고 있는데, 강력한 오류 정정 성능을 갖는 FEC를 적용함으로써 광전송로 상의 신호대 전송비(OSNR: Optical Signal to Noise Ratio) 성능을 향상 시키는 방법이 가장 효율적인 해결책으로 여겨지고 있기 때문이다. 이러한 이유로 광전송용 FEC로써 비 이진 LDPC부호의 적용을 위한 연구가 지속되고 있으며, 코드율이 높은 정규 비 이진 LDPC 부호는 차세대 광통신용 FEC로써 적용 가능 할 것으로 예측 하고 있다.Attempts have also been made to apply non-binary LDPC codes in optical communication systems. In particular, the importance of FEC performance is emerging in optical communication systems, and the method of improving optical signal to noise ratio (OSNR) performance on optical transmission lines is considered the most efficient solution by applying FEC with strong error correction performance. Because. For this reason, studies are being conducted to apply non-binary LDPC codes as FECs for optical transmission, and it is predicted that regular non-binary LDPC codes with high code rates can be applied as FECs for next-generation optical communications.

비 이진 LDPC 부호의 복호 알고리즘은 확률기반의 합-곱(sum-product) 알고리즘을 적용하여 복호 할 수 있다. 합-곱 알고리즘은 최적의 복호 알고리즘 이지만, 연산 복잡도가 상당히 크다. 이를 해결 하기 위해 차선 알고리즘으로써, 확장된 최소-합 알고리즘(Extended Min-Sum algorithm) 및 최소-최대 알고리즘 (Min-Max algorithm)이 제안되었다. 위 두 알고리즘은 비 이진 LDPC 복호를 위해 수신된 심볼의 LLR(log likelihood ratio)값을 사용하여 복호를 수행한다. 이렇게 하면 확률기반의 알고리즘에서의 복잡한 곱셈 연산을 덧셈연산을 이용하여 구현 할 수 있기 때문에 복호기의 연산 복잡도를 상당히 감소 시킬 수 있다.The decoding algorithm of a non-binary LDPC code can be decoded by applying a probability-based sum-product algorithm. The sum-product algorithm is an optimal decoding algorithm, but the computational complexity is quite large. To solve this problem, an extended min-sum algorithm and a min-max algorithm have been proposed. The above two algorithms perform decoding using the log likelihood ratio (LLR) value of the received symbol for non-binary LDPC decoding. This greatly reduces the computational complexity of the decoder because complex multiplication operations in probability-based algorithms can be implemented using addition operations.

특히, 비 이진 LDPC 복호기의 체크 노드 연산부의 구현을 위해서 최소-최대 알고리즘을 적용 할 경우 확장된 최소-합 알고리즘을 적용했을 때의 덧셈연산이 매 행마다 패리티 검사 행렬을 만족하는 특정 갈루아 체 심볼 조합의 최대 값들 중 최소값을 취하여 계산 할 수 있도록 변환 된다. 이러한 최소-최대 알고리즘의 연산을 위해서 우선 포워드 메트릭(Forward metrics)과 백워드 메트릭(Backward metrics)를 계산하고 이를 병합(Merge) 하는 과정을 통해 진행된다. 하지만 이러한 최소-최대 알고리즘의 연산 과정은 모두 재귀적(recursive)인 방법으로 연산이 되기 때문에 복호기의 체크 노드 연산부의 지연(latency)이 길어지게 되어 복호기의 전송률(data throughput)를 높이는데 어려움이 있다.In particular, when applying the minimum-maximum algorithm for the implementation of the check node operator of the non-binary LDPC decoder, the addition operation when the extended minimum-sum algorithm is applied satisfies a parity check matrix for each row. It is converted to be calculated by taking the minimum of the maximum values of. In order to calculate the minimum-maximum algorithm, forward metrics and backward metrics are first calculated and merged. However, since the computation process of the minimum-maximum algorithm is performed in a recursive manner, the delay of the check node operation unit of the decoder becomes long, which makes it difficult to increase the data throughput of the decoder. .

정규 비 이진 QC-LDPC부호의 복호기 설계에 있어서 겹치지 않는 행을 한번에 처리 하는 블록-레이어 기반의 복호기 구조와 연산지연이 가장 많이 걸리게 되는 체크 노드 연산의 지연 시간을 줄일 수 있는 2-way 병합(2-way merging) 최소- 최대 알고리즘 및 구조를 적용한 체크 노드 연산부를 포함하는 고속의 정규 비 이진 LDPC 부호의 복호기 구현 방법을 제공한다.Block-layer-based decoder structure that processes non-overlapping rows at once in regular non-binary QC-LDPC code decoder design and 2-way merging to reduce the delay time of check node operation that takes the most computational delay (2 The present invention provides a method for implementing a decoder of a fast normal non-binary LDPC code including a check node operation unit applying a minimum-maximum algorithm and structure.

비이진 QC-LDPC부호의 복호 장치는 최소-최대 알고리즘(Min-Max algorithm)을 사용하여 체크 노드 연산(Check Node Processing)을 수행하는 체크 노드 연산부를 포함한다. 이때, 체크 노드 연산부는 패리티 검사 행렬(parity check matrix)의 각 행을 하나의 블록 레이어로 연산하는 구조의 최소-최대 연산 블록(Min-Max Block)으로 구성되어 최소-최대 알고리즘에서의 병합 연산(Merge Processing)을 두 방향(2-way)으로 수행할 수 있다.The decoding apparatus of the non-binary QC-LDPC code includes a check node calculating unit which performs check node processing using a min-max algorithm. In this case, the check node calculator is composed of a min-max block of a structure for calculating each row of the parity check matrix as one block layer. Merge Processing can be performed in two directions.

일 측면에 따르면, 최소-최대 연산 블록은 수신된 심볼의 LLR(log likelihood ratio) 값 중에서 최소 값을 찾는 기본 연산 단위인 최소-최대 연산부가 갈루아 체의 원소 개수로 구성될 수 있다.According to an aspect, the minimum-maximum operation block may include a minimum-maximum operation part, which is a basic operation unit that finds the minimum value among the log likelihood ratio (LLR) values of the received symbols, as the number of elements of the Galois.

다른 측면에 따르면, 체크 노드 연산부는 각 연산 사이클 마다 두 개의 입력 벡터를 입력 받되, 입력 벡터 각각에 대하여 LLR값을 갈루아 체의 원소 개수만큼 입력 받을 수 있다.According to another aspect, the check node operator may receive two input vectors for each operation cycle, and may input LLR values for each input vector as many as the number of elements of the Galois body.

또 다른 측면에 따르면, 비이진 QC-LDPC 부호의 복호 장치는 체크 노드 연산부의 입력 벡터에 대한 스케줄링을 제어하는 스케줄러를 더 포함할 수 있다.According to another aspect, the decoding apparatus of the non-binary QC-LDPC code may further include a scheduler that controls scheduling of the input vector of the check node calculator.

또 다른 측면에 따르면, 최소-최대 알고리즘은 포워드 메트릭(Forward Metrics), 백워드 메트릭(Backward Metrics), 그리고 병합 연산(Merge Processing)을 포함하며, 최소-최대 연산부는 포워드 메트릭과 백워드 메트릭에서 수학식 1에 의해 생성된 조합을 계산하도록 제어하고, 병합 연산에서 수학식 2에 의해 생성된 조합을 계산하도록 제어하는 스위치 네트워크를 포함할 수 있다. 수학식 1:

Figure 112012017343229-pat00001
, 수학식 2:According to another aspect, the minimum-maximum algorithm includes forward metrics, backward metrics, and merge processing, with the minimum-maximum computation being mathematical in the forward and backward metrics. And a switch network that controls to calculate the combination generated by Equation 1 and calculates the combination generated by Equation 2 in a merge operation. Equation 1:
Figure 112012017343229-pat00001
, Equation 2:

Figure 112012017343229-pat00002
(여기서, a, a', a"는 갈루아 체의 원소를 나타내고, hm ,n 은 패리티 검사 행렬의 원소를 나타낸다.)
Figure 112012017343229-pat00002
(Where a, a ', a "represents an element of a galois, and h m , n represents an element of a parity check matrix.)

또 다른 측면에 따르면, 체크 노드 연산부는 포워드 메트릭 연산을 위한 제1 체크 노드 블록과, 포워드 메트릭의 연산과 동시에 백워드 메트릭 연산을 위한 제2 체크 노드 블록과, L-병합(Left Merging) 연산을 위한 제3 체크 노드 블록과, L-병합 연산과 동시에 R-병합(Right Merging) 연산을 위한 제4 체크 노드 블록을 포함할 수 있다.According to another aspect, the check node operation unit performs a first check node block for forward metric operation, a second check node block for backward metric operation, and an L-merge operation at the same time as the forward metric operation. And a fourth check node block for an R-merging operation at the same time as the L-merge operation.

또 다른 측면에 따르면, 제1 체크 노드 블록과 제2 체크 노드 블록은 각 연산 사이클 마다 입력 값을 조절하기 위한 스위치 네트워크, 포워드 메트릭 연산 또는 백워드 메트릭 연산의 결과를 다음 연산 사이클에서 사용하는 재귀적 구조의 최소-최대 연산 블록, 포워드 메트릭 연산 또는 백워드 메트릭 연산의 결과를 저장하기 위한 레지스터를 포함할 수 있다.According to another aspect, the first check node block and the second check node block recursively use a result of a switch network, forward metric operation, or backward metric operation for adjusting an input value in each operation cycle in a next operation cycle. And a register for storing the result of the minimum-maximum operation block, forward metric operation, or backward metric operation of the structure.

또 다른 측면에 따르면, 제3 체크 노드 블록과 제4 체크 노드 블록은 각 연산 사이클 마다 입력 값을 조절하기 위한 스위치 네트워크, L-병합 연산 또는 R-병합 연산의 결과를 다음 연산 사이클에서 사용하는 재귀적 구조의 최소-최대 연산 블록을 포함할 수 있다.According to another aspect, the third check node block and the fourth check node block recursively use a result of a switch network, an L-merge operation, or an R-merge operation to adjust an input value in each calculation cycle in a next calculation cycle. It may include the minimum-maximum operation block of the enemy structure.

또 다른 측면에 따르면, 체크 노드 연산부는 포워드 메트릭 연산과 백워드 메트릭 연산이 일정 연산 사이클(체크 노드의 차수만큼: dc) 동안 진행되며, 연산 사이클의 중간 지점(dc/2)에서부터 L-병합 연산과 R-병합 연산이 진행될 수 있다.According to another aspect, the check node calculator performs a forward metric operation and a backward metric operation for a predetermined operation cycle (the order of the check nodes: d c ), and the L− from the midpoint of the operation cycle (d c / 2). Merge operation and R-merge operation may proceed.

또 다른 측면에 따르면, 체크 노드 연산부는 포워드 메트릭 연산과 백워드 메트릭 연산의 결과 중에서 중간 지점(dc/2)까지의 연산 결과를 저장하기 위한 메모리를 더 포함할 수 있다. 이때, 중간 지점(dc/2) 이후의 연산 결과는 제3 체크 노드 블록 및 제4 체크 노드 블록으로 입력될 수 있다.According to another aspect, the check node calculator may further include a memory for storing the operation result up to the intermediate point (d c / 2) among the results of the forward metric operation and the backward metric operation. In this case, the operation result after the intermediate point d c / 2 may be input to the third check node block and the fourth check node block.

본 발명의 일실시예에 따르면, 비 이진 QC-LDPC 부호의 복호기 구현에 있어서 패리티 검사 행렬의 겹치지 않는 행을 블록-레이어로 처리함으로써 복호기의 전체 전송률을 향상시킬 수 있다.According to an embodiment of the present invention, in the implementation of the decoder of the non-binary QC-LDPC code, the non-overlapping rows of the parity check matrix may be treated as block-layers to improve the overall data rate of the decoder.

본 발명의 일실시예에 따르면, 2-way 병합 최소-최대 알고리즘 및 구조를 적용함 따라 체크 노드 연산부의 연산 지연 시간을 반으로 줄일 수 있어 고속의 비 이진 QC-LDPC 복호기의 구현에 적용 할 수 있다.According to an embodiment of the present invention, by applying the 2-way merge minimum-maximum algorithm and structure, the computation delay time of the check node operation unit can be reduced by half, and thus it can be applied to the implementation of a fast non-binary QC-LDPC decoder. have.

도 1은 일반적인 비 이진 LDPC 복호기의 복호 과정을 나타내는 흐름도 이다.
도 2는 본 발명을 설명하기 위한 GF(24)에서 정의되는 정규 비 이진 QC-LDPC(225,165)의 패리티 검사 행렬을 도시한 예시도 이다.
도 3은 본 발명을 설명하기 위한 GF(24)에서 정의 되는 α3에 대응하는 순환 치환 행렬(CPM: circulant permutation matrix)의 예시도 이다.
도 4는 본 발명의 일실시예에 따른 최소-최대 연산부의 구조를 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따른 최소-최대 연산 블록의 구조를 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 최소-최대 연산부를 위한 스위치 네트워크 1의 스케줄링 방법을 설명하는 도면이다.
도 7은 본 발명의 일실시예에 따른 2-way 병합 최소-최대 알고리즘에서 포워드 메트릭, 백워드 메트릭, R-병합 및 L-병합의 연산 순서를 설명하는 도면이다.
도 8은 본 발명의 일실시예에 따른 2-way 병합 최소-최대 알고리즘을 적용 할 때의 연산 지연이 어떻게 감소 되는지를 설명하는 도면이다.
도 9는 본 발명의 일실시예에 따른 포워드 메트릭과 백워드 메트릭을 연산 하기 위한 체크 노드 블록-1의 구조에 대한 도면 이다.
도 10은 본 발명의 일실시예에 따른 R-병합과 L-병합을 연산 하기 위한 체크 노드 블록-2의 구조에 대한 도면이다.
도 11은 본 발명의 일실시예에 따른 체크 노드 블록-1과 체크 노드 블록-2에 적용되는 스위치 네트워크 2의 스케줄링에 대해 설명하는 도면이다.
도 12는 본 발명의 일실시예에 따른 2-way 병합 최소-최대 알고리즘을 적용한 체크 노드 연산부의 구조에 대한 도면이다.
도 13는 본 발명의 일실시예에 따른 블록-레이어 기반의 비 이진 QC-LDPC 복호기의 전체 구조에 대한 도면이다.
1 is a flowchart illustrating a decoding process of a general non-binary LDPC decoder.
2 is an exemplary diagram showing a parity check matrix of a normal non-binary QC-LDPC 225, 165 defined in the GF 2 4 for explaining the present invention.
3 is an exemplary diagram of a circulant permutation matrix (CPM) corresponding to α 3 defined in GF 2 4 for explaining the present invention.
4 is a diagram illustrating a structure of a minimum-maximum calculation unit according to an embodiment of the present invention.
5 is a diagram illustrating a structure of a minimum-maximum operation block according to an embodiment of the present invention.
6 is a diagram illustrating a scheduling method of a switch network 1 for a minimum-maximum calculation unit according to an embodiment of the present invention.
FIG. 7 is a diagram illustrating a calculation sequence of a forward metric, a backward metric, an R-merge, and an L-merge in a 2-way merging minimum-maximum algorithm according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating how computational delay is reduced when applying a 2-way merge minimum-maximum algorithm according to an embodiment of the present invention.
9 is a diagram illustrating the structure of a check node block-1 for calculating a forward metric and a backward metric according to an embodiment of the present invention.
FIG. 10 is a diagram illustrating a structure of a check node block-2 for calculating an R-merge and an L-merge according to an embodiment of the present invention.
FIG. 11 is a diagram illustrating scheduling of a switch network 2 applied to check node block-1 and check node block-2 according to an embodiment of the present invention.
12 is a diagram illustrating a structure of a check node calculator to which a 2-way merging minimum-maximum algorithm is applied according to an embodiment of the present invention.
FIG. 13 is a diagram of the entire structure of a block-layer based non-binary QC-LDPC decoder according to an embodiment of the present invention.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments.

본 실시예에서는 특별히 GF(24)에서 정의되는 변수 노드의 차수가 3과 4, 체크 노드의 차수가 14인 비 이진 QC-LDPC(225,165) 부호를 기준으로 설명하는 것이고, 본 발명은 다양한 통신 시스템을 위한 비 이진 QC-LDPC 부호의 구현에도 동일하게 적용될 수 있다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.In the present embodiment, a description is made based on the non-binary QC-LDPC (225, 165) code, in which the order of variable nodes defined in GF (2 4 ) is 3 and 4, and the order of check nodes is 14, and the present invention provides various communication. The same applies to the implementation of non-binary QC-LDPC codes for the system. Like reference symbols in the drawings denote like elements.

섀논(Shannon)이 1948년 잡음 채널 부호화 이론을 발표한 이후로 채널 부호는 섀논의 이론적 한계에 다다르는 방향으로 점진적으로 발전해 왔다. 갤러거(Gallager)에 의해 1960년대 최초 발견된 LDPC부호는 지난 20년간 강력한 오류 정정 성능 때문에 많은 관심을 받아 왔으며, 현재 많은 통신 시스템에 채택되어 사용 되고 있다. 최근에는 패리티 검사 행렬이 갈루아 체에서 정의 되는 비 이진 LDPC 부호가 다베이(Davey)와 멕케이(Mackay)에 의해 발견되어 관심이 증가 하고 있다. 비 이진 LDPC 부호는 기존의 LDPC 부호보다 적절한 부호 길이에서도 섀논의 한계에 이르는 강력한 오류 정정 능력을 보여 주고 있다.Since Shannon published the theory of noise channel coding in 1948, channel codes have evolved progressively to reach Shannon's theoretical limits. Originally discovered by Gallagher in the 1960s, the LDPC code has received a lot of attention over the past 20 years due to its robust error correction performance and is now being adopted and used in many communications systems. Recently, interest has increased due to the discovery of non-binary LDPC codes defined by Galois parity check matrix by Davey and Mackay. Non-binary LDPC codes show robust error correction capabilities that reach the limits of Shannon even at a proper code length than conventional LDPC codes.

비 이진 LDPC 부호의 복호를 위한 알고리즘으로써 확률 기반의 합-곱 알고리즘의 연산 과정은 많은 양의 곱셈연산을 수행해야 하므로 실제 구현을 위해서는 상당한 문제점이 발생한다. 이를 대체하기 위해 LLR값을 사용하는 알고리즘들이 제안되었고, 대표적으로 확장된 최소-합 알고리즘과 최소-최대 알고리즘이 있다. 두 알고리즘 모두 LLR을 사용하여 연산하는 알고리즘이지만 논문을 통해 보고된 바에 따르면, 최소-최대 알고리즘이 확장된 최소-합 알고리즘 보다 적은 SNR 감소를 보인다. 따라서 하드웨어 구현까지 고려 할 경우 최소-합 알고리즘을 적용하는 것이 유리하다.As an algorithm for decoding a non-binary LDPC code, a computation process of a probability-based sum-product algorithm requires a large amount of multiplication, which causes a considerable problem for the actual implementation. Algorithms using LLR values have been proposed to replace this, and representatively, there are extended minimum-sum algorithm and minimum-maximum algorithm. Both algorithms operate using LLR, but the paper reported that the min-max algorithm shows less SNR reduction than the extended min-sum algorithm. Therefore, when considering the hardware implementation, it is advantageous to apply the minimum-sum algorithm.

도 1은 일반적인 비 이진 LDPC 복호기의 복호 과정을 나타내는 흐름도 이다.1 is a flowchart illustrating a decoding process of a general non-binary LDPC decoder.

채널로부터 수신된 코드워드의 심볼은 LLR값으로 변환되며 변수 노드 연산부에 입력되며 메모리에 저장되어 있는

Figure 112012017343229-pat00003
Figure 112012017343229-pat00004
의 뺄셈 연산으로 복호 과정이 시작된다. 이에 따라 생성된 αm,n(a) 값이 체크 노드 연산부로 입력되어 체크 노드 연산부의 연산이 진행된다.
Figure 112012017343229-pat00005
m,n(a)값이 체크 노드 연산부의 결과로써 출력이 되어 메모리에 저장되며, 동시에 후위 메세지 연산
Figure 112012017343229-pat00006
m,n(a) 의 αm,n(a) 덧셈이 진행된다. 최종적으로,
Figure 112012017343229-pat00007
값이 정규화 과정을 거쳐 생성된
Figure 112012017343229-pat00008
값이 변수 노드 연산부로 다시 입력되는 반복 복호 과정을 거치게 된다.The symbol of the codeword received from the channel is converted into the LLR value and input to the variable node calculator and stored in the memory.
Figure 112012017343229-pat00003
and
Figure 112012017343229-pat00004
The decoding process begins with the subtraction operation of. Thus, the generated α m, n ( a ) value is input to the check node calculator and the check node calculator performs the calculation.
Figure 112012017343229-pat00005
The m, n ( a ) value is output as a result of the check node operator and stored in the memory.
Figure 112012017343229-pat00006
m, n ( a ) addition of m, n ( a ) proceeds. Finally,
Figure 112012017343229-pat00007
Value is generated by normalization
Figure 112012017343229-pat00008
The value is input to the variable node calculator again and iteratively decoded.

도 2는 본 발명을 설명하기 위한 GF(24)에서 정의되는 정규 비 이진 QC-LDPC(225,165)의 패리티 검사 행렬을 도시한 예시도 이다.2 is an exemplary diagram showing a parity check matrix of a normal non-binary QC-LDPC 225, 165 defined in the GF 2 4 for explaining the present invention.

비 이진 LDPC 부호의 생성방법은 현재 몇 종류가 제안된 바 있다. 특히, 본 발명의 일실시예를 위해서 행열-제한적 (RC-constrained: row-column constrained) 배열 확장 방법을 이용한 패리티 검사 행렬을 통해 비 이진 LDPC 부호를 생성할 수 있다.Several types of non-binary LDPC codes have been proposed. In particular, for an embodiment of the present invention, a non-binary LDPC code may be generated through a parity check matrix using a row-constrained (RC-constrained) array expansion method.

도 3은 본 발명을 설명하기 위한 GF(24)에서 정의 되는 α3에 대응하는 순환 치환 행렬의 예시도 이다.3 is an exemplary diagram of a cyclic substitution matrix corresponding to α 3 defined in GF (2 4 ) for explaining the present invention.

순환 치환 행렬은 본 발명에서 사용된 비 이진 LDPC 부호를 생성 하는데 있어서 기본 단위로 사용되는 부 행렬로써, 정의된 갈루아 체의 원소가 대각선 방향으로 원소를 이루고 있으며, 그 외는 모두 0인 원소로 채워지는 정방형의 행렬이다.The cyclic substitution matrix is a sub-matrix that is used as a base unit in generating the non-binary LDPC code used in the present invention. The elements of the defined galois form an element in a diagonal direction, and the others are filled with zero elements. Square matrix.

수학식 1은 블록-레이어 기반의 최소-최대 알고리즘의 연산 과정을 보여 주고 있다. LDPC 부호뿐만 아니라 비 이진 LDPC 부호에서도 마찬가지로 겹치지 않는 행을 하나의 블록 단위로 묶어서 처리하는 블록-레이어 기반의 복호 방식을 적용 할 수 있는데, 이 방식을 적용하면 한번에 많은 행의 연산이 가능하기 때문에 복호기의 수렴 속도를 향상 시킬 수 있는 장점이 있다. 본 발명에서 하나의 블록 단위는 패리티 검사 행렬을 이루는 순환 치환 행렬이 15×15 의 크기 이기 때문에 한 번에 15개 행씩 처리가 가능하다.Equation 1 shows the operation of the block-layer based minimum-maximum algorithm. Likewise, a block-layer-based decoding method that processes non-overlapping rows in a block unit as well as LDPC codes can be applied. This method enables the operation of many rows at once. This has the advantage of improving the convergence speed. In the present invention, one block unit may process 15 rows at a time because the cyclic substitution matrix constituting the parity check matrix is 15 × 15.

Figure 112012017343229-pat00009
Figure 112012017343229-pat00009

도 4는 본 발명의 일실시예에 따른 최소-최대 연산부의 구조를 나타내는 도면이다. 본 발명의 실시예는 체크 노드 연산부를 구현함에 있어 최소-최대 알고리즘에 따른 최소-최대 연산부를 적용할 수 있다.4 is a diagram illustrating a structure of a minimum-maximum calculation unit according to an embodiment of the present invention. The embodiment of the present invention may apply the minimum-maximum operator according to the minimum-maximum algorithm in implementing the check node calculator.

체크 노드 연산에 있어서 최소-최대 연산은 수학식 2, 수학식 3 그리고 수학식 4에서 보이는 바와 같이 포워드 메트릭, 백워드 메트릭 그리고 병합 연산과정에 걸쳐서 일어난다.
In the check node operation, the minimum-maximum operation occurs throughout the forward metric, backward metric, and merge operations as shown in equations (2), (3) and (4).

Figure 112012017343229-pat00010
Figure 112012017343229-pat00010

Figure 112012017343229-pat00011
Figure 112012017343229-pat00011

Figure 112012017343229-pat00012
Figure 112012017343229-pat00012

비 이진 LDPC 부호를 위한 최소-최대 복호 알고리즘은 체크 노드 연산에 있어서 특정 조건을 만족하는 최대값 중 최소값 찾아내는 알고리즘이다. 최소-최대 연산부는 정의된 갈루아 체의 원소의 개수만큼의 LLR값을 입력 받아 연속적인 연산 과정을 거쳐 최종적으로 최소 값을 레지스터(D)에 저장을 한다. 본 발명에서 정의된 갈루아 체는 GF(24)로써 총 16개의 입력을 받아 연산을 진행한다.The minimum-maximum decoding algorithm for non-binary LDPC codes is an algorithm for finding the minimum value among the maximum values satisfying a specific condition in the check node operation. The minimum-maximum operation part receives LLR values as many as the number of elements of the Galois defined, and continuously stores the minimum value in the register (D) through a continuous calculation process. Galois defined in the present invention is a GF (2 4 ) receives a total of 16 inputs and proceeds with the operation.

도 5는 도 4를 통해 설명한 최소-최대 연산부로 구성된 최소-최대 연산 블록의 구조를 나타내는 도면이다.FIG. 5 is a diagram illustrating a structure of a minimum-maximum calculation block including the minimum-maximum calculation unit described with reference to FIG. 4.

본 발명의 일실시예에 있어서 블록-레이어 기반으로 체크 노드 연산을 하기 위해서 15개 행씩을 한번에 처리할 수 있도록 15개의 최소-최대 연산부를 포함하는 최소-최대 연산 블록을 설계하여 적용한다. 적용되는 15개의 최소-최대 연산부는 모두 동일한 구조이지만 스위치 네트워크 1의 제어는 매 연산 사이클 마다 이에 상응하는 패리티 검사 행렬의 원소에 따라 결정된다.In an embodiment of the present invention, a minimum-maximum calculation block including 15 minimum-maximum calculation units is designed and applied to process 15 rows at a time in order to perform a check node operation on a block-layer basis. The 15 min-max computations that are applied are all of the same structure, but the control of switch network 1 is determined by the elements of the parity check matrix corresponding to each computation cycle.

도 6은 본 발명의 일실시예에 따른 최소-최대 연산부를 위한 스위치 네트워크 1의 스케줄링 방법을 설명하는 도면이다.6 is a diagram illustrating a scheduling method of a switch network 1 for a minimum-maximum calculation unit according to an embodiment of the present invention.

수학식 5는 포워드 메트릭과 백워드 메트릭에 사용되는 스위치 네트워크 1의 제어에 사용되는 수식이다.Equation 5 is an equation used to control the switch network 1 used in the forward metric and the backward metric.

Figure 112012017343229-pat00013
Figure 112012017343229-pat00013

수학식 6은 병합 연산에서 사용되는 스위치 네트워크 1의 제어에 사용되는 수식이다.Equation 6 is an equation used to control the switch network 1 used in the merge operation.

Figure 112012017343229-pat00014
Figure 112012017343229-pat00014

수학식 5와 6에서의 a, a' 와 a"는 갈루아 체에서의 원소를 나타낸다. 스위치 네트워크 1은 상응하는 패리티 검사행렬의 원소 hm ,n 이 정해져 있을 때 결정되는 a의 값을 a' 와 a"의 조합을 찾아 연산을 할 수 있다. 예를 들어 hm ,n 이 α5로 정의 되어 있고 a=0, a=α0, ..., a=α14까지 연산을 한다고 가정하면, 두 개의 알 수 없는 심볼 hm ,n과 a가 정해 지기 때문에 모든 갈루아 체의 심볼을 대입하는 방법으로 a' 와 a"의 심볼 조합을 찾아 낼 수 있다.A, a 'and a "in Equations 5 and 6 represent the elements in the galois. Switch network 1 determines the value of a determined when the elements h m and n of the corresponding parity check matrix are determined. You can do this by looking for a combination of and a ". For example, suppose h m , n is defined as α 5 , and you operate on a = 0, a = α 0 , ..., a = α 14 , two unknown symbols h m , n and a Since we can determine the symbol combinations of a 'and a "by substituting all Galois symbols.

Figure 112012017343229-pat00015
Figure 112012017343229-pat00015

수학식 7은 앞서 설명한 방식으로 hm ,n= α5, f(α1)로 정의 될 때 구하는 방법에 대한 수식이다. 이를 통해서 모든 a' 와 a"의 조합 0-α11, α014, α1-0, α20, ..., α142을 찾아 낼 수 있다.Equation 7 is an equation for the method to be obtained when it is defined as h m , n = α 5 , f (α 1 ) in the manner described above. Through this, all combinations of a 'and a "0-α 11 , α 014 , α 1 -0, α 20 , ..., α 142 can be found.

종래의 비 이진 LDPC 부호의 최소-최대 알고리즘은 수학식 2, 3, 4에서 정의된 것처럼 포워드 메트릭, 백워드 메트릭, 병합 연산을 거쳐서 이루어진다. 각각의 연산은 재귀적인 방법으로 연산이 이루어진다. 다시 말하면, 병합 연산은 포워드 메트릭과 백워드 메트릭의 연산이 끝나기 전에는 계산 될 수 없음을 의미한다. 따라서 dc×2 사이클 (1 사이클은 최소 최대 연산 블록의 연산 시간)만큼의 시간이 소요되어 복호기의 연산 지연이 길어지는 원인이 된다.The minimum-maximum algorithm of the conventional non-binary LDPC code is performed through a forward metric, a backward metric, and a merge operation as defined in Equations 2, 3, and 4. Each operation is performed in a recursive manner. In other words, the merge operation cannot be calculated until the operation of the forward metric and the backward metric is finished. Therefore, it takes as long as d c × 2 cycles (one cycle is the operation time of the minimum maximum operation block), which causes a long delay in the operation of the decoder.

수학식 8은 본 발명에 있어서 체크 노드 연산부의 지연을 줄이기 위한 2-병합 최소-최대 알고리즘의 연산과정을 보여 주고 있다.Equation 8 shows the operation of the 2-merge minimum-maximum algorithm for reducing the delay of the check node calculation unit in the present invention.

Figure 112012017343229-pat00016
Figure 112012017343229-pat00016

도 7은 본 발명의 일실시예에 따른 2-way 병합 최소-최대 알고리즘에서 포워드 메트릭, 백워드 메트릭, R-병합 및 L-병합의 연산 순서를 설명하는 도면이다.FIG. 7 is a diagram illustrating a calculation sequence of a forward metric, a backward metric, an R-merge, and an L-merge in a 2-way merging minimum-maximum algorithm according to an embodiment of the present invention.

체크 노드 연산부를 구현함에 있어서 병합 연산을 위해 2개의 연산블록을 사용할 수 있다면 본 발명에서 제시하는 2-병합 최소-최대 알고리즘을 적용하여 구현 할 수 있다. 예를 들어 본 발명에서 사용하는 패리티 검사 행렬에서 체크 노드의 차수는 14이므로 포워드 메트릭은 F1부터 F13까지 백워드 메트릭은 B14부터 B2까지 연산이 되고, 이후에 병합 연산이 이루어지는데, 도 7에서 보는 바와 같이 2-병합 최소-최대 알고리즘을 적용하면 포워드 및 백워드 메트릭의 연산 중간 이후에 R-병합 연산과 L-병합 연산을 독립적으로 나누어 실행함에 따라 체크 노드 연산부의 연산 지연을 종래의 최소-최대 알고리즘과 비교하여 반으로 줄일 수 있다.In the implementation of the check node operation unit, if two operation blocks can be used for the merge operation, the two-merger minimum-maximum algorithm proposed by the present invention may be applied. For example, since the order of the check node is 14 in the parity check matrix used in the present invention, the forward metric is calculated from F1 to F13, and the backward metric is calculated from B14 to B2, and then a merge operation is performed. As a result of applying the two-merger minimum-maximum algorithm, the operation delay of the check node operation unit is reduced according to the conventional minimum-maximum by independently dividing and executing the R-merge operation and the L-merge operation after the middle of the forward and backward metrics. It can be cut in half compared to the algorithm.

도 8은 본 발명의 일실시예에 따른 2-way 병합 최소-최대 알고리즘을 적용할 때의 연산 지연이 어떻게 감소되는지를 설명하는 도면이다.FIG. 8 is a diagram illustrating how computational delay is reduced when applying a 2-way merge minimum-maximum algorithm according to an embodiment of the present invention.

포워드 메트릭과 백워드 메트릭이 dc-1 사이클 동안 연산이 되는 동안에 중간부터 R-병합 연산, L-병합 연산이 동시에 진행되고, 포워드 메트릭과 백워드 메트릭 연산이 종료되는 시점에 병합 연산도 동시에 종료가 된다. 병합 연산을 위해 R-병합과 L-병합 연산을 동시에 처리할 수 있도록 추가적인 연산블록이 필요하지만, 체크 노드 연산부의 연산 지연을 반으로 줄일 수 있는 장점이 있다.While the forward metric and the backward metric are computed during the d c -1 cycle, the R-merge operation and the L-merge operation are simultaneously performed from the middle, and the merge operation is also terminated simultaneously when the forward metric and the backward metric operation are finished. Becomes An additional operation block is required to simultaneously process an R-merge and an L-merge operation for a merge operation, but it has an advantage of reducing the computational delay of the check node operation unit in half.

도 9는 본 발명의 일실시예에 따른 포워드 메트릭과 백워드 메트릭을 연산 하기 위한 체크 노드 블록-1의 구조에 대한 도면 이다.9 is a diagram illustrating the structure of a check node block-1 for calculating a forward metric and a backward metric according to an embodiment of the present invention.

체크 노드 블록-1의 구조는 한 개의 스위치 네트워크 2 와 한 개의 최소-최대 연산 블록으로 구성되어 있다. 포워드 메트릭과 백워드 메트릭의 연산 과정은 출력값을 다음 연산 사이클에서 사용하는 재귀적 구조로 되어 있다. 스위치 네트워크 2에서 매번 연산 사이클 마다 입력값을 조절할 수 있도록 해준다. 또한 마지막에 연산 결과를 저장할 수 있는 레지스터(D)를 포함하고 있다.The structure of check node block-1 consists of one switch network 2 and one minimum-maximum operation block. The operation of the forward metric and the backward metric is a recursive structure that uses the output value in the next calculation cycle. In Switch Network 2, it allows you to adjust the input value at every calculation cycle. It also contains a register (D) for storing the result of the calculation.

도 10은 본 발명의 일실시예에 따른 R-병합과 L-병합을 연산하기 위한 체크 노드 블록-2의 구조에 대한 도면이다.10 is a diagram illustrating the structure of a check node block-2 for calculating an R-merge and an L-merge according to an embodiment of the present invention.

기본적인 구조는 체크 노드 블록-1의 구조와 동일하지만, 연산 결과를 다시 저장하여 사용할 필요가 없기 때문에 마지막 단의 레지스터(D)가 제거된 형태이다.The basic structure is the same as that of the check node block-1, but the register D of the last stage is removed because there is no need to store and use the operation result again.

도 11은 본 발명의 일실시예에 따른 체크 노드 블록-1과 체크 노드 블록-2에 적용되는 스위치 네트워크 2의 스케줄링에 대해 설명하는 도면이다.FIG. 11 is a diagram illustrating scheduling of a switch network 2 applied to check node block-1 and check node block-2 according to an embodiment of the present invention.

체크 노드 블록-1과 체크 노드 블록-2는 한번에 블록-레이어에 해당하는 15개의 행을 연산할 수 있도록 15개의 최소-최대 연산 블록을 포함하고 있다. 따라서 매 연산 사이클 마다 패리티 검사행렬의 hm , n 의 값에 따라서 입력을 조절해 주어야 한다.The check node block-1 and the check node block-2 include 15 minimum-maximum arithmetic blocks to operate 15 rows corresponding to the block-layer at a time. Therefore, the input should be adjusted according to the values of h m and n of the parity check matrix for every operation cycle.

예를 들어 첫 번째 블록 레이어의 첫 번째 행을 예로 살펴보면, 최소-최대 연산 블록에서 14번째(α14)에 해당하는 출력이 다음 연산 사이클에서는 13번째(α13)에 해당하는 최소-최대 연산블록의 입력으로 사용된다. 그 다음 연산 사이클에서는 13번째(α13)의 출력이 7번째(α7)에 해당하는 최소-최대 연산블록의 입력으로 사용된다. 이와 같은 방법으로 최종 15번째 연산 사이클까지 블록-레이어의 모든 행에 대하여 스위치 네트워크 2의 제어 신호를 상응하는 hm ,n값에 따라 생성할 수 있다.For example, consider the first row of the first block layer as an example: the 14th (α 14 ) output in the min-max operation block corresponds to the 13th13 ) min-max operation block in the next calculation cycle. Used as input of In the next arithmetic cycle, the 13th (α 13 ) output is used as the input for the 7th7 ) minimum-maximum arithmetic block. In this way, the control signal of the switch network 2 can be generated according to the corresponding h m , n values for all rows of the block-layer until the last 15th operation cycle.

도 12는 본 발명의 일실시예에 따른 2-way 병합 최소-최대 알고리즘을 적용한 체크 노드 연산부의 구조에 대한 도면이다.12 is a diagram illustrating a structure of a check node calculator to which a 2-way merging minimum-maximum algorithm is applied according to an embodiment of the present invention.

2개의 체크 노드 블록-1(도 9)이 포워드 메트릭 및 백워드 메트릭 연산에 사용되고, 또한 2개의 체크 노드 블록-2(도 10)가 R-병합과 L-병합 연산을 위해 사용된다. 매 연산 사이클 마다 체크 노드 연산부는 두 개의 입력 벡터 (A0 ~ A14)와 (B0 ~ B14)를 입력 받는다. 포워드 메트릭과 백워드 메트릭의 연산이 진행되는 과정에 7번째까지의 연산 결과로써 F1~F7은 포워드 메트릭 메모리에 B14~B8은 백워드 메트릭 메모리에 저장된다. 이후의 포워드 메트릭 및 백워드 메트릭 연산이 이루어짐과 동시에 R-병합과 L-병합 연산 과정이 바로 이어서 진행되어 최종적으로 dc-1 연산 사이클에 종료가 된다.Two check node blocks-1 (FIG. 9) are used for forward metric and backward metric operations, and two check node blocks-2 (FIG. 10) are used for R-Merge and L-Merge operations. The check node operator receives two input vectors A0 to A14 and B0 to B14 for each operation cycle. As a result of the seventh operation during the operation of the forward metric and the backward metric, F1 to F7 are stored in the forward metric memory and B14 to B8 are stored in the backward metric memory. Subsequent forward metric and backward metric calculations are performed, and the R-merge and L-merge operations are immediately followed, finally ending the d c -1 calculation cycle.

점선 박스 안 MUX의 제어 신호는 최소 7-연산 사이클 동안 '1'로 유지되고 이후에는 '0'으로 변환 됨에 따라 이후의 포워드 메트릭 및 백워드 메트릭의 연산 결과 F8~F13 과 B7~B2가 바로 R-병합 및 L-병합 연산에 사용될 수 있다. 또한 포워드 메트릭과 백워드 메트릭의 연산 결과를 저장할 메모리의 깊이는 (dc/2)-1 이면 충분하기 때문에, 메모리의 크기를 반으로 줄일 수 있다.The control signal of the MUX in the dotted line box is kept at '1' for at least 7-operation cycles, and then converted to '0', so that the result of the calculation of the forward and backward metrics is F8 to F13 and B7 to B2. Can be used for Merge and L-Merge operations. In addition, since the depth of the memory to store the operation result of the forward metric and the backward metric is (d c / 2) -1, it is enough to reduce the size of the memory in half.

도 13는 본 발명의 일실시예에 따른 블록-레이어 기반의 비 이진 QC-LDPC 복호기의 전체 구조에 대한 도면이다.FIG. 13 is a diagram of the entire structure of a block-layer based non-binary QC-LDPC decoder according to an embodiment of the present invention.

본 발명에 적용된 패리티 검사 행렬은 갈루아 체 GF(24)에서 정의되기 때문에 통상적인 LDPC 부호와 비교하여 기본적으로 16배 정도 복잡도가 증가한다. 최초 채널로부터 수신된 심볼의 LLR값이 변수 노드 메모리 0부터 14에 저장된 이후부터 복호기가 동작한다. 또한 시프트 레지스터 블록이 복호 과정 동안 일어나는 덧셈 및 뺄셈 연산의 버퍼링 및 파이프라인 레지스터로써 사용된다. 본 발명에 적용된 체크 노드 연산부는 매 연산 사이클 마다 두 개의 입력 벡터를 입력 받기 때문에 이를 조절 해 줄 체크 노드 연산부 스케줄러가 필요하다.Since the parity check matrix applied in the present invention is defined in the Galois GF (2 4 ), the complexity is increased by about 16 times compared to the conventional LDPC code. The decoder operates after the LLR value of the symbol received from the first channel is stored in the variable node memories 0 to 14. Shift register blocks are also used as buffering and pipeline registers for addition and subtraction operations that occur during the decoding process. Since the check node calculator applied to the present invention receives two input vectors in every calculation cycle, a check node calculator scheduler for controlling the check node operator is required.

체크 노드 연산부의 연산 결과는 체크 노드 메모리에 저장되며 이전 연산 값과 덧셈 연산을 통하여 정규화 과정을 거쳐 다시 변수 노드 메모리에 저장된다. 이러한 복호 과정이 패리티 검사가 완료되거나, 최대 반복 복호 횟수에 이르면 복호를 종료하게 된다.The operation result of the check node operation unit is stored in the check node memory, and after the normalization process through the previous operation value and the addition operation, is stored in the variable node memory again. The decoding process ends when the parity check is completed or the maximum number of repeated decoding is reached.

상기와 같이 비 이진 QC-LDPC 부호의 복호기 구조는 블록-레이어 기반으로 설계하여 복호기의 빠른 수렴이 가능하도록 한 것이다. 또한 2-way 병합 최소-최대 알고리즘을 적용하여 체크 노드 연산부를 구현함에 따라 체크 노드 연산부의 지연을 반으로 감소시킬 수 있다. 따라서, 본 발명의 일실시예는 향후 개발될 수 있는 비 이진 QC-LDPC 부호의 복호기 구현에 적용할 수 있는 잠재성을 가지고 있다.As described above, the decoder structure of the non-binary QC-LDPC code is designed based on block-layer to enable fast convergence of the decoder. In addition, by implementing a check node operator by applying a 2-way merge minimum-maximum algorithm, the delay of the check node operator may be reduced by half. Therefore, one embodiment of the present invention has the potential to be applied to the decoder implementation of a non-binary QC-LDPC code that can be developed in the future.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

Claims (10)

비이진 QC-LDPC(Non-Binary Quasi Cyclic Low-Density Parity Check) 부호의 복호 장치에 있어서,
최대값 중에서 최소값을 찾는 최소-최대 알고리즘(Min-Max Algorithm)을 사용하여 체크 노드 연산(Check Node Processing)을 수행하는 체크 노드 연산부
를 포함하고,
상기 체크 노드 연산부는,
패리티 검사 행렬(parity check matrix)의 각 행을 하나의 블록 레이어로 연산하는 구조의 최소-최대 연산 블록(Min-Max Block)으로 구성되어 상기 최소-최대 알고리즘에서의 병합 연산(Merge Processing)을 두 방향(2-way)으로 수행하되, 상기 병합 연산을 L-병합(Left Merging) 연산과 R-병합(Right Merging) 연산으로 구분하여 상기 L-병합 연산과 상기 R-병합 연산을 동시에 수행하고,
상기 패리티 검사 행렬을 이루는 단위 행렬은 행렬의 대각선 방향에 위치하는 원소가 갈루아 체(Galois-Field)의 원소로 구성되고 행렬의 나머지 원소가 0으로 구성되는 N×N 크기의 정방형 행렬이며,
상기 최소-최대 연산 블록은,
수신된 심볼의 LLR(log likelihood ratio) 값 중에서 최소 값을 찾는 기본 연산 단위인 최소-최대 연산부가 상기 갈루아 체의 원소 개수로 구성되되, 블록 레이어 기반으로 상기 체크 노드 연산을 수행하기 위해서 상기 단위 행렬을 N개의 행씩 한번에 처리하도록 상기 최소-최대 연산부가 N개로 구성되는 것
을 특징으로 하는 비이진 QC-LDPC 부호의 복호 장치.
In the decoding device of non-binary QC-LDPC (Non-Binary Quasi Cyclic Low-Density Parity Check) code,
Check node processing unit that performs check node processing using a min-max algorithm that finds the minimum value among the maximum values
Lt; / RTI >
The check node calculator,
It consists of a min-max block of a structure that calculates each row of the parity check matrix as one block layer. In the 2-way direction, the merging operation is divided into an L-merging operation and a R-merging operation to simultaneously perform the L-merging operation and the R-merging operation.
The unit matrix constituting the parity check matrix is an N × N square matrix in which elements located in a diagonal direction of the matrix are composed of Galois-Field elements and the remaining elements of the matrix are 0.
The minimum-maximum calculation block,
The minimum-maximum operation part, which is a basic operation unit for finding the minimum value among the log likelihood ratio (LLR) values of the received symbols, is composed of the number of elements of the Galois, and the unit matrix for performing the check node operation based on a block layer Consisting of N min-max operators to process N at a time by N rows
A decoding apparatus of a non-binary QC-LDPC code, characterized in that.
삭제delete 제1항에 있어서,
상기 체크 노드 연산부는,
각 연산 사이클 마다 두 개의 입력 벡터를 입력 받되, 상기 입력 벡터 각각에 대하여 LLR(log likelihood ratio) 값을 상기 갈루아 체의 원소 개수만큼 입력 받는 것
을 특징으로 하는 비이진 QC-LDPC 부호의 복호 장치.
The method of claim 1,
The check node calculator,
Two input vectors are input for each operation cycle, and a log likelihood ratio (LLR) value is input for each of the input vectors by the number of elements of the Galois.
A decoding apparatus of a non-binary QC-LDPC code, characterized in that.
제3항에 있어서,
상기 비이진 QC-LDPC 부호의 복호 장치는,
상기 체크 노드 연산부의 상기 입력 벡터에 대한 스케줄링을 제어하는 스케줄러
를 더 포함하는 비이진 QC-LDPC 부호의 복호 장치.
The method of claim 3,
The decoding apparatus of the non-binary QC-LDPC code,
A scheduler for controlling scheduling of the input vector of the check node calculator
Decoding device of a non-binary QC-LDPC code further comprising.
제1항에 있어서,
상기 최소-최대 알고리즘은,
포워드 메트릭(Forward Metrics), 백워드 메트릭(Backward Metrics), 그리고 병합 연산(Merge Processing)을 포함하며,
상기 최소-최대 연산부는,
상기 포워드 메트릭과 상기 백워드 메트릭에서 수학식 1에 의해 생성된 조합을 계산하도록 제어하고, 상기 병합 연산에서 수학식 2에 의해 생성된 조합을 계산하도록 제어하는 스위치 네트워크를 포함하는 것
을 특징으로 하는 비이진 QC-LDPC 부호의 복호 장치.
수학식 1:
Figure 112013056551257-pat00032

수학식 2:
Figure 112013056551257-pat00033

(여기서, a, a'. a"는 갈루아 체의 원소를 나타내고, hm,n은 패리티 검사 행렬의 원소를 나타낸다.)
The method of claim 1,
The minimum-maximum algorithm is
Includes forward metrics, backward metrics, and merge processing,
The minimum-maximum calculation unit,
And a switch network that controls to calculate the combination generated by Equation 1 in the forward metric and the backward metric, and calculates the combination generated by Equation 2 in the merge operation.
A decoding apparatus of a non-binary QC-LDPC code, characterized in that.
Equation 1:
Figure 112013056551257-pat00032

Equation 2:
Figure 112013056551257-pat00033

(Where a, a '. A "represents an element of the Galois body, and h m, n represents an element of the parity check matrix.)
제1항에 있어서,
상기 체크 노드 연산부는,
포워드 메트릭(Forward Metrics) 연산을 위한 제1 체크 노드 블록과,
상기 포워드 메트릭의 연산과 동시에 백워드 메트릭(Backward Metrics) 연산을 위한 제2 체크 노드 블록과,
L-병합(Left Merging) 연산을 위한 제3 체크 노드 블록과,
상기 L-병합 연산과 동시에 R-병합(Right Merging) 연산을 위한 제4 체크 노드 블록과,
상기 포워드 메트릭 연산과 상기 백워드 메트릭 연산의 결과를 저장하기 위한 메모리
를 포함하여,
상기 포워드 메트릭 연산과 상기 백워드 메트릭 연산이 일정 연산 사이클(dc) 동안 진행되며, 상기 연산 사이클의 중간 지점(dc/2)에서부터 상기 L-병합 연산과 상기 R-병합 연산이 동시에 진행되고, 상기 포워드 메트릭 연산과 상기 백워드 메트릭 연산이 종료되는 시점에 상기 L-병합 연산과 상기 R-병합 연산이 동시에 종료되며,
상기 포워드 메트릭 연산과 상기 백워드 메트릭 연산의 결과 중에서 상기 중간 지점(dc/2)까지의 연산 결과는 상기 메모리에 저장되고, 상기 중간 지점(dc/2) 이후의 연산 결과는 상기 제3 체크 노드 블록 및 상기 제4 체크 노드 블록으로 입력되는 것
을 특징으로 하는 비이진 QC-LDPC 부호의 복호 장치.
The method of claim 1,
The check node calculator,
A first check node block for forward metric calculation,
A second check node block for calculating backward metrics simultaneously with the operation of the forward metric;
A third check node block for an L-merge operation,
A fourth check node block for an R-merging operation simultaneously with the L-merge operation;
Memory for storing results of the forward metric operation and the backward metric operation
Including,
The forward metric operation and the backward metric operation are performed for a predetermined operation cycle d c , and the L-merge operation and the R-merge operation are simultaneously performed from an intermediate point d c / 2 of the operation cycle. The L-merge operation and the R-merge operation are terminated at the same time when the forward metric operation and the backward metric operation are terminated.
Among the results of the forward metric operation and the backward metric operation, the operation result up to the intermediate point d c / 2 is stored in the memory, and the operation result after the intermediate point d c / 2 is the third. Input to a check node block and the fourth check node block
A decoding apparatus of a non-binary QC-LDPC code, characterized in that.
제6항에 있어서,
상기 제1 체크 노드 블록과 상기 제2 체크 노드 블록은,
각 연산 사이클 마다 입력 값을 조절하기 위한 스위치 네트워크,
상기 포워드 메트릭 연산 또는 상기 백워드 메트릭 연산의 결과를 다음 연산 사이클에서 사용하는 재귀적 구조의 최소-최대 연산 블록,
상기 포워드 메트릭 연산 또는 상기 백워드 메트릭 연산의 결과를 저장하기 위한 레지스터
를 포함하는 비이진 QC-LDPC 부호의 복호 장치.
The method according to claim 6,
The first check node block and the second check node block,
Switch network to adjust input value in each operation cycle,
A minimum-maximum operation block of a recursive structure that uses the result of the forward metric operation or the backward metric operation in a next operation cycle,
A register for storing a result of the forward metric operation or the backward metric operation
Decoding device of a non-binary QC-LDPC code comprising a.
제6항에 있어서,
상기 제3 체크 노드 블록과 상기 제4 체크 노드 블록은,
각 연산 사이클 마다 입력 값을 조절하기 위한 스위치 네트워크,
상기 L-병합 연산 또는 상기 R-병합 연산의 결과를 다음 연산 사이클에서 사용하는 재귀적 구조의 최소-최대 연산 블록
을 포함하는 비이진 QC-LDPC 부호의 복호 장치.
The method according to claim 6,
The third check node block and the fourth check node block,
Switch network to adjust input value in each operation cycle,
Minimum-maximum computation block of a recursive structure that uses the result of the L-merge operation or the R-merge operation in the next computation cycle
Decoding device of a non-binary QC-LDPC code comprising a.
삭제delete 삭제delete
KR1020120021804A 2012-03-02 2012-03-02 Apparatus and method for decoding block layered based non-binary qc-ldpc KR101307733B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120021804A KR101307733B1 (en) 2012-03-02 2012-03-02 Apparatus and method for decoding block layered based non-binary qc-ldpc

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120021804A KR101307733B1 (en) 2012-03-02 2012-03-02 Apparatus and method for decoding block layered based non-binary qc-ldpc

Publications (1)

Publication Number Publication Date
KR101307733B1 true KR101307733B1 (en) 2013-09-11

Family

ID=49455953

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120021804A KR101307733B1 (en) 2012-03-02 2012-03-02 Apparatus and method for decoding block layered based non-binary qc-ldpc

Country Status (1)

Country Link
KR (1) KR101307733B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160110788A (en) 2015-03-12 2016-09-22 한밭대학교 산학협력단 Method and circuit for qc-ldpc codes in nand flash memory
US9647694B2 (en) 2014-12-28 2017-05-09 International Business Machines Corporation Diagonal anti-diagonal memory structure
CN107659316A (en) * 2016-07-26 2018-02-02 普天信息技术有限公司 A kind of low complex degree Min Max interpretation methods of multielement LDPC
CN111149365A (en) * 2017-12-19 2020-05-12 西部数据技术公司 Hybrid technology for content distribution using edge devices

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Mohammad M. Mansour, "High-Throughput LDPC Decoders", IEEE Transactions on Very Large Scale Integration Systems, Vol. 11, No, 6, December 2003, p. 976-996. *
Mohammad M. Mansour, "High-Throughput LDPC Decoders", IEEE Transactions on Very Large Scale Integration Systems, Vol. 11, No, 6, December 2003, p. 976-996.*
Valentin Savin, "Min-Max decoding for non binary LDPC codes", 2008 IEEE International Symposium on Information Theory, 6-11 July 2008, p. p.960-964. *
Valentin Savin, "Min-Max decoding for non binary LDPC codes", 2008 IEEE International Symposium on Information Theory, 6-11 July 2008, p. p.960-964.*

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9647694B2 (en) 2014-12-28 2017-05-09 International Business Machines Corporation Diagonal anti-diagonal memory structure
US10128871B2 (en) 2014-12-28 2018-11-13 International Business Machines Corporation Diagonal anti-diagonal memory structure
US10615824B2 (en) 2014-12-28 2020-04-07 International Business Machines Corporation Diagonal anti-diagonal memory structure
KR20160110788A (en) 2015-03-12 2016-09-22 한밭대학교 산학협력단 Method and circuit for qc-ldpc codes in nand flash memory
CN107659316A (en) * 2016-07-26 2018-02-02 普天信息技术有限公司 A kind of low complex degree Min Max interpretation methods of multielement LDPC
CN107659316B (en) * 2016-07-26 2021-08-06 普天信息技术有限公司 Low-complexity Min-Max decoding method of multi-element LDPC (low density parity check)
CN111149365A (en) * 2017-12-19 2020-05-12 西部数据技术公司 Hybrid technology for content distribution using edge devices
CN111149365B (en) * 2017-12-19 2021-12-28 西部数据技术公司 Apparatus, system and method for transmitting data

Similar Documents

Publication Publication Date Title
JP4563454B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, communication system, encoder, and decoder
JP4602418B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, encoder, and decoder
EP3474454B1 (en) Encoding method, decoding method, coder and decoder
US7373581B2 (en) Device, program, and method for decoding LDPC codes
US8489957B2 (en) Lower-complexity layered belief propagation decoding LDPC codes
JP4823176B2 (en) Decoding method and decoding apparatus
CN107370490B (en) Method and device for encoding and decoding structured LDPC (Low Density parity check)
KR100941680B1 (en) Apparatus and method for generating of quasi-cyclic low density parity check codes
CN107404321B (en) Method and apparatus for error correction code decoding
US10063262B2 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
CN110999093B (en) Hybrid architecture for check node processing for extended minimum sum (EMS) decoding of non-binary LDPC codes
US10193568B2 (en) Optical coherent receiver with forward error correction
Mao et al. High-throughput and low-cost LDPC reconciliation for quantum key distribution
KR101307733B1 (en) Apparatus and method for decoding block layered based non-binary qc-ldpc
EP3046259A1 (en) Apparatuses and methods for ldpc convolutional encoding and decoding
EP2911304A1 (en) Sliding window decoding of LDPC convolutional codes (LDPC-CC)
JP5523064B2 (en) Decoding apparatus and method
Schmalen et al. Spatially coupled codes and optical fiber communications: An ideal match?
EP3591844B1 (en) Variable node processing methods and devices for message-passing decoding of non-binary codes
EP3526899A1 (en) Decoding of low-density parity-check convolutional turbo codes
WO2014117837A1 (en) Ldpc code design and encoding apparatus for their application
Thi et al. Half-row modified two-extra-column trellis min-max decoder architecture for nonbinary LDPC codes
KR101267756B1 (en) Method for encoding and decoding rate-compatible irregular repeat multiple-state accumulate codes and apparatuses using the same
CN110708139B (en) LDPC codeword expansion method and system based on parallel vector message transfer algorithm
Huang et al. A Markov chain model for edge memories in stochastic decoding of LDPC codes

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 5