KR20090062086A - 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화장치 및 그 방법 - Google Patents

기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화장치 및 그 방법 Download PDF

Info

Publication number
KR20090062086A
KR20090062086A KR1020070129185A KR20070129185A KR20090062086A KR 20090062086 A KR20090062086 A KR 20090062086A KR 1020070129185 A KR1020070129185 A KR 1020070129185A KR 20070129185 A KR20070129185 A KR 20070129185A KR 20090062086 A KR20090062086 A KR 20090062086A
Authority
KR
South Korea
Prior art keywords
parity check
variable node
check matrix
matrix
bit
Prior art date
Application number
KR1020070129185A
Other languages
English (en)
Other versions
KR100939334B1 (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 KR1020070129185A priority Critical patent/KR100939334B1/ko
Priority to US12/747,694 priority patent/US20100269011A1/en
Priority to PCT/KR2008/003124 priority patent/WO2009075429A1/en
Publication of KR20090062086A publication Critical patent/KR20090062086A/ko
Application granted granted Critical
Publication of KR100939334B1 publication Critical patent/KR100939334B1/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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo codes

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

Description

기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치 및 그 방법{APPARATUS AND METHOD OF DECODING LOW DENSITY PARITY CHECK CODE USING PROTOTYPE MATRIX}
본 발명은 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 입력비트를 저밀도 패리티 검사 부호를 통해 복호화함에 있어서, 패리티 검사행렬을 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리함으로써, 복잡도를 줄이면서 복호처리를 고속으로 수행할 수 있게 하는, 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치 및 그 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-002-02, 과제명: 3Gbps 급 4G 무선 LAN 시스템 개발].
유/무선 통신시스템상의 전송 신호(Transmitted Signal)는 전송 채 널(Transmission Channel) 상의 잡음(Noise), 간섭(Interference) 및 감쇠(Fading) 등을 겪게 된다. 이로 인하여 수신 단이 상기 전송 신호를 복조할 수 없는 경우가 발생한다.
오류정정 부호 기법은 이러한 유/무선 통신시스템상에서 빠른 전송 속도로 인해 높아진 오류 발생률을 줄이기 위한 여러 가지 기법 중 대표적인 기법이다. 최근에는 거의 모든 무선통신 시스템에 오류정정 부호가 적용되고 있다. 특히, 오류정정 부호 중에서 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호는 우수한 오류정정 성능을 가질 뿐만 아니라 상대적으로 낮은 복잡도로 고속 복호기를 구현할 수 있다. 따라서 저밀도 패리티 검사 부호는 차세대 고용량 무선통신 시스템을 위한 오류정정 부호로서 각광받고 있다.
LDPC 부호는 "Gallager"에 의해 도입된 부호이다. LDPC 부호는 극소수의 원소들이 "1"의 값을 가지며, 나머지인 대부분의 원소들은 "0"의 값을 갖는 패리티 검사행렬로 정의된다.
LDPC 부호는 균일(regular) LDPC 부호와 비균일(irregular) LDPC 부호로 구별된다. 균일 LDPC 부호는 "Gallager"가 제안한 LDPC 부호로서, 패리티 검사행렬 내의 모든 행들은 동일한 개수의 "1"을 원소로 가지며, 모든 열들도 동일한 개수의 "1"을 원소로 갖는다. 이와 달리, 비균일 LDPC 부호의 패리티 검사행렬에는 서로 다른 개수의 "1"을 포함하는 행들이 존재하거나, 서로 다른 개수의 "1"을 포함하는 열들이 존재한다. 여기서, 비균일 LDPC 부호의 오류 정정 성능이 균일 LDPC 부호보다 일반적으로 우수하다고 알려져 있다.
한편, "Fossorier"는 패리티 검사행렬의 원소를 행렬 상의 원소인 "0", "1"이 아니라 순환 이동(Cyclic Shift)된 단위 행렬(Identity Matrix) 및 "0 행렬"로 나타내는 준 순환(Quasi-Cyclic) LDPC 부호를 제안하였다.
한편, 저밀도 패리티 검사 부호를 이용한 복호화 방법은 직렬 또는 부분 병렬 처리 방식을 이용하는 복호화 방법과 병렬 처리 방식을 이용하는 복호화 방법이 있다.
전자의 방법(직렬 또는 부분 병렬 처리 방식)은, 적은 수의 공용의 변수노드(Variable Node) 처리 블록 및 공용의 검사노드(Check Node) 처리 블록을 반복적으로 이용함으로써, 구동하기 위한 하드웨어 크기가 줄어드는 장점이 있다. 하지만, 전자의 방법은 고속 복호를 지원할 수 없다는 단점이 있다.
반면에, 후자의 방법(병렬 처리 방식)은, 각 패리티 검사행렬에 최적화된 변수노드 처리 블록 및 검사노드 처리 블록을 구비하여 병렬 정보 교환을 수행함으로써, 고속 복호를 지원할 수는 있다. 하지만, 후자의 방법은 구동하기 위한 하드웨어 크기가 크며, 다양한 부호 비율을 지원할수록 하드웨어 크기의 증대를 초래한다는 단점이 있다.
한편, 채널 상태에 적응적인 변조 및 부호화 기법(MCS: Modulation and Coding Scheme)을 적용하기 위해서, 유/무선 통신시스템은 가변 정보 길이 및 가변 부호 비율을 가진 오류정정 부호를 이용할 필요가 있다. 이러한 요구에 부응하여 다양한 적응적인 변조 및 부호화 레벨을 지원하기 위한 종래의 복호화 방법은, 각각의 정보 길이 및 부호 비율별로 최적화된 복호기를 따로 구현하는 방법, 또는 하 나의 하드웨어를 이용하되, 정보 단축(Information Shortening) 기법 또는 천공 기법을 적용하는 방법이 있다.
여기서, 전자의 방법(최적화된 복호기를 따로 구현하는 방법)은 하드웨어 크기가 커진다는 단점이 있다. 반면에, 후자의 방법(정보 단축 기법 또는 천공 기법)은 정보 단축 기법 또는 패리티 천공 기법의 무작위적인 적용이 LDPC 부호의 오류 정정 성능에 대한 심한 열화를 초래한다는 면에서 불리한 점이 있다.
전술한 대로, 수 기가(G)급의 처리속도를 요구하는 초고속 무선통신 시스템에서는 병렬 처리 방식의 복호화 방법이 유리하다. 또한, 초고속 무선통신 시스템에서 최근 각광받는 적응 변조 및 부호화 기법을 효과적으로 적용하기 위해서는, 우수한 오류 정정 성능을 가진 가변 정보 길이 및 가변 보호 비율의 저밀도 패리티 검사 부호가 요구된다. 또한, 이러한 저밀도 패리티 검사 부호의 복호화 복잡도도 작아야 한다.
하지만, 종래의 병렬 처리 방식의 복호화 방법은 변수노드와 검사노드 간의 무작위적이고 복잡한 연결로 인해 계산량 및 복잡도가 증가하여 처리 시간이 지연된다는 문제점이 있다. 또한, 종래의 병렬 처리 방식의 복호화 방법은 병렬 처리에 필요한 각각의 변수노드와 검사노드를 저장하는 영역이 모두 필요하게 되어 메모리의 불필요한 낭비를 초래하게 된다는 문제점이 있다.
따라서 상기와 같은 종래 기술은 패리티 검사행렬의 변수노드 및 검사노드 간의 무작위적이고 복잡한 연결로 인해 계산량 및 복잡도가 증가하며, 각각의 변수노드 및 검사노드에 대한 저장 영역으로 인해 메모리의 불필요한 낭비를 초래하게 된다는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 입력비트를 저밀도 패리티 검사 부호를 통해 복호화함에 있어서, 패리티 검사행렬을 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리함으로써, 복잡도를 줄이면서 복호처리를 고속으로 수행할 수 있게 하는, 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명은 상기 문제점을 해결하기 위하여, 입력비트를 저밀도 패리티 검사 부호를 통해 복호화함에 있어서, 패리티 검사행렬을 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하는 것을 특징으로 한다.
더욱 구체적으로, 본 발명은, 저밀도 패리티 검사 부호의 복호화 장치에 있어서, 입력비트에 대한 대수 근사화 확률값을 입력받기 위한 비트 입력 수단; 상기 입력받은 대수 근사화 확률값에 대한 패리티 검사행렬을, 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하기 위한 검사행렬 처리 수단; 및 상기 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 상기 입력비트를 복원하기 위한 비트 처리 수단을 포함한다.
또한, 본 발명은, 저밀도 패리티 검사 부호의 복호화 방법에 있어서, 입력비트에 대한 대수 근사화 확률값을 입력받는 비트 입력 단계; 상기 입력받은 대수 근사화 확률값에 대한 패리티 검사행렬을, 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하는 검사행렬 처리 단계; 및 상기 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 상기 입력비트를 복원하는 비트 처리 단계를 포함한다.
상기와 같은 본 발명은, 입력비트를 저밀도 패리티 검사 부호를 통해 복호화함에 있어서, 패리티 검사행렬을 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리함으로써, 종래의 병렬 처리 방식에 따른 복호화 과정보다 복잡도를 줄이면서 복호처리를 고속으로 수행할 수 있는 효과가 있다.
또한, 본 발명은, 패리티 검사행렬 처리에 필요한 패리티 검사행렬의 변수노드 및 검사노드의 저장 영역을 줄일 수 있으며, 간단한 순환 시프트 연산 과정을 통해 용이하게 고속의 복호화 장치를 구현할 수 있는 효과가 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
이하의 실시예에서는 본 발명에 이용되는 부행렬(Sub-matrix)의 크기, 부행렬의 개수, 패리티 검사행렬의 차수 분포 등을 고정하여 본 발명을 설명하기로 하나, n×n 부행렬(sub-matrix)의 길이를 변형시키는 방법, 부행렬의 개수를 변형시키는 방법, 패리티 검사행렬의 차수 분포(Degree Distribution) 변화에 따른 변형된 패리티 검사행렬을 이용하는 방법도 본 발명의 범주에 속함을 당업자라면 충분히 이해할 수 있을 것이다.
하기의 [수학식 1]은 일반적인 5×5의 순환 순열 행렬(cyclic-permutation matrix)에 대한 일례이다.
Figure 112007089415435-PAT00001
여기서,
Figure 112007089415435-PAT00002
는 5×5의 순환 순열 행렬(부행렬)을 나타낸다.
상기 [수학식 1]에 표시된 바와 같이, 부행렬(
Figure 112007089415435-PAT00003
)은 단위 행렬의 열들을
Figure 112007089415435-PAT00004
만큼 우측으로 순환 이동(Cyclic Shift)한 것임을 알 수 있다.
이하, 본 발명을 설명하기 위하여, 5×5의 부행렬로 이루어진 균일 LDPC 부호, 7×7의 부행렬로 이루어진 비균일 LDPC 부호, 및 38×38의 부행렬로 이루어진 비균일 LDPC 부호의 패리티 검사행렬을 예시적으로 이용할 것이다. 부행렬에는 n×n의 단위 행렬이 순환 이동된 행렬(즉, 순환 순열 행렬), 또는 n×n의 "0 행렬"이 포함되어 있다.
도 1 은 본 발명에 적용되는 QC-LDPC 부호의 패리티 검사행렬에 대한 일실시예 예시도이다.
도 1에 도시된 바와 같이, QC-LDPC 부호의 패리티 검사행렬에서 정사각형(101)은 5×5의 단위행렬(부행렬)을 나타내고, 그 안의 값은 우측으로 순환 이동된 값을 나타낸다. 예를 들어, "3"의 값을 가진 정사각형(101)은 상기 [수학식 1]에 표시된 "
Figure 112007089415435-PAT00005
"을 나타낸다.
따라서 도 1에 도시된 QC-LDPC 부호의 패리티 검사행렬은 5×5의 부행렬이 3개 행과 6개의 열로 이루어져 있다. 즉, QC-LDPC 부호의 패리티 검사행렬은 15개의 행들과 30개의 열들로 이루어져 있으며, 각 행에서 "1"을 더한 값은 6으로 균일하고 각 열에서 "1"을 더한 값은 3으로 균일하다.
도 2 는 도 1의 패리티 검사행렬의 팩터 그래프에 대한 일실시예 예시도이다.
도 2에 도시된 바와 같이, 도 1의 패리티 검사행렬의 팩터 그래프(Factor Graph)는 본 발명에 따른 LDPC 복호화 장치로 입력되는 대수 근사화 확률값(LLR: Log Likelihood Ratio)을 나타내는 정사각형(이하, "LLR" 값이라 함)(201), 변수노드를 나타내는 원(이하, "변수노드"라 함)(211), 검사노드를 나타내는 십자가가 표시된 정사각형(이하, "검사노드"라 함)(221) 및 에지(edge)를 나타내는 선분(이하, "에지"라 함)(231)으로 이루어져 있다.
여기서, 도 1의 패리티 검사행렬에서 원소 값이 "1"에 해당하는 부분에서의 변수노드(211)와 검사노드(221)는 에지(231)들로 연결되어 있다. 변수노드(211)는 패리티 검사행렬의 30개 열의 개수만큼 있고, 검사노드(221)는 패리티 검사행렬의 15개의 행의 개수만큼 있다. 즉, 도 1과 대응시켜 살펴보면, 도 1의 패리티 검사행렬의 여섯 개의 행에 해당하는 성분은 도 2의 변수노드(211)에 해당하며, 세 개의 열에 해당하는 성분은 도 2의 검사노드(221)에 해당한다.
본 발명의 이해를 돕기 위하여, 종래의 패리티 검사행렬을 병렬 처리하는 방법을 도 3a 및 도 3b를 통해 살펴보면 다음과 같다.
도 3a 및 도 3b 는 종래의 패리티 검사행렬을 병렬 처리하는 방법에 대한 설명도이다.
종래의 병렬 처리 방법을 용이하게 설명하기 위하여, 도 2의 변수노드(211)를 세 개의 변수노드(311 내지 313)로 나누어서 설명하기로 한다.
종래의 병렬 처리 방법은 30개의 LLR 값(301)을 입력받고, 입력받은 30개의 LLR 값을 각각의 저장 영역에 저장한다.
그리고 종래의 병렬 처리 방법은 저장된 LLR 값(301)과 세 개의 변수노드(311 내지 313) 값을 변수노드 연산 과정 즉, 두 값을 합하여 변수노드(311 내지 313)에서 검사노드(321)로 전달되는 메시지(이하, "변수노드 메시지"라 함)를 계산하고 계산된 메시지를 에지(331)를 통해 검사노드(321)로 전달한다.
그리고 종래의 병렬 처리 방법은 그 전달된 메시지를 이용하여 검사노드(321)에서 변수노드(311 내지 313)로 전달되는 메시지(이하, "검사노드 메시지"라 함)를 계산한다. 이러한 변수노드(311 내지 313)와 검사노드(321) 간의 메시지 교환 과정을 통해 변수노드(311 내지 313)와 검사노드(321)가 갱신되고, 이러한 갱신 과정이 미리 정해진 횟수 또는 일정한 상태에 도달할 때까지 반복적으로 수행된다. 일반적으로, 갱신 과정의 반복 횟수가 많아질수록 저밀도 패리티 검사 부호의 복호화 장치 성능이 우수해지지만, 처리 속도는 감소한다.
도 3b에 도시된 바와 같이, 종래의 변수노드 갱신 과정은 입력받은 LLR 값(301)과 세 개의 변수노드(311 내지 313) 값을 이용한 변수노드 메시지의 계산 과정으로 이루어진다. 즉, 구하고자 하는 변수노드(311)의 변수노드 메시지는 자신 을 제외한 나머지 두 변수노드(312 및 313) 값과 LLR 값(301)이 연산되어 구해진다.
한편, 병렬 처리 방식에 따른 종래의 LDPC 복호화 장치를 구현한 경우를 살펴보면, 종래의 LDPC 복호화 장치는 우선 30개의 LLR 값을 저장할 메모리 영역, 30개의 변수노드 메시지를 갱신할 변수노드 갱신 장치 및 15개의 검사노드 메시지를 갱신할 검사노드 갱신 장치가 필요하다. 또한, LDPC 복호화 장치는 에지(331)의 개수에 해당하는 90개의 변수노드 메시지를 저장하는 영역 및 90개의 검사노드 메시지를 저장하는 영역이 필요하고, 이러한 변수노드 메시지 및 검사노드 메시지를 무작위적으로 연결할 수 있는 장치가 필요하다. 여기서, 변수노드 갱신 방법 및 검사노드 갱신 방법은 종래의 메시지 갱신 방법 중 하나가 될 것이다.
따라서 종래의 LDPC 복호화 장치는 각 변수노드 및 검사노드의 저장 영역이 필요하고, 90개의 변수노드 및 검사노드 메시지를 모두 계산해야 한다. 이로 인하여, 종래의 LDPC 복호화 장치는 변수노드와 검사노드의 무작위적인 연결 복잡도 때문에 최적의 속도로 복호화 과정을 수행하지 못한다.
도 4 는 본 발명에 따른 기본 패리티 행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치의 일실시예 구성도이다.
도 4에 도시된 바와 같이, 본 발명에 따른 저밀도 패리티 검사부호의 복호화 장치는, 비트 입력부(410), 검사행렬 처리부(420) 및 비트 처리부(430)를 포함한다. 여기서, 검사행렬 처리부(420)는 변수노드 처리부(421)와 검사노드 처리부(422)를 포함한다. 또한, 비트 처리부(430)는 변수노드 합 계산부(431), 비트 판 단부(432) 및 비트 출력부(433)를 포함한다.
상기 비트 입력부(410)는 입력비트에 대한 대수 근사화 확률값을 입력받는다.
그리고 검사행렬 처리부(420)는 입력받은 대수 근사화 확률값에 대한 패리티 검사행렬을, 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리한다. 여기서, 기본 패리티 검사행렬이란 패리티 검사행렬 중에서 부행렬 별로 하나의 행과 관련된 패리티 검사행렬을 말한다.
그리고 비트 처리부(430)는 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 입력비트를 복원하고 복원된 비트를 출력한다.
이하, 본 발명에 따른 저밀도 패리티 검사부호의 복호화 장치의 구성요소 각각에 대하여 상세하게 설명하기로 한다.
비트 입력부(410)는 LDPC 부호화 장치로부터 입력비트에 대한 LLR값을 순차적으로 입력받고, 입력받은 입력비트에 대한 LLR 값을 주어진 시간에 변수노드 처리부(421)로 전달한다. 이러한 LLR 값을 주어진 시간에 전달하는 과정은 패리티 검사행렬마다 다르게 수행될 수 있다.
그리고 변수노드 처리부(421)는 비트 입력부(410)로부터 전달받은 LLR 값과 변수노드 값의 합을 연산하여 변수노드 메시지를 계산하고 그 계산된 변수노드 메시지를 검사노드 처리부(422)로 전달한다. 또한, 변수노드 처리부(421)는 검사노드 처리부(422)로부터 검사노드 메시지를 전달받는다. 즉, 변수노드 처리부(421)는 이러한 메시지의 교환 과정을 통해 변수노드를 갱신하는 기능을 수행한다.
검사노드 처리부(422)는 변수노드 처리부(421)로부터 전달받은 변수노드 메시지를 검사노드 연산 과정에 적용하여 검사노드 메시지를 계산한다. 이때, 검사노드 처리부(422)는 복호화 속도를 빠르게 하기 위하여 전체 병렬 방식으로 수행하거나, 복호화 복잡도를 낮추기 위하여 직렬 또는 부분 병렬 처리 방식으로 처리할 수 있다. 검사노드 처리부(422)는 계산된 검사노드 메시지를 변수노드 처리부(421)로 전달한다.
이때, 변수노드 처리부(421)는 LLR 값 및 변수노드 값을 부행렬 별로 순환 시프트(Cyclic-Shift)시키고, 패리티 검사행렬을 순차적으로 부분 병렬 처리한다. 변수노드 처리부(421)는 순환 시프트시킨 변수노드 값과 LLR 값의 합을 연산하는 과정을 반복적으로 수행한다. 여기서, 변수노드 처리부(421)는 검사노드 처리부(422)로부터 전달된 검사노드 메시지를 이용하여 변수노드 메시지의 계산에 필요한 변수노드들을 갱신한다. 그리고 변수노드 처리부(421)는 갱신된 변수노드 값을 이용하여 변수노드 메시지를 계산한다.
이후, 변수노드 합 계산부(431)는 변수노드 처리부(421) 및 검사노드 처리부(422)에서 LDPC 복호화 과정이 미리 정한 개수 또는 사용자가 원하는 만큼 반복적으로 수행된 후, LLR 값과 변수노드별 에지값의 변수노드 합을 계산하여 비트 판단부(432)로 전달한다.
이어서, 비트 판단부(432)는 변수노드 합 계산부(431)에서 계산된 변수노드 합에 해당하는 비트 레벨을 "0" 또는 "1"로 판단하여 입력비트를 복원한다.
그리고 비트 출력부(433)는 비트 판단부(432)에서 복원된 입력비트를 주어진 시간에 입력받고, 입력비트를 순차적으로 출력한다. 이때, 비트 출력 과정은 패리티 검사행렬에 따라 다양한 방법으로 출력될 수 있다.
도 5 는 도 2의 변수노드와 검사노드 간의 에지 중 첫 번째 검사노드와 연결된 에지에 대한 일실시예 설명도이다.
도 5에 도시된 바와 같이, 변수노드와 검사노드 간의 에지 중 첫 번째 검사노드와 연결된 에지(531)는 굵은 실선으로 표시되어 있다. 반면에, 첫 번째 검사노드를 제외한 두 번째부터 다섯 번째까지의 에지(532)는 점선으로 표시되어 있다.
변수노드 처리부(421)는 LLR 값(501)과 변수노드(511) 값을 연산하여 첫 번째 검사노드로 전달할 변수노드 메시지를 계산하고, 그 변수노드 메시지를 굵은 실선으로 표시된 에지(531)를 통해 전달한다.
그리고 변수노드 처리부(421)는 LLR 값(502)과 변수노드(512) 값을 순환 시프트시켜, 다음으로 전달할 변수노드 메시지를 계산할 수 있다. 즉, 변수노드 처리부(421)는 도 5에 굵은 실선으로 표시된 에지(531)와 순환 시프트의 반복적인 과정을 통해 점선으로 표시된 에지(532)들을 구할 수 있다. 이러한 순환 시프트 과정을 더욱 구체적으로 살펴보기로 한다.
도 6a 및 도 6b 는 본 발명에 따른 패리티 검사행렬의 팩터 그래프에 대한 일실시예 예시도이다.
도 3a에 도시된 종래의 패리티 검사행렬의 팩터 그래프에서는 변수노드(311 내지 313)와 검사노드(321) 간의 에지(331)의 개수가 90개인데 반하여, 도 6a에 도시된 본 발명에 따른 패리티 검사행렬의 팩터 그래프에서는 18개의 에지(631)가 있 다.
본 발명에 따른 패리티 검사행렬의 팩터 그래프에서는 변수노드 메시지를 전달할 6개의 실선으로 표시된 에지(631)가 각 검사노드마다 나타나 있다. 또한, 검사노드 메시지를 전달할 6개의 점선으로 표시된 에지(632)가 각 검사노드마다 나타나 있다. 따라서 본 발명에 따른 패리티 검사행렬의 팩터 그래프에서 부행렬의 개수에 반비례하여, 에지(631)의 개수는 90개의 에지에서 18개의 에지로 5배가 감소하고, 검사노드(621)의 개수도 15개에서 3개로 5배가 감소한다.
검사노드 처리부(422)는 일반적인 검사노드 처리 과정을 수행한다.
변수노드 처리부(421)는 변수노드(611, 612)와 LLR 값(601)을 매 처리 시간마다 부행렬 별로 순환 시프트(Cyclic Shift)를 수행하면서, 도 6b에 도시된 바와 같이 변수노드(611, 612)에서 검사노드(621)로 전달하는 변수노드 메시지를 계산한다. 즉, 변수노드 처리부(421)는 LLR 값(601)과 구하고자 하는 변수노드를 제외한 나머지 변수노드(611, 613) 값의 합을 연산하여 변수노드 갱신 과정을 수행한다.
예를 들면, 변수노드 처리부(421)는 변수노드(611, 612) 값과 LLR 값(601)에 해당하는 열에 대해서만 연산을 수행하여 변수노드 메시지를 계산한다. 그리고 변수노드 처리부(421)는 계산된 변수노드 메시지를 에지(631)를 통해 검사노드(621)로 전달한다.
이어서, 변수노드 처리부(421)는 인접한 변수노드(613) 값과 검사노드(622)로부터 전달된 검사노드 메시지를 변수노드(611, 612)로 순환 시프트시켜 그 열에 대해서만 연산을 수행하여 다음 변수노드 메시지를 계산한다.
그리고 검사노드 처리부(422)는 검사노드(621)로 전달된 변수노드 메시지를 연산하여 검사노드 메시지를 계산하고 계산된 검사노드 메시지를 에지(632)를 통해 변수노드(614)로 전달한다.
도 7 은 도 1의 패리티 검사행렬을 기본 패리티 검사행렬을 이용하여 순차적으로 처리하는 방법에 대한 일실시예 설명도이다.
도 1의 패리티 검사행렬은 도 7에 도시된 바와 같이, 30개의 열과 15개의 행으로 나타나 있다. 전술한 대로, 변수노드 처리부(421)는 각 행(Layer)(701 내지 705)마다 순차적으로 변수노드 갱신 과정(변수노드 메시지 계산 과정)을 수행한다.
예를 들면, 변수노드 처리부(421)는 도 7에 도시된 제1 행(701)의 "1"의 개수인 18개 만큼 변수노드 갱신 과정을 수행한다. 이어서, 변수노드 처리부(421)는 순환 시프트 과정을 수행하고, 제2 행(702)에 대해서도 동일한 변수노드 갱신 과정을 수행한다. 그리고 변수노드 처리부(421)는 제3 내지 제5 행에 대해서도 동일한 변수노드 갱신 과정을 수행할 수 있다.
이후, 변수노드 처리부(421)는 매 처리 시간마다 부행렬 별로 순환 시프트 과정을 수행하고, 각 행(701 내지 705) 순서대로 변수노드 갱신 과정을 반복적으로 수행한다.
도 8 은 본 발명에 적용되는 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 일실시예 예시도이다.
도 8에 도시된 바와 같이, 비균일 QC-LDPC 부호의 패리티 검사행렬에서 정사각형(801, 802)은 7×7의 단위행렬(부행렬)을 나타내고, 그 안의 값은 우측으로 순 환 이동된 값을 나타낸다. 예를 들어, "2"의 값을 가진 정사각형(801)은 "2"만큼 우측으로 순환 이동된 부행렬을 나타낸다. 또한, "-"의 값을 가진 정사각형(802)은 모든 원소가 "0"인 "0 행렬"을 나타낸다.
따라서 도 8에 도시된 비균일 LDPC 부호의 패리티 검사행렬은 7×7의 부행렬이 4개 행과 8개의 열로 이루어져 있다. 즉, 비균일 LDPC 부호의 패리티 검사행렬은 28개의 행들과 56개의 열들로 이루어져 있으며, 각 행에서 "1"을 더한 값은 5 또는 6으로 비균일하고 각 열에서 "1"을 더한 값은 2 또는 3으로 비균일하다.
도 9a 내지 도 9c 는 본 발명에 따른 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 일실시예 설명도이다.
도 9a 및 도 9b에 도시된 바와 같이, 변수노드와 검사노드 간의 에지는 도 8의 패리티 검사행렬 부행렬의 개수인 21개가 필요하다. 여기서, 각각의 변수노드와 검사노드 간의 직접적인 연결은 표시되어 있지 않다. 각각의 에지는 "0 행렬"이 기본 패리티 검사행렬에 해당하는 변수노드와 검사노드 간의 연결에 필요하다.
변수노드 처리부(421)는 도 8에 도시된 패리티 검사행렬의 기본 패리티 검사행렬에 대응되는 변수노드마다 LLR(9001) 값과 변수노드(9011, 9011) 값의 합을 연산하여 도 9a에 도시된 변수노드 메시지(예를 들면, o0_0, o0_1, o0_2, o1_1, …, o7_1, o7_0)를 계산한다. 그리고 변수노드 처리부(421)는 계산된 변수노드 메시지를 제0 열 내지 3열 검사노드(91 내지 94)로 전달한다. 그리고 변수노드 처리부(421)는 LLR(9001) 값과 변수노드(9012) 값을 부행렬 별로 순환 시프트시킨다.
예를 들면, 변수노드 처리부(421)는 패리티 검사행렬의 제1열 및 제1행에 해 당하는 6번 순환 이동된 부행렬에 대해서, 해당 변수노드 값(9011, 9012)과 LLR 값(9001)의 합을 연산하여 변수노드 메시지(o0_0)를 계산한다. 동일한 방식으로, 변수노드 처리부(421)는 패리티 검사행렬의 부행렬 값에 대응되는 21개의 변수노드 메시지 연산 과정(901 내지 905, 911 내지 915, 921 내지 926, 및 931 내지 935)을 수행하여, 변수노드 메시지(o0_0, o0_1, o0_2, o1_1, …, o7_1, o7_0)를 계산한다. 그리고 변수노드 처리부(421)는 변수노드 값(9012)과 LLR(9001) 값을 부행렬 별로 순환 시프트시키고, 반복적으로 변수노드 갱신 과정을 수행한다.
도 9c에 도시된 바와 같이, 검사노드 처리부(422)는 변수노드 처리부(421)에서 계산된 변수노드 메시지(o0_0, o0_1, o0_2, o1_1, …, o7_1, o7_0)를 해당하는 제0열 내지 제3열 검사노드(91 내지 94)에 저장한다.
그리고 검사노드 처리부(422)는 제0열 검사노드(91)에 저장된 제0열 변수노드 메시지(o0_0, o2_0, o3_0, o4_0, o5_0)를 검사노드 연산 과정에 적용하여 검사노드 메시지(i0_0, i2_0, i3_0, i4_0, i5_0)를 계산한다. 그리고 검사노드 처리부(422)는 계산된 검사노드 메시지(i0_0, i2_0, i3_0, i4_0, i5_0)를 변수노드 처리부(421)로 전달한다. 그러면, 변수노드 처리부(421)는 전달된 검사노드 메시지(i0_0, i2_0, i3_0, i4_0, i5_0)를 해당 변수노드에 각각 저장한다. 동일한 방식으로 제1 열 내지 제3 열 검사노드에 대해서도 검사노드 연산 과정이 수행된다.
도 10 은 본 발명에 적용되는 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 일실시예 예시도이다.
도 10에 도시된 바와 같이, 비균일 QC-LDPC 부호의 패리티 검사행렬에서 정 사각형(1001, 1002)은 38×38의 단위행렬(부행렬)을 나타내고, 그 안의 값은 우측으로 순환 이동된 값을 나타낸다. 예를 들어, "23"의 값을 가진 정사각형(1001)은 "23"만큼 우측으로 순환 이동된 부행렬을 나타낸다. 또한, "-"의 값을 가진 정사각형(1002)은 모든 원소가 "0"인 "0 행렬"을 나타낸다.
따라서 도 10에 도시된 비균일 QC-LDPC 부호의 패리티 검사행렬은 38×38의 부행렬이 12개 행과 24개의 열로 이루어져 있다. 즉, 비균일 QC-LDPC 부호의 패리티 검사행렬은 456개의 행들과 912개의 열들로 이루어져 있다. 또한, 본 발명에 따른 저밀도 패리티 검사 부호의 복호화 방법을 적용하면, 도 10의 "-"의 값을 가진 정사각형(1002)의 "0 행렬"을 제외한 부행렬의 개수인 73개만큼 변수노드와 검사노드 간의 에지가 필요하다.
한편, 본 발명에 따른 변수노드 및 검사노드 처리 과정은 빠른 복호 속도를 필요로 하는 경우와 낮은 복잡도를 요구하는 경우에 따라 다르게 처리될 수 있다. 즉, 변수노드 및 검사노드 처리 과정은, 빠른 복호 속도를 필요로 하는 경우에 병렬 처리 방식에 따라 수행되고, 낮은 복잡도를 요구하는 경우에 직렬 처리 방식 또는 부분 병렬 처리 방식 중 어느 한 처리 방식에 따라 수행될 수 있다.
예를 들어, 도 10에 도시된 에지의 개수가 73개인 부행렬에 대한 변수노드 및 검사노드 처리 과정을 빠른 복호 속도로 수행하고자 한다면, 변수노드 처리부(421)는 변수노드 처리 과정을 병렬 처리 방식으로 수행해야 한다. 이러한 변수노드 처리 과정에는 차수가 6인 변수노드 처리 과정이 4번, 차수가 3인 변수노드 처리 과정이 9번, 차수가 2인 변수노드 처리 과정이 11번 포함된다. 또한, 이러한 검사노드 처리 과정에는 차수가 6인 검사노드 처리 과정이 11번, 차수가 7인 검사노드 처리 과정이 1번 포함된다.
다른 예로, 도 10에 도시된 에지의 개수가 73개인 부행렬에 대한 변수노드 및 검사노드 처리 과정을 낮은 복잡도로 처리하고자 한다면, 변수노드 처리부(421)는 변수노드 처리 과정을 전체 병렬 처리 방식으로 수행해야 한다. 이러한 경우는 처리속도가 저하되나 복잡도는 낮아지므로, 고속 복호가 필요하지 않으면서 낮은 복잡도가 필요한 경우에 유용하게 적용될 수 있다.
도 11 은 본 발명에 따른 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법에 대한 일실시예 흐름도이다.
먼저, 비트 입력부(410)는 LDPC 부호화 장치로부터 입력비트에 해당하는 LLR 값을 순차적으로 입력받는다(1102).
그리고 변수노드 처리부(421)는 비트 입력부(410)에서 입력받은 LLR 값과 변수노드 값을 변수노드 연산하여 변수노드 메시지를 계산하고, 연산 완료된 각 LLR 값과 변수노드 값을 처리 시간마다 부행렬 별로 순환 시프트시킨다(1104). 즉, 변수노드 처리부(421)는 변수노드 갱신 과정을 수행한다.
이어서, 검사노드 처리부(422)는 변수노드 처리부(421)에서 계산된 변수노드 메시지를 검사노드 연산 과정에 적용하여 검사노드 메시지를 계산한다(1106). 이때, 검사노드 처리부(422)는 복호화 속도를 빠르게 하기 위하여 병렬 방식에 따라 수행하거나, 복호화 복잡도를 낮추기 위하여 직렬 또는 부분 병렬 처리 방식에 따라 처리할 수 있다. 즉, 검사노드 처리부(422)는 검사노드 갱신 과정을 수행한다.
그리고 변수노드 처리부(421)는 미리 정한 횟수만큼 "1104" 및 "1106" 과정이 수행되었는지 여부를 확인한다(1108).
상기 확인 결과(1108), 미리 정한 횟수만큼 "1104" 및 "1106" 과정이 수행된 경우에, 변수노드 합 계산부(431)는 LLR 값과 변수노드별 에지값의 변수노드 합을 계산한다(1110). 반면에, 미리 정한 횟수만큼 "1104" 및 "1106" 과정이 수행되지 않은 경우에, "1104" 및 "1106" 과정을 다시 수행한다.
이어서, 비트 판단부(432)는 변수노드 합 계산부(431)에서 계산된 변수노드 합에 해당하는 비트 레벨을 "0" 또는 "1"로 판단하여 입력비트를 복원한다(1112).
그리고 비트 출력부(433)는 비트 판단부(432)에서 "0" 또는 "1"로 복원된 입력비트를 순차적으로 출력한다(1114). 이때, 비트 출력 과정은 패리티 검사행렬에 따라 다양한 방법으로 출력될 수 있다.
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1 은 본 발명에 적용되는 QC-LDPC 부호의 패리티 검사행렬에 대한 일실시예 예시도,
도 2 는 도 1의 패리티 검사행렬의 팩터 그래프에 대한 일실시예 예시도,
도 3a 및 도 3b 는 종래의 패리티 검사행렬을 병렬 처리하는 방법에 대한 설명도,
도 4 는 본 발명에 따른 기본 패리티 행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치의 일실시예 구성도,
도 5 는 도 2의 변수노드와 검사노드 간의 에지 중 첫 번째 검사노드와 연결된 에지에 대한 일실시예 설명도,
도 6a 및 도 6b 는 본 발명에 따른 패리티 검사행렬의 팩터 그래프에 대한 일실시예 예시도,
도 7 은 도 1의 패리티 검사행렬을 기본 패리티 검사행렬을 이용하여 순차적으로 처리하는 방법에 대한 일실시예 설명도,
도 8 은 본 발명에 적용되는 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 일실시예 예시도,
도 9a 내지 도 9c 는 본 발명에 따른 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 일실시예 설명도,
도 10 은 본 발명에 적용되는 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 다른 실시예 예시도
도 11 은 본 발명에 따른 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
410: 비트 입력부 420: 검사행렬 처리부
421: 변수노드 처리부 422: 검사노드 처리부
430: 비트 처리부 431: 변수노드 합 계산부
432: 비트 판단부 433: 비트 출력부

Claims (15)

  1. 저밀도 패리티 검사 부호의 복호화 장치에 있어서,
    입력비트에 대한 대수 근사화 확률값을 입력받기 위한 비트 입력 수단;
    상기 입력받은 대수 근사화 확률값에 대한 패리티 검사행렬을, 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하기 위한 검사행렬 처리 수단; 및
    상기 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 상기 입력비트를 복원하기 위한 비트 처리 수단
    을 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  2. 제 1 항에 있어서,
    상기 검사행렬 처리 수단은,
    상기 입력받은 대수 근사화 확률값과 상기 기본 패리티 검사행렬의 변수노드들을 부행렬 별로 순환 시프트시켜, 상기 패리티 검사행렬을 순차적으로 부분 병렬 처리하는 것을 특징으로 하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  3. 제 2 항에 있어서,
    상기 검사행렬 처리 수단은,
    상기 입력받은 대수 근사화 확률값과 상기 기본 패리티 검사행렬의 변수노드들을 부행렬 별로 순환 시프트시켜 변수노드 메시지를 계산하기 위한 변수노드 처리 수단; 및
    상기 계산된 변수노드 메시지를 부행렬 별로 검사노드 연산 과정을 거쳐 검사노드 메시지를 계산하여 상기 변수노드 처리 수단으로 전달하기 위한 검사노드 처리 수단
    을 포함하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  4. 제 3 항에 있어서,
    상기 변수노드 처리 수단은,
    상기 전달받은 검사노드 메시지를 이용하여 상기 변수노드 메시지의 계산에 필요한 변수노드들을 갱신하는 것을 특징으로 하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  5. 제 4 항에 있어서,
    상기 변수노드 처리 수단은,
    상기 변수노드 메시지의 계산에 필요한 변수노드들의 저장 영역을 구비하는 것을 특징으로 하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  6. 제 3 항에 있어서,
    상기 변수노드 처리 수단은,
    빠른 복호 속도를 필요로 하는 경우에, 상기 변수노드 메시지를 병렬 처리 방식에 따라 계산하는 것을 특징으로 하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  7. 제 3 항에 있어서,
    상기 변수노드 처리 수단은,
    낮은 복잡도를 필요로 하는 경우에, 상기 변수노드 메시지를 직렬 처리 방식 또는 부분 병렬 처리 방식 중 어느 한 방식에 따라 계산하는 것을 특징으로 하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  8. 제 1 항에 있어서,
    상기 비트 처리 수단은,
    상기 부분 병렬 처리된 패리티 검사행렬의 변수노드별 에지값과 상기 입력받은 대수 근사화 확률값의 변수노드 합을 계산하기 위한 변수노드 합 계산 수단;
    상기 계산된 변수노드 합에 해당하는 비트 레벨을 판단하여 상기 입력비트를 복원하기 위한 비트 판단 수단; 및
    상기 복원된 입력비트를 출력하기 위한 비트 출력 수단
    을 포함하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  9. 저밀도 패리티 검사 부호의 복호화 방법에 있어서,
    입력비트에 대한 대수 근사화 확률값을 입력받는 비트 입력 단계;
    상기 입력받은 대수 근사화 확률값에 대한 패리티 검사행렬을, 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하는 검사행렬 처리 단계; 및
    상기 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 상기 입력비트를 복원하는 비트 처리 단계
    를 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  10. 제 9 항에 있어서,
    상기 검사행렬 처리 단계는,
    상기 입력받은 대수 근사화 확률값과 상기 기본 패리티 검사행렬의 변수노드들을 부행렬 별로 순환 시프트시켜, 상기 패리티 검사행렬을 순차적으로 부분 병렬 처리하는 것을 특징으로 하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  11. 제 10 항에 있어서,
    상기 검사행렬 처리 단계는,
    상기 입력받은 대수 근사화 확률값과 상기 기본 패리티 검사행렬의 변수노드들을 부행렬 별로 순환 시프트시켜 변수노드 메시지를 계산하는 변수노드 처리 단계; 및
    상기 계산된 변수노드 메시지를 부행렬 별로 검사노드 연산 과정을 거쳐 검사노드 메시지를 계산하는 검사노드 처리 단계
    를 포함하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  12. 제 11 항에 있어서,
    상기 변수노드 처리 단계는,
    상기 계산된 검사노드 메시지를 이용하여 상기 변수노드 메시지의 계산에 필요한 변수노드들을 갱신하는 것을 특징으로 하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  13. 제 11 항에 있어서,
    상기 변수노드 처리 단계는,
    빠른 복호 속도를 필요로 하는 경우에, 상기 변수노드 메시지를 병렬 처리 방식에 따라 계산하는 것을 특징으로 하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  14. 제 11 항에 있어서,
    상기 변수노드 처리 단계는,
    낮은 복잡도를 필요로 하는 경우에, 상기 변수노드 메시지를 직렬 처리 방식 또는 부분 병렬 처리 방식 중 어느 한 방식에 따라 계산하는 것을 특징으로 하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  15. 제 9 항에 있어서,
    상기 비트 처리 단계는,
    상기 부분 병렬 처리된 패리티 검사행렬의 변수노드별 에지값과 상기 입력받은 대수 근사화 확률값의 변수노드 합을 계산하는 변수노드 합 계산 단계;
    상기 계산된 변수노드 합에 해당하는 비트 레벨을 판단하여 상기 입력비트를 복원하는 비트 판단 단계; 및
    상기 복원된 입력비트를 출력하는 비트 출력 단계
    를 포함하는 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
KR1020070129185A 2007-12-12 2007-12-12 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화장치 및 그 방법 KR100939334B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070129185A KR100939334B1 (ko) 2007-12-12 2007-12-12 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화장치 및 그 방법
US12/747,694 US20100269011A1 (en) 2007-12-12 2008-06-04 Apparatus and method for decoding low density parity check code using prototype matrix
PCT/KR2008/003124 WO2009075429A1 (en) 2007-12-12 2008-06-04 Apparatus and method for decoding low density parity check code using prototype matrix

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070129185A KR100939334B1 (ko) 2007-12-12 2007-12-12 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090062086A true KR20090062086A (ko) 2009-06-17
KR100939334B1 KR100939334B1 (ko) 2010-01-29

Family

ID=40755644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070129185A KR100939334B1 (ko) 2007-12-12 2007-12-12 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화장치 및 그 방법

Country Status (3)

Country Link
US (1) US20100269011A1 (ko)
KR (1) KR100939334B1 (ko)
WO (1) WO2009075429A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120004662A (ko) * 2010-07-07 2012-01-13 에스케이텔레콤 주식회사 오류 정정의 병렬 처리를 위한 방송 신호 부호화 및 복호화 방법, 이를 위한 방송 신호 송수신 장치 및 이를 위한 시스템
KR101286858B1 (ko) * 2009-12-21 2013-07-17 한국전자통신연구원 저밀도 패리티 검사 부호를 위한 고속 복호 방법
US9612903B2 (en) 2012-10-11 2017-04-04 Micron Technology, Inc. Updating reliability data with a variable node and check nodes

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577207B2 (en) * 2002-07-03 2009-08-18 Dtvg Licensing, Inc. Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes
US7864869B2 (en) 2002-07-26 2011-01-04 Dtvg Licensing, Inc. Satellite communication system utilizing low density parity check codes
US20040019845A1 (en) * 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
CN101341659B (zh) * 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
US8560917B2 (en) * 2009-01-27 2013-10-15 International Business Machines Corporation Systems and methods for efficient low density parity check (LDPC) decoding
US8667361B1 (en) 2010-10-21 2014-03-04 Marvell International Ltd. Systems and methods for performing bit flipping in an LDPC decoder
US8694868B1 (en) 2010-10-21 2014-04-08 Marvell International Ltd. Systems and methods for performing multi-state bit flipping in an LDPC decoder
KR102068030B1 (ko) 2012-12-11 2020-01-20 삼성전자 주식회사 메모리 컨트롤러 및 그 동작방법
US9231619B2 (en) * 2013-02-04 2016-01-05 SK Hynix Inc. LDPC decoder with a variable node updater which uses a scaling constant

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281192B2 (en) * 2004-04-05 2007-10-09 Broadcom Corporation LDPC (Low Density Parity Check) coded signal decoding using parallel and simultaneous bit node and check node processing
WO2006039801A1 (en) * 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
US7661055B2 (en) * 2005-12-05 2010-02-09 Broadcom Corporation Partial-parallel implementation of LDPC (Low Density Parity Check) decoders
US8028214B2 (en) * 2006-08-17 2011-09-27 Mobile Techno Corp. Low density parity check codes decoder and method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101286858B1 (ko) * 2009-12-21 2013-07-17 한국전자통신연구원 저밀도 패리티 검사 부호를 위한 고속 복호 방법
US8726119B2 (en) 2009-12-21 2014-05-13 Electronics And Telecommunications Research Institute Fast stochastic decode method for low density parity check code
KR20120004662A (ko) * 2010-07-07 2012-01-13 에스케이텔레콤 주식회사 오류 정정의 병렬 처리를 위한 방송 신호 부호화 및 복호화 방법, 이를 위한 방송 신호 송수신 장치 및 이를 위한 시스템
US9612903B2 (en) 2012-10-11 2017-04-04 Micron Technology, Inc. Updating reliability data with a variable node and check nodes
US10191804B2 (en) 2012-10-11 2019-01-29 Micron Technology, Inc. Updating reliability data
US10628256B2 (en) 2012-10-11 2020-04-21 Micron Technology, Inc. Updating reliability data

Also Published As

Publication number Publication date
WO2009075429A1 (en) 2009-06-18
KR100939334B1 (ko) 2010-01-29
US20100269011A1 (en) 2010-10-21

Similar Documents

Publication Publication Date Title
KR100939334B1 (ko) 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화장치 및 그 방법
US8291283B1 (en) Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter
KR102568716B1 (ko) Ldpc 코드의 디코딩을 위한 장치 및 방법
US9548759B1 (en) Systems and methods for processing LDPC codes with different circulant sizes
KR101077552B1 (ko) 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법
KR100941680B1 (ko) 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치
US8429483B1 (en) Edge-based decoders for low-density parity-check codes
KR20080099191A (ko) 동작 파라미터 적응형 ldpc 디코더
KR20100005231A (ko) 패리티 검사 디코더들에서 사용하기 위한 노드 처리기들
JPWO2007080827A1 (ja) 検査行列生成方法
US11159178B2 (en) Method and apparatus for quasi-cyclic low-density parity-check
KR20060056933A (ko) 데이터를 엔코딩 및 디코딩하는 방법 및 장치
US10084480B1 (en) Systems and methods for decoding cascade LDPC codes
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
CN116964945A (zh) 原模图准循环极化码及相关的低密度生成矩阵族
KR20080000479A (ko) 통신 시스템에서 신호 수신 장치 및 방법
US9356734B2 (en) Transmitter, receiver, and signal processing method thereof
JP6472790B2 (ja) 共通ハードウェアリソースを共用する、異なる低密度パリティ検査(ldpc)符号のための低密度パリティ検査の符号化
US10419026B2 (en) Method and apparatus for efficient data decoding
KR20090064709A (ko) Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치
WO2019042543A1 (en) DECODING CONVOLUTIVE TURBO-CODES OF LOW DENSITY PARITY CHECK
KR20180042510A (ko) 파운틴 코드의 디코딩을 수행하는 방법 및 장치
KR20090063055A (ko) 메시지 전달 알고리즘을 이용한 ldpc 코드 부호화 장치및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121206

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131209

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141229

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee