KR20090117584A - Apparatus and mathod for encoding low density parity check code - Google Patents

Apparatus and mathod for encoding low density parity check code Download PDF

Info

Publication number
KR20090117584A
KR20090117584A KR1020080091003A KR20080091003A KR20090117584A KR 20090117584 A KR20090117584 A KR 20090117584A KR 1020080091003 A KR1020080091003 A KR 1020080091003A KR 20080091003 A KR20080091003 A KR 20080091003A KR 20090117584 A KR20090117584 A KR 20090117584A
Authority
KR
South Korea
Prior art keywords
matrix
block
parity
puncturing
sub
Prior art date
Application number
KR1020080091003A
Other languages
Korean (ko)
Other versions
KR100999272B1 (en
Inventor
남준영
안재영
황대성
하정석
송성문
Original Assignee
한국전자통신연구원
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 한국과학기술원 filed Critical 한국전자통신연구원
Publication of KR20090117584A publication Critical patent/KR20090117584A/en
Application granted granted Critical
Publication of KR100999272B1 publication Critical patent/KR100999272B1/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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Landscapes

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

Abstract

PURPOSE: An apparatus and a method for encoding a low density parity check code are provided to generate a low density parity code having a low error by performing encoding of the low density parity code. CONSTITUTION: A parity check matrix generating part(310) generates a parity check matrix including a parity sub matrix. The parity check matrix includes a matrix element which is a message bit and a matrix element which is a parity bit. A puncturing part(320) performs puncturing about at least one matrix element among matrix element of a parity sub matrix. The puncturing part performs puncturing about at least one matrix element among matrix element of a first block matrix according to a puncturing order. The puncturing part punctures the matrix element of the first block matrix based on a matrix size of the first block matrix in a puncturing process. An encoding part(330) encodes an information word inputted from user by using the parity check matrix.

Description

저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법{APPARATUS AND MATHOD FOR ENCODING LOW DENSITY PARITY CHECK CODE}Low density parity check code encoder and its method {APPARATUS AND MATHOD FOR ENCODING LOW DENSITY PARITY CHECK CODE}

본 발명은 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 낮은 오류 마루를 갖는 저 밀도 패리티 검사 코드의 부호화 하는 장치 및 그 방법에 관한 것이다. The present invention relates to an apparatus and method for encoding a low density parity check code, and more particularly, to an apparatus and method for encoding a low density parity check code having a low error floor.

본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호 : 2006-S-001-02, 과제명 : 4세대 이동통신용 적응 무선접속 및 전송기술개발].The present invention is derived from the research conducted as part of the IT growth engine technology development of the Ministry of Knowledge Economy and the Ministry of Information and Telecommunications Research and Development. Transmission technology development].

이동 통신 시스템이 급속하게 발전함에 따라 무선 네트워크에서 유선 네트워크의 용량(capacity)에 근접하는 대용량 데이터를 전송할 수 있도록 하는 기술의 개발이 요구되고 있다. 그러나, 이동 통신 시스템은 그 특성상 데이터를 전송하는 시점에서의 채널 상황에 따라 잡음(noise)과, 간섭(interference) 및 페이딩(fading) 등으로 인해 불가피하게 오류(error)가 발생하고, 발생한 오류에 의해 정보 데이터의 손실이 발생한다. With the rapid development of mobile communication systems, there is a demand for the development of a technology for transmitting a large amount of data approaching the capacity of a wired network in a wireless network. However, the mobile communication system inevitably generates an error due to noise, interference, fading, and the like depending on the channel conditions at the time of transmitting data. This causes loss of information data.

오류 발생으로 인한 정보 데이터의 손실을 감소시키기 위해 다양한 오류 제 어방식(error-control scheme)이 사용되고 있는데, 이중 에러 정정 부호(error- correcting code)를 사용하는 방식이 가장 보편적으로 사용되고 있다. Various error-control schemes are used to reduce the loss of information data due to errors, and the most commonly used error-correcting code is the most commonly used.

저 밀도 패리티 검사 코드(Low Density Parity Check Code, 이하 "LDPC 코드"라 칭하기로 한다)는 에러 정정 부호의 하나로서, 1962년 갈라거(Gallager)에 의해 제안되었다. LDPC 코드는 복호기(decoder) 구현의 복잡성 때문에 사용되지 않았으나, 1990년대에 들어 성능의 우수함이 입증되고 그 이래로 이 부호에 대한 연구가 활발히 진행되고 있다.The Low Density Parity Check Code (hereinafter referred to as "LDPC code") is one of the error correction codes that was proposed by Gallagher in 1962. LDPC codes were not used due to the complexity of decoder implementations, but their performance has been proven in the 1990s, and research on these codes has been actively conducted since then.

LDPC 코드는 대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 0의 값을 가지는 엘리먼트들 이외의 극소수의 엘리먼트들이 0이 아닌 값(non-zero value, 예를 들어 1의 값)을 가지는 패리티 검사 행렬(Parity Check Matrix)을 이용하여 부호화된다. The LDPC code has a parity where most elements have a zero value and very few elements other than those with a zero value have a non-zero value (eg a value of 1). Coded using a parity check matrix.

LDPC 코드는 천공(puncture)을 통해서 채널 상황에 따른 부호율-호환 가능(rate-compatible)한 특성을 얻을 수 있다. 천공은 보내고자 하는 데이터에서 일부 노드를 보내지 않음으로써 부호율(code rate)을 높이는 방법이다. 이 때, 천공된 노드들을 복호화 하기 위해서는 천공된 노드들의 위치를 복호기가 알고 있다고 전제한다.The LDPC code can obtain a rate-compatible characteristic according to channel conditions through puncture. Punching is a method of increasing the code rate by not sending some nodes in the data to be sent. At this time, in order to decode the punctured nodes, it is assumed that the decoder knows the positions of the punctured nodes.

도 1은 종래 기술에 따른 천공된 LDPC 코드의 복구 트리의 일례를 도시한 도면이다.1 is a diagram illustrating an example of a recovery tree of a perforated LDPC code according to the prior art.

천공된 노드들은 복구되는데 필요한 복호기의 반복 과정 횟수에 따라 분류될 수 있다. 예를 들어, 복호기의 k 번째 복호 과정에서 복구되는 천공된 노드들 은 k-SR 노드(k th-step recoverable node)라고 한다. 일반적으로, k-SR 노드에서 k의 값이 작을수록 복구된 노드에 대한 신뢰도는 높아진다. 따라서 일부 노드를 천공하는 경우, k 값이 낮은 순서부터 천공이 진행된다. Perforated nodes may be classified according to the number of iterations of the decoder necessary to recover. For example, the punctured nodes recovered in the k-th decoding process of the decoder are called k-SR recoverable nodes. In general, the smaller the value of k in the k-SR node, the higher the reliability of the restored node. Therefore, when puncturing some nodes, the puncturing proceeds from the order of low k values.

도 1은 k의 값이 3일 때의 복구 트리를 도시하고 있다. 도 1에서 원형 기호는 가변 노드(variable node)를 의미는 것으로, 패리티 검사 행렬에서 열(column)을 나타낸다. 사각형 기호는 검사 노드(check node)를 의미하는 것으로, 패리티 검사 행렬에서 행(row)을 나타낸다. 각각의 가변 노드와 검사 노드를 연결하는 선은 에지(edge)를 의미하는 것으로서, 패리티 검사 행렬에서의 행렬 원소의 값(0 또는 1)의 값을 결정한다. 복호가 수행되는 반복 순서에 따라 분류된 천공된 노드들은 다시 같은 k-SR 노드끼리 모을 수 있다. 이것을 그룹화라고 하며 k-SR노드들을 묶어서 Gk로 표현 할 수 있다.1 shows a recovery tree when the value of k is three. In FIG. 1, a circular symbol means a variable node, and represents a column in a parity check matrix. The square symbol denotes a check node, which represents a row in the parity check matrix. The line connecting each variable node and the check node means an edge, and determines the value (0 or 1) of the matrix element in the parity check matrix. Perforated nodes classified according to the repetition order in which decoding is performed may be collected again among the same k-SR nodes. This is called grouping and can be expressed as G k by grouping k-SR nodes.

패리티 검사 행렬(H)은 메시지 비트를 행렬 원소로 하는 메시지 서브 행렬(sub matrix)(Hs)와 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬(Hp)을 포함하여 구성될 수 있다(

Figure 112008065368189-PAT00001
).The parity check matrix (H) can comprise a sub-matrix, the message matrix elements of a message in bits (sub matrix) (H s) and the parity sub-matrix of the parity bits to a matrix element (H p) (
Figure 112008065368189-PAT00001
).

패리티 서브 행렬은 E2RC 구조를 가질 수 있는데, E2RC 구조를 갖는 패리티 서브 행렬은 하기 수학식 1과 같이 표현될 수 있다. There parity sub-matrix can have a structure RC E 2, E 2 parity sub-matrix having a RC structure to can be expressed as Equation (1).

Figure 112008065368189-PAT00002
Figure 112008065368189-PAT00002

여기서,

Figure 112008065368189-PAT00003
은 행렬
Figure 112008065368189-PAT00004
에서
Figure 112008065368189-PAT00005
=1일 때의 행렬을 의미한다. m은 패리티 검사 행렬(또는 패리티 서브 행렬)의 행의 크기를 의미하는 것으로서, m이 2의 승수 값을 가진다고 가정하면(즉,
Figure 112008065368189-PAT00006
),
Figure 112008065368189-PAT00007
이 l=d 일 때 행렬 크기가 최소가 되고 그때의 행렬
Figure 112008065368189-PAT00008
Figure 112008065368189-PAT00009
가 된다. here,
Figure 112008065368189-PAT00003
Silver matrix
Figure 112008065368189-PAT00004
in
Figure 112008065368189-PAT00005
It means a matrix when = 1. m is the size of the row of the parity check matrix (or parity sub-matrix), assuming that m has a multiplier of 2 (i.e.
Figure 112008065368189-PAT00006
),
Figure 112008065368189-PAT00007
The matrix size becomes the minimum when l = d, then
Figure 112008065368189-PAT00008
Is
Figure 112008065368189-PAT00009
Becomes

E2RC 구조를 갖는 패리티 서브 행렬은 행렬의 첫 번째 열부터 차례대로 천공 순서가 매겨진다. 따라서, E2RC 구조를 갖는 패리티 서브 행렬은 천공 순서가 비교적 간단하여 천공에 편리한 구조를 지니고 있다. Parity sub-matrices with an E 2 RC structure are punctured in order from the first column of the matrix. Therefore, the parity sub-matrix having the E 2 RC structure has a structure that is convenient for puncturing because the puncturing order is relatively simple.

상기 언급한 바와 같이 시간이 변함에 따라 채널 상황이 변화하는 경우에 있어, 오류 정정 부호 시스템은 채널 상황 정보(Channel State Information, CSI)에 따라 부호율이 변경할 수 있어야 하는데, 이러한 부호율 적응성(rate adaptability)을 얻기 위해서는 여러 개의 부호기(encoder)와 복호기(decoder)가 필요한데, 부호기와 복호기의 수가 증가하는 경우, 부호 및 복호의 복잡도가 증가하게 된다. As mentioned above, in the case where the channel state changes with time, the error correction code system should be able to change the code rate according to channel state information (CSI). To obtain adaptability, several encoders and decoders are required. When the number of encoders and decoders increases, the complexity of the code and the decoding increases.

반면, 천공에 의하여 부호율을 변경하는 경우, 하나의 부호기와 하나의 복호기만으로도 부호율 적응성을 얻을 수 있다. 또한, E2RC 구조를 가진 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하는 경우, 천공의 복잡도가 감소하고, 다른 천공된 LDPC 코드 보다 뛰어난 성능을 얻을 수 있다. On the other hand, when the code rate is changed by puncturing, only one coder and one decoder can obtain code rate adaptability. In addition, when using a parity check matrix including a parity sub-matrix having an E 2 RC structure, the complexity of puncturing is reduced and performance superior to other punctured LDPC codes can be obtained.

그러나 E2RC 구조를 가진 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하는 경우, 기준 부호율에서 상대적으로 큰 오류 마루가 발생되어, 신호 대 잡음전력비(Signal to Noise Ratio, SNR)가 증가하여도 오류 확률이 크게 줄어들지 않게 되고, BER(Bit Error Rate) 성능이 나빠진다.However, when using a parity check matrix including a parity sub-matrix with an E 2 RC structure, a relatively large error floor occurs at the reference code rate, so that an error occurs even when the signal to noise ratio (SNR) increases. Probability is not greatly reduced and Bit Error Rate (BER) performance is degraded.

본 발명의 목적은 E2RC 구조를 변경하여 낮은 오류 마루를 가지는 저 밀도 패리티 코드를 부호화하는 것이다. It is an object of the present invention to modify the E 2 RC structure to encode a low density parity code with low error floor.

상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명은 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬(sub matrix)을 포함하는 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성부, 상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 천공부, 및 상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어(information code)를 부호화하는 부호화부를 포함하고 상기 패리티 서브 행렬은 E2RC(Efficiently Encodable Rate compatible) 구조를 가지는 복수 개의 제1 블록 행렬을 포함하는 저 밀도 패리티 검사 코드의 부호화 장치를 제공한다. In order to achieve the object of the present invention as described above, the present invention provides a parity check matrix generating unit for generating a parity check matrix including a parity sub matrix having parity bits as matrix elements, and the parity sub-matrix of the parity sub-matrix. And a puncturing unit for puncturing at least one matrix element among matrix elements, and an encoding unit for encoding an information code input from a user using the parity check matrix on which the puncturing is performed. Provides an apparatus for encoding a low density parity check code including a plurality of first block matrices having an E 2 RC (Efficiently Encodable Rate compatible) structure.

본 발명의 일측에 따르면, 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성하는 단계, 상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 단계, 및 상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화하는 단계를 포함하고 상기 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함하는 저 밀도 패리티 검사 코드의 부호화 방법이 제공된다.According to one aspect of the invention, generating a parity check matrix including a parity sub-matrix having a parity bit as a matrix element, performing a puncture on at least one matrix element of the matrix elements of the parity sub-matrix, And encoding an information word input from a user using the parity check matrix on which the puncturing has been performed, wherein the parity sub-matrix comprises a plurality of first block matrices having an E 2 RC structure. An encoding method of is provided.

본 발명에 따르면, 변경된 E2RC 구조를 가지는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하여 저 밀도 패리티 코드의 부호화를 수행함으로써, 낮은 오류 마루를 가지는 저 밀도 패리티 코드를 생성할 수 있다.According to the present invention, a low density parity code having a low error floor can be generated by encoding a low density parity code using a parity check matrix including a parity submatrix having a modified E 2 RC structure.

이하, 첨부된 도면을 참조하여, 본 발명에 따른 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법에 대해 상세히 설명한다. Hereinafter, an apparatus and method for encoding a low density parity check code according to the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일실시예에 따른 패리티 서브 행렬을 도시한 도면이다. 이하, 도 2를 참조하여 본 발명의 일실시예에 따른 패리티 서브 행렬을 자세히 설명하기로 한다. 2 illustrates a parity sub-matrix according to an embodiment of the present invention. Hereinafter, a parity submatrix according to an embodiment of the present invention will be described in detail with reference to FIG. 2.

천공된 LDPC 코드를 부호화함에 있어서, 천공이 수행되는 부분은 일정한 구조를 가지는 패리티 서브 행렬(Hp) 부분이다. 천공이 수행되는 행렬 원소(또는 가변 노드)의 수에 따라 LDPC 코드의 부호율을 변경할 수 있다. 천공이 수행되는 행렬 원소(또는 가변 노드)의 수에 따른 부호율은 하기 수학식 2와 같이 표현할 수 있다. In encoding the punctured LDPC code, the puncture is performed on the parity sub-matrix (H p ) having a certain structure. The code rate of the LDPC code may be changed according to the number of matrix elements (or variable nodes) on which the puncturing is performed. The code rate according to the number of matrix elements (or variable nodes) for which puncturing is performed may be expressed as in Equation 2 below.

Figure 112008065368189-PAT00010
Figure 112008065368189-PAT00010

여기서, R은 천공된 LDPC 코드의 부호율, n은 LDPC 코드의 길이, k는 정보어(information code)의 길이, np는 천공된 부호의 길이를 각각 의미한다. Where R is the code rate of the punctured LDPC code, n is the length of the LDPC code, k is the length of the information code, and n p is the length of the punctured code.

상기 수학식 2를 통해 알 수 있듯이, 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치 및 방법은 천공되는 행렬 원소의 수를 조절함으로써, 부호율을 변경할 수 있다. As can be seen from Equation 2, the apparatus and method for encoding a low density parity check code according to an embodiment of the present invention can change the code rate by adjusting the number of matrix elements to be punctured.

종래의 E2RC LDPC 코드의 경우, E2RC구조를 갖는 하나의 행렬로 구성된 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하여 LDPC 코드의 부호화가 수행되었다. LDCP 코드의 길이가 커질수록 패리티 서브 행렬에서의 최대 검사 노드 차수가 커지게 되는데, 이러한 최대 검사 노드 차수의 증가는 패리티 서브 행렬에서의 검사 노드의 차수 분포가 더욱 분산되도록 하였고, 이로 인해 작은 값의 ACE(Approximate cycle EMD)를 갖는 사이클을 많이 생성되었다. 즉, 작은 크기의 정지 집합(stopping set)의 개수가 많아지게 되고, 그 결과 LDPC 코드는 높은 오류 마루를 갖게 된다. 높은 오류 마루를 갖는 LDPC 코드의 경우, 신호 대 잡음 비가 증가하여도 오류 확률이 크게 줄지 않아 BER(Bit Error Rate), FER(Frame Error Rate) 성능이 낮아지게 되었다.In the conventional E 2 RC LDPC code, encoding of the LDPC code is performed using a parity check matrix including a parity sub-matrix composed of one matrix having an E 2 RC structure. As the length of the LDCP code increases, the maximum check node order in the parity sub-matrix increases. This increase in the maximum check node order causes the distribution of the order of the check nodes in the parity sub-matrix to be more distributed. Many cycles with ACE (Approximate cycle EMD) have been created. That is, the number of small stopping sets becomes large, and as a result, the LDPC code has a high error floor. For LDPC codes with high error floors, the error probability does not decrease significantly even if the signal-to-noise ratio is increased, resulting in low bit error rate (BER) and frame error rate (FER) performance.

본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치 및 방 법은 E2RC 구조를 갖는 패리티 서브 행렬의 구조를 변경함으로써, 패리티 서브 행렬에서의 최대 검사 노드 차수를 감소시키고 전체 검사 노드 차수 분포를 응집시켜, 기존 성능의 열화 없이도 높은 오류 마루를 갖는 LDPC 코드의 문제점을 해결할 수 있게 된다. An apparatus and method for encoding a low density parity check code according to an embodiment of the present invention changes the structure of a parity submatrix having an E 2 RC structure, thereby reducing the maximum check node order in the parity submatrix and reducing the total check node. By agglomerating the order distribution, the problem of LDPC codes with high error floors can be solved without deteriorating existing performance.

도 2에 도시된 바와 같이 본 발명의 일실시예에 따르면, 패리티 서브 행렬(Hp)은 복수 개의 블록 행렬을 포함하여 구성될 수 있다. 이 때, 패리티 서브 행렬(Hp)은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함할 수 있다. As shown in FIG. 2, the parity sub-matrix H p may include a plurality of block matrices. In this case, the parity sub-matrix H p may include a plurality of first block matrices having an E 2 RC structure.

Figure 112008065368189-PAT00011
내지
Figure 112008065368189-PAT00012
행렬은 E2RC 구조를 가지는 제1 블록 행렬을 각각 의미한다. E2RC 구조의 제1 블록 행렬은 재귀적인 형태를 가지는데, 상기
Figure 112008065368189-PAT00013
내지
Figure 112008065368189-PAT00014
행렬을 일반화하여 표현하면 하기 수학식 3과 같다.
Figure 112008065368189-PAT00011
To
Figure 112008065368189-PAT00012
The matrix means a first block matrix each having an E 2 RC structure. The first block matrix of the E 2 RC structure is recursive.
Figure 112008065368189-PAT00013
To
Figure 112008065368189-PAT00014
The generalization of the matrix is expressed as Equation 3 below.

Figure 112008065368189-PAT00015
Figure 112008065368189-PAT00015

여기서, b는 E2RC 구조를 가지는 블록 행렬의 크기,

Figure 112008065368189-PAT00016
Figure 112008065368189-PAT00017
의 크기를 갖는 단위 행렬,
Figure 112008065368189-PAT00018
Figure 112008065368189-PAT00019
의 크기를 갖는 영행렬을 각각 의미한다. 또한,
Figure 112008065368189-PAT00020
은 1 에서
Figure 112008065368189-PAT00021
사이의 값을 갖는 자연수이고, j는 1 에서
Figure 112008065368189-PAT00022
(
Figure 112008065368189-PAT00023
, m은 패리티 검사 행렬의 크기를 의미함)의 값을 갖는 복수개의 E2RC 구조를 가지는 블록 행렬의 순서를 각각 의미하고, b와
Figure 112008065368189-PAT00024
Figure 112008065368189-PAT00025
의 관계를 가진다.
Figure 112008065368189-PAT00026
Figure 112008065368189-PAT00027
값을 갖는 경우,
Figure 112008065368189-PAT00028
가 된다.Where b is the size of a block matrix having an E 2 RC structure,
Figure 112008065368189-PAT00016
Is
Figure 112008065368189-PAT00017
An identity matrix with the size of,
Figure 112008065368189-PAT00018
Is
Figure 112008065368189-PAT00019
Each means a matrix having a size of. Also,
Figure 112008065368189-PAT00020
Is from 1
Figure 112008065368189-PAT00021
Is a natural number with a value between and j is from 1
Figure 112008065368189-PAT00022
(
Figure 112008065368189-PAT00023
, m denotes the size of the parity check matrix), and b and b denote a sequence of block matrices having a plurality of E 2 RC structures.
Figure 112008065368189-PAT00024
Is
Figure 112008065368189-PAT00025
Has a relationship with
Figure 112008065368189-PAT00026
this
Figure 112008065368189-PAT00027
Has a value,
Figure 112008065368189-PAT00028
Becomes

도 2에 도시된 바와 같이 본 발명의 일실시예에 따르면, 패리티 서브 행렬(Hp)은 제1 블록 행렬의 행렬 크기에 상응하는 블록 단위의 행과 열로 표현될 수 있고, 이때, 복수 개의 제1 블록 행렬들은 패리티 서브 행렬(Hp)의 블록 단위의 대각선 축 상에 위치할 수 있다. 이는 E2RC 구조의 행렬 특성에 따른 것이다. As shown in FIG. 2, the parity sub-matrix H p may be represented as a row and a column in block units corresponding to the matrix size of the first block matrix. The one block matrices may be located on the diagonal axis of the block unit of the parity sub-matrix H p . This is due to the matrix characteristics of the E 2 RC structure.

또한, 패리티 서브 행렬(Hp)은 복수 개의 영행렬(Ob)과 복수 개의 제2 블록 행렬(Cb)을 포함하여 구성될 수 있다. Also, the parity sub-matrix H p may include a plurality of zero matrixes O b and a plurality of second block matrices C b .

대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 0의 값을 가지는 엘리먼트들 이외의 극소수의 엘리먼트들이 0이 아닌 값(non-zero value, 예를 들어 1의 값)을 가지는 패리티 검사 행렬의 특성을 만족시키기 위해, 패리티 서브 행렬의 대부분은 행렬 원소가 0의 값을 갖는 영행렬(Ob)로 구성된다. Most elements have a zero value, and very few elements other than zero have a non-zero value (for example, a value of 1). In order to satisfy the property, most of the parity sub-matrix consists of zero matrix O b , where the matrix element has a value of zero.

제2 블록 행렬(Cb)는 LDPC 코드 부호화의 성능 향상을 위해 추가되는 블록 행렬로서, 이는 하기 수학식 4와 같이 표현할 수 있다. The second block matrix C b is a block matrix added to improve the performance of LDPC code encoding, which can be expressed as Equation 4 below.

Figure 112008065368189-PAT00029
Figure 112008065368189-PAT00029

즉, 제2 블록 행렬(Cb)는 패리티 서브 행렬(Hp)에서의 가변 노드의 차수를 "2"로 맞추기 위해 추가 되는 서브 행렬이다. 패리티 서브 행렬(Hp)서의 가변 노드의 차수가 2인 경우, 즉 제2 블록 행렬(Cb)를 추가한 경우, LDPC 코드의 부호화 성능은 높아지게 된다. That is, the second block matrix C b is a sub-matrix added to adjust the order of the variable nodes in the parity sub-matrix H p to "2". When the order of the variable nodes in the parity sub-matrix H p is 2, that is, when the second block matrix C b is added, the encoding performance of the LDPC code is increased.

본 발명의 일실시예에 따르면, 패리티 서브 행렬(Hp)의 최우측 블록 단위의 열은 제2 블록 행렬을 포함하지 않을 수 있다. 패리티 서브 행렬(Hp)의 최우측 블 록 단위 열에 제2 블록 행렬(Cb)이 포함된 경우보다 포함되지 않은 경우, 패리티 서브 행렬의 최우측 열의 가변 노드의 차수는 1이 되고, 이 경우, LDPC 코드는 더 좋은 성능을 갖게 된다. 이는 E2RC 구조의 특성에 따른 것이다. According to an embodiment of the present invention, the column of the rightmost block unit of the parity sub-matrix H p may not include the second block matrix. If the rightmost block unit column of the parity submatrix H p does not contain the second block matrix C b , the order of the variable nodes of the rightmost column of the parity submatrix is 1, in which case The LDPC code will have better performance. This is due to the characteristics of the E 2 RC structure.

이와 같이, 본 발명은 LDPC 코드의 부호화에 사용되는 패리티 서브 행렬을 복수 개의 E2RC 구조를 갖는 작은 크기의 제1 블록 행렬을 포함하도록 구성함으로써, 패리티 서브 행렬의 최대 검사 노드 차수가 패리티 서브 행렬의 행렬 크기(m)가 아닌 제1 블록 행렬의 행렬 크기(b)에 의해 결정되도록 한다. 다시 말해, 행렬 크기가 작은(즉, b 값이 작은) 제1 블록 행렬을 이용하여 LDPC 코드의 부호화를 수행하는 경우, 패리티 검사 행렬의 검사 노드의 차수 분포가 응집되고, 최대 검사 노드 차수가 작아지게 된다. 이에 따라 패리티 서브행렬의 최대 검사 노드 차수는 LDPC 코드의 길이에 상관없이 고정된 값을 상기 언급한 높은 오류 마루의 문제를 해결할 수 있게 된다. As described above, the present invention configures the parity sub-matrix used for encoding the LDPC code to include a small first block matrix having a plurality of E 2 RC structures, whereby the maximum parity sub-order of the parity sub-matrix is a parity sub-matrix. It is determined by the matrix size (b) of the first block matrix, not the matrix size (m) of. In other words, when the LDPC code is encoded using a first block matrix having a small matrix size (that is, a small b value), the order distribution of the check nodes of the parity check matrix is aggregated and the maximum check node orders are small. You lose. Accordingly, the maximum check node order of the parity submatrix can solve the problem of the high error floor mentioned above with a fixed value irrespective of the length of the LDPC code.

도 2에서 도시된 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행하는 경우, 검사 노드의 차수 분포에 관한 다항식의 일반식은 하기 수학식 5에 따라 결정된다. When encoding LDPC codes are performed by using the parity sub-matrix shown in FIG.

Figure 112008065368189-PAT00030
Figure 112008065368189-PAT00030

여기서,

Figure 112008065368189-PAT00031
는 검사 노드의 차수 분포에 관한 다항식, i는 검사 노드에 연결된 에지의 개수, 는 i개의 에지와 연결된 검사 노드의 수 대 전체 에지의 수의 비율을 각각 의미하는데, 이 경우
Figure 112008065368189-PAT00033
는 하기 수학식 6에 따라서 결정될 수 있다. here,
Figure 112008065368189-PAT00031
Is the polynomial of the order distribution of the check nodes, i is the number of edges connected to the check node, Denotes the ratio of the number of inspection nodes connected to the i edges to the total number of edges, respectively.
Figure 112008065368189-PAT00033
May be determined according to Equation 6 below.

Figure 112008065368189-PAT00034
Figure 112008065368189-PAT00034

Figure 112008065368189-PAT00035
Figure 112008065368189-PAT00035

상기 수학식 6을 통해 알 수 있듯이, 도 2에 도시된 패리티 서브 행렬(Hp)를 이용하여 LDPC 코드의 부호화를 수행하는 경우, 패리티 서브 행렬(Hp)의 최대 검 사 노드 차수는 행렬 크기 m과 상관 없이

Figure 112008065368189-PAT00036
에 의해 결정된다. 따라서,
Figure 112008065368189-PAT00037
값을 작게 하는 경우, 즉 제1 블록 행렬의 크기를 작게 하는 경우, 패리티 검사 행렬의 검사노드의 차수 분포가 응집되고, 최대 검사 노드 차수의 크기가 줄어들어, 낮은 오류 마루를 갖는 LDPC 코드를 부호화 할 수 있게 된다. As can be seen from Equation 6, when the LDPC code is encoded using the parity sub-matrix H p shown in FIG. 2, the maximum detection node order of the parity sub-matrix H p is the matrix size. irrespective of m
Figure 112008065368189-PAT00036
Determined by therefore,
Figure 112008065368189-PAT00037
When the value is reduced, that is, when the size of the first block matrix is reduced, the order distribution of the check nodes of the parity check matrix is aggregated and the size of the maximum check node order is reduced, so that LDPC codes having a low error floor can be encoded. It becomes possible.

일례로서, 정보어의 길이가 1024이고, LDPC 코드의 길이가 2048인 경우, 16×16 의 행렬 크기를 갖는 제1 블록 행렬 및 제2 블록 행렬을 포함하는 패리티 서브 행렬을 이용하여 LDPC 부호화를 수행한다고 가정하여 종래의 E2RC LDPC 코드와 본 발명의 일례에 따른 E2RC LDPC 코드를 각각 비교해 보면, 가변 노드의 차수 분포는 0.00015+0.30765x+0.27287x2+0.41933 x6로 동일하나, 검사 노드의 차수 분포는 0.441899x5+0.521797x6+0.017854x7+0.012052x8+0.002976x9+0.001637x10+0.001785x11(종래의 E2RC LDPC 코드)와 0.400833x5+0.596786x6+0.002381x7(본 발명의 일례에 따른 E2RC LDPC 코드)로 각각 다른 형태를 가진다. 즉 본 발명의 일례에 따른 E2RC LDPC 코드가 종래의 E2RC LDPC 코드 보다 더 응집된 검사 노드의 차수 분포를 가지게 되고, 이에 따라 본 발명의 일례에 따른 E2RC LDPC 코드가 종래의 E2RC LDPC 코드에 비해 더 좋은 성능(낮은 오류 마루)을 가지게 됨을 알 수 있다. As an example, when the length of the information word is 1024 and the length of the LDPC code is 2048, LDPC encoding is performed using a parity sub-matrix including a first block matrix and a second block matrix having a matrix size of 16 × 16. When comparing the conventional E 2 RC LDPC code and the E 2 RC LDPC code according to an example of the present invention, the order distribution of the variable nodes is the same as 0.00015 + 0.30765 x + 0.27287 x 2 + 0.41933 x 6 The order distribution of the nodes is 0.441899x 5 + 0.521797x 6 + 0.017854x 7 + 0.012052x 8 + 0.002976x 9 + 0.001637x 10 + 0.001785x 11 (traditional E 2 RC LDPC code) and 0.400833x 5 + 0.596786x 6 + 0.002381x 7 (E 2 RC LDPC code according to an example of the present invention), each having a different form. That is, the E 2 RC LDPC code according to an example of the present invention has a higher order distribution of test nodes than the conventional E 2 RC LDPC code, and accordingly, the E 2 RC LDPC code according to an example of the present invention is a conventional E We can see that we have better performance (lower error floor) than 2 RC LDPC codes.

도 3은 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치의 구조를 도시한 블록도이다. 3 is a block diagram illustrating a structure of an encoding apparatus of a low density parity check code according to an embodiment of the present invention.

본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치(300)는 패리티 검사 행렬 생성부(310), 천공부(320), 및 부호화부(330)를 포함한다. 이하, 도 3을 참조하여 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치에 대해 자세히 설명하기로 한다.The low density parity check code encoding apparatus 300 according to an embodiment of the present invention includes a parity check matrix generator 310, a puncturing unit 320, and an encoding unit 330. Hereinafter, a low density parity check code encoding apparatus according to an embodiment of the present invention will be described in detail with reference to FIG. 3.

패리티 검사 행렬 생성부(310)는 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성하는 기능을 수행한다. The parity check matrix generator 310 generates a parity check matrix including a parity sub matrix having parity bits as matrix elements.

패리티 검사 행렬은 선형 부호의 패리티 검사를 나타내는 행렬로서, 패리티 검사 행렬은 메시지 비트인 행렬 원소와 패리티 비트인 행렬 원소를 포함한다. 패리티 서브 행렬은 패리티 비트인 행렬 원소로 구성된 패리티 검사 행렬의 서브 행렬(sub matrix)을 의미한다. The parity check matrix is a matrix representing a parity check of a linear code. The parity check matrix includes a matrix element that is a message bit and a matrix element that is a parity bit. The parity sub-matrix means a sub matrix of a parity check matrix composed of matrix elements that are parity bits.

본 발명의 일실시예에 따르면, 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함할 수 있다. According to an embodiment of the present invention, the parity sub-matrix may include a plurality of first block matrices having an E 2 RC structure.

종래의 E2RC LDPC 코드의 경우, E2RC 구조를 갖는 하나의 행렬로서 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행하였으나, 본 발명의 일실시예에 따른 저 밀도 패리티 코드의 부호화 장치는 E2RC 구조를 갖는 복수 개의 제1 블록 행렬을 포함하는 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행한다. 이 경우, 각각의 제1 블록 행렬들은 동일한 행렬 크기를 가질 수 있다. In the conventional E 2 RC LDPC code, an LDPC code is encoded using a parity sub-matrix as one matrix having an E 2 RC structure. However, the low density parity code encoding apparatus according to an embodiment of the present invention The LDPC code is encoded using a parity sub-matrix including a plurality of first block matrices having an E 2 RC structure. In this case, each of the first block matrices may have the same matrix size.

본 발명의 일실시예에 따르면, 패리티 서브 행렬의 행의 개수 및 제1 블록 행렬의 행의 개수는 2의 지수 승 형태일 수 있다. According to an embodiment of the present invention, the number of rows of the parity sub-matrix and the number of rows of the first block matrix may have an exponential power of two.

이는 E2RC 구조를 갖는 행렬의 구조에 기인한 것으로서, 제1 블록 행렬의 행의 개수가 2의 지수 승 형태로 표현되는 경우(예를 들어,

Figure 112008065368189-PAT00038
) 패리티 서브 행렬의 설계가 간단해진다. This is due to the structure of a matrix having an E 2 RC structure, where the number of rows of the first block matrix is represented by an exponential power of two (for example,
Figure 112008065368189-PAT00038
Parity submatrix is simplified.

본 발명의 일실시예에 따르면, E2RC 구조를 가지는 복수 개의 제1 블록 행렬은 패리티 서브 행렬의 블록 단위의 대각선 축(diagonal)상에 위치할 수 있다. 이는 E2RC 구조의 행렬 특성에 따른 것이다.According to an embodiment of the present invention, a plurality of first block matrices having an E 2 RC structure may be located on a diagonal axis in blocks of the parity sub-matrix. This is due to the matrix characteristics of the E 2 RC structure.

본 발명의 일실시예에 따르면, 패리티 서브 행렬은 패리티 서브 행렬에서의 가변 노드의 차수를 조절하기 위한 적어도 하나의 제2 블록 행렬을 포함할 수 있다. 일례로서, E2RC 구조를 갖는 행렬의 경우, 가변 노드의 차수가 2의 값을 가질 수 있는데, 이 경우, 제2 블록 행렬은 1의 값을 갖는 하나의 행렬 원소를 포함할 수 있고, 나머지 행렬 원소는 0의 값을 가질 수 있다. According to an embodiment of the present invention, the parity sub-matrix may include at least one second block matrix for adjusting the order of the variable nodes in the parity sub-matrix. As an example, for a matrix with an E 2 RC structure, the order of the variable nodes may have a value of 2, in which case the second block matrix may include one matrix element having a value of 1, and the rest The matrix element may have a value of zero.

본 발명의 일실시예에 따르면, 제1 블록 행렬과 제2 블록 행렬은 동일한 행렬크기를 갖고, 패리티 서브 행렬에서 최우측 블록 단위의 열을 제외한 각각의 블록 단위의 열은 복수 개의 제1 블록 행렬 중 하나의 제1 블록 행렬과 적어도 하나의 제2 블록 행렬 중 하나의 제2 블록 행렬을 포함할 수 있다. 일례로서, 도 2에 도시된 패리티 서브 행렬(Hp)의 구조와 같이, 복수 개의 제1 블록 행렬들은 패리티 서브 행렬의 블록 단위의 대각선 축 상에 위치하고, 적어도 하나의 제2 블록 행렬들은 제1 블록 행렬의 하부에 위치할 수 있다. 본 발명의 일례에 따르면, 제1 블록 행렬은 상기 수학식 3과 같이 표현될 수 있고, 제2 블록 행렬은 상기 수학식 4와 같이 표현될 수 있는데, 이 경우, 패리티 서브 행렬에서의 가변 노드의 차수는 패리티 서브 행렬의 최우측 열을 제외하고는 2로 결정될 수 있다(최우측 열의 가변 노드 차수는 1이 된다). According to an embodiment of the present invention, the first block matrix and the second block matrix have the same matrix size, and the columns of each block unit except the column of the rightmost block unit in the parity sub-matrix are a plurality of first block matrices. One second block matrix of one of the first block matrix and at least one second block matrix. As an example, as in the structure of the parity sub-matrix H p shown in FIG. 2, the plurality of first block matrices are located on a diagonal axis of a block unit of the parity sub-matrix, and the at least one second block matrices are first It may be located below the block matrix. According to an example of the present invention, the first block matrix may be expressed as Equation 3, and the second block matrix may be expressed as Equation 4. In this case, the variable node in the parity sub-matrix The order may be determined to be 2 except for the rightmost column of the parity submatrix (the variable node order of the rightmost column is 1).

본 발명의 일실시예에 따르면, 패리티 서브 행렬에서의 검사 노드의 차수 분포는 제1 블록 행렬의 행렬 크기에 기초하여 결정될 수 있다. 즉, 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치는 패리티 서브 행렬에서의 검사 노드의 차수 분포가 패리티 서브 행렬의 행렬 크기가 아닌 제1 블록 행렬의 행렬 크기에 따라 결정된다. 이에 따라, LDPC 코드의 크기가 큰 경우에도 작은 행렬 크기를 갖는 제1 블록 행렬을 사용하여 부호화를 수행하는 경우, 낮은 오류 마루를 갖는 LDPC 코드를 부호화 할 수 있게 된다. 본 발명의 일례에 따르면, 패리티 서브 행렬에서의 검사 노드의 차수 분포는 상기 수학식 5 및 상기 수학식 6에 따라 결정될 수 있다. According to an embodiment of the present invention, the order distribution of the check nodes in the parity sub-matrix may be determined based on the matrix size of the first block matrix. That is, in the encoding apparatus of the low density parity check code according to the embodiment of the present invention, the order distribution of the check nodes in the parity sub-matrix is determined according to the matrix size of the first block matrix rather than the matrix size of the parity sub-matrix. Accordingly, even when the size of the LDPC code is large, when encoding is performed using the first block matrix having the small matrix size, the LDPC code having the low error floor can be encoded. According to an example of the present invention, the order distribution of the check nodes in the parity sub-matrix may be determined according to Equations 5 and 6 above.

천공부(320)는 패리티 서브 행렬의 행렬 원소 중에서 적어도 하나의 행렬원소에 대하여 천공을 수행한다. The puncturing unit 320 punctures at least one matrix element among the matrix elements of the parity submatrix.

천공(puncture)은 코드의 부호화에 있어서, 부호율(code rate)을 조절하기 위하여, 전송하고자 하는 데이터에서 일부 비트(노드)를 보내지 않는 것을 의미한다. 천공된 코드를 복호화 하기 위해서는 천공된 일부 비트(노드)의 위치를 복호기가 알고 있다는 전제가 필요하다. Punching means that some bits (nodes) are not sent in the data to be transmitted in order to adjust a code rate in coding of a code. In order to decode the punctured code, it is necessary to assume that the decoder knows the location of some punctured bits (nodes).

본 발명의 일실시예에 따르면, 천공부(320)는 복수 개의 제1 블록 행렬 각 각에 대하여, 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 천공 순서에 따라 제1 블록 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행할 수 있다. According to one embodiment of the present invention, the puncturing unit 320 is for each of the plurality of first block matrices, among the matrix elements of the first block matrix according to the puncturing order determined based on the matrix size of the first block matrix. Perforation may be performed on at least one matrix element.

즉, 천공부(320)는 패리티 서브 행렬의 행렬 원소에 대하여 천공을 수행함에 있어서, 제1 블록 행렬의 행렬 크기에 기초하여 각각의 제1 블록 행렬의 행렬 원소를 천공한다. That is, when the puncturing unit 320 performs puncturing on the matrix elements of the parity sub-matrix, the puncturing unit 320 punctures the matrix elements of each first block matrix based on the matrix size of the first block matrix.

이 경우, 제1 블록 행렬에서의 천공의 순서는 제1 블록 행렬의 크기에 기초하여 결정될 수 있는데, 천공의 순서는 각각의 블록화된 제1 블록 행렬의 0 값을 갖는 행렬 원소를 제외하고, k-SR 노드에서 k 값이 낮은 순서부터 천공이 진행될 수 있다. 천공이 수행되는 노드의 순서를 천공할 노드의 색인으로 정의하면, 천공할 노드의 색인은 하기 수학식 7에 따라서 결정될 수 있다. In this case, the order of puncturing in the first block matrix may be determined based on the size of the first block matrix, where the order of puncturing is k, except for matrix elements having zero values of each blocked first block matrix. In the SR node, the puncturing may proceed from the order of low k values. If the order of nodes to be punctured is defined as the index of the node to be punctured, the index of the node to be punctured may be determined according to Equation 7 below.

Figure 112008065368189-PAT00039
Figure 112008065368189-PAT00039

여기서, j는 천공의 순서, pj는 천공이 수행되는 노드의 순서(에지, 검사 노드, 가변 노드로 구성되는 인수 그래프에 있어서, j번째 천공은 좌측에서 pj 번째 노드에 대해 수행됨), r은

Figure 112008065368189-PAT00040
를, q는
Figure 112008065368189-PAT00041
를 각각 의미한다. 이 경우, j는
Figure 112008065368189-PAT00042
의 범위를 갖는다. Here, j is the order of puncturing, p j is the order of the nodes where the puncture is performed (edge, check node, variable node in the graph, j j puncture is from the left p j For the first node), r is
Figure 112008065368189-PAT00040
Where q is
Figure 112008065368189-PAT00041
Means each. In this case, j is
Figure 112008065368189-PAT00042
Has a range of.

상기 수학식 7에서 알 수 있듯이, 각각의 제1 블록 행렬에서의 천공의 순서는 제1 블록 행렬의 행렬 크기인 b값에 따라 결정된다. As can be seen from Equation 7, the order of puncturing in each first block matrix is determined according to the value of b, which is the matrix size of the first block matrix.

부호화부(330)는 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화하는 기능을 수행한다. The encoder 330 encodes the information word input from the user by using the parity check matrix on which the puncturing has been performed.

본 발명의 일례에 따르면, 각각의 제1 블록 행렬들은 적어도 하나의 비천공 노드를 포함하는데, 이 경우, 최대 천공 노드의 수는 m- mb 가 되고, LDPC 코드의 최대 부호율은 하기 수학식 8과 같이 표현할 수 있다. According to an example of the present invention, each of the first block matrices includes at least one non-puncture node, in which case, the maximum number of punctured nodes is m-m b , and the maximum code rate of the LDPC code is It can be expressed as 8

Figure 112008065368189-PAT00043
Figure 112008065368189-PAT00043

여기서, k는 정보어의 길이, n은 LDPC 코드의 길이, m(=n-k)은 검사 노드의 개수를 의미하고,

Figure 112008065368189-PAT00044
,
Figure 112008065368189-PAT00045
,
Figure 112008065368189-PAT00046
의 관계가 각각 성립한다. Where k is the length of the information word, n is the length of the LDPC code, and m (= nk) is the number of check nodes.
Figure 112008065368189-PAT00044
,
Figure 112008065368189-PAT00045
,
Figure 112008065368189-PAT00046
Each relationship is established.

도 4는 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 방법을 단계별로 도시한 도면이다. 이하 도 4를 참조하여 각 단계별로 수행되는 과 정을 상술하기로 한다4 is a diagram illustrating a step-by-step method for encoding a low density parity check code according to an embodiment of the present invention. Hereinafter, a process performed at each step will be described in detail with reference to FIG. 4.

단계(S410)에서는 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성한다. In step S410, a parity check matrix including a parity sub-matrix having parity bits as matrix elements is generated.

본 발명의 일실시예에 따르면, 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함할 수 있다. According to an embodiment of the present invention, the parity sub-matrix may include a plurality of first block matrices having an E 2 RC structure.

종래의 E2RC LDPC 코드의 경우, E2RC 구조를 갖는 하나의 행렬로서 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행하였으나, 본 발명의 일실시예에 따른 저 밀도 패리티 코드의 부호화 장치는 E2RC 구조를 갖는 복수 개의 제1 블록 행렬을 포함하는 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행한다. 이 경우, 각각의 제1 블록 행렬들은 동일한 행렬 크기를 가질 수 있다. In the conventional E 2 RC LDPC code, an LDPC code is encoded using a parity sub-matrix as one matrix having an E 2 RC structure. However, the low density parity code encoding apparatus according to an embodiment of the present invention The LDPC code is encoded using a parity sub-matrix including a plurality of first block matrices having an E 2 RC structure. In this case, each of the first block matrices may have the same matrix size.

본 발명의 일실시예에 따르면, 패리티 서브 행렬의 행의 개수 및 제1 블록 행렬의 행의 개수는 2의 지수 승 형태일 수 있다. 이는 패리티 서브 행렬의 설계를 간단하게 하기 위함이다. According to an embodiment of the present invention, the number of rows of the parity sub-matrix and the number of rows of the first block matrix may have an exponential power of two. This is to simplify the design of the parity sub-matrix.

본 발명의 일실시예에 따르면, E2RC 구조를 가지는 복수 개의 제1 블록 행렬은 패리티 서브 행렬의 블록 단위의 대각선 축 상에 위치할 수 있다. According to an embodiment of the present invention, a plurality of first block matrices having an E 2 RC structure may be located on a diagonal axis of a block unit of the parity sub-matrix.

본 발명의 일실시예에 따르면, 패리티 서브 행렬은 패리티 서브 행렬에서의 가변 노드의 차수를 조절하기 위한 적어도 하나의 제2 블록 행렬을 포함할 수 있다. 일례로서, 제2 블록 행렬은 1의 값을 갖는 하나의 행렬 원소를 포함할 수 있 고, 나머지 행렬 원소는 0의 값을 가질 수 있다. According to an embodiment of the present invention, the parity sub-matrix may include at least one second block matrix for adjusting the order of the variable nodes in the parity sub-matrix. As an example, the second block matrix may include one matrix element having a value of 1, and the remaining matrix elements may have a value of zero.

본 발명의 일실시예에 따르면, 제1 블록 행렬과 제2 블록 행렬은 동일한 행렬크기를 갖고, 패리티 서브 행렬에서 최우측 블록 단위의 열을 제외한 각각의 블록 단위의 열은 복수 개의 제1 블록 행렬 중 하나의 제1 블록 행렬과 적어도 하나의 제2 블록 행렬 중 하나의 제2 블록 행렬을 포함할 수 있다. According to an embodiment of the present invention, the first block matrix and the second block matrix have the same matrix size, and the columns of each block unit except the column of the rightmost block unit in the parity sub-matrix are a plurality of first block matrices. One second block matrix of one of the first block matrix and at least one second block matrix.

본 발명의 일실시예에 따르면, 패리티 서브 행렬에서의 검사 노드의 차수 분포는 제1 블록 행렬의 행렬 크기에 기초하여 결정될 수 있다. 즉, LDPC 코드의 크기가 큰 경우에도 작은 행렬 크기를 갖는 제1 블록 행렬을 사용하여 부호화를 수행하는 경우, 낮은 오류 마루를 갖는 LDPC 코드를 부호화 할 수 있게 된다.According to an embodiment of the present invention, the order distribution of the check nodes in the parity sub-matrix may be determined based on the matrix size of the first block matrix. That is, even when the size of the LDPC code is large, when encoding is performed using the first block matrix having a small matrix size, the LDPC code having a low error floor can be encoded.

단계(S420)에서는 단계(S410)에서 생성된 패리티 서브 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행한다. 천공된 코드를 복호화 하기 위해서는 천공된 일부 비트(노드)의 위치를 복호기가 알고 있다는 전제가 필요하다.  In operation S420, puncturing is performed on at least one matrix element among the matrix elements of the parity sub-matrix generated in operation S410. In order to decode the punctured code, it is necessary to assume that the decoder knows the location of some punctured bits (nodes).

본 발명의 일실시예에 따르면, 단계(S420)에서는 복수 개의 제1 블록 행렬 각각에 대하여, 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 천공 순서에 따라 제1 블록 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행할 수 있다. According to an embodiment of the present invention, in step S420, for each of the plurality of first block matrices, at least one of matrix elements of the first block matrix according to the puncturing order determined based on the matrix size of the first block matrix. Perforation may be performed on the matrix elements of.

단계(S430)에서는 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화한다. In operation S430, the information word input from the user is encoded by using the parity check matrix on which the puncturing is performed.

지금까지 본 발명에 따른 저 밀도 패리티 검사 코드의 부호화 방법의 실시 예들에 대하여 설명하였고, 앞서 도 3에서 설명한 안테나 방사 성능 측정 시스템에 관한 구성이 본 실시예에도 그대로 적용 가능하다. 이에, 보다 상세한 설명은 생략하기로 한다.The embodiments of the method of encoding the low density parity check code according to the present invention have been described so far, and the configuration of the antenna radiation performance measuring system described above with reference to FIG. 3 is also applicable to the present embodiment. Therefore, more detailed description will be omitted.

또한, 본 발명에 따른 저 밀도 패리티 검사 코드의 부호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. In addition, the method of encoding the low density parity check code according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Examples of program instructions such as magneto-optical, ROM, RAM, flash memory, etc. may be executed by a computer using an interpreter as well as machine code such as produced by a compiler. Contains high-level language codes. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므 로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

도 1은 종래 기술에 따른 천공된 LDPC 코드의 복구 트리의 일례를 도시한 도면이다.1 is a diagram illustrating an example of a recovery tree of a perforated LDPC code according to the prior art.

도 2는 본 발명의 일실시예에 따른 패리티 서브 행렬을 도시한 도면이다.2 illustrates a parity sub-matrix according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치의 구조를 도시한 블록도이다. 3 is a block diagram illustrating a structure of an encoding apparatus of a low density parity check code according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 방법을 단계별로 도시한 도면이다.4 is a diagram illustrating a step-by-step method for encoding a low density parity check code according to an embodiment of the present invention.

Claims (10)

패리티 비트를 행렬 원소로 하는 패리티 서브 행렬(sub matrix)을 포함하는 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성부;A parity check matrix generator for generating a parity check matrix including a parity sub matrix having parity bits as matrix elements; 상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 천공부; 및A puncturing unit for puncturing at least one of the matrix elements of the parity sub-matrix; And 상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어(information code)를 부호화하는 부호화부 An encoder that encodes an information code input from a user by using the parity check matrix on which the puncturing has been performed 를 포함하고Including 상기 패리티 서브 행렬은 E2RC(Efficiently Encodable Rate compatible) 구조를 가지는 복수 개의 제1 블록 행렬을 포함하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치. And the parity sub-matrix comprises a plurality of first block matrices having an E 2 RC (Efficiently Encodable Rate compatible) structure. 제1항에 있어서, The method of claim 1, 상기 패리티 서브 행렬의 행의 개수 및 상기 제1 블록 행렬의 행의 개수는 2의 지수 승 형태인 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치. And the number of rows of the parity sub-matrix and the number of rows of the first block matrix are exponential powers of two. 제1항에 있어서, The method of claim 1, 상기 복수 개의 제1 블록 행렬은 상기 패리티 서브 행렬의 블록 단위의 대 각선 축(diagonal) 상에 위치하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.And the plurality of first block matrices are located on a diagonal line in block units of the parity sub-matrix. 제1항에 있어서, The method of claim 1, 상기 패리티 서브 행렬은 상기 패리티 서브 행렬에서의 가변 노드의 차수를 조절하기 위한 적어도 하나의 제2 블록 행렬을 포함하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.And the parity sub-matrix comprises at least one second block matrix for adjusting the order of variable nodes in the parity sub-matrix. 제4항에 있어서,The method of claim 4, wherein 상기 제1 블록 행렬과 상기 제2 블록 행렬은 동일한 행렬 크기를 갖고,The first block matrix and the second block matrix have the same matrix size, 상기 패리티 서브 행렬에서 최우측 블록 단위의 열을 제외한 각각의 블록 단위의 열은 상기 복수 개의 제1 블록 행렬 중 하나의 제1 블록 행렬과 상기 적어도 하나의 제2 블록 행렬 중 하나의 제2 블록 행렬을 포함하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.The column of each block unit except the rightmost block unit in the parity sub-matrix is a first block matrix of one of the plurality of first block matrices and a second block matrix of one of the at least one second block matrix. And a low density parity check code encoding apparatus. 제1항에 있어서,The method of claim 1, 상기 패리티 서브 행렬에서의 검사 노드의 차수 분포는 상기 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치. And an order distribution of check nodes in the parity sub-matrix is determined based on a matrix size of the first block matrix. 제1항에 있어서,The method of claim 1, 상기 천공부는 상기 복수 개의 제1 블록 행렬 각각에 대하여, 상기 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 천공 순서에 따라서 상기 제1 블록 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.The puncturing unit performs puncturing on at least one matrix element among the matrix elements of the first block matrix in a puncturing order determined based on the matrix size of the first block matrix for each of the plurality of first block matrices. And a low density parity check code encoding apparatus. 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성하는 단계;Generating a parity check matrix comprising a parity sub-matrix having parity bits as matrix elements; 상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 단계; 및Puncturing at least one of the matrix elements of the parity sub-matrix; And 상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화하는 단계 Encoding an information word input from a user using the parity check matrix on which the puncturing has been performed 를 포함하고Including 상기 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 방법. And the parity sub-matrix comprises a plurality of first block matrices having an E 2 RC structure. 제8항에 있어서, The method of claim 8, 상기 복수 개의 제1 블록 행렬은 상기 패리티 서브 행렬의 블록 단위의 대각선 축 상에 위치하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 방 법.And the plurality of first block matrices are located on a diagonal axis of a block unit of the parity sub-matrix. 제8항에 있어서, The method of claim 8, 상기 패리티 서브 행렬에서의 검사 노드의 차수 분포는 상기 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 방법.And an order distribution of check nodes in the parity sub-matrix is determined based on a matrix size of the first block matrix.
KR1020080091003A 2008-05-09 2008-09-17 Apparatus and mathod for encoding low density parity check code KR100999272B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080043432 2008-05-09
KR20080043432 2008-05-09

Publications (2)

Publication Number Publication Date
KR20090117584A true KR20090117584A (en) 2009-11-12
KR100999272B1 KR100999272B1 (en) 2010-12-07

Family

ID=41602035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080091003A KR100999272B1 (en) 2008-05-09 2008-09-17 Apparatus and mathod for encoding low density parity check code

Country Status (1)

Country Link
KR (1) KR100999272B1 (en)

Also Published As

Publication number Publication date
KR100999272B1 (en) 2010-12-07

Similar Documents

Publication Publication Date Title
KR100984289B1 (en) Signal transmitting/receiving apparatus for supporting variable coding rate in a communication system and method thereof
CN103888148B (en) A kind of LDPC code Hard decision decoding method of dynamic threshold bit reversal
KR101208546B1 (en) Method of encoding and decoding using low density parity check matrix
KR101791477B1 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
KR100640399B1 (en) Puncturing method for ldpc channel code
JP5506879B2 (en) Channel decoding apparatus and method for communication system using low density parity check code
KR101723258B1 (en) Method and apparatus for transmitting and receiving data in a communication system
JP5875713B2 (en) Transmitter and receiver, and coding rate variable method
KR20140145978A (en) Method and apparatus for encoding and decoding of low density parity check codes
US8656244B1 (en) Rate adaptive nonbinary LDPC codes with low encoding complexity
US8667378B2 (en) Decoding method and device for concatenated code
KR20120083858A (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
US8468430B2 (en) Product code decoding method and device
US7949932B2 (en) Strengthening parity check bit protection for array-like LDPC codes
CN101141133A (en) Method of encoding structured low density check code
KR20090003164A (en) Check matrix generating method
KR20080102902A (en) Method and apparatus for designing low density parity check code with multiple code rate, and information storage medium thereof
CN104883194B (en) Interpretation method is blocked in a kind of H-matrix building method of RS-LDPC two dimensional product codes and its sliding
CN109067408A (en) A kind of design method of protograph LDPC code
CN110830048B (en) Error correction method for constructing full-diversity LDPC code based on parity check matrix decomposition
EP1901435A1 (en) An interleaving scheme for an LDPC coded 32APSK system
KR100837730B1 (en) Method for reduced complexity encoder generating low density parity check codes
CN108206722B (en) High-bit-rate data sending method and device
EP4270793A1 (en) Low-density parity-check encoding method, low-density parity-check decoding method, encoding device, decoding device and medium
US9281842B2 (en) Method and device for improving decoding of data received from one source by several receivers

Legal Events

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

Payment date: 20131129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee