KR102186741B1 - 정규 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법 및 그 장치 - Google Patents

정규 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법 및 그 장치 Download PDF

Info

Publication number
KR102186741B1
KR102186741B1 KR1020200039632A KR20200039632A KR102186741B1 KR 102186741 B1 KR102186741 B1 KR 102186741B1 KR 1020200039632 A KR1020200039632 A KR 1020200039632A KR 20200039632 A KR20200039632 A KR 20200039632A KR 102186741 B1 KR102186741 B1 KR 102186741B1
Authority
KR
South Korea
Prior art keywords
bit
probability distribution
probability
state variable
variable
Prior art date
Application number
KR1020200039632A
Other languages
English (en)
Inventor
하정석
김명인
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020200039632A priority Critical patent/KR102186741B1/ko
Application granted granted Critical
Publication of KR102186741B1 publication Critical patent/KR102186741B1/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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state

Landscapes

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

Abstract

정규 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법 및 그 장치가 개시된다. 본 발명의 일 실시예에 따른 비트 반전 복호 알고리즘의 밀도 진화 방법은 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법에 있어서, 변수노드의 비트 값과 반전 함수값을 묶은 상태변수의 확률 분포를 계산하는 단계; 및 상기 상태변수의 확률 분포를 이용하여 각 반복에서의 비트 오류율을 예측하는 단계를 포함하며, 상기 비트 오류율을 예측하는 단계는 상기 상태변수의 확률 분포를 이용하여 상기 비트 반전 복호 알고리즘에서 주고 받는 메시지인 비트 값의 확률 분포를 예측하는 단계; 및 상기 예측된 비트 값의 확률 분포에 기초하여 상기 각 반복에서의 비트 오류율을 예측하는 단계를 포함할 수 있다.

Description

정규 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법 및 그 장치 {Density Evolution Method of the Bit-Flipping Decoding Algorithm of Regular Low-Density Parity-Check Codes and Apparatus Therefore}
본 발명은 오류 정정 부호(Error-Correcting Codes)에 관한 것으로, 보다 구체적으로는 정규 저밀도 패리티 검사(Low-Density Parity-Check, LDPC) 부호에서 경판정만이 입력인 비트 반전(Bit-Flipping, BF) 복호 알고리즘의 밀도 진화 방법 및 그 장치에 관한 것이다.
저밀도 패리티 검사(Low-Density Parity-Check, LDPC) 부호는 패리티 검사 행렬 H=[hmn]M×N의 영공간(Null Space)으로 정의된다. 여기서, 패리티 검사행렬에서 각 열의 0이 아닌 성분, 즉 1의 개수가 모든 열에 대해서 dv로 같고 각 행의 1의 개수가 모든 행에 대해서 dc로 같은 경우, 이 부호를 (dv, dc)-정규(regular) LDPC 부호라고 한다. LDPC 부호의 복호기는 변수노드(Variable Node), 검사노드(Check Node) 그리고 선분(Edge)으로 구성되는 Tanner 그래프로 표현이 가능하며, LDPC 부호의 일반적인 BF 복호 알고리즘은 다음과 같다.
초기화 단계: 최대 반복 횟수는 Imax, 반복 복호기의 반복 횟수 l=0, 그리고 변수노드의 판정값,
Figure 112020033968814-pat00001
는 채널로부터 수신한 경판정 값, z로 초기화 한다.
1 단계: 모든 검사노드에 대하여 신드롬 sm은 아래 <수학식 1>로 계산한다. sm은 m번째 검사노드의 신드롬 값을 의미한다.
Figure 112020033968814-pat00002
여기서, Hmn은 LDPC부호의 패리티 검사행렬에서 m번째 행, n번째 열의 0이 아닌 성분, 즉 1의 값을 의미하고, N(m)은 m번째 검사노드에 연결된 변수노드의 집합을 의미할 수 있다. 이 때, N(m)은 아래 <수학식 2>와 같이 정의될 수 있다.
Figure 112020033968814-pat00003
만약 모든 신드롬이 0이면 반복을 멈추고, 부호기의 판정값
Figure 112020033968814-pat00004
을 출력한다. 그러나, 신드롬 벡터가 0이 아니라면 반복횟수 l ← l+1로 증가시키고 다음 단계를 진행한다.
2 단계: 모든 변수노드에 대하여 반전 함수(Flipping Function, 이하 En)를 아래 <수학식 3>과 같이 계산한다.
Figure 112020033968814-pat00005
여기서, M(n)은 n번째 변수노드와 연결된 검사노드의 집합을 의미하며, 아래 <수학식 4>와 같이 정의될 수 있다.
Figure 112020033968814-pat00006
3 단계: 반전 함수, En의 값이 임계값 θ(l)보다 큰 변수노드를 선택하여 아래 <수학식 5>와 같이 집합 B를 정의하고, 집합 B내의 변수노드의 비트 값을 반전시킨다.
Figure 112020033968814-pat00007
만약 반복 횟수 l이 최대 반복 횟수 Imax와 같을 경우 반복을 멈추고, 그렇지 않으면 다시 단계 1로 간다.
밀도 진화 기법은 반복 복호 알고리즘에서 메시지의 확률 분포의 변화를 예측하는 기법이다. 밀도 진화 기법은 각 복호 알고리즘에서 신뢰할 수 있는 통신(reliable communication)이 가능하게 하는 채널 잡음의 임계값 예측을 가능하게 하고, 이를 통하여 신뢰할 수 있는 통신이 가능하면서 부호율을 최대화시키는 LDPC 부호의 설계에 활용될 수 있다.
본 발명의 실시예들은, 정규 저밀도 패리티 검사(LDPC) 부호에서 경판정만이 입력인 비트 반전(BF) 복호 알고리즘의 밀도 진화 방법 및 그 장치를 제공한다.
본 발명의 일 실시예에 따른 비트 반전 복호 알고리즘의 밀도 진화 방법은 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법에 있어서, 변수노드의 비트 값과 반전 함수값을 묶은 상태변수의 확률 분포를 계산하는 단계; 및 상기 상태변수의 확률 분포를 이용하여 각 반복에서의 비트 오류율을 예측하는 단계를 포함한다.
상기 비트 오류율을 예측하는 단계는 상기 상태변수의 확률 분포를 이용하여 상기 비트 반전 복호 알고리즘에서 주고 받는 메시지인 비트 값의 확률 분포를 예측하는 단계; 및 상기 예측된 비트 값의 확률 분포에 기초하여 상기 각 반복에서의 비트 오류율을 예측하는 단계를 포함할 수 있다.
상기 상태변수의 확률 분포를 계산하는 단계는 마코브 체인(Markov chain)을 이용하여 상기 상태변수의 확률 분포를 계산할 수 있다.
상기 상태변수의 확률 분포를 계산하는 단계는 초기 상태변수의 확률 분포와 상기 상태변수의 전이 확률을 이용하여 상기 상태변수의 확률 분포를 계산할 수 있다.
상기 상태변수의 전이 확률은 상기 비트 반전 복호 알고리즘에서 주고 받는 메시지인 비트 값이 다음 반복에서 뒤집힐 확률, 변수노드의 비트 값이 다음 반복에서 뒤집히지 않은 경우 상기 변수노드와 연결된 검사노드 중 하나의 상태가 바뀔 확률과 상기 변수노드의 비트 값이 다음 반복에서 뒤집히는 경우 상기 변수노드와 연결된 검사노드 중 하나의 상태가 바뀌지 않을 확률에 기초하여 계산될 수 있다.
본 발명의 일 실시예에 따른 비트 반전 복호 알고리즘의 밀도 진화 장치는 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 장치에 있어서, 변수노드의 비트 값과 반전 함수값을 묶은 상태변수의 확률 분포를 계산하는 계산부; 및 상기 상태변수의 확률 분포를 이용하여 각 반복에서의 비트 오류율을 예측하는 예측부를 포함한다.
상기 예측부는 상기 상태변수의 확률 분포를 이용하여 상기 비트 반전 복호 알고리즘에서 주고 받는 메시지인 비트 값의 확률 분포를 예측하고, 상기 예측된 비트 값의 확률 분포에 기초하여 상기 각 반복에서의 비트 오류율을 예측할 수 있다.
상기 계산부는 마코브 체인(Markov chain)을 이용하여 상기 상태변수의 확률 분포를 계산할 수 있다.
상기 계산부는 초기 상태변수의 확률 분포와 상기 상태변수의 전이 확률을 이용하여 상기 상태변수의 확률 분포를 계산할 수 있다.
상기 상태변수의 전이 확률은 상기 비트 반전 복호 알고리즘에서 주고 받는 메시지인 비트 값이 다음 반복에서 뒤집힐 확률, 변수노드의 비트 값이 다음 반복에서 뒤집히지 않은 경우 상기 변수노드와 연결된 검사노드 중 하나의 상태가 바뀔 확률과 상기 변수노드의 비트 값이 다음 반복에서 뒤집히는 경우 상기 변수노드와 연결된 검사노드 중 하나의 상태가 바뀌지 않을 확률에 기초하여 계산될 수 있다.
본 발명의 실시예들에 따르면, 정규 저밀도 패리티 검사(LDPC) 부호에서 경판정만이 입력인 비트 반전(BF) 복호 알고리즘의 밀도 진화 기법을 제공함으로써, 각 반복에서의 비트 오류율(bit error rate, BER)을 예측할 수 있다. 이는 정규 LDPC 부호에서 BF 알고리즘의 신뢰할 수 있는 통신(reliable communication)이 가능하게 하는 채널 잡음의 임계값 예측을 가능하게 한다. 또한, 본 발명은 비정규(irregular) LDPC 부호의 BF 알고리즘에 대한 밀도 진화 기법으로 발전시켜 신뢰할 수 있는 통신이 가능하면서 부호율을 최대화시키는 LDPC 부호의 설계에 활용될 수 있다.
정규 LDPC 부호에서 BF 알고리즘은 무선통신이나 NAND 플래시 메모리와 같은 저장장치에 활용되고 있다. 특히 NAND 플래시 메모리 소자는 경판정된 결과만 출력으로 제공하므로, 경판정 정보만을 활용하여 복호를 진행하는 BF 알고리즘에 활용될 수 있다. 따라서, 본 발명은 BF 알고리즘이 사용되는 대역폭이 제한된 무선통신 시스템이나 저장용량이 제한된 NAND 플래시 메모리와 같은 저장매체에 효율적인 정보전송을 가능하게 하고 저장 효율성을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른 비트 반전 복호 알고리즘의 밀도 진화 방법에 대한 동작 흐름도를 나타낸 것이다.
도 2는 수학식 rb ,s (l)를 설명하기 위한 일 예시도를 나타낸 것이다.
도 3은 전이 확률을 설명하기 위한 일 예시도를 나타낸 것이다.
도 4는 본 발명의 방법을 통해 유도된 상태변수의 확률 분포를 검증하기 위한 일 예시도를 나타낸 것이다.
도 5는 본 발명의 방법에 의해 예측된 비트 오류율에 대한 일 예시도를 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 비트 반전 복호 알고리즘의 밀도 진화 장치에 대한 구성을 나타낸 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
LDPC 부호의 복호 알고리즘 중 합곱 알고리즘이나 최소합 알고리즘(min-sum algorithm)의 밀도 진화 기법에 대한 연구는 진행되어 왔으나 BF 알고리즘의 밀도 진화 기법에 관한 연구는 이루어지지 않고 있다. 합곱 알고리즘과 달리 BF 알고리즘의 경우 매 반복마다 변수노드에서 반전 함수값이 임계값보다 큰 비트를 반전시키기 때문에 각 변수노드들이 오류일 확률이 변수노드들마다 동일하지 않고 독립적이지 않다는 점이 존재한다. BF 알고리즘에서 변수노드와 검사노드가 주고 받는 메시지는 비트 값과 신드롬 값이므로, 비트를 반전시키는 동작은 메시지의 확률 분포를 구하는 밀도 진화 기법에 대한 분석을 어렵게 만든다.
본 발명의 실시예들은, 정규 저밀도 패리티 검사(LDPC) 부호에서 경판정만이 입력인 비트 반전(BF) 복호 알고리즘의 밀도 진화 기법을 제공함으로써, 각 반복에서의 비트 오류율(BER)을 예측하는 것을 그 요지로 한다.
이 때, 본 발명은 변수노드의 비트 값과 반전 함수 값을 하나의 쌍으로 묶어 상태변수로 정의하고, 마코브 체인(Markov chain)을 이용하여 정규 LDPC부호에서 상태변수의 확률 분포를 매 반복마다 구함으로써, 상태변수의 확률 분포를 이용하여 BF 알고리즘에서 주고 받는 메시지인 비트 값의 확률 분포를 예측할 수 있으며, 각 반복의 상태변수의 확률 분포는 초기 상태변수의 확률 분포와 상태변수의 전이 확률(transition probability)를 통해 계산할 수 있다.
즉, 본 발명은 변수노드의 비트 값의 확률 분포를 구하는 대신 변수노드의 비트 값과 반전 함수값을 묶은 상태변수의 확률 분포를 마코브 체인 원리를 이용하여 유도하고, 각 반복에서의 상태변수의 확률 분포는 전이 확률과 초기 상태변수의 확률 분포를 통해서 획득하며, 이를 통해 각 반복에서의 비트 오류율을 예측할 수 있다.
이렇듯 본 발명은 마코브 체인이라는 수학 개념을 도입하여 비트 반전 알고리즘에서 주고받는 메시지인 비트 값과 비트를 반전시키는 여부를 결정하는 반전 함수를 묶어서 상태변수를 정의하여, 전이 확률 유도 및 초기 상태변수 확률 유도를 통하여 밀도 진화 기법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 비트 반전 복호 알고리즘의 밀도 진화 방법에 대한 동작 흐름도를 나타낸 것이다.
도 1을 참조하면, 본 발명의 실시예에 따른 방법은 변수노드의 비트 값과 반전 함수값을 묶은 상태변수를 정의하고, 이렇게 정의된 상태변수의 확률 분포를 정규 LDPC 부호에서 매 구간마다 계산한다(S110, S120).
이 때, 단계 S120은 마코브 체인(Markov chain)을 이용하여 상태변수의 확률 분포를 계산할 수 있으며, 초기 상태변수의 확률 분포와 상태변수의 전이 확률을 이용하여 상태변수의 확률 분포를 계산할 수 있다.
여기서, 상태변수의 전이 확률은 BF 복호 알고리즘에서 주고 받는 메시지인 비트 값이 다음 반복에서 뒤집힐 확률, 변수노드의 비트 값이 다음 반복에서 뒤집히지 않은 경우 변수노드와 연결된 검사노드 중 하나의 상태가 바뀔 확률과 변수노드의 비트 값이 다음 반복에서 뒤집히는 경우 변수노드와 연결된 검사노드 중 하나의 상태가 바뀌지 않을 확률에 기초하여 계산될 수 있다.
단계 S120에 의해 상태변수의 확률 분포가 계산되면, 계산된 상태변수의 확률 분포를 이용하여 BF 복호 알고리즘에서 주고 받는 메시지인 비트 값의 확률 분포를 예측하고, 예측된 비트 값의 확률 분포에 기초하여 각 반복에서의 비트 오류율(BER)을 예측한다(S130, S140).
이러한 본 발명의 방법에 대해 도 2 내지 도 5를 참조하여 상세히 설명한다.
각 반복에서의 상태변수의 확률 분포는 마코브 체인(Markov chain)과 같이 이전 반복에서의 상태변수의 확률 분포에만 영향을 받기 때문에 초기 상태변수의 확률 분포와 전이 확률에 의해서 결정된다. 먼저, 상태변수의 정의는 다음과 같다.
상태변수의 정의: 임의의 l번째 반복에서의 변수노드의 비트 값과 변수노드에서의 반전 함수값을 묶어서 아래 <수학식 6>과 같이 상태변수
Figure 112020033968814-pat00008
로 정의할 수 있다.
Figure 112020033968814-pat00009
여기서, Z(l)은 0 또는 1값을 가지며 0인 경우 변수노드가 오류가 없는 노드를 의미하며 1인 경우에는 변수노드가 오류인 노드를 의미하고, E(l)은 상기 수학식3에서 정의한 변수노드에서 계산한 반전 함수 값을 의미하며,
Figure 112020033968814-pat00010
의 원소일 수 있다.
초기 상태변수의 확률 분포: l=0에서의 상태변수의 확률 분포는 아래 <수학식 7>과 같이 나타낼 수 있다.
Figure 112020033968814-pat00011
여기서, ε은 이진 대칭 채널(binary symmetric channel, BSC)에서 교차 확률(cross-over probability)을 의미하고, 상태변수 ψ가 (β, φ)일 때 확률을 구한 것 이다.
전이 확률의 정의와 l번째 반복에서의 상태변수의 확률 분포: l-1번째 반복에서의 상태변수가 주어져 있을 때, l번째 반복에서의 상태로 변할 확률을 l번째 전이 확률이라고 부르고 아래 <수학식 8>과 같이 나타낼 수 있다.
Figure 112020033968814-pat00012
여기서,
Figure 112020033968814-pat00013
Figure 112020033968814-pat00014
의 원소를 의미할 수 있다.
l번째 전이 확률, l-1번째 상태변수의 확률식을 이용하여 l번째 상태변수의 확률식을 아래 <수학식 9>와 같이 구할 수 있다.
Figure 112020033968814-pat00015
전이 확률 유도과정: 각 반복에서의 전이 확률
Figure 112020033968814-pat00016
을 유도하기 위해서는 수학적인 모델링을 단순화 하기 위한 기본적인 가정 몇 개와 보조적인 확률식 2개가 필요하다. 기본적인 가정은 다음과 같다.
1. 먼저, 전송된 부호어 벡터는 영벡터(zero vector)라고 가정한다.
2. 불만족 검사노드(unsatisfied checknode)와 이웃한 변수노드들 중 하나에만 오류가 발생했다고 가정한다.
3. 만족 검사노드(satisfied checknode)와 이웃한 변수노드들은 오류가 나지 않았거나 오류가 2개만 발생했다고 가정한다.(상황에 따라 결정하는데 보조적인 확률식 유도에 활용된다.)
상기 가정들을 활용하여 전이 확률 유도에 필요한 보조적인 확률식 qb ,s (l), rb,s (l)을 정의한다. qb ,s (l)는 l번째 반복에서 임의의 변수노드의 비트 값 Z(l)이 b이고 연결된 검사노드에서의 신드롬값 중 하나인 S(l)이 s라고 주어져 있을 때 이 변수노드에서의 반전 함수값 E(l)이 임계값 θ(l)을 넘어서 비트 값이 다음 반복에서 뒤집힐 확률을 의미한다.
rb ,s (l)는 l번째 반복에서 두가지 다른 사건의 확률을 의미한다. 먼저, 어떤 변수노드의 비트 값이 다음 반복에서 뒤집히지 않을 때, 그 변수노드와 연결된 검사노드 중 하나의 상태가 다음 반복에서 불만족에서 만족, 혹은 만족에서 불만족으로 바뀔 확률을 의미한다. 두번째로, 어떤 변수노드의 비트 값이 다음 반복에서 뒤집힐 때, 검사노드 중 하나의 상태가 다음 반복에서 바뀌지 않을 확률을 의미한다. 주어진 변수노드의 상태(오류노드 또는 정상노드)가 같은 경우, 이 두 사건이 발생할 확률은 같기 때문에 하나의 확률 rb ,s (l)로 표시할 수 있다.
도 2는 수학식 rb ,s (l)를 설명하기 위한 일 예시도를 나타낸 것으로, 도 2에 도시된 바와 같이, 변수노드의 상태가 이전 반복에서 오류가 아니고 즉, Z(l)=0이고, 변수노드와 연결된 검사노드 중 하나가 이전 반복에서 만족 즉, 신드롬 S(l)=0이므로, 이는 r0,0 (l)을 의미한다.
상술한 rb ,s (l)에서 주어진 변수노드의 비트 값이 다음 반복에서 뒤집히지 않을 때, 그 변수노드와 연결된 검사노드 중 하나의 상태가 다음 반복에서 만족에서 불만족으로 바뀔 확률과 어떤 변수노드의 비트 값이 다음 반복에서 뒤집힐 때, 검사노드 중 하나의 상태가 다음 반복에서 바뀌지 않을 확률이 같다는 사실을 도 2를 통해 알 수 있다. 변수노드의 상태가 이전 반복에서 오류가 아니고 즉, Z(l)=0이고, 변수노드와 연결된 검사노드 중 하나가 이전 반복에서 불만족 즉, 신드롬 S(l)=1일 때(r0,1 (l))와 변수노드의 상태가 이전 반복에서 오류일 때(r0 ,1 (l)) 비슷한 원리로 설명할 수 있다.
보조적인 확률식 qb ,s (l), rb ,s (l)은 아래 <수학식 10> 및 <수학식 11>과 같이 확률식으로 나타낼 수 있다.
Figure 112020033968814-pat00017
Figure 112020033968814-pat00018
여기서, qb ,s (l), rb ,s (l)에서 Z(l)은 주어진 변수노드의 상태가 이전 반복에서 오류인지 아닌지 나타내는 변수를 의미하고, S(l)은 변수노드와 연결된 검사노드 중 하나가 이전 반복에서 불만족인지 만족인지 나타내는 변수를 의미할 수 있다. 이 때, Z(l)은 변수노드의 상태가 이전 반복에서 오류인 경우 Z(l)=1이고, 오류가 아닌 경우 Z(l)=0일 수 있으며, S(l)은 이전 반복에서 불만족인 경우 신드롬 S(l)=1이고, 이전 반복에서 만족인 경우 신드롬 S(l)=0일 수 있다.
qb ,s (l)는 l번째 반복에서의 상태변수의 확률식으로 나타낼 수 있으며, 아래 <수학식 12>와 같이 나타낼 수 있다.
Figure 112020033968814-pat00019
rb ,s (l)는 qb ,s (l)에 관한 확률식으로 나타낼 수 있고, 아래 <수학식 13>과 같이 나타낼 수 있다.
Figure 112020033968814-pat00020
전이 확률을 유도하기 위해 필요한 이항분포의 확률 분포식 φ(k,n,p)은 아래 <수학식 14>와 같이 나타낼 수 있다.
Figure 112020033968814-pat00021
l번째 반복에서의 전이 확률
Figure 112020033968814-pat00022
은 rb ,s (l)에 관한 확률식으로 표현 가능하며 φ'값의 범위에 따라 2가지 경우로 나눌 수 있다.
Figure 112020033968814-pat00023
Figure 112020033968814-pat00024
인 경우 아래 <수학식 15>와 같이 나타낼 수 있고,
Figure 112020033968814-pat00025
인 경우 아래 <수학식 16>과 같이 나타낼 수 있다.
Figure 112020033968814-pat00026
Figure 112020033968814-pat00027
도 3은 전이 확률을 설명하기 위한 일 예시도를 나타낸 것으로, 상기 수학식 16에서 이전 반복의 반전함수 값의 범위가
Figure 112020033968814-pat00028
이고 변수노드의 상태가 이전 반복에서 오류가 일 때 즉,
Figure 112020033968814-pat00029
Z(l)=1일 때
Figure 112020033968814-pat00030
을 나타낸 것이다.
도 2에 도시된 바와 같이, 이전 반복에서 오류가 발생한 변수노드와 연결된 φ'개의 불만족 검사노드들과 dv-φ'개의 만족 검사노드들이 다음 반복에서 변수노드의 오류가 고쳐지면서 φ개의 불만족 검사노드들과 dv-φ개의 만족 검사노드들로 바뀐다. 이를 위해서는 오류가 발생한 변수노드와 연결된 φ'개의 불만족 검사노드들과 dv-φ'개의 만족 검사노드들 중에서 각각 다음 반복에서 k개, φ-φ'+k개
Figure 112020033968814-pat00031
가 만족 검사노드, 불만족 검사노드로 바뀌어야 한다. 그 확률을 표현한 것이
Figure 112020033968814-pat00032
이고, k는 0부터 φ'까지 변할 수 있으므로, 이에 대한 확률을 전부 더하여 준 것이 상기 수학식 16이다. 변수노드의 상태가 이전 반복에서 오류가 아닐 때 즉, Z(l)=0일 때와 반전함수 값의 범위가
Figure 112020033968814-pat00033
일 때도 비슷한 원리로 설명할 수 있다.
각 반복에서의 상태변수의 확률 분포를 통한 오류율 예측: 각 반복에서의 오류율 예측은 신뢰할 수 있는 통신(reliable communication)이 가능하게 하는 채널 잡음의 임계값을 대략적으로 구할 수 있게 한다. l번째 반복에서 오류율 Pe (l)을 구하는 확률식은 주어진 변수노드의 상태가 이전 반복에서 오류일 때 즉, Z(l)=1일 때 상태변수의 확률을 모든 반전 함수값에 대해서 다 더한값이므로 아래 <수학식 17>과 같이 나타낼 수 있다.
Figure 112020033968814-pat00034
도 4는 본 발명의 방법을 통해 유도된 상태변수의 확률 분포를 검증하기 위한 일 예시도를 나타낸 것으로, 도 4a는 본 발명이 방법에 의해 도출된 상태변수의 확률식을 이용하여 구한 결과를 나타낸 것이고, 도 4b는 통계적으로 구한 결과를 나타낸 것이다.
도 4는 유도한 상태변수의 확률 분포를 검증하기 위하여, Q=128, 코드길이 N=16384, dv=4, dc=8인 QC LDPC의 부호어(codeword) 200개를 교차 확률 ε=4.0×10-2인 이진대칭채널에 통과시켜서 나온 결과를 통하여
Figure 112020033968814-pat00035
을 통계적으로 구한 결과(b)와 본 발명에서 제안한 상태변수의 확률식으로 유도하여 구한 결과(a)를 반복 l=2에서 비교한 것으로, 도 4를 통해 알 수 있듯이 두 비교 결과가 비슷한 것을 알 수 있고, 이를 통해 본 발명의 밀도 진화 기법으로 구한 상태변수의 확률식이 실제 비트 반전 알고리즘의 상태변수의 확률 분포를 잘 예측하고 있다는 것을 알 수 있다.
도 5는 본 발명의 방법에 의해 예측된 비트 오류율에 대한 일 예시도를 나타낸 것으로, 각 반복에서의 비트 오류율 Pe (l)을 실험결과(empirical result)와 본 발명의 방법에 의한 결과(density evolution)를 비교하여 나타낸 것이다.
도 5는 본 발명에서 유도된 상태변수의 확률분포가 실제 오류율을 얼마나 잘 예측하는지 검증하기 위하여, 실험에는 Q=128, 코드길이 N=16384, dv=4, dc=8인 QC LDPC의 부호어 200개를 교차 확률 ε=4.0×10-2인 이진대칭채널에 통과시켜서 나온 결과와 Q=128, 코드길이 N=16384, dv=3, dc=6인 QC LDPC의 부호어 200개를 교차 확률 ε=3.5×10-2인 이진대칭채널에 통과시켜서 나온 결과를 사용하여 평균 오류율을 구한 것으로, 도 5를 통해 알 수 있듯이 본 발명의 방법을 통해 예측 또는 유도된 비트 오류율이 실제 평균 비트 오류율과 비슷하다는 것을 알 수 있으며, 이를 통해 본 발명의 방법이 실제 비트 오류율을 잘 예측하고 있다는 것을 알 수 있다.
이와 같이, 본 발명의 실시예에 따른 방법은 정규 저밀도 패리티 검사(LDPC) 부호에서 경판정만이 입력인 BF 복호 알고리즘의 밀도 진화 기법을 제공함으로써, 각 반복에서의 비트 오류율(bit error rate, BER)을 예측할 수 있으며, 이를 통해 정규 LDPC 부호에서 BF 알고리즘의 신뢰할 수 있는 통신이 가능하게 하는 채널 잡음의 임계값 예측할 수 있다.
또한, 본 발명의 실시예에 따른 방법은 정규 LDPC 부호의 BF 알고리즘 뿐만 아니라 비정규 LDPC 부호의 BF 알고리즘에 대한 밀도 진화 기법으로도 적용할 수 있다.
이러한 본 발명의 실시예에 따른 방법은 BF 알고리즘이 사용되는 대역폭이 제한된 무선통신 시스템이나 저장용량이 제한된 NAND 플래시 메모리와 같은 저장매체에 효율적인 정보전송을 가능하게 하고 저장 효율성을 높일 수 있다.
도 6은 본 발명의 일 실시예에 따른 비트 반전 복호 알고리즘의 밀도 진화 장치에 대한 구성을 나타낸 것으로, 도 1 내지 도 5의 방법을 수행하는 장치에 대한 개념적인 구성을 나타낸 것이다.
도 6을 참조하면, 본 발명의 실시예에 따른 장치(600)는 정의부(610), 계산부(620) 및 예측부(630)를 포함한다.
정의부(610)는 변수노드의 비트 값과 반전 함수값을 묶은 상태변수를 정의한다.
계산부(620)는 정의된 상태변수의 확률 분포를 정규 LDPC 부호에서 매 구간마다 계산한다.
이 때, 계산부(620)는 마코브 체인(Markov chain)을 이용하여 상태변수의 확률 분포를 계산할 수 있으며, 초기 상태변수의 확률 분포와 상태변수의 전이 확률을 이용하여 상태변수의 확률 분포를 계산할 수 있다.
여기서, 상태변수의 전이 확률은 BF 복호 알고리즘에서 주고 받는 메시지인 비트 값이 다음 반복에서 뒤집힐 확률, 변수노드의 비트 값이 다음 반복에서 뒤집히지 않은 경우 변수노드와 연결된 검사노드 중 하나의 상태가 바뀔 확률과 변수노드의 비트 값이 다음 반복에서 뒤집히는 경우 변수노드와 연결된 검사노드 중 하나의 상태가 바뀌지 않을 확률에 기초하여 계산될 수 있다.
예측부(630)는 계산된 상태변수의 확률 분포를 이용하여 BF 복호 알고리즘에서 주고 받는 메시지인 비트 값의 확률 분포를 예측하고, 예측된 비트 값의 확률 분포에 기초하여 각 반복에서의 비트 오류율(BER)을 예측한다.
비록, 도 6의 장치에서 그 설명이 생략되었더라도, 도 6을 구성하는 각 구성 수단은 도 1 내지 도 5의 방법에서 설명한 모든 내용을 포함할 수 있으며, 이는 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법에 있어서,
    변수노드의 비트 값과 반전 함수값을 묶은 상태변수의 확률 분포를 계산하는 단계; 및
    상기 상태변수의 확률 분포를 이용하여 각 반복에서의 비트 오류율을 예측하는 단계
    를 포함하는 비트 반전 알고리즘의 밀도 진화 방법.
  2. 제1항에 있어서,
    상기 비트 오류율을 예측하는 단계는
    상기 상태변수의 확률 분포를 이용하여 상기 비트 반전 복호 알고리즘에서 주고 받는 메시지인 비트 값의 확률 분포를 예측하는 단계; 및
    상기 예측된 비트 값의 확률 분포에 기초하여 상기 각 반복에서의 비트 오류율을 예측하는 단계
    를 포함하는 것을 특징으로 하는 비트 반전 알고리즘의 밀도 진화 방법.
  3. 제1항에 있어서,
    상기 상태변수의 확률 분포를 계산하는 단계는
    마코브 체인(Markov chain)을 이용하여 상기 상태변수의 확률 분포를 계산하는 것을 특징으로 하는 비트 반전 알고리즘의 밀도 진화 방법.
  4. 제1항에 있어서,
    상기 상태변수의 확률 분포를 계산하는 단계는
    초기 상태변수의 확률 분포와 상기 상태변수의 전이 확률을 이용하여 상기 상태변수의 확률 분포를 계산하는 것을 특징으로 하는 비트 반전 알고리즘의 밀도 진화 방법.
  5. 제4항에 있어서,
    상기 상태변수의 전이 확률은
    상기 비트 반전 복호 알고리즘에서 주고 받는 메시지인 비트 값이 다음 반복에서 뒤집힐 확률, 변수노드의 비트 값이 다음 반복에서 뒤집히지 않은 경우 상기 변수노드와 연결된 검사노드 중 하나의 상태가 바뀔 확률과 상기 변수노드의 비트 값이 다음 반복에서 뒤집히는 경우 상기 변수노드와 연결된 검사노드 중 하나의 상태가 바뀌지 않을 확률에 기초하여 계산되는 것을 특징으로 하는 비트 반전 알고리즘의 밀도 진화 방법.
  6. 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 장치에 있어서,
    변수노드의 비트 값과 반전 함수값을 묶은 상태변수의 확률 분포를 계산하는 계산부; 및
    상기 상태변수의 확률 분포를 이용하여 각 반복에서의 비트 오류율을 예측하는 예측부
    를 포함하는 비트 반전 알고리즘의 밀도 진화 장치.
  7. 제6항에 있어서,
    상기 예측부는
    상기 상태변수의 확률 분포를 이용하여 상기 비트 반전 복호 알고리즘에서 주고 받는 메시지인 비트 값의 확률 분포를 예측하고, 상기 예측된 비트 값의 확률 분포에 기초하여 상기 각 반복에서의 비트 오류율을 예측하는 것을 특징으로 하는 비트 반전 알고리즘의 밀도 진화 장치.
  8. 제6항에 있어서,
    상기 계산부는
    마코브 체인(Markov chain)을 이용하여 상기 상태변수의 확률 분포를 계산하는 것을 특징으로 하는 비트 반전 알고리즘의 밀도 진화 장치.
  9. 제6항에 있어서,
    상기 계산부는
    초기 상태변수의 확률 분포와 상기 상태변수의 전이 확률을 이용하여 상기 상태변수의 확률 분포를 계산하는 것을 특징으로 하는 비트 반전 알고리즘의 밀도 진화 장치.
  10. 제9항에 있어서,
    상기 상태변수의 전이 확률은
    상기 비트 반전 복호 알고리즘에서 주고 받는 메시지인 비트 값이 다음 반복에서 뒤집힐 확률, 변수노드의 비트 값이 다음 반복에서 뒤집히지 않은 경우 상기 변수노드와 연결된 검사노드 중 하나의 상태가 바뀔 확률과 상기 변수노드의 비트 값이 다음 반복에서 뒤집히는 경우 상기 변수노드와 연결된 검사노드 중 하나의 상태가 바뀌지 않을 확률에 기초하여 계산되는 것을 특징으로 하는 비트 반전 알고리즘의 밀도 진화 장치.
KR1020200039632A 2020-04-01 2020-04-01 정규 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법 및 그 장치 KR102186741B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200039632A KR102186741B1 (ko) 2020-04-01 2020-04-01 정규 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200039632A KR102186741B1 (ko) 2020-04-01 2020-04-01 정규 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR102186741B1 true KR102186741B1 (ko) 2020-12-04

Family

ID=73776778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200039632A KR102186741B1 (ko) 2020-04-01 2020-04-01 정규 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102186741B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110082032A (ko) * 2008-10-03 2011-07-15 톰슨 라이센싱 이진 소거 서로게이트 채널을 이용하여 awgn 채널 조건 하에서 비트 인터리버를 ldpc 코드와 변조에 적용하기 위한 방법 및 장치
KR20120053122A (ko) * 2010-11-17 2012-05-25 한국과학기술원 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체
KR20140145978A (ko) * 2013-06-14 2014-12-24 삼성전자주식회사 Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110082032A (ko) * 2008-10-03 2011-07-15 톰슨 라이센싱 이진 소거 서로게이트 채널을 이용하여 awgn 채널 조건 하에서 비트 인터리버를 ldpc 코드와 변조에 적용하기 위한 방법 및 장치
KR20120053122A (ko) * 2010-11-17 2012-05-25 한국과학기술원 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체
KR20140145978A (ko) * 2013-06-14 2014-12-24 삼성전자주식회사 Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법

Similar Documents

Publication Publication Date Title
US10511326B2 (en) Systems and methods for decoding error correcting codes
US11296725B2 (en) Method employed in LDPC decoder and the decoder
US11115051B2 (en) Systems and methods for decoding error correcting codes
US9866241B2 (en) Techniques for adaptive LDPC decoding
JP4702632B2 (ja) 符号化方法および符号化装置、並びにプログラム
US20160336964A1 (en) Systems and methods for early exit of layered ldpc decoder
US20200162108A1 (en) Ldpc decoder, semiconductor memory system, and operating method thereof
Amiri et al. Analysis and enumeration of absorbing sets for non-binary graph-based codes
US10715182B2 (en) Systems and methods for decoding error correcting codes with self-generated LLR
US11108407B1 (en) Performance of a bit flipping (BF) decoder of an error correction system
US10574274B2 (en) Systems and methods for decoding error correcting codes
US11381253B1 (en) Decoding codeword based on higher order information
US20170294923A1 (en) Optimization of low density parity-check code encoder based on a search for an independent set of nodes
Hatami et al. A threshold-based min-sum algorithm to lower the error floors of quantized LDPC decoders
JP2013098793A (ja) 半導体メモリ装置および復号方法
US20130091399A1 (en) High-speed long codeword qc-ldpc soft decision decoder
Marelli et al. BCH and LDPC error correction codes for NAND flash memories
US11444638B2 (en) Quality-based dynamic scheduling LDPC decoder
KR102186741B1 (ko) 정규 저밀도 패리티 검사부호의 비트 반전 복호 알고리즘의 밀도 진화 방법 및 그 장치
Cochachin et al. Density evolution thresholds for noise-against-noise min-sum decoders
CN116582135A (zh) 通过识别不可靠校验节点提高bf解码器的错误平层性能
US9548764B1 (en) Memory efficient decoders for low-density parity-check codes
US11251810B2 (en) Low-density parity-check decoding with desaturation
US11218166B1 (en) Early convergence for decoding of LDPC codes
US20240146330A1 (en) Soft decision-based low-complexity decoding method and computing device for performing the method

Legal Events

Date Code Title Description
GRNT Written decision to grant