KR20090117584A - Apparatus and mathod for encoding low density parity check code - Google Patents
Apparatus and mathod for encoding low density parity check code Download PDFInfo
- Publication number
- KR20090117584A KR20090117584A KR1020080091003A KR20080091003A KR20090117584A KR 20090117584 A KR20090117584 A KR 20090117584A KR 1020080091003 A KR1020080091003 A KR 1020080091003A KR 20080091003 A KR20080091003 A KR 20080091003A KR 20090117584 A KR20090117584 A KR 20090117584A
- Authority
- KR
- South Korea
- Prior art keywords
- matrix
- block
- parity
- puncturing
- sub
- Prior art date
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
-
- 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
본 발명은 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 낮은 오류 마루를 갖는 저 밀도 패리티 검사 코드의 부호화 하는 장치 및 그 방법에 관한 것이다. The present invention relates to an apparatus and method for encoding a low density parity check code, and more particularly, to an apparatus and method for encoding a low density parity check code having a low error floor.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호 : 2006-S-001-02, 과제명 : 4세대 이동통신용 적응 무선접속 및 전송기술개발].The present invention is derived from the research conducted as part of the IT growth engine technology development of the Ministry of Knowledge Economy and the Ministry of Information and Telecommunications Research and Development. Transmission technology development].
이동 통신 시스템이 급속하게 발전함에 따라 무선 네트워크에서 유선 네트워크의 용량(capacity)에 근접하는 대용량 데이터를 전송할 수 있도록 하는 기술의 개발이 요구되고 있다. 그러나, 이동 통신 시스템은 그 특성상 데이터를 전송하는 시점에서의 채널 상황에 따라 잡음(noise)과, 간섭(interference) 및 페이딩(fading) 등으로 인해 불가피하게 오류(error)가 발생하고, 발생한 오류에 의해 정보 데이터의 손실이 발생한다. With the rapid development of mobile communication systems, there is a demand for the development of a technology for transmitting a large amount of data approaching the capacity of a wired network in a wireless network. However, the mobile communication system inevitably generates an error due to noise, interference, fading, and the like depending on the channel conditions at the time of transmitting data. This causes loss of information data.
오류 발생으로 인한 정보 데이터의 손실을 감소시키기 위해 다양한 오류 제 어방식(error-control scheme)이 사용되고 있는데, 이중 에러 정정 부호(error- correcting code)를 사용하는 방식이 가장 보편적으로 사용되고 있다. Various error-control schemes are used to reduce the loss of information data due to errors, and the most commonly used error-correcting code is the most commonly used.
저 밀도 패리티 검사 코드(Low Density Parity Check Code, 이하 "LDPC 코드"라 칭하기로 한다)는 에러 정정 부호의 하나로서, 1962년 갈라거(Gallager)에 의해 제안되었다. LDPC 코드는 복호기(decoder) 구현의 복잡성 때문에 사용되지 않았으나, 1990년대에 들어 성능의 우수함이 입증되고 그 이래로 이 부호에 대한 연구가 활발히 진행되고 있다.The Low Density Parity Check Code (hereinafter referred to as "LDPC code") is one of the error correction codes that was proposed by Gallagher in 1962. LDPC codes were not used due to the complexity of decoder implementations, but their performance has been proven in the 1990s, and research on these codes has been actively conducted since then.
LDPC 코드는 대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 0의 값을 가지는 엘리먼트들 이외의 극소수의 엘리먼트들이 0이 아닌 값(non-zero value, 예를 들어 1의 값)을 가지는 패리티 검사 행렬(Parity Check Matrix)을 이용하여 부호화된다. The LDPC code has a parity where most elements have a zero value and very few elements other than those with a zero value have a non-zero value (eg a value of 1). Coded using a parity check matrix.
LDPC 코드는 천공(puncture)을 통해서 채널 상황에 따른 부호율-호환 가능(rate-compatible)한 특성을 얻을 수 있다. 천공은 보내고자 하는 데이터에서 일부 노드를 보내지 않음으로써 부호율(code rate)을 높이는 방법이다. 이 때, 천공된 노드들을 복호화 하기 위해서는 천공된 노드들의 위치를 복호기가 알고 있다고 전제한다.The LDPC code can obtain a rate-compatible characteristic according to channel conditions through puncture. Punching is a method of increasing the code rate by not sending some nodes in the data to be sent. At this time, in order to decode the punctured nodes, it is assumed that the decoder knows the positions of the punctured nodes.
도 1은 종래 기술에 따른 천공된 LDPC 코드의 복구 트리의 일례를 도시한 도면이다.1 is a diagram illustrating an example of a recovery tree of a perforated LDPC code according to the prior art.
천공된 노드들은 복구되는데 필요한 복호기의 반복 과정 횟수에 따라 분류될 수 있다. 예를 들어, 복호기의 k 번째 복호 과정에서 복구되는 천공된 노드들 은 k-SR 노드(k th-step recoverable node)라고 한다. 일반적으로, k-SR 노드에서 k의 값이 작을수록 복구된 노드에 대한 신뢰도는 높아진다. 따라서 일부 노드를 천공하는 경우, k 값이 낮은 순서부터 천공이 진행된다. Perforated nodes may be classified according to the number of iterations of the decoder necessary to recover. For example, the punctured nodes recovered in the k-th decoding process of the decoder are called k-SR recoverable nodes. In general, the smaller the value of k in the k-SR node, the higher the reliability of the restored node. Therefore, when puncturing some nodes, the puncturing proceeds from the order of low k values.
도 1은 k의 값이 3일 때의 복구 트리를 도시하고 있다. 도 1에서 원형 기호는 가변 노드(variable node)를 의미는 것으로, 패리티 검사 행렬에서 열(column)을 나타낸다. 사각형 기호는 검사 노드(check node)를 의미하는 것으로, 패리티 검사 행렬에서 행(row)을 나타낸다. 각각의 가변 노드와 검사 노드를 연결하는 선은 에지(edge)를 의미하는 것으로서, 패리티 검사 행렬에서의 행렬 원소의 값(0 또는 1)의 값을 결정한다. 복호가 수행되는 반복 순서에 따라 분류된 천공된 노드들은 다시 같은 k-SR 노드끼리 모을 수 있다. 이것을 그룹화라고 하며 k-SR노드들을 묶어서 Gk로 표현 할 수 있다.1 shows a recovery tree when the value of k is three. In FIG. 1, a circular symbol means a variable node, and represents a column in a parity check matrix. The square symbol denotes a check node, which represents a row in the parity check matrix. The line connecting each variable node and the check node means an edge, and determines the value (0 or 1) of the matrix element in the parity check matrix. Perforated nodes classified according to the repetition order in which decoding is performed may be collected again among the same k-SR nodes. This is called grouping and can be expressed as G k by grouping k-SR nodes.
패리티 검사 행렬(H)은 메시지 비트를 행렬 원소로 하는 메시지 서브 행렬(sub matrix)(Hs)와 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬(Hp)을 포함하여 구성될 수 있다().The parity check matrix (H) can comprise a sub-matrix, the message matrix elements of a message in bits (sub matrix) (H s) and the parity sub-matrix of the parity bits to a matrix element (H p) ( ).
패리티 서브 행렬은 E2RC 구조를 가질 수 있는데, E2RC 구조를 갖는 패리티 서브 행렬은 하기 수학식 1과 같이 표현될 수 있다. There parity sub-matrix can have a structure RC E 2, E 2 parity sub-matrix having a RC structure to can be expressed as Equation (1).
여기서, 은 행렬 에서 =1일 때의 행렬을 의미한다. m은 패리티 검사 행렬(또는 패리티 서브 행렬)의 행의 크기를 의미하는 것으로서, m이 2의 승수 값을 가진다고 가정하면(즉, ), 이 l=d 일 때 행렬 크기가 최소가 되고 그때의 행렬 는 가 된다. here, Silver matrix in It means a matrix when = 1. m is the size of the row of the parity check matrix (or parity sub-matrix), assuming that m has a multiplier of 2 (i.e. ), The matrix size becomes the minimum when l = d, then Is Becomes
E2RC 구조를 갖는 패리티 서브 행렬은 행렬의 첫 번째 열부터 차례대로 천공 순서가 매겨진다. 따라서, E2RC 구조를 갖는 패리티 서브 행렬은 천공 순서가 비교적 간단하여 천공에 편리한 구조를 지니고 있다. Parity sub-matrices with an E 2 RC structure are punctured in order from the first column of the matrix. Therefore, the parity sub-matrix having the E 2 RC structure has a structure that is convenient for puncturing because the puncturing order is relatively simple.
상기 언급한 바와 같이 시간이 변함에 따라 채널 상황이 변화하는 경우에 있어, 오류 정정 부호 시스템은 채널 상황 정보(Channel State Information, CSI)에 따라 부호율이 변경할 수 있어야 하는데, 이러한 부호율 적응성(rate adaptability)을 얻기 위해서는 여러 개의 부호기(encoder)와 복호기(decoder)가 필요한데, 부호기와 복호기의 수가 증가하는 경우, 부호 및 복호의 복잡도가 증가하게 된다. As mentioned above, in the case where the channel state changes with time, the error correction code system should be able to change the code rate according to channel state information (CSI). To obtain adaptability, several encoders and decoders are required. When the number of encoders and decoders increases, the complexity of the code and the decoding increases.
반면, 천공에 의하여 부호율을 변경하는 경우, 하나의 부호기와 하나의 복호기만으로도 부호율 적응성을 얻을 수 있다. 또한, E2RC 구조를 가진 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하는 경우, 천공의 복잡도가 감소하고, 다른 천공된 LDPC 코드 보다 뛰어난 성능을 얻을 수 있다. On the other hand, when the code rate is changed by puncturing, only one coder and one decoder can obtain code rate adaptability. In addition, when using a parity check matrix including a parity sub-matrix having an E 2 RC structure, the complexity of puncturing is reduced and performance superior to other punctured LDPC codes can be obtained.
그러나 E2RC 구조를 가진 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하는 경우, 기준 부호율에서 상대적으로 큰 오류 마루가 발생되어, 신호 대 잡음전력비(Signal to Noise Ratio, SNR)가 증가하여도 오류 확률이 크게 줄어들지 않게 되고, BER(Bit Error Rate) 성능이 나빠진다.However, when using a parity check matrix including a parity sub-matrix with an E 2 RC structure, a relatively large error floor occurs at the reference code rate, so that an error occurs even when the signal to noise ratio (SNR) increases. Probability is not greatly reduced and Bit Error Rate (BER) performance is degraded.
본 발명의 목적은 E2RC 구조를 변경하여 낮은 오류 마루를 가지는 저 밀도 패리티 코드를 부호화하는 것이다. It is an object of the present invention to modify the E 2 RC structure to encode a low density parity code with low error floor.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명은 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬(sub matrix)을 포함하는 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성부, 상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 천공부, 및 상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어(information code)를 부호화하는 부호화부를 포함하고 상기 패리티 서브 행렬은 E2RC(Efficiently Encodable Rate compatible) 구조를 가지는 복수 개의 제1 블록 행렬을 포함하는 저 밀도 패리티 검사 코드의 부호화 장치를 제공한다. In order to achieve the object of the present invention as described above, the present invention provides a parity check matrix generating unit for generating a parity check matrix including a parity sub matrix having parity bits as matrix elements, and the parity sub-matrix of the parity sub-matrix. And a puncturing unit for puncturing at least one matrix element among matrix elements, and an encoding unit for encoding an information code input from a user using the parity check matrix on which the puncturing is performed. Provides an apparatus for encoding a low density parity check code including a plurality of first block matrices having an E 2 RC (Efficiently Encodable Rate compatible) structure.
본 발명의 일측에 따르면, 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성하는 단계, 상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 단계, 및 상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화하는 단계를 포함하고 상기 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함하는 저 밀도 패리티 검사 코드의 부호화 방법이 제공된다.According to one aspect of the invention, generating a parity check matrix including a parity sub-matrix having a parity bit as a matrix element, performing a puncture on at least one matrix element of the matrix elements of the parity sub-matrix, And encoding an information word input from a user using the parity check matrix on which the puncturing has been performed, wherein the parity sub-matrix comprises a plurality of first block matrices having an E 2 RC structure. An encoding method of is provided.
본 발명에 따르면, 변경된 E2RC 구조를 가지는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하여 저 밀도 패리티 코드의 부호화를 수행함으로써, 낮은 오류 마루를 가지는 저 밀도 패리티 코드를 생성할 수 있다.According to the present invention, a low density parity code having a low error floor can be generated by encoding a low density parity code using a parity check matrix including a parity submatrix having a modified E 2 RC structure.
이하, 첨부된 도면을 참조하여, 본 발명에 따른 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법에 대해 상세히 설명한다. Hereinafter, an apparatus and method for encoding a low density parity check code according to the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 일실시예에 따른 패리티 서브 행렬을 도시한 도면이다. 이하, 도 2를 참조하여 본 발명의 일실시예에 따른 패리티 서브 행렬을 자세히 설명하기로 한다. 2 illustrates a parity sub-matrix according to an embodiment of the present invention. Hereinafter, a parity submatrix according to an embodiment of the present invention will be described in detail with reference to FIG. 2.
천공된 LDPC 코드를 부호화함에 있어서, 천공이 수행되는 부분은 일정한 구조를 가지는 패리티 서브 행렬(Hp) 부분이다. 천공이 수행되는 행렬 원소(또는 가변 노드)의 수에 따라 LDPC 코드의 부호율을 변경할 수 있다. 천공이 수행되는 행렬 원소(또는 가변 노드)의 수에 따른 부호율은 하기 수학식 2와 같이 표현할 수 있다. In encoding the punctured LDPC code, the puncture is performed on the parity sub-matrix (H p ) having a certain structure. The code rate of the LDPC code may be changed according to the number of matrix elements (or variable nodes) on which the puncturing is performed. The code rate according to the number of matrix elements (or variable nodes) for which puncturing is performed may be expressed as in
여기서, R은 천공된 LDPC 코드의 부호율, n은 LDPC 코드의 길이, k는 정보어(information code)의 길이, np는 천공된 부호의 길이를 각각 의미한다. Where R is the code rate of the punctured LDPC code, n is the length of the LDPC code, k is the length of the information code, and n p is the length of the punctured code.
상기 수학식 2를 통해 알 수 있듯이, 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치 및 방법은 천공되는 행렬 원소의 수를 조절함으로써, 부호율을 변경할 수 있다. As can be seen from
종래의 E2RC LDPC 코드의 경우, E2RC구조를 갖는 하나의 행렬로 구성된 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하여 LDPC 코드의 부호화가 수행되었다. LDCP 코드의 길이가 커질수록 패리티 서브 행렬에서의 최대 검사 노드 차수가 커지게 되는데, 이러한 최대 검사 노드 차수의 증가는 패리티 서브 행렬에서의 검사 노드의 차수 분포가 더욱 분산되도록 하였고, 이로 인해 작은 값의 ACE(Approximate cycle EMD)를 갖는 사이클을 많이 생성되었다. 즉, 작은 크기의 정지 집합(stopping set)의 개수가 많아지게 되고, 그 결과 LDPC 코드는 높은 오류 마루를 갖게 된다. 높은 오류 마루를 갖는 LDPC 코드의 경우, 신호 대 잡음 비가 증가하여도 오류 확률이 크게 줄지 않아 BER(Bit Error Rate), FER(Frame Error Rate) 성능이 낮아지게 되었다.In the conventional E 2 RC LDPC code, encoding of the LDPC code is performed using a parity check matrix including a parity sub-matrix composed of one matrix having an E 2 RC structure. As the length of the LDCP code increases, the maximum check node order in the parity sub-matrix increases. This increase in the maximum check node order causes the distribution of the order of the check nodes in the parity sub-matrix to be more distributed. Many cycles with ACE (Approximate cycle EMD) have been created. That is, the number of small stopping sets becomes large, and as a result, the LDPC code has a high error floor. For LDPC codes with high error floors, the error probability does not decrease significantly even if the signal-to-noise ratio is increased, resulting in low bit error rate (BER) and frame error rate (FER) performance.
본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치 및 방 법은 E2RC 구조를 갖는 패리티 서브 행렬의 구조를 변경함으로써, 패리티 서브 행렬에서의 최대 검사 노드 차수를 감소시키고 전체 검사 노드 차수 분포를 응집시켜, 기존 성능의 열화 없이도 높은 오류 마루를 갖는 LDPC 코드의 문제점을 해결할 수 있게 된다. An apparatus and method for encoding a low density parity check code according to an embodiment of the present invention changes the structure of a parity submatrix having an E 2 RC structure, thereby reducing the maximum check node order in the parity submatrix and reducing the total check node. By agglomerating the order distribution, the problem of LDPC codes with high error floors can be solved without deteriorating existing performance.
도 2에 도시된 바와 같이 본 발명의 일실시예에 따르면, 패리티 서브 행렬(Hp)은 복수 개의 블록 행렬을 포함하여 구성될 수 있다. 이 때, 패리티 서브 행렬(Hp)은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함할 수 있다. As shown in FIG. 2, the parity sub-matrix H p may include a plurality of block matrices. In this case, the parity sub-matrix H p may include a plurality of first block matrices having an E 2 RC structure.
내지 행렬은 E2RC 구조를 가지는 제1 블록 행렬을 각각 의미한다. E2RC 구조의 제1 블록 행렬은 재귀적인 형태를 가지는데, 상기 내지 행렬을 일반화하여 표현하면 하기 수학식 3과 같다. To The matrix means a first block matrix each having an E 2 RC structure. The first block matrix of the E 2 RC structure is recursive. To The generalization of the matrix is expressed as
여기서, b는 E2RC 구조를 가지는 블록 행렬의 크기, 는 의 크기를 갖는 단위 행렬, 는 의 크기를 갖는 영행렬을 각각 의미한다. 또한, 은 1 에서 사이의 값을 갖는 자연수이고, j는 1 에서 (, m은 패리티 검사 행렬의 크기를 의미함)의 값을 갖는 복수개의 E2RC 구조를 가지는 블록 행렬의 순서를 각각 의미하고, b와 는 의 관계를 가진다. 이 값을 갖는 경우, 가 된다.Where b is the size of a block matrix having an E 2 RC structure, Is An identity matrix with the size of, Is Each means a matrix having a size of. Also, Is from 1 Is a natural number with a value between and j is from 1 ( , m denotes the size of the parity check matrix), and b and b denote a sequence of block matrices having a plurality of E 2 RC structures. Is Has a relationship with this Has a value, Becomes
도 2에 도시된 바와 같이 본 발명의 일실시예에 따르면, 패리티 서브 행렬(Hp)은 제1 블록 행렬의 행렬 크기에 상응하는 블록 단위의 행과 열로 표현될 수 있고, 이때, 복수 개의 제1 블록 행렬들은 패리티 서브 행렬(Hp)의 블록 단위의 대각선 축 상에 위치할 수 있다. 이는 E2RC 구조의 행렬 특성에 따른 것이다. As shown in FIG. 2, the parity sub-matrix H p may be represented as a row and a column in block units corresponding to the matrix size of the first block matrix. The one block matrices may be located on the diagonal axis of the block unit of the parity sub-matrix H p . This is due to the matrix characteristics of the E 2 RC structure.
또한, 패리티 서브 행렬(Hp)은 복수 개의 영행렬(Ob)과 복수 개의 제2 블록 행렬(Cb)을 포함하여 구성될 수 있다. Also, the parity sub-matrix H p may include a plurality of zero matrixes O b and a plurality of second block matrices C b .
대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 0의 값을 가지는 엘리먼트들 이외의 극소수의 엘리먼트들이 0이 아닌 값(non-zero value, 예를 들어 1의 값)을 가지는 패리티 검사 행렬의 특성을 만족시키기 위해, 패리티 서브 행렬의 대부분은 행렬 원소가 0의 값을 갖는 영행렬(Ob)로 구성된다. Most elements have a zero value, and very few elements other than zero have a non-zero value (for example, a value of 1). In order to satisfy the property, most of the parity sub-matrix consists of zero matrix O b , where the matrix element has a value of zero.
제2 블록 행렬(Cb)는 LDPC 코드 부호화의 성능 향상을 위해 추가되는 블록 행렬로서, 이는 하기 수학식 4와 같이 표현할 수 있다. The second block matrix C b is a block matrix added to improve the performance of LDPC code encoding, which can be expressed as Equation 4 below.
즉, 제2 블록 행렬(Cb)는 패리티 서브 행렬(Hp)에서의 가변 노드의 차수를 "2"로 맞추기 위해 추가 되는 서브 행렬이다. 패리티 서브 행렬(Hp)서의 가변 노드의 차수가 2인 경우, 즉 제2 블록 행렬(Cb)를 추가한 경우, LDPC 코드의 부호화 성능은 높아지게 된다. That is, the second block matrix C b is a sub-matrix added to adjust the order of the variable nodes in the parity sub-matrix H p to "2". When the order of the variable nodes in the parity sub-matrix H p is 2, that is, when the second block matrix C b is added, the encoding performance of the LDPC code is increased.
본 발명의 일실시예에 따르면, 패리티 서브 행렬(Hp)의 최우측 블록 단위의 열은 제2 블록 행렬을 포함하지 않을 수 있다. 패리티 서브 행렬(Hp)의 최우측 블 록 단위 열에 제2 블록 행렬(Cb)이 포함된 경우보다 포함되지 않은 경우, 패리티 서브 행렬의 최우측 열의 가변 노드의 차수는 1이 되고, 이 경우, LDPC 코드는 더 좋은 성능을 갖게 된다. 이는 E2RC 구조의 특성에 따른 것이다. According to an embodiment of the present invention, the column of the rightmost block unit of the parity sub-matrix H p may not include the second block matrix. If the rightmost block unit column of the parity submatrix H p does not contain the second block matrix C b , the order of the variable nodes of the rightmost column of the parity submatrix is 1, in which case The LDPC code will have better performance. This is due to the characteristics of the E 2 RC structure.
이와 같이, 본 발명은 LDPC 코드의 부호화에 사용되는 패리티 서브 행렬을 복수 개의 E2RC 구조를 갖는 작은 크기의 제1 블록 행렬을 포함하도록 구성함으로써, 패리티 서브 행렬의 최대 검사 노드 차수가 패리티 서브 행렬의 행렬 크기(m)가 아닌 제1 블록 행렬의 행렬 크기(b)에 의해 결정되도록 한다. 다시 말해, 행렬 크기가 작은(즉, b 값이 작은) 제1 블록 행렬을 이용하여 LDPC 코드의 부호화를 수행하는 경우, 패리티 검사 행렬의 검사 노드의 차수 분포가 응집되고, 최대 검사 노드 차수가 작아지게 된다. 이에 따라 패리티 서브행렬의 최대 검사 노드 차수는 LDPC 코드의 길이에 상관없이 고정된 값을 상기 언급한 높은 오류 마루의 문제를 해결할 수 있게 된다. As described above, the present invention configures the parity sub-matrix used for encoding the LDPC code to include a small first block matrix having a plurality of E 2 RC structures, whereby the maximum parity sub-order of the parity sub-matrix is a parity sub-matrix. It is determined by the matrix size (b) of the first block matrix, not the matrix size (m) of. In other words, when the LDPC code is encoded using a first block matrix having a small matrix size (that is, a small b value), the order distribution of the check nodes of the parity check matrix is aggregated and the maximum check node orders are small. You lose. Accordingly, the maximum check node order of the parity submatrix can solve the problem of the high error floor mentioned above with a fixed value irrespective of the length of the LDPC code.
도 2에서 도시된 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행하는 경우, 검사 노드의 차수 분포에 관한 다항식의 일반식은 하기 수학식 5에 따라 결정된다. When encoding LDPC codes are performed by using the parity sub-matrix shown in FIG.
여기서, 는 검사 노드의 차수 분포에 관한 다항식, i는 검사 노드에 연결된 에지의 개수, 는 i개의 에지와 연결된 검사 노드의 수 대 전체 에지의 수의 비율을 각각 의미하는데, 이 경우 는 하기 수학식 6에 따라서 결정될 수 있다. here, Is the polynomial of the order distribution of the check nodes, i is the number of edges connected to the check node, Denotes the ratio of the number of inspection nodes connected to the i edges to the total number of edges, respectively. May be determined according to Equation 6 below.
상기 수학식 6을 통해 알 수 있듯이, 도 2에 도시된 패리티 서브 행렬(Hp)를 이용하여 LDPC 코드의 부호화를 수행하는 경우, 패리티 서브 행렬(Hp)의 최대 검 사 노드 차수는 행렬 크기 m과 상관 없이 에 의해 결정된다. 따라서, 값을 작게 하는 경우, 즉 제1 블록 행렬의 크기를 작게 하는 경우, 패리티 검사 행렬의 검사노드의 차수 분포가 응집되고, 최대 검사 노드 차수의 크기가 줄어들어, 낮은 오류 마루를 갖는 LDPC 코드를 부호화 할 수 있게 된다. As can be seen from Equation 6, when the LDPC code is encoded using the parity sub-matrix H p shown in FIG. 2, the maximum detection node order of the parity sub-matrix H p is the matrix size. irrespective of m Determined by therefore, When the value is reduced, that is, when the size of the first block matrix is reduced, the order distribution of the check nodes of the parity check matrix is aggregated and the size of the maximum check node order is reduced, so that LDPC codes having a low error floor can be encoded. It becomes possible.
일례로서, 정보어의 길이가 1024이고, LDPC 코드의 길이가 2048인 경우, 16×16 의 행렬 크기를 갖는 제1 블록 행렬 및 제2 블록 행렬을 포함하는 패리티 서브 행렬을 이용하여 LDPC 부호화를 수행한다고 가정하여 종래의 E2RC LDPC 코드와 본 발명의 일례에 따른 E2RC LDPC 코드를 각각 비교해 보면, 가변 노드의 차수 분포는 0.00015+0.30765x+0.27287x2+0.41933 x6로 동일하나, 검사 노드의 차수 분포는 0.441899x5+0.521797x6+0.017854x7+0.012052x8+0.002976x9+0.001637x10+0.001785x11(종래의 E2RC LDPC 코드)와 0.400833x5+0.596786x6+0.002381x7(본 발명의 일례에 따른 E2RC LDPC 코드)로 각각 다른 형태를 가진다. 즉 본 발명의 일례에 따른 E2RC LDPC 코드가 종래의 E2RC LDPC 코드 보다 더 응집된 검사 노드의 차수 분포를 가지게 되고, 이에 따라 본 발명의 일례에 따른 E2RC LDPC 코드가 종래의 E2RC LDPC 코드에 비해 더 좋은 성능(낮은 오류 마루)을 가지게 됨을 알 수 있다. As an example, when the length of the information word is 1024 and the length of the LDPC code is 2048, LDPC encoding is performed using a parity sub-matrix including a first block matrix and a second block matrix having a matrix size of 16 × 16. When comparing the conventional E 2 RC LDPC code and the E 2 RC LDPC code according to an example of the present invention, the order distribution of the variable nodes is the same as 0.00015 + 0.30765 x + 0.27287 x 2 + 0.41933 x 6 The order distribution of the nodes is 0.441899x 5 + 0.521797x 6 + 0.017854x 7 + 0.012052x 8 + 0.002976x 9 + 0.001637x 10 + 0.001785x 11 (traditional E 2 RC LDPC code) and 0.400833x 5 + 0.596786x 6 + 0.002381x 7 (E 2 RC LDPC code according to an example of the present invention), each having a different form. That is, the E 2 RC LDPC code according to an example of the present invention has a higher order distribution of test nodes than the conventional E 2 RC LDPC code, and accordingly, the E 2 RC LDPC code according to an example of the present invention is a conventional E We can see that we have better performance (lower error floor) than 2 RC LDPC codes.
도 3은 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치의 구조를 도시한 블록도이다. 3 is a block diagram illustrating a structure of an encoding apparatus of a low density parity check code according to an embodiment of the present invention.
본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치(300)는 패리티 검사 행렬 생성부(310), 천공부(320), 및 부호화부(330)를 포함한다. 이하, 도 3을 참조하여 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치에 대해 자세히 설명하기로 한다.The low density parity check
패리티 검사 행렬 생성부(310)는 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성하는 기능을 수행한다. The parity
패리티 검사 행렬은 선형 부호의 패리티 검사를 나타내는 행렬로서, 패리티 검사 행렬은 메시지 비트인 행렬 원소와 패리티 비트인 행렬 원소를 포함한다. 패리티 서브 행렬은 패리티 비트인 행렬 원소로 구성된 패리티 검사 행렬의 서브 행렬(sub matrix)을 의미한다. The parity check matrix is a matrix representing a parity check of a linear code. The parity check matrix includes a matrix element that is a message bit and a matrix element that is a parity bit. The parity sub-matrix means a sub matrix of a parity check matrix composed of matrix elements that are parity bits.
본 발명의 일실시예에 따르면, 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함할 수 있다. According to an embodiment of the present invention, the parity sub-matrix may include a plurality of first block matrices having an E 2 RC structure.
종래의 E2RC LDPC 코드의 경우, E2RC 구조를 갖는 하나의 행렬로서 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행하였으나, 본 발명의 일실시예에 따른 저 밀도 패리티 코드의 부호화 장치는 E2RC 구조를 갖는 복수 개의 제1 블록 행렬을 포함하는 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행한다. 이 경우, 각각의 제1 블록 행렬들은 동일한 행렬 크기를 가질 수 있다. In the conventional E 2 RC LDPC code, an LDPC code is encoded using a parity sub-matrix as one matrix having an E 2 RC structure. However, the low density parity code encoding apparatus according to an embodiment of the present invention The LDPC code is encoded using a parity sub-matrix including a plurality of first block matrices having an E 2 RC structure. In this case, each of the first block matrices may have the same matrix size.
본 발명의 일실시예에 따르면, 패리티 서브 행렬의 행의 개수 및 제1 블록 행렬의 행의 개수는 2의 지수 승 형태일 수 있다. According to an embodiment of the present invention, the number of rows of the parity sub-matrix and the number of rows of the first block matrix may have an exponential power of two.
이는 E2RC 구조를 갖는 행렬의 구조에 기인한 것으로서, 제1 블록 행렬의 행의 개수가 2의 지수 승 형태로 표현되는 경우(예를 들어, ) 패리티 서브 행렬의 설계가 간단해진다. This is due to the structure of a matrix having an E 2 RC structure, where the number of rows of the first block matrix is represented by an exponential power of two (for example, Parity submatrix is simplified.
본 발명의 일실시예에 따르면, E2RC 구조를 가지는 복수 개의 제1 블록 행렬은 패리티 서브 행렬의 블록 단위의 대각선 축(diagonal)상에 위치할 수 있다. 이는 E2RC 구조의 행렬 특성에 따른 것이다.According to an embodiment of the present invention, a plurality of first block matrices having an E 2 RC structure may be located on a diagonal axis in blocks of the parity sub-matrix. This is due to the matrix characteristics of the E 2 RC structure.
본 발명의 일실시예에 따르면, 패리티 서브 행렬은 패리티 서브 행렬에서의 가변 노드의 차수를 조절하기 위한 적어도 하나의 제2 블록 행렬을 포함할 수 있다. 일례로서, E2RC 구조를 갖는 행렬의 경우, 가변 노드의 차수가 2의 값을 가질 수 있는데, 이 경우, 제2 블록 행렬은 1의 값을 갖는 하나의 행렬 원소를 포함할 수 있고, 나머지 행렬 원소는 0의 값을 가질 수 있다. According to an embodiment of the present invention, the parity sub-matrix may include at least one second block matrix for adjusting the order of the variable nodes in the parity sub-matrix. As an example, for a matrix with an E 2 RC structure, the order of the variable nodes may have a value of 2, in which case the second block matrix may include one matrix element having a value of 1, and the rest The matrix element may have a value of zero.
본 발명의 일실시예에 따르면, 제1 블록 행렬과 제2 블록 행렬은 동일한 행렬크기를 갖고, 패리티 서브 행렬에서 최우측 블록 단위의 열을 제외한 각각의 블록 단위의 열은 복수 개의 제1 블록 행렬 중 하나의 제1 블록 행렬과 적어도 하나의 제2 블록 행렬 중 하나의 제2 블록 행렬을 포함할 수 있다. 일례로서, 도 2에 도시된 패리티 서브 행렬(Hp)의 구조와 같이, 복수 개의 제1 블록 행렬들은 패리티 서브 행렬의 블록 단위의 대각선 축 상에 위치하고, 적어도 하나의 제2 블록 행렬들은 제1 블록 행렬의 하부에 위치할 수 있다. 본 발명의 일례에 따르면, 제1 블록 행렬은 상기 수학식 3과 같이 표현될 수 있고, 제2 블록 행렬은 상기 수학식 4와 같이 표현될 수 있는데, 이 경우, 패리티 서브 행렬에서의 가변 노드의 차수는 패리티 서브 행렬의 최우측 열을 제외하고는 2로 결정될 수 있다(최우측 열의 가변 노드 차수는 1이 된다). According to an embodiment of the present invention, the first block matrix and the second block matrix have the same matrix size, and the columns of each block unit except the column of the rightmost block unit in the parity sub-matrix are a plurality of first block matrices. One second block matrix of one of the first block matrix and at least one second block matrix. As an example, as in the structure of the parity sub-matrix H p shown in FIG. 2, the plurality of first block matrices are located on a diagonal axis of a block unit of the parity sub-matrix, and the at least one second block matrices are first It may be located below the block matrix. According to an example of the present invention, the first block matrix may be expressed as
본 발명의 일실시예에 따르면, 패리티 서브 행렬에서의 검사 노드의 차수 분포는 제1 블록 행렬의 행렬 크기에 기초하여 결정될 수 있다. 즉, 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치는 패리티 서브 행렬에서의 검사 노드의 차수 분포가 패리티 서브 행렬의 행렬 크기가 아닌 제1 블록 행렬의 행렬 크기에 따라 결정된다. 이에 따라, LDPC 코드의 크기가 큰 경우에도 작은 행렬 크기를 갖는 제1 블록 행렬을 사용하여 부호화를 수행하는 경우, 낮은 오류 마루를 갖는 LDPC 코드를 부호화 할 수 있게 된다. 본 발명의 일례에 따르면, 패리티 서브 행렬에서의 검사 노드의 차수 분포는 상기 수학식 5 및 상기 수학식 6에 따라 결정될 수 있다. According to an embodiment of the present invention, the order distribution of the check nodes in the parity sub-matrix may be determined based on the matrix size of the first block matrix. That is, in the encoding apparatus of the low density parity check code according to the embodiment of the present invention, the order distribution of the check nodes in the parity sub-matrix is determined according to the matrix size of the first block matrix rather than the matrix size of the parity sub-matrix. Accordingly, even when the size of the LDPC code is large, when encoding is performed using the first block matrix having the small matrix size, the LDPC code having the low error floor can be encoded. According to an example of the present invention, the order distribution of the check nodes in the parity sub-matrix may be determined according to Equations 5 and 6 above.
천공부(320)는 패리티 서브 행렬의 행렬 원소 중에서 적어도 하나의 행렬원소에 대하여 천공을 수행한다. The
천공(puncture)은 코드의 부호화에 있어서, 부호율(code rate)을 조절하기 위하여, 전송하고자 하는 데이터에서 일부 비트(노드)를 보내지 않는 것을 의미한다. 천공된 코드를 복호화 하기 위해서는 천공된 일부 비트(노드)의 위치를 복호기가 알고 있다는 전제가 필요하다. Punching means that some bits (nodes) are not sent in the data to be transmitted in order to adjust a code rate in coding of a code. In order to decode the punctured code, it is necessary to assume that the decoder knows the location of some punctured bits (nodes).
본 발명의 일실시예에 따르면, 천공부(320)는 복수 개의 제1 블록 행렬 각 각에 대하여, 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 천공 순서에 따라 제1 블록 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행할 수 있다. According to one embodiment of the present invention, the
즉, 천공부(320)는 패리티 서브 행렬의 행렬 원소에 대하여 천공을 수행함에 있어서, 제1 블록 행렬의 행렬 크기에 기초하여 각각의 제1 블록 행렬의 행렬 원소를 천공한다. That is, when the
이 경우, 제1 블록 행렬에서의 천공의 순서는 제1 블록 행렬의 크기에 기초하여 결정될 수 있는데, 천공의 순서는 각각의 블록화된 제1 블록 행렬의 0 값을 갖는 행렬 원소를 제외하고, k-SR 노드에서 k 값이 낮은 순서부터 천공이 진행될 수 있다. 천공이 수행되는 노드의 순서를 천공할 노드의 색인으로 정의하면, 천공할 노드의 색인은 하기 수학식 7에 따라서 결정될 수 있다. In this case, the order of puncturing in the first block matrix may be determined based on the size of the first block matrix, where the order of puncturing is k, except for matrix elements having zero values of each blocked first block matrix. In the SR node, the puncturing may proceed from the order of low k values. If the order of nodes to be punctured is defined as the index of the node to be punctured, the index of the node to be punctured may be determined according to Equation 7 below.
여기서, j는 천공의 순서, pj는 천공이 수행되는 노드의 순서(에지, 검사 노드, 가변 노드로 구성되는 인수 그래프에 있어서, j번째 천공은 좌측에서 pj 번째 노드에 대해 수행됨), r은 를, q는 를 각각 의미한다. 이 경우, j는 의 범위를 갖는다. Here, j is the order of puncturing, p j is the order of the nodes where the puncture is performed (edge, check node, variable node in the graph, j j puncture is from the left p j For the first node), r is Where q is Means each. In this case, j is Has a range of.
상기 수학식 7에서 알 수 있듯이, 각각의 제1 블록 행렬에서의 천공의 순서는 제1 블록 행렬의 행렬 크기인 b값에 따라 결정된다. As can be seen from Equation 7, the order of puncturing in each first block matrix is determined according to the value of b, which is the matrix size of the first block matrix.
부호화부(330)는 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화하는 기능을 수행한다. The
본 발명의 일례에 따르면, 각각의 제1 블록 행렬들은 적어도 하나의 비천공 노드를 포함하는데, 이 경우, 최대 천공 노드의 수는 m- mb 가 되고, LDPC 코드의 최대 부호율은 하기 수학식 8과 같이 표현할 수 있다. According to an example of the present invention, each of the first block matrices includes at least one non-puncture node, in which case, the maximum number of punctured nodes is m-m b , and the maximum code rate of the LDPC code is It can be expressed as 8
여기서, k는 정보어의 길이, n은 LDPC 코드의 길이, m(=n-k)은 검사 노드의 개수를 의미하고, , , 의 관계가 각각 성립한다. Where k is the length of the information word, n is the length of the LDPC code, and m (= nk) is the number of check nodes. , , Each relationship is established.
도 4는 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 방법을 단계별로 도시한 도면이다. 이하 도 4를 참조하여 각 단계별로 수행되는 과 정을 상술하기로 한다4 is a diagram illustrating a step-by-step method for encoding a low density parity check code according to an embodiment of the present invention. Hereinafter, a process performed at each step will be described in detail with reference to FIG. 4.
단계(S410)에서는 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성한다. In step S410, a parity check matrix including a parity sub-matrix having parity bits as matrix elements is generated.
본 발명의 일실시예에 따르면, 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함할 수 있다. According to an embodiment of the present invention, the parity sub-matrix may include a plurality of first block matrices having an E 2 RC structure.
종래의 E2RC LDPC 코드의 경우, E2RC 구조를 갖는 하나의 행렬로서 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행하였으나, 본 발명의 일실시예에 따른 저 밀도 패리티 코드의 부호화 장치는 E2RC 구조를 갖는 복수 개의 제1 블록 행렬을 포함하는 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행한다. 이 경우, 각각의 제1 블록 행렬들은 동일한 행렬 크기를 가질 수 있다. In the conventional E 2 RC LDPC code, an LDPC code is encoded using a parity sub-matrix as one matrix having an E 2 RC structure. However, the low density parity code encoding apparatus according to an embodiment of the present invention The LDPC code is encoded using a parity sub-matrix including a plurality of first block matrices having an E 2 RC structure. In this case, each of the first block matrices may have the same matrix size.
본 발명의 일실시예에 따르면, 패리티 서브 행렬의 행의 개수 및 제1 블록 행렬의 행의 개수는 2의 지수 승 형태일 수 있다. 이는 패리티 서브 행렬의 설계를 간단하게 하기 위함이다. According to an embodiment of the present invention, the number of rows of the parity sub-matrix and the number of rows of the first block matrix may have an exponential power of two. This is to simplify the design of the parity sub-matrix.
본 발명의 일실시예에 따르면, E2RC 구조를 가지는 복수 개의 제1 블록 행렬은 패리티 서브 행렬의 블록 단위의 대각선 축 상에 위치할 수 있다. According to an embodiment of the present invention, a plurality of first block matrices having an E 2 RC structure may be located on a diagonal axis of a block unit of the parity sub-matrix.
본 발명의 일실시예에 따르면, 패리티 서브 행렬은 패리티 서브 행렬에서의 가변 노드의 차수를 조절하기 위한 적어도 하나의 제2 블록 행렬을 포함할 수 있다. 일례로서, 제2 블록 행렬은 1의 값을 갖는 하나의 행렬 원소를 포함할 수 있 고, 나머지 행렬 원소는 0의 값을 가질 수 있다. According to an embodiment of the present invention, the parity sub-matrix may include at least one second block matrix for adjusting the order of the variable nodes in the parity sub-matrix. As an example, the second block matrix may include one matrix element having a value of 1, and the remaining matrix elements may have a value of zero.
본 발명의 일실시예에 따르면, 제1 블록 행렬과 제2 블록 행렬은 동일한 행렬크기를 갖고, 패리티 서브 행렬에서 최우측 블록 단위의 열을 제외한 각각의 블록 단위의 열은 복수 개의 제1 블록 행렬 중 하나의 제1 블록 행렬과 적어도 하나의 제2 블록 행렬 중 하나의 제2 블록 행렬을 포함할 수 있다. According to an embodiment of the present invention, the first block matrix and the second block matrix have the same matrix size, and the columns of each block unit except the column of the rightmost block unit in the parity sub-matrix are a plurality of first block matrices. One second block matrix of one of the first block matrix and at least one second block matrix.
본 발명의 일실시예에 따르면, 패리티 서브 행렬에서의 검사 노드의 차수 분포는 제1 블록 행렬의 행렬 크기에 기초하여 결정될 수 있다. 즉, LDPC 코드의 크기가 큰 경우에도 작은 행렬 크기를 갖는 제1 블록 행렬을 사용하여 부호화를 수행하는 경우, 낮은 오류 마루를 갖는 LDPC 코드를 부호화 할 수 있게 된다.According to an embodiment of the present invention, the order distribution of the check nodes in the parity sub-matrix may be determined based on the matrix size of the first block matrix. That is, even when the size of the LDPC code is large, when encoding is performed using the first block matrix having a small matrix size, the LDPC code having a low error floor can be encoded.
단계(S420)에서는 단계(S410)에서 생성된 패리티 서브 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행한다. 천공된 코드를 복호화 하기 위해서는 천공된 일부 비트(노드)의 위치를 복호기가 알고 있다는 전제가 필요하다. In operation S420, puncturing is performed on at least one matrix element among the matrix elements of the parity sub-matrix generated in operation S410. In order to decode the punctured code, it is necessary to assume that the decoder knows the location of some punctured bits (nodes).
본 발명의 일실시예에 따르면, 단계(S420)에서는 복수 개의 제1 블록 행렬 각각에 대하여, 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 천공 순서에 따라 제1 블록 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행할 수 있다. According to an embodiment of the present invention, in step S420, for each of the plurality of first block matrices, at least one of matrix elements of the first block matrix according to the puncturing order determined based on the matrix size of the first block matrix. Perforation may be performed on the matrix elements of.
단계(S430)에서는 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화한다. In operation S430, the information word input from the user is encoded by using the parity check matrix on which the puncturing is performed.
지금까지 본 발명에 따른 저 밀도 패리티 검사 코드의 부호화 방법의 실시 예들에 대하여 설명하였고, 앞서 도 3에서 설명한 안테나 방사 성능 측정 시스템에 관한 구성이 본 실시예에도 그대로 적용 가능하다. 이에, 보다 상세한 설명은 생략하기로 한다.The embodiments of the method of encoding the low density parity check code according to the present invention have been described so far, and the configuration of the antenna radiation performance measuring system described above with reference to FIG. 3 is also applicable to the present embodiment. Therefore, more detailed description will be omitted.
또한, 본 발명에 따른 저 밀도 패리티 검사 코드의 부호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. In addition, the method of encoding the low density parity check code according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Examples of program instructions such as magneto-optical, ROM, RAM, flash memory, etc. may be executed by a computer using an interpreter as well as machine code such as produced by a compiler. Contains high-level language codes. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므 로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.
도 1은 종래 기술에 따른 천공된 LDPC 코드의 복구 트리의 일례를 도시한 도면이다.1 is a diagram illustrating an example of a recovery tree of a perforated LDPC code according to the prior art.
도 2는 본 발명의 일실시예에 따른 패리티 서브 행렬을 도시한 도면이다.2 illustrates a parity sub-matrix according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치의 구조를 도시한 블록도이다. 3 is a block diagram illustrating a structure of an encoding apparatus of a low density parity check code according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 방법을 단계별로 도시한 도면이다.4 is a diagram illustrating a step-by-step method for encoding a low density parity check code according to an embodiment of the present invention.
Claims (10)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080043432 | 2008-05-09 | ||
KR20080043432 | 2008-05-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090117584A true KR20090117584A (en) | 2009-11-12 |
KR100999272B1 KR100999272B1 (en) | 2010-12-07 |
Family
ID=41602035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080091003A KR100999272B1 (en) | 2008-05-09 | 2008-09-17 | Apparatus and mathod for encoding low density parity check code |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100999272B1 (en) |
-
2008
- 2008-09-17 KR KR1020080091003A patent/KR100999272B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100999272B1 (en) | 2010-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100984289B1 (en) | Signal transmitting/receiving apparatus for supporting variable coding rate in a communication system and method thereof | |
CN103888148B (en) | A kind of LDPC code Hard decision decoding method of dynamic threshold bit reversal | |
KR101208546B1 (en) | Method of encoding and decoding using low density parity check matrix | |
KR101791477B1 (en) | Apparatus and method for transmitting and receiving data in communication/broadcasting system | |
KR100640399B1 (en) | Puncturing method for ldpc channel code | |
JP5506879B2 (en) | Channel decoding apparatus and method for communication system using low density parity check code | |
KR101723258B1 (en) | Method and apparatus for transmitting and receiving data in a communication system | |
JP5875713B2 (en) | Transmitter and receiver, and coding rate variable method | |
KR20140145978A (en) | Method and apparatus for encoding and decoding of low density parity check codes | |
US8656244B1 (en) | Rate adaptive nonbinary LDPC codes with low encoding complexity | |
US8667378B2 (en) | Decoding method and device for concatenated code | |
KR20120083858A (en) | Apparatus and method for transmitting and receiving data in communication/broadcasting system | |
US8468430B2 (en) | Product code decoding method and device | |
US7949932B2 (en) | Strengthening parity check bit protection for array-like LDPC codes | |
CN101141133A (en) | Method of encoding structured low density check code | |
KR20090003164A (en) | Check matrix generating method | |
KR20080102902A (en) | Method and apparatus for designing low density parity check code with multiple code rate, and information storage medium thereof | |
CN104883194B (en) | Interpretation method is blocked in a kind of H-matrix building method of RS-LDPC two dimensional product codes and its sliding | |
CN109067408A (en) | A kind of design method of protograph LDPC code | |
CN110830048B (en) | Error correction method for constructing full-diversity LDPC code based on parity check matrix decomposition | |
EP1901435A1 (en) | An interleaving scheme for an LDPC coded 32APSK system | |
KR100837730B1 (en) | Method for reduced complexity encoder generating low density parity check codes | |
CN108206722B (en) | High-bit-rate data sending method and device | |
EP4270793A1 (en) | Low-density parity-check encoding method, low-density parity-check decoding method, encoding device, decoding device and medium | |
US9281842B2 (en) | Method and device for improving decoding of data received from one source by several receivers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131129 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141127 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |