KR101562220B1 - Apparatus and method for decoding for non binary low density parity check incodeing - Google Patents
Apparatus and method for decoding for non binary low density parity check incodeing Download PDFInfo
- Publication number
- KR101562220B1 KR101562220B1 KR1020080112324A KR20080112324A KR101562220B1 KR 101562220 B1 KR101562220 B1 KR 101562220B1 KR 1020080112324 A KR1020080112324 A KR 1020080112324A KR 20080112324 A KR20080112324 A KR 20080112324A KR 101562220 B1 KR101562220 B1 KR 101562220B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- llr
- message vector
- values
- parity check
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1171—Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치에 관한 것으로서, 저밀도 패리티 검사 부호를 위한 복호 방법은, 채널로부터 수신되는 신호를 복조하여 LLR 값을 생성하는 과정과, 상기 생성된 LLR 값들 중 큰 값을 가지는 순서대로 소정 수의 LLR 값을 선택하는 과정과, 상기 선택된 LLR값들 중 가장 큰 LLR값과 나머지 LLR값들 각각의 차이값을 계산하는 과정과, 상기 가장 큰 LLR값과 상기 계산된 차이 값들로 이루어진 메시지 벡터를 이용하여 LDPC 복호를 수행하는 과정을 포함하여, 검사 노드 갱신의 연산 복잡도를 감소시키면서 동시에 성능이 열화되는 정도를 줄일 수 있다.A method and apparatus for decoding a low density parity check code, the method comprising: generating an LLR value by demodulating a signal received from a channel; Calculating a difference between the largest LLR value and the remaining LLR values among the selected LLR values, and calculating a difference value between the largest LLR value and the calculated difference values And performing LDPC decoding using the generated message vector, thereby reducing the computational complexity of the check node update and degrading the performance.
LDPC(Low-Density Parity Check), EMS(Extended Min-Sum), 검사노드, 복호 알고리즘 LDPC (Low-Density Parity Check), EMS (Extended Min-Sum), check node, decoding algorithm
Description
본 발명은 비이진(non binary) 저밀도 패리티 검사(Low-Density Parity-Check; 이하 'LDPC'라 칭함) 부호를 위한 복호 방법 및 장치에 관한 것으로서, 특히 비이진 LDPC 부호를 위한 고속의 EMS(Extended Min-Sum) 복호 방법 및 장치에 관한 것이다.The present invention relates to a decoding method and apparatus for a non-binary low-density parity-check (LDPC) code, and more particularly, to a decoding method and apparatus for a non-binary LDPC code, Min-Sum decoding method and apparatus.
통상적으로 통신 시스템에서는 데이터의 전송 시, 전송되는 데이터를 부호화하여 전송함으로써, 전송의 안정성을 높이고 재전송을 최소화시켜 전송 효율을 향상시키고 있다. 이러한 부호화 방법 하나로 저밀도 패리티 검사(LDPC) 부호가 있다. Generally, in a communication system, when data is transmitted, data to be transmitted is encoded and transmitted, thereby improving transmission stability and minimizing retransmission, thereby improving transmission efficiency. One such coding method is a low density parity check (LDPC) code.
상기 LDPC 부호는 합-곱(sum-product) 알고리즘을 이용한 복호 방법에 기반하며, 샤논(Shannon)의 용량 한계(capacity limit)에 근접하는 우수한 성능을 나타내는 장점이 있으나, 비이진 부호를 사용할 경우, 복호기의 복잡도를 크게 증가시키는 단점이 있다. 여기서, 상기 복호기의 복잡도는 상기 검사 노드 갱신의 복잡도 에 의해 큰 영향을 받게 되므로, 종래에는 상기 검사 노드 갱신의 복잡도를 줄이기 위한 연구가 진행되고 있다.The LDPC code is based on a decoding method using a sum-product algorithm and has an advantage of exhibiting excellent performance close to the capacity limit of Shannon. However, when a non-binary code is used, There is a disadvantage that the complexity of the decoder is greatly increased. Here, since the complexity of the decoder is greatly affected by the complexity of the check node update, research is underway to reduce the complexity of the check node update.
최근에는, 상기 검사 노드 갱신의 복잡도를 줄이기 위한 복호기들 중 하나로 EMS 복호 알고리즘이 주목받고 있다. 상기 EMS 복호 알고리즘은 BF(Belief Propagation) 복호기에서 사용되는 메시지 값들 중 영향력이 큰 몇 개의 값으로만 이루어진 메시지, 즉, nm(<<q)개로 잘려진 메시지를 사용하며, 검사 노드 갱신 과정을 간략화함으로써, 복호 속도가 빠르고 계산 복잡도가 낮은 장점을 갖는다. 여기서, 상기 EMS 복호 알고리즘의 기본 갱신 과정은 도 1에 도시된 바와 같이 두 개의 입력 LLR 메시지 벡터 U 및 I와 출력 LLR 메시지 벡터 V를 포함한다.In recent years, an EMS decoding algorithm has been attracting attention as one of the decoders for reducing the complexity of updating the check nodes. The EMS decoding algorithm uses a message consisting only of a few significant values among the message values used in the BF (Belief Propagation) decoder, that is, a message truncated to n m (<< q) The decoding speed is fast and the calculation complexity is low. The basic updating process of the EMS decoding algorithm includes two input LLR message vectors U and I and an output LLR message vector V as shown in FIG.
도 2는 EMS 복호 알고리즘의 검사 노드 갱신 과정을 나타내는 도면이다.2 is a diagram illustrating a check node updating process of the EMS decoding algorithm.
상기 도 2를 참조하면, 상기 EMS 복호 알고리즘의 검사 노드 갱신 과정은 다음과 같다. 먼저, 정렬기(200)에 입력벡터 I(210)와 U(220)로 이루어진 행렬 M(230)의 첫 번째 열(232)이 입력되면, 상기 정렬기(200)의 출력단에서 LLR 벡터 중 가장 큰 값이 출력된다. 이후, 출력 벡터 V(240)에서 상기 출력된 LLR 값에 해당하는 GF(q) 색인에 값이 존재하지 않을 경우에 상기 LLR값이 상기 출력 벡터 V(240)의 해당 색인에 삽입되고, 행렬 M(230)에서 상기 출력 벡터 V(240)에 삽인된 값의 오른쪽 값이 상기 정렬기(200)에 다시 입력된다.Referring to FIG. 2, the check node updating process of the EMS decoding algorithm is as follows. When the
상기와 같이, EMS 복호 알고리즘은 노드 갱신 시에 각각의 색인에 대해서 패리티 검사 식을 만족하는 입력 메시지 값의 합 중에서 결과에 영향력이 큰 최대값 만을 선택하고, 각각의 메시지에서 nm개의 LLR 값만을 취함으로써, 복호기의 복잡도를 개선하였으며, 가상 행렬의 계산 중간값을 저장하기 위해 필요한 메모리의 크기를 감소시켰다. 그러나, 상기 EMS 복호 알고리즘은 영향력이 큰 nm개의 LLR 값들로만 이루어진 메시지를 사용함으로 인해 오류 정정 성능이 열화되는 단점이 있다.As described above, the EMS decoding algorithm selects only the maximum value having a large influence on the result among the sum of the input message values satisfying the parity check equation for each index at the time of updating the node, and only n m LLR values , The complexity of the decoder is improved and the size of the memory required to store the computed intermediate value of the virtual matrix is reduced. However, the EMS decoding algorithm has a disadvantage in that the error correction performance is deteriorated due to the use of a message composed only of n m LLR values having a large influence.
따라서, 상기 EMS 복호기에 비교하여 복잡도가 낮으면서도 오류 정정 성능이 좋은 복호 방식이 제공될 필요성이 있다.Therefore, there is a need to provide a decoding method that is low in complexity and has good error correction performance as compared with the EMS decoder.
본 발명은 상술한 바와 같은 문제점을 해결하기 위해 도출된 것으로서, 본 발명의 목적은 비이진(non binary) 저밀도 패리티 검사(Low-Density Parity-Check; 이하 'LDPC'라 칭함) 부호를 위한 복호 방법 및 장치를 제공함에 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a decoding method for a non-binary low-density parity-check (LDPC) And an apparatus.
본 발명의 다른 목적은 비이진 LDPC 부호를 위한 개선된 고속 EMS(Extended Min-Sum) 복호 방법 및 장치를 제공함에 있다.It is another object of the present invention to provide an improved fast EMS (Extended Min-Sum) decoding method and apparatus for a non-binary LDPC code.
상술한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 저밀도 패리티 검사 부호를 위한 복호 방법은, 채널로부터 수신되는 신호를 복조하여 LLR 값을 생성하는 과정과, 상기 생성된 LLR 값들 중 큰 값을 가지는 순서대로 소정 수의 LLR 값을 선택하는 과정과, 상기 선택된 LLR값들 중 가장 큰 LLR값과 나머지 LLR값들 각각의 차이값을 계산하는 과정과, 상기 가장 큰 LLR값과 상기 계산된 차이 값들로 이루어진 메시지 벡터를 이용하여 LDPC 복호를 수행하는 과정을 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a decoding method for a low density parity check code, the method comprising: generating an LLR value by demodulating a signal received from a channel; Calculating a difference between the largest LLR value and the remaining LLR values among the selected LLR values, and calculating a difference value between the largest LLR value and the calculated difference values And performing LDPC decoding using the generated message vector.
상술한 목적들을 달성하기 위한 본 발명의 제 2 견지에 따르면, 저밀도 패리티 검사 부호를 위한 복호 장치는, 채널로부터 수신되는 신호를 복조하여 LLR 값을 생성하는 복조기와, 상기 생성된 LLR 값들 중 큰 값을 가지는 순서대로 소정 수의 LLR 값을 선택하고, 상기 선택된 LLR값들 중 가장 큰 LLR값과 나머지 LLR값들 각각의 차이값을 계산한 후, 상기 가장 큰 LLR값과 계산된 차이 값들로 이루어진 메시지 벡터를 이용하여 LDPC 복호를 수행하는 복호기를 포함하는 것을 특징으로 한다.According to a second aspect of the present invention, there is provided a decoding apparatus for a low density parity check code, the apparatus comprising: a demodulator for demodulating a signal received from a channel to generate an LLR value; And calculates a difference value between the largest LLR value and the remaining LLR value among the selected LLR values and then calculates a difference value between the largest LLR value and a message vector composed of the calculated difference values And a decoder for performing LDPC decoding using the LDPC code.
본 발명은 비이진 LDPC 부호를 위한 EMS(Extended Min-Sum) 복호 알고리즘에 새로운 메시지 구조를 이용함으로써, 검사 노드 갱신의 연산 복잡도를 감소시키면서 동시에 성능이 열화되는 정도를 줄일 수 있는 효과가 있다.The present invention uses a new message structure for an EMS (Extended Min-Sum) decoding algorithm for a non-binary LDPC code, thereby reducing the degree of deterioration in performance while reducing computational complexity of check node update.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생 략한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
이하 본 발명에서는 비이진 LDPC 부호를 위한 개선된 고속 EMS(Extended Min-Sum) 복호 방법 및 장치에 관해 설명할 것이다. Hereinafter, an improved fast min-sum (EMS) decoding method and apparatus for a non-binary LDPC code will be described.
도 3은 EMS 복호 알고리즘과 본 발명에 따른 복호 알고리즘의 메시지 구조를 도시하고 있다. 여기서, 도 3의 좌측 메시지 구조는 기존의 EMS 복호 알고리즘에서 사용하는 메시지의 구조를 나타내며, 도 3의 우측 메시지 구조는 본 발명에서 제안하는 메시지의 구조를 나타낸다.3 shows a message structure of an EMS decoding algorithm and a decoding algorithm according to the present invention. Here, the left message structure of FIG. 3 represents the structure of a message used in the existing EMS decoding algorithm, and the right message structure of FIG. 3 represents the structure of a message proposed by the present invention.
상기 도 3에 도시된 바와 같이, 기존의 EMS 복호 알고리즘에서는 LLR 값의 크기에 따라 내림차순으로 정렬된 메시지 구조를 이용하였으나, 본 발명에서는 색인이 0인 위치(300)에 최대값을 갖는 LLR값(L(αk0))이 존재하고, 색인이 0보다 큰 i번째 위치(302, 304, 306)에는 상기 최대값을 갖는 LLR값과 기존 메시지 구조에서 색인 i에 위치한 값의 차이값(L(αk0)- L(αki))이 존재하는 메시지 구조를 이용한다. 즉, 본 발명에서 제안하는 메시지 구조에서 i번째 색인의 값(dUi)은 하기 수학식 1과 같이 나타낼 수 있다.As shown in FIG. 3, in the conventional EMS decoding algorithm, a message structure arranged in descending order according to the size of the LLR value is used. However, in the present invention, the LLR value having the maximum value at the
여기서, U0은 색인 0에 위치하는 최대 LLR값이며, Ui는 기존 메시지 구조에서 i번째 색인에 위치한 LLR 값, 즉, 상기 최대 LLR값을 제외한 LLR값들 중 i번째 로 큰 LLR값을 의미한다.Here, U0 denotes a maximum LLR value located at
상기와 같은 메시지 구조를 사용할 경우, 도 4에 도시된 바와 같은 가상 행렬을 갖게 됨으로써, 검사 노드 갱신 작업은 기존의 EMS 복호 알고리즘과 차이를 갖게된다. 기존 EMS 복호 알고리즘에서 가상 행렬은 입력 벡터 U와 입력 벡터 I에 속한 원소들의 합으로 이루어지는 비해, 본 발명에서 제안한 복호 알고리즘의 가상 행렬은 상기 도 4에 도시된 바와 같이 색인 (0,0)에 입력벡터 U와 I의 원소들의 합의 최대값을 가지며, 그 외 색인에는 상기 가상행렬에서 갖는 최대값과 기존의 가상 행렬에서 해당 색인의 LLR값과의 차이 값을 갖는다. 따라서, 상기 가상 행렬에서 (0,0) 색인을 제외한 첫 번째 행과 첫 번째 열의 경우, 하기 수학식 2와 같이 나타낼 수 있으므로, 해당 색인의 값을 얻기 위한 연산이 필요없다는 특징이 있다.In the case of using the message structure as described above, since the virtual matrix is provided as shown in FIG. 4, the check node update operation differs from the existing EMS decoding algorithm. In the conventional EMS decoding algorithm, the virtual matrix consists of the input vector U and the sum of the elements belonging to the input vector I, whereas the virtual matrix of the decoding algorithm proposed by the present invention is input to the index (0, 0) And has the maximum value of the sum of the elements of the vectors U and I. The other index has a difference between the maximum value of the virtual matrix and the LLR value of the index in the existing virtual matrix. Therefore, in the case of the first row and the first column excluding the (0, 0) index in the virtual matrix, it can be expressed by the following equation (2), so that an operation for obtaining the index value is not necessary.
여기서, dIp와 dUp는 상기 가상 행렬에서 각각 첫 번째 행의 p번재 원소의 값과 첫 번째 열의 j번째 값을 나타낸다. 즉, 상기 본 발명에서 제안하는 메시지 구조를 사용할 경우, 상기 수학식 2에서 볼 수 있듯이 가상 행렬에서 색인 (0,0)에 해당하는 원소를 제외한 첫 번째 행과 첫 번째 열의 원소들은 별도의 연산 없이 각각의 입력 벡터의 해당 원소 값을 그대로 사용할 수 있다.Here, dIp and dUp represent the value of the p-th element in the first row and the j-th value of the first column in the virtual matrix, respectively. That is, when the message structure proposed in the present invention is used, as shown in Equation (2), the elements of the first row and the first column excluding the elements corresponding to the index (0, 0) The corresponding element values of the respective input vectors can be used as they are.
이와 같은 가상 행렬 원소는 하기 표 1과 같이 나타낼 수 있다.Such a virtual matrix element can be represented as shown in Table 1 below.
상기 표 1과 같이, 본 발명에서 제안한 메시지 구조를 이용하여 가상 행렬의 원소 값을 계산할 경우, 색인 (0,0)에 해당하는 원소 값을 제외한 첫 번째 행과 첫 번째 열의 원소 값은 본 발명에서 제안한 메시지 구조의 값을 그대로 이용할 수 있다. 이와 같은 장점을 취하여 본 발명에서는 검사 노드 갱신을 위한 가상 행렬에서 사용되는 원소를 상기 도 4에 도시된 바와 같이 첫 번째 열과 첫 번째 행으로 제한한다. As shown in Table 1, when calculating the element value of the virtual matrix using the message structure proposed in the present invention, the element values of the first row and the first column excluding the element value corresponding to the index (0, 0) The value of the proposed message structure can be used as it is. Taking these advantages, the present invention limits the elements used in the virtual matrix for updating the check nodes to the first row and the first row as shown in FIG.
도 5는 본 발명에 따른 복호 알고리즘에서 검사 노드 차수에 따라 가상 공간으로 확장한 경우를 예로 들어 도시하고 있다. FIG. 5 shows an example in which the decoding algorithm according to the present invention is extended to a virtual space according to the check node degree.
상기 도 5는 검사 노드 차수가 4이며, 메시지 크기가 6인 경우(dc = 4, nm=6)를 가상 공간으로 확장하여 나타내고 있다. 즉, 검사 노드 차수가 dc인 경우 본 발명의 출력 메시지 벡터의 최대 LLR 값은 각각의 입력 벡터에서 최대 LLR 값들을 합한 값이 되며, 출력 메시지 벡터의 나머지 값은 상기 각각의 입력 벡터에서 최대 값을 제외한 나머지 차이 값들을 크기에 따라 오름차순으로 정렬하여 nm-1개만 취하여 얻을 수 있다.5, the check node degree is 4 and the message size is 6 (d c = 4, n m = 6) is extended to the virtual space. That is, when the check node degree is d c , the maximum LLR value of the output message vector of the present invention is the sum of the maximum LLR values in each input vector, and the remaining value of the output message vector is the maximum value And the remaining difference values are sorted in ascending order according to their sizes and can be obtained by taking only n m -1.
상술한 설명에서 상기 최대 LLR값과의 차이값은 변조 방식에 따라 계산을 통해 얻을 수도 있으며, 채널에서 그대로 얻을 수도 있다. 즉, BPSK 변조 방식의 경우, 비이진 LDPC 부호를 사용하더라도 한 번에 한 비트씩 보내기 위해 GF(q) 원소를 비트로 변환하여 보내게 되고 수신단에서는 비트 단위로 보내진 정보를 이용하여 각 GF(q) 원소에 대한 LLR값을 계산한다. 즉, GF(4)에서 각 원소는 두 개의 비트로 표현할 수 있으므로, BPSK 변조 방식을 이용하는 경우에 GF(4)에 대한 LLR값은 각 비트에 대한 LLR값을 합한 것과 같기 때문에, 별도의 연산없이 채널로부터 수신된 비트 LLR값을 취하여 본 발명에서 제안하는 메시지 구조를 얻을 수 있다. 또한, QAM 혹은 PAM과 같은 고차변조 방식에서는 메시지를 얻기 위해 별도의 연산이 필요하긴 하지만, 상기 메시지를 한번 구한 후에는 복호 과정 중에 다시 구하지 않아도 되므로, 실제적으로 무시할 수 있을 정도의 복잡도를 갖게 된다.In the above description, the difference from the maximum LLR value may be obtained through calculation according to the modulation scheme, or may be obtained directly from the channel. That is, in the case of the BPSK modulation scheme, even if a non-binary LDPC code is used, the GF (q) element is converted into bits for transmission in one bit at a time, Calculate the LLR value for the element. That is, since each element in GF (4) can be represented by two bits, the LLR value for GF (4) is equal to the sum of the LLR values for each bit in the case of using the BPSK modulation method, The LLR value of the received bit can be obtained to obtain the message structure proposed in the present invention. In addition, in a higher order modulation scheme such as QAM or PAM, a separate operation is required to obtain a message. However, after the message is obtained once, it is not required to be obtained again in the decoding process, so that the complexity can be neglected.
그러면, 이하에서 상기와 같은 메시지 구조를 이용하는 LDPC 복호기의 구성 및 동작 절차를 살펴보기로 한다.Hereinafter, the configuration and operation procedure of the LDPC decoder using the message structure will be described.
도 6은 본 발명에 따른 LDPC 복호를 수행하는 수신단의 간략한 블록 구성을 도시하고 있다. 도시된 바와 같이, 상기 수신단은 수신기(600), 복조기(610), LDPC 복호기(620)를 포함하여 구성되며, 상기 LDPC 복호기(620)는 메시지 벡터를 생성하는 메시지 벡터 생성기(622)와 가변 노드(Variable Node)부(624) 및 제 1 및 제 2가산기(626, 634), 인터리버(636) 및 디인터리버(628), 검사 노드(Check Node)부(630) 및 경판정부(632)를 포함하여 구성된다.FIG. 6 shows a simplified block diagram of a receiving end for performing LDPC decoding according to the present invention. The
상기 도 6을 참조하면, 상기 수신기(600)는 안테나를 통해 수신된 고주파 신호를 기저대역 신호로 변환 처리하여 상기 복조기(610)로 제공하고, 상기 복조기(610)는 상기 수신기(600)로부터 제공되는 신호를 복조하여 심볼 LLR 값을 생성한다.6, the
상기 LDPC 복호기(620)는 반복적인 메시지 경과(Iterative Message Passing) 알고리즘을 바탕으로 복호 과정을 수행하여 채널로부터 수신된 신호에서 특정 조건을 만족하는 정보심볼을 획득한다. 이때, 각각의 노드에서 발생하는 과정을 노드 갱신이라고 한다. 특히, 본 발명에 따라 상기 LDPC 복호기(620)는 본 발명에 따라 상기 도 3의 우측에 도시된 바와 같은 메시지 벡터를 이용하여 상기 비이진 LDPC 복호를 수행한다.The
상기 LDPC 복호기(620)에 대해 자세히 살펴보면, 먼저 상기 메시지 벡터 생성기(622)는 상기 복조기(610)로부터 제공되는 심볼 LLR값들로부터 상기 도 3의 우측에 도시된 바와 같은 메시지 벡터를 생성한다. 즉, 상기 심볼 LLR 값들을 내림차순으로 정렬하여 큰 값을 가지는 기 설정된 소정 수(nm)의 LLR 값들만을 선택한 후, 상기 선택된 LLR 값들을 이용하여 상기 도 3의 우측에 도시된 바와 같은 메시지 벡터를 생성한다. 상기 메시지 벡터 생성기(622)는 하기에서 도 7을 참조하여 상세히 설명하기로 한다.3, the
상기 가변 노드부(624)는 상기 메시지 벡터 생성기(622)로부터 메시지 벡터를 제공받아 기존과 같이 동작한다. 상기 가변 노드부(624)는 기 설정된 패리티 검사 행렬에 상응하게 가변 노드들을 연결하며, LLR값들을 더하여 업데이트 한 후, 상기 제 1 가산기(626)로 제공한다. The
상기 제 1 가산기(626)는 상기 가변 노드부(624)에서 출력한 신호와 이전 반복 복호화(iteration decoding) 과정에서의 상기 인터리버(636)의 출력 신호를 입력받아, 상기 가변 노드부(624)에서 출력한 신호에서 이전 반복 복호화과정에서의 상기 인터리버(636)의 출력 신호를 감산한 후 상기 디인터리버(628)로 출력한다. The
상기 디인터리버(628) 상기 제 1 가산기(624)로부터 제공되는 신호에 대해 기 설정된 방식에 상응하게 디인터리빙(de-interleaving)을 수행한 후 상기 제 2 가산기(634)와 상기 검사 노드부(630)로 출력한다. The
상기 인터리버(636)는 상기 제 2 가산기(634)로부터 제공되는 신호에 대해 기 설정된 방식으로 인터리빙을 수행한 후 상기 제 1 가산기(626) 및 상기 가변 노드부(624)로 출력한다. The
상기 제 2 가산기(634) 이전 반복 복호화 과정에서의 상기 검사 노드부(630)로부터 제공된 신호에서 상기 디인터리버(628)의 신호를 감산한 후, 감산 결과를 상기 인터리버(636)로 출력한다. Subtracts the signal of the
상기 검사 노드부(Check Node)(630)는 기 설정되어 있는 패리티 검사 행렬에 상응하게 검사 노드들을 연결하며, 본 발명에 따라 상기 디인터리버(628)를 통해 가변 노드들로부터 제공되는 신호, 즉, 메시지 벡터에서 색인이 0인 최대값들과 상기 최대값들과의 차이를 나타내는 차이값들을 분류한 후, 상기 최대값들의 합을 계산하고, 상기 차이값들을 오름차순 정렬하여 크기가 작은 순으로 기 설정된 nm-1개의 차이값을 선택한 후, 상기 최대값들의 합과 상기 선택된 nm-1개의 차이값을 연접하여 메시지 백터를 생성하고, 생성된 메시지 벡터를 상기 제 2 가산기(634)로 출력한다.The
상기 경판정부(632)는 상기 가변 노드부(624)로부터 제공되는 신호를 경판정한 후, 그 경판정 결과를 출력한다. 여기서, 상기 경판정부(632)의 출력값이 최종적으로 복호화된 정보심볼이 된다.The
도 7은 본 발명의 실시 예에 따른 LDPC 복호기에서 메시지 벡터 생성기의 상세한 블록 구성을 도시하고 있다. 도시된 바와 같이, 메시지 벡터 생성기는 내림차순 정렬기/메시지 절단기(700), 메시지 벡터 분류기(702), 가산기(704) 및 메시지 벡터 연접기(706)를 포함하여 구성된다.FIG. 7 is a detailed block diagram of a message vector generator in an LDPC decoder according to an embodiment of the present invention. As shown, the message vector generator comprises a descending sorter /
상기 도 7을 참조하면, 상기 내림차순 정렬기/메시지 절단기(700)는 크기가 q-1인 심볼 LLR값들로 이루어진 벡터가 입력되면, 상기 입력된 LLR 값들을 내림 차순으로 정렬한 후, 기 설정된 소정 수(nm)의 LLR 값들을 선택하여 상기 메시지 벡터 분류기(702)로 제공한다. Referring to FIG. 7, the descending sorting unit /
상기 메시지 벡터 분류기(702)는 상기 내림차순 정렬기/메시지 절단기(700)로부터 nm개의 LLR 값들로 이루어진 메시지 벡터를 제공받고, 상기 메시지 벡터에서 색인 0에 위치한 LLR 값 즉, 상기 메시지 벡터에서 최대값을 갖는 LLR값을 분류한 후, 상기 메시지 벡터 연접기(706)와 가산기(704)로 제공하고, 나머지 색인에 위치한 nm-1개의 LLR 값들은 가산기(704)로 제공한다.The
상기 가산기(704)는 상기 메시지 벡터 분류기(702)로부터 최대값을 갖는 LLR값과 그 외 LLR 값이 제공되면, 상기 최대값을 갖는 LLR값에서 상기 그 외 LLR 값을 각각 감산하여 차이를 구한 후, 상기 메시지 벡터 연접기(706)로 제공한다. If the LLR value having the maximum value and the other LLR values are provided from the
상기 메시지 벡터 연접기(706)는 상기 메시지 벡터 분류기(702)로부터 최대값을 갖는 LLR값을 제공받고, 상기 가산기(704)를 통해 상기 nm-1개의 LLR 값들과 상기 최대 LLR값의 차이를 나타내는 값들을 제공받은 후, 이 값들을 연접하여 본 발명에 따른 메시지 벡터를 획득한다.The
도 8은 본 발명의 실시 예에 따른 LDPC 복호기에서 검사 노드부의 상세한 블록 구성을 도시하고 있다. 도시된 바와 같이, 상기 검사 노드부는 메시지 벡터 분류기(800), 합산기(802), 오름차순 정렬기(804), 메시지 벡터 연접기(806)를 포함하여 구성된다.FIG. 8 shows a detailed block configuration of the check node unit in the LDPC decoder according to the embodiment of the present invention. As shown in the figure, the check node unit includes a
상기 도 8을 참조하면, 상기 메시지 벡터 분류기(800)는 검사 노드와 연결된 dc-1 개의 가변 노드들로부터 메시지 벡터를 제공받고, 상기 각각의 메시지 벡터에서 색인이 0인 최대값과 그 외 색인에 존재하는 값들 즉, 최대값과의 차이를 나타내는 값들로 분류하여 상기 색인이 0인 값을 상기 합산기(802)로 제공하고, 상기 그 외 색인에 존재하는 차이 값들을 상기 오름차순 정렬기(804)로 제공한다. Referring to FIG. 8, the
상기 합산기(802)는 상기 메시지 벡터 분류기(800)로부터 dc-1 개의 메시지 벡터의 색인 0에 존재하는 최대값들을 제공받고, 상기 최대값 값들을 전부 덧셈 연산하여 상기 메시지 벡터 연접기(806)로 제공한다.The
상기 오름차순 정렬기(804)는 상기 메시지 벡터 분류기(800)에서 제공된 차이 값들을 오름차순으로 정렬하여 작은 값 순서로 nm-1개의 차이 값을 선택한 후, 상기 메시지 벡터 연접기(806)로 제공한다.The ascending
상기 메시지 벡터 연접기(806)는 상기 합산기(802)에서 제공되는 최대값들의 합과 상기 오름차순 정렬기(804)로부터 제공되는 nm-1개의 차이 값을 연접하여 검사 노드 갱신을 수행한다.The
도 9는 본 발명의 실시 예에 따른 LDPC 복호기의 동작 절차를 도시하고 있다.FIG. 9 illustrates an operation procedure of an LDPC decoder according to an embodiment of the present invention.
상기 도 9를 참조하면, 상기 복호기는 901단계에서 채널로부터 수신되는 신호의 LLR값들을 복조기로부터 수신하고, 903단계에서 상기 LLR값들을 내림차순으로 정렬하고, 정렬된 LLR값들 중 큰 값을 가지는 기 설정된 nm개의 LLR값을 선택한다.9, the decoder receives LLR values of a signal received from a channel in
이후, 상기 복호기는 905단계에서 상기 선택된 LLR 값들 중 최대값을 갖는 LLR값을 분류하고, 907단계에서 상기 최대값을 갖는 LLR값과 상기 선택된 LLR 값들 중 상기 최대값을 갖는 LLR값을 제외한 나머지 LLR값들의 차이값을 계산한 후, 909단계에서 상기 최대값을 갖는 LLR 값과 상기 차이값을 연접하여 상기 도 3의 우측에 도시된 바와 같은 메시지 벡터를 생성한다.In
이후, 상기 복호기는 911단계에서 생성된 메시지 벡터를 가변 노드에서 검사 노드로 제공하고, 913단계에서 상기 검사 노드에 연결된 dc-1개의 가변 노드들의 메시지 벡터가 상기 검사노드에 제공되었는지 검사한다.Then, the decoder provides the message vector generated in
상기 검사 노드에 연결된 dc-1개의 가변 노드들의 메시지 벡터가 상기 검사노드에 제공되면, 상기 복호기는 915단계에서 상기 dc-1개의 가변 노드들로부터 제공된 각 메시지 벡터에서 최대값과 차이값을 분류한다. 여기서, 상기 최대값은 각 메시지 벡터의 색인 0에 존재하는 LLR 값이며, 차이값은 색인 0이외의 위치에 존재하는 값들이다.If a message vector of d c -1 variable nodes connected to the check node is provided to the check node, the decoder calculates a maximum value and a difference value in each message vector provided from the d c -1 variable nodes in
이후, 상기 복호기는 917단계에서 상기 각 메시지 벡터에서 분류된 최대값들의 합을 계산하고, 919단계에서 상기 각 메시지 벡터에서 분류된 차이값들을 오름차순으로 정렬하여 정렬된 차이 값들 중 작은 값을 가지는 nm-1개의 차이값들을 선택한다.In
이후, 상기 복호기는 921단계에서 최대값들의 합과 선택된 nm-1개의 차이값을 연접하여 메시지 벡터 생성함으로써 검사 노드를 갱신하고, 본 발명에 따른 알고리즘을 종료한다.Thereafter, in
종래에 제공된 EMS 복호기는 메시지의 크기(nm)가 작아질수록 복잡도를 감소시킬 수 있으나, 그에 따른 성능열화가 발생하며. 고차 변조(Higher order modulation)의 경우, 메시지의 크기(nm)의 감소에 따른 성능열화 정도가 저차 변조(low order modulation)에서의 메시지의 크기(nm)의 감소에 따른 성능열화 정도보다 작다. 즉, 본 발명은 상기 EMS 복호기를 기반으로 하며, 다른 메시지 구조를 이용하기 때문에 고차 변조에서 적용될 경우, 복잡도가 낮으면서도 성능열화가 작은 시스템 구현할 수 있다.The conventional EMS decoder can reduce the complexity as the message size (n m ) becomes smaller, but the performance deteriorates accordingly. For higher-order modulation (Higher order modulation), the performance degradation degree of the reduction in the size of the message (n m) low order modulation (low order modulation) performance deterioration is smaller than the extent of the reduction in the size of the message (n m) in . That is, the present invention is based on the EMS decoder and uses a different message structure. Therefore, when applied to high-order modulation, a system with low complexity and low performance degradation can be realized.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Therefore, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by the scope of the appended claims and equivalents thereof.
도 1은 EMS 복호 알고리즘의 기본 갱신 과정을 도시하는 도면,1 is a diagram showing a basic updating process of an EMS decoding algorithm,
도 2는 EMS 복호 알고리즘의 검사 노드 갱신 과정을 나타내는 도면,2 is a diagram showing a check node updating process of the EMS decoding algorithm,
도 3은 EMS 복호 알고리즘과 본 발명에 따른 복호 알고리즘의 메시지 구조를 도시하는 도면,3 is a diagram showing a message structure of an EMS decoding algorithm and a decoding algorithm according to the present invention,
도 4는 본 발명에 따른 복호 알고리즘에서 검사 노드 갱신을 위한 가상 행렬 구조를 도시하는 도면,4 is a diagram illustrating a virtual matrix structure for check node update in the decoding algorithm according to the present invention;
도 5는 본 발명에 따른 복호 알고리즘에서 검사 노드 차수에 따라 가상 공간으로 확장한 경우를 예로 들어 도시하는 도면,FIG. 5 is a diagram illustrating an example of a case where a decoding algorithm according to the present invention is extended to a virtual space according to a check node degree,
도 6은 본 발명에 따른 LDPC 복호를 수행하는 수신단의 간략한 블록 구성을 도시하는 도면, FIG. 6 is a block diagram showing a simplified block diagram of a receiving end for performing LDPC decoding according to the present invention;
도 7은 본 발명의 실시 예에 따른 LDPC 복호기에서 메시지 벡터 생성기의 상세한 블록 구성을 도시하는 도면,7 is a detailed block diagram of a message vector generator in an LDPC decoder according to an embodiment of the present invention.
도 8은 본 발명의 실시 예에 따른 LDPC 복호기에서 검사 노드부의 상세한 블록 구성을 도시하는 도면, 및8 is a diagram showing a detailed block configuration of a check node unit in an LDPC decoder according to an embodiment of the present invention, and FIG.
도 9는 본 발명의 실시 예에 따른 LDPC 복호기의 동작 절차를 도시하는 도면.9 is a diagram illustrating an operation procedure of an LDPC decoder according to an embodiment of the present invention.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080112324A KR101562220B1 (en) | 2008-11-12 | 2008-11-12 | Apparatus and method for decoding for non binary low density parity check incodeing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080112324A KR101562220B1 (en) | 2008-11-12 | 2008-11-12 | Apparatus and method for decoding for non binary low density parity check incodeing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100053280A KR20100053280A (en) | 2010-05-20 |
KR101562220B1 true KR101562220B1 (en) | 2015-10-22 |
Family
ID=42278427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080112324A KR101562220B1 (en) | 2008-11-12 | 2008-11-12 | Apparatus and method for decoding for non binary low density parity check incodeing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101562220B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102080069B1 (en) * | 2013-09-25 | 2020-04-14 | 삼성전자주식회사 | Apparatua and method for decoding data in a receiver using a nonbinary low density parity check code |
KR102394458B1 (en) * | 2015-07-06 | 2022-05-04 | 삼성전자주식회사 | Decoder and decoding method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100849991B1 (en) | 2007-02-23 | 2008-08-01 | 주식회사 젤라인 | Coding system and coding method using the coding technique of low density parity check and decoding system and decoding method thereof |
-
2008
- 2008-11-12 KR KR1020080112324A patent/KR101562220B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100849991B1 (en) | 2007-02-23 | 2008-08-01 | 주식회사 젤라인 | Coding system and coding method using the coding technique of low density parity check and decoding system and decoding method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20100053280A (en) | 2010-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11362682B2 (en) | Encoding method and apparatus using CRC code and polar code | |
JP5354979B2 (en) | Low density parity check convolutional code (LDPC-CC) encoder and LDPC-CC decoder | |
EP1596501B1 (en) | Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate | |
CA2560852C (en) | Apparatus and method for coding/decoding block low density parity check code with variable block length | |
EP2239854B1 (en) | Shortening and puncturing of low-density parity-check (LDPC) codes for channel decoding | |
JP4555334B2 (en) | Apparatus and method for encoding / decoding block low density parity check code having variable block length | |
US7962828B2 (en) | Apparatus and method for coding/decoding block low density parity check code in a mobile communication system | |
US8261152B2 (en) | Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes | |
US7814393B2 (en) | Apparatus and method for coding/decoding block low density parity check code with variable block length | |
CN109314600B (en) | System and method for rate matching when using generic polarization codes | |
US8161363B2 (en) | Apparatus and method to encode/decode block low density parity check codes in a communication system | |
CN101039119B (en) | Encoding and decoding methods and systems | |
US8321745B2 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
KR20090048465A (en) | Message-passing decoding method with sequencing according to reliability of vicinity | |
He et al. | A joint source and channel coding scheme base on simple protograph structured codes | |
KR20180028981A (en) | Elementary check node processing for syndrome computation for non-binary ldpc codes decoding | |
KR101562220B1 (en) | Apparatus and method for decoding for non binary low density parity check incodeing | |
Tajima et al. | Iterative decoding based on concatenated belief propagation for CRC-aided polar codes | |
Chi et al. | A study on the performance, complexity tradeoffs of block turbo decoder design | |
CN101150378A (en) | Interleaving scheme of 32APSK system for low-density checksum coding | |
CN101150550A (en) | Interweaving scheme of 16APSK system for low-density checksum coding | |
CN113810159B (en) | Intermediate channel selection and distribution method for LDPC-Polar cascade system | |
Ghouri et al. | Performance of modified iterative decoding algorithm for product codes | |
WO2023025960A1 (en) | A method for decoding a codeword encoded using a non-binary code, corresponding device and computer program | |
CN117614547A (en) | Delay serial cascade pulse position modulation system, method and deep space optical communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
LAPS | Lapse due to unpaid annual fee |