KR101413783B1 - 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 PDFInfo
- Publication number
- KR101413783B1 KR101413783B1 KR1020070108317A KR20070108317A KR101413783B1 KR 101413783 B1 KR101413783 B1 KR 101413783B1 KR 1020070108317 A KR1020070108317 A KR 1020070108317A KR 20070108317 A KR20070108317 A KR 20070108317A KR 101413783 B1 KR101413783 B1 KR 101413783B1
- Authority
- KR
- South Korea
- Prior art keywords
- parity check
- check matrix
- ldpc code
- matrix
- parity
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1151—Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC codes]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
Abstract
본 발명은 가변 길이를 가지는 구조적인 LDPC 부호를 부호화하는 방법에 있어서, 기 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과, 요구되는 LDPC 부호의 블록 길이를 확인한 후, 새로운 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하는 과정과, 상기 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 1 패리티 검사 행렬 또는 새로 생성된 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정으로 구성됨을 특징으로 하는 부호화 방법이다. A method of encoding a structured LDPC code having a variable length, the method comprising: detecting first parity check matrix information stored in advance; checking a block length of a required LDPC code; The method comprising the steps of: determining a size to group information words of a matrix; constructing a partial matrix corresponding to an information word of a second parity check matrix from the first parity check matrix to correspond to the grouping size; Constructing a partial matrix corresponding to the parity of the check matrix and performing encoding based on the first parity check matrix or the newly generated second parity check matrix.
LDPC 부호화, 가변 블록 길이, 단축, 천공 LDPC coding, variable block length, shortening, puncturing
Description
본 발명은 저밀도 패리티 검사(low-density parity-check, 이하 LDPC) 부호를 오류정정부호로 적용하는 통신 시스템에 관한 것으로, 특히 블록 길이가 가변적인 LDPC 부호를 사용하는 채널 부호화/복호화(channel encoding/decoding) 장치 및 방법에 관한 것이다.The present invention relates to a communication system applying a low-density parity-check (LDPC) code as an error correction code, and more particularly to a channel encoding / decoding method using an LDPC code having a variable block length, decoding apparatus and method.
무선 통신 시스템에서는 채널의 여러 가지 잡음(noise)과 페이딩(fading) 현상 및 심볼간 간섭(inter-symbol interference, ISI)에 의해 링크(link)의 성능이 현저히 저하된다. 따라서, 차세대 이동 통신, 디지털 방송 및 휴대 인터넷과 같이 높은 데이터 처리량과 신뢰도를 요구하는 고속 디지털 통신 시스템들을 구현하기 위해서 잡음과 페이딩 및 ISI에 대한 극복 기술을 개발하는 것이 필수적이다. 최근에는 정보의 왜곡을 효율적으로 복원하여 통신의 신뢰도를 높이기 위한 방법으로서 오류정정부호(error-correcting code)에 대한 연구가 활발히 이루어지고 있다. In wireless communication systems, the performance of a link is significantly degraded due to various noise, fading phenomena, and inter-symbol interference (ISI) of a channel. Therefore, it is essential to develop overcoming techniques for noise, fading and ISI in order to realize high-speed digital communication systems requiring high data throughput and reliability, such as next generation mobile communication, digital broadcasting, and portable Internet. In recent years, error-correcting codes have been actively studied as methods for efficiently restoring information distortion and improving communication reliability.
1960년대에 Gallager에 의해서 처음 소개된 LDPC 부호는 당시 기술을 훨씬 능가하는 구현 복잡도로 인해 오랫동안 잊혀져 왔다. 하지만, 1993년 Berrou와 Glavieux, Thitimajshima에 의해 발견된 터보(turbo) 부호가 새넌(Shannon)의 채널 용량에 근접하는 성능을 보임에 따라, 터보 부호의 성능과 특성에 대한 많은 해석이 이루어지면서 반복 복호(iterative decoding)와 그래프를 기반으로 하는 채널 부호화에 대한 많은 연구가 진행되었다. 이를 계기로 1990년대 후반에 상기 LDPC 부호에 대해 재연구되면서 상기 LDPC 부호에 대응되는 Tanner 그래프(factor 그래프의 특별한 경우)상에서 합곱(sum-product) 알고리즘에 기반한 반복 복호(iterative decoding)를 적용하여 복호화를 수행하면 Shannon의 채널 용량에 근접하는 성능을 가짐이 밝혀졌다. The LDPC code first introduced by Gallager in the 1960s has long been forgotten due to its implementation complexity far surpassing that of the time. However, since the turbo codes found by Berrou, Glavieux, and Thitimajshima in 1993 show performance close to the channel capacity of Shannon, many interpretations on the performance and characteristics of turbo codes have been made, and it has been studied a lot about iterative decoding and graph based channel coding. As a result, the LDPC code is re-studied in the late 1990's and applied iterative decoding based on a sum-product algorithm on a Tanner graph (a special case of a factor graph) corresponding to the LDPC code, Has a performance close to Shannon's channel capacity.
상기 LDPC 부호는 통상적으로 그래프 표현법을 이용하여 나타내며, 그래프 이론 및 대수학, 확률론에 기반한 방법들을 통해 많은 특성을 분석할 수 있다. 일반적으로 채널 부호의 그래프 모델은 부호의 묘사(descriptions)에 유용할 뿐만 아니라, 부호화된 비트에 대한 정보를 그래프 내의 정점(vertex)에 대응시키고 각 비트들의 관계를 그래프 내에서 선분(edges)으로 대응시키면, 각 정점들이 각 선분들을 통해서 정해진 메시지(messages)를 주고받는 통신 네트워크로 간주할 수 있기 때문에 자연스런 복호 알고리즘을 이끌어 낼 수 있다. 예를 들면, 그래프의 일종으로 볼 수 있는 트렐리스(trellis)에서 유도된 복호 알고리즘에는 잘 알려진 비터비(Viterbi) 알고리즘과 BCJR(Bahl, Cocke, Jelinek and Raviv) 알고리즘이 있다.The LDPC codes are typically represented using graphical representations, and many features can be analyzed through graph theory, algebra, and probability-based methods. Generally, a graph model of a channel code is useful not only for describing codes but also to correspond information of encoded bits to a vertex in a graph and to correspond each bit relation to edges in a graph , It is possible to derive a natural decryption algorithm because each vertex can be regarded as a communication network for exchanging messages determined by each line. For example, trellis-derived decoding algorithms, which can be regarded as a kind of graph, include the well-known Viterbi algorithm and BCJR (Bahl, Cocke, Jelinek and Raviv) algorithms.
상기 LDPC 부호는 일반적으로 패리티 검사행렬(parity-check matrix)로 정의 되며 Tanner 그래프로 통칭되는 이분(bipartite) 그래프를 이용하여 표현될 수 있다. 상기 이분 그래프는 그래프를 구성하는 정점들이 서로 다른 2 종류로 나누어져 있음을 의미하며, 상기 LDPC 부호의 경우에는 변수 노드(variable node)와 검사 노드(check node)라 불리는 정점들로 이루어진 이분 그래프로 표현된다. 상기 변수 노드는 부호화된 비트와 일대일 대응된다. The LDPC code can be expressed using a bipartite graph, which is generally defined as a parity-check matrix and is collectively referred to as a Tanner graph. The bipartite graph indicates that the vertices constituting the graph are divided into two different types. In the case of the LDPC code, a binary graph composed of a variable node and a vertex called a check node Is expressed. The variable node corresponds one-to-one to the encoded bit.
도 1 및 도 2를 참조하여 상기 LDPC 부호의 그래프 표현 방법에 대해 설명하기로 한다. A graphical representation method of the LDPC code will be described with reference to FIGS. 1 and 2. FIG.
도 1은 4 개의 행(row)과 8 개의 열(column)로 이루어진 상기 LDPC 부호의 패리티 검사 행렬 H1 의 예이다. 도 1을 참조하면, 열이 8개 있기 때문에 길이가 8인 부호어(codeword)를 생성하는 LDPC 부호를 의미하며, 각 열은 부호화된 8 비트와 대응된다. 1 is an example of a parity check matrix H1 of the LDPC code including four rows and eight columns. Referring to FIG. 1, an LDPC code is generated to generate a codeword having a length of 8 because there are eight columns. Each column corresponds to eight encoded bits.
도 2는 도 1의 H1에 대응하는 Tanner 그래프를 도시한 도면이다. 2 is a graph showing a Tanner graph corresponding to H1 in FIG.
도 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)이 존재함을 의미한다.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) 6 212, x 7 214 and x 8 216 and four
상기 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 the respective nodes. This means that in the parity check matrix of the LDPC code, Is equal to the number of non-zero entries. For example, the 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) orders, respectively order 4, 3, 3, 3, 2, 2, 2, and 2, check nodes (218, 220, 222, 224) the order of the is, as each sequence of 6, 5, 5, 5. 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 may be calculated using the above-described orders 4, 3, 3, 3, 2, 2, 2, and the number of non-zero elements in each row of the parity check matrix H1 of FIG. 1 corresponding to the check nodes of FIG. 2 is in the order of 6, 5, 5, It matches.
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>과 같이 계산된다.In order to express a degree distribution for a node of an LDPC code, the ratio of the number of variable nodes with degree i to the total number of variable nodes is f i , and the ratio of the number of check nodes with degree j to the total number of check nodes Let g j . 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, for a 4 f i = 0, g 5 = 3/4, g 6 = 1/4, and g j = 0 for j ≠ 5,6. Assuming that 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 non-zero elements in the parity check matrix having the above- .
상기 <수학식 1>에서 N이 증가하게 되면 패리티 검사 행렬 내에서 1의 밀도는 계속해서 감소하게 된다. 일반적으로 LDPC 부호는 부호 길이 N에 대하여 0이 아닌 원소의 밀도가 반비례하므로, N이 큰 경우에는 매우 낮은 밀도를 가지게 된다. LDPC 부호의 명칭에서 저밀도(low-density)란 말은 이와 같은 이유로 유래되었다.If N increases in Equation (1), the density of 1 in the parity check matrix continues to decrease. Generally, the LDPC code is inversely proportional to the nonzero element density with respect to the code length N, so that when N is large, the LDPC code has a very low density. The term low-density in the name of an LDPC code comes from this reason.
그러면, LDPC 부호의 패리티 검사 행렬이 가지는 특성을 도 3를 참조하여 설명하기로 한다. 도 3은 유럽 디지털 방송 표준(standard)의 하나인 DVB-S2에서 표준 기술로 채택된 LDPC 부호를 도시한다. The characteristics of the parity check matrix of the LDPC code will now be described with reference to FIG. 3 shows an LDPC code adopted as a standard technique in DVB-S2, which is one of the European digital broadcasting standards.
도 3을 참조하면, 은 LDPC 부호어의 길이이고, 은 정보어의 길이이고, 은 패리티의 길이를 의미한다. 그리고, 이 성립하도록 정수 과 를 결정한다. 이때, 도 정수가 되도록 한다. 편의상 도 3의 패리티 검사 행렬을 제 1패리티 검사 행렬 이라 한다. Referring to Figure 3, Is the length of the LDPC codeword, Is the length of the information word, Is the length of the parity. And, To establish this constant and . At this time, Is also an integer. For convenience, the parity check matrix of FIG. 3 is referred to as a first parity check matrix Quot;
도 3을 참조하면 패리티 검사 행렬에서 패리티 부분에 해당하는 부분, 즉, 번째 열(column)부터 번째 열까지의 구조는 이중 대각(dual diagonal) 형태이다. 따라서, 패리티 부분에 해당하는 열의 차수(degree) 분포는 그 값이 '1'인 마지막 열을 제외하고 모두 '2'를 가진다. Referring to FIG. 3, a portion corresponding to a parity portion in a parity check matrix, From the first column The structure up to the second column is a dual diagonal form. Therefore, the degree distribution of the column corresponding to the parity part has '2' except for the last column in which the value is '1'.
패리티 검사 행렬에서 정보어 부분에 해당하는 부분, 즉 0번째 열부터 번째 열까지의 구조를 이루는 규칙은 다음과 같다. In the parity check matrix, the portion corresponding to the information word portion, i.e., The rules for the structure up to the first column are as follows.
<규칙 1> : 패리티 검사 행렬에서 정보어에 해당하는 개의 열을 개씩 그룹화(grouping)하여, 총 개의 열 그룹(column group)을 생성한다. 각 열 그룹에 속해있는 각각의 열을 구성하는 방법은 하기 규칙 2에 따른다. <
<규칙 2> : 먼저 번째 열 그룹의 각 0번째 열의 1의 위치를 결정한다. 여기서, 각 번째 열 그룹의 0번째 열의 차수를 라 한다. 각 1이 있는 행의 위치를 이라 가정하면, 번째 열 그룹 내의 번째 열에서 1이 있는 행의 위치 는 하기 <수학식 2>와 같이 정의된다. <Rule 2>: First th The position of 1 in each 0th column of the column group is determined. Here, The order of the 0th column in the ith column group is . The position of the line with each 1 Assuming that, Within the first column group The position of the row with 1 in the third column Is defined as < EMI ID = 2.0 >
., , ., ,
상기 규칙에 따르면 번째 열 그룹 내에 속하는 열들의 차수는 모두 로 일정하다.According to the above rule th The order of the columns belonging to the column group is .
상기 규칙을 통해 설계된 LDPC 부호는 구조적인 형태를 이용하여 효율적인 부호화가 가능함이 알려져 있다. 하지만, 상기 LDPC 부호를 사용하는 DVB-S2 표준(standard)의 경우에는 LDPC 부호의 제한적인 사용으로 인해서 사용되는 LDPC 부호의 블록 길이가 2개 밖에 없을 뿐만 아니라, 상기 2 개의 블록 길이를 지원하기 위해서도 각각 서로 다른 패리티 검사 행렬을 저장하고 있어야 하는 단점이 있다. It is known that an LDPC code designed through the above rules can be efficiently encoded using a structural form. However, in the case of the DVB-S2 standard using the LDPC code, there are only two block lengths of the LDPC code used due to the limited use of the LDPC code, and in order to support the two block lengths It is necessary to store different parity check matrices.
다음으로, 상술한 바와 같은 DVB-S2의 패리티 검사 행렬을 이용한 LDPC 부호화 진행 과정의 각 단계들을 설명한다. Next, each step of the LDPC encoding process using the parity check matrix of the DVB-S2 as described above will be described.
먼저 설명의 편의를 위해 길이가 인 정보어 비트들을 로 나타내고, 길이가 인 패리티 비트들을 로 나타낸다. 하기에서 구체적으로 설명하는 LDPC 부호는 , , , 의 특성을 가진다. First, for convenience of explanation, Information bits And the length is Parity bits Respectively. The LDPC code specifically described in the following , , , .
단계 1: 패리티 비트들을 초기화 . Step 1 : Initialize the parity bits .
단계 2: 저장되어 있는 패리티 검사 행렬의 정보로부터 정보어의 첫 번째 열 그룹 내에서 첫 번째 열의 1이 위치한 행의 정보를 호출함: Step 2: From the stored information of the parity check matrix, call the information of the row where 1 of the first column in the first column group of the information word is located:
, , , , , , , , , ,
, , , , , , , , , ,
, , . , , .
상기 호출된 정보와 정보어 비트 를 이용하여 하기의 <수학식 3>과 같이 특정 패리티 비트 들을 업데이트한다. 여기서, 는 각각의 값 을 의미한다.The called information and information bits As shown in Equation (3) below, Lt; / RTI > here, Respectively, Lt; / RTI >
, , , , , ,
, , , , , ,
, , , , , ,
. .
상기 <수학식 3>에서 는 로 표기하기도 할 수도 있고, 는 이진(binary) 덧셈을 의미한다.In Equation (3) The Or, Means binary addition.
단계 3: 이후의 다음 359개의 정보어 비트 , , ..., 에 대해서 먼저 하기의 <수학식 4>를 이용하여 구한다. Step 3: The following 359 information bits , , ..., Is first obtained using Equation (4) below.
상기 <수학식 4>에서 는 각각의 값을 의미한다. 상기 <수학식 4>는 <수학식 2>와 동일한 개념의 수식임에 유의한다. In Equation (4) Respectively, Lt; / RTI > Note that Equation (4) is an equation having the same concept as Equation (2).
다음으로 상기 <수학식 4>에서 구한 값을 이용하여 <수학식 3>와 유사한 작업을 수행한다. 즉, 에 대해서 를 업데이트한다. 예를 들어 , 즉, 에 대해서 하기의 <수학식 5>와 같이 들을 업데 이트 한다. Next, an operation similar to Equation (3) is performed using the value obtained from Equation (4). In other words, about Lt; / RTI > E.g , In other words, As shown below in Equation (5) .
상기 <수학식 5>의 경우에는 임에 유의한다. 위와 같은 과정을 에 대해서 마찬가지로 진행한다. In the case of Equation (5) . The above procedure .
단계 4: 상기 단계 2와 마찬가지로 361번째 정보어 비트 에 대해서 , ()의 정보를 호출하고, 특정 를 업데이트한다. 여기서, 는 를 의미한다. 이후의 다음 359개의 정보어 비트 , , ..., 에 대해서 <수학식 4>를 유사하게 적용하여 , 를 업데이트한다. Step 4: Like Step 2 above 361st information bit about , ( ), And the specific Lt; / RTI > here, The . The following 359 information bits , , ..., Equation (4) is applied similarly to Equation , Lt; / RTI >
단계 5: 모든 각각의 360개의 정보어 비트 그룹에 대해서 상기 단계 2, 3, 4의 과정을 반복한다. 최종적으로 <수학식 6>을 통해서 패리티 비트를 결정한다. Step 5: Repeat steps 2, 3 and 4 for all 360 information bit groups. Finally, a parity bit is determined using Equation (6).
상기 <수학식 6>의 들이 LDPC 부호화가 완료된 패리티 비트들이다. In Equation (6) Are parity bits for which LDPC coding is completed.
위와 같이 DVB-S2에서는 단계 1부터 단계 5까지의 과정을 거쳐 부호화를 진행한다. In the DVB-S2 as above, the encoding process proceeds from
상술한 바와 같은 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, the LDPC code should be designed to be suitable for the data transmission amount required in the communication system. In particular, in a communication system supporting a variety of broadcasting services as well as an adaptive communication system employing a hybrid automatic retransmission request (HARQ) scheme and an adaptive modulation and coding (AMC) scheme, Accordingly, it is necessary to use an LDPC code having various block lengths in order 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, only two block lengths are required due to limited use, and independent parity check matrices are required. However, if the usable block length is limited as described above, it is difficult to increase the scalability and flexibility of the system.
또한, LDPC 부호의 각각의 블록 길이에 대해 상응하는 각각의 패리티 검사 행렬을 모두 저장하는 것은 메모리 효율성을 떨어뜨리는 문제점이 있다. In addition, storing all the parity check matrices corresponding to each block length of the LDPC code has a problem of deteriorating memory efficiency.
상술한 바와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 다양한 블록 길이의 LDPC 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 장치 및 그 제어 방법을 제공함에 있다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a channel coding / decoding apparatus and a control method thereof in a communication system using LDPC codes of various block lengths.
본 발명의 다른 목적은 메모리 효율성을 증대시키기 위해 새로운 패리티 검사 행렬을 설계하지 않고, 주어진 LDPC 부호를 이용하여 다양한 블록 길이를 가지는 LDPC 부호를 생성하는 방법 및 장치를 제공함에 있다. It is another object of the present invention to provide a method and apparatus for generating an LDPC code having various block lengths by using a given LDPC code without designing a new parity check matrix in order to increase memory efficiency.
상기한 목적들을 달성하기 본 발명은 가변 길이를 가지는 구조적인 LDPC 부호를 부호화하는 방법에 있어서, 기 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과, 요구되는 LDPC 부호의 블록 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하는 과정과, 상기 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 1 패리티 검사 행렬 또는 상기 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정으로 구성됨을 특징으로 한다.According to another aspect of the present invention, there is provided a method of encoding a structured LDPC code having a variable length, the method comprising the steps of: detecting first parity check matrix information stored in advance; determining a block length of a required LDPC code Determining a size to group information words of a second parity check matrix; constructing a partial matrix corresponding to an information word of the second parity check matrix to correspond to the grouping size from the first parity check matrix; Constructing a partial matrix corresponding to a parity of the second parity check matrix and performing encoding based on the first parity check matrix or the second parity check matrix, .
본 발명은 가변 길이를 가지는 LDPC 부호를 부호화하는 장치에 있어서, 요구되는 LDPC 부호의 블록 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하고, 기 저장되어 있는 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬 및 패리티에 대응되는 부분 행렬을 구성하고, 상기 제 1 패리티 검사 행렬 또는상기 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 부호화기와, 상기 LDPC 부호를 미리 설정되어 있는 변조 방식으로 변조하여 변조 심벌로 생성하는 변조기와, 상기 변조 심벌을 송신하는 송신기 포함함을 특징으로 한다.In an apparatus for encoding an LDPC code having a variable length, after checking a block length of a required LDPC code, a size to group the information words of the second parity check matrix is determined, and a first parity A partial matrix corresponding to an information word of the second parity check matrix and a partial matrix corresponding to a parity corresponding to the grouping size from the check matrix and forming one of the first parity check matrix and the second parity check matrix A modulator for modulating the LDPC code according to a predetermined modulation scheme to generate a modulation symbol, and a transmitter for transmitting the modulation symbol.
본 발명은 가변 길이를 가지는 구조적인 LDPC 부호를 복호하는 방법에 있어서, 신호를 수신하는 과정과, 기 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과, 복호할 LDPC 부호의 블록 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하는 과정과, 상기 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 1 패리티 검사 행렬 또는상기 제 2 패리티 검사 행렬 중 하나를 기반으로 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 과정을 포함함을 특징으로 한다.There is provided a method of decoding a structured LDPC code having a variable length, the method comprising the steps of: receiving a signal; detecting first stored parity check matrix information; determining a block length of an LDPC code to be decoded; Determining a size to group information words of a second parity check matrix; and constructing a partial matrix corresponding to an information word of the second parity check matrix from the first parity check matrix to correspond to the grouping size And generating a partial matrix corresponding to a parity of the second parity check matrix by decoding the received signal based on one of the first parity check matrix and the second parity check matrix, The method includes the steps of:
본 발명은 가변 길이를 가지는 상기 LDPC 부호를 복호하는 장치에 있어서, 신호를 수신하는 수신기와, 상기 수신된 신호를 미리 설정되어 있는 복조 방식으로 복조하여 출력하는 변조기와, 변조기로부터 출력된 신호를 복호할 상기 LDPC 부호의 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하고, 기 저장되어 있는 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬 및 패리티에 대응되는 부분 행렬을 구성하고, 상기 제 1 패리티 검사 행렬 또는 상기 제 2 패리티 검사 행렬 중 하나를 기반으로 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 복호기를 포함함을 특징으로 한다.The present invention relates to an apparatus for decoding an LDPC code having a variable length, the apparatus comprising: a receiver for receiving a signal; a modulator for demodulating and outputting the received signal by a predetermined demodulation scheme; The size of the information word of the second parity check matrix is determined, and the information of the second parity check matrix is calculated from the first parity check matrix stored beforehand, And a decoder for decoding the received signal based on one of the first parity check matrix and the second parity check matrix to detect the partial matrix corresponding to the partial matrix and the parity corresponding to the word by using the LDPC code .
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은 LDPC 부호를 사용하는 통신 시스템에서 주어진 패리티 검사 행렬의 정보를 이용해서 다양한 블록 길이를 가지는 LDPC 부호를 생성하여 시스템의 확장성 및 유연성을 증가시키는 이점이 있다. In the present invention that operates as described in detail above, the effects obtained by the representative ones of the disclosed inventions will be briefly described as follows.
The present invention has an advantage of increasing the scalability and flexibility of a system by generating an LDPC code having various block lengths by using information of a given parity check matrix in a communication system using an LDPC code.
또한, 본 발명은 다양한 블록 길이를 지원하는 시스템에서도 하나의 패리티 검사 행렬의 정보만을 저장하면 되므로 메모리의 효율성이 증대된다는 이점이 있다. Also, the present invention is advantageous in that the efficiency of the memory is increased because only one parity check matrix information can be stored even in a system supporting various block lengths.
본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. Preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. In the following description, only parts necessary for understanding the operation according to the present invention will be described, and the description of other parts will be omitted so as not to obscure the gist of the present invention.
본 발명은 특정 형태를 갖는 하나의 LDPC 부호의 패리티 검사 행렬을 이용하여 그보다 블록 길이가 크거나 작은 다양한 블록 길이를 가지는 LDPC 부호를 생성하고, 그 다양한 블록 길이를 가지는 LDPC 부호를 이용하는 부호화 및 복호화 하는 하는 장치 및 방법을 제안한다. The present invention generates an LDPC code having various block lengths larger or smaller than the block length by using a parity check matrix of one LDPC code having a specific form and encodes and decodes the LDPC code using the LDPC codes having various block lengths And an apparatus and a method for providing the same.
도 4는 LDPC 부호를 사용하는 통신 시스템의 블록도(block diagram)이다.4 is a block diagram of a communication system using an LDPC code.
도 4를 참조하면, 메시지 는 전송되기 전에 송신기(410)의 LDPC 부호화기(encoder)(411)를 통해 부호화되고, 변조기(Modulator)(413)에 의해 변조되어 무선 채널(420)을 통해 전송된다. 그러면, 수신기(430)의 복조기(Demodulator)(430)는 상기 무선 채널을 통해 전송되는 신호 r을 수신하여 복조하고, LDPC 복호기(Decoder)(433)는 상기 복조된 신호로부터 메시지의 추정치(estimate) 를 추정해낸다.Referring to Figure 4, Encoded by the
상기 LDPC 부호화기(411) 및 LDPC 복호화기(433)은 미리 설정되어 있는 방식으로부터 통신 시스템에서 요구하는 블록 길이에 상응하는 패리티 검사 행렬을 생성한다. 특히, 본 발명에서 LDPC 부호화기(411) 및 LDPC 복호화기(433)은 LDPC 부호를 이용하여 별도의 추가적인 저장 정보의 필요가 없으면서 다양한 블록 길이를 지원할 수 있다. 상기 통신 시스템에서 요구하는 블록 길이 상응하는 패리티 검사 행렬의 생성은 상술한 바와 같이 LDPC 부호화기(411) 및 LDPC 복호화기(433)에서 이루어질 수도 있으나, 별도로 구성된 패리티 검사 행렬을 생성하는 장치에서 생성될 수도 있다.다양한 블록 길이를 지원하기 위한 LDPC 부호화기(411) 및 LDPC 복호화기(433)의 구체적인 동작 설명은 하기의 부호화 방법 설명과 함께 상세히 설명하기로 한다.The
그러면, 본 발명에 따른 가변 길이를 가지는 구조적인 LDPC 부호화 방법을 설명하기로 한다. A structured LDPC coding method having a variable length according to the present invention will now be described.
본 발명의 부호화 방법은 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하여, 요구되는 LDPC 부호의 블록 길이에 상응하는 제 2 패리티 검사 행렬 생성하고, 상기 제 1 패리티 검사 행렬 또는 새로 생성된 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정으로 구성된다.The encoding method of the present invention detects a 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 the newly generated second parity check matrix And performing encoding based on one of the check matrices.
우선 저장되어 있는 패리티 검사 행렬로부터 가변 블록 길이에 상응하는 패리티 검사 행렬을 생성하는 과정을 살펴보기로 한다. First, a process of generating a parity check matrix corresponding to a variable block length from a stored parity check matrix will be described.
종래의 패리티 검사 행렬의 설계 규칙에 따르면, 상기 LDPC 부호의 구조는 개의 열 단위로 그룹화하는 과정과, 각 열 그룹의 첫 번째 열의 차수와 1의 위치에 의해 그모든 특성이 결정된다. 따라서, 상술한 바와 같은 특성을 갖는 LDPC 부호로부터 다른 블록 길이를 가지는 LDPC 부호를 지원하기 위해서는 주어진 패리티 검사 행렬로부터 새롭게 그룹화하는 과정과, 상기 그룹화 과정을 통해서 새롭게 얻어진 열 그룹의 첫 번째 열의 1의 위치만 결정하면 충분하다. According to the conventional design rule of the parity check matrix, the structure of the LDPC code is All the characteristics are determined by the process of grouping in units of columns and the order of the first column and the position of 1 in each column group. Therefore, in order to support LDPC codes having different block lengths from the LDPC codes having the above-described characteristics, a new grouping process is performed from a given parity check matrix. It is enough to decide.
본 발명은 하나의 특정 블록 길이를 가지는 LDPC 부호로부터 다른 블록 길이를 가지는 LDPC 부호를 지원하는 방법을 제안한다.The present invention proposes a method of supporting an LDPC code having a different block length from an LDPC code having a specific block length.
도 5는 본 발명의 실시 예에 따라 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 다른 블록 길이를 가지는 LDPC 부호를 생성하기 위한 흐름도이다.
설명의 편의를 위해 저장되어 있는 제 1 LDPC 부호로부터 새롭게 지원하고자 하는 제 2 LDPC 부호의 부호어의 길이를 , 정보어의 길이는 , 패리티의 길이는 라 하자. 여기서 와 는 각각 과 의 약수이며, 를 만족한다. 새롭게 설계한 제 2 LDPC 부호의 패리티 검사 행렬을 제 2 패리티 검사 행렬 라 하자. 5 is a flowchart for generating an LDPC code having a different block length from a parity check matrix of an LDPC code stored according to an embodiment of the present invention.
For convenience of explanation, the length of the codeword of the second LDPC code to be newly supported from the stored first LDPC code is , The length of the information word is , The length of the parity is Let's say. here Wow Respectively and And, . The parity check matrix of the newly designed second LDPC code is referred to as a second parity check matrix Let's say.
도 5를 참조하면, 510 단계에서 LDPC 부호화기는 저장되어 있는 제 1 패리티 검사 행렬 을 검출해낸다. 그리고, 520 단계에서 LDPC 부호화기는 하기의 <규칙 3>에서와 같이 필요한 제 2 LDPC 부호의 블록 길이를 확인한 후, 그에 상응하는 를 결정한다.
Referring to FIG. 5, in
삭제delete
<규칙 3> : 로 정의한다. 패리티 검사 행렬에서 정보어에 해당하는 개의 열을 개씩 그룹화하여 총 개의 열 그룹을 만든다. 의 값은 상기 규칙 1과 2에서 설명한 제 1 패리티 검사 행렬 에 대한 열 그룹의 개수 와 동일한 수가 되며, 하기의 <수학식 7>과 같이 또한 동일함을 알 수 있다. . <Rule 3>: . In the parity check matrix, Columns Group by group Create a group of columns. The values of the first parity check matrix < RTI ID = 0.0 > Number of column groups for And as shown in Equation (7) below, The same is also true. .
그런후, 530 단계에서 LDPC 부호화기는 하기의 <규칙 4>를 적용하여 LDPC 부호의 패리티 검사 행렬에서 정보어에 대응되는 부분 행렬을 구성한다.Then, in
<규칙 4> : 상기 <수학식 2>에 나타낸 에서의 1의 위치와 상기 및 를 이용하여 새롭게 생성할 패리티 검사 행렬 에서의 번째 열 그룹 내의 번째 열에서 1이 있는 행의 위치 는 하기의 <수학식 8>과 같이 정의된다. ≪ Rule 4 >< EMI ID = 1 < / RTI > And A parity check matrix to be newly generated In Within the first column group The position of the row with 1 in the third column Is defined as Equation (8) below.
, , , ,
. .
540 단계에서 LDPC 부호화기는 하기의 <규칙 5>를 적용하여 LDPC 부호의 패 리티 검사 행렬에서 패리티에 대응되는 부분 행렬을 구성한다.In
<규칙 5> : 패리티 검사 행렬에서 패리티 부분에 해당하는 부분, 즉,번째 열부터 번째 열까지의 구조는 이중 대각(dual diagonal) 형태가 되도록 설정한다. 즉, 패리티 부분에 해당하는 열의 차수 분포는 마지막 열이 1임을 제외하고 모두 2를 가진다. ≪ Rule 5 >: A part corresponding to the parity part in the parity check matrix, From the first column The structure up to the second column is set to be a dual diagonal form. That is, the degree distribution of the column corresponding to the parity part has 2 except the last column is 1.
상술한 바와 같이 <규칙 3>, <규칙 4> 및 <규칙 5>를 이용하여 생성한 제 2패리티 검사 행렬 는 종래의 <규칙 1>, <규칙 2>를 이용하여 만든 제1 패리티 검사 행렬 의 정보를 그대로 사용하여 설계하였기 때문에 의 저장을 위해 별도의 메모리가 필요하지 않다. 즉, 의 정보만 가지고 있으면 를 생성한 후 LDPC 부호화기에 적용하여 LDPC 부호어를 생성할 수 있다. As described above, the second parity check matrix generated using <Rule 3>, <Rule 4> and <Rule 5> A first parity check matrix < RTI ID = 0.0 > Because it was designed using the information of No additional memory is required for storage. In other words, If you only have the information And then applies it to the LDPC encoder to generate the LDPC codeword.
그러면, 다음으로 본 발명에서 제안한 방법을 통하여 이루어지는 새로운 제2 LDPC 부호의 부호화 과정을 하기에 자세히 설명한다. Next, the encoding process of a new second LDPC code performed through the method proposed by the present invention will be described in detail.
여기서는, 설명의 편의를 위해서 생성하고자 하는 새로운 LDPC 부호에 대한 블록 길이는 , 정보어의 길이가 인 예를 들어 설명하기로 한다. 이에 따라 이므로 상기 의 정의에 의해서 이 되며, 으로 고정된다. Here, for convenience of description, the block length for a new LDPC code to be generated is , The length of the information word is For example. Accordingly Therefore, By definition of Lt; / RTI & .
단계 1 : 패리티 비트들을 초기화()한다. Step 1 : Initialize the parity bits ( )do.
단계 2 : 저장되어 있는 패리티 검사 행렬()의 정보로부터 하기와 같은 첫 번째 열 그룹 내에서 첫 번째 열의 1이 위치한 행의 정보를 호출한다. Step 2 : The stored parity check matrix ( ) Of the first column in the first column group as shown below.
, , , , , , , , , ,
, , , , , , , , , ,
, , . , , .
단계 3 : 상기 규칙 4를 적용하여 , 로부터 다음과 같이 값을 구한다. Step 3: Applying rule 4 above , From Value.
, , , ,
, , , , , , , , , ,
, , , , ,
, , . , , , , ,
, , .
상기 정보와 를 이용하여 다음 <수학식 9>와 같이 특정 들을 업데이트 한다. (여기서 는 각각의 값을 의미한다.)The information As shown in the following Equation (9) Lt; / RTI > (here Respectively, Value.)
, , ,
, , ,
, , ,
, , ,
, , ,
, , ,
. (는 이진(binary) 덧셈을 의미함.) . ( Means binary addition.)
삭제delete
단계 4: 이후의 다음 89개의 정보어 비트 , , ..., 에 대해서 먼저 다음 <수학식 10>을 구한다. Step 4: The next 89 information bits , , ..., The following Equation (10) is obtained.
상기 <수학식 10>에서 는 각각의 값을 의미한다. 상기 <수학식 10>은 <수학식 2>와 동일한 개념의 수식임에 유의한다. In Equation (10) Respectively, Lt; / RTI > Note that Equation (10) is a formula having the same concept as Equation (2).
다음으로 상기 <수학식 10>에서 구한 값을 이용하여 <수학식 9>와 같은 작업을 수행한다. 즉, 에 대해서 를 업데이트한다. 예를 들어 , 즉, 에 대해서 다음 <수학식 11>과 같이 특정 들을 업데이트 한다. Next, an operation such as Equation (9) is performed using the value obtained from Equation (10). In other words, about Lt; / RTI > E.g , In other words, As shown in the following Equation (11) Lt; / RTI >
, , , , , ,
, , , , , ,
, , , , , ,
. (는 이진(binary) 덧셈을 의미함.) . ( Means binary addition.)
상기 <수학식 11>의 경우에는 임에 유의한다. 위와 같은 과정을 에 대해서 마찬가지로 진행한다. In the case of Equation (11) . The above procedure .
단계 5: 상기 단계 3과 마찬가지로 91번째 정보어 비트 에 대해서 , ()의 정보를 호출하고 를 계산하고 특정 를 업데이트 한다. (여기서 는 를 의미한다.) 이후의 다음 89개의 정보어 비트 , , ..., 에 대해서 <수학식 10>을 적용하여 , 들을 업데이트한다. 90개의 정보어 비트 그룹의 각각에 대해서 상기 단계 2, 3, 4의 과정을 반복한다. Step 5: As in step 3 above, about , ( ) ≪ / RTI > And calculates Lt; / RTI > (here The .) The next 89 information bits , , ..., (10) < RTI ID = 0.0 > , Lt; / RTI > Repeat steps 2, 3, and 4 for each of the 90 information word groups.
단계 6: 최종적으로 다음 <수학식 12>를 통해서 패리티 비트를 결정한다. Step 6: Finally, a parity bit is determined through Equation (12).
상기 <수학식 12>의 들이 LDPC 부호화가 완료된 패리티 비트들이다. In Equation (12) Are parity bits for which LDPC coding is completed.
한편, 상기 단계 3에서 로부터 를 구하는 과정을 살펴보면 이므로, 하기의 <수학식 13>이 성립하게 된다. On the other hand, in step 3 from The process of obtaining The following Equation (13) is established.
따라서, 상기 단계 3, 단계 4 및 단계 5는 를 구하는 별도의 과정 없이 다음과 같이 하나의 단계로 정리하여 표현할 수도 있다. Thus, steps 3 , 4, and 5 Can be summarized in one step as shown below without any additional procedure for obtaining.
단계 3, 4, 5의 결합: Combination of steps 3, 4 and 5 :
, , 에 대해서 <수학식 14>와 같이 를 업데이트한다. , , As shown in Equation (14) Lt; / RTI >
상기 <수학식 14>에서 , 이다. In Equation (14) , to be.
상술한 바와 같은 LDPC 부호화 방식의 실시 예는 매우 제한적인 경우이며, 상기 LDPC 부호의 패리티 검사 행렬의 생성 규칙에 의거하여 다양한 패리티 검사 행렬을 생성할 수 있다. The embodiment of the LDPC coding scheme described above is a very limited case, and various parity check matrices can be generated based on the generation rule of the parity check matrix of the LDPC code.
상기 부호화 방식은 제 1 패리티 검사행렬로부터 새롭게 생성하고자 하는 제2 LDPC 부호에 대해 단축(shortening)과 천공(puncturing)을 적용하지 않은 방법으로서, 새롭게 생성된 제 2 패리티 검사행렬에서 부호율이나 열과 행의 차수 분포 등과 같은 부호의 대수적 특성이 제 1 패리티 검사행렬과 동일하다. 따라서, 제 1 패리티 검사행렬로부터 부호의 대수적 특성이 다른 부호를 얻기 위해서는 생성된 제 2 패리티 검사 행렬에 단축을 적용한 뒤에 상기 부호화 방식을 적용하여 얻은 LDPC 부호어 일부에 천공을 적용하는 방법이 있다. The coding scheme is a method in which shortening and puncturing are not applied to a second LDPC code to be newly generated from a first parity check matrix. In the second parity check matrix, a code rate, The algebraic characteristic of the code such as the order distribution of the first parity check matrix is the same as the first parity check matrix. Therefore, in order to obtain codes different in sign algebraic characteristic from the first parity check matrix, there is a method of applying the shortening to the generated second parity check matrix and then applying puncturing to a part of the LDPC codeword obtained by applying the encoding method.
제 1 패리티 검사행렬로부터 상기 <규칙 3>, <규칙 4>, <규칙 5> 등을 이용하여 얻은 제 2 패리티 검사 행렬에 단축과 천공을 적용하여 서로 다른 대수적 특성을 가지는 LDPC 부호를 얻는 방법을 자세히 설명한다. A method of obtaining LDPC codes having different logarithmic characteristics by applying shortening and puncturing to a second parity check matrix obtained by using the above-described <Rule 3>, <Rule 4>, <Rule 5>, etc. from the first parity check matrix I will explain in detail.
먼저 설명의 편의를 위해서 <규칙 1>과 <규칙 2>에서 나타낸 LDPC 부호의 패리티 검사행렬에 해당하는 제 1 패리티 검사 행렬의 블록 길이, 정보어 길이 및 그룹화 크기를 각각 , , 이라 하자. 그러면 <규칙 3>, <규칙 4>, <규칙 5>에 의거하여 제 1 패리티 검사행렬로부터 블록 길이, 정보어 길이 및 그룹화 크기가 , , 인 제 2 패리티 검사행렬을 얻을 수 있었다. 이 때 새롭게 생성된 상기 제 2 패리티 검사행렬 자체는 부호율이나 열과 행의 차수 분포 등과 같은 부호의 대수적 특성이 제 1 패리티 검사행렬과 동일함에 유의한다.For convenience of explanation, the block length, information length, and grouping size of the first parity check matrix corresponding to the parity check matrix of the LDPC code shown in <
이제 최종적으로 얻고자하는 제3 LDPC 부호의 블록 길이와 정보어 길이를 각각 , 하자. 만일 , 라고 정의하면, 제 2 패리티 검사행렬에서 비트만큼 단축을 취하고, 비트만큼 천공을 취하면 블록 길이와 정보어 길이를 각각 , 인 제3 LDPC 부호를 얻을 수 있다. 이렇게 생성된 제3 LDPC 부호는 또는 일 때, 부호율이 가 되어 일반적으로 제 2 패리티 검사행렬의 부호율 와는 다르게 되므로 대수적 특성이 변하게 된다. 인 경우에는 단축이나 천공을 적용하지 않는 경우에 해당된다. Now, the block length and the information length of the third LDPC code to be finally obtained are respectively , lets do it. if , , The second parity check matrix Taking the bit as short as possible, If the puncturing is performed by a bit, the block length and the information word length are respectively , The third LDPC code can be obtained. The thus generated third LDPC code or , The code rate is The coding rate of the second parity check matrix And the algebraic characteristic is changed. In the case of the case where no shortening or perforation is applied.
그러면, 도 6을 참조하여, 제 1 패리티 검사행렬로서 , , , 의 특성을 가지는 LDPC 부호를 이용하여 단축과 천공을 통하여 블록 길이가 이며, 정보어의 길이가 인 새로운 제3 LDPC 부호를 생성하는 과정의 그 구체적인 예를 살펴보기로 한다.Then, referring to FIG. 6, as a first parity check matrix , , , LDPC code is used to shorten and puncture the block length And the length of the information word is Hereinafter, a specific example of a process of generating a new third LDPC code will be described.
도 6을 참조하면, 610 단계에서 LDPC 부호화기는 저장되어 있는 제1패리티 검사 행렬 을 검출해낸다. 그리고, 620 단계에서 LDPC 부호화기는 상기의 <규칙 3>에서와 같이 필요한 LDPC 부호의 블록 길이를 확인한 후, 그에 상응하는 그룹화 크기를 결정한다. 상기 620 단계에 의해 <규칙 3>에 의해 로 설정하고, 630 단계에서 단축과 천공의 필요 여부를 확인한다. 그리고, 우선 640 단계 및 650 단계에서 <규칙 4>, <규칙 5>로부터 , 인 제2LDPC 부호의 제 2 패리티 검사행렬을 생성할 수 있다. 이때 , ,이 성립하므로, 660 단계에서 제 2 패리티 검사행렬에 대해 1320 비트만큼 단축을 취하고 30 비트만큼 천공을 취하면 블록 길이가 이며, 정보어의 길이가 인 새로운 제3LDPC 부호를 생성할 수 있다. 참고로 상기 제 1 패리티 검사 행렬의 부호율은 4/9이며, 상기 제 2 패리티 검사행렬의 부호율은 4/15로서 서로 상이함을 알 수 있다. Referring to FIG. 6, in
상기 제 2 패리티 검사행렬에 취하는 단축 방법으로서는 다양한 방법이 있을 수 있으며 한 가지 구체적인 방법을 예를 들면 다음과 같다. As a shortening method for the second parity check matrix, there may be various methods. One concrete method is as follows.
<규칙 2>에 따르면 DVB-S2 LDPC 부호의 i번째 (i = 1,...,)열 그룹의 각 0번째 열의 1의 위치에 의해서 해당 열 그룹의 모든 열의 1의 위치를 얻을 수 있다. , , , 의 특성을 가지는 LDPC 부호는 총 20개의 정보어 열 그룹에 대한 정보가 주어져 있으며, i 번째 (i = 1,2,....,20)열 그룹의 각 0번째 열의 1의 위치 정보는 다음과 같다: According to <Rule 2>, the i-th (i = 1, ..., ) The position of 1 in every column of the column group can be obtained by the position of 1 in each 0th column of the column group. , , , (I = 1, 2, ..., 20), the position information of the 1 < th > Is as follows:
만일 상기 정보어 열 그룹에 대한 정보를 그대로 모두 사용하게 되면, <규칙 3>, <규칙 4>, <규칙 5>에 의해서 일 때, 정보어의 길이는 이 된다. 하지만, 위의 열 그룹에 대한 정보 중에서 다음과 같이 9 개의 정보어 열 그룹에 대한 정보만 사용한다고 가정하자. If all of the information on the information word group is used as it is, it is determined by the rule 3, the rule 4, and the rule 5 , The length of the information word is . However, suppose that the information on the above column group is used only for the nine information word groups as follows.
상기 9 개의 정보어 열 그룹에 대한 정보만을 사용하여 <규칙 3>, <규칙 4>, <규칙 5>에 의해서 에 대해 패리티 검사행렬을 생성하면, 정보어의 길이는 이 되어, 사용하지 않은 11 개의 정보어 열 그룹에 대한 단축을 적용한 것과 동일한 효과를 얻을 수 있다. By using only the information on the nine information word groups, it is possible to search for the information word groups by using <Rule 3>, <Rule 4>, and <Rule 5> , The length of the information word is So that it is possible to obtain the same effect as applying the shortening to the unused 11 information word group.
상기 단축의 예는 열 그룹에 대한 단축의 예일 뿐이며, 비트 별 단축 등과 같은 다양한 단축 방법을 적용할 수 있다. The example of the shortening is only an example of shortening for a column group, and various shortening methods such as shortening by bit can be applied.
상기 천공 방법의 대표적인 예로서는 천공 비트 수를 라 하고, 새롭게 생성된 제 2 패리티 검사행렬에 대응되는 LDPC 부호의 패리티의 길이가 라 할 때, 패리티 비트에서 마다 1 비트 씩 천공하는 방법이 있으나, 이러한 방법 외에도 다양한 방법을 적용할 수 있다.As a typical example of the puncturing method, there is a method of puncturing 1 bit per parity bit when the number of puncturing bits is denoted by the length of the parity of the LDPC code corresponding to the newly generated second parity check matrix. Various methods can be applied.
도 1은 일반적인 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예를 도시한 도면,1 is a diagram illustrating an example of a parity check matrix of an LDPC code having a general length of 8,
도 2는 일반적인 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예의 Tanner 그래프를 도시한 도면,2 shows a Tanner graph of an example of a parity check matrix of an LDPC code having a general length of 8,
도 3은 일반적인 DVB-S2 LDPC 부호의 대략적인 구조도,FIG. 3 is a schematic diagram of a general DVB-S2 LDPC code,
도 4는 본 발명에 따라 LDPC 부호를 사용하는 디지털 통신 시스템의 블록 구성도를 도시한 도면,4 is a block diagram of a digital communication system using an LDPC code according to the present invention.
도 5는 본 발명의 실시 예에 따른 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 다른 블록 길이를 가지는 LDPC 부호를 생성하기 위한 흐름도.5 is a flowchart for generating an LDPC code having a different block length from a parity check matrix of a stored LDPC code 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 (14)
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 KR20090026709A (en) | 2009-03-13 |
KR101413783B1 true 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180122911A (en) * | 2017-05-04 | 2018-11-14 | 삼성전자주식회사 | Apparatus and method for channel encoding/decoding in communication or broadcasting system |
US11296727B2 (en) | 2017-05-04 | 2022-04-05 | Samsung Electronics Co., Ltd. | Method and apparatus for channel encoding and decoding in communication or broadcasting system |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101740316B1 (en) | 2009-12-07 | 2017-05-29 | 삼성전자주식회사 | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes |
KR102329573B1 (en) * | 2014-12-10 | 2021-11-22 | 삼성전자주식회사 | Transmitter and signal processing method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078765A1 (en) | 2003-10-13 | 2005-04-14 | Samsung Electronics Co., Ltd. | Method and apparatus for space-time coding using lifting low density parity check codes in a wireless communication system |
-
2007
- 2007-10-26 KR KR1020070108317A patent/KR101413783B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078765A1 (en) | 2003-10-13 | 2005-04-14 | Samsung Electronics Co., Ltd. | Method and apparatus for space-time coding using lifting low density parity check codes in a wireless communication system |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180122911A (en) * | 2017-05-04 | 2018-11-14 | 삼성전자주식회사 | Apparatus and method for channel encoding/decoding in communication or broadcasting system |
KR102302366B1 (en) | 2017-05-04 | 2021-09-16 | 삼성전자 주식회사 | Apparatus and method for channel encoding/decoding in communication or broadcasting system |
US11296727B2 (en) | 2017-05-04 | 2022-04-05 | Samsung Electronics Co., Ltd. | Method and apparatus for channel encoding and decoding in communication or broadcasting system |
US11791845B2 (en) | 2017-05-04 | 2023-10-17 | Samsung Electronics Co., Ltd. | Method and apparatus for channel encoding and decoding in communication or broadcasting system |
Also Published As
Publication number | Publication date |
---|---|
KR20090026709A (en) | 2009-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8261152B2 (en) | Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes | |
KR101502623B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
KR101503058B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
EP2068449B1 (en) | Shortening and puncturing of low-density parity-check (LDPC) codes for channel encoding and decoding | |
JP5506879B2 (en) | Channel decoding apparatus and method for communication system using low density parity check code | |
US8495459B2 (en) | Channel-encoding/decoding apparatus and method using low-density parity-check codes | |
EP2093887A2 (en) | Apparatus and method for channel encoding and decoding in a communication system using low-density parity-check codes | |
KR101644656B1 (en) | Apparatus and method for generating a parity check metrix in communication system using low-density parity-check codes and channel encoding and decoding using the same | |
KR20110123637A (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
KR20090095432A (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
KR101503653B1 (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 | |
KR101503656B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
KR20170075627A (en) | Apparatus and method for encoding and decoding in communication or broadcasting system | |
KR20090093778A (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
Kumar et al. | A review of channel coding schemes in the 5G standard | |
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 |