Nothing Special   »   [go: up one dir, main page]

KR20090064709A - Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치 - Google Patents

Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치 Download PDF

Info

Publication number
KR20090064709A
KR20090064709A KR1020070132008A KR20070132008A KR20090064709A KR 20090064709 A KR20090064709 A KR 20090064709A KR 1020070132008 A KR1020070132008 A KR 1020070132008A KR 20070132008 A KR20070132008 A KR 20070132008A KR 20090064709 A KR20090064709 A KR 20090064709A
Authority
KR
South Korea
Prior art keywords
parity check
check matrix
basic
parity
matrix
Prior art date
Application number
KR1020070132008A
Other languages
English (en)
Inventor
오종의
윤찬호
유철희
이석규
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020070132008A priority Critical patent/KR20090064709A/ko
Priority to PCT/KR2008/003197 priority patent/WO2009078514A1/en
Publication of KR20090064709A publication Critical patent/KR20090064709A/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/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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/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

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 부호의 패리티 검사 행렬 생성 장치 및 그 방법과, 그를 이용한 LDPC 부/복호화 장치에 관한 것으로, 부/복호화의 복잡도가 작고, 빠른 복호 수렴 속도를 가지며, 가변 정보 길이 및 가변 부호율을 지원하는 우수한 오류 정정 성능의 LDPC 부호를 제공하기 위한, LDPC 부호의 패리티 검사 행렬 생성 장치 및 그 방법과, 그를 이용한 LDPC 부/복호화 장치를 제공하고자 한다.
이를 위하여, 본 발명은 LDPC(Low Density Parity Check) 부호의 패리티 검사 행렬 생성 장치에 있어서, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하기 위한 제1 패리티 검사 행렬 생성 수단; 및 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하기 위한 제q 패리티 검사 행렬 생성 수단을 포함한다.
저밀도 패리티 검사 부호, 빠른 복호 수렴 속도, 가변 정보 길이, 가변 부호율, 패리티 검사 행렬 행분해, 정보 단축, 천공

Description

LDPC 부호의 패리티 검사 행렬 생성 장치 및 그 방법과, 그를 이용한 LDPC 부/복호화 장치{Parity check matrix generating apparatus and method for LDPC code, and LDPC encoding/decoding apparatus using the same}
본 발명은 유/무선 통신시스템의 오류 정정 부호(error correction code) 기술에 관한 것으로, 더욱 상세하게는 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 가진 저밀도 패리티검사(Low Density Parity Check, 이하, "LDPC"라 함) 부호를 위한, LDPC 부호의 패리티 검사 행렬 생성 장치 및 그 방법과, 그를 이용한 LDPC 부/복호화 장치에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호 : 2006-S-002-02, 과제명 : 3Gbps급 4G 무선LAN 시스템 개발].
유/무선 통신시스템상의 전송 신호(transmitted signal)는 전송 채널(transmission channel) 상의 잡음(noise), 간섭(interference) 및 감쇠(fading) 등을 겪게 되며, 이로 인하여 수신 단이 상기 전송 신호를 복조할 수 없는 경우가 발생한다.
전송 속도가 높아질수록 높아지는 오류 발생율을 줄이기 위한 여러 가지 기법들이 있으나, 그 중의 대표적인 기법이 오류 정정 부호를 사용하는 기법이다. 최근에는 거의 모든 무선통신 시스템에 오류 정정 부호가 적용되고 있으며, 특히 LDPC 부호가 우수한 오류 정정 성능뿐만 아니라 낮은 복잡도로 고속 복호기를 구현할 수 있다는 면에서, 차세대 고용량 무선통신 시스템을 위한 오류 정정 부호로서 각광받고 있다.
LDPC 부호에 대한 복호화 방법으로는, 직렬 또는 부분 병렬 처리 방식을 사용하는 복호화 방법과 병렬 처리 방식을 사용하는 복호화 방법이 있다. 전자의 방법(직렬 또는 부분 병렬 처리 방식을 사용하는 복호화 방법)은 적은 수의 공용의 변수 노드(variable node) 처리 블록 및 공용의 검사 노드(check node) 처리 블록을 반복 사용함으로써, 하드웨어 사이즈가 줄어드는 장점이 있지만, 고속 복호를 지원할 수 없다는 단점이 있다. 반면에, 후자의 방법(병렬 처리 방식을 사용하는 복호화 방법)은 각 패리티 검사 행렬에 최적화된 변수 노드 처리 블록 및 검사 노드 처리 블록을 구비하여 병렬 정보 교환을 수행함으로써, 고속 복호를 지원할 수는 있지만, 하드웨어 사이즈가 크고, 다양한 부호율을 지원할수록 하드웨어 사이즈의 증대를 초래한다는 단점이 있다.
한편, 하이브리드 자동 재전송 요구(Hybrid Automatic Repeat reQuest : H-ARQ)를 수행하거나, 채널 상태에 적응적인 변조 및 부호화 기법(Modulation and Coding Scheme : 이하, "MCS"라 함)을 적용하기 위해서, 유/무선 통신시스템은 가변 정보 길이 및 가변 부호율을 가진 오류 정정 부호를 사용할 필요가 있다. 이러한 요구에 부응하여 다양한 MCS 레벨을 지원하기 위한 종래의 복호화 방법은, 각각의 정보 길이 및 부호율 별로 최적화된 복호기를 따로 구현하는 방법, 하나의 하드웨어를 사용하되, 정보 단축(information shortening) 기법 또는 천공 기법을 적용하는 방법이 있다. 그러나 전자의 방법(각각의 정보 길이 및 부호율 별로 최적화된 복호기를 따로 구현하는 방법)은 하드웨어 사이즈가 커진다는 단점이 있으며, 후자의 방법(하나의 하드웨어를 사용하되, 정보 단축 기법 또는 천공 기법을 적용하는 방법)은 정보 단축 기법 또는 패리티 천공 기법의 무작위적인 적용이 LDPC 부호의 오류 정정 성능에 대한 심한 열화를 초래한다는 면에서 불리한 점이 있다.
전술한 바와 같이, 수 기가(G)급의 처리속도를 요구하는 초고속 무선통신 시스템을 위해서는 병렬 처리 방식의 복호화 방법이 유리하고, 최근에 각광받는 적응 변조 및 부호화 기법을 효과적으로 적용하기 위해서는 우수한 오류 정정 성능을 가진 가변 정보 길이 및 가변 부호율의 LDPC 부호가 요구된다. 또한, 이러한 LDPC 부호의 부/복호화의 복잡도도 작아야 한다. 하지만 LDPC 부호 전체를 모두 병렬로 처리하는 것은 변수 노드와 검사 노드의 무작위적인 연결 복잡도 때문에 쉽지 않은 문제이다.
따라서 구현 가능한 복잡도를 가지면서 최대한의 빠른 복호 처리 속도를 가지는 부분 병렬 처리 방법 및 그 장치가 요구되고 있으며, 이러한 요구를 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 간단한 부호화 및 빠른 복호 수렴 속도를 가지도록 제한 조건을 가지며 가변 정보 길이 및 가변 부호율을 가지는 LDPC 부호를 제공하기 위한, LDPC 부호의 패리티 검사 행렬 생성 장치 및 그 방법과, 그를 이용한 LDPC 부/복호화 장치를 제공하는데 그 목적이 있다.
즉, 본 발명은 부/복호화의 복잡도가 작고, 빠른 복호 수렴 속도를 가지며, 가변 정보 길이 및 가변 부호율을 지원하는 우수한 오류 정정 성능의 LDPC 부호를 제공하기 위한, LDPC 부호의 패리티 검사 행렬 생성 장치 및 그 방법과, 그를 이용한 LDPC 부/복호화 장치를 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 패리티 검사 행렬 생성 장치는, LDPC(Low Density Parity Check) 부호의 패리티 검사 행렬 생성 장치에 있어서, 제 1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하기 위한 제1 패리티 검사 행렬 생성 수단; 및 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하기 위한 제q 패리티 검사 행렬 생성 수단을 포함한다.
또한, 상기 본 발명의 패리티 검사 행렬 생성 장치는, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축 수단을 더 포함한다.
또한, 본 발명의 패리티 검사 행렬 생성 장치는, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공 수단을 더 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명의 다른 패리티 검사 행렬 생성 장치는, LDPC 부호의 패리티 검사 행렬 생성 장치에 있어서, 적어도 하나의 기본 패리티 검사 행렬을 생성하기 위한 기본 패리티 검사 행렬 생성 수단; 및 상기 기본 패리티 검사 행렬 생성 수단에서 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬 생성 수단에서 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하여 적어도 하나의 확장 패리티 검사 행렬을 생성하기 위한 확장 패리티 검사 행렬 생성 수단을 포함한다.
또한, 상기 본 발명의 다른 패리티 검사 행렬 생성 장치는, 상기 기본 패리 티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축 수단을 더 포함한다.
또한, 상기 본 발명의 다른 패리티 검사 행렬 생성 장치는, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공 수단을 더 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명의 LDPC 부호화 장치는, LDPC 부호화 장치에 있어서, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화 수단을 포함하되, 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록과 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함하는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위한 본 발명의 다른 LDPC 부호화 장치는, LDPC 부호화 장치에 있어서, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패 리티 검사 행렬 선택수단; 및 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화 수단을 포함하되, 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하여 생성된 적어도 하나의 확장 패리티 검사 행렬을 포함하는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위한 본 발명의 LDPC 복호화 장치는, LDPC 복호화 장치에 있어서, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화 수단을 포함하되, 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함하는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위한 본 발명의 다른 LDPC 복호화 장치는, LDPC 복호화 장치에 있어서, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화 수단을 포함하되, 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하여 생성된 적어도 하나의 확장 패리티 검사 행렬을 포함하는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위한 본 발명의 패리티 검사 행렬 생성 방법은, LDPC 부호의 패리티 검사 행렬 생성 방법에 있어서, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하는 제1 패리티 검사 행렬 생성 단계; 및 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하는 제q 패리티 검사 행렬 생성 단계를 포함한다.
또한, 상기 본 발명의 패리티 검사 행렬 생성 방법은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 정보 단축 단계를 더 포함한다.
또한, 상기 본 발명의 패리티 검사 행렬 생성 방법은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 천공 단계를 더 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명의 다른 패리티 검사 행렬 생성 방법은, LDPC 부호의 패리티 검사 행렬 생성 방법에 있어서, 적어도 하나의 기본 패 리티 검사 행렬을 생성하는 기본 패리티 검사 행렬 생성 단계; 및 상기 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하여 적어도 하나의 확장 패리티 검사 행렬을 생성하는 확장 패리티 검사 행렬 생성 단계를 포함한다.
또한, 상기 본 발명의 다른 패리티 검사 행렬 생성 방법은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 정보 단축 단계를 더 포함한다.
또한, 상기 본 발명의 다른 패리티 검사 행렬 생성 방법은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 천공 단계를 더 포함한다.
상기와 같은 본 발명은, 부분 병렬 처리 방식의 하드웨어 하나만을 가지고 가변 정보 길이 및 가변 부호율의 복호화기를 용이하게 구현할 수 있으며, 초고속 복호화를 수행할 수 있는 효과가 있다.
또한, 본 발명은 우수한 오류 정정 성능을 가지면서, 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호를 생성할 수 있는 효과가 있다.
또한, 본 발명은 고속 LDPC 복호기를 용이하게 구현할 수 있으며, 고속 복호를 수행하는 하드웨어를 간단하게 구현할 수 있는 효과가 있다.
결과적으로, 본 발명은 낮은 부/복호화 복잡도(low complexity for encoding/decoding)를 가지며, 우수한 오류 정정 및 감지(correction and detection of error) 성능을 가진 가변 정보 길이 및 가변 부호율의 LDPC 부호를 제공할 수 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
LDPC 부호는 "Gallager"에 의해 도입된 부호이다. LDPC 부호는 극소수의 원소들이 1의 값을 가지며, 나머지인 대부분의 원소들은 0의 값을 갖는 패리티 검사 행렬로 정의된다.
LDPC 부호는 균일(regular) LDPC 부호와 비균일(irregular) LDPC 부호로 대별된다. 균일 LDPC 부호는 "Gallager"가 제안한 LDPC 부호로서, 패리티 검사 행렬 내의 모든 행들이 동일한 개수의 1을 원소로 가지며, 모든 열들도 동일한 개수의 1을 원소로 갖는다. 이와 달리, 비균일 LDPC 부호의 패리티 검사 행렬에는 서로 다른 개수의 1을 포함하는 행들이 존재하거나, 서로 다른 개수의 1을 포함하는 열들이 존재한다. 일반적으로 비균일 LDPC 부호의 오류 정정 성능이 균일 LDPC 부호보다 우수하다고 알려져 있다.
한편, "Fossorier"는 패리티 검사 행렬의 원소를 GF(2) 상의 원소인 0, 1이 아니라, 순환 이동(cyclic shift)된 단위 행렬(identity matrix) 및 0 행렬로 나타내는 준 순환(Quasi-cyclic) LDPC 부호("Quasi-cyclic low density parity check codes from circulant permutation matrices", IEEE Trans. Inform. Theory, vol. 50, pp. 1788-1794, Aug. 414)를 제안하였다.
이하, 본 발명의 실시예에서는, 준 순환 LDPC 부호를 사용하는 경우에 한하여 본 발명의 기술적 사상을 설명할 것이나, 본 발명이 준 순환 LDPC 부호 외에도, 패리티 검사 행렬의 원소를 GF(2)에서 기술한 LDPC 부호에도 적용될 수 있음은 이 분야에 종사하는 자라면 충분히 이해할 수 있을 것이다.
또한, 이하의 본 발명의 실시예에서는, 부행렬(sub-matrix)의 크기, 부행렬의 개수, 패리티 검사 행렬의 차수 분포 등을 고정하여 본 발명의 기술적 사상을 설명할 것이나, n×n 부행렬(sub-matrix)의 길이를 변형시키는 방법, 사용하는 부행렬의 개수를 변형시키는 방법, 패리티 검사 행렬의 차수 분포(degree distribution) 변화에 따른 변형된 정보 비트 행분해 방식을 통하여 변형된 정보 길이 및 부호율을 얻는 방식도 본 발명의 범주에 속함은 이 분야에 종사하는 자라면 충분히 이해할 수 있을 것이다.
하기의 [수학식 1]은 5×5의 순환 순열 행렬(cyclic-permutation matrix)들을 예시하고 있다.
Figure 112007090414469-PAT00001
상기 [수학식 1]에 예시된 바와 같이, 부행렬 Si는 단위 행렬의 열들을 i 만큼 우측으로 순환 이동(cyclic shift)하여 얻어짐을 알 수 있다.
이하에서, 본 발명의 기술적 사상을 설명하기 위하여 38×38의 부행렬로 이루어진 패리티 검사 행렬을 예시적으로 이용할 것이다. 이 경우의 부행렬은 38×38의 단위 행렬에 순환 이동을 적용시켜 얻어지는 행렬(즉, 순환 순열 행렬) 및 38×38의 0 행렬이다.
하기의 [표 1]은 본 발명의 일실시예에 따른 LDPC 패리티 검사 행렬들을 포함하는 테이블이다.
information length(bits) k code rate R codeword length (bits) n parity length(bits) n-k parity check matrix H
456 1/2 912 456
Figure 112007090414469-PAT00002
456 1/3 1368 912
Figure 112007090414469-PAT00003
456 1/4 1824 1368
Figure 112007090414469-PAT00004
456 1/5 2280 1824
Figure 112007090414469-PAT00005
912 2/3 1368 456
Figure 112007090414469-PAT00006
912 1/2 1824 912
Figure 112007090414469-PAT00007
912 2/5 2280 1368
Figure 112007090414469-PAT00008
912 1/3 2736 1824
Figure 112007090414469-PAT00009
1368 3/4 1824 456
Figure 112007090414469-PAT00010
1368 3/5 2280 912
Figure 112007090414469-PAT00011
1368 1/2 2736 1368
Figure 112007090414469-PAT00012
1368 3/7 3194 1824
Figure 112007090414469-PAT00013
1824 4/5 2280 456
Figure 112007090414469-PAT00014
1824 2/3 2736 912
Figure 112007090414469-PAT00015
1824 4/7 3194 1368
Figure 112007090414469-PAT00016
1824 1/2 3648 1824
Figure 112007090414469-PAT00017
2280 5/6 2736 456
Figure 112007090414469-PAT00018
2280 5/7 3194 912
Figure 112007090414469-PAT00019
2280 5/8 3648 1368
Figure 112007090414469-PAT00020
2280 5/9 434 1824
Figure 112007090414469-PAT00021
상기 [표 1]의 테이블에 있는 20개의 LDPC 패리티 검사 행렬들은 본 발명의 패리티 검사 행렬 생성 방법에 따라 생성되고, 정보 길이로 456, 912, 1368, 1824 및 2280 비트를 사용하고, 패리티 길이로 456, 912, 1368 및 1824 비트를 사용함으로써, 각 정보 길이와 패리티 길이의 조합으로 20가지의 간단한 부호화 및 빠른 복호 수렴 속도를 가지고 가변 정보 길이 및 가변 부호율을 지원하는 부/복호화기의 구현에 사용될 수 있다.
도 1은 상기 [표 1]의 테이블에 예시된 패리티 검사 행렬들 간의 관계를 구조적으로 설명하기 위한 도면이다.
도 1에서 작은 정사각형은 456×456 행렬이며, [표 1] 및 도 1에 기재된 Ci j블록 및 Pi블록은 각각 패리티 검사 행렬의 일부를 이루는 정보 블록 및 패리티 블록을 의미하며, 이에 대한 자세한 설명은 [수학식 2] 내지 [수학식 8] 및 [수학식 12]을 이용하여 후술하기로 한다.
일반적으로, LPDC 부호의 경우 패리티 검사 행렬의 차수 분포에 대한 최적화 설계와, 요소(factor) 그래프 상의 싸이클 분포에 대한 최적화 설계를 통하여 우수한 오류 정정 성능의 패리티 검사 행렬이 생성된다. 본 발명에서 사용되는 패리티 검사 행렬들은 서로 상관 관계(이에 대해서는 후술하기로 함)에 있으므로, 각 패리티 검사 행렬에 대하여 개별적으로 최적화 설계를 수행하지 않고, 모든 패리티 검사 행렬에 대해 동시에 최적화 설계를 수행하여야 한다. 더불어, 패리티 검사 행렬의 최적화 설계 시에 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 본 발명의 제한 조건을 이용하여 수행하여야 한다.
하기의 [수학식 2]는 456 비트인 패리티 길이를 가지고 5개의 부호율을 지원하는 패리티 검사 행렬을 예시하는 수식으로서, 도 1의 H1을 나타낸다.
Figure 112007090414469-PAT00022
하기의 [수학식 3]은 상기 [수학식 2]의 패리티 검사 행렬 중 패리티 블록인 행렬 P1을 예시하는 수식이다.
Figure 112007090414469-PAT00023
상기 [수학식 3]의 우측 변에서, "-"는 38×38인 0 행렬을 나타내며, "i"는 38×38인 순환 순열 행렬 Si를 나타낸다. 상기 [수학식 3]에 예시된 패리티 블록 P1은 (0, 0), (6, 0), (11, 0) 위치 및 1≤m≤11인 동안의 (m, m-1)과 (m, m)의 위치 에 m mod 38 순환 순열 행렬(m mod 38 cyclic-permutation matrix)을 원소로 포함하며, 나머지 위치에는 0 행렬을 포함한다. 즉, 0 행렬이 아닌 순환 순열 행렬의 경우는 기본 행렬의 행 값을 38로 나눈 나머지 값을 순환 순열 행렬의 원소로 포함한다. 이와 같이 패리티 검사 행렬을 설계한 이유는 기본 행렬의 같은 열에 해당하는 0 행렬이 아닌 순환 순열 행렬의 값들을 같지 않게 하려는 제한 조건을 두었기 때문이다. 이러한 제한 조건은 패리티 블록이나 정보 블록에 공통적으로 적용되며, 이러한 제한 조건에 의해 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 패리티 검사 행렬을 얻을 수 있다.
본 발명에서 예시로 설계된 패리티 검사 행렬은 기본 행렬의 같은 열에 해당하는 0 행렬이 아닌 순환 순열 행렬의 값들뿐만 아니라, 그 값들을 19로 나눈 나머지 값들도 같지 않게 설계한 예이다. 이와 같은 제한 조건은 복잡도를 2배 늘리면서 복호기의 수렴 속도를 2배 더 가속화할 경우나 부행렬의 크기를 2배 크기로 늘리거나 줄일 경우에 유용하게 사용될 수 있다.
이와 같은 패리티 블록 P1은 이중 대각 패리티 블록의 특수한 경우로서, 부분 블록 단위의 병렬 처리 LDPC 부호화기의 구현에 적용될 수 있으므로, 이 형태의 패리티 블록을 사용하는 경우, 부호화 복잡도를 최소화할 수 있다. 즉, 패리티 블록 P1은 선형 독립 조건(linearly independent condition)을 만족하는 행렬이면 족하지만, 특히 본 발명에서와 같이 설계하면 P1은 38개의 독립적인 선형 독립을 만족하는 행렬로 나누어지게 되고, 상기 [수학식 3]에 예시된 형태의 패리티 블록을 사 용하면 보다 낮은 복잡도의 부호화기 및 빠른 복호 수렴 속도를 가지는 복호기를 구현할 수 있다.
이중 대각 패리티 블록에 대한 구체적인 내용은, "Richardson"에 의해 저술된 논문("Efficient Encoding of Low-Density Parity-Check Codes", IEEE Trans. on Inform. Theory, Vol. 47, No. 2, Feb. 411)에 자세히 나와 있으므로, 여기서는 이에 대한 설명은 생략하기로 한다.
하기의 [수학식 4] 내지 [수학식 8]은 상기 [수학식 2]의 제1 내지 제5 정보 블록인 C1 0, C1 1, C1 2, C1 3, C1 4를 예시하는 수식이다.
Figure 112007090414469-PAT00024
Figure 112007090414469-PAT00025
Figure 112007090414469-PAT00026
Figure 112007090414469-PAT00027
Figure 112007090414469-PAT00028
상기 [수학식 4] 내지 [수학식 8]의 우측 변에서 크게 표기된 정수는 38×38 인 단위 행렬을 그 정수만큼 우측 순환 이동시켜 얻어지는 순환 순열 행렬을 나타내며, "-"는 상기 [수학식 3]에서 설명한 바와 같이 38×38인 0 행렬을 나타낸다. 예를 들어, 상기 [수학식 4]에서 371은 순환 순열 행렬 S37을 나타낸다.
또한, 상기 [수학식 4] 내지 [수학식 8]의 우측 변에서 지수(exponent)는 본 발명의 일실시예에 따라 상기 [수학식 2]의 제1 내지 제5 정보 블록에 행분해(row splitting)를 적용하여 후술되는 [수학식 9] 내지 [수학식 11]의 패리티 검사 행렬인 H2, H3, H4에 포함되는 정보 블록들을 생성하는데 사용된다. 행분해에 대한 설명은 [수학식 12]을 참조하여 후술하기로 한다.
상기 [수학식 4]에 예시된 제1 정보 블록인 C1 0 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬
Figure 112007090414469-PAT00029
은 456비트인 정보 길이와 1/2인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.
마찬가지로, 상기 [수학식 4] 및 [수학식 5]에 예시된 제1 및 제2 정보 블록인 C1 0 , C1 1 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬
Figure 112007090414469-PAT00030
은 912비트인 정보 길이와 2/3인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.
마찬가지로, 상기 [수학식 4] 내지 [수학식 6]에 예시된 제1 내지 제3 정보 블록인 C1 0 , C1 1 , C1 2 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬
Figure 112007090414469-PAT00031
은 1368비트인 정보 길이와 3/4인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.
마찬가지로, 상기 [수학식 4] 내지 [수학식 7]에 예시된 제1 내지 제4 정보 블록인 C1 0 , C1 1 , C1 2 , C1 3 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬
Figure 112007090414469-PAT00032
은 1824비트인 정보 길이와 4/5인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.
마찬가지로, 상기 [수학식 4] 내지 [수학식 8]에 예시된 제1 내지 제5 정보 블록인 C1 0 , C1 1 , C1 2 , C1 3 , C1 4 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬
Figure 112007090414469-PAT00033
은 2280비트인 정보 길이와 5/6인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.
전술한 바와 같이, 빠른 복호 수렴 속도를 얻기 위하여 상기 [수학식 4] 내지 [수학식 8]에 예시된 대로 설계된 패리티 검사 행렬은 기본 행렬의 같은 열에 해당하는 0 행렬이 아닌 순환 순열 행렬의 값들뿐만 아니라, 그 값들을 19로 나눈 나머지 값들도 같지 않게 설계한 예이다. 이와 같은 제한 조건은 복잡도를 2배 늘리면서 복호기의 수렴 속도를 2배 더 가속화할 경우나 부행렬의 크기를 2배 크기로 늘리거나 줄일 경우에 유용하게 사용될 수 있다.
한편, 상기 [수학식 3] 내지 [수학식 8]의 행렬은 본 발명의 기술적 사상을 설명하기 위해 사용하는 예시적인 행렬로서, 차수분포 및 사이클 분포의 최적화를 통하여 상기 [수학식 3] 내지 [수학식 8]에 예시된 행렬 외에도 상기 [수학식 3] 내지 [수학식 8]의 행렬 크기를 가진 다양한 행렬을 생성할 수 있음은 이 분야에 종사하는 자라면 충분히 이해할 수 있을 것이다.
하기의 [수학식 9] 내지 [수학식 11]은 각각 912 비트, 1368비트, 1824 비트인 패리티 길이를 가지고 5개의 부호율을 지원하는 패리티 검사 행렬을 예시하는 수식으로서, 각각 도 1의 H2, H3, H4를 나타낸다.
Figure 112007090414469-PAT00034
Figure 112007090414469-PAT00035
Figure 112007090414469-PAT00036
H2, H3, H4의 정보 블록들은 H1의 정보 블록들에 후술되는 [수학식 12]로 예 시되는 행분해를 적용하여 생성된다. 즉, Cj i(여기서, j=2, 3, 4, i=0, 1, 2, 3, 4)는 C1 j에 행분해를 적용하여 얻어진다. 예를 들어, 상기 [수학식 10]의 C3 2는 C1 2에 행분해를 적용하여 얻어지는 것이다.
또한, H2, H3, H4의 패리티 블록은 H1의 패리티 블록을 동일한 구조로 확장함으로써 생성된다. 즉, 상기 [수학식 9]의 패리티 블록 P2는 (0, 0), (12, 0), (23, 0) 위치 및 1≤m≤23인 동안의 (m, m-1)과 (m, m)의 위치에 m mod 38 순환 순열 행렬(m mod 38 cyclic-permutation matrix)을 원소로 포함하고, 나머지 위치에는 0 행렬을 포함함으로써, 상기 [수학식 3]에 예시된 패리티 블록 P1과 동일한 구조를 갖는다. 또한, 상기 [수학식 10]의 패리티 블록 P3은 (0, 0), (18, 0), (35, 0) 위치 및 1≤m≤35인 동안의 (m, m-1)과 (m, m)의 위치에 m mod 38 순환 순열 행렬(m mod 38 cyclic-permutation matrix)을 원소로 포함하고, 나머지 위치에는 0 행렬을 포함함으로써, 상기 [수학식 3]에 예시된 패리티 블록 P1과 동일한 구조를 갖는다. 마찬가지로, 상기 [수학식 11]의 패리티 블록 P4도 (0, 0), (24, 0), (47, 0) 위치 및 1≤m≤47인 동안의 (m, m-1)과 (m, m)의 위치에 m mod 38 순환 순열 행렬(m mod 38 cyclic-permutation matrix)을 원소로 포함하고, 나머지 위치에는 0 행렬을 포함함으로써, 상기 [수학식 3]에 예시된 패리티 블록 P1과 동일한 구조를 갖는다.
이러한 과정을 통하여 얻어지는 패리티 검사 행렬
Figure 112007090414469-PAT00037
,
Figure 112007090414469-PAT00038
,
Figure 112007090414469-PAT00039
,
Figure 112007090414469-PAT00040
,
Figure 112007090414469-PAT00041
등은 상기 [표 1]에 기재된 해당 정보 길이 및 해당 부호율을 지원할 수 있다.
전술한 바와 같이, 상기 [수학식 4] 내지 [수학식 8]의 지수는 패리티 검사 행렬 H1의 각 정보 블록을 행분해하여 패리티 검사 행렬 H2, H3, H4의 각 정보 블록을 생성하는데 사용된다. 본 발명의 일실시예에 따른 행분해는 하기의 [수학식 12]을 이용하여 수행된다.
Figure 112007090414469-PAT00042
즉, 상기 [수학식 12]는 본 발명의 일실시예에 따른 행분해 방식을 표현한 수식을 나타낸다. 상기 [수학식 12]에서, gk i(-1)=-1 에서의 "-1"값은 0 부행렬을 나타낸다.
또한, 상기 [수학식 12]에서, cmn(여기서, m=1,2,...,M, n=1,2,...,N)은 MN개의 부행렬들로 이루어진 정보 블록의 (m, n)위치의 부행렬을 나타낸다. 상기 [수학식 12]의 fi(C)에서의 C가 상기 [수학식 4]에 나타낸 정보 블록 C1 0인 경우 M=12, N=12이며, c12는 270이다.
전술한 바와 같이, 가변 정보 길이 및 가변 부호율을 가진 LDPC 부호를 설계하는 본 발명의 실시예는 3가지 존재한다. 첫 번째 실시예는 제1 정보 블록 및 패리티 블록으로 이루어진 패리티 검사 행렬에 제2 정보 블록 등을 추가하여 상기 패리티 검사 행렬과 정보 길이 또는 부호율 면에서 다른 새로운 패리티 검사 행렬을 생성하는 방식이다. 두 번째 실시예는 기본 정보 블록 및 기본 패리티 블록으로 이루어진 패리티 검사 행렬이 있을 때, 기본 정보 블록에 행분해를 적용하여 확장 정보 블록을 생성하고 기본 패리티 블록을 확장하여 기본 패리티 블록과 동일한 구조를 가진 확장 패리티 블록을 생성함으로써, 기본 패리티 검사 행렬과 정보 길이 또는 부호율 면에서 상이한 새로운 패리티 검사 행렬을 생성하는 방식이다. 세 번째 실시예는 상술한 첫 번째 실시예와 두 번째 실시예를 결합한 방식이다.
본 발명의 실시예에서는, 행분해의 대상이 되는 정보 블록을 기본 정보 블록이라 하고, 행분해 결과로 얻어지는 정보 블록을 확장 정보 블록이라 하기로 한다. 또한, 본 발명의 실시예에서는, 확장될 대상인 패리티 블록을 기본 패리티 블록이라 하고, 확장된 결과인 패리티 블록을 확장 패리티 블록이라 하기로 한다.
상기 첫 번째 실시예를 부연설명하면, 패리티 블록을 고정한 상태에서 정보 블록을 확장하는 방식으로 패리티 검사 행렬들을 생성하되, 차수 분포 및 사이클 분포 면에서 우수한 패리티 검사 행렬이 생성되도록 정보 블록을 확장한다.
상기 두 번째 실시예를 부연설명하면, 기본 패리티 검사 행렬에 포함된 정보 블록의 행분해를 통하여 기본 패리티 검사 행렬과 다른 확장 패리티 검사 행렬을 생성한다. 여기서, 차수 분포 및 사이클 분포 면에서 우수한 패리티 검사 행렬이 생성되도록 하는 행분해 방식을 적용한다.
한편, 본 발명의 실시예에서는 상기 3가지 실시예를 작은 크기의 패리티 검사 행렬에서 큰 크기의 패리티 검사 행렬로 생성하는 기준으로 설명할 것이나, 이의 역과정도 가능함은 이 분야에 종사하는 자라면 충분히 이해할 수 있다. 즉, 첫 번째 실시예의 경우 큰 크기의 패리티 검사 행렬을 생성한 후, 상기 생성된 패리티 검사 행렬에서 정보 블록을 일부 제거하여 작은 크기의 패리티 검사 행렬을 생성하는 방식이 존재할 수 있다. 또한, 두 번째 실시예의 경우, 큰 크기의 기본 패리티 검사 행렬을 생성한 후, 상기 생성된 기본 패리티 검사 행렬의 정보 블록에 대해 행분해의 역과정인 행결합(row combining)을 적용하고, 상기 생성된 기본 패리티 검사 행렬의 패리티 블록의 일부만을 사용하는 패리티 부분 스위칭(parity part switching)을 적용함으로써, 상술한 확장 패리티 검사 행렬에 대응되는 축소 패리티 검사 행렬을 생성할 수 있는 것이다. 여기서, 정보 블록에 대한 행결합은 정보 부분(parity part)의 패리티 결합(parity combining)으로 표현될 수 있으며, 패리티 부분 스위칭은 패리티 부분(parity part)의 패리티 결합(parity combining)으로 표현될 수 있다.
한편, 상술한 가변 정보 길이 및 가변 부호율을 가진 LDPC 부호를 설계하는 본 발명의 방법에 정보 단축 기법 및 천공 기법을 적용하여 보다 다양한 정보 길이 및 부호율을 지원하는 LDPC 부호를 설계할 수도 있다.
도 2는 본 발명에 따른 패리티 검사 행렬에 정보 단축 기법 및 천공 기법을 적용하는 개념을 설명하기 위한 도면이다.
구체적으로, 도 2의 우측 상단에 도시된 k×n 크기인 패리티 검사 행렬에, k-keff 비트만큼의 정보 단축, np개의 패리티 비트에 대한 천공이 적용되는 경우를 예시한다. 여기서, k×n 크기인 패리티 검사 행렬은 기본적으로 k/n의 부호율 및 k의 정보 길이를 지원한다.
좌측 상단의 벡터는 k×1 크기인 입력 메시지 벡터로서, keff개의 정보비트들로 이루어진 정보어(information word)와 정보 단축으로 채워지는 k-keff개의 0 들로 이루어진다. 즉, 본 발명의 실시예에 따른 정보 길이는 keff이다. 이러한 입력 메시지 벡터는 패리티 검사 행렬과 곱하여져 n비트인 부호어가 생성된다. 이후, 생성된 부호어에서, np개의 패리티 비트들이 천공되며, 또한, 앞서 채워진 k-keff 개의 0 들도 삭제된다. 그 결과, 최종적으로 부호어의 길이는 n-k+keff-np가 된다. 따라서 이 경우에 기본적으로 패리티 검사 행렬이 제공하는 k/n의 부호율 및 k의 정보 길이와는 다른 keff인 정보길이 및 keff /(n-k+keff-np)인 부호율을 제공할 수 있다.
한편, 도 2는 정보 단축과, 패리티 비트에 대한 천공이 적용되는 경우를 예시하였으나, 이러한 실시예 외에도, 정보 단축만을 사용하는 실시예, 정보 비트에 대한 천공만을 사용하는 실시예 등도 가능하며, 이들을 효과적으로 활용하면 보다 다양한 정보 길이 및 부호율을 지원할 수 있다.
또한, 전술한 실시예에서는 입력 메시지 벡터와 패리티 검사 행렬과의 곱 전에 0 패딩을 수행하고, 입력 메시지 벡터와 패리티 검사 행렬과의 곱 후에 천공을 수행함으로써, 패리티 검사 행렬을 변형하지 않고 정보 단축 및 천공을 수행하는 방식을 설명하였다. 그러나 이러한 방식 외에도 정보 단축 및 천공을 패리티 검사 행렬 자체에 적용하여 새로운 keffx(n-k+keff-np) 크기인 패리티 검사 행렬을 생성하고 상기 생성된 패리티 검사 행렬과 정보 길이가 keffx1인 입력 메시지 벡터와의 곱으로 부호어 길이가 n-k+keff-np인 부호어를 생성하는 방식도 존재한다. 후자의 방식에 따르면 k×n 크기인 패리티 검사 행렬에서 최 좌측 keff개의 열들, 최 우측 np개의 열들, 최 상측 keff개의 행들을 제거함으로써 keffx(n-k+keff-np) 크기인 패리티 검사 행렬이 얻어진다.
이 분야에 종사하는 자라면, 이미 공지된 LDPC 부호의 다양한 부/복호화 기 법을 적용함으로써, 본 발명에서 제시하는 LDPC 부호에 대한 부/복호화를 용이하게 실시할 수 있으므로, 자세한 부/복호화 과정에 대한 설명은 생략하기로 한다.
도 3은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 장치의 구성도이다.
도 3에 도시된 바와 같이, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하기 위한 제1 패리티 검사 행렬 생성부(31), 및 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하기 위한 제q 패리티 검사 행렬 생성부(32 내지 35)를 포함한다.
또한, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축부(36)를 더 포함한다.
또한, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공부(37)를 더 포함한다.
여기서, 상기 제q 패리티 검사 행렬 생성부(32 내지 35)는, 간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 제q 패리티 검사 행렬을 생성한다.
이러한 도 3의 실시예를 상기 [수학식 2] 내지 [수학식 8]을 참조하여 상세히 설명하면 다음과 같다.
상기 제1 패리티 검사 행렬 생성부(31)는 상기 [수학식 4]에 예시된 제1 정보 블록인 C1 0 및 상기 [수학식 3]에 예시된 패리티 블록인 P1으로 이루어진 제1 패리티 검사 행렬 [C1 0 P1]을 생성한다.
그리고 제2 패리티 검사 행렬 생성부(32)는 상기 제1 패리티 검사 행렬 생성부(31)에서 생성된 제1 패리티 검사 행렬 [C1 0 P1]에 상기 [수학식 5]의 제2 정보 블록 C1 1을 추가하여 제2 패리티 검사 행렬 [C1 1 C1 0 P1]을 생성한다.
그리고 제3 패리티 검사 행렬 생성부(33)는 상기 제2 패리티 검사 행렬 생성부(32)에서 생성된 제2 패리티 검사 행렬 [C1 1 C1 0 P1]에 상기 [수학식 6]의 제3 정보 블록 C1 2을 추가하여 제3 패리티 검사 행렬 [C1 2 C1 1 C1 0 P1]을 생성한다.
그리고 제4 패리티 검사 행렬 생성부(34)는 상기 제3 패리티 검사 행렬 생성부(33)에서 생성된 제3 패리티 검사 행렬 [C1 2 C1 1 C1 0 P1]에 상기 [수학식 7]의 제4 정보 블록 C1 3을 추가하여 제4 패리티 검사 행렬 [C1 3 C1 2 C1 1 C1 0 P1]을 생성한다.
그리고 제5 패리티 검사 행렬 생성부(35)는 상기 제4 패리티 검사 행렬 생성부(34)에서 생성된 제4 패리티 검사 행렬 [C1 3 C1 2 C1 1 C1 0 P1]에 상기 [수학식 8]의 제5 정보 블록 C1 4을 추가하여 제5 패리티 검사 행렬 [C1 4 C1 3 C1 2 C1 1 C1 0 P1]을 생성한다.
그리고 정보 단축부(36)는 상기 제1 내지 제5 패리티 검사 행렬 생성부(31 내지 35)에서 생성된 제1 내지 제5 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축을 적용하여 상기 제1 내지 제5 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성한다.
그리고 천공부(37)는 상기 제1 내지 제5 패리티 검사 행렬 생성부(31 내지 35)에서 생성된 제1 내지 제5 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공 기법을 적용하여 상기 제1 내지 제5 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성한다.
도 4는 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 장치의 구성도이다.
도 4에 도시된 바와 같이, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 적어도 하나의 기본 패리티 검사 행렬을 생성하기 위한 기본 패리티 검사 행렬 생 성부(41), 및 상기 기본 패리티 검사 행렬 생성부(41)에서 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬 생성부(41)에서 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하는 방식으로 적어도 하나의 확장 패리티 검사 행렬을 생성하기 위한 확장 패리티 검사 행렬 생성부(42)를 포함한다.
또한, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축부(43)를 더 포함한다.
또한, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공부(44)를 더 포함한다.
여기서, 상기 기본 패리티 검사 행렬 생성부(41)는, 제1 기본 정보 블록 및 기본 패리티 블록으로 이루어진 제1 기본 패리티 검사 행렬을 생성하고, 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 기본 패리티 검사 행렬에 제q 기본 정보 블록을 추가하여 제q 기본 패리티 검사 행렬을 생성하고, 상기 확장 패리티 검사 행렬 생성부(42)는, 상기 기본 패리티 블록을 확장하여 확장 패리티 블록을 생성하고, 상기 제q 기본 정보 블록에 행분해를 적용하여 제q 확장 정보 블록을 생성하여, 상기 확장 패리티 블록 및 상기 제1 내지 제q 확장 정보 블록으로 이루어진 제q 확장 패리티 검사 행렬을 생성한다.
또한, 상기 확장 패리티 검사 행렬 생성부(42)는, 상기 기본 패리티 블록과 동일한 구조로 확장 패리티 블록을 생성한다. 이때, 상기 기본 패리티 블록 및 상기 확장 패리티 블록은, 간단한 부호기 및 빠른 복호 수렴 속도를 가지도록 제한 조건을 둔 이중 대각 행렬 형태를 갖는다.
또한, 상기 기본 패리티 검사 행렬 생성부(41)는, 간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 기본 패리티 검사 행렬을 생성하고, 상기 확장 패리티 검사 행렬 생성부(42)는, 간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 확장 패리티 검사 행렬을 생성한다.
이러한 도 4의 실시예는 상기 [수학식 2]의 H1로부터 상기 [수학식 9] 내지 [수학식 11]의 H2, H3, H4를 생성하는 실시예를 나타낸다.
상기 기본 패리티 검사 행렬 생성부(41)는 적어도 하나의 기본 패리티 검사 행렬을 생성하는데, 편의상, 하나의 기본 패리티 행렬 [C1 P1]을 생성하는 것을 전제로 도 3의 실시예를 설명하고자 한다.
그리고 확장 패리티 검사 행렬 생성부(42)는 상기 기본 패리티 검사 행렬 [C1 P1]의 정보 블록 C1에 행분해를 적용하여 C2를 생성하고, 상기 기본 패리티 검사 행렬 [C1 P1]의 패리티 블록 P1을 확장하여 P1과 동일한 구조의 패리티 블록 P2를 생성한다. 그 결과로 확장 패리티 검사 행렬 [C2 P2]가 생성된다.
그리고 정보 단축부(43)는 기본 패리티 검사 행렬 [C1 P1] 및 확장 패리티 검사 행렬 [C2 P2] 중 적어도 하나에 정보 단축을 적용하여 [C1 P1], [C2 P2]와 다른 적어도 하나의 패리티 검사 행렬을 생성한다.
그리고 천공부(44)는 기본 패리티 검사 행렬 [C1 P1] 및 확장 패리티 검사 행렬 [C2 P2] 중 적어도 하나에 천공 기법을 적용하여 [C1 P1], [C2 P2]와 다른 적어도 하나의 패리티 검사 행렬을 생성한다.
한편, 기본 패리티 검사 행렬 생성부(41)가 도 3의 실시예에 따라 제1 기본 패리티 검사 행렬 [C1 0 P1], 제2 기본 패리티 검사 행렬 [C1 1 C1 0 P1], 제3 기본 패리티 검사 행렬 [C1 2 C1 1 C1 0 P1], 제4 기본 패리티 검사 행렬 [C1 3 C1 2 C1 1 C1 0 P1] 및 제5 기본 패리티 검사 행렬 [C1 4 C1 3 C1 2 C1 1 C1 0 P1]을 생성하는 경우(즉, 복수 개의 기본 패리티 검사 행렬을 생성하는 경우), 확장 패리티 검사 행렬 생성부(42)는 제1 내지 제5 기본 패리티 검사 행렬로부터 확장 패리티 검사 행렬 [C2 0 P2], [C2 1 C2 0 P2], [C2 2 C2 1 C2 0 P2], [C2 3 C2 2 C2 1 C2 0 P2] 및 [C2 4 C2 3 C2 2 C2 1 C2 0 P2]을 생성할 수 있다.
도 5는 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치의 구성도이다.
먼저, 본 발명의 일실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치는, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택부(51), 및 상기 패리티 검사 행렬 선택부(51)에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화부(52)를 포함하되, 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함한다.
여기서, 상기 입력 부호화 파라미터는 부호율(code rate) 및 상기 입력 정보어의 길이(length)를 포함한다.
그리고 상기 복수 개의 패리티 검사 행렬은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함한다.
또한, 상기 복수 개의 패리티 검사 행렬은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함한다.
한편, 본 발명의 다른 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치는, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택부(51), 및 상기 패리티 검사 행렬 선택부(51)에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화부(52)를 포함하되, 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하는 방식으로 생성되는 적어도 하나의 확장 패리티 검사 행렬을 포함한다.
여기서, 상기 입력 부호화 파라미터는 부호율(code rate) 및 상기 입력 정보어의 길이(length)를 포함한다.
그리고 상기 복수 개의 패리티 검사 행렬은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함한다.
또한, 상기 복수 개의 패리티 검사 행렬은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함한다.
다음으로, 상기 각 구성요소를 도 5를 참조하여 살펴보면 다음과 같다.
상기 패리티 검사 행렬 선택부(51)는 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터에 해당되는 패리티 검사 행렬을 선택한다. 여기서, 복수 개의 패리티 검사 행렬들은 도 3 및 도 4에서 설명한 바에 따라 생성되는 패리티 검사 행렬들을 의미한다. 여기서, 입력 부호화 파라미터는 패리티 검사 행렬을 선택하는데 사용되는 파라미터로서, 그 예로는 정보 길이 및 부호율을 들 수 있으나, 패리티 검사 행렬을 특정할 수 있으면 족하므로 반드시 이에 한정되는 것은 아니다.
그리고 상기 부호화부(52)는 상기 패리티 검사 행렬 선택부(51)에서 선택된 패리티 검사 행렬을 기반으로, 입력되는 정보어를 부호화하여 부호어(codeword)를 출력한다.
도 6은 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치의 구성도이다.
먼저, 본 발명의 일실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치는, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택부(61), 및 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화부(62)를 포함하되, 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함한다.
여기서, 상기 입력 복호화 파라미터는 상기 수신 부호어(received codeword)의 부호율(code rate) 및 정보 길이를 포함한다.
그리고 상기 복수 개의 패리티 검사 행렬은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고, 상기 복호화부(62)는, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 정보 단축이 적용된 행렬인 경우 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행한다.
또한, 상기 복수 개의 패리티 검사 행렬은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고, 상기 복호화부(62)는, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 수행한다.
한편, 본 발명의 다른 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치는, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라 미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택부(61), 및 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화부(62)를 포함하되, 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하는 방식으로 생성되는 적어도 하나의 확장 패리티 검사 행렬을 포함한다.
여기서, 상기 입력 복호화 파라미터는 상기 수신 부호어(received codeword)의 부호율(code rate) 및 정보 길이를 포함한다.
그리고 상기 복수 개의 패리티 검사 행렬은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고, 상기 복호화부(62)는, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 정보 단축이 적용된 행렬인 경우 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행한다.
또한, 상기 복수 개의 패리티 검사 행렬은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고, 상기 복호화부(62)는, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 수행한 다.
다음으로, 상기 각 구성요소를 도 6을 참조하여 살펴보면 다음과 같다.
상기 패리티 검사 행렬 선택부(61)는 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터에 해당되는 패리티 검사 행렬을 선택한다. 여기서, 복수 개의 패리티 검사 행렬들은 도 3 및 도 4에서 설명한 바에 따라 생성되는 패리티 검사 행렬들을 의미한다. 여기서, 입력 복호화 파라미터는 패리티 검사 행렬을 선택하는데 사용되는 파라미터로서, 그 예로는 수신 부호어의 부호율 및 정보 길이를 들 수 있으나, 패리티 검사 행렬을 특정할 수 있으면 족하므로 반드시 이에 한정되는 것은 아니다.
그리고 상기 복호화부(62)는 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어를 복호화한다. 이때에 사용되는 복호화 알고리즘의 예로는 메시지 전달 알고리즘(Message Passing Algorithm : 이하, "MPA"라 함)을 들 수 있다. 한편, 복호화부(62)는 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 정보 단축 기법이 적용된 행렬인 경우, 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행하고, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우, MPA 기반 복호를 첫 회 수행할 때 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 시작한다.
도 7은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 방법에 대한 흐름 도이다.
도 7을 참조하여 살펴보면, 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 방법은 도 3의 패리티 검사 행렬 생성 장치에서 시계열적으로 처리되는 과정들로 이루어진다. 따라서 이하의 설명에서 그 구체적인 실시예가 생략된 내용이라 하더라도, 도 3의 패리티 검사 행렬 생성 장치에 관하여 전술한 내용은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 방법에도 적용된다.
도 3을 참조하여 도 7의 실시예를 설명하면 다음과 같다.
먼저, 제1 패리티 검사 행렬 생성부(31)는 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성한다(71).
이후, 제2 패리티 검사 행렬 생성부(32)는 상기 생성된 제1 패리티 검사 행렬에 제2 정보 블록을 추가하여 제2 패리티 검사 행렬을 생성한다(72).
이후, 제3 패리티 검사 행렬 생성부(33)는 상기 생성된 제2 패리티 검사 행렬에 제3 정보 블록을 추가하여 제3 패리티 검사 행렬을 생성한다(73).
이후, 제4 패리티 검사 행렬 생성부(34)는 상기 생성된 제3 패리티 검사 행렬에 제4 정보 블록을 추가하여 제4 패리티 검사 행렬을 생성한다(74).
이후, 제5 패리티 검사 행렬 생성부(35)는 상기 생성된 제4 패리티 검사 행렬에 제5 정보 블록을 추가하여 제5 패리티 검사 행렬을 생성한다(75).
이후, 부가적으로 정보 단축부(36)는 상기 생성된 제1 내지 제5 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축을 적용하여 상기 제1 내지 제5 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하고, 부가적 으로 천공부(37)는 상기 생성된 제1 내지 제5 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공을 적용하여 상기 제1 내지 제5 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성한다(76).
도 8은 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 방법에 대한 흐름도이다.
도 8을 참조하여 살펴보면, 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 방법은 도 4의 패리티 검사 행렬 생성 장치에서 시계열적으로 처리되는 과정들로 이루어진다. 따라서 이하의 설명에서 그 구체적인 실시예가 생략된 내용이라 하더라도, 도 4의 패리티 검사 행렬 생성 장치에 관하여 전술한 내용은 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 방법에도 적용된다.
도 4를 참조하여 도 8의 실시예를 설명하면 다음과 같다.
먼저, 기본 패리티 검사 행렬 생성부(41)는 적어도 하나의 기본 패리티 검사 행렬을 생성한다(81).
이후, 확장 패리티 검사 행렬 생성부(42)는 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하는 방식으로 적어도 하나의 확장 패리티 검사 행렬을 생성한다(82).
이후, 부가적으로 정보 단축부(43)는 상기 생성된 기본 패리티 검사 행렬 및 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축을 적용하여 상기 기본 패리티 검사 행렬 및 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생 성하고, 부가적으로 천공부(44)는 상기 생성된 기본 패리티 검사 행렬 및 확장 패리티 검사 행렬 중 적어도 하나에 천공을 적용하여 상기 기본 패리티 검사 행렬 및 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성한다(83).
도 9는 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 방법에 대한 흐름도이다.
도 9를 참조하여 살펴보면, 본 발명의 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 방법은 도 5의 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치에서 시계열적으로 처리되는 과정들로 이루어진다. 따라서 이하의 설명에서 그 구체적인 실시예가 생략된 내용이라 하더라도, 도 5의 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치에 관하여 전술한 내용은 본 발명의 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 방법에도 적용된다.
도 5를 참조하여 도 9의 실시예를 설명하면 다음과 같다.
먼저, 패리티 검사 행렬 선택부(51)는 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터에 해당되는 패리티 검사 행렬을 선택한다(91). 여기서, 복수 개의 패리티 검사 행렬들은 도 3 및 도 4에서 설명한 바에 따라 생성되는 패리티 검사 행렬들을 의미한다.
이후, 부호화부(52)는 상기 선택된 패리티 검사 행렬을 기반으로, 입력 정보 어를 부호화한다(92).
도 10은 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 방법에 대한 흐름도이다.
도 10을 참조하여 살펴보면, 본 발명의 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 방법은 도 6의 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치에서 시계열적으로 처리되는 과정들로 이루어진다. 따라서 이하의 설명에서 그 구체적인 실시예가 생략된 내용이라 하더라도, 도 6의 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치에 관하여 전술한 내용은 본 발명의 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 방법에도 적용된다.
도 6을 참조하여 도 10의 실시예를 설명하면 다음과 같다.
먼저, 패리티 검사 행렬 선택부(61)는 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터에 해당되는 패리티 검사 행렬을 선택한다(101). 여기서, 복수 개의 패리티 검사 행렬들은 도 3 및 도 4에서 설명한 바에 따라 생성되는 패리티 검사 행렬들을 의미한다.
이후, 복호화부(62)는 상기 선택된 패리티 검사 행렬을 기반으로, 수신 부호어를 복호화한다(102).
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
본 발명은 LDPC 부호화/복호화 시스템 등에 이용될 수 있다.
도 1은 [표 1]의 테이블에 예시된 패리티 검사 행렬들 간의 관계를 구조적으로 설명하기 위한 도면,
도 2는 본 발명에 따른 패리티 검사 행렬에 정보 단축 기법 및 천공 기법을 적용하는 개념을 설명하기 위한 도면,
도 3은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 장치의 구성도,
도 4는 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 장치의 구성도,
도 5는 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치의 구성도,
도 6은 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치의 구성도,
도 7은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 방법에 대한 흐름도,
도 8은 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 방법에 대한 흐름도,
도 9는 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 방법에 대한 흐름도,
도 10은 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 방법에 대한 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
31 내지 35 : 제1 내지 제5 패리티 검사 행렬 생성부
36, 43 : 정보 단축부 37, 44 : 천공부
41 : 기본 패리티 검사 행렬 생성부 42 : 확장 패리티 검사 행렬 생성부
51, 61 : 패리티 검사 행렬 선택부 52 : 부호화부
62 : 복호화부

Claims (29)

  1. LDPC(Low Density Parity Check) 부호의 패리티 검사 행렬 생성 장치에 있어서,
    제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하기 위한 제1 패리티 검사 행렬 생성 수단; 및
    생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하기 위한 제q 패리티 검사 행렬 생성 수단
    을 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  2. 제 1 항에 있어서,
    상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축 수단
    을 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  3. 제 1 항에 있어서,
    상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공 수단
    을 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  4. 제 1 항에 있어서,
    상기 제q 패리티 검사 행렬 생성 수단은,
    제한 조건(간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건)과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 제q 패리티 검사 행렬을 생성하는 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  5. LDPC 부호의 패리티 검사 행렬 생성 장치에 있어서,
    적어도 하나의 기본 패리티 검사 행렬을 생성하기 위한 기본 패리티 검사 행렬 생성 수단; 및
    상기 기본 패리티 검사 행렬 생성 수단에서 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬 생성 수단에서 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하여 적어도 하나의 확장 패리티 검사 행렬을 생성하기 위한 확장 패리티 검사 행렬 생성 수단
    을 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  6. 제 5 항에 있어서,
    상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축 수단
    을 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  7. 제 5 항에 있어서,
    상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공 수단
    을 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  8. 제 5 항에 있어서,
    상기 기본 패리티 검사 행렬 생성 수단은,
    제1 기본 정보 블록 및 기본 패리티 블록으로 이루어진 제1 기본 패리티 검사 행렬을 생성하고, 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 기본 패리티 검사 행렬에 제q 기본 정보 블록을 추가하여 제q 기본 패리티 검사 행렬을 생성하고,
    상기 확장 패리티 검사 행렬 생성 수단은,
    상기 기본 패리티 블록을 확장하여 확장 패리티 블록을 생성하고, 상기 제q 기본 정보 블록에 행분해를 적용하여 제q 확장 정보 블록을 생성하여, 상기 확장 패리티 블록 및 상기 제1 내지 제q 확장 정보 블록으로 이루어진 제q 확장 패리티 검사 행렬을 생성하는 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  9. 제 8 항에 있어서,
    상기 확장 패리티 검사 행렬 생성 수단은,
    상기 기본 패리티 블록과 동일한 구조로 상기 확장 패리티 블록을 생성하는 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  10. 제 9 항에 있어서,
    상기 기본 패리티 블록 및 상기 확장 패리티 블록은,
    간단한 부호기 및 빠른 복호 수렴 속도를 가지도록 제한 조건을 둔 이중 대각 행렬 형태인 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  11. 제 5 항에 있어서,
    상기 기본 패리티 검사 행렬 생성 수단은,
    제한 조건(간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건)과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 기본 패리티 검사 행렬을 생성하고,
    상기 확장 패리티 검사 행렬 생성 수단은,
    제한 조건(간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건)과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 확장 패리티 검사 행렬을 생성하는 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.
  12. LDPC 부호화 장치에 있어서,
    복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및
    상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화 수단을 포함하되,
    상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록과 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함하는 것을 특징으로 하는 LDPC 부호화 장치.
  13. 제 12 항에 있어서,
    상기 복수 개의 패리티 검사 행렬은,
    상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하는 것을 특징으로 하는 LDPC 부호화 장치.
  14. 제 12 항에 있어서,
    상기 복수 개의 패리티 검사 행렬은,
    상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하는 것을 특징으로 하는 LDPC 부호화 장치.
  15. LDPC 부호화 장치에 있어서,
    복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택수단; 및
    상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화 수단을 포함하되,
    상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하여 생성된 적어도 하나의 확장 패리티 검사 행렬을 포함하는 것을 특징으로 하는 LDPC 부호화 장치.
  16. 제 15 항에 있어서,
    상기 복수 개의 패리티 검사 행렬은,
    상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하는 것을 특징으로 하는 LDPC 부호화 장치.
  17. 제 15 항에 있어서,
    상기 복수 개의 패리티 검사 행렬은,
    상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하는 것을 특징으로 하는 LDPC 부호화 장치.
  18. LDPC 복호화 장치에 있어서,
    복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및
    상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화 수단을 포함하되,
    상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함하는 것을 특징으로 하는 LDPC 복호화 장치.
  19. 제 18 항에 있어서,
    상기 복수 개의 패리티 검사 행렬은,
    상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고,
    상기 복호화 수단은, 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬이 정보 단축이 적용된 행렬인 경우 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
  20. 제 18 항에 있어서,
    상기 복수 개의 패리티 검사 행렬은,
    상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고,
    상기 복호화 수단은, 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
  21. LDPC 복호화 장치에 있어서,
    복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및
    상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화 수단을 포함하되,
    상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하여 생성된 적어도 하나의 확장 패리티 검사 행렬을 포함하는 것을 특징으로 하는 LDPC 복호화 장치.
  22. 제 21 항에 있어서,
    상기 복수 개의 패리티 검사 행렬은,
    상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고,
    상기 복호화 수단은, 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬이 정보 단축이 적용된 행렬인 경우 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
  23. 제 21 항에 있어서,
    상기 복수 개의 패리티 검사 행렬은,
    상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고,
    상기 복호화 수단은, 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
  24. LDPC 부호의 패리티 검사 행렬 생성 방법에 있어서,
    제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하는 제1 패리티 검사 행렬 생성 단계; 및
    생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하는 제q 패리티 검사 행렬 생성 단계
    를 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.
  25. 제 24 항에 있어서,
    상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 정보 단축 단계
    를 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.
  26. 제 24 항에 있어서,
    상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 천공 단계
    를 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.
  27. LDPC 부호의 패리티 검사 행렬 생성 방법에 있어서,
    적어도 하나의 기본 패리티 검사 행렬을 생성하는 기본 패리티 검사 행렬 생성 단계; 및
    상기 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하여 적어도 하나의 확장 패리티 검사 행렬을 생성하는 확장 패리티 검사 행렬 생성 단계
    를 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.
  28. 제 27 항에 있어서,
    상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 정보 단축 단계
    를 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.
  29. 제 27 항에 있어서,
    상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 천공 단계
    를 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.
KR1020070132008A 2007-12-17 2007-12-17 Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치 KR20090064709A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070132008A KR20090064709A (ko) 2007-12-17 2007-12-17 Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치
PCT/KR2008/003197 WO2009078514A1 (en) 2007-12-17 2008-06-09 Apparatus and method for generating parity check matrix for ldpc code and ldpc encoding/decoding appartus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070132008A KR20090064709A (ko) 2007-12-17 2007-12-17 Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치

Publications (1)

Publication Number Publication Date
KR20090064709A true KR20090064709A (ko) 2009-06-22

Family

ID=40795622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070132008A KR20090064709A (ko) 2007-12-17 2007-12-17 Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치

Country Status (2)

Country Link
KR (1) KR20090064709A (ko)
WO (1) WO2009078514A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180027803A (ko) * 2016-09-07 2018-03-15 에스케이하이닉스 주식회사 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645810B2 (en) 2011-07-31 2014-02-04 Sandisk Technologies Inc. Fast detection of convergence or divergence in iterative decoding
CN105811996B (zh) * 2014-12-30 2019-12-06 华为技术有限公司 一种基于准循环ldpc的数据处理方法及系统
US10509603B2 (en) 2016-07-29 2019-12-17 Western Digital Technologies, Inc. Hierarchical variable code rate error correction coding
WO2018084732A1 (en) * 2016-11-01 2018-05-11 Huawei Technologies Co., Ltd Ldpc codes for incremental redundancy harq (ir-harq) schemes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100550414B1 (ko) * 2002-12-24 2006-02-08 한국전자통신연구원 하이브리드 재전송 시스템에서 ldpc 부호를 사용하는인코딩 장치 및 디코딩 장치
KR100659266B1 (ko) * 2004-04-22 2006-12-20 삼성전자주식회사 다양한 코드율을 지원하는 저밀도 패러티 검사 코드에 의한데이터 송수신 시스템, 장치 및 방법
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180027803A (ko) * 2016-09-07 2018-03-15 에스케이하이닉스 주식회사 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
WO2009078514A1 (en) 2009-06-25

Similar Documents

Publication Publication Date Title
KR100833515B1 (ko) 가변 정보 길이 및 가변 부호율을 가진 ldpc 부호의패리티 검사 행렬 생성 방법, 부/복호화 방법 및 이를이용하는 장치
KR101789959B1 (ko) 구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치
KR101502623B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
CN101073205B (zh) 低密度奇偶校验编码器和解码器以及低密度奇偶校验编码和解码方法
KR101791477B1 (ko) 통신/방송 시스템에서 데이터 송수신 장치 및 방법
KR101740316B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
CN102714504B (zh) 在通信系统中传送和接收数据的方法和装置
CN108988869B (zh) 一种确定校验矩阵的方法及装置、计算机存储介质
WO2011062111A1 (ja) 誤り訂正方法および装置ならびにそれを用いた通信システム
KR20120083858A (ko) 통신/방송 시스템에서 데이터 송수신 장치 및 방법
KR20190008335A (ko) 구조화된 ldpc의 부호화 및 복호화 방법 및 장치
US20100269011A1 (en) Apparatus and method for decoding low density parity check code using prototype matrix
KR20110123637A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
CN102142928B (zh) 交织、解交织外码编码输出码字的方法和交织、解交织器
RU2743857C1 (ru) Способ и оборудование проектирования для квазициклического разреженного контроля по четности
KR101077552B1 (ko) 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법
US11190210B2 (en) Method for encoding based on parity check matrix of LDPC code in wireless communication system and terminal using this
KR20090064709A (ko) Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치
CN108270448B (zh) 准循环低密度奇偶校验编码方法及装置
KR101503653B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
KR102329573B1 (ko) 송신 장치 및 그의 신호 처리 방법
WO2008069460A1 (en) Method of generating parity-check matrix, encoding/decoding method for low density parity-check code with variable information length and variable code rate and apparatus using the same
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
KR20170060574A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR101503654B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20071217

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20090624

Patent event code: PE09021S01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20091231

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20100629

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20091231

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

Patent event date: 20090624

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I