KR101562220B1 - 비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치 - Google Patents

비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치 Download PDF

Info

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
Application number
KR1020080112324A
Other languages
English (en)
Other versions
KR20100053280A (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 KR1020080112324A priority Critical patent/KR101562220B1/ko
Publication of KR20100053280A publication Critical patent/KR20100053280A/ko
Application granted granted Critical
Publication of KR101562220B1 publication Critical patent/KR101562220B1/ko

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/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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

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 복호를 수행하는 과정을 포함하여, 검사 노드 갱신의 연산 복잡도를 감소시키면서 동시에 성능이 열화되는 정도를 줄일 수 있다.
LDPC(Low-Density Parity Check), EMS(Extended Min-Sum), 검사노드, 복호 알고리즘

Description

비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치{APPARATUS AND METHOD FOR DECODING FOR NON BINARY LOW DENSITY PARITY CHECK INCODEING}
본 발명은 비이진(non binary) 저밀도 패리티 검사(Low-Density Parity-Check; 이하 'LDPC'라 칭함) 부호를 위한 복호 방법 및 장치에 관한 것으로서, 특히 비이진 LDPC 부호를 위한 고속의 EMS(Extended Min-Sum) 복호 방법 및 장치에 관한 것이다.
통상적으로 통신 시스템에서는 데이터의 전송 시, 전송되는 데이터를 부호화하여 전송함으로써, 전송의 안정성을 높이고 재전송을 최소화시켜 전송 효율을 향상시키고 있다. 이러한 부호화 방법 하나로 저밀도 패리티 검사(LDPC) 부호가 있다.
상기 LDPC 부호는 합-곱(sum-product) 알고리즘을 이용한 복호 방법에 기반하며, 샤논(Shannon)의 용량 한계(capacity limit)에 근접하는 우수한 성능을 나타내는 장점이 있으나, 비이진 부호를 사용할 경우, 복호기의 복잡도를 크게 증가시키는 단점이 있다. 여기서, 상기 복호기의 복잡도는 상기 검사 노드 갱신의 복잡도 에 의해 큰 영향을 받게 되므로, 종래에는 상기 검사 노드 갱신의 복잡도를 줄이기 위한 연구가 진행되고 있다.
최근에는, 상기 검사 노드 갱신의 복잡도를 줄이기 위한 복호기들 중 하나로 EMS 복호 알고리즘이 주목받고 있다. 상기 EMS 복호 알고리즘은 BF(Belief Propagation) 복호기에서 사용되는 메시지 값들 중 영향력이 큰 몇 개의 값으로만 이루어진 메시지, 즉, nm(<<q)개로 잘려진 메시지를 사용하며, 검사 노드 갱신 과정을 간략화함으로써, 복호 속도가 빠르고 계산 복잡도가 낮은 장점을 갖는다. 여기서, 상기 EMS 복호 알고리즘의 기본 갱신 과정은 도 1에 도시된 바와 같이 두 개의 입력 LLR 메시지 벡터 U 및 I와 출력 LLR 메시지 벡터 V를 포함한다.
도 2는 EMS 복호 알고리즘의 검사 노드 갱신 과정을 나타내는 도면이다.
상기 도 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)에 다시 입력된다.
상기와 같이, EMS 복호 알고리즘은 노드 갱신 시에 각각의 색인에 대해서 패리티 검사 식을 만족하는 입력 메시지 값의 합 중에서 결과에 영향력이 큰 최대값 만을 선택하고, 각각의 메시지에서 nm개의 LLR 값만을 취함으로써, 복호기의 복잡도를 개선하였으며, 가상 행렬의 계산 중간값을 저장하기 위해 필요한 메모리의 크기를 감소시켰다. 그러나, 상기 EMS 복호 알고리즘은 영향력이 큰 nm개의 LLR 값들로만 이루어진 메시지를 사용함으로 인해 오류 정정 성능이 열화되는 단점이 있다.
따라서, 상기 EMS 복호기에 비교하여 복잡도가 낮으면서도 오류 정정 성능이 좋은 복호 방식이 제공될 필요성이 있다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위해 도출된 것으로서, 본 발명의 목적은 비이진(non binary) 저밀도 패리티 검사(Low-Density Parity-Check; 이하 'LDPC'라 칭함) 부호를 위한 복호 방법 및 장치를 제공함에 있다.
본 발명의 다른 목적은 비이진 LDPC 부호를 위한 개선된 고속 EMS(Extended Min-Sum) 복호 방법 및 장치를 제공함에 있다.
상술한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 저밀도 패리티 검사 부호를 위한 복호 방법은, 채널로부터 수신되는 신호를 복조하여 LLR 값을 생성하는 과정과, 상기 생성된 LLR 값들 중 큰 값을 가지는 순서대로 소정 수의 LLR 값을 선택하는 과정과, 상기 선택된 LLR값들 중 가장 큰 LLR값과 나머지 LLR값들 각각의 차이값을 계산하는 과정과, 상기 가장 큰 LLR값과 상기 계산된 차이 값들로 이루어진 메시지 벡터를 이용하여 LDPC 복호를 수행하는 과정을 포함하는 것을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 제 2 견지에 따르면, 저밀도 패리티 검사 부호를 위한 복호 장치는, 채널로부터 수신되는 신호를 복조하여 LLR 값을 생성하는 복조기와, 상기 생성된 LLR 값들 중 큰 값을 가지는 순서대로 소정 수의 LLR 값을 선택하고, 상기 선택된 LLR값들 중 가장 큰 LLR값과 나머지 LLR값들 각각의 차이값을 계산한 후, 상기 가장 큰 LLR값과 계산된 차이 값들로 이루어진 메시지 벡터를 이용하여 LDPC 복호를 수행하는 복호기를 포함하는 것을 특징으로 한다.
본 발명은 비이진 LDPC 부호를 위한 EMS(Extended Min-Sum) 복호 알고리즘에 새로운 메시지 구조를 이용함으로써, 검사 노드 갱신의 연산 복잡도를 감소시키면서 동시에 성능이 열화되는 정도를 줄일 수 있는 효과가 있다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생 략한다.
이하 본 발명에서는 비이진 LDPC 부호를 위한 개선된 고속 EMS(Extended Min-Sum) 복호 방법 및 장치에 관해 설명할 것이다.
도 3은 EMS 복호 알고리즘과 본 발명에 따른 복호 알고리즘의 메시지 구조를 도시하고 있다. 여기서, 도 3의 좌측 메시지 구조는 기존의 EMS 복호 알고리즘에서 사용하는 메시지의 구조를 나타내며, 도 3의 우측 메시지 구조는 본 발명에서 제안하는 메시지의 구조를 나타낸다.
상기 도 3에 도시된 바와 같이, 기존의 EMS 복호 알고리즘에서는 LLR 값의 크기에 따라 내림차순으로 정렬된 메시지 구조를 이용하였으나, 본 발명에서는 색인이 0인 위치(300)에 최대값을 갖는 LLR값(L(αk0))이 존재하고, 색인이 0보다 큰 i번째 위치(302, 304, 306)에는 상기 최대값을 갖는 LLR값과 기존 메시지 구조에서 색인 i에 위치한 값의 차이값(L(αk0)- L(αki))이 존재하는 메시지 구조를 이용한다. 즉, 본 발명에서 제안하는 메시지 구조에서 i번째 색인의 값(dUi)은 하기 수학식 1과 같이 나타낼 수 있다.
Figure 112008078286238-pat00001
여기서, U0은 색인 0에 위치하는 최대 LLR값이며, Ui는 기존 메시지 구조에서 i번째 색인에 위치한 LLR 값, 즉, 상기 최대 LLR값을 제외한 LLR값들 중 i번째 로 큰 LLR값을 의미한다.
상기와 같은 메시지 구조를 사용할 경우, 도 4에 도시된 바와 같은 가상 행렬을 갖게 됨으로써, 검사 노드 갱신 작업은 기존의 EMS 복호 알고리즘과 차이를 갖게된다. 기존 EMS 복호 알고리즘에서 가상 행렬은 입력 벡터 U와 입력 벡터 I에 속한 원소들의 합으로 이루어지는 비해, 본 발명에서 제안한 복호 알고리즘의 가상 행렬은 상기 도 4에 도시된 바와 같이 색인 (0,0)에 입력벡터 U와 I의 원소들의 합의 최대값을 가지며, 그 외 색인에는 상기 가상행렬에서 갖는 최대값과 기존의 가상 행렬에서 해당 색인의 LLR값과의 차이 값을 갖는다. 따라서, 상기 가상 행렬에서 (0,0) 색인을 제외한 첫 번째 행과 첫 번째 열의 경우, 하기 수학식 2와 같이 나타낼 수 있으므로, 해당 색인의 값을 얻기 위한 연산이 필요없다는 특징이 있다.
Figure 112008078286238-pat00002
Figure 112008078286238-pat00003
여기서, dIp와 dUp는 상기 가상 행렬에서 각각 첫 번째 행의 p번재 원소의 값과 첫 번째 열의 j번째 값을 나타낸다. 즉, 상기 본 발명에서 제안하는 메시지 구조를 사용할 경우, 상기 수학식 2에서 볼 수 있듯이 가상 행렬에서 색인 (0,0)에 해당하는 원소를 제외한 첫 번째 행과 첫 번째 열의 원소들은 별도의 연산 없이 각각의 입력 벡터의 해당 원소 값을 그대로 사용할 수 있다.
이와 같은 가상 행렬 원소는 하기 표 1과 같이 나타낼 수 있다.
가상 행렬의 색인 가상 행렬의 원소 값
(0, 0) U[0] + I[0]
(j, 0) , 0 < j < nm △U[j]
(0, p) , 0 < p < nm △I[p]
(j, p) , 0 < j, p < nm △U[j]+△I[p]
상기 표 1과 같이, 본 발명에서 제안한 메시지 구조를 이용하여 가상 행렬의 원소 값을 계산할 경우, 색인 (0,0)에 해당하는 원소 값을 제외한 첫 번째 행과 첫 번째 열의 원소 값은 본 발명에서 제안한 메시지 구조의 값을 그대로 이용할 수 있다. 이와 같은 장점을 취하여 본 발명에서는 검사 노드 갱신을 위한 가상 행렬에서 사용되는 원소를 상기 도 4에 도시된 바와 같이 첫 번째 열과 첫 번째 행으로 제한한다.
도 5는 본 발명에 따른 복호 알고리즘에서 검사 노드 차수에 따라 가상 공간으로 확장한 경우를 예로 들어 도시하고 있다.
상기 도 5는 검사 노드 차수가 4이며, 메시지 크기가 6인 경우(dc = 4, nm=6)를 가상 공간으로 확장하여 나타내고 있다. 즉, 검사 노드 차수가 dc인 경우 본 발명의 출력 메시지 벡터의 최대 LLR 값은 각각의 입력 벡터에서 최대 LLR 값들을 합한 값이 되며, 출력 메시지 벡터의 나머지 값은 상기 각각의 입력 벡터에서 최대 값을 제외한 나머지 차이 값들을 크기에 따라 오름차순으로 정렬하여 nm-1개만 취하여 얻을 수 있다.
상술한 설명에서 상기 최대 LLR값과의 차이값은 변조 방식에 따라 계산을 통해 얻을 수도 있으며, 채널에서 그대로 얻을 수도 있다. 즉, BPSK 변조 방식의 경우, 비이진 LDPC 부호를 사용하더라도 한 번에 한 비트씩 보내기 위해 GF(q) 원소를 비트로 변환하여 보내게 되고 수신단에서는 비트 단위로 보내진 정보를 이용하여 각 GF(q) 원소에 대한 LLR값을 계산한다. 즉, GF(4)에서 각 원소는 두 개의 비트로 표현할 수 있으므로, BPSK 변조 방식을 이용하는 경우에 GF(4)에 대한 LLR값은 각 비트에 대한 LLR값을 합한 것과 같기 때문에, 별도의 연산없이 채널로부터 수신된 비트 LLR값을 취하여 본 발명에서 제안하는 메시지 구조를 얻을 수 있다. 또한, QAM 혹은 PAM과 같은 고차변조 방식에서는 메시지를 얻기 위해 별도의 연산이 필요하긴 하지만, 상기 메시지를 한번 구한 후에는 복호 과정 중에 다시 구하지 않아도 되므로, 실제적으로 무시할 수 있을 정도의 복잡도를 갖게 된다.
그러면, 이하에서 상기와 같은 메시지 구조를 이용하는 LDPC 복호기의 구성 및 동작 절차를 살펴보기로 한다.
도 6은 본 발명에 따른 LDPC 복호를 수행하는 수신단의 간략한 블록 구성을 도시하고 있다. 도시된 바와 같이, 상기 수신단은 수신기(600), 복조기(610), LDPC 복호기(620)를 포함하여 구성되며, 상기 LDPC 복호기(620)는 메시지 벡터를 생성하는 메시지 벡터 생성기(622)와 가변 노드(Variable Node)부(624) 및 제 1 및 제 2가산기(626, 634), 인터리버(636) 및 디인터리버(628), 검사 노드(Check Node)부(630) 및 경판정부(632)를 포함하여 구성된다.
상기 도 6을 참조하면, 상기 수신기(600)는 안테나를 통해 수신된 고주파 신호를 기저대역 신호로 변환 처리하여 상기 복조기(610)로 제공하고, 상기 복조기(610)는 상기 수신기(600)로부터 제공되는 신호를 복조하여 심볼 LLR 값을 생성한다.
상기 LDPC 복호기(620)는 반복적인 메시지 경과(Iterative Message Passing) 알고리즘을 바탕으로 복호 과정을 수행하여 채널로부터 수신된 신호에서 특정 조건을 만족하는 정보심볼을 획득한다. 이때, 각각의 노드에서 발생하는 과정을 노드 갱신이라고 한다. 특히, 본 발명에 따라 상기 LDPC 복호기(620)는 본 발명에 따라 상기 도 3의 우측에 도시된 바와 같은 메시지 벡터를 이용하여 상기 비이진 LDPC 복호를 수행한다.
상기 LDPC 복호기(620)에 대해 자세히 살펴보면, 먼저 상기 메시지 벡터 생성기(622)는 상기 복조기(610)로부터 제공되는 심볼 LLR값들로부터 상기 도 3의 우측에 도시된 바와 같은 메시지 벡터를 생성한다. 즉, 상기 심볼 LLR 값들을 내림차순으로 정렬하여 큰 값을 가지는 기 설정된 소정 수(nm)의 LLR 값들만을 선택한 후, 상기 선택된 LLR 값들을 이용하여 상기 도 3의 우측에 도시된 바와 같은 메시지 벡터를 생성한다. 상기 메시지 벡터 생성기(622)는 하기에서 도 7을 참조하여 상세히 설명하기로 한다.
상기 가변 노드부(624)는 상기 메시지 벡터 생성기(622)로부터 메시지 벡터를 제공받아 기존과 같이 동작한다. 상기 가변 노드부(624)는 기 설정된 패리티 검사 행렬에 상응하게 가변 노드들을 연결하며, LLR값들을 더하여 업데이트 한 후, 상기 제 1 가산기(626)로 제공한다.
상기 제 1 가산기(626)는 상기 가변 노드부(624)에서 출력한 신호와 이전 반복 복호화(iteration decoding) 과정에서의 상기 인터리버(636)의 출력 신호를 입력받아, 상기 가변 노드부(624)에서 출력한 신호에서 이전 반복 복호화과정에서의 상기 인터리버(636)의 출력 신호를 감산한 후 상기 디인터리버(628)로 출력한다.
상기 디인터리버(628) 상기 제 1 가산기(624)로부터 제공되는 신호에 대해 기 설정된 방식에 상응하게 디인터리빙(de-interleaving)을 수행한 후 상기 제 2 가산기(634)와 상기 검사 노드부(630)로 출력한다.
상기 인터리버(636)는 상기 제 2 가산기(634)로부터 제공되는 신호에 대해 기 설정된 방식으로 인터리빙을 수행한 후 상기 제 1 가산기(626) 및 상기 가변 노드부(624)로 출력한다.
상기 제 2 가산기(634) 이전 반복 복호화 과정에서의 상기 검사 노드부(630)로부터 제공된 신호에서 상기 디인터리버(628)의 신호를 감산한 후, 감산 결과를 상기 인터리버(636)로 출력한다.
상기 검사 노드부(Check Node)(630)는 기 설정되어 있는 패리티 검사 행렬에 상응하게 검사 노드들을 연결하며, 본 발명에 따라 상기 디인터리버(628)를 통해 가변 노드들로부터 제공되는 신호, 즉, 메시지 벡터에서 색인이 0인 최대값들과 상기 최대값들과의 차이를 나타내는 차이값들을 분류한 후, 상기 최대값들의 합을 계산하고, 상기 차이값들을 오름차순 정렬하여 크기가 작은 순으로 기 설정된 nm-1개의 차이값을 선택한 후, 상기 최대값들의 합과 상기 선택된 nm-1개의 차이값을 연접하여 메시지 백터를 생성하고, 생성된 메시지 벡터를 상기 제 2 가산기(634)로 출력한다.
상기 경판정부(632)는 상기 가변 노드부(624)로부터 제공되는 신호를 경판정한 후, 그 경판정 결과를 출력한다. 여기서, 상기 경판정부(632)의 출력값이 최종적으로 복호화된 정보심볼이 된다.
도 7은 본 발명의 실시 예에 따른 LDPC 복호기에서 메시지 벡터 생성기의 상세한 블록 구성을 도시하고 있다. 도시된 바와 같이, 메시지 벡터 생성기는 내림차순 정렬기/메시지 절단기(700), 메시지 벡터 분류기(702), 가산기(704) 및 메시지 벡터 연접기(706)를 포함하여 구성된다.
상기 도 7을 참조하면, 상기 내림차순 정렬기/메시지 절단기(700)는 크기가 q-1인 심볼 LLR값들로 이루어진 벡터가 입력되면, 상기 입력된 LLR 값들을 내림 차순으로 정렬한 후, 기 설정된 소정 수(nm)의 LLR 값들을 선택하여 상기 메시지 벡터 분류기(702)로 제공한다.
상기 메시지 벡터 분류기(702)는 상기 내림차순 정렬기/메시지 절단기(700)로부터 nm개의 LLR 값들로 이루어진 메시지 벡터를 제공받고, 상기 메시지 벡터에서 색인 0에 위치한 LLR 값 즉, 상기 메시지 벡터에서 최대값을 갖는 LLR값을 분류한 후, 상기 메시지 벡터 연접기(706)와 가산기(704)로 제공하고, 나머지 색인에 위치한 nm-1개의 LLR 값들은 가산기(704)로 제공한다.
상기 가산기(704)는 상기 메시지 벡터 분류기(702)로부터 최대값을 갖는 LLR값과 그 외 LLR 값이 제공되면, 상기 최대값을 갖는 LLR값에서 상기 그 외 LLR 값을 각각 감산하여 차이를 구한 후, 상기 메시지 벡터 연접기(706)로 제공한다.
상기 메시지 벡터 연접기(706)는 상기 메시지 벡터 분류기(702)로부터 최대값을 갖는 LLR값을 제공받고, 상기 가산기(704)를 통해 상기 nm-1개의 LLR 값들과 상기 최대 LLR값의 차이를 나타내는 값들을 제공받은 후, 이 값들을 연접하여 본 발명에 따른 메시지 벡터를 획득한다.
도 8은 본 발명의 실시 예에 따른 LDPC 복호기에서 검사 노드부의 상세한 블록 구성을 도시하고 있다. 도시된 바와 같이, 상기 검사 노드부는 메시지 벡터 분류기(800), 합산기(802), 오름차순 정렬기(804), 메시지 벡터 연접기(806)를 포함하여 구성된다.
상기 도 8을 참조하면, 상기 메시지 벡터 분류기(800)는 검사 노드와 연결된 dc-1 개의 가변 노드들로부터 메시지 벡터를 제공받고, 상기 각각의 메시지 벡터에서 색인이 0인 최대값과 그 외 색인에 존재하는 값들 즉, 최대값과의 차이를 나타내는 값들로 분류하여 상기 색인이 0인 값을 상기 합산기(802)로 제공하고, 상기 그 외 색인에 존재하는 차이 값들을 상기 오름차순 정렬기(804)로 제공한다.
상기 합산기(802)는 상기 메시지 벡터 분류기(800)로부터 dc-1 개의 메시지 벡터의 색인 0에 존재하는 최대값들을 제공받고, 상기 최대값 값들을 전부 덧셈 연산하여 상기 메시지 벡터 연접기(806)로 제공한다.
상기 오름차순 정렬기(804)는 상기 메시지 벡터 분류기(800)에서 제공된 차이 값들을 오름차순으로 정렬하여 작은 값 순서로 nm-1개의 차이 값을 선택한 후, 상기 메시지 벡터 연접기(806)로 제공한다.
상기 메시지 벡터 연접기(806)는 상기 합산기(802)에서 제공되는 최대값들의 합과 상기 오름차순 정렬기(804)로부터 제공되는 nm-1개의 차이 값을 연접하여 검사 노드 갱신을 수행한다.
도 9는 본 발명의 실시 예에 따른 LDPC 복호기의 동작 절차를 도시하고 있다.
상기 도 9를 참조하면, 상기 복호기는 901단계에서 채널로부터 수신되는 신호의 LLR값들을 복조기로부터 수신하고, 903단계에서 상기 LLR값들을 내림차순으로 정렬하고, 정렬된 LLR값들 중 큰 값을 가지는 기 설정된 nm개의 LLR값을 선택한다.
이후, 상기 복호기는 905단계에서 상기 선택된 LLR 값들 중 최대값을 갖는 LLR값을 분류하고, 907단계에서 상기 최대값을 갖는 LLR값과 상기 선택된 LLR 값들 중 상기 최대값을 갖는 LLR값을 제외한 나머지 LLR값들의 차이값을 계산한 후, 909단계에서 상기 최대값을 갖는 LLR 값과 상기 차이값을 연접하여 상기 도 3의 우측에 도시된 바와 같은 메시지 벡터를 생성한다.
이후, 상기 복호기는 911단계에서 생성된 메시지 벡터를 가변 노드에서 검사 노드로 제공하고, 913단계에서 상기 검사 노드에 연결된 dc-1개의 가변 노드들의 메시지 벡터가 상기 검사노드에 제공되었는지 검사한다.
상기 검사 노드에 연결된 dc-1개의 가변 노드들의 메시지 벡터가 상기 검사노드에 제공되면, 상기 복호기는 915단계에서 상기 dc-1개의 가변 노드들로부터 제공된 각 메시지 벡터에서 최대값과 차이값을 분류한다. 여기서, 상기 최대값은 각 메시지 벡터의 색인 0에 존재하는 LLR 값이며, 차이값은 색인 0이외의 위치에 존재하는 값들이다.
이후, 상기 복호기는 917단계에서 상기 각 메시지 벡터에서 분류된 최대값들의 합을 계산하고, 919단계에서 상기 각 메시지 벡터에서 분류된 차이값들을 오름차순으로 정렬하여 정렬된 차이 값들 중 작은 값을 가지는 nm-1개의 차이값들을 선택한다.
이후, 상기 복호기는 921단계에서 최대값들의 합과 선택된 nm-1개의 차이값을 연접하여 메시지 벡터 생성함으로써 검사 노드를 갱신하고, 본 발명에 따른 알고리즘을 종료한다.
종래에 제공된 EMS 복호기는 메시지의 크기(nm)가 작아질수록 복잡도를 감소시킬 수 있으나, 그에 따른 성능열화가 발생하며. 고차 변조(Higher order modulation)의 경우, 메시지의 크기(nm)의 감소에 따른 성능열화 정도가 저차 변조(low order modulation)에서의 메시지의 크기(nm)의 감소에 따른 성능열화 정도보다 작다. 즉, 본 발명은 상기 EMS 복호기를 기반으로 하며, 다른 메시지 구조를 이용하기 때문에 고차 변조에서 적용될 경우, 복잡도가 낮으면서도 성능열화가 작은 시스템 구현할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 EMS 복호 알고리즘의 기본 갱신 과정을 도시하는 도면,
도 2는 EMS 복호 알고리즘의 검사 노드 갱신 과정을 나타내는 도면,
도 3은 EMS 복호 알고리즘과 본 발명에 따른 복호 알고리즘의 메시지 구조를 도시하는 도면,
도 4는 본 발명에 따른 복호 알고리즘에서 검사 노드 갱신을 위한 가상 행렬 구조를 도시하는 도면,
도 5는 본 발명에 따른 복호 알고리즘에서 검사 노드 차수에 따라 가상 공간으로 확장한 경우를 예로 들어 도시하는 도면,
도 6은 본 발명에 따른 LDPC 복호를 수행하는 수신단의 간략한 블록 구성을 도시하는 도면,
도 7은 본 발명의 실시 예에 따른 LDPC 복호기에서 메시지 벡터 생성기의 상세한 블록 구성을 도시하는 도면,
도 8은 본 발명의 실시 예에 따른 LDPC 복호기에서 검사 노드부의 상세한 블록 구성을 도시하는 도면, 및
도 9는 본 발명의 실시 예에 따른 LDPC 복호기의 동작 절차를 도시하는 도면.

Claims (6)

  1. 저밀도 패리티 검사의 부호를 위한 복호 방법에 있어서,
    채널로부터 수신되는 신호를 복조하여 LLR(log likelihood ratio) 값들을 생성하는 과정과,
    상기 생성된 LLR 값들 중 내림차순으로 소정 수의 LLR 값들을 선택하는 과정과,
    상기 선택된 LLR 값들 중 가장 큰 LLR 값과 나머지 LLR 값들의 차이 값들을 계산하는 과정과,
    상기 가장 큰 LLR 값 및 상기 차이 값들을 포함하는 메시지 벡터를 생성하는 과정과,
    상기 메시지 벡터를 이용하여 저밀도 패리티 검사의 복호를 수행하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    상기 저밀도 패리티 검사의 복호를 수행하는 과정은,
    패리티 검사 행렬에 상응하게 가변 노드들을 연결한 제1 신호를 생성하는 과정과,
    상기 제1 신호에서 이전 반복 과정에서 인터리빙된 제2 신호를 감산한 결과를 디인터리빙한 제3 신호를 생성하는 과정과,
    상기 제3 신호를 이용하여 상기 패리티 검사 행렬에 상응하게 검사 노드들을 연결한 제4 신호를 생성하는 과정과,
    상기 제4 신호에서 상기 제3 신호를 감산한 결과를 인터리빙한 제5 신호를 생성하는 과정을 포함하는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서,
    상기 메시지 벡터는, 상기 메시지 벡터의 색인 0에서 상기 가장 큰 LLR 값을 포함하고, 상기 메시지 벡터의 색인 1부터 상기 메시지 벡터의 색인 N까지 상기 차이 값들을 오름차순으로 포함하는 것을 특징으로 하는 방법.
  4. 저밀도 패리티 검사의 부호를 위한 복호 장치에 있어서,
    채널로부터 수신되는 신호를 복조하여 LLR(log likelihood ratio) 값들을 생성하는 복조기와,
    상기 생성된 LLR 값들 중 내림차순으로 소정 수의 LLR 값들을 선택하고, 상기 선택된 LLR 값들 중 가장 큰 LLR 값과 나머지 LLR값들의 차이값 들을 계산한 후, 상기 가장 큰 LLR 값과 상기 차이 값들을 포함하는 메시지 벡터를 생성하는 메시지 벡터 생성기와,
    상기 메시지 벡터를 이용하여 저밀도 패리티 검사의 복호를 수행하는 복호기를 포함하는 것을 특징으로 하는 장치.
  5. 제 4항에 있어서,
    상기 복호기는,
    상기 메시지 벡터를 생성하는 생성기와,
    패리티 검사 행렬에 상응하게 가변 노드들을 연결한 제1 신호를 출력하는 가변 노드부와,
    상기 제1 신호에서 이전 반복 과정에서 인터리빙된 제2 신호를 감산한 결과를 디인터리빙한 제3 신호를 출력하는 디인터리버와,
    상기 제3 신호를 제공받아 상기 패리티 검사 행렬에 상응하게 검사 노드들을 연결한 제4 신호를 출력하는 검사 노드부와,
    상기 제4 신호에서 상기 제3 신호를 감산한 결과를 인터리빙한 제5 신호를 상기 가변 노드부로 출력하는 인터리버를 포함하는 것을 특징으로 하는 장치.
  6. 제 4항에 있어서,
    상기 메시지 벡터는, 상기 메시지 벡터의 색인 0에서 상기 가장 큰 LLR 값을 포함하고, 상기 메시지 벡터의 색인 1부터 상기 메시지 벡터의 색인 N까지 상기 차이 값들을 오름차순으로 포함하는 것을 특징으로 하는 장치.
KR1020080112324A 2008-11-12 2008-11-12 비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치 KR101562220B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080112324A KR101562220B1 (ko) 2008-11-12 2008-11-12 비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080112324A KR101562220B1 (ko) 2008-11-12 2008-11-12 비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100053280A KR20100053280A (ko) 2010-05-20
KR101562220B1 true KR101562220B1 (ko) 2015-10-22

Family

ID=42278427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080112324A KR101562220B1 (ko) 2008-11-12 2008-11-12 비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101562220B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102080069B1 (ko) * 2013-09-25 2020-04-14 삼성전자주식회사 비이진 ldpc 부호를 사용하는 수신기에서 데이터를 복호하는 방법 및 장치
KR102394458B1 (ko) * 2015-07-06 2022-05-04 삼성전자주식회사 복호기 및 그의 복호 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100849991B1 (ko) 2007-02-23 2008-08-01 주식회사 젤라인 Ldpc 부호생성기법을 이용한 부호화 시스템 및 방법과이로부터의 복호화 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100849991B1 (ko) 2007-02-23 2008-08-01 주식회사 젤라인 Ldpc 부호생성기법을 이용한 부호화 시스템 및 방법과이로부터의 복호화 시스템 및 방법

Also Published As

Publication number Publication date
KR20100053280A (ko) 2010-05-20

Similar Documents

Publication Publication Date Title
US11362682B2 (en) Encoding method and apparatus using CRC code and polar code
JP5354979B2 (ja) 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器
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 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
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 (zh) 用于在使用通用极化码时进行速率匹配的***和方法
US8161363B2 (en) Apparatus and method to encode/decode block low density parity check codes in a communication system
CN101039119B (zh) 编码与解码的方法及***
US8321745B2 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR20090048465A (ko) 주변 신뢰도에 따른 서열화를 이용한 메시지 전달 디코딩 방법
He et al. A joint source and channel coding scheme base on simple protograph structured codes
KR20180028981A (ko) 비-2진 ldpc 코드 디코딩을 위한 신드롬 계산을 위한 기본 체크 노드 처리
KR101562220B1 (ko) 비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치
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 (zh) 低密度奇偶校验编码的32apsk***的交织方案
CN101150550A (zh) 低密度奇偶校验编码的16apsk***的交织方案
CN113810159B (zh) LDPC-Polar级联***的中间信道选择以及分配方法
Ghouri et al. Performance of modified iterative decoding algorithm for product codes
CN117614547A (zh) 延迟串行级联脉冲位置调制***、方法及深空光通信***
Yu A-Performance-Improved-Iterative-Channel-Code-Decoder-For-High-Order-Modulation-Signals

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