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

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

Info

Publication number
KR20090063948A
KR20090063948A KR1020070131487A KR20070131487A KR20090063948A KR 20090063948 A KR20090063948 A KR 20090063948A KR 1020070131487 A KR1020070131487 A KR 1020070131487A KR 20070131487 A KR20070131487 A KR 20070131487A KR 20090063948 A KR20090063948 A KR 20090063948A
Authority
KR
South Korea
Prior art keywords
parity check
matrix
sub
value
variable node
Prior art date
Application number
KR1020070131487A
Other languages
English (en)
Other versions
KR101077552B1 (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 KR1020070131487A priority Critical patent/KR101077552B1/ko
Priority to US12/166,866 priority patent/US8214717B2/en
Publication of KR20090063948A publication Critical patent/KR20090063948A/ko
Application granted granted Critical
Publication of KR101077552B1 publication Critical patent/KR101077552B1/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/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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields

Landscapes

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

Abstract

본 발명은 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치 및 그 방법에 관한 것으로, 입력비트를 패리티 검사행렬을 이용하여 복호화함에 있어서, 부행렬 크기 및 병렬화 수치에 따라 결정된 복수의 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 순차적으로 부분 병렬 처리함으로써, 복잡도를 줄이면서 복호처리를 고속으로 수행할 수 있으며 더 나아가 다양한 부호어의 길이 및 부호율을 지원할 수 있게 하는, 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치 및 그 방법을 제공하고자 한다.
이를 위하여, 본 발명은 저밀도 패리티 검사 부호의 복호화 장치에 있어서, 패리티 검사행렬을 처리할 부행렬 크기 및 병렬화 수치에 따라 복수의 기본 패리티 검사행렬을 결정하기 위한 패리티 검사행렬 선택 수단; 입력비트에 대한 대수 근사화 확률값을 상기 부행렬 크기 및 병렬화 수치에 따라 입력받기 위한 비트 입력 수단; 상기 패리티 검사행렬을, 상기 입력받은 대수 근사화 확률값과 상기 결정된 복수의 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하기 위한 검사행렬 처리 수단; 및 상기 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 상기 부행렬 크기 및 병렬화 수치에 따라 상기 입력비트를 복원하기 위한 비트 처리 수단을 포함한다.
저밀도 패리티 검사 부호, 패리티 검사행렬, 기본 패리티 검사행렬, 부분 병렬 처리, 부호어

Description

복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치 및 그 방법{APPARATUS AND METHOD OF DECODING LOW DENSITY PARITY CHECK CODE USING MUlTI 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)급의 처리속도를 요구하는 초고속 무선통신 시스템에서는 병렬 처리 방식의 복호화 방법이 유리하다. 또한, 초고속 무선통신 시스템에서 최근 각광받는 적응 변조 및 부호화 기법을 효과적으로 적용하기 위해서는, 우수한 오류 정정 성능을 가진 가변 정보 길이 및 가변 보호 비율의 저밀도 패리티 검사 부호가 요구된다. 또한, 이러한 저밀도 패리티 검사 부호의 복호화 복잡도도 작아야 한다.
하지만, 종래의 병렬 처리 방식의 복호화 방법은 변수노드와 검사노드 간의 무작위적이고 복잡한 연결로 인해 계산량 및 복잡도가 증가하여 처리 시간이 지연된다는 문제점이 있다. 특히, 종래의 병렬 처리 방식의 복호화 방법은 다양한 부호어의 길이와 다양한 부호율을 지원하기 위해서, 추가적으로 계산량 및 복잡도가 증가되어 부호어의 길이와 부호율의 변화에 적응적으로 대응할 수 없다는 문제점이 있다.
따라서 상기와 같은 종래 기술은 다양한 부호어의 길이와 다양한 부호율을 지원하기 위해서, 추가적으로 계산량 및 복잡도가 증가되어 부호어의 길이와 부호율의 변화에 적응적으로 대응할 수 없다는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 입력비트를 패리티 검사행렬을 이용하여 복호화함에 있어서, 병렬화 수치에 따라 결정된 복수의 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 순차적으로 부분 병렬 처리함으로써, 복잡도를 줄이면서 복호처리를 고속으로 수행할 수 있으며 더 나아가 다양한 부호어의 길이 및 부호율을 지원할 수 있게 하는, 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명은 상기 문제점을 해결하기 위하여, 입력비트를 패리티 검사행렬을 이용하여 복호화함에 있어서, 병렬화 수치에 따라 결정된 복수의 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 순차적으로 부분 병렬 처리하는 것을 특징으로 한다.
더욱 구체적으로, 본 발명은, 저밀도 패리티 검사 부호의 복호화 장치에 있어서, 패리티 검사행렬을 처리할 부행렬 크기 및 병렬화 수치에 따라 복수의 기본 패리티 검사행렬을 결정하기 위한 패리티 검사행렬 선택 수단; 입력비트에 대한 대수 근사화 확률값을 상기 부행렬 크기 및 병렬화 수치에 따라 입력받기 위한 비트 입력 수단; 상기 패리티 검사행렬을, 상기 입력받은 대수 근사화 확률값과 상기 결정된 복수의 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하기 위한 검사행렬 처리 수단; 및 상기 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 상기 부행렬 크기 및 병렬화 수치에 따라 상기 입력비트를 복원하기 위한 비트 처리 수단을 포함한다.
또한, 본 발명은, 저밀도 패리티 검사 부호의 복호화 방법에 있어서, 패리티 검사행렬을 처리할 부행렬 크기 및 병렬화 수치에 따라 복수의 기본 패리티 검사행렬을 결정하는 패리티 검사행렬 선택 단계; 입력비트에 대한 대수 근사화 확률값을 상기 부행렬 크기 및 병렬화 수치에 따라 입력받는 비트 입력 단계; 상기 패리티 검사행렬을, 상기 입력받은 대수 근사화 확률값과 상기 결정된 복수의 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하는 검사행렬 처리 단계; 및 상기 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 상기 부행렬 크기 및 병렬화 수치에 따라 상기 입력비트를 복원하는 비트 처리 단계를 포함한 다.
상기와 같은 본 발명은, 입력비트를 패리티 검사행렬을 이용하여 복호화함에 있어서, 병렬화 수치에 따라 결정된 복수의 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 순차적으로 부분 병렬 처리함으로써, 복잡도를 줄이면서 복호처리를 고속으로 수행할 수 있는 효과가 있다.
또한, 본 발명은 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 순차적으로 부분 병렬 처리하는 과정을 부행렬 크기 변환 및 병렬화 수치 변환에 확장 적용함으로써, 다양한 부호어의 길이 및 부호율을 지원할 수 있게 하는 효과가 있다. 더 나아가, 본 발명은, 부호어의 길이가 바뀌어도 복호 처리속도를 동일하게 유지할 수 있고 하드웨어 자원을 모두 사용하여 효율성을 높일 수 있는 효과가 있다.
또한, 본 발명은 부행렬의 크기 변환 및 병렬화 수치 변환에 따른 입력 LLR 및 변수노드의 순환 시프트 연결을 간단한 스위칭을 이용하여 변경함으로써, 다른 부호어 입력을 간단하면서도 동시에 처리할 수 있게 하는 효과가 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기 술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
이하의 실시예에서는 본 발명에 이용되는 부행렬(Sub-matrix)의 크기, 부행렬의 개수, 패리티 검사행렬의 차수 분포 등을 고정하여 본 발명을 설명하기로 하나, n×n 부행렬(sub-matrix)의 길이를 변형시키는 방법, 부행렬의 개수를 변형시키는 방법, 패리티 검사행렬의 차수 분포(Degree Distribution) 변화에 따른 변형된 패리티 검사행렬을 이용하는 방법도 본 발명의 범주에 속함을 당업자라면 충분히 이해할 수 있을 것이다.
하기의 [수학식 1]은 일반적인 5×5의 순환 순열 행렬(cyclic-permutation matrix)에 대한 일례이다.
Figure 112007090252122-PAT00001
여기서,
Figure 112007090252122-PAT00002
는 5×5의 순환 순열 행렬(부행렬)을 나타낸다.
상기 [수학식 1]에 표시된 바와 같이, 부행렬(
Figure 112007090252122-PAT00003
)은 단위 행렬의 열들을
Figure 112007090252122-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 112007090252122-PAT00005
"을 나타낸다.
따라서 도 1에 도시된 QC-LDPC 부호의 패리티 검사행렬은 5×5의 부행렬이 3개 행과 6개의 열로 이루어져 있다. 즉, QC-LDPC 부호의 패리티 검사행렬은 15개의 행들과 30개의 열들로 이루어져 있으며, 각 행에서 "1"을 더한 값은 6으로 균일하고 각 열에서 "1"을 더한 값은 3으로 균일하다.
도 2a 및 도 2b 는 도 1의 패리티 검사행렬의 팩터 그래프에 대한 예시도이다.
도 1에 도시된 QC-LDPC 부호의 패리티 검사행렬의 팩터 그래프에서는 변수노 드와 검사노드 간의 에지의 개수가 90개인데 반하여, 도 2a에 도시된 본 발명에 적용되는 패리티 검사행렬의 팩터 그래프에서는 18개의 에지(231)가 있다.
패리티 검사행렬의 팩터 그래프에서는 변수노드 메시지를 전달할 6개의 실선으로 표시된 에지(231)가 각 검사노드마다 나타나 있다. 또한, 검사노드 메시지를 전달할 6개의 점선으로 표시된 에지(232)가 각 검사노드마다 나타나 있다. 따라서 본 발명에 따른 패리티 검사행렬의 팩터 그래프에서 부행렬의 개수에 반비례하여, 에지(231)의 개수는 90개의 에지에서 18개의 에지로 5배가 감소하고, 검사노드(221)의 개수도 15개에서 3개로 5배가 감소한다.
변수노드 처리 과정을 살펴보면, 변수노드(211, 212) 값과 LLR 값(201)은 매 처리 시간마다 부행렬 별로 순환 시프트(Cyclic Shift)된다. 도 2b에 도시된 바와 같이, 변수노드(211, 212)에서 검사노드(221)로 전달하는 변수노드 메시지가 계산된다. 즉, LLR 값(201)과 구하고자 하는 변수노드를 제외한 나머지 변수노드(211, 212) 값의 합 연산을 통해 변수노드 갱신 과정이 수행된다. 예를 들면, 변수노드(211, 212) 값과 LLR 값(201)에 해당하는 열에 대해서만 연산이 수행되어 변수노드 메시지가 계산된다. 그리고 계산된 변수노드 메시지는 에지(231)를 통해 검사노드(221)로 전달된다.
이어서, 인접한 변수노드(213) 값과 검사노드(222)로부터 전달된 검사노드 메시지는 변수노드(211, 212)로 순환 시프트되고, 그 열에 대해서만 변수노드 처리 과정이 수행되어 다음 변수노드 메시지가 계산된다.
그리고 검사노드(221)로 전달된 변수노드 메시지로부터 검사노드 메시지가 계산되고, 계산된 검사노드 메시지는 에지(232)를 통해 변수노드(214)로 전달된다.
도 3 은 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 예시도이다.
도 3에 도시된 바와 같이, 비균일 QC-LDPC 부호의 패리티 검사행렬에서 정사각형(301, 302)은 7×7의 단위행렬(부행렬)을 나타내고, 그 안의 값은 우측으로 순환 이동된 값을 나타낸다. 예를 들어, "2"의 값을 가진 정사각형(301)은 "2"만큼 우측으로 순환 이동된 부행렬을 나타낸다. 또한, "-"의 값을 가진 정사각형(302)은 모든 원소가 "0"인 "0 행렬"을 나타낸다.
따라서 도 3에 도시된 비균일 LDPC 부호의 패리티 검사행렬은 7×7의 부행렬이 4개 행과 8개의 열로 이루어져 있다. 즉, 비균일 LDPC 부호의 패리티 검사행렬은 28개의 행들과 56개의 열들로 이루어져 있으며, 각 행에서 "1"을 더한 값은 5 또는 6으로 비균일하고 각 열에서 "1"을 더한 값은 2 또는 3으로 비균일하다.
도 4a 내지 도 4c 는 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 설명도이다.
도 4a 및 도 4b에 도시된 바와 같이, 변수노드와 검사노드 간의 에지는 도 3의 패리티 검사행렬 부행렬의 개수인 21개가 필요하다. 여기서, 각각의 변수노드와 검사노드 간의 직접적인 연결은 표시되어 있지 않다. 각각의 에지는 기본 패리티 검사행렬에서 "0 행렬"을 제외한 부행렬에 해당하는 변수노드와 검사노드 간의 연결에 필요하다.
도 3에 도시된 패리티 검사행렬의 기본 패리티 검사행렬에 대응되는 변수노드마다 LLR 값(4001)과 변수노드(4011, 4012) 값의 합 연산을 통해 도 4a에 도시된 변수노드 메시지(예를 들면, o0_0, o0_1, o0_2, o1_1, …, o7_1, o7_0)가 계산된다. 그리고 계산된 변수노드 메시지는 도 4c에 도시된 제0 열 내지 3열 검사노드(41 내지 44)로 전달된다. 그리고 LLR 값(4001)과 변수노드(4012) 값은 부행렬 별로 순환 시프트된다.
예를 들면, 패리티 검사행렬의 제1열 및 제1행의 "6"에 해당하는 순환 시프트값에 대해서, 해당 변수노드(4011, 4012) 값과 LLR 값(4001)의 합 연산을 통해 변수노드 메시지(o0_0)가 계산된다. 동일한 방식으로, 패리티 검사행렬의 부행렬 값에 대응되는 21개의 변수노드 메시지 연산 과정(401 내지 405, 411 내지 415, 421 내지 426, 및 431 내지 435)을 통해, 변수노드 메시지(o0_0, o0_1, o0_2, o1_1, …, o7_1, o7_0)가 계산된다. 그리고 변수노드(4012) 값과 LLR 값(4001)을 부행렬 별로 순환 시프트되고, 반복적으로 변수노드 갱신 과정이 수행된다.
도 4c에 도시된 바와 같이, 계산된 변수노드 메시지(o0_0, o0_1, o0_2, o1_1, …, o7_1, o7_0)는 제0열 내지 제3열 검사노드(41 내지 44)에 저장된다.
그리고 제0열 검사노드(41)에 저장된 제0열 변수노드 메시지(o0_0, o2_0, o3_0, o4_0, o5_0)는 검사노드 연산 과정에 적용되어 검사노드 메시지(i0_0, i2_0, i3_0, i4_0, i5_0)가 계산된다. 그리고 계산된 검사노드 메시지(i0_0, i2_0, i3_0, i4_0, i5_0)는 해당 변수노드로 전달된다. 그러면, 전달된 검사노드 메시지(i0_0, i2_0, i3_0, i4_0, i5_0)는 해당 변수노드에 각각 저장된다. 동일한 방식으로, 제1 열 내지 제3 열 검사노드(42 내지 44)에 대해서도 검사노드 연산 과정이 수행된다.
도 5 는 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 다른 예시도이다.
도 5에 도시된 바와 같이, 비균일 QC-LDPC 부호의 패리티 검사행렬에서 정사각형(501, 502)은 38×38의 단위행렬(부행렬)을 나타내고, 그 안의 값은 우측으로 순환 이동된 값을 나타낸다. 예를 들어, "33"의 값을 가진 정사각형(501)은 "33"만큼 우측으로 순환 이동된 부행렬을 나타낸다. 또한, "-"의 값을 가진 정사각형(502)은 모든 원소가 "0"인 "0 행렬"을 나타낸다.
따라서 도 5에 도시된 비균일 QC-LDPC 부호의 패리티 검사행렬은 38×38의 부행렬이 12개 행과 24개의 열로 이루어져 있다. 즉, 비균일 QC-LDPC 부호의 패리티 검사행렬은 456개의 행들과 912개의 열들로 이루어져 있다.
도 6 은 도 5과 다른 부행렬의 크기를 가지는 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 예시도이다.
도 6에 도시된 바와 같이, 비균일 QC-LDPC 부호의 패리티 검사행렬에서 정사각형(601, 602)은 19×19의 단위행렬(부행렬)을 나타내고, 그 안의 값은 우측으로 순환 이동된 값을 나타낸다. 예를 들어, "14"의 값을 가진 정사각형(601)은 "14"만큼 우측으로 순환 이동된 부행렬을 나타낸다. 또한, "-"의 값을 가진 정사각형(602)은 모든 원소가 "0"인 "0 행렬"을 나타낸다.
따라서 도 6에 도시된 비균일 QC-LDPC 부호의 패리티 검사행렬은 19×19의 부행렬이 12개 행과 24개의 열로 이루어져 있다. 즉, 비균일 QC-LDPC 부호의 패리티 검사행렬은 228개의 행들과 456개의 열들로 이루어져 있다.
한편, 본 발명에 따른 변수노드 및 검사노드 처리 과정은 빠른 복호 속도를 필요로 하는 경우와 낮은 복잡도를 요구하는 경우에 따라 다르게 처리될 수 있다. 즉, 변수노드 및 검사노드 처리 과정은, 빠른 복호 속도를 필요로 하는 경우에 병렬 처리 방식에 따라 수행되고, 낮은 복잡도를 요구하는 경우에 직렬 처리 방식 또는 부분 병렬 처리 방식 중 어느 한 처리 방식에 따라 수행될 수 있다.
예를 들어, 도 5에 도시된 에지의 개수가 73개인 부행렬에 대한 변수노드 및 검사노드 처리 과정을 빠른 복호 속도로 수행하고자 한다면, 변수노드 처리 과정은 병렬 처리 방식으로 수행되어야 한다. 이러한 변수노드 처리 과정에는 차수가 6인 변수노드 처리 과정이 4번, 차수가 3인 변수노드 처리 과정이 9번, 차수가 2인 변수노드 처리 과정이 11번 포함된다. 또한, 이러한 검사노드 처리 과정에는 차수가 6인 검사노드 처리 과정이 11번, 차수가 7인 검사노드 처리 과정이 1번 포함된다.
다른 예로, 도 5에 도시된 에지의 개수가 73개인 부행렬에 대한 변수노드 및 검사노드 처리 과정을 낮은 복잡도로 처리하고자 한다면, 변수노드 처리 과정은 전체 병렬 처리 방식으로 수행되어야 한다. 이러한 경우는 처리속도가 저하되나 복잡도는 낮아지므로, 고속 복호가 필요하지 않으면서 낮은 복잡도가 필요한 경우에 유용하게 적용될 수 있다.
한편, 도 5에 도시된 패리티 검사행렬의 첫 번째 열(51)과 네 번째 열(52), 및 도 6에 도시된 패리티 검사행렬의 첫 번째 열(61)과 네 번째 열(62)을 비교하여 살펴보면, 도 6에 도시된 패리티 검사행렬에서 모든 원소가 0이 아닌 우측으로 순환 이동된 값을 나타내는 정사각형(601)은 도 5의 패리티 검사행렬과 동일한 위치에 있다. 그 순환 이동된 값은 도 5의 정사각형(501) 안의 값을 "19"로 나눈 나머지의 값이다. 예를 들면, "22"의 값을 가진 정사각형(503)인 부행렬과 대응되는 도 6에서의 패리티 검사행렬의 부행렬은 "22"를 19로 나눈 나머지에 해당하는 "3"의 값을 가진 정사각형(603)이다. 또한, "29"의 값을 가진 정사각형(504)인 부행렬과 대응되는 도 6에서의 패리티 검사행렬의 부행렬은 "29"를 19로 나눈 나머지에 해당하는 "10"의 값을 가진 정사각형(604)이다.
본 발명에서는 도 6에 도시된 패리티 검사행렬 즉, 부행렬의 크기를 변환한 기본 패리티 검사행렬을 이용하여 부호어의 길이를 n배 증가시키거나 감소시킬 수 있다. 또한, 본 발명에서는 다른 부행렬 크기 값으로 나눈 나머지 값이 아닌 변형된 값에 해당하는 부행렬 크기 값을 이용하여 복호화할 수 있다.
도 7a 및 도 7b 는 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 과정에 대한 예시도이다.
도 7a 및 7b에 도시된 바와 같이, 도 5에 도시된 패리티 검사행렬의 첫 번째 열(51)에 대해서, 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 과정(701 내지 706)이 나타나 있다. 패리티 검사행렬의 첫 번째 열(51)에 대응되는 변수노드마다 LLR 값(7001)과 변수노드(7011 내지 7014) 값들의 합 연산을 통해 변수노드 메시지가 계산된다. 그리고 계산된 변수노드 메시지는 도 7b에 도시된 변수노드(71)에서 검사노드(72)로 전달된다. 이어서, LLR 값(7001)과 변수노드(7011 내지 7014) 값은 부행렬 별로 순환 시프트된다.
예를 들면, 도 5에 도시된 패리티 검사행렬의 첫 번째 열(51)의 제7 행에 해당하는 18번 순환 이동된 부행렬에 대해서, 해당 변수노드(7011 내지 7014) 값과 LLR 값(7001)의 합 연산을 통해 변수노드 메시지(out19_1)가 계산된다. 동일한 방 식으로, 패리티 검사행렬의 각 부행렬 값에 대응되는 변수노드 메시지 연산 과정(701 내지 706)을 통해 변수노드 메시지(out19_1, out23_1, out15_2, out8_1, out17_1, out21_1)가 계산된다. 변수노드(7011 내지 7014) 값과 LLR 값(7001)은 부행렬 별로 순환 시프트되고, 반복적으로 변수노드 갱신 과정이 수행된다.
도 8a 및 도 8b 는 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 과정에 대한 다른 예시도이다.
도 8a 및 8b에 도시된 바와 같이, 도 5에 도시된 패리티 검사행렬의 네 번째 열(52)에 대해서, 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 과정(801 내지 803)이 나타나 있다. 패리티 검사행렬의 네 번째 열(52)에 대응되는 변수노드마다 LLR 값(8001)과 변수노드(8011 및 8012) 값들의 합 연산을 통해 변수노드 메시지가 계산된다. 그리고 계산된 변수노드 메시지는 도 8b에 도시된 변수노드(81)에서 검사노드(82)로 전달된다. 이어서, LLR 값(8001)과 변수노드(8011 내지 8014) 값은 부행렬 별로 순환 시프트된다.
예를 들면, 도 5에 도시된 패리티 검사행렬의 네 번째 열(52)의 제9 행에 해당하는 15번 순환 이동된 부행렬에 대해서, 해당 변수노드(8011 및 8012) 값과 LLR 값(8001)의 합 연산을 통해 변수노드 메시지(out21_1)가 계산된다. 동일한 방식으로, 패리티 검사행렬의 각 부행렬 값에 대응되는 변수노드 메시지 연산 과정(801 내지 803)을 통해 변수노드 메시지(out21_1, out6_1, out2_1)가 계산된다. 변수노드(8011 내지 8014) 값과 LLR 값(8001)은 부행렬 별로 순환 시프트되고, 반복적으로 변수노드 갱신 과정이 수행된다.
모든 변수노드 처리 과정을 기본 패리티 검사행렬을 이용하여 부분 병렬 처리하는 과정은 복호 속도를 빠르게 하거나 복잡도를 낮출 수 있다. 하지만, 도 7a 및 도 7b와, 도 8a 및 도 8b에 도시된 바와 같이, 기본 패리티 검사행렬을 이용한 부분 병렬 처리 과정은 부행렬의 크기가 확장됨에 따라 처리 과정이 복잡해지고 복호 처리 속도가 현저히 낮아질 수밖에 없다.
이에 따라, 도 5와 도 6의 형태 및 이와 유사하게 부행렬의 크기가 확장, 축소된 패리티 검사행렬들을 하나의 복호 장치에서 구현하고자 할 때, 기본 패리티 검사행렬을 이용한 부분 병렬 처리 과정을 부행렬 크기에 따라 나누어서 복호화하는 방법을 살펴보기로 한다. 또한, 도 5에 도시된 기본 패리티 검사행렬을 이용한 부분 병렬 처리 방법과 대비하여, 두 배 확장된 병렬화 크기에 따라 복호 속도를 향상시키는 방법도 살펴보기로 한다.
도 9 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치의 일실시예 구성도이다.
도 9에 도시된 바와 같이, 본 발명에 따른 저밀도 패리티 검사부호의 복호화 장치는, 패리티 검사행렬 선택부(910), 비트 입력부(920), 검사행렬 처리부(930) 및 비트 처리부(940)를 포함한다. 여기서, 검사행렬 처리부(930)는 변수노드 처리부(931)와 검사노드 처리부(932)를 포함한다. 또한, 비트 처리부(940)는 변수노드 합 계산부(941), 비트 판단부(942) 및 비트 출력부(943)를 포함한다.
패리티 검사행렬 선택부(910)는 패리티 검사행렬을 처리할 부행렬 크기 및 병렬화 수치에 따라 복수의 기본 패리티 검사행렬을 결정한다. 패리티 검사행렬 선 택부(910)에서 결정된 복수의 기본 패리티 검사행렬은 부행렬 크기 변환 및 병렬화 수치 변환에 확장 적용된다. 패리티 검사행렬 선택부(910)는 다양한 부호어의 길이 및 부호율에 따라 복수의 기본 패리티 검사행렬을 결정하고, 비트 입력부(920), 검사행렬 처리부(930) 및 비트 처리부(940)로 다양한 부호어의 길이 및 부호율에 관한 병렬화 수치 및 부행렬 크기 정보를 전달한다.
비트 입력부(920)는 입력비트에 대한 대수 근사화 확률값을 패리티 검사행렬 선택부(910)에서 결정된 복수의 기본 패리티 검사행렬에 따라 입력받는다.
그리고 검사행렬 처리부(930)는 처리할 패리티 검사행렬을, 비트 입력부(920)에서 입력받은 대수 근사화 확률값과 복수의 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리한다. 기본 패리티 검사행렬이란 패리티 검사행렬 중에서 부행렬 별로 하나의 행과 관련된 패리티 검사행렬을 말한다.
그리고 비트 처리부(940)는 검사행렬 처리부(930)에서 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 병렬화 수치에 따라 입력비트를 복원하고 복원된 비트를 출력한다.
이하, 본 발명에 따른 저밀도 패리티 검사부호의 복호화 장치의 구성요소 각각에 대하여 상세하게 설명하기로 한다.
패리티 검사행렬 선택부(910)는 패리티 검사행렬을 처리할 병렬화 수치에 따라 복수의 기본 패리티 검사행렬을 결정한다.
비트 입력부(920)는 LDPC 부호화 장치로부터 입력비트에 대한 LLR값을, 결정된 복수의 기본 패리티 검사행렬에 따라 순차적으로 입력받고, 입력받은 입력비트 에 대한 LLR 값을 주어진 시간에 변수노드 처리부(931)로 전달한다. 이러한 LLR 값을 주어진 시간에 전달하는 과정은 패리티 검사행렬마다 다르게 수행될 수 있다. 또한, 비트 입력부(920)는 서로 다른 입력비트에 대한 대수 근사화 확률값을 각각 입력받을 수 있다.
그리고 변수노드 처리부(931)는 비트 입력부(920)로부터 전달받은 LLR 값과 변수노드 값의 합을 연산하여 변수노드 메시지를 계산한다. 이때, 변수노드 처리부(931)는 복수의 기본 패리티 검사행렬에 따라 LLR 값과 변수노드 값의 합을 연산하고 그 계산된 변수노드 메시지를 검사노드 처리부(932)로 전달한다. 또한, 변수노드 처리부(931)는 검사노드 처리부(932)로부터 검사노드 메시지를 전달받는다. 즉, 변수노드 처리부(931)는 이러한 메시지의 교환 과정을 통해 변수노드를 갱신하는 기능을 수행한다.
검사노드 처리부(932)는 변수노드 처리부(931)로부터 전달받은 변수노드 메시지를 검사노드 연산 과정에 적용하여 검사노드 메시지를 계산한다. 이때, 검사노드 처리부(932)는 복호화 속도를 빠르게 하기 위하여 전체 병렬 방식으로 수행하거나, 복호화 복잡도를 낮추기 위하여 직렬 또는 부분 병렬 처리 방식으로 처리할 수 있다. 검사노드 처리부(932)는 계산된 검사노드 메시지를 변수노드 처리부(931)로 전달한다.
이때, 변수노드 처리부(931)는 부행렬 크기 및 병렬화 수치에 따라 LLR 값 및 변수노드 값을 부행렬 별로 순환 시프트(Cyclic-Shift)시키고, 패리티 검사행렬을 순차적으로 부분 병렬 처리한다. 변수노드 처리부(931)는 순환 시프트시킨 변수 노드 값과 LLR 값의 합을 연산하는 과정을 반복적으로 수행한다. 여기서, 변수노드 처리부(931)는 검사노드 처리부(932)로부터 전달된 검사노드 메시지를 이용하여 변수노드 메시지의 계산에 필요한 변수노드들을 갱신한다. 그러면, 변수노드 처리부(931)는 갱신된 변수노드 값을 이용하여 변수노드 메시지를 계산한다.
한편, 변수노드 처리부(931)는 비트 입력부(920)에서 각각 입력받은 대수 근사화 확률값과 서로 다른 기본 패리티 검사행렬의 변수노드들을 부행렬 크기 및 병렬화 수치에 따라 부행렬 별로 순환 시프트시켜 변수노드 메시지를 각각 계산한다. 그러면, 변수노드 처리부(931)는 두 개의 다른 부호어 입력을 동시에 처리할 수 있다. 또한, 변수노드 처리부(931)는 각각 입력받은 대수 근사화 확률값과 서로 다른 기본 패리티 검사행렬의 변수노드들을 순환 시프트시키되, 대수 근사화 확률값 및 변수노드들의 순환 시프트 연결을 간단한 스위칭을 이용하여 변경한다. 여기서, 서로 다른 패리티 검사행렬은 부행렬 크기로 나눈 나머지 값이 일치하는 각 부행렬의 순환 시프트 값을 가진다.
이후, 변수노드 합 계산부(941)는 변수노드 처리부(931) 및 검사노드 처리부(932)에서 복수의 기본 패리티 검사행렬에 따른 LDPC 복호화 과정을 미리 정한 개수 또는 사용자가 원하는 만큼 반복적으로 수행한 후, LLR 값과 변수노드별 에지값의 변수노드 합을 계산하여 비트 판단부(942)로 전달한다.
이어서, 비트 판단부(942)는 변수노드 합 계산부(941)에서 계산된 변수노드 합에 해당하는 비트 레벨을 "0" 또는 "1"로 판단하여 입력비트를 복원한다.
그리고 비트 출력부(943)는 비트 판단부(942)에서 복원된 입력비트를 주어진 시간에 입력받고, 복수의 기본 패리티 검사행렬에 관한 병렬화 수치 및 부행렬의 크기에 따라 복원된 입력비트를 순차적으로 출력한다. 이때, 비트 출력 과정은 패리티 검사행렬에 따라 다양한 방법으로 출력될 수 있다.
도 10a 및 도 10b 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용하여 도 5의 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 일실시예 설명도이다.
도 10a 및 10b에 도시된 바와 같이, 도 5에 도시된 패리티 검사행렬의 첫 번째 열(51)에 대해서, 부행렬의 크기 변환을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 과정(1001 내지 1006)이 나타나 있다. 변수노드 처리부(931)는 패리티 검사행렬의 첫 번째 열(51)에 대응되는 변수노드마다 LLR 값(10001, 10002)과 변수노드(10011 내지 10015 및 10021 내지 10025)들의 합 연산을 통해 변수노드 메시지를 계산한다. 예를 들면, 변수노드 처리부(931)는 도 5에 도시된 패리티 검사행렬의 첫 번째 열(51)의 제7 행에 해당하는 18번 순환 이동된 부행렬에 대해서, 첫 번째 LLR 값(10001)과 해당 변수노드(10011 내지 10015)의 합 연산을 통해 변수노드 메시지(out19_1)를 계산하고, 두 번째 LLR 값(10002)과 해당 변수노드(10021 내지 10025)의 합 연산을 통해 변수노드 메시지(out19_2)를 계산한다. 동일한 방식으로, 변수노드 처리부(931)는 패리티 검사행렬의 각 부행렬 값에 대응되는 첫 번째 및 두 번째 변수노드 처리 과정(1001 내지 1006)을 통해 변수노드 메시지(out19_1 및 out19_2, out23_1 및 out23_2, out15_2 및 out15_1, out8_1 및 out8_2, out17_1 및 out17_2, out21_1 및 out21_2)를 계산한다. 이어서, 변수노드 처리부(931)는 LLR 값(10001, 10002)과 변수노드 값(10011 내지 10015 및 10021 내지 10025)을 부행렬 별로 순환 시프트시킨다.
도 10b에 도시된 바와 같이, 변수노드 처리부(931)는 계산된 변수노드 메시지를 변수노드(1031)에서 서로 다른 검사노드(1032, 1033)로 각각 전달한다. 이는 변수노드의 처리 과정을 2배 빠르게 수행하기 위함이다.
도 11a 및 도 11b 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용하여 도 5의 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 다른 실시예 설명도이다.
도 11a 및 11b에 도시된 바와 같이, 도 5에 도시된 패리티 검사행렬의 네 번째 열(52)에 대해서, 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 과정(1101 내지 1103)이 나타나 있다. 변수노드 처리부(931)는 패리티 검사행렬의 네 번째 열(52)에 대응되는 변수노드마다 LLR 값(11001, 11002)과 변수노드(11011과 11012, 및 11021과 11022) 값들의 합 연산을 통해 변수노드 메시지를 계산한다. 예를 들면, 변수노드 처리부(931)는 도 5에 도시된 패리티 검사행렬의 네 번째 열(52)의 제9 행에 해당하는 15번 순환 이동된 부행렬에 대해서, 첫 번째 LLR 값(11001)과 해당 변수노드(11011 및 11012) 값과의 합 연산을 통해 변수노드 메시지(out21_1)를 계산하고, 두 번째 LLR 값(11002)과 해당 변수노드(11021 및 11022) 값과의 합 연산을 통해 변수노드 메시지(out21_2)를 계산한다. 동일한 방식으로, 변수노드 처리부(931)는 패리티 검사행렬의 각 부행렬 값에 대응되는 변수노드 메시지 연산 과정(1101 내지 1103)을 통해 변수노드 메시지(out21_1, out21_2, out6_1, out6_2, out2_1, out2_2)를 계산한다. 이어서, 변수노드 처리부(931)는 LLR 값(11001, 11002))과 변수노드(11011과 11012, 및 11021과 11022) 값을 부행렬 별로 순환 시프트시킨다.
도 11b에 도시된 바와 같이, 변수노드 처리부(931)는 계산된 변수노드 메시지를 변수노드(1131)에서 서로 다른 검사노드(1132, 1133)로 각각 전달한다.
도 10a 및 10b와, 도 11a 및 11b에 도시된 패리티 검사행렬의 부분 처리 과정에서, 변수노드 처리부(931)는 도 8 및 도 9의 처리 과정에 비하여, 두 개의 서로 다른 패리티 검사행렬 처리 과정을 통해 두 개의 변수노드 메시지를 생성하기 때문에, 변수노드와 검사노드 간의 연결은 두 배 복잡하지만 두 배 빠른 수렴 속도를 가질 수 있다.
도 12a 및 도 12b 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용하여 도 6의 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 다른 실시예 설명도이다.
도 12a 및 12b에 도시된 바와 같이, 도 6에 도시된 패리티 검사행렬의 첫 번째 열(61)에 대한 병렬화 수치를 변환한 부분 병렬 처리 과정(1201 내지 1206)이 나타나 있다.
변수노드 처리부(931)는 패리티 검사행렬의 첫 번째 열(51)의 제7 행에 대해서, 도 10a 및 도 10b에 도시된 순환 시프트 방식에서 38×38 부행렬 별로 각 LLR 값(10001, 10002)과 변수노드 값(10011 내지 10015 및 10021 내지 10025)을 0 내지 37 번 순서대로 순환 시프트시킨다.
한편, 변경된 순환 시프트 방식을 살펴보면, 변수노드 처리부(931)는 패리티 검사행렬 선택부(910)에서 선택된 병렬화 수치에 따라 순환 시프트 방식을 변경한다. 즉, 변수노드 처리부(931)는 도 12a 및 도 12b에 도시된 순환 시프트 방식에서 19×19 부행렬 별로 각각의 LLR 값(12001, 12002)과 각각의 변수노드 값(12011 내지 12015 및 12021 내지 12025)을 0 내지 19 번 순서대로 순환 시프트시킨다.
예를 들면, 변수노드 처리부(931)는 도 6에 도시된 패리티 검사행렬의 첫 번째 열(61)의 제7 행에 해당하는 18번 순환 이동된 부행렬에 대해서, 첫 번째 LLR 값(12001)과 해당 변수노드(12011 내지 12015)의 합 연산을 통해 변수노드 메시지(out19_1)를 계산하고, 두 번째 LLR 값(12002)과 해당 변수노드(12021 내지 12025)의 합 연산을 통해 변수노드 메시지(out19_2)를 계산한다. 동일한 방식으로, 변수노드 처리부(931)는 패리티 검사행렬의 각 부행렬 값에 대응되는 첫 번째 및 두 번째 변수노드 처리 과정(1201 내지 1206)을 통해 변수노드 메시지(out19_1 및 out19_2, out23_1 및 out23_2, out15_2 및 out15_1, out8_1 및 out8_2, out17_1 및 out17_2, out21_1 및 out21_2)를 계산한다.
이어서, 변수노드 처리부(931)는 변경된 순환 시프트 방식에 따라 38×38 부행렬을 19×19 부행렬로 나누어진 패리티 검사행렬에 대해서, LLR 값(12001, 12002)과 변수노드(12011 내지 12015 및 12021 내지 12025) 값을 각각 19×19 부행렬 별로 각각 순환 시프트시킨다.
도 12b에 도시된 바와 같이, 변수노드 처리부(931)는 계산된 변수노드 메시지를 변수노드(1231, 1232)에서 서로 다른 검사노드(1233, 1234)로 각각 전달한다.
도 13a 내지 도 13b 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용하여 도 6의 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 다른 실시예 설명도이다.
도 13a 및 13b에 도시된 바와 같이, 도 6에 도시된 패리티 검사행렬의 네 번째 열(62)에 대해서, 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 과정(1301 내지 1303)이 나타나 있다.
전술한 바와 같이, 변수노드 처리부(931)는 패리티 검사행렬의 네 번째 열(52)의 제9 행에 대해서, 도 11a 및 도 11b에 도시된 순환 시프트 방식에서 38×38 부행렬 별로 각 LLR 값(11001, 11002)과 변수노드 값(11011과 11012, 및 11021과 11022)을 0 내지 37 번 순서대로 순환 시프트시킨다.
한편, 변경된 순환 시프트 방식을 살펴보면, 변수노드 처리부(931)는 패리티 검사행렬 선택부(910)에서 선택된 병렬화 수치에 따라 순환 시프트 방식을 변경한다. 즉, 변수노드 처리부(931)는 도 13a 및 도 13b에 도시된 순환 시프트 방식에서 19×19 부행렬 별로 각각의 LLR 값(13001, 13002)과 각각의 변수노드 값(13011, 13012, 13021 및 13022)을 0 내지 19 번 순서대로 순환 시프트시킨다.
변수노드 처리부(931)는 패리티 검사행렬의 네 번째 열(62)에 대응되는 변수노드마다 LLR 값(13001, 13002)과 변수노드(13011과 13012, 및 13021과 13022) 값들의 합 연산을 통해 변수노드 메시지를 계산한다. 예를 들면, 변수노드 처리부(931)는 도 6에 도시된 패리티 검사행렬의 네 번째 열(52)의 제9 행에 해당하는 15번 순환 이동된 부행렬에 대해서, 첫 번째 LLR 값(13001)과 해당 변수노드(13011 및 13012) 값과의 합 연산을 통해 변수노드 메시지(out21_1)를 계산하고, 두 번째 LLR 값(13002)과 해당 변수노드(13021 및 13022) 값과의 합 연산을 통해 변수노드 메시지(out21_2)를 계산한다. 동일한 방식으로, 변수노드 처리부(931)는 패리티 검사행렬의 각 부행렬 값에 대응되는 변수노드 메시지 연산 과정(1301 내지 1303)을 통해 변수노드 메시지(out21_1, out21_2, out6_1, out6_2, out2_1, out2_2)를 계산한다. 이어서, 변수노드 처리부(931)는 변경된 순환 시프트 방식에 따라 38×38 부행렬을 19×19 부행렬로 나누어진 패리티 검사행렬에 대해서, LLR 값(13001, 13002)과 변수노드(13011, 13012, 13021, 및 13022) 값을 각각 19×19 부행렬 별로 각각 순환 시프트시킨다.
도 13b에 도시된 바와 같이, 변수노드 처리부(931)는 계산된 변수노드 메시지를 변수노드(1331, 1332)에서 서로 다른 검사노드(1333, 1334)로 각각 전달한다.
도 14 는 본 발명에 따른 복수의 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법에 대한 일실시예 흐름도이다.
먼저, 패리티 검사행렬 선택부(910)는 패리티 검사행렬을 처리할 병렬화 수치에 따라 복수의 기본 패리티 검사행렬을 결정한다(1402).
그리고 비트 입력부(920)는 LDPC 부호화 장치로부터 입력비트에 해당하는 LLR 값을 복수의 기본 패리티 검사행렬에 따라 순차적으로 입력받는다(1404).
그리고 변수노드 처리부(931)는 비트 입력부(920)에서의 복수의 기본 패리티 검사행렬에 해당하는 LLR 값과 변수노드 값을 변수노드 연산하여 변수노드 메시지를 계산하고, 연산 완료된 각 LLR 값과 변수노드 값을 처리 시간마다 부행렬 별로 순환 시프트시킨다(1406). 즉, 변수노드 처리부(931)는 변수노드 갱신 과정을 수행한다.
이어서, 검사노드 처리부(932)는 변수노드 처리부(931)에서 계산된 변수노드 메시지를 검사노드 연산 과정에 적용하여 검사노드 메시지를 계산한다(1408). 이때, 검사노드 처리부(932)는 복호화 속도를 빠르게 하기 위하여 병렬 방식에 따라 수행하거나, 복호화 복잡도를 낮추기 위하여 직렬 또는 부분 병렬 처리 방식에 따라 처리할 수 있다. 즉, 검사노드 처리부(932)는 검사노드 갱신 과정을 수행한다.
그리고 변수노드 처리부(931)는 미리 정한 횟수만큼 "1406" 및 "1408" 과정이 수행되었는지 여부를 확인한다(1410).
상기 확인 결과(1410), 미리 정한 횟수만큼 "1406" 및 "1408" 과정이 수행된 경우에, 변수노드 합 계산부(941)는 LLR 값과 변수노드별 에지값의 변수노드 합을 계산한다(1412). 반면에, 미리 정한 횟수만큼 "1406" 및 "1408" 과정이 수행되지 않은 경우에, "1406" 및 "1408" 과정을 다시 수행한다.
이어서, 비트 판단부(942)는 변수노드 합 계산부(941)에서 계산된 변수노드 합에 해당하는 비트 레벨을 "0" 또는 "1"로 판단하여 입력비트를 복원한다(1414).
그리고 비트 출력부(943)는 비트 판단부(942)에서 "0" 또는 "1"로 복원된 입력비트를 순차적으로 출력한다(1416). 이때, 비트 출력 과정은 복수의 기본 패리티 검사행렬에 따라 다양한 방법으로 출력될 수 있다.
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴 퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1 은 QC-LDPC 부호의 패리티 검사행렬에 대한 예시도,
도 2a 및 도 2b 는 도 1의 패리티 검사행렬의 팩터 그래프에 대한 예시도,
도 3 은 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 예시도,
도 4a 내지 도 4c 는 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 설명도,
도 5 는 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 다른 예시도,
도 6 은 도 5과 다른 부행렬의 크기를 가지는 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 예시도,
도 7a 및 도 7b 는 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 과정에 대한 예시도,
도 8a 및 도 8b 는 기본 패리티 검사행렬을 이용하여 패리티 검사행렬을 부분 병렬 처리하는 과정에 대한 다른 예시도,
도 9 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치의 일실시예 구성도,
도 10a 및 도 10b 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용하여 도 5의 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 일실시예 설명도,
도 11a 및 도 11b 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용하여 도 5의 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 다른 실시예 설명도,
도 12a 및 도 12b 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용하여 도 6의 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 다른 실시예 설명도,
도 13a 내지 도 13b 는 본 발명에 따른 복수의 기본 패리티 검사행렬을 이용하여 도 6의 패리티 검사행렬을 부분 병렬 처리하는 방법에 대한 다른 실시예 설명도이다.
* 도면의 주요 부분에 대한 부호의 설명
910: 패리티 검사행렬 선택부 920: 비트 입력부
430: 검사행렬 처리부 931: 변수노드 처리부
932: 검사노드 처리부 940: 비트 처리부
941: 변수노드 합 계산부 942: 비트 판단부
943: 비트 출력부

Claims (16)

  1. 저밀도 패리티 검사 부호의 복호화 장치에 있어서,
    패리티 검사행렬을 처리할 부행렬 크기 및 병렬화 수치에 따라 복수의 기본 패리티 검사행렬을 결정하기 위한 패리티 검사행렬 선택 수단;
    입력비트에 대한 대수 근사화 확률값을 상기 부행렬 크기 및 병렬화 수치에 따라 입력받기 위한 비트 입력 수단;
    상기 패리티 검사행렬을, 상기 입력받은 대수 근사화 확률값과 상기 결정된 복수의 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하기 위한 검사행렬 처리 수단; 및
    상기 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 상기 부행렬 크기 및 병렬화 수치에 따라 상기 입력비트를 복원하기 위한 비트 처리 수단
    을 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  2. 제 1 항에 있어서,
    상기 검사행렬 처리 수단은,
    상기 입력받은 대수 근사화 확률값과 상기 결정된 복수의 기본 패리티 검사 행렬의 변수노드들을 상기 부행렬 크기 및 병렬화 수치에 따라 순환 시프트시키는 것을 특징으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  3. 제 2 항에 있어서,
    상기 검사행렬 처리 수단은,
    상기 입력받은 대수 근사화 확률값과 상기 결정된 복수의 기본 패리티 검사행렬의 변수노드들을 상기 부행렬 크기 및 병렬화 수치에 따라 부행렬 별로 순환 시프트시켜 변수노드 메시지를 계산하기 위한 변수노드 처리 수단; 및
    상기 계산된 변수노드 메시지를 부행렬 별로 검사노드 연산 과정을 거쳐 검사노드 메시지를 계산하여 상기 변수노드 처리 수단으로 전달하기 위한 검사노드 처리 수단
    을 포함하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  4. 제 3 항에 있어서,
    상기 비트 입력 수단은,
    서로 다른 입력비트에 대한 대수 근사화 확률값을 각각 입력받는 것을 특징 으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  5. 제 4 항에 있어서,
    상기 변수노드 처리 수단은,
    상기 각각 입력받은 대수 근사화 확률값과 서로 다른 기본 패리티 검사행렬의 변수노드들을 상기 부행렬 크기 및 병렬화 수치에 따라 부행렬 별로 순환 시프트시켜 변수노드 메시지를 각각 계산하는 것을 특징으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  6. 제 5 항에 있어서,
    상기 변수노드 처리 수단은,
    상기 각각 입력받은 대수 근사화 확률값과 서로 다른 기본 패리티 검사행렬의 변수노드들을 순환 시프트시키되, 상기 대수 근사화 확률값 및 상기 변수노드들의 순환 시프트 연결을 스위칭을 이용하여 변경하는 것을 특징으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  7. 제 6 항에 있어서,
    상기 서로 다른 기본 패리티 검사행렬은,
    기 정해진 부행렬 크기로 나눈 나머지 값이 일치하는 부행렬의 순환 시프트 값을 가지는 것을 특징으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  8. 제 3 항에 있어서,
    상기 비트 처리 수단은,
    상기 부분 병렬 처리된 패리티 검사행렬의 변수노드별 에지값과 상기 입력받은 대수 근사화 확률값의 변수노드 합을 계산하기 위한 변수노드 합 계산 수단;
    상기 계산된 변수노드 합에 해당하는 비트 레벨을 판단하여 상기 입력비트를 복원하기 위한 비트 판단 수단; 및
    상기 복원된 입력비트를 출력하기 위한 비트 출력 수단
    을 포함하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 장치.
  9. 저밀도 패리티 검사 부호의 복호화 방법에 있어서,
    패리티 검사행렬을 처리할 부행렬 크기 및 병렬화 수치에 따라 복수의 기본 패리티 검사행렬을 결정하는 패리티 검사행렬 선택 단계;
    입력비트에 대한 대수 근사화 확률값을 상기 부행렬 크기 및 병렬화 수치에 따라 입력받는 비트 입력 단계;
    상기 패리티 검사행렬을, 상기 입력받은 대수 근사화 확률값과 상기 결정된 복수의 기본 패리티 검사행렬을 이용하여 순차적으로 부분 병렬 처리하는 검사행렬 처리 단계; 및
    상기 부분 병렬 처리된 패리티 검사행렬 값으로부터 비트 레벨을 판단하여 상기 부행렬 크기 및 병렬화 수치에 따라 상기 입력비트를 복원하는 비트 처리 단계
    를 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  10. 제 9 항에 있어서,
    상기 검사행렬 처리 단계는,
    상기 입력받은 대수 근사화 확률값과 상기 결정된 복수의 기본 패리티 검사행렬의 변수노드들을 상기 부행렬 크기 및 병렬화 수치에 따라 순환 시프트시키는 것을 특징으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  11. 제 10 항에 있어서,
    상기 검사행렬 처리 단계는,
    상기 입력받은 대수 근사화 확률값과 상기 결정된 복수의 기본 패리티 검사행렬의 변수노드들을 상기 부행렬 크기 및 병렬화 수치에 따라 부행렬 별로 순환 시프트시켜 변수노드 메시지를 계산하는 변수노드 처리 단계; 및
    상기 계산된 변수노드 메시지를 부행렬 별로 검사노드 연산 과정을 거쳐 검사노드 메시지를 계산하는 검사노드 처리 단계
    를 포함하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  12. 제 11 항에 있어서,
    상기 비트 입력 단계는,
    서로 다른 입력비트에 대한 대수 근사화 확률값을 각각 입력받는 것을 특징으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  13. 제 12 항에 있어서,
    상기 변수노드 처리 단계는,
    상기 각각 입력받은 대수 근사화 확률값과 서로 다른 기본 패리티 검사행렬의 변수노드들을 상기 부행렬 크기 및 병렬화 수치에 따라 부행렬 별로 순환 시프트시켜 변수노드 메시지를 각각 계산하는 것을 특징으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  14. 제 13 항에 있어서,
    상기 변수노드 처리 단계는,
    상기 각각 입력받은 대수 근사화 확률값과 서로 다른 기본 패리티 검사행렬의 변수노드들을 순환 시프트시키되, 상기 대수 근사화 확률값 및 상기 변수노드들의 순환 시프트 연결을 스위칭을 이용하여 변경하는 것을 특징으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  15. 제 14 항에 있어서,
    상기 서로 다른 기본 패리티 검사행렬은,
    기 정해진 부행렬 크기로 나눈 나머지 값이 일치하는 부행렬의 순환 시프트 값을 가지는 것을 특징으로 하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
  16. 제 11 항에 있어서,
    상기 비트 처리 단계는,
    상기 부분 병렬 처리된 패리티 검사행렬의 변수노드별 에지값과 상기 입력받은 대수 근사화 확률값의 변수노드 합을 계산하는 변수노드 합 계산 단계;
    상기 계산된 변수노드 합에 해당하는 비트 레벨을 판단하여 상기 입력비트를 복원하는 비트 복원 단계
    를 포함하는 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사 부호의 복호화 방법.
KR1020070131487A 2007-12-14 2007-12-14 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법 KR101077552B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070131487A KR101077552B1 (ko) 2007-12-14 2007-12-14 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법
US12/166,866 US8214717B2 (en) 2007-12-14 2008-07-02 Apparatus and method for decoding LDPC code based on prototype parity check matrixes

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
KR20090063948A true KR20090063948A (ko) 2009-06-18
KR101077552B1 KR101077552B1 (ko) 2011-10-28

Family

ID=40754909

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US8214717B2 (ko)
KR (1) KR101077552B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4823176B2 (ja) * 2007-08-31 2011-11-24 パナソニック株式会社 復号方法及び復号装置
US8219876B2 (en) * 2007-10-24 2012-07-10 Core Wireless Licensing, S.a.r.l. Method, apparatus, computer program product and device providing semi-parallel low density parity check decoding using a block structured parity check matrix
TW201126537A (en) * 2010-01-20 2011-08-01 Sunplus Technology Co Ltd Memory utilization method for low density parity check code, low density parity check code decoding method and apparatus thereof
US9244685B2 (en) * 2012-11-02 2016-01-26 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for check-node unit message processing
CN108449090B (zh) * 2018-01-25 2020-06-16 西安电子科技大学 一种可配置多码长、多码率的ldpc译码器
KR102631407B1 (ko) * 2018-10-24 2024-01-31 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
US11575389B2 (en) * 2020-12-08 2023-02-07 Nxp Usa, Inc. Multi-standard low-density parity check decoder

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
WO2006059688A1 (ja) 2004-12-02 2006-06-08 Mitsubishi Denki Kabushiki Kaisha 復号装置及び通信装置
KR100698192B1 (ko) 2005-09-02 2007-03-22 엘지전자 주식회사 Ldpc 부호의 복호 방법

Also Published As

Publication number Publication date
US8214717B2 (en) 2012-07-03
US20090158121A1 (en) 2009-06-18
KR101077552B1 (ko) 2011-10-28

Similar Documents

Publication Publication Date Title
KR100939334B1 (ko) 기본 행렬을 이용한 저밀도 패리티 검사 부호의 복호화장치 및 그 방법
KR100808664B1 (ko) 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
CN101073205B (zh) 低密度奇偶校验编码器和解码器以及低密度奇偶校验编码和解码方法
KR102347823B1 (ko) 구조화된 ldpc의 부호화 및 복호화 방법 및 장치
KR101227264B1 (ko) Ldpc 코드용 디코더
KR101077552B1 (ko) 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
KR102303379B1 (ko) 준-순환 저밀도 패리티 체크를 위한 설계 방법 및 장치
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
KR20080000479A (ko) 통신 시스템에서 신호 수신 장치 및 방법
CN110352562B (zh) 在无线通信系统中基于ldpc码的奇偶校验矩阵执行编码的方法和使用其的终端
US9356734B2 (en) Transmitter, receiver, and signal processing method thereof
US10419026B2 (en) Method and apparatus for efficient data decoding
KR20070107521A (ko) 비이진 구조적 저밀도 패리티 검사 부호 생성 방법
KR20090064709A (ko) Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치
CN105556852A (zh) 用于共享公共硬件资源的不同的低密度奇偶校验(ldpc)码的低密度奇偶校验编码
KR100849991B1 (ko) Ldpc 부호생성기법을 이용한 부호화 시스템 및 방법과이로부터의 복호화 시스템 및 방법
EP2951926A1 (en) Ldpc code design and encoding apparatus for their application
KR100800775B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
KR100678521B1 (ko) 비균일 저밀도 패리티 검사 부호의 부호화 장치 및 방법
JP2009038703A (ja) パリティ検査復号装置

Legal Events

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

Payment date: 20140926

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee