KR20090064709A - Parity check matrix generating apparatus and method for ldpc code, and ldpc encoding/decoding apparatus using the same - Google Patents

Parity check matrix generating apparatus and method for ldpc code, and ldpc encoding/decoding apparatus using the same 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
Korean (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 KR1020070132008A priority Critical patent/KR20090064709A/en
Priority to PCT/KR2008/003197 priority patent/WO2009078514A1/en
Publication of KR20090064709A publication Critical patent/KR20090064709A/en

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

Abstract

An apparatus and a method for generating a parity check matrix of an LDPC code and an LDPC encoding/decoding apparatus using the same are provided to perform a super speed decoding by designing an LDPC code supporting various information lengths and a code rate applying an information shortening method and a puncturing method. A first parity check matrix generating unit(31) generates a first parity check matrix comprised of a first information block and a parity block. A q-th parity check matrix generator generates the q-th parity check matrix by adding the q-th information block to the (q-1)-th parity check matrix. An information shortening unit(36) generates at least one parity check matrix different from the first to Q parity check matrixes by applying the information shortening to at least one parity check matrix among the first to Q parity check matrixes. A puncturing unit(37) generates at least one parity check matrix different from the first to Q parity check matrixes by applying a puncturing method to at least one parity check matrix among the first to Q parity check matrixes.

Description

LDPC 부호의 패리티 검사 행렬 생성 장치 및 그 방법과, 그를 이용한 LDPC 부/복호화 장치{Parity check matrix generating apparatus and method for LDPC code, and LDPC encoding/decoding apparatus using the same}Parity check matrix generating apparatus and method thereof for LDPC code, and LDPC code encoding / decoding apparatus using the same {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 부/복호화 장치에 관한 것이다.The present invention relates to an error correction code technology of a wired / wireless communication system, and more particularly, to low density parity check having a variable information length and a variable code rate having a simple encoding and fast decoding convergence rate. Parity Check, hereinafter referred to as " LDPC " code, a parity check matrix generating apparatus and method thereof for LDPC codes, and an LDPC code / decoding device using the same.

본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호 : 2006-S-002-02, 과제명 : 3Gbps급 4G 무선LAN 시스템 개발].The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development. [Task Management No .: 2006-S-002-02, Title: Development of 3Gbps 4G Wireless LAN System] ].

유/무선 통신시스템상의 전송 신호(transmitted signal)는 전송 채널(transmission channel) 상의 잡음(noise), 간섭(interference) 및 감쇠(fading) 등을 겪게 되며, 이로 인하여 수신 단이 상기 전송 신호를 복조할 수 없는 경우가 발생한다.Transmitted signals on wired / wireless communication systems experience noise, interference, and fading on a transmission channel, which causes a receiver to demodulate the transmitted signals. It happens that you can't.

전송 속도가 높아질수록 높아지는 오류 발생율을 줄이기 위한 여러 가지 기법들이 있으나, 그 중의 대표적인 기법이 오류 정정 부호를 사용하는 기법이다. 최근에는 거의 모든 무선통신 시스템에 오류 정정 부호가 적용되고 있으며, 특히 LDPC 부호가 우수한 오류 정정 성능뿐만 아니라 낮은 복잡도로 고속 복호기를 구현할 수 있다는 면에서, 차세대 고용량 무선통신 시스템을 위한 오류 정정 부호로서 각광받고 있다.There are various techniques for reducing the error rate that increases as the transmission speed increases, but one of the typical techniques uses an error correction code. Recently, error correction codes have been applied to almost all wireless communication systems. Especially, LDPC codes have been spotlighted as error correction codes for next generation high capacity wireless communication systems in that they can implement high speed decoder with low complexity as well as excellent error correction performance. I am getting it.

LDPC 부호에 대한 복호화 방법으로는, 직렬 또는 부분 병렬 처리 방식을 사용하는 복호화 방법과 병렬 처리 방식을 사용하는 복호화 방법이 있다. 전자의 방법(직렬 또는 부분 병렬 처리 방식을 사용하는 복호화 방법)은 적은 수의 공용의 변수 노드(variable node) 처리 블록 및 공용의 검사 노드(check node) 처리 블록을 반복 사용함으로써, 하드웨어 사이즈가 줄어드는 장점이 있지만, 고속 복호를 지원할 수 없다는 단점이 있다. 반면에, 후자의 방법(병렬 처리 방식을 사용하는 복호화 방법)은 각 패리티 검사 행렬에 최적화된 변수 노드 처리 블록 및 검사 노드 처리 블록을 구비하여 병렬 정보 교환을 수행함으로써, 고속 복호를 지원할 수는 있지만, 하드웨어 사이즈가 크고, 다양한 부호율을 지원할수록 하드웨어 사이즈의 증대를 초래한다는 단점이 있다.As a decoding method for an LDPC code, there are a decoding method using a serial or partial parallel processing method and a decoding method using a parallel processing method. The former method (a decoding method using serial or partial parallel processing) uses a small number of common variable node processing blocks and a common check node processing block repeatedly, thereby reducing hardware size. There is an advantage, but there is a disadvantage that can not support fast decoding. On the other hand, the latter method (a decoding method using a parallel processing method) can support fast decoding by performing parallel information exchange with a variable node processing block and a check node processing block optimized for each parity check matrix. However, there is a disadvantage in that the hardware size is large, and the support of various code rates causes an increase in hardware size.

한편, 하이브리드 자동 재전송 요구(Hybrid Automatic Repeat reQuest : H-ARQ)를 수행하거나, 채널 상태에 적응적인 변조 및 부호화 기법(Modulation and Coding Scheme : 이하, "MCS"라 함)을 적용하기 위해서, 유/무선 통신시스템은 가변 정보 길이 및 가변 부호율을 가진 오류 정정 부호를 사용할 필요가 있다. 이러한 요구에 부응하여 다양한 MCS 레벨을 지원하기 위한 종래의 복호화 방법은, 각각의 정보 길이 및 부호율 별로 최적화된 복호기를 따로 구현하는 방법, 하나의 하드웨어를 사용하되, 정보 단축(information shortening) 기법 또는 천공 기법을 적용하는 방법이 있다. 그러나 전자의 방법(각각의 정보 길이 및 부호율 별로 최적화된 복호기를 따로 구현하는 방법)은 하드웨어 사이즈가 커진다는 단점이 있으며, 후자의 방법(하나의 하드웨어를 사용하되, 정보 단축 기법 또는 천공 기법을 적용하는 방법)은 정보 단축 기법 또는 패리티 천공 기법의 무작위적인 적용이 LDPC 부호의 오류 정정 성능에 대한 심한 열화를 초래한다는 면에서 불리한 점이 있다.On the other hand, in order to perform a hybrid automatic repeat request (H-ARQ), or to apply a modulation and coding scheme (Modulation and Coding Scheme: hereinafter referred to as "MCS") to the channel state, The wireless communication system needs to use an error correction code having a variable information length and a variable code rate. Conventional decoding methods for supporting various MCS levels in response to these requirements, a method for separately implementing a decoder optimized for each information length and code rate, using one hardware, information shortening technique or There is a way to apply the drilling technique. However, the former method (implementing a decoder that is optimized for each information length and code rate separately) has a disadvantage in that the hardware size is increased. The latter method (using one hardware, but using information shortening or puncturing) The method of application) is disadvantageous in that random application of the information shortening technique or the parity puncturing technique causes severe degradation of the error correction performance of the LDPC code.

전술한 바와 같이, 수 기가(G)급의 처리속도를 요구하는 초고속 무선통신 시스템을 위해서는 병렬 처리 방식의 복호화 방법이 유리하고, 최근에 각광받는 적응 변조 및 부호화 기법을 효과적으로 적용하기 위해서는 우수한 오류 정정 성능을 가진 가변 정보 길이 및 가변 부호율의 LDPC 부호가 요구된다. 또한, 이러한 LDPC 부호의 부/복호화의 복잡도도 작아야 한다. 하지만 LDPC 부호 전체를 모두 병렬로 처리하는 것은 변수 노드와 검사 노드의 무작위적인 연결 복잡도 때문에 쉽지 않은 문제이다.As described above, a parallel decoding method is advantageous for a high-speed wireless communication system requiring several gigabytes (G) of processing speed, and an excellent error correction method for effectively applying a recent adaptive modulation and coding technique. LDPC codes of variable information length and variable code rate with capability are required. In addition, the complexity of encoding / decoding of the LDPC code should be small. However, processing all the LDPC codes in parallel is not easy because of the random connection complexity between the variable node and the check node.

따라서 구현 가능한 복잡도를 가지면서 최대한의 빠른 복호 처리 속도를 가지는 부분 병렬 처리 방법 및 그 장치가 요구되고 있으며, 이러한 요구를 해결하고자 하는 것이 본 발명의 과제이다.Therefore, there is a demand for a partial parallel processing method and apparatus having a maximum possible decoding processing speed and a complexity that can be implemented. It is an object of the present invention to solve such a demand.

따라서 본 발명은 간단한 부호화 및 빠른 복호 수렴 속도를 가지도록 제한 조건을 가지며 가변 정보 길이 및 가변 부호율을 가지는 LDPC 부호를 제공하기 위한, LDPC 부호의 패리티 검사 행렬 생성 장치 및 그 방법과, 그를 이용한 LDPC 부/복호화 장치를 제공하는데 그 목적이 있다.Accordingly, the present invention provides an apparatus and method for generating a parity check matrix of an LDPC code, and an LDPC code for providing an LDPC code having a variable information length and a variable code rate and having a constraint condition for simple encoding and fast decoding convergence speed. The purpose is to provide a decoding / decoding device.

즉, 본 발명은 부/복호화의 복잡도가 작고, 빠른 복호 수렴 속도를 가지며, 가변 정보 길이 및 가변 부호율을 지원하는 우수한 오류 정정 성능의 LDPC 부호를 제공하기 위한, LDPC 부호의 패리티 검사 행렬 생성 장치 및 그 방법과, 그를 이용한 LDPC 부/복호화 장치를 제공하는데 그 목적이 있다.That is, the present invention provides an LDPC code parity check matrix generation apparatus for providing an LDPC code having a low complexity of encoding / decoding, a fast decoding convergence speed, and excellent error correction performance that supports variable information length and variable code rate. And a method thereof and an LDPC encoding / decoding device using the same.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention which are not mentioned above can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

상기 목적을 달성하기 위한 본 발명의 패리티 검사 행렬 생성 장치는, LDPC(Low Density Parity Check) 부호의 패리티 검사 행렬 생성 장치에 있어서, 제 1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하기 위한 제1 패리티 검사 행렬 생성 수단; 및 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하기 위한 제q 패리티 검사 행렬 생성 수단을 포함한다.In the parity check matrix generating apparatus of the present invention for achieving the above object, in the parity check matrix generating apparatus of a Low Density Parity Check (LDPC) code, generating a first parity check matrix composed of a first information block and a parity block Means for generating a first parity check matrix; And q-th parity check matrix generating means for generating a q-th parity check matrix by adding a q-th information block to the generated q-1 (1 <q≤Q, Q is a natural number of 2 or more) parity check matrices. .

또한, 상기 본 발명의 패리티 검사 행렬 생성 장치는, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축 수단을 더 포함한다.The apparatus for generating a parity check matrix according to the present invention may be different from the first through Q parity check matrices by applying information shortening to at least one parity check matrix of the first to Q parity check matrices. And information shortening means for generating at least one parity check matrix.

또한, 본 발명의 패리티 검사 행렬 생성 장치는, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공 수단을 더 포함한다.The apparatus for generating a parity check matrix according to the present invention may be further configured by applying a puncturing technique to at least one parity check matrix among the first to Q th parity check matrices. Puncturing means for generating a parity check matrix of.

한편, 상기 목적을 달성하기 위한 본 발명의 다른 패리티 검사 행렬 생성 장치는, LDPC 부호의 패리티 검사 행렬 생성 장치에 있어서, 적어도 하나의 기본 패리티 검사 행렬을 생성하기 위한 기본 패리티 검사 행렬 생성 수단; 및 상기 기본 패리티 검사 행렬 생성 수단에서 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬 생성 수단에서 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하여 적어도 하나의 확장 패리티 검사 행렬을 생성하기 위한 확장 패리티 검사 행렬 생성 수단을 포함한다.On the other hand, another parity check matrix generating apparatus of the present invention for achieving the above object comprises: a parity check matrix generating apparatus of an LDPC code, comprising: basic parity check matrix generating means for generating at least one basic parity check matrix; And applying row decomposition to the information block of the basic parity check matrix generated by the basic parity check matrix generating means and extending the parity block of the basic parity check matrix generated by the basic parity check matrix generating means to at least one extended parity check. Extended parity check matrix generating means for generating a matrix.

또한, 상기 본 발명의 다른 패리티 검사 행렬 생성 장치는, 상기 기본 패리 티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축 수단을 더 포함한다.The apparatus for generating another parity check matrix according to the present invention further includes applying the information shortening to at least one of the basic parity check matrix and the extended parity check matrix to apply the basic parity check matrix and the extended parity check matrix. And information shortening means for generating at least one parity check matrix different from.

또한, 상기 본 발명의 다른 패리티 검사 행렬 생성 장치는, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공 수단을 더 포함한다.The apparatus for generating another parity check matrix according to the present invention is different from the basic parity check matrix and the extended parity check matrix by applying a puncturing technique to at least one of the basic parity check matrix and the extended parity check matrix. Puncturing means for generating at least one parity check matrix.

한편, 상기 목적을 달성하기 위한 본 발명의 LDPC 부호화 장치는, LDPC 부호화 장치에 있어서, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화 수단을 포함하되, 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록과 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함하는 것을 특징으로 한다.On the other hand, the LDPC coding apparatus of the present invention for achieving the above object, in the LDPC coding apparatus, a parity check matrix for selecting a parity check matrix corresponding to an input coding parameter from a plurality of parity check matrix. Selection means; And encoding means for encoding an input word based on the parity check matrix selected by the parity check matrix selecting means, wherein the plurality of parity check matrices comprise a first information block and a parity block. And a qth parity check matrix in which a q-th information block is added to the first parity check matrix and the q-1 (1 <q≤Q, Q is a natural number of 2 or more) parity check matrices.

한편, 상기 목적을 달성하기 위한 본 발명의 다른 LDPC 부호화 장치는, LDPC 부호화 장치에 있어서, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패 리티 검사 행렬 선택수단; 및 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화 수단을 포함하되, 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하여 생성된 적어도 하나의 확장 패리티 검사 행렬을 포함하는 것을 특징으로 한다.On the other hand, another LDPC encoding apparatus of the present invention for achieving the above object, in the LDPC encoding apparatus, parity for selecting a parity check matrix corresponding to an input coding parameter from a plurality of parity check matrix. Check matrix selecting means; And encoding means for encoding an input word based on the parity check matrix selected by the parity check matrix selecting means, wherein the plurality of parity check matrices include at least one basic parity check matrix; And at least one extended parity check matrix generated by applying row decomposition to the information block of the basic parity check matrix and extending the parity block of the basic parity check matrix.

한편, 상기 목적을 달성하기 위한 본 발명의 LDPC 복호화 장치는, LDPC 복호화 장치에 있어서, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화 수단을 포함하되, 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함하는 것을 특징으로 한다.On the other hand, the LDPC decoding apparatus of the present invention for achieving the above object, in the LDPC decoding apparatus, a parity check matrix for selecting a parity check matrix corresponding to an input decoding parameter from a plurality of parity check matrix. Selection means; And decoding means for decoding a received codeword based on the parity check matrix selected by the parity check matrix selecting means, wherein the plurality of parity check matrices comprise a first information block and a parity block. And a qth parity check matrix in which a q-th information block is added to the first parity check matrix and the q-1 (1 <q≤Q, Q is a natural number of 2 or more) parity check matrices.

한편, 상기 목적을 달성하기 위한 본 발명의 다른 LDPC 복호화 장치는, LDPC 복호화 장치에 있어서, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화 수단을 포함하되, 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하여 생성된 적어도 하나의 확장 패리티 검사 행렬을 포함하는 것을 특징으로 한다.Meanwhile, another LDPC decoding apparatus of the present invention for achieving the above object includes a parity check for selecting a parity check matrix corresponding to an input decoding parameter among a plurality of parity check matrices in the LDPC decoding apparatus. Matrix selection means; And decoding means for decoding a received codeword based on the parity check matrix selected by the parity check matrix selecting means, wherein the plurality of parity check matrices include at least one basic parity check matrix; And at least one extended parity check matrix generated by applying row decomposition to the information block of the basic parity check matrix and extending the parity block of the basic parity check matrix.

한편, 상기 목적을 달성하기 위한 본 발명의 패리티 검사 행렬 생성 방법은, LDPC 부호의 패리티 검사 행렬 생성 방법에 있어서, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하는 제1 패리티 검사 행렬 생성 단계; 및 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하는 제q 패리티 검사 행렬 생성 단계를 포함한다.On the other hand, the parity check matrix generation method of the present invention for achieving the above object, in the parity check matrix generation method of the LDPC code, a first parity check to generate a first parity check matrix consisting of a first information block and a parity block Matrix generation step; And a q-th parity check matrix generation step of generating a q-th parity check matrix by adding a q-th information block to the generated q-1 (1 <q≤Q, Q is a natural number of 2 or more) parity check matrices.

또한, 상기 본 발명의 패리티 검사 행렬 생성 방법은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 정보 단축 단계를 더 포함한다.The parity check matrix generation method of the present invention may differ from the first through Q parity check matrices by applying information shortening to at least one parity check matrix of the first through Q parity check matrices. And an information shortening step of generating at least one parity check matrix.

또한, 상기 본 발명의 패리티 검사 행렬 생성 방법은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 천공 단계를 더 포함한다.The method of generating a parity check matrix according to the present invention may include applying a puncturing technique to at least one parity check matrix of the first to Q parity check matrices, and at least different from the first to Q th parity check matrix. And a puncturing step of generating one parity check matrix.

한편, 상기 목적을 달성하기 위한 본 발명의 다른 패리티 검사 행렬 생성 방법은, LDPC 부호의 패리티 검사 행렬 생성 방법에 있어서, 적어도 하나의 기본 패 리티 검사 행렬을 생성하는 기본 패리티 검사 행렬 생성 단계; 및 상기 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하여 적어도 하나의 확장 패리티 검사 행렬을 생성하는 확장 패리티 검사 행렬 생성 단계를 포함한다.On the other hand, another method for generating a parity check matrix of the present invention for achieving the above object, the parity check matrix generation method of the LDPC code, comprising: generating a basic parity check matrix for generating at least one basic parity check matrix; And generating an at least one extended parity check matrix by applying row decomposition to the information block of the generated basic parity check matrix and extending the parity block of the generated basic parity check matrix.

또한, 상기 본 발명의 다른 패리티 검사 행렬 생성 방법은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 정보 단축 단계를 더 포함한다.The method for generating another parity check matrix according to the present invention may further include applying the information shortening to at least one of the basic parity check matrix and the extended parity check matrix. And an information shortening step of generating another at least one parity check matrix.

또한, 상기 본 발명의 다른 패리티 검사 행렬 생성 방법은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 천공 단계를 더 포함한다.In addition, another parity check matrix generation method of the present invention is different from the default parity check matrix and the extended parity check matrix by applying a puncturing technique to at least one of the basic parity check matrix and the extended parity check matrix. The method further includes a puncturing step of generating at least one parity check matrix.

상기와 같은 본 발명은, 부분 병렬 처리 방식의 하드웨어 하나만을 가지고 가변 정보 길이 및 가변 부호율의 복호화기를 용이하게 구현할 수 있으며, 초고속 복호화를 수행할 수 있는 효과가 있다.As described above, the present invention can easily implement a decoder having a variable information length and a variable code rate using only one piece of hardware in a partial parallel processing scheme, and has an effect of performing ultrafast decoding.

또한, 본 발명은 우수한 오류 정정 성능을 가지면서, 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호를 생성할 수 있는 효과가 있다.In addition, the present invention has the effect of generating an LDPC code supporting variable information length and variable code rate with simple encoding and fast decoding convergence speed while having excellent error correction performance.

또한, 본 발명은 고속 LDPC 복호기를 용이하게 구현할 수 있으며, 고속 복호를 수행하는 하드웨어를 간단하게 구현할 수 있는 효과가 있다.In addition, the present invention can easily implement a high-speed LDPC decoder, there is an effect that can easily implement a hardware that performs fast decoding.

결과적으로, 본 발명은 낮은 부/복호화 복잡도(low complexity for encoding/decoding)를 가지며, 우수한 오류 정정 및 감지(correction and detection of error) 성능을 가진 가변 정보 길이 및 가변 부호율의 LDPC 부호를 제공할 수 있다.As a result, the present invention has a low complexity for encoding / decoding, and can provide a variable information length and variable code rate LDPC code with excellent error correction and detection of error performance. Can be.

상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.The above objects, features, and advantages will become more apparent from the detailed description given hereinafter with reference to the accompanying drawings, and accordingly, those skilled in the art to which the present invention pertains may share the technical idea of the present invention. It will be easy to implement. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

LDPC 부호는 "Gallager"에 의해 도입된 부호이다. LDPC 부호는 극소수의 원소들이 1의 값을 가지며, 나머지인 대부분의 원소들은 0의 값을 갖는 패리티 검사 행렬로 정의된다.The LDPC code is a code introduced by "Gallager". The LDPC code is defined as a parity check matrix with a very small number of elements having a value of 1 and most of the remaining elements have a value of 0.

LDPC 부호는 균일(regular) LDPC 부호와 비균일(irregular) LDPC 부호로 대별된다. 균일 LDPC 부호는 "Gallager"가 제안한 LDPC 부호로서, 패리티 검사 행렬 내의 모든 행들이 동일한 개수의 1을 원소로 가지며, 모든 열들도 동일한 개수의 1을 원소로 갖는다. 이와 달리, 비균일 LDPC 부호의 패리티 검사 행렬에는 서로 다른 개수의 1을 포함하는 행들이 존재하거나, 서로 다른 개수의 1을 포함하는 열들이 존재한다. 일반적으로 비균일 LDPC 부호의 오류 정정 성능이 균일 LDPC 부호보다 우수하다고 알려져 있다.LDPC codes are roughly divided into regular LDPC codes and irregular LDPC codes. The uniform LDPC code is an LDPC code proposed by "Gallager", and all rows in the parity check matrix have the same number of 1s as elements, and all columns have the same number of 1s as elements. In contrast, there are rows including different numbers of 1's or columns including different numbers of 1's in the parity check matrix of the non-uniform LDPC code. In general, it is known that the error correction performance of a nonuniform LDPC code is superior to a uniform LDPC code.

한편, "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)를 제안하였다.On the other hand, "Fossorier" is a quasi-cyclic representation of an element of the parity check matrix as an identity matrix and a zero matrix instead of 0 and 1, which are elements on GF (2). LDPC codes (“Quasi-cyclic low density parity check codes from circulant permutation matrices”, IEEE Trans. Inform. Theory, vol. 50, pp. 1788-1794, Aug. 414) have been proposed.

이하, 본 발명의 실시예에서는, 준 순환 LDPC 부호를 사용하는 경우에 한하여 본 발명의 기술적 사상을 설명할 것이나, 본 발명이 준 순환 LDPC 부호 외에도, 패리티 검사 행렬의 원소를 GF(2)에서 기술한 LDPC 부호에도 적용될 수 있음은 이 분야에 종사하는 자라면 충분히 이해할 수 있을 것이다.Hereinafter, in the embodiment of the present invention, the technical idea of the present invention will be described only when the quasi-cyclic LDPC code is used. In addition to the quasi-cyclic LDPC code, the present invention describes elements of the parity check matrix in the GF (2). Applicability to one LDPC code will be understood by those skilled in the art.

또한, 이하의 본 발명의 실시예에서는, 부행렬(sub-matrix)의 크기, 부행렬의 개수, 패리티 검사 행렬의 차수 분포 등을 고정하여 본 발명의 기술적 사상을 설명할 것이나, n×n 부행렬(sub-matrix)의 길이를 변형시키는 방법, 사용하는 부행렬의 개수를 변형시키는 방법, 패리티 검사 행렬의 차수 분포(degree distribution) 변화에 따른 변형된 정보 비트 행분해 방식을 통하여 변형된 정보 길이 및 부호율을 얻는 방식도 본 발명의 범주에 속함은 이 분야에 종사하는 자라면 충분히 이해할 수 있을 것이다.In the following embodiments of the present invention, the technical spirit of the present invention will be described by fixing the size of sub-matrix, the number of sub-matrix, the order distribution of parity check matrix, etc. Modified information length through a method of modifying the length of a sub-matrix, a method of modifying the number of submatrices used, and a modified information bit row decomposition method according to a degree distribution of a parity check matrix. And how to obtain the code rate is also within the scope of the present invention will be fully understood by those skilled in the art.

하기의 [수학식 1]은 5×5의 순환 순열 행렬(cyclic-permutation matrix)들을 예시하고 있다.Equation 1 below illustrates 5 × 5 cyclic-permutation matrices.

Figure 112007090414469-PAT00001
Figure 112007090414469-PAT00001

상기 [수학식 1]에 예시된 바와 같이, 부행렬 Si는 단위 행렬의 열들을 i 만큼 우측으로 순환 이동(cyclic shift)하여 얻어짐을 알 수 있다.As illustrated in [Equation 1], it can be seen that the sub-matrix Si is obtained by cyclic shifting the columns of the unit matrix to the right by i.

이하에서, 본 발명의 기술적 사상을 설명하기 위하여 38×38의 부행렬로 이루어진 패리티 검사 행렬을 예시적으로 이용할 것이다. 이 경우의 부행렬은 38×38의 단위 행렬에 순환 이동을 적용시켜 얻어지는 행렬(즉, 순환 순열 행렬) 및 38×38의 0 행렬이다.Hereinafter, in order to explain the technical idea of the present invention, a parity check matrix composed of 38 × 38 sub-matrix will be used as an example. In this case, the sub-matrix is a matrix obtained by applying cyclic shift to a 38x38 unit matrix (i.e., a cyclic permutation matrix) and a 38x38 zero matrix.

하기의 [표 1]은 본 발명의 일실시예에 따른 LDPC 패리티 검사 행렬들을 포함하는 테이블이다.Table 1 below is a table including LDPC parity check matrices according to an embodiment of the present invention.

information length(bits) kinformation length (bits) k code rate Rcode rate R codeword length (bits) ncodeword length (bits) n parity length(bits) n-kparity length (bits) n-k parity check matrix Hparity check matrix H 456456 1/21/2 912912 456456

Figure 112007090414469-PAT00002
Figure 112007090414469-PAT00002
456456 1/31/3 13681368 912912
Figure 112007090414469-PAT00003
Figure 112007090414469-PAT00003
456456 1/41/4 18241824 13681368
Figure 112007090414469-PAT00004
Figure 112007090414469-PAT00004
456456 1/51/5 22802280 18241824
Figure 112007090414469-PAT00005
Figure 112007090414469-PAT00005
912912 2/32/3 13681368 456456
Figure 112007090414469-PAT00006
Figure 112007090414469-PAT00006
912912 1/21/2 18241824 912912
Figure 112007090414469-PAT00007
Figure 112007090414469-PAT00007
912912 2/52/5 22802280 13681368
Figure 112007090414469-PAT00008
Figure 112007090414469-PAT00008
912912 1/31/3 27362736 18241824
Figure 112007090414469-PAT00009
Figure 112007090414469-PAT00009
13681368 3/43/4 18241824 456456
Figure 112007090414469-PAT00010
Figure 112007090414469-PAT00010
13681368 3/53/5 22802280 912912
Figure 112007090414469-PAT00011
Figure 112007090414469-PAT00011
13681368 1/21/2 27362736 13681368
Figure 112007090414469-PAT00012
Figure 112007090414469-PAT00012
13681368 3/73/7 31943194 18241824
Figure 112007090414469-PAT00013
Figure 112007090414469-PAT00013
18241824 4/54/5 22802280 456456
Figure 112007090414469-PAT00014
Figure 112007090414469-PAT00014
18241824 2/32/3 27362736 912912
Figure 112007090414469-PAT00015
Figure 112007090414469-PAT00015
18241824 4/74/7 31943194 13681368
Figure 112007090414469-PAT00016
Figure 112007090414469-PAT00016
18241824 1/21/2 36483648 18241824
Figure 112007090414469-PAT00017
Figure 112007090414469-PAT00017
22802280 5/65/6 27362736 456456
Figure 112007090414469-PAT00018
Figure 112007090414469-PAT00018
22802280 5/75/7 31943194 912912
Figure 112007090414469-PAT00019
Figure 112007090414469-PAT00019
22802280 5/85/8 36483648 13681368
Figure 112007090414469-PAT00020
Figure 112007090414469-PAT00020
22802280 5/95/9 434434 18241824
Figure 112007090414469-PAT00021
Figure 112007090414469-PAT00021

상기 [표 1]의 테이블에 있는 20개의 LDPC 패리티 검사 행렬들은 본 발명의 패리티 검사 행렬 생성 방법에 따라 생성되고, 정보 길이로 456, 912, 1368, 1824 및 2280 비트를 사용하고, 패리티 길이로 456, 912, 1368 및 1824 비트를 사용함으로써, 각 정보 길이와 패리티 길이의 조합으로 20가지의 간단한 부호화 및 빠른 복호 수렴 속도를 가지고 가변 정보 길이 및 가변 부호율을 지원하는 부/복호화기의 구현에 사용될 수 있다.The 20 LDPC parity check matrices in the table of Table 1 are generated according to the parity check matrix generation method of the present invention, and use 456, 912, 1368, 1824, and 2280 bits as information lengths, and 456 as parity lengths. By using 912, 1368, and 1824 bits, each combination of information length and parity length can be used to implement a sub / decoder that supports variable information length and variable code rate with 20 simple encoding and fast decoding convergence rates. Can be.

도 1은 상기 [표 1]의 테이블에 예시된 패리티 검사 행렬들 간의 관계를 구조적으로 설명하기 위한 도면이다.FIG. 1 is a diagram for structurally explaining a relationship between parity check matrices illustrated in the table of [Table 1].

도 1에서 작은 정사각형은 456×456 행렬이며, [표 1] 및 도 1에 기재된 Ci j블록 및 Pi블록은 각각 패리티 검사 행렬의 일부를 이루는 정보 블록 및 패리티 블록을 의미하며, 이에 대한 자세한 설명은 [수학식 2] 내지 [수학식 8] 및 [수학식 12]을 이용하여 후술하기로 한다.In FIG. 1, a small square is a 456 × 456 matrix, and C i j blocks and P i blocks described in Table 1 and FIG. 1 refer to information blocks and parity blocks that form part of a parity check matrix, respectively. Description will be described later using [Equation 2] to [Equation 8] and [Equation 12].

일반적으로, LPDC 부호의 경우 패리티 검사 행렬의 차수 분포에 대한 최적화 설계와, 요소(factor) 그래프 상의 싸이클 분포에 대한 최적화 설계를 통하여 우수한 오류 정정 성능의 패리티 검사 행렬이 생성된다. 본 발명에서 사용되는 패리티 검사 행렬들은 서로 상관 관계(이에 대해서는 후술하기로 함)에 있으므로, 각 패리티 검사 행렬에 대하여 개별적으로 최적화 설계를 수행하지 않고, 모든 패리티 검사 행렬에 대해 동시에 최적화 설계를 수행하여야 한다. 더불어, 패리티 검사 행렬의 최적화 설계 시에 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 본 발명의 제한 조건을 이용하여 수행하여야 한다.In general, in the case of LPDC code, a parity check matrix having excellent error correction performance is generated through an optimization design for order distribution of a parity check matrix and an optimization design for cycle distribution on a factor graph. Since the parity check matrices used in the present invention are correlated with each other (to be described later), the optimization design should be performed on all parity check matrices simultaneously without performing an optimization design on each parity check matrix. do. In addition, the optimization of the parity check matrix should be performed using the constraints of the present invention having simple encoding and fast decoding convergence speed.

하기의 [수학식 2]는 456 비트인 패리티 길이를 가지고 5개의 부호율을 지원하는 패리티 검사 행렬을 예시하는 수식으로서, 도 1의 H1을 나타낸다.Equation 2 below is a formula for illustrating a parity check matrix that supports five code rates with a parity length of 456 bits, and represents H 1 of FIG. 1 .

Figure 112007090414469-PAT00022
Figure 112007090414469-PAT00022

하기의 [수학식 3]은 상기 [수학식 2]의 패리티 검사 행렬 중 패리티 블록인 행렬 P1을 예시하는 수식이다.Equation 3 below is a formula for illustrating the matrix P 1 which is a parity block of the parity check matrix of Equation 2 above.

Figure 112007090414469-PAT00023
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 행렬이 아닌 순환 순열 행렬의 값들을 같지 않게 하려는 제한 조건을 두었기 때문이다. 이러한 제한 조건은 패리티 블록이나 정보 블록에 공통적으로 적용되며, 이러한 제한 조건에 의해 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 패리티 검사 행렬을 얻을 수 있다.On the right side of Equation 3, "-" represents a matrix of 38 x 38, and "i" represents a cyclic permutation matrix S i of 38x38. Parity blocks P 1 exemplified in Equation 3 are (m, m-1) and (0, 0), (6, 0), (11, 0) positions and 1≤m≤11 while ( The m mod 38 cyclic-permutation matrix is included as an element at the positions m and m, and the zero matrix is included in the remaining positions. That is, in the case of a non-zero cyclic permutation matrix, the remaining value obtained by dividing the row value of the base matrix by 38 is included as an element of the cyclic permutation matrix. The reason for designing the parity check matrix is because the constraint is placed so that the values of the cyclic permutation matrixes that are not the same matrix of the same column of the base matrix are not equal. Such a constraint is commonly applied to a parity block or an information block, and according to this constraint, a parity check matrix having a simple encoding and fast decoding convergence rate can be obtained.

본 발명에서 예시로 설계된 패리티 검사 행렬은 기본 행렬의 같은 열에 해당하는 0 행렬이 아닌 순환 순열 행렬의 값들뿐만 아니라, 그 값들을 19로 나눈 나머지 값들도 같지 않게 설계한 예이다. 이와 같은 제한 조건은 복잡도를 2배 늘리면서 복호기의 수렴 속도를 2배 더 가속화할 경우나 부행렬의 크기를 2배 크기로 늘리거나 줄일 경우에 유용하게 사용될 수 있다.The parity check matrix designed as an example in the present invention is an example in which not only the values of the non-zero cyclic permutation matrix corresponding to the same column of the base matrix but also the remaining values divided by 19 are not equal. Such constraints can be useful when doubling the complexity and doubling the convergence speed of the decoder, or when increasing or decreasing the size of the sub-matrix by twice.

이와 같은 패리티 블록 P1은 이중 대각 패리티 블록의 특수한 경우로서, 부분 블록 단위의 병렬 처리 LDPC 부호화기의 구현에 적용될 수 있으므로, 이 형태의 패리티 블록을 사용하는 경우, 부호화 복잡도를 최소화할 수 있다. 즉, 패리티 블록 P1은 선형 독립 조건(linearly independent condition)을 만족하는 행렬이면 족하지만, 특히 본 발명에서와 같이 설계하면 P1은 38개의 독립적인 선형 독립을 만족하는 행렬로 나누어지게 되고, 상기 [수학식 3]에 예시된 형태의 패리티 블록을 사 용하면 보다 낮은 복잡도의 부호화기 및 빠른 복호 수렴 속도를 가지는 복호기를 구현할 수 있다.Such a parity block P 1 is a special case of a double diagonal parity block, and can be applied to an implementation of a parallel processing LDPC encoder in units of partial blocks. When using this type of parity block, coding complexity can be minimized. That is, the parity block P 1 is sufficient if the matrix satisfies the linearly independent condition, but in particular, as designed in the present invention, P 1 is divided into matrices satisfying 38 independent linear independence. By using a parity block of the type illustrated in [Equation 3], a decoder having a lower complexity and a decoder having a faster decoding convergence rate can be implemented.

이중 대각 패리티 블록에 대한 구체적인 내용은, "Richardson"에 의해 저술된 논문("Efficient Encoding of Low-Density Parity-Check Codes", IEEE Trans. on Inform. Theory, Vol. 47, No. 2, Feb. 411)에 자세히 나와 있으므로, 여기서는 이에 대한 설명은 생략하기로 한다.For a detailed description of the double diagonal parity block, see "Efficient Encoding of Low-Density Parity-Check Codes", IEEE Trans. On Inform. Theory, Vol. 47, No. 2, Feb. 411), the description thereof will be omitted here.

하기의 [수학식 4] 내지 [수학식 8]은 상기 [수학식 2]의 제1 내지 제5 정보 블록인 C1 0, C1 1, C1 2, C1 3, C1 4를 예시하는 수식이다.Equations 4 to 8 below illustrate C 1 0 , C 1 1 , C 1 2 , C 1 3 , and C 1 4, which are the first to fifth information blocks of Equation 2; Is a formula.

Figure 112007090414469-PAT00024
Figure 112007090414469-PAT00024

Figure 112007090414469-PAT00025
Figure 112007090414469-PAT00025

Figure 112007090414469-PAT00026
Figure 112007090414469-PAT00026

Figure 112007090414469-PAT00027
Figure 112007090414469-PAT00027

Figure 112007090414469-PAT00028
Figure 112007090414469-PAT00028

상기 [수학식 4] 내지 [수학식 8]의 우측 변에서 크게 표기된 정수는 38×38 인 단위 행렬을 그 정수만큼 우측 순환 이동시켜 얻어지는 순환 순열 행렬을 나타내며, "-"는 상기 [수학식 3]에서 설명한 바와 같이 38×38인 0 행렬을 나타낸다. 예를 들어, 상기 [수학식 4]에서 371은 순환 순열 행렬 S37을 나타낸다.The integer largely expressed on the right side of [Equation 4] to [Equation 8] represents a cyclic permutation matrix obtained by right-circulating a unit matrix of 38 × 38 by the integer, and “-” denotes Equation 3 above. ], A matrix of 0 is 38x38. For example, in Equation 4, 37 1 represents a cyclic permutation matrix S 37 .

또한, 상기 [수학식 4] 내지 [수학식 8]의 우측 변에서 지수(exponent)는 본 발명의 일실시예에 따라 상기 [수학식 2]의 제1 내지 제5 정보 블록에 행분해(row splitting)를 적용하여 후술되는 [수학식 9] 내지 [수학식 11]의 패리티 검사 행렬인 H2, H3, H4에 포함되는 정보 블록들을 생성하는데 사용된다. 행분해에 대한 설명은 [수학식 12]을 참조하여 후술하기로 한다.In addition, the exponent on the right side of Equations 4 to 8 is row-rowed to the first to fifth information blocks of Equation 2 according to an embodiment of the present invention. splitting) is used to generate information blocks included in the parity check matrices H 2 , H 3 , and H 4 of Equations 9 to 11 described below. Description of the row decomposition will be described later with reference to [Equation 12].

상기 [수학식 4]에 예시된 제1 정보 블록인 C1 0 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬

Figure 112007090414469-PAT00029
은 456비트인 정보 길이와 1/2인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.Parity check matrix consisting of C 1 0 as the first information block illustrated in Equation 4 and parity block P 1 illustrated in Equation 3 above.
Figure 112007090414469-PAT00029
Is used for encoding / decoding of LDPC codes having an information length of 456 bits and a code rate of 1/2.

마찬가지로, 상기 [수학식 4] 및 [수학식 5]에 예시된 제1 및 제2 정보 블록인 C1 0 , C1 1 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬

Figure 112007090414469-PAT00030
은 912비트인 정보 길이와 2/3인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.Similarly, a parity check made up of C 1 0 , C 1 1 , which are the first and second information blocks illustrated in Equations 4 and 5 , and parity block P 1 illustrated in Equation 3, respectively. procession
Figure 112007090414469-PAT00030
Is used to encode / decode an LDPC code having an information length of 912 bits and a code rate of 2/3.

마찬가지로, 상기 [수학식 4] 내지 [수학식 6]에 예시된 제1 내지 제3 정보 블록인 C1 0 , C1 1 , C1 2 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬

Figure 112007090414469-PAT00031
은 1368비트인 정보 길이와 3/4인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.Similarly, C 1 0 , C 1 1 , C 1 2 , which are the first to third information blocks illustrated in Equations 4 to 6 , and the parity block P 1 illustrated in Equation 3 above. Parity check matrix
Figure 112007090414469-PAT00031
Is used for encoding / decoding of LDPC codes having an information length of 1368 bits and a code rate of 3/4.

마찬가지로, 상기 [수학식 4] 내지 [수학식 7]에 예시된 제1 내지 제4 정보 블록인 C1 0 , C1 1 , C1 2 , C1 3 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬

Figure 112007090414469-PAT00032
은 1824비트인 정보 길이와 4/5인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.Similarly, C 1 0 , C 1 1 , C 1 2 , C 1 3 , which are the first to fourth information blocks illustrated in Equations 4 to 7 , and Equation 3 illustrated above. Parity check matrix consisting of parity block P 1
Figure 112007090414469-PAT00032
Is used for encoding / decoding of LDPC codes having an information length of 1824 bits and a code rate of 4/5.

마찬가지로, 상기 [수학식 4] 내지 [수학식 8]에 예시된 제1 내지 제5 정보 블록인 C1 0 , C1 1 , C1 2 , C1 3 , C1 4 및 상기 [수학식 3]에 예시된 패리티 블록 P1으로 이루어진 패리티 검사 행렬

Figure 112007090414469-PAT00033
은 2280비트인 정보 길이와 5/6인 부호율을 가진 LDPC 부호의 부/복호화에 사용된다.Similarly, C 1 0 , C 1 1 , C 1 2 , C 1 3 , C 1 4 , which are the first to fifth information blocks illustrated in Equations 4 to 8 , respectively. And a parity check matrix composed of parity blocks P 1 illustrated in Equation 3 above.
Figure 112007090414469-PAT00033
Is used for encoding / decoding of LDPC codes having an information length of 2280 bits and a code rate of 5/6.

전술한 바와 같이, 빠른 복호 수렴 속도를 얻기 위하여 상기 [수학식 4] 내지 [수학식 8]에 예시된 대로 설계된 패리티 검사 행렬은 기본 행렬의 같은 열에 해당하는 0 행렬이 아닌 순환 순열 행렬의 값들뿐만 아니라, 그 값들을 19로 나눈 나머지 값들도 같지 않게 설계한 예이다. 이와 같은 제한 조건은 복잡도를 2배 늘리면서 복호기의 수렴 속도를 2배 더 가속화할 경우나 부행렬의 크기를 2배 크기로 늘리거나 줄일 경우에 유용하게 사용될 수 있다.As described above, the parity check matrix designed as illustrated in Equations 4 to 8 to obtain a fast decoding convergence rate is a value of only the cyclic permutation matrix, not the zero matrix corresponding to the same column of the base matrix. Rather, the values divided by 19 are the same. Such constraints can be useful when doubling the complexity and doubling the convergence speed of the decoder, or when increasing or decreasing the size of the sub-matrix by twice.

한편, 상기 [수학식 3] 내지 [수학식 8]의 행렬은 본 발명의 기술적 사상을 설명하기 위해 사용하는 예시적인 행렬로서, 차수분포 및 사이클 분포의 최적화를 통하여 상기 [수학식 3] 내지 [수학식 8]에 예시된 행렬 외에도 상기 [수학식 3] 내지 [수학식 8]의 행렬 크기를 가진 다양한 행렬을 생성할 수 있음은 이 분야에 종사하는 자라면 충분히 이해할 수 있을 것이다.Meanwhile, the matrixes of Equations 3 to 8 are exemplary matrices used to explain the technical idea of the present invention, and the equations 3 to 3 are optimized through optimization of order distribution and cycle distribution. It will be understood by those skilled in the art that in addition to the matrix illustrated in Equation 8, various matrices having the matrix sizes of Equations 3 to 8 can be generated.

하기의 [수학식 9] 내지 [수학식 11]은 각각 912 비트, 1368비트, 1824 비트인 패리티 길이를 가지고 5개의 부호율을 지원하는 패리티 검사 행렬을 예시하는 수식으로서, 각각 도 1의 H2, H3, H4를 나타낸다.To the [equation 9] to [expression 11] are each 912-bit, 1368-bit, 1824 bit is a formula that has a parity length illustrating a parity check matrix supporting five code rate, each of Fig. H 2 1 , H 3 and H 4 are shown.

Figure 112007090414469-PAT00034
Figure 112007090414469-PAT00034

Figure 112007090414469-PAT00035
Figure 112007090414469-PAT00035

Figure 112007090414469-PAT00036
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에 행분해를 적용하여 얻어지는 것이다.Information blocks of H 2 , H 3 , and H 4 are generated by applying the row decomposition illustrated by Equation 12 to H 1 information blocks. That is, C j i (where j = 2, 3, 4, i = 0, 1, 2, 3, 4) is obtained by applying a row decomposition to C 1 j . For example, C 3 2 in the above [Equation 10] is obtained by applying a row decomposition to C 1 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과 동일한 구조를 갖는다.In addition, parity blocks of H 2 , H 3 , and H 4 are generated by extending the parity blocks of H 1 into the same structure. That is, parity blocks P 2 of Equation 9 are (0, 0), (12, 0), (23, 0), and (m, m-1) and ( By including the m mod 38 cyclic permutation matrix as an element at the position of m, m) and the zero matrix at the remaining positions, the parity block P 1 illustrated in [Equation 3] Has the same structure as In addition, parity block P 3 of Equation 10 is (0, 0), (18, 0), (35, 0) and (m, m-1) and (1) while 1≤m≤35. By including the m mod 38 cyclic permutation matrix as an element at the position of m, m) and the zero matrix at the remaining positions, the parity block P 1 illustrated in [Equation 3] Has the same structure as Similarly, parity blocks P 4 of Equation (11) also have (m, m-1) and ((0, 0), (24, 0), (47, 0) positions and 1≤m≤47 while By including the m mod 38 cyclic permutation matrix as an element at the position of m, m) and the zero matrix at the remaining positions, the parity block P 1 illustrated in [Equation 3] Has the same structure as

이러한 과정을 통하여 얻어지는 패리티 검사 행렬

Figure 112007090414469-PAT00037
,
Figure 112007090414469-PAT00038
,
Figure 112007090414469-PAT00039
,
Figure 112007090414469-PAT00040
,
Figure 112007090414469-PAT00041
등은 상기 [표 1]에 기재된 해당 정보 길이 및 해당 부호율을 지원할 수 있다.Parity check matrix obtained through this process
Figure 112007090414469-PAT00037
,
Figure 112007090414469-PAT00038
,
Figure 112007090414469-PAT00039
,
Figure 112007090414469-PAT00040
,
Figure 112007090414469-PAT00041
Etc. can support the corresponding information length and corresponding code rate described in [Table 1].

전술한 바와 같이, 상기 [수학식 4] 내지 [수학식 8]의 지수는 패리티 검사 행렬 H1의 각 정보 블록을 행분해하여 패리티 검사 행렬 H2, H3, H4의 각 정보 블록을 생성하는데 사용된다. 본 발명의 일실시예에 따른 행분해는 하기의 [수학식 12]을 이용하여 수행된다.Generating a, the [equation 4] to each information block of the formula 8 in the index by decomposing line for each information block the H 1 parity check matrix, the parity check matrix H 2, H 3, H 4, as described above It is used to The row decomposition according to one embodiment of the present invention is performed using Equation 12 below.

Figure 112007090414469-PAT00042
Figure 112007090414469-PAT00042

즉, 상기 [수학식 12]는 본 발명의 일실시예에 따른 행분해 방식을 표현한 수식을 나타낸다. 상기 [수학식 12]에서, gk i(-1)=-1 에서의 "-1"값은 0 부행렬을 나타낸다.That is, [Equation 12] represents a formula representing the row decomposition method according to an embodiment of the present invention. In Equation 12, the value "-1" in g k i (-1) = -1 represents a zero sub-matrix.

또한, 상기 [수학식 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이다.In addition, in Equation 12, c mn (where m = 1,2, ..., M, n = 1,2, ..., N) is an information block of MN submatrices. Indicates a submatrix at position (m, n). When C in f i (C) of Equation 12 is the information block C 1 0 shown in Equation 4, M = 12, N = 12, and c 12 is 27 0 .

전술한 바와 같이, 가변 정보 길이 및 가변 부호율을 가진 LDPC 부호를 설계하는 본 발명의 실시예는 3가지 존재한다. 첫 번째 실시예는 제1 정보 블록 및 패리티 블록으로 이루어진 패리티 검사 행렬에 제2 정보 블록 등을 추가하여 상기 패리티 검사 행렬과 정보 길이 또는 부호율 면에서 다른 새로운 패리티 검사 행렬을 생성하는 방식이다. 두 번째 실시예는 기본 정보 블록 및 기본 패리티 블록으로 이루어진 패리티 검사 행렬이 있을 때, 기본 정보 블록에 행분해를 적용하여 확장 정보 블록을 생성하고 기본 패리티 블록을 확장하여 기본 패리티 블록과 동일한 구조를 가진 확장 패리티 블록을 생성함으로써, 기본 패리티 검사 행렬과 정보 길이 또는 부호율 면에서 상이한 새로운 패리티 검사 행렬을 생성하는 방식이다. 세 번째 실시예는 상술한 첫 번째 실시예와 두 번째 실시예를 결합한 방식이다.As described above, there are three embodiments of the present invention for designing an LDPC code having a variable information length and a variable code rate. The first embodiment is a method of generating a new parity check matrix different from the parity check matrix in terms of information length or code rate by adding a second information block to a parity check matrix including a first information block and a parity block. In the second embodiment, when there is a parity check matrix composed of a basic information block and a basic parity block, the extended information block is generated by applying row decomposition to the basic information block, and the basic parity block is extended to have the same structure as the basic parity block. By generating an extended parity block, a new parity check matrix is generated which is different from the basic parity check matrix in terms of information length or code rate. The third embodiment combines the first and second embodiments described above.

본 발명의 실시예에서는, 행분해의 대상이 되는 정보 블록을 기본 정보 블록이라 하고, 행분해 결과로 얻어지는 정보 블록을 확장 정보 블록이라 하기로 한다. 또한, 본 발명의 실시예에서는, 확장될 대상인 패리티 블록을 기본 패리티 블록이라 하고, 확장된 결과인 패리티 블록을 확장 패리티 블록이라 하기로 한다.In the embodiment of the present invention, the information block to be subjected to row decomposition is called a basic information block, and the information block obtained as a result of the row decomposition is called an extended information block. In an embodiment of the present invention, the parity block to be extended is referred to as a basic parity block, and the parity block as a result of the expansion will be referred to as an extended parity block.

상기 첫 번째 실시예를 부연설명하면, 패리티 블록을 고정한 상태에서 정보 블록을 확장하는 방식으로 패리티 검사 행렬들을 생성하되, 차수 분포 및 사이클 분포 면에서 우수한 패리티 검사 행렬이 생성되도록 정보 블록을 확장한다.In detail, the parity check matrices are generated by expanding the information block while the parity block is fixed, and the information block is extended to generate an excellent parity check matrix in terms of order distribution and cycle distribution.

상기 두 번째 실시예를 부연설명하면, 기본 패리티 검사 행렬에 포함된 정보 블록의 행분해를 통하여 기본 패리티 검사 행렬과 다른 확장 패리티 검사 행렬을 생성한다. 여기서, 차수 분포 및 사이클 분포 면에서 우수한 패리티 검사 행렬이 생성되도록 하는 행분해 방식을 적용한다.In further detail, the second embodiment generates an extended parity check matrix different from the basic parity check matrix by performing row decomposition of the information block included in the basic parity check matrix. Here, a row decomposition method is applied to generate an excellent parity check matrix in terms of order distribution and cycle distribution.

한편, 본 발명의 실시예에서는 상기 3가지 실시예를 작은 크기의 패리티 검사 행렬에서 큰 크기의 패리티 검사 행렬로 생성하는 기준으로 설명할 것이나, 이의 역과정도 가능함은 이 분야에 종사하는 자라면 충분히 이해할 수 있다. 즉, 첫 번째 실시예의 경우 큰 크기의 패리티 검사 행렬을 생성한 후, 상기 생성된 패리티 검사 행렬에서 정보 블록을 일부 제거하여 작은 크기의 패리티 검사 행렬을 생성하는 방식이 존재할 수 있다. 또한, 두 번째 실시예의 경우, 큰 크기의 기본 패리티 검사 행렬을 생성한 후, 상기 생성된 기본 패리티 검사 행렬의 정보 블록에 대해 행분해의 역과정인 행결합(row combining)을 적용하고, 상기 생성된 기본 패리티 검사 행렬의 패리티 블록의 일부만을 사용하는 패리티 부분 스위칭(parity part switching)을 적용함으로써, 상술한 확장 패리티 검사 행렬에 대응되는 축소 패리티 검사 행렬을 생성할 수 있는 것이다. 여기서, 정보 블록에 대한 행결합은 정보 부분(parity part)의 패리티 결합(parity combining)으로 표현될 수 있으며, 패리티 부분 스위칭은 패리티 부분(parity part)의 패리티 결합(parity combining)으로 표현될 수 있다.Meanwhile, in the embodiments of the present invention, the three embodiments will be described as a reference for generating a parity check matrix having a large size from a parity check matrix having a small size, but a reverse process thereof may be possible to those skilled in the art. Can be. That is, in the first embodiment, there may exist a method of generating a parity check matrix having a small size by generating a parity check matrix having a large size and then removing some information blocks from the generated parity check matrix. In addition, in the second embodiment, after generating a basic parity check matrix of a large size, a row combining, which is an inverse process of row decomposition, is applied to the information block of the generated basic parity check matrix, and the generation By applying parity part switching using only a part of the parity block of the basic parity check matrix, the reduced parity check matrix corresponding to the above-described extended parity check matrix can be generated. Here, the row combination for the information block may be expressed as parity combining of the parity part, and the parity part switching may be expressed as parity combining of the parity part. .

한편, 상술한 가변 정보 길이 및 가변 부호율을 가진 LDPC 부호를 설계하는 본 발명의 방법에 정보 단축 기법 및 천공 기법을 적용하여 보다 다양한 정보 길이 및 부호율을 지원하는 LDPC 부호를 설계할 수도 있다.On the other hand, by applying the information shortening technique and puncturing technique to the method of the present invention for designing the above-described LDPC code having a variable information length and variable code rate, it is possible to design an LDPC code that supports a variety of information length and code rate.

도 2는 본 발명에 따른 패리티 검사 행렬에 정보 단축 기법 및 천공 기법을 적용하는 개념을 설명하기 위한 도면이다.2 is a diagram illustrating a concept of applying an information shortening technique and a puncturing technique to a parity check matrix according to the present invention.

구체적으로, 도 2의 우측 상단에 도시된 k×n 크기인 패리티 검사 행렬에, k-keff 비트만큼의 정보 단축, np개의 패리티 비트에 대한 천공이 적용되는 경우를 예시한다. 여기서, k×n 크기인 패리티 검사 행렬은 기본적으로 k/n의 부호율 및 k의 정보 길이를 지원한다.Specifically, an example in which an information shortening by kk eff bits and puncturing for n p parity bits is applied to a parity check matrix having a size of k × n shown in the upper right of FIG. 2. Here, a parity check matrix of size k × n basically supports a code rate of k / n and an information length of 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)인 부호율을 제공할 수 있다.The upper left vector is an input message vector having a size of k × 1, and is composed of an information word composed of k eff information bits and kk eff zeros filled with information shortenings. That is, the information length according to the embodiment of the present invention is k eff . This input message vector is multiplied by the parity check matrix to produce an n-bit codeword. Then, in the generated codeword, n p parity bits are punctured, and the kk eff zeros previously filled are also deleted. As a result, the length of the codeword finally becomes n-k + k eff -n p . Therefore, in this case, the code rate of k / n and the information length of k eff and k eff / (n-k + k eff -n p ) which are different from the code rate of k / n provided by the parity check matrix and k information length are basically provided. Can provide.

한편, 도 2는 정보 단축과, 패리티 비트에 대한 천공이 적용되는 경우를 예시하였으나, 이러한 실시예 외에도, 정보 단축만을 사용하는 실시예, 정보 비트에 대한 천공만을 사용하는 실시예 등도 가능하며, 이들을 효과적으로 활용하면 보다 다양한 정보 길이 및 부호율을 지원할 수 있다.Meanwhile, although FIG. 2 illustrates a case where information shortening and puncturing for parity bits are applied, in addition to these embodiments, an embodiment using only information shortening and an embodiment using only puncturing for information bits are also possible. Effective utilization can support a wider variety of information lengths and code rates.

또한, 전술한 실시예에서는 입력 메시지 벡터와 패리티 검사 행렬과의 곱 전에 0 패딩을 수행하고, 입력 메시지 벡터와 패리티 검사 행렬과의 곱 후에 천공을 수행함으로써, 패리티 검사 행렬을 변형하지 않고 정보 단축 및 천공을 수행하는 방식을 설명하였다. 그러나 이러한 방식 외에도 정보 단축 및 천공을 패리티 검사 행렬 자체에 적용하여 새로운 keffx(n-k+keff-np) 크기인 패리티 검사 행렬을 생성하고 상기 생성된 패리티 검사 행렬과 정보 길이가 keffx1인 입력 메시지 벡터와의 곱으로 부호어 길이가 n-k+keff-np인 부호어를 생성하는 방식도 존재한다. 후자의 방식에 따르면 k×n 크기인 패리티 검사 행렬에서 최 좌측 keff개의 열들, 최 우측 np개의 열들, 최 상측 keff개의 행들을 제거함으로써 keffx(n-k+keff-np) 크기인 패리티 검사 행렬이 얻어진다.In addition, in the above-described embodiment, zero padding is performed before the product of the input message vector and the parity check matrix, and perforation is performed after the product of the input message vector and the parity check matrix, thereby reducing information without modifying the parity check matrix. The manner of carrying out the puncture has been described. However, in addition to this method, information reduction and puncturing is applied to the parity check matrix itself to generate a new parity check matrix of size k effx (n-k + k eff -n p ) and the generated parity check matrix and information length k effx. There is also a method of generating a codeword having a codeword length of n-k + k eff -n p by multiplying with an input message vector of one. The latter method k effx (n-k + k eff -n p ) by removing the leftmost k eff columns, the rightmost n p columns, and the top k eff rows from the parity check matrix of size k × n. A parity check matrix of magnitude is obtained.

이 분야에 종사하는 자라면, 이미 공지된 LDPC 부호의 다양한 부/복호화 기 법을 적용함으로써, 본 발명에서 제시하는 LDPC 부호에 대한 부/복호화를 용이하게 실시할 수 있으므로, 자세한 부/복호화 과정에 대한 설명은 생략하기로 한다.Those who are in this field can easily perform the encoding / decoding of the LDPC codes proposed by the present invention by applying various known encoding / decoding techniques of LDPC codes. The description will be omitted.

도 3은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 장치의 구성도이다.3 is a block diagram of an apparatus for generating a parity check matrix according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하기 위한 제1 패리티 검사 행렬 생성부(31), 및 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하기 위한 제q 패리티 검사 행렬 생성부(32 내지 35)를 포함한다.As shown in FIG. 3, the apparatus for generating a parity check matrix according to the present invention includes a first parity check matrix generator 31 for generating a first parity check matrix including a first information block and a parity block, and generation. Q-th parity check matrix generators 32 to 35 for generating a q-th parity check matrix by adding the q-th information block to the received q-1 (1 <q≤Q, where Q is a natural number of 2 or more) parity check matrix It includes.

또한, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축부(36)를 더 포함한다.The apparatus for generating a parity check matrix according to the present invention is different from the first through Q parity check matrices by applying information shortening to at least one parity check matrix of the first through Q parity check matrices. The apparatus further includes an information shortening unit 36 for generating at least one parity check matrix.

또한, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공부(37)를 더 포함한다.In addition, the apparatus for generating a parity check matrix according to the present invention may apply a puncturing technique to at least one parity check matrix of the first to Q th parity check matrices, and at least different from the first to Q th parity check matrices. It further includes a perforation portion 37 for generating one parity check matrix.

여기서, 상기 제q 패리티 검사 행렬 생성부(32 내지 35)는, 간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 제q 패리티 검사 행렬을 생성한다.Here, the q th parity check matrix generators 32 to 35 perform an optimization of constraint conditions, degree distribution, and cycle distribution for simple encoding and fast decoding convergence speed. Create a parity check matrix.

이러한 도 3의 실시예를 상기 [수학식 2] 내지 [수학식 8]을 참조하여 상세히 설명하면 다음과 같다.3 will be described in detail with reference to [Equation 2] to [Equation 8].

상기 제1 패리티 검사 행렬 생성부(31)는 상기 [수학식 4]에 예시된 제1 정보 블록인 C1 0 및 상기 [수학식 3]에 예시된 패리티 블록인 P1으로 이루어진 제1 패리티 검사 행렬 [C1 0 P1]을 생성한다.The first parity check matrix generator 31 includes a first parity check including C 1 0 , which is the first information block illustrated in Equation 4, and P 1 , which is the parity block illustrated in Equation 3; Create the matrix [C 1 0 P 1 ].

그리고 제2 패리티 검사 행렬 생성부(32)는 상기 제1 패리티 검사 행렬 생성부(31)에서 생성된 제1 패리티 검사 행렬 [C1 0 P1]에 상기 [수학식 5]의 제2 정보 블록 C1 1을 추가하여 제2 패리티 검사 행렬 [C1 1 C1 0 P1]을 생성한다.In addition, the second parity check matrix generator 32 may generate a second information block of Equation 5 in the first parity check matrix [C 1 0 P 1 ] generated by the first parity check matrix generator 31. C 1 1 is added to generate a second parity check matrix [C 1 1 C 1 0 P 1 ].

그리고 제3 패리티 검사 행렬 생성부(33)는 상기 제2 패리티 검사 행렬 생성부(32)에서 생성된 제2 패리티 검사 행렬 [C1 1 C1 0 P1]에 상기 [수학식 6]의 제3 정보 블록 C1 2을 추가하여 제3 패리티 검사 행렬 [C1 2 C1 1 C1 0 P1]을 생성한다.In addition, the third parity check matrix generator 33 adds the second parity check matrix [C 1 1 C 1 0 P 1 ] generated by the second parity check matrix generator 32 to the second parity check matrix generator 33. Three information blocks C 1 2 are added to generate a third parity check matrix [C 1 2 C 1 1 C 1 0 P 1 ].

그리고 제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]을 생성한다.In addition, the fourth parity check matrix generator 34 may add the third parity check matrix [C 1 2 C 1 1 C 1 0 P 1 ] generated by the third parity check matrix generator 33 to [Equation 7]. ] Adds a fourth information block C 1 3 to generate a fourth parity check matrix [C 1 3 C 1 2 C 1 1 C 1 0 P 1 ].

그리고 제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]을 생성한다.In addition, the fifth parity check matrix generator 35 may add the fourth parity check matrix [C 1 3 C 1 2 C 1 1 C 1 0 P 1 ] to the fourth parity check matrix generator 34. The fifth information block C 1 4 of Equation 8 is added to generate a fifth parity check matrix [C 1 4 C 1 3 C 1 2 C 1 1 C 1 0 P 1 ].

그리고 정보 단축부(36)는 상기 제1 내지 제5 패리티 검사 행렬 생성부(31 내지 35)에서 생성된 제1 내지 제5 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축을 적용하여 상기 제1 내지 제5 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성한다.The information shortening unit 36 applies the information shortening to at least one parity check matrix of the first to fifth parity check matrices generated by the first to fifth parity check matrix generators 31 to 35. Generate at least one parity check matrix different from the first to fifth parity check matrices.

그리고 천공부(37)는 상기 제1 내지 제5 패리티 검사 행렬 생성부(31 내지 35)에서 생성된 제1 내지 제5 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공 기법을 적용하여 상기 제1 내지 제5 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성한다.The puncturing unit 37 applies a puncturing technique to at least one parity check matrix of the first to fifth parity check matrices generated by the first to fifth parity check matrix generators 31 to 35 to apply the puncturing technique. Generate at least one parity check matrix different from the fifth to parity check matrices.

도 4는 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 장치의 구성도이다.4 is a block diagram of an apparatus for generating a parity check matrix according to another embodiment of the present invention.

도 4에 도시된 바와 같이, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 적어도 하나의 기본 패리티 검사 행렬을 생성하기 위한 기본 패리티 검사 행렬 생 성부(41), 및 상기 기본 패리티 검사 행렬 생성부(41)에서 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬 생성부(41)에서 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하는 방식으로 적어도 하나의 확장 패리티 검사 행렬을 생성하기 위한 확장 패리티 검사 행렬 생성부(42)를 포함한다.As shown in FIG. 4, the apparatus for generating a parity check matrix according to the present invention includes a basic parity check matrix generator 41 for generating at least one basic parity check matrix, and the basic parity check matrix generator 41. Apply at least one extended parity check matrix by applying a row decomposition to the information block of the basic parity check matrix generated in the &lt; RTI ID = 0.0 &gt;) and extending the parity block of the basic parity check matrix generated by the basic parity check matrix generator 41. And an extended parity check matrix generator 42 for generating.

또한, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축부(43)를 더 포함한다.The apparatus for generating a parity check matrix according to the present invention is different from the basic parity check matrix and the extended parity check matrix by applying information shortening to at least one of the basic parity check matrix and the extended parity check matrix. The apparatus further includes an information shortening unit 43 for generating at least one parity check matrix.

또한, 본 발명에 따른 패리티 검사 행렬 생성 장치는, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공부(44)를 더 포함한다.In addition, the apparatus for generating a parity check matrix according to the present invention includes applying a puncturing technique to at least one of the basic parity check matrix and the extended parity check matrix, and at least different from the basic parity check matrix and the extended parity check matrix. It further includes a perforation 44 for generating one parity check matrix.

여기서, 상기 기본 패리티 검사 행렬 생성부(41)는, 제1 기본 정보 블록 및 기본 패리티 블록으로 이루어진 제1 기본 패리티 검사 행렬을 생성하고, 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 기본 패리티 검사 행렬에 제q 기본 정보 블록을 추가하여 제q 기본 패리티 검사 행렬을 생성하고, 상기 확장 패리티 검사 행렬 생성부(42)는, 상기 기본 패리티 블록을 확장하여 확장 패리티 블록을 생성하고, 상기 제q 기본 정보 블록에 행분해를 적용하여 제q 확장 정보 블록을 생성하여, 상기 확장 패리티 블록 및 상기 제1 내지 제q 확장 정보 블록으로 이루어진 제q 확장 패리티 검사 행렬을 생성한다.Here, the basic parity check matrix generator 41 generates a first basic parity check matrix composed of a first basic information block and a basic parity block, and the generated q-1 (1 <q≤Q, Q is 2 or more natural numbers) add a q th basic information block to a basic parity check matrix to generate a q th basic parity check matrix, and the extended parity check matrix generator 42 expands the basic parity block to generate an extended parity block. And generating a q th extended information block by applying row decomposition to the q th basic information block to generate a q th extended parity check matrix composed of the extended parity block and the first to q th extended information blocks.

또한, 상기 확장 패리티 검사 행렬 생성부(42)는, 상기 기본 패리티 블록과 동일한 구조로 확장 패리티 블록을 생성한다. 이때, 상기 기본 패리티 블록 및 상기 확장 패리티 블록은, 간단한 부호기 및 빠른 복호 수렴 속도를 가지도록 제한 조건을 둔 이중 대각 행렬 형태를 갖는다.The extended parity check matrix generator 42 generates an extended parity block with the same structure as the basic parity block. In this case, the basic parity block and the extended parity block have a double diagonal matrix form with constraints to have a simple encoder and a fast decoding convergence speed.

또한, 상기 기본 패리티 검사 행렬 생성부(41)는, 간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 기본 패리티 검사 행렬을 생성하고, 상기 확장 패리티 검사 행렬 생성부(42)는, 간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 확장 패리티 검사 행렬을 생성한다.In addition, the basic parity check matrix generator 41 optimizes the basic parity check matrix by optimizing constraints, degree distributions, and cycle distributions for simple encoding and fast decoding convergence speed. The extended parity check matrix generator 42 performs an optimization of an extended parity check matrix by optimizing a constraint condition, a degree distribution, and a cycle distribution for simple encoding and fast decoding convergence speed. Create

이러한 도 4의 실시예는 상기 [수학식 2]의 H1로부터 상기 [수학식 9] 내지 [수학식 11]의 H2, H3, H4를 생성하는 실시예를 나타낸다.4 illustrates an example of generating H 2 , H 3 , and H 4 of Equations 9 to 11 from H 1 of Equation 2.

상기 기본 패리티 검사 행렬 생성부(41)는 적어도 하나의 기본 패리티 검사 행렬을 생성하는데, 편의상, 하나의 기본 패리티 행렬 [C1 P1]을 생성하는 것을 전제로 도 3의 실시예를 설명하고자 한다.The basic parity check matrix generation unit 41 generates at least one basic parity check matrix. For convenience, the embodiment of FIG. 3 will be described on the assumption that one basic parity matrix [C 1 P 1 ] is generated. .

그리고 확장 패리티 검사 행렬 생성부(42)는 상기 기본 패리티 검사 행렬 [C1 P1]의 정보 블록 C1에 행분해를 적용하여 C2를 생성하고, 상기 기본 패리티 검사 행렬 [C1 P1]의 패리티 블록 P1을 확장하여 P1과 동일한 구조의 패리티 블록 P2를 생성한다. 그 결과로 확장 패리티 검사 행렬 [C2 P2]가 생성된다.And extended parity check matrix generating unit 42 is the default parity check matrix [C 1 P 1] for applying a row decomposition to produce a C 2, and the basic parity check matrix [C 1 P 1] in information blocks C 1 Parity block P 1 is extended to generate parity block P 2 having the same structure as P 1 . As a result, an extended parity check matrix [C 2 P 2 ] is generated.

그리고 정보 단축부(43)는 기본 패리티 검사 행렬 [C1 P1] 및 확장 패리티 검사 행렬 [C2 P2] 중 적어도 하나에 정보 단축을 적용하여 [C1 P1], [C2 P2]와 다른 적어도 하나의 패리티 검사 행렬을 생성한다.In addition, the information shortening unit 43 applies information shortening to at least one of the basic parity check matrix [C 1 P 1 ] and the extended parity check matrix [C 2 P 2 ] to [C 1 P 1 ] and [C 2 P 2]. Generate at least one parity check matrix that is different from].

그리고 천공부(44)는 기본 패리티 검사 행렬 [C1 P1] 및 확장 패리티 검사 행렬 [C2 P2] 중 적어도 하나에 천공 기법을 적용하여 [C1 P1], [C2 P2]와 다른 적어도 하나의 패리티 검사 행렬을 생성한다.The puncturing unit 44 applies a puncturing technique to at least one of the basic parity check matrix [C 1 P 1 ] and the extended parity check matrix [C 2 P 2 ] to apply [C 1 P 1 ] and [C 2 P 2 ]. At least one parity check matrix is generated.

한편, 기본 패리티 검사 행렬 생성부(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]을 생성할 수 있다.On the other hand, the basic parity check matrix generator 41 according to the embodiment of FIG. 3, the first basic parity check matrix [C 1 0 P 1 ], the second basic parity check matrix [C 1 1 C 1 0 P 1 ], Third basic parity check matrix [C 1 2 C 1 1 C 1 0 P 1 ], fourth basic parity check matrix [C 1 3 C 1 2 C 1 1 C 1 0 P 1 ] and fifth basic parity check matrix [ When generating C 1 4 C 1 3 C 1 2 C 1 1 C 1 0 P 1 ] (i.e., generating a plurality of basic parity check matrices), the extended parity check matrix generator 42 may include first through Extended parity check matrix from the fifth basic parity check matrix [C 2 0 P 2 ], [C 2 1 C 2 0 P 2 ], [C 2 2 C 2 1 C 2 0 P 2 ], [C 2 3 C 2 2 C 2 1 C 2 0 P 2 ] and [C 2 4 C 2 3 C 2 2 C 2 1 C 2 0 P 2 ].

도 5는 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치의 구성도이다.5 is a block diagram of an LDPC encoding apparatus supporting variable information length and variable code rate having simple encoding and fast decoding convergence rate according to an embodiment of the present invention.

먼저, 본 발명의 일실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치는, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택부(51), 및 상기 패리티 검사 행렬 선택부(51)에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화부(52)를 포함하되, 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함한다.First, an LDPC encoding apparatus for supporting a variable information length and a variable code rate according to an embodiment of the present invention includes a parity check matrix for selecting a parity check matrix corresponding to an input coding parameter among a plurality of parity check matrices. A parity check matrix selector 51, and an encoder 52 for encoding an input information word based on the parity check matrix selected by the parity check matrix selector 51, wherein the plurality of encoders include: The parity check matrix includes a first parity check matrix consisting of a first information block and a parity block, and a q-th information block added to a q-1 (1 <q≤Q, Q is a natural number of 2 or more) parity check matrix. q contains a parity check matrix.

여기서, 상기 입력 부호화 파라미터는 부호율(code rate) 및 상기 입력 정보어의 길이(length)를 포함한다.Here, the input encoding parameter includes a code rate and a length of the input information word.

그리고 상기 복수 개의 패리티 검사 행렬은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함한다.The plurality of parity check matrices further include at least one parity check matrix generated by applying information shortening to at least one parity check matrix of the first to Q th parity check matrices.

또한, 상기 복수 개의 패리티 검사 행렬은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함한다.The plurality of parity check matrices further include at least one parity check matrix generated by applying a puncturing technique to at least one parity check matrix of the first to Qth parity check matrices.

한편, 본 발명의 다른 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치는, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택부(51), 및 상기 패리티 검사 행렬 선택부(51)에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화부(52)를 포함하되, 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하는 방식으로 생성되는 적어도 하나의 확장 패리티 검사 행렬을 포함한다.On the other hand, the LDPC coding apparatus supporting the variable information length and the variable code rate according to another embodiment of the present invention, for selecting a parity check matrix corresponding to the input coding parameter from a plurality of parity check matrix A parity check matrix selector 51, and an encoder 52 for encoding an input information word based on the parity check matrix selected by the parity check matrix selector 51, wherein the plurality of encoders include: Parity check matrix includes at least one basic parity check matrix and at least one extended parity check generated by applying a row decomposition to an information block of the basic parity check matrix and extending a parity block of the basic parity check matrix. Contains a matrix.

여기서, 상기 입력 부호화 파라미터는 부호율(code rate) 및 상기 입력 정보어의 길이(length)를 포함한다.Here, the input encoding parameter includes a code rate and a length of the input information word.

그리고 상기 복수 개의 패리티 검사 행렬은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함한다.The plurality of parity check matrices further include at least one parity check matrix generated by applying information shortening to at least one of the basic parity check matrix and the extended parity check matrix.

또한, 상기 복수 개의 패리티 검사 행렬은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함한다.The plurality of parity check matrices further include at least one parity check matrix generated by applying a puncturing technique to at least one of the basic parity check matrix and the extended parity check matrix.

다음으로, 상기 각 구성요소를 도 5를 참조하여 살펴보면 다음과 같다.Next, each component will be described with reference to FIG. 5.

상기 패리티 검사 행렬 선택부(51)는 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터에 해당되는 패리티 검사 행렬을 선택한다. 여기서, 복수 개의 패리티 검사 행렬들은 도 3 및 도 4에서 설명한 바에 따라 생성되는 패리티 검사 행렬들을 의미한다. 여기서, 입력 부호화 파라미터는 패리티 검사 행렬을 선택하는데 사용되는 파라미터로서, 그 예로는 정보 길이 및 부호율을 들 수 있으나, 패리티 검사 행렬을 특정할 수 있으면 족하므로 반드시 이에 한정되는 것은 아니다.The parity check matrix selector 51 selects a parity check matrix corresponding to an input encoding parameter from a plurality of parity check matrices. Here, the plurality of parity check matrices refer to parity check matrices generated as described with reference to FIGS. 3 and 4. Here, the input encoding parameter is a parameter used to select a parity check matrix, and examples thereof include an information length and a code rate. However, the input encoding parameter is not limited to the parity check matrix.

그리고 상기 부호화부(52)는 상기 패리티 검사 행렬 선택부(51)에서 선택된 패리티 검사 행렬을 기반으로, 입력되는 정보어를 부호화하여 부호어(codeword)를 출력한다.The encoder 52 encodes an input information word based on the parity check matrix selected by the parity check matrix selector 51 and outputs a codeword.

도 6은 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치의 구성도이다.6 is a block diagram of an LDPC decoding apparatus supporting variable information length and variable code rate having simple encoding and fast decoding convergence rate according to an embodiment of the present invention.

먼저, 본 발명의 일실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치는, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택부(61), 및 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화부(62)를 포함하되, 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함한다.First, an LDPC decoding apparatus supporting a variable information length and a variable code rate according to an embodiment of the present invention includes a parity check matrix for selecting a parity check matrix corresponding to an input decoding parameter among a plurality of parity check matrices. A parity check matrix selector 61 and a decoder 62 for decoding a received codeword based on the parity check matrix selected by the parity check matrix selector 61; The parity check matrix includes a first parity check matrix consisting of a first information block and a parity block, and a q-th information block added to a q-1 (1 <q≤Q, Q is a natural number of 2 or more) parity check matrix. q contains a parity check matrix.

여기서, 상기 입력 복호화 파라미터는 상기 수신 부호어(received codeword)의 부호율(code rate) 및 정보 길이를 포함한다.Here, the input decoding parameter includes a code rate and an information length of the received codeword.

그리고 상기 복수 개의 패리티 검사 행렬은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고, 상기 복호화부(62)는, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 정보 단축이 적용된 행렬인 경우 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행한다.The plurality of parity check matrices further include at least one parity check matrix generated by applying information shortening to at least one parity check matrix of the first to Qth parity check matrices, and wherein the decoding is performed. If the parity check matrix selected by the parity check matrix selector 61 is a matrix to which information shortening is applied, the block 62 performs decoding by setting the probability that the information shortening bit is 0.

또한, 상기 복수 개의 패리티 검사 행렬은, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고, 상기 복호화부(62)는, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 수행한다.The plurality of parity check matrices may further include at least one parity check matrix generated by applying a puncturing technique to at least one parity check matrix of the first to Q th parity check matrices. When the parity check matrix selected by the parity check matrix selector 61 is a matrix to which the puncturing technique is applied, the block 62 performs decoding by setting the probability that the punctured bit is a value of 1 to 1/2.

한편, 본 발명의 다른 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치는, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라 미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택부(61), 및 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화부(62)를 포함하되, 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하는 방식으로 생성되는 적어도 하나의 확장 패리티 검사 행렬을 포함한다.Meanwhile, the LDPC decoding apparatus supporting variable information length and variable code rate according to another embodiment of the present invention selects a parity check matrix corresponding to an input decoding parameter from a plurality of parity check matrices. A parity check matrix selector 61 and a decoder 62 for decoding a received codeword based on the parity check matrix selected by the parity check matrix selector 61. The plurality of parity check matrices include at least one basic parity check matrix and at least one extended parity generated by applying row decomposition to an information block of the basic parity check matrix and extending a parity block of the basic parity check matrix. Contains the check matrix.

여기서, 상기 입력 복호화 파라미터는 상기 수신 부호어(received codeword)의 부호율(code rate) 및 정보 길이를 포함한다.Here, the input decoding parameter includes a code rate and an information length of the received codeword.

그리고 상기 복수 개의 패리티 검사 행렬은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고, 상기 복호화부(62)는, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 정보 단축이 적용된 행렬인 경우 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행한다.The plurality of parity check matrices may further include at least one parity check matrix generated by applying information shortening to at least one of the basic parity check matrix and the extended parity check matrix. If the parity check matrix selected by the parity check matrix selector 61 is a matrix to which information shortening is applied, the decoding is performed by setting the probability that the information shortening bit is 0 to 1.

또한, 상기 복수 개의 패리티 검사 행렬은, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고, 상기 복호화부(62)는, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 수행한 다.The plurality of parity check matrices may further include at least one parity check matrix generated by applying a puncturing technique to at least one of the basic parity check matrix and the extended parity check matrix. If the parity check matrix selected by the parity check matrix selector 61 is a matrix to which the puncturing technique is applied, the decoding is performed by setting the probability that the punctured bits are 1 to 1/2.

다음으로, 상기 각 구성요소를 도 6을 참조하여 살펴보면 다음과 같다.Next, each component will be described with reference to FIG. 6.

상기 패리티 검사 행렬 선택부(61)는 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터에 해당되는 패리티 검사 행렬을 선택한다. 여기서, 복수 개의 패리티 검사 행렬들은 도 3 및 도 4에서 설명한 바에 따라 생성되는 패리티 검사 행렬들을 의미한다. 여기서, 입력 복호화 파라미터는 패리티 검사 행렬을 선택하는데 사용되는 파라미터로서, 그 예로는 수신 부호어의 부호율 및 정보 길이를 들 수 있으나, 패리티 검사 행렬을 특정할 수 있으면 족하므로 반드시 이에 한정되는 것은 아니다.The parity check matrix selector 61 selects a parity check matrix corresponding to an input decoding parameter from a plurality of parity check matrices. Here, the plurality of parity check matrices refer to parity check matrices generated as described with reference to FIGS. 3 and 4. Here, the input decoding parameter is a parameter used to select a parity check matrix, and examples thereof include a code rate and an information length of a received codeword. However, the input decoding parameter is not limited thereto. .

그리고 상기 복호화부(62)는 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어를 복호화한다. 이때에 사용되는 복호화 알고리즘의 예로는 메시지 전달 알고리즘(Message Passing Algorithm : 이하, "MPA"라 함)을 들 수 있다. 한편, 복호화부(62)는 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 정보 단축 기법이 적용된 행렬인 경우, 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행하고, 상기 패리티 검사 행렬 선택부(61)에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우, MPA 기반 복호를 첫 회 수행할 때 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 시작한다.The decoder 62 decodes the received codeword based on the parity check matrix selected by the parity check matrix selector 61. An example of the decoding algorithm used at this time may be a message passing algorithm (hereinafter referred to as "MPA"). On the other hand, if the parity check matrix selected by the parity check matrix selector 61 is a matrix to which the information shortening technique is applied, the decoder 62 performs decoding by setting the probability that the information shortening bit is 0 to 1, When the parity check matrix selected by the parity check matrix selector 61 is a matrix to which a puncturing technique is applied, decoding is started by setting the probability that the punctured bits are 1 to 1 when performing MPA-based decoding for the first time. do.

도 7은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 방법에 대한 흐름 도이다.7 is a flowchart illustrating a parity check matrix generation method according to an embodiment of the present invention.

도 7을 참조하여 살펴보면, 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 방법은 도 3의 패리티 검사 행렬 생성 장치에서 시계열적으로 처리되는 과정들로 이루어진다. 따라서 이하의 설명에서 그 구체적인 실시예가 생략된 내용이라 하더라도, 도 3의 패리티 검사 행렬 생성 장치에 관하여 전술한 내용은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 방법에도 적용된다.Referring to FIG. 7, the parity check matrix generation method according to an embodiment of the present invention includes processes processed in time series in the parity check matrix generating apparatus of FIG. 3. Therefore, although the specific embodiment is omitted in the following description, the above description of the parity check matrix generating apparatus of FIG. 3 also applies to the parity check matrix generating method according to an embodiment of the present invention.

도 3을 참조하여 도 7의 실시예를 설명하면 다음과 같다.The embodiment of FIG. 7 will be described with reference to FIG. 3.

먼저, 제1 패리티 검사 행렬 생성부(31)는 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성한다(71).First, the first parity check matrix generator 31 generates a first parity check matrix composed of the first information block and the parity block (71).

이후, 제2 패리티 검사 행렬 생성부(32)는 상기 생성된 제1 패리티 검사 행렬에 제2 정보 블록을 추가하여 제2 패리티 검사 행렬을 생성한다(72).Thereafter, the second parity check matrix generator 32 generates a second parity check matrix by adding a second information block to the generated first parity check matrix.

이후, 제3 패리티 검사 행렬 생성부(33)는 상기 생성된 제2 패리티 검사 행렬에 제3 정보 블록을 추가하여 제3 패리티 검사 행렬을 생성한다(73).Thereafter, the third parity check matrix generator 33 adds a third information block to the generated second parity check matrix to generate a third parity check matrix (73).

이후, 제4 패리티 검사 행렬 생성부(34)는 상기 생성된 제3 패리티 검사 행렬에 제4 정보 블록을 추가하여 제4 패리티 검사 행렬을 생성한다(74).Thereafter, the fourth parity check matrix generator 34 adds a fourth information block to the generated third parity check matrix to generate a fourth parity check matrix (74).

이후, 제5 패리티 검사 행렬 생성부(35)는 상기 생성된 제4 패리티 검사 행렬에 제5 정보 블록을 추가하여 제5 패리티 검사 행렬을 생성한다(75).Thereafter, the fifth parity check matrix generator 35 adds a fifth information block to the generated fourth parity check matrix to generate a fifth parity check matrix (75).

이후, 부가적으로 정보 단축부(36)는 상기 생성된 제1 내지 제5 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축을 적용하여 상기 제1 내지 제5 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하고, 부가적 으로 천공부(37)는 상기 생성된 제1 내지 제5 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공을 적용하여 상기 제1 내지 제5 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성한다(76).Thereafter, the information shortening unit 36 may further apply information shortening to at least one parity check matrix of the generated first to fifth parity check matrices, thereby providing at least one different from the first to fifth parity check matrices. The parity check matrix is generated, and additionally, the puncturing unit 37 is different from the first to fifth parity check matrices by applying a puncture to at least one parity check matrix of the generated first to fifth parity check matrices. Generate at least one parity check matrix (76).

도 8은 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 방법에 대한 흐름도이다.8 is a flowchart illustrating a parity check matrix generation method according to another embodiment of the present invention.

도 8을 참조하여 살펴보면, 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 방법은 도 4의 패리티 검사 행렬 생성 장치에서 시계열적으로 처리되는 과정들로 이루어진다. 따라서 이하의 설명에서 그 구체적인 실시예가 생략된 내용이라 하더라도, 도 4의 패리티 검사 행렬 생성 장치에 관하여 전술한 내용은 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 방법에도 적용된다.Referring to FIG. 8, the parity check matrix generation method according to another embodiment of the present invention includes processes processed in time series in the parity check matrix generating apparatus of FIG. 4. Therefore, although the specific embodiment is omitted in the following description, the above description of the parity check matrix generating apparatus of FIG. 4 is also applied to the parity check matrix generating method according to another embodiment of the present invention.

도 4를 참조하여 도 8의 실시예를 설명하면 다음과 같다.The embodiment of FIG. 8 will be described with reference to FIG. 4.

먼저, 기본 패리티 검사 행렬 생성부(41)는 적어도 하나의 기본 패리티 검사 행렬을 생성한다(81).First, the basic parity check matrix generator 41 generates at least one basic parity check matrix (81).

이후, 확장 패리티 검사 행렬 생성부(42)는 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하는 방식으로 적어도 하나의 확장 패리티 검사 행렬을 생성한다(82).Subsequently, the extended parity check matrix generator 42 generates at least one extended parity check matrix by applying row decomposition to the information block of the basic parity check matrix and extending the parity block of the basic parity check matrix. 82).

이후, 부가적으로 정보 단축부(43)는 상기 생성된 기본 패리티 검사 행렬 및 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축을 적용하여 상기 기본 패리티 검사 행렬 및 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생 성하고, 부가적으로 천공부(44)는 상기 생성된 기본 패리티 검사 행렬 및 확장 패리티 검사 행렬 중 적어도 하나에 천공을 적용하여 상기 기본 패리티 검사 행렬 및 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성한다(83).Thereafter, the information shortening unit 43 applies information shortening to at least one of the generated basic parity check matrix and extended parity check matrix, thereby checking at least one parity check different from the basic parity check matrix and the extended parity check matrix. In addition, the puncturing unit 44 may apply a puncturing to at least one of the generated basic parity check matrix and the extended parity check matrix so that at least one different from the basic parity check matrix and the extended parity check matrix is generated. A parity check matrix is generated (83).

도 9는 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 방법에 대한 흐름도이다.9 is a flowchart illustrating an LDPC encoding method supporting variable information length and variable code rate having simple encoding and fast decoding convergence rate according to an embodiment of the present invention.

도 9를 참조하여 살펴보면, 본 발명의 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 방법은 도 5의 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치에서 시계열적으로 처리되는 과정들로 이루어진다. 따라서 이하의 설명에서 그 구체적인 실시예가 생략된 내용이라 하더라도, 도 5의 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치에 관하여 전술한 내용은 본 발명의 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 방법에도 적용된다.Referring to FIG. 9, the LDPC encoding method supporting the variable information length and the variable code rate according to the embodiment of the present invention is processed in time series in the LDPC encoding apparatus supporting the variable information length and the variable code rate of FIG. 5. It consists of processes. Therefore, although the specific embodiment is omitted in the following description, the above descriptions regarding the LDPC encoding apparatus supporting the variable information length and the variable code rate of FIG. 5 refer to the variable information length and the variable code according to the embodiment of the present invention. The same applies to an LDPC encoding method supporting rate.

도 5를 참조하여 도 9의 실시예를 설명하면 다음과 같다.The embodiment of FIG. 9 will be described with reference to FIG. 5.

먼저, 패리티 검사 행렬 선택부(51)는 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터에 해당되는 패리티 검사 행렬을 선택한다(91). 여기서, 복수 개의 패리티 검사 행렬들은 도 3 및 도 4에서 설명한 바에 따라 생성되는 패리티 검사 행렬들을 의미한다.First, the parity check matrix selector 51 selects a parity check matrix corresponding to an input encoding parameter from a plurality of parity check matrices (91). Here, the plurality of parity check matrices refer to parity check matrices generated as described with reference to FIGS. 3 and 4.

이후, 부호화부(52)는 상기 선택된 패리티 검사 행렬을 기반으로, 입력 정보 어를 부호화한다(92).Subsequently, the encoder 52 encodes an input information word based on the selected parity check matrix (92).

도 10은 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 방법에 대한 흐름도이다.10 is a flowchart of an LDPC decoding method supporting variable information length and variable code rate having simple encoding and fast decoding convergence rate according to an embodiment of the present invention.

도 10을 참조하여 살펴보면, 본 발명의 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 방법은 도 6의 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치에서 시계열적으로 처리되는 과정들로 이루어진다. 따라서 이하의 설명에서 그 구체적인 실시예가 생략된 내용이라 하더라도, 도 6의 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치에 관하여 전술한 내용은 본 발명의 실시예에 따른 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 방법에도 적용된다.Referring to FIG. 10, the LDPC decoding method supporting the variable information length and the variable code rate according to the embodiment of the present invention is processed in time series in the LDPC decoding apparatus supporting the variable information length and the variable code rate of FIG. 6. It consists of processes. Therefore, although the specific embodiment is omitted in the following description, the foregoing descriptions regarding the LDPC decoding apparatus supporting the variable information length and the variable code rate of FIG. 6 refer to the variable information length and the variable code according to the embodiment of the present invention. The same applies to an LDPC decoding method supporting rate.

도 6을 참조하여 도 10의 실시예를 설명하면 다음과 같다.The embodiment of FIG. 10 will be described with reference to FIG. 6.

먼저, 패리티 검사 행렬 선택부(61)는 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터에 해당되는 패리티 검사 행렬을 선택한다(101). 여기서, 복수 개의 패리티 검사 행렬들은 도 3 및 도 4에서 설명한 바에 따라 생성되는 패리티 검사 행렬들을 의미한다.First, the parity check matrix selector 61 selects a parity check matrix corresponding to an input decoding parameter from a plurality of parity check matrices (101). Here, the plurality of parity check matrices refer to parity check matrices generated as described with reference to FIGS. 3 and 4.

이후, 복호화부(62)는 상기 선택된 패리티 검사 행렬을 기반으로, 수신 부호어를 복호화한다(102).Thereafter, the decoder 62 decodes the received codeword based on the selected parity check matrix (102).

한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.On the other hand, the method of the present invention as described above can be written in a computer program. And the code and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the written program is stored in a computer-readable recording medium (information storage medium), and read and executed by a computer to implement the method of the present invention. The recording medium may include any type of computer readable recording medium.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

본 발명은 LDPC 부호화/복호화 시스템 등에 이용될 수 있다.The present invention can be used for LDPC encoding / decoding systems.

도 1은 [표 1]의 테이블에 예시된 패리티 검사 행렬들 간의 관계를 구조적으로 설명하기 위한 도면,1 is a diagram for structurally explaining the relationship between parity check matrices illustrated in the table of [Table 1];

도 2는 본 발명에 따른 패리티 검사 행렬에 정보 단축 기법 및 천공 기법을 적용하는 개념을 설명하기 위한 도면,2 is a diagram for explaining a concept of applying an information shortening technique and a puncturing technique to a parity check matrix according to the present invention;

도 3은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 장치의 구성도,3 is a block diagram of an apparatus for generating a parity check matrix according to an embodiment of the present invention;

도 4는 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 장치의 구성도,4 is a block diagram of an apparatus for generating a parity check matrix according to another embodiment of the present invention;

도 5는 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 장치의 구성도,5 is a configuration diagram of an LDPC encoding apparatus supporting variable information length and variable code rate having simple encoding and fast decoding convergence rate according to an embodiment of the present invention;

도 6은 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 장치의 구성도,6 is a block diagram of an LDPC decoding apparatus supporting variable information length and variable code rate having simple encoding and fast decoding convergence rate according to an embodiment of the present invention;

도 7은 본 발명의 일실시예에 따른 패리티 검사 행렬 생성 방법에 대한 흐름도,7 is a flowchart illustrating a parity check matrix generation method according to an embodiment of the present invention;

도 8은 본 발명의 다른 실시예에 따른 패리티 검사 행렬 생성 방법에 대한 흐름도,8 is a flowchart of a parity check matrix generation method according to another embodiment of the present invention;

도 9는 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 부호화 방법에 대한 흐름도,9 is a flowchart of an LDPC encoding method supporting variable information length and variable code rate having simple encoding and fast decoding convergence rate according to an embodiment of the present invention;

도 10은 본 발명의 실시예에 따른 간단한 부호화 및 빠른 복호 수렴 속도를 가지는 가변 정보 길이 및 가변 부호율을 지원하는 LDPC 복호화 방법에 대한 흐름도이다.10 is a flowchart of an LDPC decoding method supporting variable information length and variable code rate having simple encoding and fast decoding convergence rate according to an embodiment of the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

31 내지 35 : 제1 내지 제5 패리티 검사 행렬 생성부31 to 35: first to fifth parity check matrix generator

36, 43 : 정보 단축부 37, 44 : 천공부36, 43: information reduction part 37, 44: perforation part

41 : 기본 패리티 검사 행렬 생성부 42 : 확장 패리티 검사 행렬 생성부41: basic parity check matrix generator 42: extended parity check matrix generator

51, 61 : 패리티 검사 행렬 선택부 52 : 부호화부51, 61: parity check matrix selector 52: encoder

62 : 복호화부62: decoder

Claims (29)

LDPC(Low Density Parity Check) 부호의 패리티 검사 행렬 생성 장치에 있어서,In the parity check matrix generator of a Low Density Parity Check (LDPC) code, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하기 위한 제1 패리티 검사 행렬 생성 수단; 및First parity check matrix generating means for generating a first parity check matrix composed of the first information block and the parity block; And 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하기 위한 제q 패리티 검사 행렬 생성 수단Q-parity check matrix generating means for generating a q-parity check matrix by adding a q-th information block to the generated q-1 (1 <q≤Q, where Q is a natural number of 2 or more) parity check matrix 을 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.Parity check matrix generator of the LDPC code comprising a. 제 1 항에 있어서,The method of claim 1, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축 수단Information shortening means for generating at least one parity check matrix different from the first through Q-parity check matrices by applying information shortening to at least one parity check matrix of the first through Q parity check matrices; 을 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.Parity check matrix generation apparatus of the LDPC code further comprising. 제 1 항에 있어서,The method of claim 1, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공 수단Puncturing means for generating at least one parity check matrix different from the first through Q-parity check matrices by applying a puncturing technique to at least one parity check matrix of the first through Q parity check matrices. 을 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.Parity check matrix generation apparatus of the LDPC code further comprising. 제 1 항에 있어서,The method of claim 1, 상기 제q 패리티 검사 행렬 생성 수단은,The qth parity check matrix generating means includes: 제한 조건(간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건)과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 제q 패리티 검사 행렬을 생성하는 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.An LDPC code characterized in that the qth parity check matrix is generated by performing optimization of constraints (limiting conditions for simple encoding and fast decoding convergence speed), degree distribution, and cycle distribution. Parity check matrix generator. LDPC 부호의 패리티 검사 행렬 생성 장치에 있어서,In the parity check matrix generator of the LDPC code, 적어도 하나의 기본 패리티 검사 행렬을 생성하기 위한 기본 패리티 검사 행렬 생성 수단; 및Basic parity check matrix generating means for generating at least one basic parity check matrix; And 상기 기본 패리티 검사 행렬 생성 수단에서 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬 생성 수단에서 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하여 적어도 하나의 확장 패리티 검사 행렬을 생성하기 위한 확장 패리티 검사 행렬 생성 수단Apply at least one extended parity check matrix by applying row decomposition to the information block of the basic parity check matrix generated by the basic parity check matrix generating means and extending the parity block of the basic parity check matrix generated by the basic parity check matrix generating means. Means for generating extended parity check matrices for generating 을 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.Parity check matrix generator of the LDPC code comprising a. 제 5 항에 있어서,The method of claim 5, wherein 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 정보 단축 수단Information shortening means for generating at least one parity check matrix different from the basic parity check matrix and the extended parity check matrix by applying information shortening to at least one of the basic parity check matrix and the extended parity check matrix. 을 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.Parity check matrix generation apparatus of the LDPC code further comprising. 제 5 항에 있어서,The method of claim 5, wherein 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하기 위한 천공 수단Puncturing means for generating at least one parity check matrix different from the basic parity check matrix and the extended parity check matrix by applying a puncturing technique to at least one of the basic parity check matrix and the extended parity check matrix. 을 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 장치.Parity check matrix generation apparatus of the LDPC code further comprising. 제 5 항에 있어서,The method of claim 5, wherein 상기 기본 패리티 검사 행렬 생성 수단은,The basic parity check matrix generating means, 제1 기본 정보 블록 및 기본 패리티 블록으로 이루어진 제1 기본 패리티 검사 행렬을 생성하고, 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 기본 패리티 검사 행렬에 제q 기본 정보 블록을 추가하여 제q 기본 패리티 검사 행렬을 생성하고,Generate a first basic parity check matrix composed of a first basic information block and a basic parity block, and add the q basic information block to the generated q-1 (1 <q≤Q, Q is a natural number of two or more) basic parity check matrices. Add to generate the qth default parity check matrix, 상기 확장 패리티 검사 행렬 생성 수단은,The extended parity check matrix generating means, 상기 기본 패리티 블록을 확장하여 확장 패리티 블록을 생성하고, 상기 제q 기본 정보 블록에 행분해를 적용하여 제q 확장 정보 블록을 생성하여, 상기 확장 패리티 블록 및 상기 제1 내지 제q 확장 정보 블록으로 이루어진 제q 확장 패리티 검사 행렬을 생성하는 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.An extended parity block is generated by extending the basic parity block, and a q th extended information block is generated by applying a row decomposition to the q th basic information block to generate the extended parity block and the first to q th extended information blocks. An apparatus for generating a parity check matrix of an LDPC code, characterized in that it generates a q-th extended parity check matrix. 제 8 항에 있어서,The method of claim 8, 상기 확장 패리티 검사 행렬 생성 수단은,The extended parity check matrix generating means, 상기 기본 패리티 블록과 동일한 구조로 상기 확장 패리티 블록을 생성하는 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.And generating the extended parity block with the same structure as the basic parity block. 제 9 항에 있어서,The method of claim 9, 상기 기본 패리티 블록 및 상기 확장 패리티 블록은,The basic parity block and the extended parity block, 간단한 부호기 및 빠른 복호 수렴 속도를 가지도록 제한 조건을 둔 이중 대각 행렬 형태인 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.An apparatus for generating a parity check matrix of an LDPC code, characterized in that it is in the form of a double diagonal matrix provided with a simple encoder and a fast decoding convergence speed. 제 5 항에 있어서,The method of claim 5, wherein 상기 기본 패리티 검사 행렬 생성 수단은,The basic parity check matrix generating means, 제한 조건(간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건)과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 기본 패리티 검사 행렬을 생성하고,Generate a basic parity check matrix by optimizing the constraints (constraints for simple encoding and fast decode convergence rates), degree distributions, and cycle distributions, 상기 확장 패리티 검사 행렬 생성 수단은,The extended parity check matrix generating means, 제한 조건(간단한 부호화 및 빠른 복호 수렴 속도를 가지기 위한 제한 조건)과 차수 분포(degree distribution) 및 싸이클 분포(cycle distribution)의 최적화를 수행하여 확장 패리티 검사 행렬을 생성하는 것을 특징으로 하는 LDPC 부호의 패리티 검사 행렬 생성 장치.Parity of the LDPC code characterized by generating an extended parity check matrix by performing optimization of constraints (constraints for simple encoding and fast decoding convergence speed), degree distribution, and cycle distribution Test matrix generator. LDPC 부호화 장치에 있어서,In the LDPC encoder, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및Parity check matrix selecting means for selecting a parity check matrix corresponding to an input coding parameter among a plurality of parity check matrices; And 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화 수단을 포함하되,And encoding means for encoding an information word based on the parity check matrix selected by the parity check matrix selecting means. 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록과 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함하는 것을 특징으로 하는 LDPC 부호화 장치.In the plurality of parity check matrices, a q-th information block is added to a first parity check matrix including a first information block and a parity block and a q-1 (1 <q≤Q, Q is a natural number of 2 or more) parity check matrix. And a q-th parity check matrix. 제 12 항에 있어서,The method of claim 12, 상기 복수 개의 패리티 검사 행렬은,The plurality of parity check matrix, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하는 것을 특징으로 하는 LDPC 부호화 장치.And at least one parity check matrix generated by applying information shortening to at least one parity check matrix of the first to Q parity check matrices. 제 12 항에 있어서,The method of claim 12, 상기 복수 개의 패리티 검사 행렬은,The plurality of parity check matrix, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하는 것을 특징으로 하는 LDPC 부호화 장치.And at least one parity check matrix generated by applying a puncturing technique to at least one parity check matrix of the first to Q parity check matrices. LDPC 부호화 장치에 있어서,In the LDPC encoder, 복수 개의 패리티 검사 행렬 중에서, 입력 부호화 파라미터(inputted coding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택수단; 및Parity check matrix selecting means for selecting a parity check matrix corresponding to an input coding parameter from a plurality of parity check matrices; And 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 입력 정보어(information word)를 부호화하기 위한 부호화 수단을 포함하되,And encoding means for encoding an information word based on the parity check matrix selected by the parity check matrix selecting means. 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하여 생성된 적어도 하나의 확장 패리티 검사 행렬을 포함하는 것을 특징으로 하는 LDPC 부호화 장치.The plurality of parity check matrices include at least one basic parity check matrix and at least one extended parity check generated by applying a row decomposition to an information block of the basic parity check matrix and extending a parity block of the basic parity check matrix. LDPC encoding apparatus comprising a matrix. 제 15 항에 있어서,The method of claim 15, 상기 복수 개의 패리티 검사 행렬은,The plurality of parity check matrix, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하는 것을 특징으로 하는 LDPC 부호화 장치.And at least one parity check matrix generated by applying information shortening to at least one of the basic parity check matrix and the extended parity check matrix. 제 15 항에 있어서,The method of claim 15, 상기 복수 개의 패리티 검사 행렬은,The plurality of parity check matrix, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하는 것을 특징으로 하는 LDPC 부호화 장치.And at least one parity check matrix generated by applying a puncturing technique to at least one of the basic parity check matrix and the extended parity check matrix. LDPC 복호화 장치에 있어서,In the LDPC decoding apparatus, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및Parity check matrix selecting means for selecting a parity check matrix corresponding to an input decoding parameter from a plurality of parity check matrices; And 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화 수단을 포함하되,A decoding means for decoding a received codeword based on the parity check matrix selected by the parity check matrix selecting means, 상기 복수 개의 패리티 검사 행렬은, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬 및 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록이 추가된 제q 패리티 검사 행렬을 포함하는 것을 특징으로 하는 LDPC 복호화 장치.The plurality of parity check matrices include a first parity check matrix composed of a first information block and a parity block, and a q-th information block added to a parity check matrix q-1 (where 1 <q≤Q and Q is a natural number of two or more). And a q-th parity check matrix. 제 18 항에 있어서,The method of claim 18, 상기 복수 개의 패리티 검사 행렬은,The plurality of parity check matrix, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고,At least one parity check matrix generated by applying information shortening to at least one parity check matrix of the first to Q parity check matrices; 상기 복호화 수단은, 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬이 정보 단축이 적용된 행렬인 경우 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행하는 것을 특징으로 하는 LDPC 복호화 장치.And if the parity check matrix selected by the parity check matrix selecting means is a matrix to which information shortening is applied, the decoding means performs decoding by setting the probability that the information shortening bit is a value of zero to one. 제 18 항에 있어서,The method of claim 18, 상기 복수 개의 패리티 검사 행렬은,The plurality of parity check matrix, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고,At least one parity check matrix generated by applying a puncturing technique to at least one parity check matrix of the first to Q parity check matrices; 상기 복호화 수단은, 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 수행하는 것을 특징으로 하는 LDPC 복호화 장치.The decoding means, when the parity check matrix selected by the parity check matrix selection means is a matrix to which the puncturing technique is applied, sets the probability that the punctured bits are 1 to 1/2 to perform decoding. . LDPC 복호화 장치에 있어서,In the LDPC decoding apparatus, 복수 개의 패리티 검사 행렬 중에서, 입력 복호화 파라미터(inputted decoding parameter)에 해당되는 패리티 검사 행렬을 선택하기 위한 패리티 검사 행렬 선택 수단; 및Parity check matrix selecting means for selecting a parity check matrix corresponding to an input decoding parameter from a plurality of parity check matrices; And 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬을 기반으로, 수신 부호어(received codeword)를 복호화하기 위한 복호화 수단을 포함하되,A decoding means for decoding a received codeword based on the parity check matrix selected by the parity check matrix selecting means, 상기 복수 개의 패리티 검사 행렬은, 적어도 하나의 기본 패리티 검사 행렬, 및 상기 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 기본 패리티 검사 행렬의 패리티 블록을 확장하여 생성된 적어도 하나의 확장 패리티 검사 행렬을 포함하는 것을 특징으로 하는 LDPC 복호화 장치.The plurality of parity check matrices include at least one basic parity check matrix and at least one extended parity check generated by applying a row decomposition to an information block of the basic parity check matrix and extending a parity block of the basic parity check matrix. LDPC decoding apparatus comprising a matrix. 제 21 항에 있어서,The method of claim 21, 상기 복수 개의 패리티 검사 행렬은,The plurality of parity check matrix, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고,At least one parity check matrix generated by applying information shortening to at least one of the basic parity check matrix and the extended parity check matrix; 상기 복호화 수단은, 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬이 정보 단축이 적용된 행렬인 경우 정보 단축 비트가 0의 값일 확률을 1로 설정하여 복호화를 수행하는 것을 특징으로 하는 LDPC 복호화 장치.And if the parity check matrix selected by the parity check matrix selecting means is a matrix to which information shortening is applied, the decoding means performs decoding by setting the probability that the information shortening bit is a value of zero to one. 제 21 항에 있어서,The method of claim 21, 상기 복수 개의 패리티 검사 행렬은,The plurality of parity check matrix, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 생성된 적어도 하나의 패리티 검사 행렬을 더 포함하고,At least one parity check matrix generated by applying a puncturing technique to at least one of the basic parity check matrix and the extended parity check matrix; 상기 복호화 수단은, 상기 패리티 검사 행렬 선택 수단에서 선택된 패리티 검사 행렬이 천공 기법이 적용된 행렬인 경우 천공된 비트가 1의 값일 확률을 1/2로 설정하여 복호화를 수행하는 것을 특징으로 하는 LDPC 복호화 장치.The decoding means, when the parity check matrix selected by the parity check matrix selection means is a matrix to which the puncturing technique is applied, sets the probability that the punctured bits are 1 to 1/2 to perform decoding. . LDPC 부호의 패리티 검사 행렬 생성 방법에 있어서,In the parity check matrix generation method of the LDPC code, 제1 정보 블록 및 패리티 블록으로 이루어진 제1 패리티 검사 행렬을 생성하는 제1 패리티 검사 행렬 생성 단계; 및A first parity check matrix generating step of generating a first parity check matrix composed of the first information block and the parity block; And 생성된 제q-1(1<q≤Q, Q는 2이상의 자연수) 패리티 검사 행렬에 제q 정보 블록을 추가하여 제q 패리티 검사 행렬을 생성하는 제q 패리티 검사 행렬 생성 단계A q parity check matrix generation step of generating a q parity check matrix by adding a q-th information block to the generated q-1 (1 <q≤Q, where Q is a natural number of 2 or more) parity check matrix. 를 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.Parity check matrix generation method of the LDPC code comprising a. 제 24 항에 있어서,The method of claim 24, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 정보 단축(information shortening)을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 정보 단축 단계An information shortening step of applying information shortening to at least one parity check matrix of the first to Q parity check matrices to generate at least one parity check matrix different from the first to Q th parity check matrices; 를 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.Parity check matrix generation method of the LDPC code further comprising. 제 24 항에 있어서,The method of claim 24, 상기 제1 내지 제Q 패리티 검사 행렬 중 적어도 하나의 패리티 검사 행렬에 천공(puncturing) 기법을 적용하여 상기 제1 내지 제Q 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 천공 단계A puncturing step of generating at least one parity check matrix different from the first to Q th parity check matrices by applying a puncturing technique to at least one parity check matrix of the first to Q parity check matrices. 를 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.Parity check matrix generation method of the LDPC code further comprising. LDPC 부호의 패리티 검사 행렬 생성 방법에 있어서,In the parity check matrix generation method of the LDPC code, 적어도 하나의 기본 패리티 검사 행렬을 생성하는 기본 패리티 검사 행렬 생성 단계; 및A basic parity check matrix generation step of generating at least one basic parity check matrix; And 상기 생성된 기본 패리티 검사 행렬의 정보 블록에 행분해를 적용하고 상기 생성된 기본 패리티 검사 행렬의 패리티 블록을 확장하여 적어도 하나의 확장 패리티 검사 행렬을 생성하는 확장 패리티 검사 행렬 생성 단계An extended parity check matrix generation step of applying row decomposition to the information block of the generated basic parity check matrix and generating at least one extended parity check matrix by extending the generated parity block of the generated basic parity check matrix 를 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.Parity check matrix generation method of the LDPC code comprising a. 제 27 항에 있어서,The method of claim 27, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 정보 단축(information shortening)을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 정보 단축 단계An information shortening step of applying information shortening to at least one of the basic parity check matrix and the extended parity check matrix to generate at least one parity check matrix different from the basic parity check matrix and the extended parity check matrix; 를 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.Parity check matrix generation method of the LDPC code further comprising. 제 27 항에 있어서,The method of claim 27, 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬 중 적어도 하나에 천공(puncturing) 기법을 적용하여 상기 기본 패리티 검사 행렬 및 상기 확장 패리티 검사 행렬과 다른 적어도 하나의 패리티 검사 행렬을 생성하는 천공 단계A puncturing step of generating at least one parity check matrix different from the basic parity check matrix and the extended parity check matrix by applying a puncturing technique to at least one of the basic parity check matrix and the extended parity check matrix. 를 더 포함하는 LDPC 부호의 패리티 검사 행렬 생성 방법.Parity check matrix generation method of the LDPC code further comprising.
KR1020070132008A 2007-12-17 2007-12-17 Parity check matrix generating apparatus and method for ldpc code, and ldpc encoding/decoding apparatus using the same KR20090064709A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070132008A KR20090064709A (en) 2007-12-17 2007-12-17 Parity check matrix generating apparatus and method for ldpc code, and ldpc encoding/decoding apparatus using the same
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 (en) 2007-12-17 2007-12-17 Parity check matrix generating apparatus and method for ldpc code, and ldpc encoding/decoding apparatus using the same

Publications (1)

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

Family

ID=40795622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070132008A KR20090064709A (en) 2007-12-17 2007-12-17 Parity check matrix generating apparatus and method for ldpc code, and ldpc encoding/decoding apparatus using the same

Country Status (2)

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

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 (en) 2014-12-30 2019-12-06 华为技术有限公司 data processing method and system based on quasi-cyclic 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 (en) * 2002-12-24 2006-02-08 한국전자통신연구원 Encoding and Decoding Apparatus using Low Density Parity Check codes
KR100659266B1 (en) * 2004-04-22 2006-12-20 삼성전자주식회사 System, apparatus and method for transmitting and receiving the data coded by the low density parity check code having a variable coding rate
KR20050118056A (en) * 2004-05-12 2005-12-15 삼성전자주식회사 Method and apparatus for channel encoding and decoding in mobile communication systems using multi-rate block ldpc codes

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100833515B1 (en) Parity check matrix generating method, encoding/decoding method for ldpc code with variable information length and apparatus using the same
KR101789959B1 (en) Encoding Method, Decoding Method, Encoding device and Decoding Device for Structured LDPC
KR101611169B1 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
CN101073205B (en) LDPC encoder and decoder and LDPC encoding and decoding methods
KR101502623B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
JP5612699B2 (en) Data transmission / reception method and apparatus in communication system
JP5161857B2 (en) LDPC code encoding
WO2011062111A1 (en) Error correction method and device, and communication system using the same
KR20190008335A (en) Method and apparatus for encoding and decoding structured LDPC
US20100269011A1 (en) Apparatus and method for decoding low density parity check code using prototype matrix
KR20110065393A (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR20110123637A (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
CN108988869B (en) Method and device for determining check matrix and computer storage medium
RU2743857C1 (en) Method and equipment for designing for quasicyclic rare parity control
KR101077552B1 (en) APPARATUS AND METHOD OF DECODING LOW DENSITY PARITY CHECK CODE USING MUlTI PROTOTYPE MATRIX
JP4832447B2 (en) Decoding apparatus and method using channel code
KR101503653B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR20090064709A (en) Parity check matrix generating apparatus and method for ldpc code, and ldpc encoding/decoding apparatus using the same
US11190210B2 (en) Method for encoding based on parity check matrix of LDPC code in wireless communication system and terminal using this
KR102329573B1 (en) Transmitter and signal processing method thereof
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
CN108270448B (en) Quasi-cyclic low-density parity check coding method and device
KR20170060574A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR20080075591A (en) Fast encoding scheme for richardson&#39;s ldpc codes based on circulant permutation matrices
KR101503654B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application