KR20090026709A - Apparatus and method for channel encoding and decoding in communication system using variable-length ldpc codes - Google Patents

Apparatus and method for channel encoding and decoding in communication system using variable-length ldpc codes Download PDF

Info

Publication number
KR20090026709A
KR20090026709A KR1020070108317A KR20070108317A KR20090026709A KR 20090026709 A KR20090026709 A KR 20090026709A KR 1020070108317 A KR1020070108317 A KR 1020070108317A KR 20070108317 A KR20070108317 A KR 20070108317A KR 20090026709 A KR20090026709 A KR 20090026709A
Authority
KR
South Korea
Prior art keywords
parity check
check matrix
ldpc code
length
ldpc
Prior art date
Application number
KR1020070108317A
Other languages
Korean (ko)
Other versions
KR101413783B1 (en
Inventor
명세호
정홍실
김재열
윤성렬
이학주
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US12/208,316 priority Critical patent/US8261152B2/en
Publication of KR20090026709A publication Critical patent/KR20090026709A/en
Application granted granted Critical
Publication of KR101413783B1 publication Critical patent/KR101413783B1/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
    • H03M13/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation

Landscapes

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

Abstract

A method and an apparatus for encoding/decoding a channel in a communication system are provided to generate a LDPC(Low Density Parity Check) code having a different block length by using information of a parity check matrix. A first parity check matrix information is detected(S510). A block length of a necessary LDPC code is confirmed(S520). A grouping size for an information word of a second parity check matrix is determined. A sub matrix corresponding to the information word of the second parity check matrix is comprised from the first parity check matrix(S530). A sub matrix corresponding to a parity of the second parity check matrix is comprised(S540). A coding is performed by using one among the first parity check matrix and the second parity check matrix.

Description

블록 길이가 가변적인 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치{APPARATUS AND METHOD FOR CHANNEL ENCODING AND DECODING IN COMMUNICATION SYSTEM USING VARIABLE-LENGTH LDPC CODES}Method and apparatus for channel coding / decoding using variable density parity check code with variable block length {APPARATUS AND METHOD FOR CHANNEL ENCODING AND DECODING IN COMMUNICATION SYSTEM USING VARIABLE-LENGTH LDPC CODES}

본 발명은 저밀도 패리티 검사(low-density parity-check, 이하 LDPC) 부호를 오류정정부호로 적용하는 통신 시스템에 관한 것으로, 특히 블록 길이가 가변적인 LDPC 부호를 사용하는 채널 부호화/복호화(channel encoding/decoding) 장치 및 방법에 관한 것이다.The present invention relates to a communication system that applies a low-density parity-check (LDPC) code as an error correcting code, and in particular, a channel encoding / decoding using an LDPC code having a variable block length. decoding) and apparatus and method.

무선 통신 시스템에서는 채널의 여러 가지 잡음(noise)과 페이딩(fading) 현상 및 심볼간 간섭(inter-symbol interference, ISI)에 의해 링크(link)의 성능이 현저히 저하된다. 따라서, 차세대 이동 통신, 디지털 방송 및 휴대 인터넷과 같이 높은 데이터 처리량과 신뢰도를 요구하는 고속 디지털 통신 시스템들을 구현하기 위해서 잡음과 페이딩 및 ISI에 대한 극복 기술을 개발하는 것이 필수적이다. 최근에는 정보의 왜곡을 효율적으로 복원하여 통신의 신뢰도를 높이기 위한 방법으로서 오류정정부호(error-correcting code)에 대한 연구가 활발히 이루어지고 있다. In a wireless communication system, the performance of a link is significantly degraded due to various noises, fading and inter-symbol interference (ISI) of a channel. Therefore, it is essential to develop techniques for overcoming noise, fading, and ISI in order to implement high-speed digital communication systems requiring high data throughput and reliability such as next generation mobile communication, digital broadcasting, and portable Internet. Recently, researches on error-correcting codes have been actively conducted as a method for improving communication reliability by efficiently restoring information distortion.

1960년대에 Gallager에 의해서 처음 소개된 LDPC 부호는 당시 기술을 훨씬 능가하는 구현 복잡도로 인해 오랫동안 잊혀져 왔다. 하지만, 1993년 Berrou와 Glavieux, Thitimajshima에 의해 발견된 터보(turbo) 부호가 새넌(Shannon)의 채널 용량에 근접하는 성능을 보임에 따라, 터보 부호의 성능과 특성에 대한 많은 해석이 이루어지면서 반복 복호(iterative decoding)와 그래프를 기반으로 하는 채널 부호화에 대한 많은 연구가 진행되었다. 이를 계기로 1990년대 후반에 상기 LDPC 부호에 대해 재연구되면서 상기 LDPC 부호에 대응되는 Tanner 그래프(factor 그래프의 특별한 경우)상에서 합곱(sum-product) 알고리즘에 기반한 반복 복호(iterative decoding)를 적용하여 복호화를 수행하면 Shannon의 채널 용량에 근접하는 성능을 가짐이 밝혀졌다. Originally introduced by Gallager in the 1960s, the LDPC code has long been forgotten due to the complexity of implementation far beyond the technology of the time. However, as the turbo code found by Berrou, Glavieux, and Thitimajshima in 1993 approached Shannon's channel capacity, it was repeatedly decoded with much interpretation of the performance and characteristics of the turbo code. Much research has been done on iterative decoding and channel coding based on graphs. In the late 1990s, the LDPC code was re-studied and iterative decoding based on a sum-product algorithm on a Tanner graph (a special case of a factor graph) corresponding to the LDPC code was applied. It has been found that the performance is close to Shannon's channel capacity.

상기 LDPC 부호는 통상적으로 그래프 표현법을 이용하여 나타내며, 그래프 이론 및 대수학, 확률론에 기반한 방법들을 통해 많은 특성을 분석할 수 있다. 일반적으로 채널 부호의 그래프 모델은 부호의 묘사(descriptions)에 유용할 뿐만 아니라, 부호화된 비트에 대한 정보를 그래프 내의 정점(vertex)에 대응시키고 각 비트들의 관계를 그래프 내에서 선분(edges)으로 대응시키면, 각 정점들이 각 선분들을 통해서 정해진 메시지(messages)를 주고받는 통신 네트워크로 간주할 수 있기 때문에 자연스런 복호 알고리즘을 이끌어 낼 수 있다. 예를 들면, 그래프의 일종으로 볼 수 있는 트렐리스(trellis)에서 유도된 복호 알고리즘에는 잘 알려진 비터비(Viterbi) 알고리즘과 BCJR(Bahl, Cocke, Jelinek and Raviv) 알고리즘이 있다.The LDPC code is typically represented using a graph representation method, and many characteristics can be analyzed through methods based on graph theory, algebra, and probability theory. In general, the graph model of the channel code is not only useful for the description of the code, but also maps the information about the coded bits to vertices in the graph and the relationship of each bit to edges in the graph. In this way, each vertex can be regarded as a communication network that sends and receives messages through each segment, leading to a natural decoding algorithm. For example, the decoding algorithm derived from trellis, which is a kind of graph, includes the well-known Viterbi algorithm and BCJR (Bahl, Cocke, Jelinek and Raviv) algorithm.

상기 LDPC 부호는 일반적으로 패리티 검사행렬(parity-check matrix)로 정의 되며 Tanner 그래프로 통칭되는 이분(bipartite) 그래프를 이용하여 표현될 수 있다. 상기 이분 그래프는 그래프를 구성하는 정점들이 서로 다른 2 종류로 나누어져 있음을 의미하며, 상기 LDPC 부호의 경우에는 변수 노드(variable node)와 검사 노드(check node)라 불리는 정점들로 이루어진 이분 그래프로 표현된다. 상기 변수 노드는 부호화된 비트와 일대일 대응된다. The LDPC code is generally defined as a parity-check matrix and can be expressed using a bipartite graph collectively referred to as a Tanner graph. The bipartite graph means that the vertices constituting the graph are divided into two different types. In the case of the LDPC code, the bipartite graph is composed of vertices called variable nodes and check nodes. Is expressed. The variable node corresponds one-to-one with the coded bits.

도 1 및 도 2를 참조하여 상기 LDPC 부호의 그래프 표현 방법에 대해 설명하기로 한다. A graph representation method of the LDPC code will be described with reference to FIGS. 1 and 2.

도 1은 4 개의 행(row)과 8 개의 열(column)로 이루어진 상기 LDPC 부호의 패리티 검사 행렬 H1 의 예이다. 도 1을 참조하면, 열이 8개 있기 때문에 길이가 8인 부호어(codeword)를 생성하는 LDPC 부호를 의미하며, 각 열은 부호화된 8 비트와 대응된다. 1 is an example of the parity check matrix H1 of the LDPC code consisting of four rows and eight columns. Referring to FIG. 1, since there are 8 columns, it means an LDPC code that generates a codeword having a length of 8, and each column corresponds to an encoded 8 bit.

도 2는 도 1의 H1에 대응하는 Tanner 그래프를 도시한 도면이다. FIG. 2 is a diagram illustrating a Tanner graph corresponding to H1 of FIG. 1.

도 2를 참조하면, 상기 LDPC 부호의 상기 Tanner 그래프는 8개의 변수 노드들 x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)과 4개의 검사 노드(check node)(218, 220, 222, 224)들로 구성되어 있다. 여기서, 상기 LDPC 부호의 패리티 검사 행렬 H1의 i번째 열과 j번째 행은 각각 변수 노드 xi와 j 번째 검사 노드에 대응된다. 또한, 상기 LDPC 부호의 패리티 검사 행렬 H1의 i번째 열과 j번째 행이 교차하는 지점의 1의 값, 즉 0이 아닌 값의 의미는, 상기 도 2와 같이 상기 Tanner 그래프 상에서 상기 변수 노드 xi와 j번째 검사 노드 사이에 선 분(edge)이 존재함을 의미한다.Referring to FIG. 2, the Tanner graph of the LDPC code includes eight variable nodes x 1 (202), x 2 (204), x 3 (206), x 4 (208), x 5 (210), x 6 (212), x 7 (214), x 8 (216) and four check nodes (218, 220, 222, 224). Here, the i th column and the j th row of the parity check matrix H1 of the LDPC code correspond to the variable nodes x i and j th check nodes, respectively. In addition, the meaning of 1, i.e., non-zero value of the point where the i-th column and the j-th row of the parity check matrix H1 of the LDPC code intersect, is equal to the variable node x i on the Tanner graph as shown in FIG. An edge exists between the j th test nodes.

상기 LDPC 부호의 Tanner 그래프에서 변수 노드 및 검사 노드의 차수(degree)는 각 노드들에 연결되어 있는 선분의 개수를 의미하며, 이는 상기 LDPC 부호의 패리티 검사행렬에서 해당 노드에 대응되는 열 또는 행에서 0이 아닌 원소(entry)들의 개수와 동일하다. 예를 들어, 상기 도 2에서 변수 노드들 x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)의 차수는 각각 순서대로 4, 3, 3, 3, 2, 2, 2, 2가 되며, 검사 노드들(218, 220, 222, 224)의 차수는 각각 순서대로 6, 5, 5, 5가 된다. 또한, 상기 도 2의 변수 노드들에 대응되는 상기 도 1의 패리티 검사 행렬 H1의 각각의 열에서 0이 아닌 원소들의 개수는 상기한 차수들 4, 3, 3, 3, 2, 2, 2, 2와 순서대로 일치하며, 상기 도 2의 검사 노드들에 대응되는 상기 도 1의 패리티 검사 행렬 H1의 각각의 행에서 0이 아닌 원소들의 개수는 상기한 차수들 6, 5, 5, 5와 순서대로 일치한다. In the Tanner graph of the LDPC code, the degree of the variable node and the check node means the number of line segments connected to each node, which is determined in the column or row corresponding to the node in the parity check matrix of the LDPC code. It is equal to the number of nonzero entries. For example, in FIG. 2, the variable nodes x 1 202, x 2 204, x 3 206, x 4 208, x 5 210, x 6 212, and x 7 ( 214, and the order of x 8 (216) is 4, 3, 3, 3, 2, 2, 2, 2, respectively, in order, and the order of test nodes 218, 220, 222, and 224, respectively, in order. 6, 5, 5, 5. In addition, the number of non-zero elements in each column of the parity check matrix H1 of FIG. 1 corresponding to the variable nodes of FIG. 2 is equal to the above-described orders 4, 3, 3, 3, 2, 2, 2, The number of nonzero elements in each row of the parity check matrix H1 of FIG. 1 corresponding to the check nodes of FIG. 2 corresponding to the check nodes of FIG. 2 is in the order of the above orders 6, 5, 5, and 5. Matches as

LDPC 부호의 노드에 대한 차수 분포를 표현하기 위하여 차수가 i인 변수 노드의 개수와 변수 노드 총 개수와의 비율을 fi라 하고, 차수가 j인 검사 노드의 개수와 검사 노드 총 개수와의 비율을 gj라 하자. 예를 들어 상기 도 1과 도 2에 해당하는 LDPC 부호의 경우에는 f2=4/8, f3=3/8, f4=1/8, i≠2, 3, 4 에 대해서 fi=0 이며, g5=3/4, g6=1/4, j≠5,6 에 대해서 gj=0 이다. LDPC 부호의 길이를 N, 즉 열의 개수를 N이라 하고, 행의 개수를 N/2이라 할 때, 상기 차수 분포를 가지는 패리티 검사 행렬 전체에서 0이 아닌 원소의 밀도는 하기의 <수학식 1>과 같이 계산된다.The ratio between the number of variable nodes with order i and the total number of variable nodes is f i , and the ratio between the number of check nodes with order j and the total number of check nodes in order to express the order distribution for the nodes of the LDPC code. Let g j be . For example, for the LDPC code to the Figure correspond to the 1 and 2 is f 2 = 4/8, f 3 = 3/8, f 4 = 1/8, i ≠ 2, 3, about 4 f i = 0 and g j = 0 for g 5 = 3/4, g 6 = 1/4, and j ≠ 5,6. When the length of the LDPC code is N, that is, the number of columns is N, and the number of rows is N / 2, the density of nonzero elements in the parity check matrix having the above degree distribution is expressed by Equation 1 below. Is calculated as

Figure 112007076930680-PAT00001
Figure 112007076930680-PAT00001

상기 <수학식 1>에서 N이 증가하게 되면 패리티 검사 행렬 내에서 1의 밀도는 계속해서 감소하게 된다. 일반적으로 LDPC 부호는 부호 길이 N에 대하여 0이 아닌 원소의 밀도가 반비례하므로, N이 큰 경우에는 매우 낮은 밀도를 가지게 된다. LDPC 부호의 명칭에서 저밀도(low-density)란 말은 이와 같은 이유로 유래되었다.When N increases in Equation 1, the density of 1 in the parity check matrix continues to decrease. In general, since the density of non-zero elements is inversely proportional to the code length N, the LDPC code has a very low density when N is large. The term low-density in the name of the LDPC code is derived for this reason.

그러면, LDPC 부호의 패리티 검사 행렬이 가지는 특성을 도 3를 참조하여 설명하기로 한다. 도 3은 유럽 디지털 방송 표준(standard)의 하나인 DVB-S2에서 표준 기술로 채택된 LDPC 부호를 도시한다. Next, the characteristics of the parity check matrix of the LDPC code will be described with reference to FIG. 3. 3 illustrates an LDPC code adopted as a standard technology in DVB-S2, which is one of the European digital broadcasting standards.

도 3을 참조하면,

Figure 112007076930680-PAT00002
은 LDPC 부호어의 길이이고,
Figure 112007076930680-PAT00003
은 정보어의 길이이고,
Figure 112007076930680-PAT00004
은 패리티의 길이를 의미한다. 그리고,
Figure 112007076930680-PAT00005
이 성립하도록 정수
Figure 112007076930680-PAT00006
Figure 112007076930680-PAT00007
를 결정한다. 이때,
Figure 112007076930680-PAT00008
도 정수가 되도록 한다. 편의상 도 3의 패리티 검사 행렬을 제 1패리티 검사 행렬
Figure 112007076930680-PAT00009
이라 한다. Referring to Figure 3,
Figure 112007076930680-PAT00002
Is the length of the LDPC codeword,
Figure 112007076930680-PAT00003
Is the length of the information word,
Figure 112007076930680-PAT00004
Is the length of parity. And,
Figure 112007076930680-PAT00005
Integer to make
Figure 112007076930680-PAT00006
and
Figure 112007076930680-PAT00007
Determine. At this time,
Figure 112007076930680-PAT00008
Is also an integer. For convenience, the parity check matrix of FIG. 3 is converted to the first parity check matrix.
Figure 112007076930680-PAT00009
This is called.

도 3을 참조하면 패리티 검사 행렬에서 패리티 부분에 해당하는 부분, 즉,

Figure 112007076930680-PAT00010
번째 열(column)부터
Figure 112007076930680-PAT00011
번째 열까지의 구조는 이중 대각(dual diagonal) 형태이다. 따라서, 패리티 부분에 해당하는 열의 차수(degree) 분포는 그 값이 '1'인 마지막 열을 제외하고 모두 '2'를 가진다. Referring to FIG. 3, a part corresponding to a parity part in the parity check matrix, that is,
Figure 112007076930680-PAT00010
From the first column
Figure 112007076930680-PAT00011
The structure up to the first column is in the form of a double diagonal. Therefore, the degree distribution of the column corresponding to the parity portion has all '2' except for the last column whose value is '1'.

패리티 검사 행렬에서 정보어 부분에 해당하는 부분, 즉 0번째 열부터

Figure 112007076930680-PAT00012
번째 열까지의 구조를 이루는 규칙은 다음과 같다. From the parity check matrix, the portion of the information word, that is, the zeroth column
Figure 112007076930680-PAT00012
The rules forming the structure up to the first column are as follows.

<규칙 1> : 패리티 검사 행렬에서 정보어에 해당하는

Figure 112007076930680-PAT00013
개의 열을
Figure 112007076930680-PAT00014
개씩 그룹화(grouping)하여, 총
Figure 112007076930680-PAT00015
개의 열 그룹(column group)을 생성한다. 각 열 그룹에 속해있는 각각의 열을 구성하는 방법은 하기 규칙 2에 따른다. Rule 1: Corresponding Information Words in the Parity Check Matrix
Figure 112007076930680-PAT00013
Columns
Figure 112007076930680-PAT00014
Grouped one by one,
Figure 112007076930680-PAT00015
Create two column groups. How to configure each column belonging to each column group follows the rule 2.

<규칙 2> : 먼저

Figure 112007076930680-PAT00016
번째
Figure 112007076930680-PAT00017
열 그룹의 각 0번째 열의 1의 위치를 결정한다. 여기서, 각
Figure 112007076930680-PAT00018
번째 열 그룹의 0번째 열의 차수를
Figure 112007076930680-PAT00019
라 한다. 각 1이 있는 행의 위치를
Figure 112007076930680-PAT00020
이라 가정하면,
Figure 112007076930680-PAT00021
번째 열 그룹 내의
Figure 112007076930680-PAT00022
Figure 112007076930680-PAT00023
번째 열에서 1이 있는 행의 위치
Figure 112007076930680-PAT00024
Figure 112007076930680-PAT00025
는 하기 <수학식 2>와 같이 정의된다. Rule 2: First
Figure 112007076930680-PAT00016
th
Figure 112007076930680-PAT00017
Determine the position of 1 in each 0th column of the column group. Where
Figure 112007076930680-PAT00018
Order of the 0th column of the 1st column group
Figure 112007076930680-PAT00019
It is called. Position the row with 1
Figure 112007076930680-PAT00020
Assuming that
Figure 112007076930680-PAT00021
Within the first column group
Figure 112007076930680-PAT00022
Figure 112007076930680-PAT00023
Position of row with 1 in the first column
Figure 112007076930680-PAT00024
Figure 112007076930680-PAT00025
Is defined as in Equation 2 below.

Figure 112007076930680-PAT00026
,
Figure 112007076930680-PAT00026
,

Figure 112007076930680-PAT00027
.,
Figure 112007076930680-PAT00028
,
Figure 112007076930680-PAT00029
Figure 112007076930680-PAT00027
.,
Figure 112007076930680-PAT00028
,
Figure 112007076930680-PAT00029

상기 규칙에 따르면

Figure 112007076930680-PAT00030
번째
Figure 112007076930680-PAT00031
열 그룹 내에 속하는 열들의 차수는 모두
Figure 112007076930680-PAT00032
로 일정하다.According to the rule above
Figure 112007076930680-PAT00030
th
Figure 112007076930680-PAT00031
The orders of the columns within a column group are all
Figure 112007076930680-PAT00032
Is constant.

상기 규칙을 통해 설계된 LDPC 부호는 구조적인 형태를 이용하여 효율적인 부호화가 가능함이 알려져 있다. 하지만, 상기 LDPC 부호를 사용하는 DVB-S2 표 준(standard)의 경우에는 부호의 제한적인 사용으로 인해서 상기 LDPC 부호의 블록 길이가 2개 밖에 없을 뿐만 아니라, 2 개의 블록 길이를 지원하기 위해서도 각각 서로 다른 패리티 검사 행렬을 저장하고 있어야 하는 단점이 있다.  It is known that LDPC codes designed through the above rules can be efficiently encoded using structural forms. However, in case of DVB-S2 standard using the LDPC code, the LDPC code has only two block lengths due to the limited use of the code, and also supports each other to support the two block lengths. The disadvantage is that they must store different parity check matrices.

다음으로, 상술한 바와 같은 DVB-S2의 패리티 검사 행렬을 이용하여 LDPC 부호화를 진행 과정의 각 단계들을 설명한다. Next, steps of the LDPC encoding process using the parity check matrix of DVB-S2 as described above will be described.

먼저 설명의 편의를 위해 길이가

Figure 112007076930680-PAT00033
인 정보어 비트들을
Figure 112007076930680-PAT00034
로 나타내고, 길이가
Figure 112007076930680-PAT00035
인 패리티 비트들을
Figure 112007076930680-PAT00036
로 나타낸다. 하기에서 구체적으로 설명하는 LDPC 부호는
Figure 112007076930680-PAT00037
,
Figure 112007076930680-PAT00038
,
Figure 112007076930680-PAT00039
,
Figure 112007076930680-PAT00040
의 특성을 가진다. First of all, for convenience
Figure 112007076930680-PAT00033
Information bits
Figure 112007076930680-PAT00034
Represented by
Figure 112007076930680-PAT00035
Parity bits
Figure 112007076930680-PAT00036
Represented by LDPC code described in detail below
Figure 112007076930680-PAT00037
,
Figure 112007076930680-PAT00038
,
Figure 112007076930680-PAT00039
,
Figure 112007076930680-PAT00040
Has the characteristics of

단계 1: 패리티 비트들을 초기화

Figure 112007076930680-PAT00041
. Step 1 : Initialize the parity bits
Figure 112007076930680-PAT00041
.

단계 2: 저장되어 있는 패리티 검사 행렬의 정보로부터 정보어의 첫 번째 열 그룹 내에서 첫 번째 열의 1이 위치한 행의 정보를 호출함: Step 2: Call the information of the row where 1 of the first column is located within the first column group of information words from the stored parity check matrix information:

Figure 112007076930680-PAT00042
,
Figure 112007076930680-PAT00043
,
Figure 112007076930680-PAT00044
,
Figure 112007076930680-PAT00045
,
Figure 112007076930680-PAT00046
,
Figure 112007076930680-PAT00042
,
Figure 112007076930680-PAT00043
,
Figure 112007076930680-PAT00044
,
Figure 112007076930680-PAT00045
,
Figure 112007076930680-PAT00046
,

Figure 112007076930680-PAT00047
,
Figure 112007076930680-PAT00048
,
Figure 112007076930680-PAT00049
,
Figure 112007076930680-PAT00050
,
Figure 112007076930680-PAT00051
,
Figure 112007076930680-PAT00047
,
Figure 112007076930680-PAT00048
,
Figure 112007076930680-PAT00049
,
Figure 112007076930680-PAT00050
,
Figure 112007076930680-PAT00051
,

Figure 112007076930680-PAT00052
,
Figure 112007076930680-PAT00053
,
Figure 112007076930680-PAT00054
.
Figure 112007076930680-PAT00052
,
Figure 112007076930680-PAT00053
,
Figure 112007076930680-PAT00054
.

상기 호출된 정보와 정보어 비트

Figure 112007076930680-PAT00055
를 이용하여 하기의 <수학식 3>과 같이 특정 패리티 비트
Figure 112007076930680-PAT00056
들을 업데이트한다. 여기서,
Figure 112007076930680-PAT00057
는 각각의
Figure 112007076930680-PAT00058
Figure 112007076930680-PAT00059
값 을 의미한다.The called information and information word bits
Figure 112007076930680-PAT00055
By using a specific parity bit as shown in Equation 3 below
Figure 112007076930680-PAT00056
Update them. here,
Figure 112007076930680-PAT00057
Is each
Figure 112007076930680-PAT00058
Figure 112007076930680-PAT00059
It means the value.

Figure 112007076930680-PAT00060
Figure 112007076930680-PAT00061
Figure 112007076930680-PAT00062
, , ,
Figure 112007076930680-PAT00060
Figure 112007076930680-PAT00061
Figure 112007076930680-PAT00062
,,,

Figure 112007076930680-PAT00063
,
Figure 112007076930680-PAT00064
,
Figure 112007076930680-PAT00065
,
Figure 112007076930680-PAT00063
,
Figure 112007076930680-PAT00064
,
Figure 112007076930680-PAT00065
,

Figure 112007076930680-PAT00066
,
Figure 112007076930680-PAT00067
,
Figure 112007076930680-PAT00068
,
Figure 112007076930680-PAT00066
,
Figure 112007076930680-PAT00067
,
Figure 112007076930680-PAT00068
,

Figure 112007076930680-PAT00069
,
Figure 112007076930680-PAT00070
,
Figure 112007076930680-PAT00071
,
Figure 112007076930680-PAT00069
,
Figure 112007076930680-PAT00070
,
Figure 112007076930680-PAT00071
,

Figure 112007076930680-PAT00072
.
Figure 112007076930680-PAT00072
.

상기 <수학식 3>에서

Figure 112007076930680-PAT00073
Figure 112007076930680-PAT00074
로 표기하기도 할 수도 있고,
Figure 112007076930680-PAT00075
는 이진(binary) 덧셈을 의미한다.In <Equation 3>
Figure 112007076930680-PAT00073
Is
Figure 112007076930680-PAT00074
You can also write as
Figure 112007076930680-PAT00075
Means binary addition.

단계 3:

Figure 112007076930680-PAT00076
이후의 다음 359개의 정보어 비트
Figure 112007076930680-PAT00077
,
Figure 112007076930680-PAT00078
, ...,
Figure 112007076930680-PAT00079
에 대해서 먼저 하기의 <수학식 4>를 이용하여 구한다. Step 3:
Figure 112007076930680-PAT00076
The next 359 information word bits
Figure 112007076930680-PAT00077
,
Figure 112007076930680-PAT00078
, ...,
Figure 112007076930680-PAT00079
For Equation 1, Equation 4 is used.

Figure 112007076930680-PAT00080
Figure 112007076930680-PAT00081
Figure 112007076930680-PAT00082
, , .
Figure 112007076930680-PAT00080
Figure 112007076930680-PAT00081
Figure 112007076930680-PAT00082
,,.

상기 <수학식 4>에서

Figure 112007076930680-PAT00083
는 각각의
Figure 112007076930680-PAT00084
Figure 112007076930680-PAT00085
값을 의미한다. 상기 <수학식 4>는 <수학식 2>와 동일한 개념의 수식임에 유의한다. In Equation 4 above
Figure 112007076930680-PAT00083
Is each
Figure 112007076930680-PAT00084
Figure 112007076930680-PAT00085
It means the value. It is noted that Equation 4 is an equation having the same concept as Equation 2.

다음으로 상기 <수학식 4>에서 구한 값을 이용하여 <수학식 3>와 유사한 작업을 수행한다. 즉,

Figure 112007076930680-PAT00086
에 대해서
Figure 112007076930680-PAT00087
를 업데이트한다. 예를 들어
Figure 112007076930680-PAT00088
, 즉,
Figure 112007076930680-PAT00089
에 대해서 하기의 <수학식 5>와 같이
Figure 112007076930680-PAT00090
들을 업데 이트 한다. Next, a similar operation to that of Equation 3 is performed using the value obtained in Equation 4. In other words,
Figure 112007076930680-PAT00086
about
Figure 112007076930680-PAT00087
Update it. E.g
Figure 112007076930680-PAT00088
, In other words,
Figure 112007076930680-PAT00089
As shown in Equation 5 below
Figure 112007076930680-PAT00090
Update them.

Figure 112007076930680-PAT00091
Figure 112007076930680-PAT00091

상기 <수학식 5>의 경우에는

Figure 112007076930680-PAT00092
임에 유의한다. 위와 같은 과정을
Figure 112007076930680-PAT00093
에 대해서 마찬가지로 진행한다. In the case of Equation 5
Figure 112007076930680-PAT00092
Note that Same process as above
Figure 112007076930680-PAT00093
Proceed similarly for.

단계 4: 상기 단계 2와 마찬가지로 361번째 정보어 비트

Figure 112007076930680-PAT00094
에 대해서
Figure 112007076930680-PAT00095
, (
Figure 112007076930680-PAT00096
)의 정보를 호출하고, 특정
Figure 112007076930680-PAT00097
를 업데이트한다. 여기서,
Figure 112007076930680-PAT00098
Figure 112007076930680-PAT00099
를 의미한다.
Figure 112007076930680-PAT00100
이후의 다음 359개의 정보어 비트
Figure 112007076930680-PAT00101
,
Figure 112007076930680-PAT00102
, ...,
Figure 112007076930680-PAT00103
에 대해서 <수학식 4>를 유사하게 적용하여
Figure 112007076930680-PAT00104
,
Figure 112007076930680-PAT00105
를 업데이트한다. Step 4: As in Step 2 above 361th information word bit
Figure 112007076930680-PAT00094
about
Figure 112007076930680-PAT00095
, (
Figure 112007076930680-PAT00096
Call information)
Figure 112007076930680-PAT00097
Update it. here,
Figure 112007076930680-PAT00098
Is
Figure 112007076930680-PAT00099
Means.
Figure 112007076930680-PAT00100
The next 359 information word bits
Figure 112007076930680-PAT00101
,
Figure 112007076930680-PAT00102
, ...,
Figure 112007076930680-PAT00103
Equation 4 is similarly applied to
Figure 112007076930680-PAT00104
,
Figure 112007076930680-PAT00105
Update it.

단계 5: 모든 각각의 360개의 정보어 비트 그룹에 대해서 상기 단계 2, 3, 4의 과정을 반복한다. 최종적으로 <수학식 6>을 통해서 패리티 비트를 결정한다. Step 5: Repeat the steps 2, 3 and 4 for all 360 groups of information word bits. Finally, parity bits are determined through Equation 6.

Figure 112007076930680-PAT00106
Figure 112007076930680-PAT00107
, .
Figure 112007076930680-PAT00106
Figure 112007076930680-PAT00107
,.

상기 <수학식 6>의

Figure 112007076930680-PAT00108
들이 LDPC 부호화가 완료된 패리티 비트들이다. Of Equation 6
Figure 112007076930680-PAT00108
These are parity bits for which LDPC encoding is completed.

위와 같이 DVB-S2에서는 단계 1부터 단계 5까지의 과정을 거쳐 부호화를 진행한다. As described above, in the DVB-S2, encoding is performed through the steps 1 to 5.

상술한 바와 같은 LDPC 부호를 실제 통신 시스템에 적용하기 위해서는 상기 통신 시스템에서 요구되는 데이터 전송량에 적합하도록 설계되어야 한다. 특히 복합 재전송(Hybrid Automatic Retransmission Request, HARQ) 방식과 적응형 변조 및 부호화(Adaptive Modulation and Coding, AMC) 방식 등을 적용하는 적응형 통신 시스템 뿐만 아니라 다양한 방송 서비스를 지원하는 통신 시스템에서는 사용자에 요구에 따라 다양한 데이터 전송량을 지원하기 위해 다양한 블록 길이를 가지는 LDPC 부호가 필요하다. In order to apply the LDPC code as described above to an actual communication system, it must be designed to be suitable for the amount of data transmission required in the communication system. In particular, not only an adaptive communication system that uses a hybrid automatic retransmission request (HARQ) scheme and an adaptive modulation and coding (AMC) scheme, but also a communication system supporting various broadcast services can meet the needs of users. Accordingly, LDPC codes having various block lengths are required to support various data transmission amounts.

그런데, 상술한 바와 같이 DVB-S2 시스템에서 사용되는 LDPC 부호의 경우에는 제한적인 사용으로 인해 블록 길이가 2 종류 밖에 없을 뿐만 아니라 각각 독립적인 패리티 검사 행렬을 필요로 한다. 이러한 이유로 시스템의 확장성 및 유연성을 증가시키기 위해서 다양한 블록 길이를 지원하는 방법이 필요하다. However, in the case of the LDPC code used in the DVB-S2 system as described above, there are only two types of block lengths due to limited use, and each requires an independent parity check matrix. For this reason, there is a need for a method that supports various block lengths to increase the scalability and flexibility of the system.

또한, LDPC 부호의 각각의 블록 길이에 대해 독립적인 패리티 검사 행렬을 저장하는 것은 메모리 효율성을 떨어뜨리기 때문에 새로운 패리티 검사 행렬을 설계하지 않고, 기존에 주어져 있는 패리티 검사 행렬로부터 다양한 블록 길이를 효율적으로 지원하는 방법에 대한 연구가 필요하다. In addition, storing an independent parity check matrix for each block length of the LDPC code reduces memory efficiency, thus efficiently supporting various block lengths from a given parity check matrix without designing a new parity check matrix. Research is needed on how to do this.

상술한 바와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 가변 블록 길이를 가지는 LDPC 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 장치 및 그 제어 방법을 제공함에 있다. SUMMARY OF THE INVENTION An object of the present invention is to provide a channel encoding / decoding apparatus and a control method thereof in a communication system using an LDPC code having a variable block length.

본 발명의 다른 목적은 LDPC 부호를 저장하기 위한 메모리 효율성을 증대시키기 위해 주어진 LDPC 부호를 이용하여 블록 길이가 다른 LDPC 부호를 생성하는 방법 및 장치를 제공함에 있다. Another object of the present invention is to provide a method and apparatus for generating an LDPC code having a different block length using a given LDPC code to increase memory efficiency for storing an LDPC code.

상기한 목적들을 달성하기 위한 본 발명의 일 실시 예는 가변 길이를 가지는 구조적인 LDPC 부호를 부호화하는 방법에 있어서, 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과, 요구되는 LDPC 부호의 블록 길이를 확인한 후, 정보어를 그룹화 할 크기를 결정하는 과정과, 상기 LDPC 부호의 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과, LDPC 부호의 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 1 패리티 검사 행렬 또는 새로 생성된 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정으로 구성된다.According to an aspect of the present invention, there is provided a method of encoding a structural LDPC code having a variable length, the method comprising: detecting first parity check matrix information stored and a block of a required LDPC code; After checking the length, determining a size to group the information words, and constructing a partial matrix corresponding to the information word of the second parity check matrix from the first parity check matrix of the LDPC code to correspond to the grouping size And forming a partial matrix corresponding to the parity of the second parity check matrix of the LDPC code, and performing encoding based on one of the first parity check matrix or the newly generated second parity check matrix. do.

상기한 목적들을 달성하기 위한 본 발명의 다른 실시 예는 가변 길이를 가지 는 LDPC 부호를 부호화하는 장치에 있어서, 정보어를 상기 LDPC 부호어로 생성시 적용할 길이에 상응하게 적정한 패리티 검사 행렬을 결정하여 부호화함으로써 상기 LDPC 부호로 생성하는 부호화기와, 상기 LDPC 부호를 미리 설정되어 있는 변조 방식으로 변조하여 변조 심벌로 생성하는 변조기와, 상기 변조 심벌을 송신하는 송신기 포함한다.Another embodiment of the present invention for achieving the above object is in the apparatus for encoding a variable length LDPC code, by determining an appropriate parity check matrix corresponding to the length to be applied when generating the information word LDPC codeword And an encoder for generating the LDPC code by encoding, a modulator for modulating the LDPC code in a predetermined modulation scheme to generate a modulation symbol, and a transmitter for transmitting the modulation symbol.

상기의 목적들을 달성하기 위한 본 발명의 또 다른 실시 예는 가변 길이를 가지는 구조적인 LDPC 부호를 복호하는 방법에 있어서, 신호를 수신하는 과정과, 복호할 상기 LDPC 부호의 길이에 상응하게 적정한 패리티 검사 행렬을 결정하고, 상기 결정된 패리티 검사 행렬에 상응하게 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 과정을 포함한다.Another embodiment of the present invention for achieving the above object is a method for decoding a structural LDPC code having a variable length, parity check appropriate to the process of receiving a signal, the length of the LDPC code to be decoded Determining a matrix, and decoding the received signal according to the determined parity check matrix to detect the matrix by the LDPC code.

상기의 목적들을 달성하기 위한 본 발명의 또 다른 실시 예는 가변 길이를 가지는 상기 LDPC 부호를 복호하는 장치에 있어서, 신호를 수신하는 수신기와, 상기 수신된 신호를 미리 설정되어 있는 복조 방식으로 복조하여 출력하는 변조기와, 변조기로부터 출력된 신호를 복호할 상기 LDPC 부호의 길이에 상응하게 제1패리티 검사 행렬 혹은 제2패리티 검사 행렬을 사용할지를 결정하고, 상기 결정된 패리티 검사 행렬에 상응하게 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 복호기를 포함한다.Another embodiment of the present invention for achieving the above object is in the apparatus for decoding the LDPC code having a variable length, a receiver for receiving a signal, and the received signal by demodulating in a predetermined demodulation scheme A modulator for outputting and determining whether to use a first parity check matrix or a second parity check matrix corresponding to the length of the LDPC code to decode the signal output from the modulator, and determine the received signal according to the determined parity check matrix. And a decoder for decoding and detecting with the LDPC code.

이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발 명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.In the present invention operating as described in detail above, the effects obtained by the representative of the disclosed invention are briefly described as follows.

본 발명은 LDPC 부호를 사용하는 통신 시스템에서 주어진 패리티 검사 행렬의 정보를 이용해서 블록 길이가 다른 별도의 LDPC 부호를 생성할 수 있다. 특히 본 발명은 하나의 패리티 검사 행렬로부터 다양한 블록 길이를 가지는 LDPC 부호를 지원할 수 있기 때문에 LDPC 부호의 다양한 블록 길이를 지원해야 하는 시스템에서 효율적으로 패리티 검사 행렬의 정보를 저장할 수 있어 시스템의 확장에 용이하다. The present invention can generate a separate LDPC code having a different block length by using information of a given parity check matrix in a communication system using an LDPC code. In particular, since the present invention can support LDPC codes having various block lengths from one parity check matrix, it is possible to efficiently store information of the parity check matrix in a system that needs to support various block lengths of LDPC codes, thereby facilitating system expansion. Do.

본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that in the following description, only parts necessary for understanding the operation according to the present invention will be described, and descriptions of other parts will be omitted so as not to distract from the gist of the present invention.

본 발명은 특정 형태의 구조적인 LDPC 부호의 패리티 검사 행렬을 이용하여 다양한 블록 길이를 가지는 LDPC 부호를 지원하는 방법을 제안한다. 또한, 본 발명은 특정 형태의 LDPC 부호를 사용하는 통신 시스템에서 가변 블록 길이를 지원하는 장치 및 그 제어 방법을 제안한다. 특히 본 발명은 주어진 LDPC 부호의 패리티 검사 행렬을 이용하여 그보다 작거나 큰 LDPC 부호를 생성하는 방법 및 그 장치를 제안한다. The present invention proposes a method for supporting LDPC codes having various block lengths by using a parity check matrix of a specific type of structural LDPC code. In addition, the present invention proposes an apparatus supporting a variable block length in a communication system using a specific type of LDPC code and a control method thereof. In particular, the present invention proposes a method and apparatus for generating an LDPC code smaller or larger using a parity check matrix of a given LDPC code.

도 4는 LDPC 부호를 사용하는 통신 시스템의 블록도(block diagram)이다.4 is a block diagram of a communication system using an LDPC code.

도 4를 참조하면, 메시지

Figure 112007076930680-PAT00109
는 전송되기 전에 송신기(410)의 LDPC 부호화 기(encoder)(411)를 통해 부호화되고, 변조기(Modulator)(413)에 의해 변조되어 무선 채널(420)을 통해 전송된다. 그러면, 수신기(430)의 복조기(Demodulator)(431)에 의해 복조된 신호는 LDPC 복호기(Decoder)(433)가 채널을 통해 받은 데이터를 통해 메시지의 추정치(estimate)
Figure 112007076930680-PAT00110
를 추정해낸다. 4, the message
Figure 112007076930680-PAT00109
Is encoded through the LDPC encoder 411 of the transmitter 410 before being transmitted, and is modulated by the modulator 413 and transmitted through the wireless channel 420. Then, the signal demodulated by the demodulator 431 of the receiver 430 is estimated by the LDPC decoder 433 through the data received through the channel.
Figure 112007076930680-PAT00110
Estimate

상기 LDPC 부호화기(411)는 미리 설정되어 있는 방식으로부터 통신 시스템에서 요구하는 블록 길이에 맞게 패리티 검사 행렬을 생성한다. 특히, 본 발명에서 LDPC 부호화기(411)는 LDPC 부호를 이용하여 별도의 추가적인 저장 정보의 필요가 없으면서 다양한 블록 길이를 지원할 수 있다. 상기 다양한 블록 길이를 지원하기 위한 LDPC 부호화기의 구체적인 동작방법을 하기에서 부호화 방법 설명과 함께 상세히 설명하기로 한다.The LDPC encoder 411 generates a parity check matrix according to the block length required by the communication system from a preset method. In particular, in the present invention, the LDPC encoder 411 may support various block lengths without the need for additional additional storage information by using the LDPC code. A detailed operation method of the LDPC encoder for supporting the various block lengths will be described in detail with the encoding method description below.

그러면, 본 발명에 따른 가변 길이를 가지는 구조적인 LDPC 부호화 방법을 설명하기로 한다. Next, a structural LDPC encoding method having a variable length according to the present invention will be described.

본 발명의 부호화 방법은 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하여, 요구되는 LDPC 부호의 블록 길이에 상응하는 제 2 패리티 검사 행렬 생성하고, 상기 제 1 패리티 검사 행렬 또는 새로 생성된 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정으로 구성된다.The encoding method of the present invention detects stored first parity check matrix information, generates a second parity check matrix corresponding to a block length of a required LDPC code, and generates the first parity check matrix or a newly generated second parity. It consists of a process of encoding based on one of the test matrices.

그러면, 우선 저장되어 있는 패리티 검사 행렬로부터 가변 블록 길이에 상응하는 패리티 검사 행렬을 생성하는 과정을 살펴보기로 한다.First, a process of generating a parity check matrix corresponding to the variable block length from the stored parity check matrix will be described.

종래의 패리티 검사 행렬의 설계 규칙에 따르면, 상기 LDPC 부호의 구조는

Figure 112007076930680-PAT00111
개의 열 단위로 그룹화하는 과정과, 각 열 그룹의 첫 번째 열의 차수와 1의 위치에 의해 상기 LDPC 부호의 모든 특성이 결정된다. 따라서, 상기 LDPC 부호로부터 다른 블록 길이를 가지는 LDPC 부호를 지원하기 위해서는 주어진 패리티 검사 행렬로부터 새롭게 그룹화하는 과정과, 상기 그룹화 과정을 통해서 새롭게 얻어진 열 그룹의 첫 번째 열의 1의 위치만 결정하면 충분하다. According to a conventional parity check matrix design rule, the structure of the LDPC code is
Figure 112007076930680-PAT00111
All characteristics of the LDPC code are determined by the grouping process into four column units and the order of the first column of each column group and the position of 1. Accordingly, in order to support LDPC codes having different block lengths from the LDPC codes, it is sufficient to determine only the position of the first column of the first column group newly obtained through the grouping process and the grouping process newly given from the parity check matrix.

본 발명은 종래 기술의 규칙에서 설명한 상기 LDPC 부호로부터 다른 블록 길이를 가지는 LDPC 부호를 지원하는 방법을 제안한다.The present invention proposes a method for supporting an LDPC code having a different block length from the LDPC code described in the rules of the prior art.

도 5는 본 발명의 실시 예에 따른 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 다른 블록 길이를 가지는 LDPC 부호를 생성하기 위한 흐름도이다.5 is a flowchart for generating an LDPC code having a different block length from a parity check matrix of an stored LDPC code according to an embodiment of the present invention.

설명의 편의를 위해 상기 LDPC 부호로부터 새롭게 지원하고자 하는 LDPC 부호의 부호어의 길이를

Figure 112007076930680-PAT00112
, 정보어의 길이는
Figure 112007076930680-PAT00113
, 패리티의 길이는
Figure 112007076930680-PAT00114
라 하자. 여기서
Figure 112007076930680-PAT00115
Figure 112007076930680-PAT00116
는 각각
Figure 112007076930680-PAT00117
Figure 112007076930680-PAT00118
의 약수이며,
Figure 112007076930680-PAT00119
를 만족한다. 새롭게 설계한 상기 LDPC 부호의 패리티 검사 행렬을 제 2패리티 검사 행렬
Figure 112007076930680-PAT00120
라 하자. For convenience of description, the length of the codeword of the LDPC code to be newly supported from the LDPC code
Figure 112007076930680-PAT00112
, The length of the information word
Figure 112007076930680-PAT00113
, The length of parity
Figure 112007076930680-PAT00114
Let's do it. here
Figure 112007076930680-PAT00115
Wow
Figure 112007076930680-PAT00116
Are each
Figure 112007076930680-PAT00117
and
Figure 112007076930680-PAT00118
Is a divisor of
Figure 112007076930680-PAT00119
Satisfies. A second parity check matrix of the newly designed parity check matrix of the LDPC code
Figure 112007076930680-PAT00120
Let's do it.

도 5를 참조하면, 510 단계에서 LDPC 부호화기는 저장되어 있는 패리티 검사 행렬

Figure 112007076930680-PAT00121
을 검출해낸다. 그리고, 520 단계에서 LDPC 부호화기는 하기의 <규칙 3>에서와 같이 필요한 LDPC 부호의 블록 길이를 확인한 후, 그에 상응하는
Figure 112007076930680-PAT00122
를 결정한다.Referring to FIG. 5, in step 510, an LDPC coder stores a parity check matrix.
Figure 112007076930680-PAT00121
Will be detected. In operation 520, the LDPC encoder checks the block length of the required LDPC code as shown in Rule 3 below.
Figure 112007076930680-PAT00122
Determine.

<규칙 3> :

Figure 112007076930680-PAT00123
로 정의한다. 패리티 검사 행렬에서 정보어에 해당 하는
Figure 112007076930680-PAT00124
개의 열을
Figure 112007076930680-PAT00125
개씩 그룹화하여 총
Figure 112007076930680-PAT00126
개의 열 그룹을 만든다.
Figure 112007076930680-PAT00127
의 값은 상기 규칙 1과 2에서 설명한 패리티 검사 행렬
Figure 112007076930680-PAT00128
에 대한 열 그룹의 개수
Figure 112007076930680-PAT00129
와 동일한 수가 되며, 하기의 <수학식 7>과 같이
Figure 112007076930680-PAT00130
또한 동일함을 알 수 있다. <Rule 3>:
Figure 112007076930680-PAT00123
Defined as Corresponds to the information word in the parity check matrix
Figure 112007076930680-PAT00124
Columns
Figure 112007076930680-PAT00125
Group by dog
Figure 112007076930680-PAT00126
Create a group of columns
Figure 112007076930680-PAT00127
Is the parity check matrix described in rules 1 and 2 above.
Figure 112007076930680-PAT00128
The number of column groups for
Figure 112007076930680-PAT00129
And the same number as in <Equation 7>
Figure 112007076930680-PAT00130
It can also be seen that the same.

Figure 112007076930680-PAT00131
.
Figure 112007076930680-PAT00131
.

그런후, 540 단계에서 LDPC 부호화기는 하기의 <규칙 4>를 적용하여 LDPC 부호의 패리티 검사 행렬에서 정보어에 대응되는 부분 행렬을 구성한다.Then, in step 540, the LDPC coder configures a partial matrix corresponding to the information word in the parity check matrix of the LDPC code by applying the following <Rule 4>.

<규칙 4> : 상기 <수학식 2>에 나타낸

Figure 112007076930680-PAT00132
에서의 1의 위치와 상기
Figure 112007076930680-PAT00133
Figure 112007076930680-PAT00134
를 이용하여 새롭게 생성할 패리티 검사 행렬
Figure 112007076930680-PAT00135
에서의
Figure 112007076930680-PAT00136
번째 열 그룹 내의
Figure 112007076930680-PAT00137
Figure 112007076930680-PAT00138
번째 열에서 1이 있는 행의 위치
Figure 112007076930680-PAT00139
Figure 112007076930680-PAT00140
는 하기의 <수학식 8>과 같이 정의된다. <Rule 4>: shown in Equation 2 above
Figure 112007076930680-PAT00132
Position of 1 and in
Figure 112007076930680-PAT00133
And
Figure 112007076930680-PAT00134
Parity check matrix to be generated using
Figure 112007076930680-PAT00135
In
Figure 112007076930680-PAT00136
Within the first column group
Figure 112007076930680-PAT00137
Figure 112007076930680-PAT00138
Position of row with 1 in the first column
Figure 112007076930680-PAT00139
Figure 112007076930680-PAT00140
Is defined as in Equation 8 below.

Figure 112007076930680-PAT00141
Figure 112007076930680-PAT00142
와 에 대해서,
Figure 112007076930680-PAT00141
Figure 112007076930680-PAT00142
For and

Figure 112007076930680-PAT00143
,
Figure 112007076930680-PAT00144
,
Figure 112007076930680-PAT00143
,
Figure 112007076930680-PAT00144
,

Figure 112007076930680-PAT00145
.
Figure 112007076930680-PAT00145
.

540 단계에서 LDPC 부호화기는 하기의 <규칙 5>를 적용하여 LDPC 부호의 패 리티 검사 행렬에서 패리티에 대응되는 부분 행렬을 구성한다.In step 540, the LDPC encoder configures a partial matrix corresponding to parity in the parity check matrix of the LDPC code by applying the following <Rule 5>.

<규칙 5> : 패리티 검사 행렬에서 패리티 부분에 해당하는 부분, 즉,

Figure 112007076930680-PAT00146
번째 열부터
Figure 112007076930680-PAT00147
번째 열까지의 구조는 이중 대각(dual diagonal) 형태가 되도록 설정한다. 즉, 패리티 부분에 해당하는 열의 차수 분포는 마지막 열이 1임을 제외하고 모두 2를 가진다. Rule 5. The parity part of the parity check matrix, that is,
Figure 112007076930680-PAT00146
From the first column
Figure 112007076930680-PAT00147
The structure up to the first column is set to have a dual diagonal shape. That is, the order distribution of the column corresponding to the parity portion has all 2 except that the last column is 1.

상술한 바와 같이 <규칙 3>, <규칙 4> 및 <규칙 5>를 이용하여 만든 제 2패리티 검사 행렬

Figure 112007076930680-PAT00148
는 종래의 <규칙 1>, <규칙 2>를 이용하여 만든
Figure 112007076930680-PAT00149
의 정보를 그대로 사용하여 설계하였기 때문에
Figure 112007076930680-PAT00150
의 저장을 위해 별도의 메모리가 필요하지 않다. 즉,
Figure 112007076930680-PAT00151
의 정보만 가지고 있으면
Figure 112007076930680-PAT00152
를 생성한 후 LDPC 부호화기에 적용하여 LDPC 부호어를 생성할 수 있다. As described above, the second parity check matrix created by using <Rule 3>, <Rule 4>, and <Rule 5>.
Figure 112007076930680-PAT00148
Is made using the conventional <Rule 1> and <Rule 2>
Figure 112007076930680-PAT00149
Because it was designed using the information of
Figure 112007076930680-PAT00150
No extra memory is needed for storage. In other words,
Figure 112007076930680-PAT00151
If you only have information from
Figure 112007076930680-PAT00152
LDPC codewords may be generated by generating the LPC coder and applying it to the LDPC encoder.

그러면, 다음으로 본 발명에서 제안한 방법을 통하여 이루어지는 새로운 LDPC 부호의 부호화 과정을 하기에 자세히 설명한다. Next, a new LDPC code encoding process performed by the method proposed by the present invention will be described in detail below.

먼저 설명의 편의를 위해서 생성하고자 하는 새로운 LDPC 부호에 대한 블록 길이는

Figure 112007076930680-PAT00153
, 정보어의 길이가
Figure 112007076930680-PAT00154
라고 가정하자. 이에 따라
Figure 112007076930680-PAT00155
이므로 상기
Figure 112007076930680-PAT00156
의 정의에 의해서
Figure 112007076930680-PAT00157
이 되며,
Figure 112007076930680-PAT00158
으로 고정된다. First of all, for convenience of description, the block length for the new LDPC code
Figure 112007076930680-PAT00153
, The length of the information word
Figure 112007076930680-PAT00154
Suppose Accordingly
Figure 112007076930680-PAT00155
Since the above
Figure 112007076930680-PAT00156
By the definition of
Figure 112007076930680-PAT00157
Will be
Figure 112007076930680-PAT00158
Is fixed.

단계 1 : 패리티 비트들을 초기화(

Figure 112007076930680-PAT00159
)한다. Step 1 : Initialize the parity bits
Figure 112007076930680-PAT00159
)do.

단계 2 : 저장되어 있는 패리티 검사 행렬(

Figure 112007076930680-PAT00160
)의 정보로부터 하기와 같은 첫 번째 열 그룹 내에서 첫 번째 열의 1이 위치한 행의 정보를 호출한다. Step 2 : Save the parity check matrix (
Figure 112007076930680-PAT00160
Call the information of the row where 1 of the first column is located within the first group of columns as shown below.

Figure 112007076930680-PAT00161
,
Figure 112007076930680-PAT00162
,
Figure 112007076930680-PAT00163
,
Figure 112007076930680-PAT00164
,
Figure 112007076930680-PAT00165
,
Figure 112007076930680-PAT00161
,
Figure 112007076930680-PAT00162
,
Figure 112007076930680-PAT00163
,
Figure 112007076930680-PAT00164
,
Figure 112007076930680-PAT00165
,

Figure 112007076930680-PAT00166
,
Figure 112007076930680-PAT00167
,
Figure 112007076930680-PAT00168
,
Figure 112007076930680-PAT00169
,
Figure 112007076930680-PAT00170
,
Figure 112007076930680-PAT00166
,
Figure 112007076930680-PAT00167
,
Figure 112007076930680-PAT00168
,
Figure 112007076930680-PAT00169
,
Figure 112007076930680-PAT00170
,

Figure 112007076930680-PAT00171
,
Figure 112007076930680-PAT00172
,
Figure 112007076930680-PAT00173
.
Figure 112007076930680-PAT00171
,
Figure 112007076930680-PAT00172
,
Figure 112007076930680-PAT00173
.

단계 3 : 상기 규칙 4를 적용하여

Figure 112007076930680-PAT00174
,
Figure 112007076930680-PAT00175
로부터 다음과 같이
Figure 112007076930680-PAT00176
값을 구한다. Step 3: Apply Rule 4 above
Figure 112007076930680-PAT00174
,
Figure 112007076930680-PAT00175
From
Figure 112007076930680-PAT00176
Find the value.

Figure 112007076930680-PAT00177
,
Figure 112007076930680-PAT00178
,
Figure 112007076930680-PAT00177
,
Figure 112007076930680-PAT00178
,

Figure 112007076930680-PAT00179
,
Figure 112007076930680-PAT00180
,
Figure 112007076930680-PAT00181
,
Figure 112007076930680-PAT00182
,
Figure 112007076930680-PAT00183
,
Figure 112007076930680-PAT00179
,
Figure 112007076930680-PAT00180
,
Figure 112007076930680-PAT00181
,
Figure 112007076930680-PAT00182
,
Figure 112007076930680-PAT00183
,

Figure 112007076930680-PAT00184
,
Figure 112007076930680-PAT00185
,
Figure 112007076930680-PAT00186
,
Figure 112007076930680-PAT00187
,
Figure 112007076930680-PAT00188
,
Figure 112007076930680-PAT00184
,
Figure 112007076930680-PAT00185
,
Figure 112007076930680-PAT00186
,
Figure 112007076930680-PAT00187
,
Figure 112007076930680-PAT00188
,

Figure 112007076930680-PAT00189
,
Figure 112007076930680-PAT00190
,
Figure 112007076930680-PAT00191
.
Figure 112007076930680-PAT00189
,
Figure 112007076930680-PAT00190
,
Figure 112007076930680-PAT00191
.

상기 정보와

Figure 112007076930680-PAT00192
를 이용하여 다음 <수학식 9>와 같이 특정
Figure 112007076930680-PAT00193
들을 업데이트 한다. (여기서
Figure 112007076930680-PAT00194
는 각각의
Figure 112007076930680-PAT00195
Figure 112007076930680-PAT00196
값을 의미한다.)With the above information
Figure 112007076930680-PAT00192
By using Equation 9
Figure 112007076930680-PAT00193
Update them. (here
Figure 112007076930680-PAT00194
Is each
Figure 112007076930680-PAT00195
Figure 112007076930680-PAT00196
Value)

Figure 112007076930680-PAT00197
Figure 112007076930680-PAT00198
Figure 112007076930680-PAT00199
, , ,
Figure 112007076930680-PAT00197
Figure 112007076930680-PAT00198
Figure 112007076930680-PAT00199
,,,

Figure 112007076930680-PAT00200
,
Figure 112007076930680-PAT00201
,
Figure 112007076930680-PAT00202
,
Figure 112007076930680-PAT00200
,
Figure 112007076930680-PAT00201
,
Figure 112007076930680-PAT00202
,

Figure 112007076930680-PAT00203
,
Figure 112007076930680-PAT00204
,
Figure 112007076930680-PAT00205
,
Figure 112007076930680-PAT00203
,
Figure 112007076930680-PAT00204
,
Figure 112007076930680-PAT00205
,

Figure 112007076930680-PAT00206
,
Figure 112007076930680-PAT00207
,
Figure 112007076930680-PAT00208
,
Figure 112007076930680-PAT00206
,
Figure 112007076930680-PAT00207
,
Figure 112007076930680-PAT00208
,

Figure 112007076930680-PAT00209
. (
Figure 112007076930680-PAT00210
는 이진(binary) 덧셈을 의미함.)
Figure 112007076930680-PAT00209
. (
Figure 112007076930680-PAT00210
Means binary addition.)

단계 4:

Figure 112007076930680-PAT00211
이후의 다음 89개의 정보어 비트
Figure 112007076930680-PAT00212
,
Figure 112007076930680-PAT00213
, ...,
Figure 112007076930680-PAT00214
에 대해서 먼저 다음 <수학식 10>을 구한다. Step 4:
Figure 112007076930680-PAT00211
The next 89 information word bits
Figure 112007076930680-PAT00212
,
Figure 112007076930680-PAT00213
, ...,
Figure 112007076930680-PAT00214
First, the following <Equation 10> is obtained.

Figure 112007076930680-PAT00215
Figure 112007076930680-PAT00216
Figure 112007076930680-PAT00217
, , .
Figure 112007076930680-PAT00215
Figure 112007076930680-PAT00216
Figure 112007076930680-PAT00217
,,.

상기 <수학식 10>에서

Figure 112007076930680-PAT00218
는 각각의
Figure 112007076930680-PAT00219
Figure 112007076930680-PAT00220
값을 의미한다. 상기 <수학식 10>은 <수학식 2>와 동일한 개념의 수식임에 유의한다. In Equation 10 above
Figure 112007076930680-PAT00218
Is each
Figure 112007076930680-PAT00219
Figure 112007076930680-PAT00220
It means the value. It is noted that Equation 10 is an equation having the same concept as Equation 2.

다음으로 상기 <수학식 10>에서 구한 값을 이용하여 <수학식 9>와 같은 작업을 수행한다. 즉,

Figure 112007076930680-PAT00221
에 대해서
Figure 112007076930680-PAT00222
를 업데이트한다. 예를 들어
Figure 112007076930680-PAT00223
, 즉,
Figure 112007076930680-PAT00224
에 대해서 다음 <수학식 11>과 같이 특정
Figure 112007076930680-PAT00225
들을 업데이트 한다. Next, using the value obtained in Equation 10, the same operation as in Equation 9 is performed. In other words,
Figure 112007076930680-PAT00221
about
Figure 112007076930680-PAT00222
Update it. E.g
Figure 112007076930680-PAT00223
, In other words,
Figure 112007076930680-PAT00224
Regarding the specific as shown in Equation 11
Figure 112007076930680-PAT00225
Update them.

Figure 112007076930680-PAT00226
Figure 112007076930680-PAT00227
Figure 112007076930680-PAT00228
, , ,
Figure 112007076930680-PAT00226
Figure 112007076930680-PAT00227
Figure 112007076930680-PAT00228
,,,

Figure 112007076930680-PAT00229
,
Figure 112007076930680-PAT00230
,
Figure 112007076930680-PAT00231
,
Figure 112007076930680-PAT00229
,
Figure 112007076930680-PAT00230
,
Figure 112007076930680-PAT00231
,

Figure 112007076930680-PAT00232
,
Figure 112007076930680-PAT00233
,
Figure 112007076930680-PAT00234
,
Figure 112007076930680-PAT00232
,
Figure 112007076930680-PAT00233
,
Figure 112007076930680-PAT00234
,

Figure 112007076930680-PAT00235
,
Figure 112007076930680-PAT00236
,
Figure 112007076930680-PAT00237
,
Figure 112007076930680-PAT00235
,
Figure 112007076930680-PAT00236
,
Figure 112007076930680-PAT00237
,

Figure 112007076930680-PAT00238
. (
Figure 112007076930680-PAT00239
는 이진(binary) 덧셈을 의미함.)
Figure 112007076930680-PAT00238
. (
Figure 112007076930680-PAT00239
Means binary addition.)

상기 <수학식 11>의 경우에는

Figure 112007076930680-PAT00240
임에 유의한다. 위와 같은 과정을
Figure 112007076930680-PAT00241
에 대해서 마찬가지로 진행한다. In the case of Equation 11
Figure 112007076930680-PAT00240
Note that Same process as above
Figure 112007076930680-PAT00241
Proceed similarly for.

단계 5: 상기 단계 3과 마찬가지로 91번째 정보어 비트

Figure 112007076930680-PAT00242
에 대해서
Figure 112007076930680-PAT00243
, (
Figure 112007076930680-PAT00244
)의 정보를 호출하고
Figure 112007076930680-PAT00245
를 계산하고 특정
Figure 112007076930680-PAT00246
를 업데이트 한다. (여기서
Figure 112007076930680-PAT00247
Figure 112007076930680-PAT00248
를 의미한다.)
Figure 112007076930680-PAT00249
이후의 다음 89개의 정보어 비트
Figure 112007076930680-PAT00250
,
Figure 112007076930680-PAT00251
, ...,
Figure 112007076930680-PAT00252
에 대해서 <수학식 10>을 적용하여
Figure 112007076930680-PAT00253
,
Figure 112007076930680-PAT00254
들을 업데이트한다. 모든 각각의 90개의 정보어 비트 그룹에 대해서 상기 단계 2, 3, 4의 과정을 반복한다. Step 5: 91st information word bit as in Step 3 above
Figure 112007076930680-PAT00242
about
Figure 112007076930680-PAT00243
, (
Figure 112007076930680-PAT00244
Call the information in
Figure 112007076930680-PAT00245
Calculate and specific
Figure 112007076930680-PAT00246
Update (here
Figure 112007076930680-PAT00247
Is
Figure 112007076930680-PAT00248
Means.)
Figure 112007076930680-PAT00249
The next 89 information word bits
Figure 112007076930680-PAT00250
,
Figure 112007076930680-PAT00251
, ...,
Figure 112007076930680-PAT00252
Applying Equation 10 for
Figure 112007076930680-PAT00253
,
Figure 112007076930680-PAT00254
Update them. Repeat steps 2, 3 and 4 for all 90 groups of information words.

단계 6: 최종적으로 다음 <수학식 12>를 통해서 패리티 비트를 결정한다. Step 6: Finally, the parity bit is determined through Equation 12.

Figure 112007076930680-PAT00255
Figure 112007076930680-PAT00256
, .
Figure 112007076930680-PAT00255
Figure 112007076930680-PAT00256
,.

상기 <수학식 12>의

Figure 112007076930680-PAT00257
들이 LDPC 부호화가 완료된 패리티 비트들이다. Of Equation 12
Figure 112007076930680-PAT00257
These are parity bits for which LDPC encoding is completed.

한편, 상기 단계 3에서

Figure 112007076930680-PAT00258
로부터
Figure 112007076930680-PAT00259
를 구하는 과정을 살펴보면
Figure 112007076930680-PAT00260
이므로, 하기의 <수학식 13>이 성립하게 된다. On the other hand, in step 3
Figure 112007076930680-PAT00258
from
Figure 112007076930680-PAT00259
Looking at the process of obtaining
Figure 112007076930680-PAT00260
Therefore, Equation 13 below is established.

Figure 112007076930680-PAT00261
Figure 112007076930680-PAT00261

따라서, 상기 단계 3, 단계 4 단계 5

Figure 112007076930680-PAT00262
를 구하는 별도의 과정 없이 다음과 같이 하나의 단계로 정리하여 표현할 수도 있다. Thus, step 3 , step 4 and step 5
Figure 112007076930680-PAT00262
Without a separate process to obtain the can be expressed in a single step as follows.

단계 3, 4, 5의 결합: Combination of steps 3, 4 and 5 :

Figure 112007076930680-PAT00263
, ,
Figure 112007076930680-PAT00265
에 대해서 <수학식 14>와 같이
Figure 112007076930680-PAT00266
를 업데이트한다.
Figure 112007076930680-PAT00263
, ,
Figure 112007076930680-PAT00265
As for <Equation 14>
Figure 112007076930680-PAT00266
Update it.

Figure 112007076930680-PAT00267
Figure 112007076930680-PAT00267

상기 <수학식 14>에서

Figure 112007076930680-PAT00268
,
Figure 112007076930680-PAT00269
이다. In Equation 14 above
Figure 112007076930680-PAT00268
,
Figure 112007076930680-PAT00269
to be.

상술한 바와 같은 LDPC 부호화 방식의 실시 예는 매우 제한적인 경우이며, 상기 LDPC 부호의 패리티 검사 행렬의 생성 규칙에 의거하여 다양한 패리티 검사 행렬을 생성할 수 있다. The above-described embodiments of the LDPC encoding scheme are very limited, and various parity check matrices may be generated based on a generation rule of the parity check matrix of the LDPC code.

상기 부호화 방식은 제 1 패리티 검사행렬로부터 새롭게 생성하고자 하는 LDPC 부호에 대해 단축(shortening)과 천공(puncturing)을 적용하지 않은 방법으로서, 새롭게 생성된 제 2 패리티 검사행렬에서 부호율이나 열과 행의 차수 분포 등과 같은 부호의 대수적 특성이 제 1 패리티 검사행렬과 동일하다. 따라서, 제 1 패리티 검사행렬로부터 부호의 대수적 특성이 다른 부호를 얻기 위해서는 생성된 제 2 패리티 검사 행렬에 단축을 적용한 뒤에 상기 부호화 방식을 적용하여 얻은 LDPC 부호어 일부에 천공을 적용하는 방법이 있다. The coding scheme is a method in which shortening and puncturing are not applied to an LDPC code to be newly generated from a first parity check matrix. The code rate or the order of columns and rows in the newly generated second parity check matrix is applied. The algebraic characteristic of the sign, such as distribution, is the same as the first parity check matrix. Accordingly, in order to obtain a code having a different algebraic characteristic from a first parity check matrix, a shortening is applied to a generated second parity check matrix and then a puncturing is applied to a part of the LDPC codeword obtained by applying the coding scheme.

제 1 패리티 검사행렬로부터 상기 <규칙 3>, <규칙 4>, <규칙 5> 등을 이용하여 얻은 제 2 패리티 검사 행렬에 단축과 천공을 적용하여 서로 다른 대수적 특성을 가지는 LDPC 부호를 얻는 방법을 자세히 설명한다. A method of obtaining an LDPC code having different algebraic characteristics by applying shortening and puncturing from a first parity check matrix to a second parity check matrix obtained by using the above <Rule 3>, <Rule 4>, <Rule 5>, etc. Explain in detail.

먼저 설명의 편의를 위해서 <규칙 1>과 <규칙 2>에서 나타낸 DVB-S2 LDPC 부호의 패리티 검사행렬에 해당하는 제 1 패리티 검사 행렬의 블록 길이, 정보어 길이 및 그룹화 변수를 각각

Figure 112007076930680-PAT00270
,
Figure 112007076930680-PAT00271
,
Figure 112007076930680-PAT00272
이라 하자. 그러면 <규칙 3>, <규칙 4>, <규칙 5>에 의거하여 제 1 패리티 검사행렬로부터 블록 길이, 정보어 길이 및 그룹화 변수가
Figure 112007076930680-PAT00273
,
Figure 112007076930680-PAT00274
,
Figure 112007076930680-PAT00275
인 제 2 패리티 검사행렬을 얻을 수 있었다. 이 때 새롭게 생성된 상기 제 2 패리티 검사행렬 자체는 부호율이나 열과 행의 차수 분포 등과 같은 부호의 대수적 특성이 제 1 패리티 검사행렬과 동일함에 유의한다.For convenience of description, the block length, information word length, and grouping variables of the first parity check matrix corresponding to the parity check matrix of the DVB-S2 LDPC codes shown in <Rule 1> and <Rule 2> are respectively shown.
Figure 112007076930680-PAT00270
,
Figure 112007076930680-PAT00271
,
Figure 112007076930680-PAT00272
Let's say Then, according to <Rule 3>, <Rule 4>, and <Rule 5>, the block length, information word length and grouping variables are derived from the first parity check matrix.
Figure 112007076930680-PAT00273
,
Figure 112007076930680-PAT00274
,
Figure 112007076930680-PAT00275
A second parity check matrix can be obtained. In this case, it is noted that the newly generated second parity check matrix itself has the same algebraic characteristic as the first parity check matrix, such as a code rate or a distribution of orders of columns and rows.

이제 최종적으로 얻고자하는 LDPC 부호의 블록 길이와 정보어 길이를 각각

Figure 112007076930680-PAT00276
,
Figure 112007076930680-PAT00277
이라하자. 만일
Figure 112007076930680-PAT00278
,
Figure 112007076930680-PAT00279
라고 정의하면, 제 2 패리티 검사행렬에서
Figure 112007076930680-PAT00280
비트만큼 단축을 취하고,
Figure 112007076930680-PAT00281
비트만큼 천공을 취하면 블록 길이와 정보어 길이를 각각
Figure 112007076930680-PAT00282
,
Figure 112007076930680-PAT00283
인 상기 LDPC 부호를 얻을 수 있다. 이렇게 생성된 상기 LDPC 부호는
Figure 112007076930680-PAT00284
또는
Figure 112007076930680-PAT00285
일 때, 부호율이
Figure 112007076930680-PAT00286
가 되어 일반적으로 제 2 패리티 검사행렬의 부호율
Figure 112007076930680-PAT00287
와는 다르게 되므로 대수적 특성이 변하게 된다.
Figure 112007076930680-PAT00288
인 경우에는 단축이나 천공을 적용하지 않는 경우에 해당된다. Now, finally, the block length and the information word length of the LDPC code
Figure 112007076930680-PAT00276
,
Figure 112007076930680-PAT00277
Let's say if
Figure 112007076930680-PAT00278
,
Figure 112007076930680-PAT00279
Is defined in the second parity check matrix
Figure 112007076930680-PAT00280
Shorten by a bit,
Figure 112007076930680-PAT00281
If you drill a bit, you can set the block length
Figure 112007076930680-PAT00282
,
Figure 112007076930680-PAT00283
The above LDPC code can be obtained. The generated LDPC code is
Figure 112007076930680-PAT00284
or
Figure 112007076930680-PAT00285
When the code rate is
Figure 112007076930680-PAT00286
Is usually the code rate of the second parity check matrix.
Figure 112007076930680-PAT00287
Since it is different from, the algebraic characteristics change.
Figure 112007076930680-PAT00288
If is not applied to shortening or perforation.

그러면, 도 6을 참조하여, 제 1 패리티 검사행렬로서

Figure 112007076930680-PAT00289
,
Figure 112007076930680-PAT00290
,
Figure 112007076930680-PAT00291
,
Figure 112007076930680-PAT00292
의 특성을 가지는 DVB-S2 LDPC 부호를 이용하여 단축과 천공을 통하여 블록 길이가
Figure 112007076930680-PAT00293
이며, 정보어의 길이가
Figure 112007076930680-PAT00294
인 새로운 LDPC 부호를 생성하는 과정의 그 구체적인 예를 살펴보기로 한다.Then, referring to FIG. 6, as the first parity check matrix.
Figure 112007076930680-PAT00289
,
Figure 112007076930680-PAT00290
,
Figure 112007076930680-PAT00291
,
Figure 112007076930680-PAT00292
Block length is reduced by shortening and puncturing by using DVB-S2 LDPC code
Figure 112007076930680-PAT00293
The length of the information word
Figure 112007076930680-PAT00294
A specific example of the process of generating a new LDPC code will be described.

도 6을 참조하면, 610 단계에서 LDPC 부호화기는 저장되어 있는 패리티 검사 행렬

Figure 112007076930680-PAT00295
을 검출해낸다. 그리고, 620 단계에서 LDPC 부호화기는 상기의 <규칙 3>에서와 같이 필요한 LDPC 부호의 블록 길이를 확인한 후, 그에 상응하는
Figure 112007076930680-PAT00296
를 결정한다. 상기 620 단계에 의해 <규칙 3>에 의해
Figure 112007076930680-PAT00297
로 설정하고, 630 단계에서 단축과 천공의 필요 여부를 확인한다. 그리고, 우선 640 단계 및 650 단계에서 <규칙 4>, <규칙 5>로부터
Figure 112007076930680-PAT00298
,
Figure 112007076930680-PAT00299
인 LDPC 부호의 제 2 패리티 검사행렬을 생성할 수 있다. 이때 ,
Figure 112007076930680-PAT00300
,
Figure 112007076930680-PAT00301
이 성립하므로, 660 단계에서 제 2 패리티 검사행렬에 대해 1320 비트만큼 단축을 취하고 30 비트만큼 천공을 취하면 블록 길이가
Figure 112007076930680-PAT00302
이며, 정보어의 길이가
Figure 112007076930680-PAT00303
인 새로운 LDPC 부호를 생성할 수 있다. 참고로 상기 제 1 패리티 검사 행렬의 부호율은 4/9이며, 상기 제 2 패리티 검사행렬의 부호율은 4/15로서 서로 상이함을 알 수 있다. Referring to FIG. 6, in step 610, an LDPC encoder stores a parity check matrix.
Figure 112007076930680-PAT00295
Will be detected. In step 620, the LDPC encoder checks the block length of the required LDPC code as in <rule 3>, and then corresponds to the corresponding LDPC code.
Figure 112007076930680-PAT00296
Determine. According to Rule 3, step 620 above.
Figure 112007076930680-PAT00297
Set to, and check in step 630 whether shortening and perforation is necessary. First, in steps 640 and 650, from <rule 4> and <rule 5>,
Figure 112007076930680-PAT00298
,
Figure 112007076930680-PAT00299
A second parity check matrix of the LDPC code may be generated. At this time ,
Figure 112007076930680-PAT00300
,
Figure 112007076930680-PAT00301
Since this is true, in step 660, if the shortening is performed by 1320 bits and the puncturing by 30 bits for the second parity check matrix, the block length is increased.
Figure 112007076930680-PAT00302
The length of the information word
Figure 112007076930680-PAT00303
Can generate a new LDPC code. For reference, the code rate of the first parity check matrix is 4/9, and the code rate of the second parity check matrix is 4/15.

상기 제 2 패리티 검사행렬에 취하는 단축 방법으로서는 다양한 방법이 있을 수 있으며 한 가지 구체적인 방법을 예를 들면 다음과 같다. There may be various methods as a shortening method for the second parity check matrix, and one specific method is as follows.

<규칙 2>에 따르면 DVB-S2 LDPC 부호의 i번째 (i = 1,...,

Figure 112007076930680-PAT00304
)열 그룹의 각 0번째 열의 1의 위치에 의해서 해당 열 그룹의 모든 열의 1의 위치를 얻을 수 있다.
Figure 112007076930680-PAT00305
,
Figure 112007076930680-PAT00306
,
Figure 112007076930680-PAT00307
,
Figure 112007076930680-PAT00308
의 특성을 가지는 DVB-S2 LDPC 부호는 총 20개의 정보어 열 그룹에 대한 정보가 주어져 있으며, i 번째 (i = 1,2,....,20)열 그룹의 각 0번째 열의 1의 위치 정보는 다음과 같다: According to Rule 2, the i th (i = 1, ..., of the DVB-S2 LDPC code)
Figure 112007076930680-PAT00304
The position 1 of each column of a column group can be obtained by the position 1 of every column of the column group.
Figure 112007076930680-PAT00305
,
Figure 112007076930680-PAT00306
,
Figure 112007076930680-PAT00307
,
Figure 112007076930680-PAT00308
The DVB-S2 LDPC code has the characteristics of 20 groups of information word columns, and the position of 1 in each 0th column of the i th (i = 1,2, ...., 20) column group The information is as follows:

Figure 112007076930680-PAT00309
Figure 112007076930680-PAT00309

만일 상기 정보어 열 그룹에 대한 정보를 그대로 모두 사용하게 되면, <규칙 3>, <규칙 4>, <규칙 5>에 의해서

Figure 112007076930680-PAT00310
일 때, 정보어의 길이는
Figure 112007076930680-PAT00311
이 된다. 하지만, 위의 열 그룹에 대한 정보 중에서 다음과 같이 9 개의 정보어 열 그룹에 대한 정보만 사용한다고 가정하자. If all of the information on the information word sequence group is used as it is, the rule 3, rule 4 and rule 5
Figure 112007076930680-PAT00310
When the length of the information word is
Figure 112007076930680-PAT00311
Becomes However, suppose that only the information about the nine information column groups is used as the following.

Figure 112007076930680-PAT00312
Figure 112007076930680-PAT00312

상기 9 개의 정보어 열 그룹에 대한 정보만을 사용하여 <규칙 3>, <규칙 4>, <규칙 5>에 의해서

Figure 112007076930680-PAT00313
에 대해 패리티 검사행렬을 생성하면, 정보어의 길이는
Figure 112007076930680-PAT00314
이 되어, 사용하지 않은 11 개의 정보어 열 그룹에 대한 단축을 적용한 것과 동일한 효과를 얻을 수 있다. <Rule 3>, <Rule 4> and <Rule 5> using only the information on the nine groups of information words
Figure 112007076930680-PAT00313
If you create a parity check matrix for, the length of the information word is
Figure 112007076930680-PAT00314
As a result, the same effect as that of applying the shortening to the 11 unused groups of information words can be obtained.

상기 단축의 예는 열 그룹에 대한 단축의 예일 뿐이며, 비트 별 단축 등과 같은 다양한 단축 방법을 적용할 수 있다. The example of the shortening is merely an example of shortening for the column group, and various shortening methods such as bitwise shortening may be applied.

상기 천공 방법의 대표적인 예로서는 천공 비트 수를 라 하고, 새롭게 생성된 제 2 패리티 검사행렬에 대응되는 LDPC 부호의 패리티의 길이가 라 할 때, 패리티 비트에서 마다 1 비트 씩 천공하는 방법이 있으나, 이러한 방법 외에도 다양한 방법을 적용할 수 있다.A representative example of the puncturing method is a method of puncturing one bit per parity bit when the number of puncturing bits is called and the parity length of the LDPC code corresponding to the newly generated second parity check matrix is one. In addition, various methods can be applied.

도 1은 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예를 도시한 도면,1 is a diagram showing an example of a parity check matrix of an LDPC code having a length of 8;

도 2는 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예의 Tanner 그래프를 도시한 도면,2 is a Tanner graph of an example of a parity check matrix of an LDPC code having a length of 8;

도 3은 DVB-S2 LDPC 부호의 대략적인 구조도,3 is a schematic structural diagram of a DVB-S2 LDPC code;

도 4는 LDPC 부호를 사용하는 디지털 통신 시스템의 블록 구성도를 도시한 도면,4 is a block diagram of a digital communication system using an LDPC code;

도 5는 본 발명의 실시 예에 따른 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 다른 블록 길이를 가지는 LDPC 부호를 생성하기 위한 흐름도.5 is a flowchart for generating an LDPC code having a different block length from a parity check matrix of stored LDPC codes according to an embodiment of the present invention.

도 6은 본 발명의 다른 실시 예에 따른 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 단축과 천공을 결합하여 다른 블록 길이를 가지는 LDPC 부호를 생성하기 위한 흐름도.6 is a flowchart for generating an LDPC code having a different block length by combining shortening and puncturing from a parity check matrix of a stored LDPC code according to another embodiment of the present invention.

Claims (4)

가변 길이를 가지는 구조적인 LDPC 부호를 부호화하는 방법에 있어서, In the method for encoding a structural LDPC code having a variable length, 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과,Detecting stored first parity check matrix information; 요구되는 LDPC 부호의 블록 길이를 확인한 후, 정보어를 그룹화할 크기를 결정하는 과정과, Determining the size of grouping information words after checking the block length of the required LDPC code; 상기 LDPC 부호의 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과,Constructing a partial matrix corresponding to an information word of a second parity check matrix from the first parity check matrix of the LDPC code to correspond to the grouping size; LDPC 부호의 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과,Constructing a partial matrix corresponding to the parity of the second parity check matrix of the LDPC code; 상기 제 1 패리티 검사 행렬 또는 새로 생성된 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정으로 구성됨을 특징으로 하는 LDPC 부호의 부호화 방법.And encoding based on one of the first parity check matrix or the newly generated second parity check matrix. 가변 길이를 가지는 LDPC 부호를 부호화하는 장치에 있어서, In the apparatus for encoding an LDPC code having a variable length, 정보어를 상기 LDPC 부호어로 생성시 적용할 길이에 상응하게 적정한 패리티 검사 행렬을 결정하여 부호화함으로써 상기 LDPC 부호로 생성하는 부호화기와, An encoder for generating an LDPC code by determining and encoding an appropriate parity check matrix corresponding to a length to be applied when generating the LDPC codeword; 상기 LDPC 부호를 미리 설정되어 있는 변조 방식으로 변조하여 변조 심벌로 생성하는 변조기와, A modulator for modulating the LDPC code using a predetermined modulation scheme to generate a modulation symbol; 상기 변조 심벌을 송신하는 송신기 포함함을 특징으로 하는 부호화 장치.And a transmitter for transmitting the modulation symbol. 가변 길이를 가지는 구조적인 LDPC 부호를 복호하는 방법에 있어서, In the method of decoding a structural LDPC code having a variable length, 신호를 수신하는 과정과, Receiving a signal, 복호할 상기 LDPC 부호의 길이에 상응하게 적정한 패리티 검사 행렬을 결정하고, 상기 결정된 패리티 검사 행렬에 상응하게 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 과정을 포함함을 특징으로 하는 복호화 방법.And determining an appropriate parity check matrix corresponding to the length of the LDPC code to be decoded, and decoding the received signal according to the determined parity check matrix to detect the LDPC code as the LDPC code. 가변 길이를 가지는 상기 LDPC 부호를 복호하는 장치에 있어서, In the apparatus for decoding the LDPC code having a variable length, 신호를 수신하는 수신기와, A receiver receiving the signal, 상기 수신된 신호를 미리 설정되어 있는 복조 방식으로 복조하여 출력하는 변조기와, A modulator for demodulating and outputting the received signal in a predetermined demodulation scheme; 변조기로부터 출력된 신호를 복호할 상기 LDPC 부호의 길이에 상응하게 제1패리티 검사 행렬 혹은 제2패리티 검사 행렬을 사용할지를 결정하고, 상기 결정된 패리티 검사 행렬에 상응하게 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 복호기를 포함함을 특징으로 하는 복호화 장치.Determine whether to use a first parity check matrix or a second parity check matrix corresponding to the length of the LDPC code to decode the signal output from the modulator, and decode the received signal according to the determined parity check matrix to decode the LDPC code. And a decoder for detecting the decoder.
KR1020070108317A 2007-09-10 2007-10-26 Apparatus and method for channel encoding and decoding in communication system using variable-length ldpc codes KR101413783B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/208,316 US8261152B2 (en) 2007-09-10 2008-09-10 Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20070091452 2007-09-10
KR1020070091452 2007-09-10

Publications (2)

Publication Number Publication Date
KR20090026709A true KR20090026709A (en) 2009-03-13
KR101413783B1 KR101413783B1 (en) 2014-07-02

Family

ID=40694611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070108317A KR101413783B1 (en) 2007-09-10 2007-10-26 Apparatus and method for channel encoding and decoding in communication system using variable-length ldpc codes

Country Status (1)

Country Link
KR (1) KR101413783B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011071293A3 (en) * 2009-12-07 2011-11-10 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
KR20160070556A (en) * 2014-12-10 2016-06-20 삼성전자주식회사 Transmitter and signal processing method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018203725A1 (en) 2017-05-04 2018-11-08 Samsung Electronics Co., Ltd. A method and apparatus for channel encoding and decoding in a communication or broadcasting system
KR102302366B1 (en) * 2017-05-04 2021-09-16 삼성전자 주식회사 Apparatus and method for channel encoding/decoding in communication or broadcasting system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100955952B1 (en) 2003-10-13 2010-05-19 삼성전자주식회사 Method and apparatus for space-time coding using lifting low density parity check codes in a wireless communication system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011071293A3 (en) * 2009-12-07 2011-11-10 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
US8689093B2 (en) 2009-12-07 2014-04-01 Samsung Electronics Co., Ltd Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
US9525433B2 (en) 2009-12-07 2016-12-20 Samsung Electronics Co., Ltd Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
US10277249B2 (en) 2009-12-07 2019-04-30 Samsung Electronics Co., Ltd Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
US11043967B2 (en) 2009-12-07 2021-06-22 Samsung Electronics Co., Ltd Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
US11616514B2 (en) 2009-12-07 2023-03-28 Samsung Electronics Co., Ltd Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
KR20160070556A (en) * 2014-12-10 2016-06-20 삼성전자주식회사 Transmitter and signal processing method thereof
US10819467B2 (en) 2014-12-10 2020-10-27 Samsung Electronics Co., Ltd. Transmitter and signal processing method thereof
KR20210145089A (en) * 2014-12-10 2021-12-01 삼성전자주식회사 Transmitter and signal processing method thereof
US11343017B2 (en) 2014-12-10 2022-05-24 Samsung Electronics Co., Ltd. Transmitter and signal processing method thereof

Also Published As

Publication number Publication date
KR101413783B1 (en) 2014-07-02

Similar Documents

Publication Publication Date Title
US8261152B2 (en) Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes
JP5506878B2 (en) Parity check matrix generation method for low density parity check code
KR101503058B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101502623B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
US8495459B2 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
JP5436688B2 (en) Method and apparatus for generating parity check matrix and communication apparatus and method using the same in communication system using linear block code
KR20090095432A (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101481431B1 (en) Method for rearrange low-density parity-check matrix and apparatus using thereof
KR101503653B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101503656B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101413783B1 (en) Apparatus and method for channel encoding and decoding in communication system using variable-length ldpc codes
KR20090093778A (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101552355B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101192920B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101503654B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR20110048448A (en) Method for generating parity check matrix in communication system using linear block code, apparatus and method for channel encoding / decoding using same
KR20110048443A (en) Method for generating parity check matrix in communication system using linear block code, channel code / decoding device and method using same

Legal Events

Date Code Title Description
A201 Request for examination
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: 20170529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 5