KR20150121966A - 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 - Google Patents

저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 Download PDF

Info

Publication number
KR20150121966A
KR20150121966A KR1020140048251A KR20140048251A KR20150121966A KR 20150121966 A KR20150121966 A KR 20150121966A KR 1020140048251 A KR1020140048251 A KR 1020140048251A KR 20140048251 A KR20140048251 A KR 20140048251A KR 20150121966 A KR20150121966 A KR 20150121966A
Authority
KR
South Korea
Prior art keywords
node
variable
check
variable node
nodes
Prior art date
Application number
KR1020140048251A
Other languages
English (en)
Other versions
KR101599336B1 (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 KR1020140048251A priority Critical patent/KR101599336B1/ko
Priority to US14/537,571 priority patent/US9503124B2/en
Publication of KR20150121966A publication Critical patent/KR20150121966A/ko
Application granted granted Critical
Publication of KR101599336B1 publication Critical patent/KR101599336B1/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/1131Scheduling of bit node or check node processing
    • 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)
  • Error Detection And Correction (AREA)

Abstract

저밀도 패리티 검사 코드(LDPC)의 복호화 방법이 개시된다. 본 발명의 일 실시예에 따른 저밀도 패리티 검사 코드의 복호화 방법은 복수의 체크 노드와 복수의 변수 노드에 대한 초기화 과정, 체크 노드 갱신 과정, 변수 노드 갱신 과정, 시험 복호화 과정 및 패리티 검사 과정을 포함하는 저밀도 패리티 검사 코드(LDPC)의 복호화 방법을 포함하고, 상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 단계를 더 포함한다. 이때, 상기 변수 노드 갱신 과정은 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고, 상기 체크 노드 갱신 과정은 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행한다.

Description

저밀도 패리티 검사 코드의 복호화 방법 및 그 장치{Method and Apparatus for decoding Low-Density Parity-Check code}
본 발명은 복호화 연산에 관한 것으로, 특히 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치에 관한 것이다.
최근 통신 기술이 급속도로 발전함에 따라 보다 높은 효율을 얻을 수 있는 부호화를 요구하게 되면서 저밀도 패리티 검사 코드(Low-Density Parity-Check code:LDPC)가 새로운 대안으로 떠오르고 있다.
LDPC 부호화는 순방향 오류 정정 기술 중 터보 부호화와 함께 Shannon에 의해 발표된 채널 용량의 한계에 가장 근접하는 오류 정정 능력을 보이며 현재 Wi-fi(IEEE 802.11n, 802.11ac), Wigig(IEEE 802.11ad), 10Gbase-T Ethernet(802.3an) 등의 최신 통신 시스템 표준에 채택되어 사용되고 있으며 차세대 순방향 오류 정정 부호화로 채택이 활발히 논의되고 있다.
하지만, LDPC 부호화는 높은 오류 정정 능력에도 불구하고 복호화시에 요구되는 연산량이 많아 연산 복잡도를 줄이기 위한 효율적인 복호화 방법에 대한 필요성이 대두되고 있다.
본 발명의 목적은 비트 에러율(Bit Error Ratio) 성능의 저하는 최소화하면서도 연산 복잡도는 줄일 수 있는 LDPC 복호화 방법 및 그 장치를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 복수의 체크 노드와 복수의 변수 노드에 대한 초기화 과정, 체크 노드 갱신 과정, 변수 노드 갱신 과정, 시험 복호화 과정 및 패리티 검사 과정을 포함하는 저밀도 패리티 검사 코드(LDPC)의 복호화 방법은 상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 단계를 더 포함하고, 상기 변수 노드 갱신 과정은 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고, 상기 체크 노드 갱신 과정은 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행한다.
바람직하게는, 상기 체크 노드 갱신 과정은 상기 체크 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드를 이용하여 수행될 수 있다.
바람직하게는, 상기 변수 노드 갱신 과정은 상기 변수 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드에 대해서만 수행될 수 있다.
바람직하게는, 상기 체크 노드 갱신 과정은 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 갱신할 때, 상기 비활성 변수 노드 및 상기 j번째 변수 노드를 제외한 상기 활성 변수 노드들만을 이용하여 상기 체크-변수 메시지를 갱신할 수 있다.
바람직하게는, 상기 체크 노드 갱신 과정은 하기의 (수학식 9)에 의거하여 상기 체크 노드 갱신을 수행할 수 있다. .
(수학식 9)
Figure pat00001
이때,
Figure pat00002
는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고,
Figure pat00003
는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
Figure pat00004
는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
Figure pat00005
는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고,
Figure pat00006
는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타낸다.
바람직하게는, 상기 적어도 하나의 비활성 변수 노드를 검출하는 단계는 강제 수렴(Forced convergence)조건 만족 여부에 기초하여 수행될 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 복수의 체크 노드와 복수의 변수 노드에 대한 초기화를 수행하는 초기화부, 체크 노드 갱신을 수행하는 체크노드갱신부, 변수 노드 갱신을 수행하는 변수노드갱신부, 시험 복호화를 수행하는 시험복호화부 및 패리티 검사를 수행하는 패리티검사부를 포함하는 저밀도 패리티 검사 코드(LDPC)의 복호화 장치는 상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 비활성노드검출부를 더 포함하고, 상기 변수노드갱신부는 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고, 상기 체크노드갱신부는 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행한다.
바람직하게는, 상기 체크노드갱신부는 상기 체크 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드를 이용하여 상기 체크 노드 갱신을 수행할 수 있다.
바람직하게는, 상기 변수노드갱신부는 상기 변수 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드에 대해서만 상기 변수 노드 갱신을 수행할 수 있다.
바람직하게는, 상기 체크노드갱신부는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 갱신할 때, 상기 비활성 변수 노드 및 상기 j번째 변수 노드를 제외한 상기 활성 변수 노드들만을 이용하여 상기 체크-변수 메시지를 갱신할 수 있다.
바람직하게는, 상기 체크노드갱신부는 하기의 (수학식 9)에 의거하여 상기 체크 노드 갱신을 수행할 수 있다.
(수학식 9)
Figure pat00007
이때,
Figure pat00008
는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고,
Figure pat00009
는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
Figure pat00010
는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
Figure pat00011
는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고,
Figure pat00012
는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타낼 수 있다.
바람직하게는, 상기 비활성노드검출부는 강제 수렴 조건 만족 여부에 기초하여 상기 적어도 하나의 비활성 변수 노드를 검출할 수 있다.
본 발명의 일 실시예에 따르면 비활성화된 변수 노드들을 고려하여 체크 노드를 부분적으로 비활성화시켜 체크 노드 갱신에 필요한 연산량을 줄임으로써, 비트 에러율(Bit Error Ratio) 성능의 저하는 최소화하면서도 LDPC 복호화 연산량은 줄일 수 있게 되는 효과가 있다.
도 1은 종래의 최소합 알고리즘에 따른 LDPC 복호화 방법을 설명하기 위하여 도시한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 LDPC 복호화 방법을 설명하기 위하여 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 체크 노드 갱신 방법을 설명하기 위하여 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 LDPC 복호화 장치를 설명하기 위하여 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 종래의 최소합 알고리즘에 따른 LDPC 복호화 방법을 설명하기 위하여 도시한 흐름도이다.
이때, LDPC 복호화 방법은 패리티 검사 행렬 H와 태너 그래프를 이용해서 수행되며, 패리티 검사 행렬 H는 태너 그래프로 표현될 수 있다. 패리티 검사 행렬에서의 행의 수만큼의 체크 노드들이 만들어지고, 열의 개수만큼의 변수 노드들이 만들어져 태너 그래프를 형성한다. 만일 행렬의 (i,j) 원소가 1이면 i번째 체크 노드가 j번째 변수 노드와 에지로 연결되어 서로 이웃하는 노드들이 된다.
단계 110에서는, 복호화 장치가 복수의 체크 노드(Check node)와 복수의 변수 노드(Variable node)에서 초기화를 수행한다.
보다 구체적으로는, 체크 노드에서는 수학식 1에 의해 초기화가 수행된다.
Figure pat00013
이때,
Figure pat00014
는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내며, 이 체크-변수 메시지의 초기 값을 0으로 설정함으로써 체크 노드를 초기화하게 된다.
다음으로, 변수 노드에서는 수학식 2에 의해 초기화가 수행된다.
Figure pat00015
Figure pat00016
는 j번째 변수 노드가 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내며, 이 체크-변수 메시지의 초기 값을
Figure pat00017
로 설정함으로써 변수 노드를 초기화하게 된다. 이때,
Figure pat00018
는 부가적인 백색 가우시안 잡음(Additive White Gaussian Noise:AWGN) 채널에서 입력 심볼의 확률 분포가 균일한 경우에 수학식 2에서와 같이 사후 확률(posterior probability)로서 유도되는데,
Figure pat00019
는 수신된 부호어의 j번째 비트에 해당하는 메시지 값을 나타내고,
Figure pat00020
는 잡음의 분산을 의미한다.
단계 120에서는, 복호화 장치가 체크 노드를 갱신한다.
보다 구체적으로는, 체크 노드는 수학식 3에 의해 갱신을 수행한다.
Figure pat00021
이때,
Figure pat00022
는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고,
Figure pat00023
는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
Figure pat00024
는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타낸다.
즉, 수학식 3에 따르면 첫번째 텀에 의하여 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드에서의 변수-체크 메시지들의 부호(sign)를 곱함으로써
Figure pat00025
의 부호(sign)가 음수 또는 양수로서 결정되고, 두번째 텀에 의하여 j번째 변수 노드를 제외한 나머지 변수 노드들에서 i번째 체크 노드에게 전달하는 변수-체크 메시지들
Figure pat00026
중에서 최소 값이
Figure pat00027
의 메시지 값이 된다.
단계 130에서는, 복호화 장치가 변수 노드를 갱신한다.
보다 구체적으로는, 변수 노드는 수학식 4에 의해 갱신을 수행한다.
Figure pat00028
이때,
Figure pat00029
는 j번째 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고,
Figure pat00030
는 변수-체크 메시지의 초기 값이고,
Figure pat00031
는 j번째 변수 노드와 연결된 i번째 체크 노드를 제외한 나머지 체크 노드의 집합을 나타내고,
Figure pat00032
는 i번째 체크 노드를 제외한 나머지 체크 노드들에서 j번째 변수 노드에게 전달하는 체크-변수 메시지들을 나타낸다.
즉, 수학식 4에 따르면
Figure pat00033
는 i번째 체크 노드를 제외한 나머지 체크 노드들에서 j번째 변수 노드에게 전달하는 체크-변수 메시지들
Figure pat00034
를 합산한 값과 변수-체크 메시지의 초기 값
Figure pat00035
를 합산함으로써 계산되고, 이를 통해 변수 노드는 갱신을 수행한다.
단계 140에서는, 복호화 장치가 시험 복호화를 통해 생성된 복호 값에 대해 판정을 수행한다.
보다 구체적으로는, 시험 복호화를 통해 생성된 시험 복호 값에 대해 판정하는 과정은 수학식 5와 수학식 6에 의하여 수행된다.
먼저, 시험 복호 값을 산출하는 과정은 수학식 5에 의하여 수행된다.
Figure pat00036
이때,
Figure pat00037
는 j번째 변수 노드에서 시험 복호화를 통해 생성된 시험 복호 값을 나타내고,
Figure pat00038
는 변수-체크 메시지의 초기 값이고,
Figure pat00039
는 j번째 변수 노드와 연결된 체크 노드의 집합을 나타낸다.
즉, 수학식 5에 따르면
Figure pat00040
는 모든 체크 노드들에서 j번째 변수 노드에게 전달하는 체크-변수 메시지들인
Figure pat00041
를 합산한 값과 변수-체크 메시지의 초기 값
Figure pat00042
를 합산함으로써 얻을 수 있게 된다.
다음으로, 시험 복호 값
Figure pat00043
에 대한 판정은 수학식 6에 의하여 수행된다.
Figure pat00044
이때,
Figure pat00045
는 시험 복호 값에 대한 판정 결과 값을 나타내고, 판정 결과 값
Figure pat00046
는 시험 복호 값
Figure pat00047
의 부호(sign)가 음수인지 양수인지에 기초하여 값이 결정된다.
단계 150에서는, 복호화 장치가 패리티 검사를 수행하여 복호화 중단 조건을 만족하는지 여부를 판단한다.
보다 구체적으로는, 패리티 검사는 수학식 7에 의하여 수행된다.
Figure pat00048
즉, 수학식 7에 따르면 판정 결과 값
Figure pat00049
와 패리티 검사 행렬 H를 트랜스 포즈한 행렬인
Figure pat00050
을 곱한 값인
Figure pat00051
가 0인지 여부를 판단함으로서 복호화 중단 조건 만족여부를 판단하게 된다.
만일, 복호화 중단 조건이 만족되지 않았다고 판단되는 경우에는 단계 120의체크 노드 갱신(Check Node Update:CNU)단계로 돌아가 체크 노드 갱신 단계와 변수 노드 갱신(Variable Node Update:VNU)단계를 다시 수행하게 된다.
단계 160에서는, 복호화 장치가 패리티 검사를 통해 복호화 중단 조건을 만족하는 것으로 판단되면, 체크 노드 갱신 및 변수 노드 갱신을 포함하는 복호화 연산을 중단한다.
종래의 최소합 알고리즘에 따른 LDPC 복호화 방법은 도 1에서 설명한 바와 같이 복호화 중단 조건이 만족되지 않는 경우에는 복호화 중단 조건이 만족될때까지 체크 노드 유닛 갱신 및 변수 노드 유닛 갱신을 지속적으로 수행해야 하므로 연산량이 매우 높아지는 문제가 있었다.
도 2는 본 발명의 일 실시예에 따른 LDPC 복호화 방법을 설명하기 위하여 도시한 흐름도이다.
단계 210에서는, 복호화 장치가 복수의 체크 노드와 복수의 변수 노드에서 초기화를 수행한다.
단계 210에서 수행되는 체크 노드와 변수 노드에 대한 초기화는 단계 110의 동작과 동일하므로 상세한 설명은 생략한다. 또한, 이하에서는 도 1과 동일한 동작에 대해서는 상세한 설명을 생략한다.
단계 220에서는, 복호화 장치가 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출한다.
보다 구체적으로는, 비활성 변수 노드의 검출은 수학식 8에 의하여 수행될 수 있다.
Figure pat00052
즉, 수학식 8에서 시험 복호 값
Figure pat00053
의 절대값은 수신된 부호어의 j번째 비트에 해당하는 메시지 값의 신뢰도를 나타내는데, 그 부호어의 j번째 비트에 해당하는 메시지 값의 신뢰도가 임계치
Figure pat00054
이상이라면 강한 신뢰 값으로 수렴한 것으로 보고 j 번째 변수 노드를 비활성 변수 노드로서 검출하게 된다. 이와 같은 조건을 강제 수렴(Forced convergence) 조건이라고 하며,
Figure pat00055
가 임계치
Figure pat00056
이상이라면 강제 수렴 조건을 만족한 것으로 보고 j 번째 변수 노드를 비활성 변수 노드로서 검출하게 된다.
즉, 다수의 변수 노드들이 몇 번의 반복 복호 후에 강한 신뢰값으로 수렴한다는 사실을 이용하여 강한 신뢰값으로 수렴한 변수 노드들은 이미 복호가 완료된 것으로 간주하고 나머지 반복 복호에서는 해당 변수 노드들을 갱신하는 연산을 수행하지 않도록 비활성 노드로 설정하는 것이다.
다만, 체크 노드와 변수 노드에 대한 초기화가 수행된 직후에 비활성 변수 노드를 검출하는 경우에는, 아직 반복 복호가 수행되기 전이어서 비활성 변수 노드가 존재하지 않을 것이다.
단계 230에서는, 복호화 장치가 비활성 변수 노드를 이용하지 않고 체크 노드를 갱신한다.
보다 구체적으로는, 본 발명의 일 실시예에 따른 복호화 장치는 수학식 9에 의하여 체크 노드를 갱신한다.
Figure pat00057
이때,
Figure pat00058
는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고,
Figure pat00059
는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
Figure pat00060
는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
Figure pat00061
는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고,
Figure pat00062
는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타낸다.
즉, 수학식 9에 따르면 첫번째 텀에 의하여 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드에서의 변수-체크 메시지들의 부호(sign)를 곱함으로써
Figure pat00063
의 부호(sign)가 음수 또는 양수로서 결정되고, 두번째 텀에 의하여 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드들에서 i번째 체크 노드에게 전달하는 변수-체크 메시지들
Figure pat00064
중에서 최소 값이
Figure pat00065
의 메시지 값이 된다.
이때, 반복 복호 횟수가 증가하여 체크 노드 갱신과 변수 노드 갱신 횟수가 증가하게 되면, 강제 수렴 조건을 만족하는 비활성화된 변수 노드가 증가할 것이므로, 반복 복호 횟수가 증가할 때마다 점점 더 적은 개수의 활성 변수 노드를 이용하여 체크 노드 갱신이 이루어지게 되고, 결과적으로 반복 복호 횟수가 증가할 때마다 체크 노드 갱신에 따른 연산량은 줄어들게 된다.
종래 기술 중에는 체크 노드 갱신시의 연산량을 줄이기 위해 체크 노드에 대해서도 강제 수렴 조건 만족 여부를 판단하여, 강제 수렴 조건을 만족하는 체크 노드는 비활성 체크 노드로 설정하여 더 이상 체크 노드 갱신을 수행하지 않는 기법이 제안되었다. 이와 같이, 체크 노드와 변수 노드 모두가 강제 수렴 조건을 만족하는지 여부에 기초하여, 강제 수렴 조건을 만족하는 체크 노드와 변수 노드를 모두 비활성화시킴으로써 복호화 연산량을 줄이는 기법을 강제 수렴 기법이라고 한다.
종래의 강제 수렴 기법에서는 도 1의 최소합 알고리즘에서의 체크 노드 갱신 방법과 변수 노드 갱신 방법을 그대로 사용하되, 수학식 8에서와 같이 강제 수렴 조건 만족 여부를 판단하여 비활성 변수 노드를 검출하고, 비활성 체크 노드의 검출은 아래의 수학식 10에 의하여 수행한다.
Figure pat00066
즉, i번째 체크 노드 갱신에 이용되는 변수-체크 메시지들
Figure pat00067
중에서 최소 값을 가지는 변수-체크 메시지가 임계치
Figure pat00068
보다 큰 값을 가지게 되면 그 i번째 체크 노드를 비활성 체크 노드로 검출하여 더 이상 체크 노드 갱신을 수행하지 않게 된다. 만일, i번째 체크 노드가 수학식 10의 강제 수렴 조건을 만족하지 않으면 강제 수렴 조건을 만족할 때까지 체크 노드 갱신은 지속적으로 수행된다.
하지만, 이와 같은 종래의 강제 수렴 기법은 도 1의 최소합 알고리즘에 비해서 복호화 연산량이 줄어들기는 하지만, 아래의 표 1에서 확인할 수 있듯이 줄어드는 복호화 연산량이 극히 미미한 수준이어서 사실상 복호화 연산량이 줄어들었다고 보기 힘든 문제점이 있다.
tv SNR
2 dB 2.5 dB 3 dB 3.5 dB 4 dB
5 0% 0.002905% 0.009067% 0.015681% 0.013738
6 0% 0.000626% 0.000848% 0.001148% 0.001498
7 0% 0.000017% 0.000279% 0.000065% 0.00041%
표 1은 최대 반복 복호 횟수를 5회로 제한하였을 때, 체크 노드 갱신 연산에서
Figure pat00069
보다 큰
Figure pat00070
가 최소값으로 선택될 확률을 나타내었다. 표 1을 보면 SNR의 범위가 2dB 에서 4dB일 때, 선택 확률은 평균적으로
Figure pat00071
가 5일 경우는 0.0082782%,
Figure pat00072
가 6일 경우는 0.000824%,
Figure pat00073
가 7일 경우는 0.0000804%이다. 표 1의 각각의 조건에서 선택 확률들은 모두 약 0.01% 이하인 것을 확인할 수 있다. 따라서
Figure pat00074
를 초과하는
Figure pat00075
는 최소값으로 선택될 확률이 거의 없다는 것을 알 수 있다.
최소합 알고리즘에 강제 수렴 기법을 적용할 경우, 일반적으로 수학식 7의
Figure pat00076
와 수학식 10의
Figure pat00077
는 동일한 값을 사용한다.
Figure pat00078
를 초과하는
Figure pat00079
가 최소값으로 선택될 확률이 매우 낮다는 것은 체크 노드 갱신 연산의
Figure pat00080
의 최소값이
Figure pat00081
를 초과하는 경우가 거의 없다는 것을 의미한다. 이는 체크 노드의 비활성 여부를 판별하는 수학식 10의 강제 수렴 조건이 거의 만족되지 않는다는 것을 의미한다. 즉, 강제 수렴 기법은 최대 반복 복호 횟수가 적으면 비활성되는 체크 노드들의 개수가 적기 때문에 효과적으로 체크 노드들의 연산복잡도를 줄일 수 없다.
하지만, 본 발명의 일 실시예에서는 체크 노드의 비활성 여부를 판단하기 위한 별도의 강제 수렴 조건을 이용하지 않고, 체크 노드를 갱신할 때 수학식 9에 따라 비활성 변수 노드들을
Figure pat00082
의 최소값 후보에서 제외시키는 방식으로 체크 노드를 부분적으로 비활성화시킴으로써 체크 노드 갱신에 따른 연산량을 줄이게 된다. 이때, 체크 노드와 연결된 모든 변수 노드들이 비활성 변수 노드가 되면, 비로소 그 체크 노드가 비활성 체크 노드가 된다.
즉, 종래의 강제 수렴 기법에서는 체크 노드가 수학식 10의 강제 수렴 조건을 만족하여 비활성 체크 노드가 되기 전까지 그 체크 노드와 연결된 모든 변수 노드들을 이용하여 체크 노드 갱신 연산을 수행하여 연산량이 많지만, 본 발명의 일 실시예에 따르면 체크 노드 갱신 연산 횟수(반복 복호 횟수)가 증가함에 따라 비활성 변수 노드의 개수가 증가하게 되어, 체크 노드 갱신 연산에 이용되는 활성 변수 노드의 개수가 줄어들게 되고, 이에 따라 서서히 체크 노드 갱신 연산의 연산 복잡도가 줄어들게 되는 효과가 있다.
아래의 표 2를 참조하면, 종래의 최소합 알고리즘과 비교할 때, 종래의 강제 수렴 기법과 본 발명의 복호화 연산량 감소율을 알 수 있다.

알고리즘

(tv, tc)
SNR= 2dB SNR= 3dB SNR= 4dB
연산량
감소율
연산량
감소율
연산량
감소율
최소합
알고리즘
(-,-) - - -
강제 수렴 기법 (7, 7) 0% 0% 0.1%
본 발명 (7, -) 17.17% 29.49% 20.07%
표 2에서, 최소합 알고리즘은
Figure pat00083
Figure pat00084
를 모두 사용하지 않고, 강제 수렴 기법은
Figure pat00085
Figure pat00086
를 모두 이용하고, 본 발명은
Figure pat00087
만을 사용하는데,
Figure pat00088
Figure pat00089
는 각각 7, 7로 설정한 후 연산량 감소율을 비교하였다.
이에 기초하면, 강제 수렴 기법은 최소합 알고리즘과 비교할 때 연산량 감소가 거의 없는 것으로 분석되었고, SNR이 2dB, 3dB, 4dB인 경우에 본 발명은 최소합 알고리즘과 비교할 때 각각 17.17 %, 29.49%, 20.08%만큼 연산량 감소효과가 있음을 알 수 있다.
또한, 상기 조건하에서 최소합 알고리즘, 강제 수렴 기법, 본 발명의 비트 에러율(Bit Error Rate:BER) 성능을 비교한 결과, BER 성능은 상호간에 거의 차이가 없는 것으로 분석되어, 본 발명의 일 실시예에 따르면 BER 성능의 저하는 최소화하면서도 복호화 연산량 감소가 가능한 것을 알 수 있다.
단계 240에서는, 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 변수 노드 갱신을 수행한다.
이때, 변수 노드 갱신 횟수가 증가하면 비활성 변수 노드가 증가하게 되므로 활성 변수 노드의 개수는 줄어들게 되고, 변수 노드 갱신 횟수가 증가할 때마다 점점 더 적은 개수의 활성 변수 노드에 대해서만 변수 노드 갱신이 수행되므로 복호화 연산량이 줄어들게 된다.
다만, 체크 노드와 변수 노드에 대한 초기화가 수행된 직후에 비활성 변수 노드를 검출하는 경우에는, 아직 반복 복호가 수행되기 전이어서 비활성 변수 노드가 존재하지 않을 것이므로, 변수 노드 갱신 연산에서 제외되는 비활성 변수 노드도 존재하지 않게 될 것이다.
단계 250에서는, 복호화 장치가 시험 복호화를 통해 생성된 복호 값에 대해 판정을 수행한다.
단계 260에서는, 복호화 장치가 패리티 검사를 수행하여 복호화 중단 조건이 만족되었는지 여부를 판단한다.
만일, 복호화 중단 조건이 만족되지 않았다고 판단되는 경우에는 단계 220으로 돌아가 비활성 변수 노드 검출, 체크 노드 갱신, 변수 노드 갱신을 다시 수행하게 된다.
단계 270에서는, 복호화 장치가 패리티 검사를 통해 복호화 중단 조건을 만족하는 것으로 판단되면, 체크 노드 갱신 및 변수 노드 갱신을 포함하는 복호화 연산을 중단한다.
도 3은 본 발명의 일 실시예에 따른 체크 노드 갱신 방법을 설명하기 위하여 도시한 도면이다.
도 3에서 활성 변수 노드들인 j, l, m번째 변수 노드들은 원형 노드로 표시되고, k 번째 변수 노드는 비활성 변수 노드로 표시되고, i 번째 체크노드는 사각형 노드로 표시된다. 또한, 활성 변수 노드들인 j, l, m번째 변수 노드들과 i 번째 체크 노드는 실선 edge 선으로 연결되고, 비활성 변수 노드인 k 번째 변수 노드와 i 번째 체크 노드는 점선의 비활성 edge 선으로 연결되어 있다.
여기서,
Figure pat00090
,
Figure pat00091
,
Figure pat00092
,
Figure pat00093
은 체크 노드가 변수 노드에게 전달하는 체크-변수 메시지들이고,
Figure pat00094
,
Figure pat00095
,
Figure pat00096
,
Figure pat00097
은 변수 노드가 체크 노드에게 전달하는 변수-체크 메시지들이다.
도 3에서 비활성 변수 노드인 k 번째 변수 노드는 수학식 8에서와 같이
Figure pat00098
Figure pat00099
보다 커서 비활성 변수 노드로 결정되었다고 가정한다.
이때, 본 발명의 일 실시예에 따르면 체크 노드 갱신 연산의 결과값 중 하나인
Figure pat00100
는 l 번째 변수 노드에서 체크 노드에게 전달하는 변수-체크 메시지
Figure pat00101
, m 번째 변수 노드에서 체크 노드에게 전달하는 변수-체크 메시지
Figure pat00102
두 개만을 이용하여 계산된다. 이는, 체크 노드 갱신 연산은 수학식 9에 의해 수행되는데, j 번째 변수 노드에서 체크 노드에게 전달하는 변수-체크 메시지
Figure pat00103
와 비활성 변수 노드인 k 번째 변수 노드에서 체크 노드에게 전달하는 변수-체크 메시지
Figure pat00104
는 수학식 9에 의해서 체크 노드 갱신 연산에서 배제되는 값이기 때문이다.
한편, k번째 변수 노드는 비활성 변수 노드이기 때문에 변수 노드 갱신 연산이 필요 없고, 이에 따라 i 번째 체크 노드는 k번째 변수 노드의 변수 노드 갱신 연산에 필요한 체크-변수 메시지
Figure pat00105
를 연산할 필요가 없게 된다.
정리하면, 본 발명의 일 실시예에 따르면 비활성 변수 노드가 존재하게 되면, 그 비활성 변수 노드에 연결된 체크 노드는 그 비활성 변수 노드에게 전달할 체크-변수 메시지를 연산하지 않아도 되고, 그 체크 노드의 갱신 연산을 수행할 때에도 그 비활성 변수 노드에서 체크 노드에게 전달할 변수-체크 메시지는 고려할 필요가 없게 되므로, 복호화 연산량이 줄어들게 된다.
도 4는 본 발명의 일 실시예에 따른 LDPC 복호화 장치를 설명하기 위하여 도시한 도면이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 LDPC 복호화 장치는 초기화부(410), 비활성노드검출부(420), 체크노드갱신부(430), 변수노드갱신부(440), 시험복호화부(450) 및 패리티검사부(460)를 포함한다.
초기화부(410)는 복수의 체크 노드와 복수의 변수 노드에 대한 초기화를 수행한다.
비활성노드검출부(420)는 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출한다.
체크노드갱신부(430)는 그 검출된 비활성 변수 노드를 이용하지 않고 체크 노드 갱신을 수행한다.
변수노드갱신부(440)는 그 검출된 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 변수 노드를 갱신한다.
시험복호화부(450)는 시험 복호화를 통해 생성된 복호 값에 대해 판정을 수행한다.
패리티검사부(460)는 패리티 검사를 수행하여 복호화 중단 조건이 만족되었는지 여부를 판단한다.
이때, 패리티검사부(460)는 복호화 중단 조건이 만족되지 않았다고 판단되는 경우에는 비활성노드검출부(420)에게 통지하여 비활성 변수 노드를 검출할 것을 지시한다.
이를 통해, 비활성노드검출부(420), 체크노드갱신부(430), 변수노드갱신부(440), 시험복호화부(450) 및 패리티검사부(460)가 각각 순차적으로 반복하여 동작을 수행하게 되는데, 복호화 중단 조건이 만족되기 전까지는 계속해서 복호화 연산을 수행하게 된다.
하지만, 패리티검사부(460)의 판단 결과 복호화 중단 조건이 만족되었다고 판단되면 모든 복호화 연산은 종료하게 된다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (12)

  1. 복수의 체크 노드와 복수의 변수 노드에 대한 초기화 과정, 체크 노드 갱신 과정, 변수 노드 갱신 과정, 시험 복호화 과정 및 패리티 검사 과정을 포함하는 저밀도 패리티 검사 코드(LDPC)의 복호화 방법에 있어서,
    상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 단계를 더 포함하고,
    상기 변수 노드 갱신 과정은 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고,
    상기 체크 노드 갱신 과정은 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 방법.
  2. 제1항에 있어서,
    상기 체크 노드 갱신 과정은
    상기 체크 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드를 이용하여 수행되는 것을 특징으로 하는 LDPC 복호화 방법.
  3. 제1항에 있어서,
    상기 변수 노드 갱신 과정은
    상기 변수 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드에 대해서만 수행되는 것을 특징으로 하는 LDPC 복호화 방법.
  4. 제1항에 있어서,
    상기 체크 노드 갱신 과정은
    i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 갱신할 때, 상기 비활성 변수 노드 및 상기 j번째 변수 노드를 제외한 상기 활성 변수 노드들만을 이용하여 상기 체크-변수 메시지를 갱신하는 것을 특징으로 하는 LDPC 복호화 방법.
  5. 제1항에 있어서,
    상기 체크 노드 갱신 과정은
    하기의 (수학식 9)에 의거하여 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 방법.
    (수학식 9)
    Figure pat00106

    이때,
    Figure pat00107
    는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고,
    Figure pat00108
    는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
    Figure pat00109
    는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
    Figure pat00110
    는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고,
    Figure pat00111
    는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타냄.
  6. 제1항에 있어서,
    상기 적어도 하나의 비활성 변수 노드를 검출하는 단계는
    강제 수렴(Forced convergence)조건 만족 여부에 기초하여 수행되는 것을 특징으로 하는 LDPC 복호화 방법.
  7. 복수의 체크 노드와 복수의 변수 노드에 대한 초기화를 수행하는 초기화부, 체크 노드 갱신을 수행하는 체크노드갱신부, 변수 노드 갱신을 수행하는 변수노드갱신부, 시험 복호화를 수행하는 시험복호화부 및 패리티 검사를 수행하는 패리티검사부를 포함하는 저밀도 패리티 검사 코드(LDPC)의 복호화 장치에 있어서,
    상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 비활성노드검출부를 더 포함하고,
    상기 변수노드갱신부는 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고,
    상기 체크노드갱신부는 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
  8. 제7항에 있어서,
    상기 체크노드갱신부는
    상기 체크 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드를 이용하여 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
  9. 제7항에 있어서,
    상기 변수노드갱신부는
    상기 변수 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드에 대해서만 상기 변수 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
  10. 제7항에 있어서,
    상기 체크노드갱신부는
    i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 갱신할 때, 상기 비활성 변수 노드 및 상기 j번째 변수 노드를 제외한 상기 활성 변수 노드들만을 이용하여 상기 체크-변수 메시지를 갱신하는 것을 특징으로 하는 LDPC 복호화 장치.
  11. 제7항에 있어서,
    상기 체크노드갱신부는
    하기의 (수학식 9)에 의거하여 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
    (수학식 9)
    Figure pat00112

    이때,
    Figure pat00113
    는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고,
    Figure pat00114
    는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
    Figure pat00115
    는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고,
    Figure pat00116
    는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고,
    Figure pat00117
    는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타냄.
  12. 제7항에 있어서,
    상기 비활성노드검출부는
    강제 수렴 조건 만족 여부에 기초하여 상기 적어도 하나의 비활성 변수 노드를 검출하는 것을 특징으로 하는 LDPC 복호화 장치.
KR1020140048251A 2014-04-22 2014-04-22 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 KR101599336B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140048251A KR101599336B1 (ko) 2014-04-22 2014-04-22 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치
US14/537,571 US9503124B2 (en) 2014-04-22 2014-11-10 Method and apparatus for decoding low-density parity-check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140048251A KR101599336B1 (ko) 2014-04-22 2014-04-22 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20150121966A true KR20150121966A (ko) 2015-10-30
KR101599336B1 KR101599336B1 (ko) 2016-03-04

Family

ID=54322875

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140048251A KR101599336B1 (ko) 2014-04-22 2014-04-22 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치

Country Status (2)

Country Link
US (1) US9503124B2 (ko)
KR (1) KR101599336B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170105792A (ko) * 2016-03-10 2017-09-20 삼성전자주식회사 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 수신하는 장치 및 방법
WO2019107912A1 (ko) * 2017-11-29 2019-06-06 연세대학교 산학협력단 저지연 및 고신뢰도 특성을 가지는 ldpc 부호화 장치 및 방법
US10511327B2 (en) 2016-08-02 2019-12-17 Samsung Electronics Co., Ltd. Apparatus and method for decoding LDPC code
KR20220014730A (ko) * 2020-07-29 2022-02-07 한국전자통신연구원 LDPC(low-density parity-check) 부호의 복호화 방법 및 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102189440B1 (ko) * 2014-08-25 2020-12-14 삼성전자주식회사 에러 정정 디코더를 포함하는 스토리지 장치 및 에러 정정 디코더의 동작 방법
TWI580197B (zh) * 2016-04-27 2017-04-21 國立清華大學 低密度奇偶檢查碼之編解碼方法
KR20180009558A (ko) 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
CN114614947A (zh) * 2017-05-04 2022-06-10 三星电子株式会社 在通信或广播系统中用于信道编码和解码的方法和设备
CN108055046B (zh) * 2018-01-31 2021-05-18 南京信息工程大学 一种基于双修正因子的ldpc译码器
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
CN113228520A (zh) * 2018-12-03 2021-08-06 南布列塔尼大学 用于对由至少两个约束节点组成的代码进行解码的迭代解码器
US11929762B2 (en) * 2021-11-24 2024-03-12 Samsung Electronics Co., Ltd. Low density parity check decoder and storage device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090072972A (ko) * 2007-12-28 2009-07-02 삼성전자주식회사 저밀도 패리티 체크 코드를 복호화하는 방법 및 장치
KR20100081551A (ko) * 2009-01-06 2010-07-15 삼성전자주식회사 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
JP2013207358A (ja) * 2012-03-27 2013-10-07 Jvc Kenwood Corp 復号装置、復号方法、及び、プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
EP1841073A1 (en) * 2006-03-29 2007-10-03 STMicroelectronics N.V. Fast convergence LDPC decoding using BCJR algorithm at the check nodes
KR100987692B1 (ko) * 2006-05-20 2010-10-13 포항공과대학교 산학협력단 통신 시스템에서 신호 송수신 장치 및 방법
US8006172B2 (en) * 2007-07-10 2011-08-23 Oracle America, Inc. Auxiliary path iterative decoding
US8261152B2 (en) * 2007-09-10 2012-09-04 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes
US9252811B2 (en) * 2011-06-07 2016-02-02 Analogies Sa Time-varying low-density parity-check convolutional codes
US9130589B2 (en) * 2012-12-19 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Low density parity check decoder with dynamic scaling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090072972A (ko) * 2007-12-28 2009-07-02 삼성전자주식회사 저밀도 패리티 체크 코드를 복호화하는 방법 및 장치
KR20100081551A (ko) * 2009-01-06 2010-07-15 삼성전자주식회사 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
JP2013207358A (ja) * 2012-03-27 2013-10-07 Jvc Kenwood Corp 復号装置、復号方法、及び、プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Reduced complexity LDPC decoding using forced convergence", 7th Int. Symp. Wireless Personal Multim.Comm.(WPMC04) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170105792A (ko) * 2016-03-10 2017-09-20 삼성전자주식회사 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 수신하는 장치 및 방법
US10511327B2 (en) 2016-08-02 2019-12-17 Samsung Electronics Co., Ltd. Apparatus and method for decoding LDPC code
WO2019107912A1 (ko) * 2017-11-29 2019-06-06 연세대학교 산학협력단 저지연 및 고신뢰도 특성을 가지는 ldpc 부호화 장치 및 방법
KR20220014730A (ko) * 2020-07-29 2022-02-07 한국전자통신연구원 LDPC(low-density parity-check) 부호의 복호화 방법 및 장치
US11595060B2 (en) 2020-07-29 2023-02-28 Electronics And Telecommunications Research Institute Method and apparatus for decoding low-density parity-check code

Also Published As

Publication number Publication date
KR101599336B1 (ko) 2016-03-04
US9503124B2 (en) 2016-11-22
US20150303944A1 (en) 2015-10-22

Similar Documents

Publication Publication Date Title
KR101599336B1 (ko) 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치
US8301984B1 (en) QC-LDPC decoder with list-syndrome decoding
AU2005222533B2 (en) Method and apparatus for efficiently decoding low density parity check code
Zhang et al. Lowering LDPC error floors by postprocessing
TWI663839B (zh) 使用硬選取硬解碼模式下的解碼器產生軟資訊的方法
US20100042896A1 (en) Error-floor mitigation of layered decoders using non-standard layered-decoding schedules
US8799742B1 (en) QC-LDPC decoder with list-syndrome decoding
JP4777876B2 (ja) ターボデコーダの反復の早期終了
US8689074B1 (en) Method and apparatus for detecting trapping sets in decoding of information
KR20090117213A (ko) 계층적 디코딩 장치
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
KR20120053122A (ko) 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체
US8201049B2 (en) Low density parity check (LDPC) decoder
Hatami et al. A threshold-based min-sum algorithm to lower the error floors of quantized LDPC decoders
US20200052719A1 (en) Communication method and apparatus using polar codes
JP2009005343A (ja) 通信路を介して受信されるシンボルの系列を誤り訂正符号の符号語に復号する方法およびシステム
US20220416812A1 (en) Log-likelihood ratio mapping tables in flash storage systems
US9219501B2 (en) LDPC encoding/decoding method and device using same
Cochachin et al. Density evolution thresholds for noise-against-noise min-sum decoders
US8019020B1 (en) Binary decoding for correlated input information
CN101106383A (zh) 一种低密度奇偶校验码的译码方法
US9231620B2 (en) Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance
US9344116B2 (en) Method for determining layer stoppage in LDPC decoding
KR101627283B1 (ko) 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치
US10778248B1 (en) Low-density parity-check decoding with de-saturation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191223

Year of fee payment: 5