KR20150076583A - 비이진 패리티 검사 부호의 복호 방법 및 장치 - Google Patents

비이진 패리티 검사 부호의 복호 방법 및 장치 Download PDF

Info

Publication number
KR20150076583A
KR20150076583A KR1020130164961A KR20130164961A KR20150076583A KR 20150076583 A KR20150076583 A KR 20150076583A KR 1020130164961 A KR1020130164961 A KR 1020130164961A KR 20130164961 A KR20130164961 A KR 20130164961A KR 20150076583 A KR20150076583 A KR 20150076583A
Authority
KR
South Korea
Prior art keywords
hard decision
decoding
message
vector
binary
Prior art date
Application number
KR1020130164961A
Other languages
English (en)
Other versions
KR102075946B1 (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 KR1020130164961A priority Critical patent/KR102075946B1/ko
Priority to US14/577,033 priority patent/US9608667B2/en
Publication of KR20150076583A publication Critical patent/KR20150076583A/ko
Application granted granted Critical
Publication of KR102075946B1 publication Critical patent/KR102075946B1/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
    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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

Landscapes

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

Abstract

본 발명은 비이진 LDPC 부호의 복호 방법에 있어서, 복수 개의 메시지를 입력 받아 1개를 제외한 모든 메시지에 대해 경판정을 수행하고, 상기 경판정을 수행한 값들과 경판정을 수행하지 않은 1개의 메시지를 결합하여 최종 출력 메시지를 업데이트 한다.

Description

비이진 패리티 검사 부호의 복호 방법 및 장치 {METHOD AND APPARATUS FOR DECODING OF NONBINARY PARITY-CHECK CODES IN BROADCASTING AND COMMUNICATION SYSTEMS}
본 발명은 방송 혹은 통신 시스템에서 채널 부호의 복호 방법 및 장치에서 채널 부호로서 비이진 부호를 사용할 때 복호 복잡도를 감소시키기 위한 복호 알고리즘 및 그 알고리즘을 적용한 복호 장치에 대한 것이다.
차세대 통신 시스템은 채널 환경이 계속적으로 변하는 상황에서 전체 시스템의 전송률을 최대화하고 사용자들의 다양한 요구를 충족시켜야 한다. 이를 위해서 강력한 오류 정정 능력을 가지는 채널 부호의 필요성이 점차로 강조되고 있으며, 이에 따라 채널 부호들에 요구되는 성능 기준도 높아지고 있다.
1962년 Gallager에 의해 제안된 LDPC(Low Density Parity Check) 부호는 반복 복호를 통하여 Shannon의 채널 용량에 근접하는 뛰어난 성능을 가진다고 알려져 있다. 하지만 이진(binary) LDPC 부호의 경우 Shannon의 채널 용량에 근접하는 성능을 얻기 위해서는 부호의 길이 N이 충분히 길어야 한다는 문제점이 있다. 비이진(nonbinary) 유한체(finite field) 상에서 LDPC 부호를 설계할 경우, 비교적 작은 길이에서도 채널 용량에 근접하는 성능을 얻을 수 있으며 실제 통신 시스템에서 고려하는 부호어 길이에서 이진 LDPC 부호에 비해 우수한 성능을 가진다고 알려져 있다. 또한 다중 안테나 (multiple antenna) 시스템에서도 통상적인 이진 LDPC 부호화 방식에 비해 더 좋은 성능을 얻을 수 있음이 알려져 있어 비이진 LDPC 부호는 차세대 통신 시스템에 적합한 채널 부호 중 하나로서 주목을 받고 있다.
통상적인 비이진 부호화 방식은 하나의 비이진 부호를 신호 성좌 (constellation)에 적절히 매핑(mapping)하여 성능을 극대화 하는 방식으로 구성된다. 하지만 비이진 유한체 상의 심볼에 대한 복호 과정이 이진 부호의 경우에 비해 복잡하기 때문에 높은 복잡도가 단점으로 알려져 있다. 따라서 비이진 LDPC 부호의 상용화를 위해서는 복호 복잡도 문제의 개선이 중요한 문제 중에 하나이다.
본 발명이 해결하고자 하는 과제는 방송 혹은 통신 시스템에서 데이터 손실 및 왜곡 발생시 데이터를 효율적으로 복원하기 위한 복호 방법 및 장치를 제공하는 것이다.
또한 본 발명이 해결하고자 하는 과제는 비이진 LDPC 부호의 복호 성능에 큰 영향을 미치지 않으면서 복잡도를 감소시키는 복호 방법 및 장치를 제공하는 것이다.
본 발명의 실시예에 따르면, 비이진 LDPC 부호의 복호 방법에 있어서, 복수 개의 메시지를 입력 받아 1개를 제외한 모든 메시지에 대해 경판정을 수행하는 과정과, 상기 경판정을 수행한 값들과 경판정을 수행하지 않은 1개의 메시지를 결합하여 최종 출력 메시지를 업데이트 하는 과정을 포함한다.
또한 본 발명의 실시예에 따르면, 비이진 LDPC 부호의 복호 장치에 있어서, 복수 개의 메시지를 입력 받아 1개를 제외한 모든 메시지에 대해 경판정을 수행하는 경판정부와, 상기 경판정을 수행한 값들과 경판정을 수행하지 않은 1개의 메시지를 결합하여 최종 출력 메시지를 업데이트 하는 출력부를 포함한다.
도 1은 본 발명의 일 실시예에 따른 송신기 및 수신기의 개략적인 구조를 도시한 도면
도 2는 비이진 LDPC 부호의 Factor 그래프의 예를 도시한 도면
도 3은 본 발명의 실시예에 따른 EISBM 복호 과정을 통해 (a)의 검사 노드 및 순열 노드들이 (b)의 순열 노드로 근사화됨을 도시한 도면
도 4는 본 발명의 실시예에 따른 수신기의 복호 절차를 도시한 순서도
도 5는 본 발명의 실시예에 따른 복호를 수행하는 복호 장치의 구성을 나타낸 도면
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
후술되는 본 발명의 실시예들은 네트워크를 통해 고품질(High Definition: HD) 컨텐츠 또는 초고품질(Ultra High Definition: UHD) 컨텐츠들과 같은 고용량 컨텐츠 뿐만 아니라, 영상 회의/통화 등과 같은 다양한 멀티미디어 서비스를 송수신 할 수 있는 휴대폰, TV, 컴퓨터, 전자 칠판, 태블릿, 전자책 등의 모든 전자 기기에서 데이터의 손실 및 왜곡을 효율적으로 복구하는 방법을 제안한다. 특히 데이터들에 채널 부호화 방식을 적용할 때 고차 변조 방식과 비이진(non-binary) 부호화 방식을 결합함에 있어서 복호 복잡도는 크게 증가하지 않으면서 전송 효율 (transmission efficiency)을 높일 수 있는 방법을 제안한다. 본 명세서에서는 설명의 편의를 위해 비이진 패리티 검사 부호(parity-check codes)에 대해서만 설명하지만, 본 발명이 특정 비이진 부호화 방식에 한정되지 않음에 유의한다.
패리티 검사 부호는 통상적으로 패리티 검사 행렬(parity-check matrix)로 정의하는데, 비이진(non-binary) 패리티 검사 부호는 이진 패리티 검사 부호와 달리 패리티 검사 행렬을 구성하는 원소(entry)가 0, 1뿐만 아니라 비이진 심볼들로 정의된다. 여기서 비이진 심볼은 유한체(Finite Field 또는 Galois Field) 상의 원소들로 구성될 수 있을 뿐만 아니라, 환(Ring)이나 군(Group) 상의 원소들로도 표현될 수 있다.
후술되는 본 발명의 실시 예에서는 설명의 편의를 위해 유한체 상에서 정의된 비이진 패리티 검사 부호에 대해서만 기술하지만, 본 발명은 유한체에 한정되지 않고 환 또는 그룹 상에서 정의된 비이진 패리티 검사 부호에도 적용될 수 있음에 유의한다. 또한 가장 잘 알려져 있는 비이진 패리티 검사 부호에는 RS 부호 (Reed-Solomon code)와 비이진 LDPC 부호 등이 있지만, 본 발명은 특정 오류정정부호 (error-correcting code)에 한정되지 않음에 유의한다.
비이진 패리티 검사 부호에 대해 보다 구체적인 설명을 위해 유한체 GF(4)상의 원소들 0, 1,
Figure pat00001
,
Figure pat00002
로 이루어진 패리티 검사 행렬 H의 예를 수학식 1에 나타내었다.
Figure pat00003
상기 수학식 1로부터 정의될 수 있는 비이진 패리티 검사 부호의 부호어를 편의상
Figure pat00004
(단,
Figure pat00005
)라 하면, 다음 수학식 2의 관계가 성립한다.
Figure pat00006
여기서 모든 덧셈, 곱셈 연산 등은 GF(4) 상에서 정의되는 연산임에 유의해야 한다.
상기 수학식 2를 살펴보면, 상기 <수학식 1>의 패리티 검사 행렬 H의 각 행은 하나의 패리티 검사식(parity-check equation)과 대응됨을 알 수 있다. 뿐만 아니라 부호어
Figure pat00007
에 대한 각 패리티 검사식의 값은 항상 0이 됨을 알 수 있다.
일반적으로 GF(q) 상에서 정의되는 비이진 패리티 검사 부호에 대해
Figure pat00008
크기의 패리티 검사 행렬을 H라 하고, 길이가 N인 부호어를
Figure pat00009
라 할 경우에 다음 수학식 3의 관계식을 만족한다.
Figure pat00010
여기서
Figure pat00011
은 m번째 패리티 검사식의 값을 의미하며,
Figure pat00012
은 패리티 검사 행렬 H에서 m번째 행, n번째 열의 원소를 의미하며,
Figure pat00013
은 패리티 검사 행렬 H에서 m번째 행에서 0이 아닌 원소에 대응되는 열의 위치를 나타내는 집합
Figure pat00014
을 의미한다. 또한 상기 수학식 3에서
Figure pat00015
, 부호어 심볼
Figure pat00016
은 GF(q)의 원소이며, 덧셈과 곱셈 연산 또한 모두 GF(q) 상에서 정의되는 연산이다. 참고로 n번째 열의 원소가 대응되는 패리티 검사식의 인덱스 집합을
Figure pat00017
으로 정의한다.
상기 수학식 3에서 정의된 비이진 패리티 검사 부호의 부호어는 비이진 심볼로 구성되어 있기 때문에 상기 비이진 패리티 검사 부호에 대해 변조(modulation)를 적용할 때는 상기 비이진 심볼을 곧바로 신호 성좌에 대응하여 변조를 적용한다고 생각할 수도 있다. 그러나 실제 통신 및 방송 시스템에서 정보를 처리하는 단위는 비트이기 때문에, 실제로는 각 심볼에 대응되는 복수 개의 비트 단위를 신호 성좌에 대응시킨 후 변조를 적용한다고 볼 수도 있다. 이때 GF(q) 상에서 정의된 비이진 심볼은
Figure pat00018
비트로 변환이 가능하며 다양한 변환 방법이 존재한다. 예를 들면, 상기 수학식 3에서 정의된 비이진 패리티 검사 부호의 부호어 길이가 N이고, 부호어 심볼이 GF(q) 상에서 정의될 경우에는 자명하게 상기 비이진 부호의 부호어는
Figure pat00019
개의 비트를 이용하여 구성할 수 있음을 알 수 있다.
통신 및 방송 시스템의 동작의 이해를 돕기 위해 도 1에 본 발명의 일 실시예에 따른 송신기 및 수신기의 개략적인 구조를 도시하였다.
도 1을 참조하면, 송신부(100)는 채널 부호화기(101)와 인터리버(102), 신호 성좌 매핑기(103)를 포함한다. 상기 채널 부호화기(101)에서 비이진 채널 부호화 방식을 적용할 경우에, 채널 부호화를 적용할 복수 개의 비트 데이터를 적절히 비이진 심볼로 변환한 후 상기 채널 부호화기(101)로부터 비이진 부호어를 생성하고, 필요할 경우 인터리버(102)를 통해 순서를 재정렬하며, 해당 비트 열에 대해 적절히 신호 성좌 매핑기(103)을 통해 적절히 변조를 진행한다. 상기 인터리버(102)는 필요에 따라 다양한 형태로 나타낼 수 있을 뿐만 아니라 제거될 수도 있다. 또한 상기 신호 성좌 매핑기(103)를 통해 신호 성좌가 결정된 이후 변조 신호로 변환하는 동작은 설명의 편의를 위해 도면 상에서 생략하였다.
수신부(110)는 이진 디매핑기(105)와 디인터리버(106), 채널 복호기(108)를 포함한다. 상기 디매핑기(105)는 채널로부터 수신된 신호를 이용하여 비이진 심볼에 대한 확률(probability) 값 또는 LR (likelihood ratio) 또는 LLR (log likelihood ratio) 또는 그에 상응하는 값을 계산한 다음, 상기 계산 값을 디인터리버(106)를 통해 적절히 재배치하고, 디인터리빙 된 복수 개의 계산 값을 채널 복호기(107)에 적용하여 최종적으로 비이진 부호어 또는 그에 상응하는 비트 값들을 얻는다. 상기 디인터리버(106)는 필요에 따라 다양한 형태로 나타낼 수 있을 뿐만 아니라 제거될 수도 있다.
다음으로 비이진 LDPC 부호의
Figure pat00020
-ary 합곱 알고리즘(
Figure pat00021
-ary sum-product algorithm: QSPA)에 대해 설명한다.
도 2는 비이진 LDPC 부호의 Factor 그래프의 예를 도시한 것이다.
여기서
Figure pat00022
는 채널에서 수신된 값을 기반으로 복호기 입력을 위하여 계산된 메시지로서
Figure pat00023
번째 변수 노드
Figure pat00024
(j번째 부호어 심볼, 즉, 패리티 검사행렬의 j번째 열에 대응되는 부호어 심볼에 대응되는 Factor 그래프 상의 노드)가 유한체 상의 원소
Figure pat00025
일 확률을 의미한다. 여기서
Figure pat00026
는 순열 노드
Figure pat00027
를 거쳐
Figure pat00028
번째 변수 노드에서
Figure pat00029
번째 검사 노드(i번째 패리티 검사식에 대응되는 Factor 그래프 상의 노드)로 전달되는 메시지이며,
Figure pat00030
Figure pat00031
번째 검사 노드에서
Figure pat00032
번째 변수 노드로 전달되는 메시지로
Figure pat00033
Figure pat00034
의 메시지가 주어졌을 때 검사식
Figure pat00035
를 만족할 확률을 의미한다.
Figure pat00036
번째 검사 노드와
Figure pat00037
번째 변수 노드 간의 주고받는 메시지
Figure pat00038
Figure pat00039
Figure pat00040
에 해당하는 순열 노드
Figure pat00041
를 통과할 경우
Figure pat00042
Figure pat00043
로 갱신되며
Figure pat00044
,
Figure pat00045
로 계산된다.
QSPA의 진행 과정을 정리하면 다음과 같다.
단계 1 : 초기화
Figure pat00046
를 채널로부터 구한 메시지
Figure pat00047
로 초기화한다.
단계 2 :
Figure pat00048
갱신
Figure pat00049
번째 검사 노드에서
Figure pat00050
번째 변수 노드로 가는 메시지
Figure pat00052
를 이용하여 계산되며,
Figure pat00053
이다.
여기서
Figure pat00054
Figure pat00055
번째 검사 노드에 연결된 변수 노드들에 해당하는 값들의 집합을 의미한다.
Figure pat00056
는 주어진
Figure pat00057
에 대하여
Figure pat00058
가 만족된다면
Figure pat00059
을, 만족하지 않는다면
Figure pat00060
을 가진다.
단계 3 : 순열 단계
변수 노드에서 검사 노드로 전달되는 메시지는 순열 노드
Figure pat00061
에서
Figure pat00062
,
Figure pat00063
로 갱신된다.
단계 4 :
Figure pat00064
갱신
Figure pat00065
번째 변수 노드에서
Figure pat00066
번째 검사 노드로 전달되는 메시지
Figure pat00067
는 다음 수학식 4와 같은 메시지 갱신 규칙을 가진다.
Figure pat00068
여기서
Figure pat00069
Figure pat00070
을 만족하기 위한 정규화 인수(normalizing factor)이다. 복호를 수행하고 난 후 경판정(hard decision) 벡터
Figure pat00071
는 다음 수학식 5로 구한다.
Figure pat00072
만약 모든 검사식의 값이 0을 가지면 반복 복호를 중단한다. 그렇지 않으면 일정한 회수를 넘기 전까지 반복 복호를 계속 수행한다.
위와 같은 절차를 통해 수행되는 QSPA 알고리즘은 복호 과정에서 사용하는 값들이 부동점(floating point) 연산에 기반한 알고리즘으로서 실제 시스템에서 바로 적용하기에는 복잡도가 매우 높은 단점이 있다. 이러한 이유로 비이진 부호의 복호 복잡도 감소를 위해 다양한 복호 알고리즘들이 알려져 있다.
복잡도 감소를 위한 비이진 LDPC 부호의 복호 알고리즘의 일례로서 먼저 반복 연판정 다수결 논리(iterative soft-reliability based majority-logic, ISBM) 복호 알고리즘이 있다.
Figure pat00073
의 크기를 가지는 유한체
Figure pat00074
상에서 정의되고
Figure pat00075
크기의 패리티 검사 행렬로 표현되는 LDPC 부호의 복호기는, 채널 출력이 주어져 있을 때,
Figure pat00076
을 만족하는 길이
Figure pat00077
의 비이진 벡터
Figure pat00078
를 찾는 것을 목적으로 한다.
Figure pat00079
Figure pat00080
번째 반복 복호에서 결정된 경판정 벡터이며, 오증(syndrome) 벡터
Figure pat00081
를 이용하여
Figure pat00082
를 다음 수학식 6과 같이 정의한다.
Figure pat00083
여기서
Figure pat00084
Figure pat00085
번째 변수 노드에 연결된 검사 노드의 집합이다.
Figure pat00086
에 연결된 변수 노드들의 경판정된 심볼들 중
Figure pat00087
를 제외한 심볼들이 전부 올바르다고 가정하면,
Figure pat00088
Figure pat00089
Figure pat00090
,
Figure pat00091
를 만족한다. 여기서
Figure pat00092
는 부호어의
Figure pat00093
번째 심볼을 의미하며
Figure pat00094
Figure pat00095
번째 심볼의 오류를 의미한다.
Figure pat00096
를 구성하는 경판정 심볼들이
Figure pat00097
를 제외하고 전부 올바른 값을 가진다면 새롭게 정의되는 변수
Figure pat00098
Figure pat00099
와 같다.
ISBM 복호 알고리즘은 채널로부터 수신된 메시지 벡터
Figure pat00100
을 양자화(quantization)하여 정수의 덧셈 연산과 비교 연산만을 사용하므로, QSPA 또는 확장된 최소합(extended min-sum, EMS) 알고리즘보다 작은 복호 복잡도를 가진다.
Figure pat00101
는 벡터
Figure pat00102
을 구성하는 각 성분들의 양 극단이 절단(clipping)된 후
Figure pat00103
개의 단계로 균일하게 양자화(uniformly quantized)된 성분들로 구성된 벡터이며, 각 구간은
Figure pat00104
개의 비트로 표현된다. 벡터
Figure pat00105
Figure pat00106
번째 원소부터
Figure pat00107
번째 원소에 해당하는 벡터
Figure pat00108
는 유한체
Figure pat00109
상에서 정의된 부호어의
Figure pat00110
번째 심볼
Figure pat00111
에 대응된다.
Figure pat00112
상의 원소
Figure pat00113
Figure pat00114
의 상관도를 표현하기 위해
Figure pat00115
를 다음 수학식 7과 같이 정의한다.
Figure pat00116
ISBM 복호 알고리즘은
Figure pat00117
번째 반복 복호 과정에서 경판정 벡터
Figure pat00118
를 판정하며, 이를 위해 신뢰성 측정 벡터(reliability measure vector)
Figure pat00119
를 다음 수학식 8과 같이 정의한다.
Figure pat00120
Figure pat00121
Figure pat00122
번째 반복 복호에서
Figure pat00123
가 유한체 상의 원소
Figure pat00124
로 경판정될 신뢰도를 나타내며, 수학식 9와 같이 벡터
Figure pat00125
의 배수로 초기화한다.
Figure pat00126
또한 벡터
Figure pat00127
를 이용하여 검사 노드에서 변수 노드로 가는 외부 메시지
Figure pat00128
를 다음 수학식 10과 같이 정의한다.
Figure pat00129
Figure pat00130
는 검사 노드에서 변수 노드로 가는 외부 메시지의 신뢰성 판단 기준으로 볼 수 있다.
Figure pat00131
에 연결된 변수 노드들의 경판정된 심볼들 중에서
Figure pat00132
를 제외한 심볼들이 전부 올바르다면
Figure pat00133
Figure pat00134
와 같으므로,
Figure pat00135
를 판단하기 위해
Figure pat00136
번째 심볼에 영향을 주는 외부 메시지
Figure pat00137
는 다음 수학식 11과 같이 계산된다.
Figure pat00138
ISBM 복호 알고리즘의 진행 과정을 정리하면 다음과 같다.
초기화 단계 :
Figure pat00139
,
Figure pat00140
로 초기화하며, 최대 반복 복호 횟수
Figure pat00141
를 정한다.
Figure pat00142
에 대해
Figure pat00143
로 초기화한다.
Figure pat00144
Figure pat00145
에 대해,
Figure pat00146
를 계산하고 저장한다.
단계 1 : 오증 벡터
Figure pat00147
를 계산한다.
Figure pat00148
가 영벡터라면 복호를 종료하고
Figure pat00149
를 부호어로 출력한다. 그렇지 않을 경우 단계 2 로 진행한다.
단계 2 : 만약
Figure pat00150
이면 복호를 종료하고 복호 실패를 선언한다. 그렇지 않을 경우 단계 3 으로 진행한다.
단계 3 :
Figure pat00151
에 대해,
Figure pat00152
를 계산한다.
Figure pat00153
을 다음의 수학식 12를 계산하여 갱신한 후 단계 4 로 진행한다.
Figure pat00154
단계 4 :
Figure pat00155
를 1만큼 증가시킨다. 경판정 벡터
Figure pat00156
를 수학식 13과 같이 계산하고 단계?1 로 돌아간다.
Figure pat00157
위와 같은 ISBM 복호 방법은 양자화를 통해 복호 복잡도가 크게 감소하는 대신 성능 열화가 크게 발생하는 단점이 있다. 따라서 본 발명의 실시예에서는 검사 노드의 계산 복잡도는 위와 같은 ISBM 방식과 크게 차이가 없으면서 성능 열화를 감소 시키는 방법을 제안한다.
본 발명의 실시예에서는 검사 노드의 계산 복잡도는 작으면서, 검사 노드에서 변수 노드로 가는 외부 메시지의 크기가
Figure pat00158
인 확장된 반복 연판정 다수결 논리 복호(Extended ISBM, EISBM) 알고리즘을 제안한다. 본 발명의 실시예에서 제안된 알고리즘에서는 검사 노드를 갱신하기 위해서 동일한 검사 노드에 연결된
Figure pat00159
개의 변수 노드들로부터 길이
Figure pat00160
인 벡터
Figure pat00161
를 받고 그 중에서
Figure pat00162
개의 변수 노드에서 온
Figure pat00163
를 경판정한 뒤 검사 노드 갱신을 진행한다.
도 3은 본 발명의 실시예에 따른 EISBM 복호 과정을 통해 (a)의 검사 노드 및 순열 노드들이 (b)의 순열 노드로 근사화됨을 도시한 것이다.
심볼들 중에서
Figure pat00164
의 최대값이 클수록 경판정된 심볼
Figure pat00165
의 신뢰도가 크다고 볼 수 있으므로, 검사 노드에 연결된
Figure pat00166
개의 변수 노드 중에서
Figure pat00167
의 최대값이 큰
Figure pat00168
개의 변수 노드를 선택하고 경판정된 심볼
Figure pat00169
를 정한다. 예를 들어 도 3(a)를 보면,
Figure pat00170
의 최대값이 큰 2개의 변수 노드가 301과 303에 연결된 노드 x1, x3였다고 가정하면, 상기 노드 x1, x3에 대해서 경판정을 진행하여 각각의 심볼 z1, z3를 결정한다.
이와 같이 각 노드에 대한 심볼들이 결정되면, 도 3의 306에 나타낸 것처럼 결정된 심볼들의 값과 각 순열 노드들을 결합하여 도 3(b)의 307처럼 하나의 순열 노드들로 변형할 수 있다. 예를 들어, 만일 도 3이 GF(4)상의 심볼 0, 1,
Figure pat00171
,
Figure pat00172
(여기서,
Figure pat00173
,
Figure pat00174
)들로 이루어진 부호라 정의하고, z1 = 0, z3 =
Figure pat00175
및 301의 값은 1, 302의 값은
Figure pat00176
, 303의 값은
Figure pat00177
, 304의 값은 1이라 하면, 검사 노드 305의 관계식에 의하여 결합된 순열 노드 307은 다음 수학식 14와 같은 과정을 거쳐 구할 수 있다.
Figure pat00178
즉, 도 3의 307은 주어진 입력
Figure pat00179
에 대해
Figure pat00180
(본 실시 예에서
Figure pat00181
) 형태의 순열 노드 역할을 함을 알 수 있다.
따라서, 본 발명에서 제안하는 비이진 LDPC 부호의 복호 알고리즘은 메시지 업데이트를 하고자 하는 검사 노드에 연결되어 있는 변수 노드들 중에서 가장 신뢰도가 낮다고 판단되는 1개의 변수 노드에 대응되는 복호 메시지 값을 제외한 모든 변수 노드의 메시지 값에 대해 경판정을 진행한 후, 상기 경판정된 값과 상기 경판정을 수행한 변수 노드에 연결되어 있는 순열 노드들을 적절히 결합하여 도 3 (b)와 같이 1개의 순열 노드로 변형한 다음, 상기 결합된 순열 노드를 경판정을 진행하지 않은 메시지에 단순 적용하여 메시지를 업데이트 하는 방법이다.
본 발명의 실시예에 따른 EISBM 복호 알고리즘의 일반적인 진행 과정을 정리하면 다음과 같다.
초기화 단계 :
Figure pat00182
,
Figure pat00183
로 초기화하며, 최대 반복 복호 횟수
Figure pat00184
와 가중 인수(weighting factor)
Figure pat00185
를 정한다.
Figure pat00186
에 대해
Figure pat00187
로 초기화한다.
단계 1 : 오증 벡터
Figure pat00188
를 계산한다. 만약
Figure pat00189
이면, 복호를 종료하고
Figure pat00190
를 부호어로 출력한다. 그렇지 않을 경우 단계 2 로 진행한다.
단계 2 : 만약
Figure pat00191
Figure pat00192
일 경우 복호를 종료하고 복호 실패를 선언한다. 그렇지 않을 경우 단계 3 으로 진행한다.
단계 3 :
Figure pat00193
,
Figure pat00194
,
Figure pat00195
에 대해 다음 수학식 15와 같이
Figure pat00196
를 결정한다.
Figure pat00197
여기서
Figure pat00198
,
Figure pat00199
이다.
단계 4 :
Figure pat00200
의 식을 이용하여
Figure pat00201
을 정의한다.
Figure pat00202
을 수학식 16과 같이 갱신한 후 단계 5 로 진행한다.
Figure pat00203
단계 5 :
Figure pat00204
를 1만큼 증가시킨다. 경판정 벡터
Figure pat00205
를 다음의 수학식 17을 사용하여 결정한 후 단계?1 로 되돌아간다.
Figure pat00206
도 4는 본 발명의 실시 예에 따른 수신기의 동작 흐름도를 나타낸 것이다.
먼저 복호 회수 카운터 K 값을 0으로 초기화하고 수신된 신호로부터 신뢰도 측정 벡터를 초기화 한다(401). 다음으로 상기 수신된 신호로부터 부호어에 대한 경판정을 진행하고(402), 상기 경판정된 부호어로부터 오증 벡터를 계산한다(403). 상기 계산된 오증 벡터가 0의 값과 일치하는지 확인하고(404), 일치할 경우에는 복호가 성공됐다고 판단하고 상기 경판정된 부호어를 최종 부호어로 출력한다(405). 오증 벡터 값이 0이 아닐 경우에는 복호가 성공하지 못한 것으로 간주할 수 있으므로, 반복 복호 회수 K와 설정된 최대값 Kmax을 비교하고(406), 반복 복호 회수 K가 설정된 최대값 Kmax 보다 작은 경우에는 K 값을 1만큼 증가시킨 다음 신뢰도 측정 벡터를 정해진 규칙에 따라 갱신한다(407). 이후 상기 갱신된 신뢰도 측정 벡터를 반영하여 수신된 신호로부터 부호어에 대한 경판정을 재수행한다(402). 이러한 과정은 오증 벡터가 0의 값을 가질 때까지 반복될 수 있다. 만일 오증 벡터 값이 0가 되지 않고, 반복 복호 회수 K가 최대값 Kmax와 같게 되면, 복호가 실패한 것으로 선언하고(408) 모든 동작을 종료한다.
도 5는 본 발명의 실시예에 따른 복호를 수행하는 복호 장치의 구성을 나타낸 것이다.
도 5를 참조하면, 경판정부(510)는 복호 회수 카운터 K 값을 0으로 초기화하고 수신된 신호로부터 신뢰도 측정 벡터를 초기화 하고, 상기 수신된 신호로부터 부호어에 대한 경판정을 진행한다. 출력부(520)는 상기 경판정된 부호어로부터 오증 벡터를 계산하고, 상기 계산된 오증 벡터가 0의 값과 일치하는지 확인한다. 일치할 경우에는 복호가 성공됐다고 판단하고 상기 경판정된 부호어를 최종 부호어로 출력하며, 오증 벡터 값이 0이 아닐 경우에는 복호가 성공하지 못한 것으로 간주하여 반복 복호 회수 K와 설정된 최대값 Kmax을 비교한다. 비교 결과 반복 복호 회수 K가 설정된 최대값 Kmax 보다 작은 경우에는 K 값을 1만큼 증가시킨 다음 그 결과를 신뢰도 측정 벡터 갱신부(530)로 전달한다. 신뢰도 측정 벡터 갱신부(530)는 정해진 규칙에 따라 신뢰도 측정 벡터를 갱신하고 갱신된 신뢰도 측정 벡터를 경판정부(510)로 전달한다. 그러면 경판정부(510)는 상기 갱신된 신뢰도 측정 벡터를 반영하여 수신된 신호로부터 부호어에 대한 경판정을 재수행한다. 또한 출력부(520)는 반복 복호 회수 K가 최대값 Kmax와 같게 되면 복호가 실패한 것으로 선언하고 복호 동작을 종료한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (10)

  1. 비이진 LDPC 부호의 복호 방법에 있어서,
    복수 개의 메시지를 입력 받아 1개를 제외한 모든 메시지에 대해 경판정을 수행하는 과정과,
    상기 경판정을 수행한 값들과 경판정을 수행하지 않은 1개의 메시지를 결합하여 최종 출력 메시지를 업데이트 하는 과정을 포함하는 것을 특징으로 하는 복호 방법.
  2. 제1항에 있어서,
    상기 경판정을 수행하지 않는 1개의 메시지는 사전에 정의된 신뢰도 측정 벡터(reliability measure vector) 값으로부터 가장 신뢰도가 낮은 것으로 판단되는 메시지인 복호 방법.
  3. 제2항에 있어서,
    상기 신뢰도 측정 벡터는 각 부호어 심볼 별로 서로 다른 값을 가지며, 상기 신뢰도 측정 벡터의 크기는 부호어를 구성하는 비이진 심볼의 개수와 동일한 복호 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 신뢰도 측정 벡터를 구성하는 값들은 상기 부호어 심볼에 대해 경판정을 수행할 경우 상기 부호어 심볼이 각 비이진 심볼로 경판정될 확률 값 또는 그에 대응 되는 값을 가지는 복호 방법.
  5. 제2항 또는 제3항에 있어서,
    복호에 실패한 경우, 반복 복호 회수가 미리 정해진 최대값에 도달할 때까지 상기 신뢰도 측정 벡터를 미리 정해진 규칙에 따라 갱신한 후 상기 경판정을 재수행하는 복호 방법.
  6. 비이진 LDPC 부호의 복호 장치에 있어서,
    복수 개의 메시지를 입력 받아 1개를 제외한 모든 메시지에 대해 경판정을 수행하는 경판정부와,
    상기 경판정을 수행한 값들과 경판정을 수행하지 않은 1개의 메시지를 결합하여 최종 출력 메시지를 업데이트 하는 출력부를 포함하는 것을 특징으로 하는 복호 장치.
  7. 제6항에 있어서,
    상기 경판정부는, 상기 경판정을 수행하지 않는 1개의 메시지는 사전에 정의된 신뢰도 측정 벡터(reliability measure vector) 값으로부터 가장 신뢰도가 낮은 것으로 판단하는 메시지인 복호 장치.
  8. 제7항에 있어서,
    상기 신뢰도 측정 벡터는 각 부호어 심볼 별로 서로 다른 값을 가지며, 상기 신뢰도 측정 벡터의 크기는 부호어를 구성하는 비이진 심볼의 개수와 동일한 복호 장치.
  9. 제7항 또는 제8항에 있어서,
    상기 신뢰도 측정 벡터를 구성하는 값들은 상기 부호어 심볼에 대해 경판정을 수행할 경우 상기 부호어 심볼이 각 비이진 심볼로 경판정될 확률 값 또는 그에 대응 되는 값을 가지는 복호 장치.
  10. 제7항 또는 제8항에 있어서,
    복호에 실패한 경우, 반복 복호 회수가 미리 정해진 최대값에 도달할 때까지 상기 신뢰도 측정 벡터를 미리 정해진 규칙에 따라 갱신하는 신뢰도 측정 벡터 갱신부를 더 포함하며,
    상기 경판정부는, 상기 갱신된 신뢰도 측정 벡터를 토대로 상기 경판정을 재수행하는 복호 장치.
KR1020130164961A 2013-12-27 2013-12-27 비이진 패리티 검사 부호의 복호 방법 및 장치 KR102075946B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130164961A KR102075946B1 (ko) 2013-12-27 2013-12-27 비이진 패리티 검사 부호의 복호 방법 및 장치
US14/577,033 US9608667B2 (en) 2013-12-27 2014-12-19 Method and apparatus for decoding non-binary parity check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130164961A KR102075946B1 (ko) 2013-12-27 2013-12-27 비이진 패리티 검사 부호의 복호 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150076583A true KR20150076583A (ko) 2015-07-07
KR102075946B1 KR102075946B1 (ko) 2020-02-11

Family

ID=53483088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130164961A KR102075946B1 (ko) 2013-12-27 2013-12-27 비이진 패리티 검사 부호의 복호 방법 및 장치

Country Status (2)

Country Link
US (1) US9608667B2 (ko)
KR (1) KR102075946B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109560892B (zh) 2013-12-27 2021-04-30 松下电器(美国)知识产权公司 发送方法、接收方法及发送装置、接收装置
FR3016259B1 (fr) * 2014-01-07 2017-09-08 Univ Bretagne Sud Procede de gestion d'une unite de calcul de noeud de parite, equipement et logiciel pour la mise en oeuvre du procede
CN107094026B (zh) * 2017-04-10 2020-11-03 东南大学 Nb-ldpc编码的图合并检测译码方法
FI20195547A1 (en) * 2019-06-20 2020-12-21 Nokia Technologies Oy Systems and apparatus for adaptive modulation category
CN113612581B (zh) * 2021-08-03 2022-03-11 浙江极传信息技术有限公司 一种通用高吞吐率的ldpc译码方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504891B2 (en) 2009-03-27 2013-08-06 University Of Connecticut Apparatus, systems and methods including nonbinary low density parity check coding for enhanced multicarrier underwater acoustic communications
US8566666B2 (en) * 2011-07-11 2013-10-22 Lsi Corporation Min-sum based non-binary LDPC decoder

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A high-throughput trellis-based layered decoding architecture for non-binary LDPC codes using max-log-QSPA (IEEE transactions on signal processing, 6월, 2013) *

Also Published As

Publication number Publication date
US9608667B2 (en) 2017-03-28
KR102075946B1 (ko) 2020-02-11
US20150188568A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
US7500172B2 (en) AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
US8010869B2 (en) Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
JP5506878B2 (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
Jose et al. Analysis of hard decision and soft decision decoding algorithms of LDPC codes in AWGN
EP3293885B1 (en) Check node processing for syndrome computation in the decoding of non-binary codes, in particular non-binary ldpc codes
US10374632B2 (en) Low density parity check coded modulation for optical communications
CN105471547A (zh) 通信设备及通过其执行的方法
EP3242405B1 (en) Non-binary check node processing with pre-sorted input
EP3316486A1 (en) Elementary check node-based syndrome decoding with input pre-sorting
KR102075946B1 (ko) 비이진 패리티 검사 부호의 복호 방법 및 장치
US11177834B2 (en) Communication method and apparatus using polar codes
US20150162937A1 (en) Adaptive Coded-Modulation for Intelligent Optical Transport Networks
EP3419180B1 (en) Simplified, presorted, syndrome-based, extended min-sum (ems) decoding of non-binary ldpc codes
Liva et al. Codes on high-order fields for the CCSDS next generation uplink
JP5523064B2 (ja) 復号装置及び方法
US11476870B2 (en) Variable node processing methods and devices for message-passing decoding of non-binary codes
Wang et al. Partial product-LDPC codes without rate loss
Liang et al. Rateless transmission of polar codes with information unequal error protection
US9154261B2 (en) Low density parity check (LDPC) coding in communication systems
US11245421B2 (en) Check node processing methods and devices with insertion sort
Jose et al. Channel coding using low density parity check codes in AWGN
Ahire et al. Non-Iterative MSNN Decoder for Image Transmission over AWGN Channel using LDPC
Aggarwal Distributed joint source-channel coding for arbitrary memoryless correlated sources and source coding for Markov correlated sources using LDPC codes
Nagaraj et al. Multiscale unit‐memory convolutional codes
Rajagopal et al. FPGA IMPLEMENTATION OF SSPA DECODER

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant