KR20070117222A - Method of ldpc encoding and ldpc decoding using a reference matrix - Google Patents

Method of ldpc encoding and ldpc decoding using a reference matrix Download PDF

Info

Publication number
KR20070117222A
KR20070117222A KR1020060051167A KR20060051167A KR20070117222A KR 20070117222 A KR20070117222 A KR 20070117222A KR 1020060051167 A KR1020060051167 A KR 1020060051167A KR 20060051167 A KR20060051167 A KR 20060051167A KR 20070117222 A KR20070117222 A KR 20070117222A
Authority
KR
South Korea
Prior art keywords
matrix
reference matrix
parity check
encoding
information word
Prior art date
Application number
KR1020060051167A
Other languages
Korean (ko)
Other versions
KR101128804B1 (en
Inventor
정지욱
오민석
조기형
이영섭
김소연
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020060051167A priority Critical patent/KR101128804B1/en
Publication of KR20070117222A publication Critical patent/KR20070117222A/en
Application granted granted Critical
Publication of KR101128804B1 publication Critical patent/KR101128804B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

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

Abstract

A method of LDPC(Low Density Parity Check) encoding and LDPC decoding using a reference matrix is provided to reduce a memory of a system, by not increasing the size of the memory in extending encoding rate. According to a method for performing LDPC(Low Density Parity Check) encoding by using a model matrix including a specific information word and a parity part, the information word part includes at least one reference matrix and at least one conversion matrix by cyclic-shifting the reference matrix. The position of a component with weight included in the conversion matrix is determined by the position of a component with weight included in the reference matrix.

Description

참조 행렬을 이용한 LPDC 부호화 및 복호화 방법{Method of LDPC encoding and LDPC decoding using a reference matrix}Method of LDPC encoding and LDPC decoding using a reference matrix}

도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다.1 is a view showing the structure of a mobile communication channel to which the present invention and the prior art are applied.

도 2는 구조화된(structured) LDPC를 설명하기 위한 도면이다. 2 is a diagram for explaining structured LDPC.

도 3은 종래 기술에 따른 모델 행렬을 나타낸 도면이다. 3 is a view showing a model matrix according to the prior art.

도 4는 쉬프트 넘버에 따른 행렬의 표현 방법을 나타낸 도면이다.4 is a diagram illustrating a method of expressing a matrix according to a shift number.

도 5는 LDPC 복호화 방법에 대하여 설명한 도면이다. 5 is a diagram illustrating an LDPC decoding method.

도 6은 종래 기술에 따른 트레인 구조(Train structured)의 LDPC 부호의 패리티 검사 행렬의 구조를 나타내는 도면이다.6 is a diagram illustrating a structure of a parity check matrix of an LDPC code of a train structure according to the related art.

도 7은 본 실시예에 따라 특정한 참조 행렬을 이용하여 생성된 모델 행렬을 나타내는 도면이다.7 is a diagram illustrating a model matrix generated using a specific reference matrix according to the present embodiment.

도 8a는 본 실시예에 따른 참조 행렬의 일례이다.8A is an example of a reference matrix according to the present embodiment.

도 8b 내지 도 8g는 도 8a의 참조 행렬을 변형한 일례를 나타낸다.8B to 8G show an example in which the reference matrix of FIG. 8A is modified.

도 9는 본 실시예에 따른 패리티 검사 행렬을 이용하여 부호화를 수행하는 경우 성능을 나타내는 도면이다.9 is a diagram illustrating performance when encoding is performed using a parity check matrix according to the present embodiment.

본 발명은 LDPC(Low Density Parity Check) 부호화와 복호화에 관한 것으로서, 보다 상세하게는, 작은 크기의 저장 공간을 이용하여 효율적인 부호화 및 복호화를 수행하는 방법 및 장치에 관한 것이다.The present invention relates to low density parity check (LDPC) encoding and decoding, and more particularly, to a method and an apparatus for performing efficient encoding and decoding using a small storage space.

도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다. 이하, 도 1을 참조하여 이동통신 채널의 구조를 설명한다. 송신 단(Transmitter)에서 전송할 데이터를 무선채널에서 손실이나 왜곡 없이 전송하기 위해 채널 코딩(channel coding) 절차를 거친다. 상기 채널 코딩 기법으로는, Convolutional Coding, Turbo Coding, LDPC Coding 등의 다양한 기술이 있다. 상기 채널 코딩(Channel coding) 절차를 거친 데이터(data)는 무선 채널로 전송될 때 여러 개의 비트들이 모여서 하나의 심볼로 전송될 수 있다. 이때, 여러 비트들을 하나의 심볼(symbol)로 매핑(mapping) 되는 절차를 변조(modulation)라 한다. 1 is a view showing the structure of a mobile communication channel to which the present invention and the prior art are applied. Hereinafter, the structure of a mobile communication channel will be described with reference to FIG. 1. In order to transmit the data to be transmitted from the transmitter without loss or distortion in the radio channel, a channel coding procedure is performed. As the channel coding technique, there are various techniques such as convolutional coding, turbo coding, and LDPC coding. Data that has undergone the channel coding procedure may be transmitted as a single symbol by collecting a plurality of bits when transmitted through a wireless channel. In this case, a procedure in which several bits are mapped to one symbol is called modulation.

변조된 데이터는 다중화(Multiplexing) 과정 또는 다중 접속(Multiple Access) 방법을 거쳐 다중 전송을 위한 신호로 변환된다. 상기 다중화 방법으로는, CDM, TDM, FDM 등의 다양한 방법이 존재하는바, 도 1에서는 OFDM(Orthogonal Frequency Division Multiplexing)의 예를 표시하였다. 상기 다중화(Multiplexing) 블록을 거친 신호는 한 개 이상의 다중 안테나에 전송되기 적합한 구조로 변경되어 무선채널을 통해 수신 단(Receiver)에 전달된다. 무선 채널을 통과하는 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음을 겪게 되어 데이터에 왜곡이 발생할 수 있다.The modulated data is converted into a signal for multiplex transmission through a multiplexing process or a multiple access method. As the multiplexing method, various methods such as CDM, TDM, and FDM exist. In FIG. 1, an example of orthogonal frequency division multiplexing (OFDM) is illustrated. The signal that has passed through the multiplexing block is changed into a structure suitable for transmission to one or more multiple antennas and transmitted to a receiver through a radio channel. Data transmitted in the course of passing through the wireless channel may experience fading and thermal noise, which may cause distortion of the data.

상기 변조(Modulation)된 데이터는 무선 채널을 통해 수신 단(Receiver)에 전달된다. 이 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음 등을 겪게 되어 데이터에 왜곡이 발생할 수 있다. 수신 단에서는 상기 왜곡된 데이터를 수신한 후 상기 송신 단의 일련의 절차를 역순으로 수행한다. 상기 심볼로 매핑(mapping)된 데이터를 비트열로 바꾸는 복조(demodulation) 작업을 수행하고, 채널 디코딩(Channel Decoding) 절차를 거치며 왜곡된 데이터를 원래 데이터로 복원한다.The modulated data is transmitted to a receiver through a wireless channel. In this process, the transmitted data may experience fading and thermal noise, which may cause distortion of the data. After receiving the distorted data, the receiving end performs a series of procedures in the reverse order. A demodulation operation of converting the data mapped to the symbol into a bit string is performed, and the distorted data is restored to the original data through a channel decoding process.

상기 채널 코딩을 수행하는 장치는, 입력된 데이터(Systematic Bits)에 첨가될 패리티 비트(Parity Bits)을 발생시키는 사용되는 패리티 검사 행렬(Parity Check Matrix)인 H 행렬 또는 H행렬로부터 유도되는 패리티 검사 생성 행렬(Parity Check Generate Matrix)인 G행렬을 저장하고 있다. 즉, 상기 송신 단은, 상기 H 또는 G 행렬과 상기 입력된 데이터를 통해 패리티 비트(Parity Bit)들을 발생하는 인코더(Encoder)를 포함한다. 채널 디코딩(Channel Decoding)을 수행하는 장치는, 수신된 데이터(왜곡된 Systematic Bits + Parity Bits)를 H행렬과 연산을 통하여 상기 입력된 데이터(Systematic Bits)들이 제대로 복구되는지 확인하고 복구 실패시 연산을 재수행한다. The apparatus for performing channel coding generates a parity check derived from an H matrix or an H matrix, which is a parity check matrix used to generate parity bits to be added to input data (Systematic Bits). It stores G matrix, which is a parity check generate matrix. That is, the transmitting end includes an encoder for generating parity bits through the H or G matrix and the input data. The apparatus for performing channel decoding checks whether the inputted data (Systematic Bits) are properly recovered through the H matrix and the operation of the received data (distorted Systematic Bits + Parity Bits). Rerun

상기 변조(Modulation)는 BPSK(Binary Phase Shift Keying), QPSK(Quadrature Phase Shift Keying), 16-QAM(Quadrature Amplitude Modulation), 64-QAM, 256-QAM 등이 사용된다. 예를 들어, 16-QAM은 변조(Modulation)시 채널 인코딩(Channel Encoding) 절차를 거친 데이터 열을 4비트 단위로 하나의 심볼에 매 핑(mapping)한다. 16-QAM은 복조(Demodulation) 시 무선 채널을 거쳐 수신된 데이터의 하나의 심볼을 4개의 bit로 디매핑(demapping) 한다.The modulation includes Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), Quadrature Amplitude Modulation (16-QAM), 64-QAM, 256-QAM, and the like. For example, 16-QAM maps a sequence of data that has undergone a channel encoding procedure to one symbol in units of 4 bits during modulation. In demodulation, 16-QAM demaps one symbol of data received through a wireless channel into four bits.

이하 LDPC 부호에 관하여 설명한다. LDPC 부호의 개념을 설명하면 다음과 같다. Hereinafter, the LDPC code will be described. The concept of the LDPC code is as follows.

선형 부호는 생성행렬 G 또는 패리티 체크 행렬 H로 기술될 수 있다. 선형 부호의 특징은 모든 부호어 c 에 대하여,

Figure 112006040090586-PAT00001
을 만족하도록 부호가 구성된다는 점이다. 이 선형 부호의 일종으로서, 최근에 주목받는 LDPC 부호는 1962년 Gallager에 의하여 처음 제안되었다. 이 부호의 특징으로는 패리티 체크 행렬의 성분이 대부분 0으로 이루어지고, 0이 아닌 성분의 개수는 부호 길이에 비하여 적은 수를 가지도록 하여 확률을 기반으로 한 반복적 복호가 가능한 점이다. 처음 제안된 LDPC 부호는 패리티 체크 행렬을 비체계적인(non-systematic) 형태로 정의하였고, 그것의 행과 열에 균일하게 적은 무게(weight)를 갖도록 설계되었다. The linear code can be described by the generation matrix G or parity check matrix H. The characteristic of linear code is that for all codewords c,
Figure 112006040090586-PAT00001
The sign is constructed to satisfy. As a form of this linear code, a recent notable LDPC code was first proposed by Gallager in 1962. The characteristic of this code is that the components of the parity check matrix are mostly 0, and the number of non-zero components has a smaller number than the code length so that iterative decoding based on probability is possible. The first proposed LDPC code defines the parity check matrix in a non-systematic form and is designed to have a uniformly low weight in its rows and columns.

여기서, 무게(weight)란 행렬에서 열(column) 또는 행(row)에 포함된 1의 개수를 의미한다.Here, the weight means the number of 1s included in a column or a row in the matrix.

LDPC 부호의 패리티 체크 행렬 H 상에 0이 아닌 성분의 밀도가 적기 때문에 낮은 복호 복잡도를 가지게 된다. 아울러, 복호 성능도 기존의 부호들보다 우수하여 Shannon의 이론적인 한계에 근접하는 좋은 성능을 보인다. 하지만 LDPC 부호는 당시 하드웨어 기술로서 구현이 어려워서 30여 년이 넘게 많은 사람의 관심을 끌지 못하였다. 1980년대 초반 그래프를 이용하여 반복적 복호를 하는 방법이 개발되어, 이를 이용하여 LDPC 부호를 실제로 복호할 수 있는 여러 알고리즘들이 개발되었다. 이를 대표하는 알고리즘으로 합곱 알고리즘(sum-product Algorithm)을 뽑을 수 있다. Since the density of nonzero components on the parity check matrix H of the LDPC code is small, the decoding complexity is low. In addition, the decoding performance is also better than the existing codes, showing a good performance close to Shannon's theoretical limit. The LDPC code, however, was a hardware technology that was difficult to implement at the time and has not attracted much attention for more than 30 years. In the early 1980s, a method of iterative decoding using a graph was developed, and various algorithms were developed to actually decode the LDPC code using the graph. The sum-product algorithm can be extracted as the representative algorithm.

이하, LDPC 부호의 특징을 설명한다. LDPC 부호는 높은 오류 정정 성능을 갖고 있으며, 이로 인해 통신 속도와 용량의 개선을 가능하게 한다. 상기 LDPC 부호는 MIMO(Multiple Input Multiple Output) 시스템과 결합하여 수백 Mbit/s의 전송이 가능한 고속 무선 LAN에 적용될 수 있고, 또한 250km/h에서 1Mbit/s 이상의 전송 속도를 갖는 고속 이동 통신에 적용될 수 있고, 또한 40Gbits/s 이상의 광통신에 적용될 수 있다. 또한, 상기 LDPC 부호의 높은 오류 정정 성능으로 인해 전송 품질이 개선되어 저품질의 통신 경로에서 재전송의 회수를 감소시키는 양자 암호화 통신을 가능하게 할 수 있다. 또한, LDPC 부호의 낮은 복잡도와 뛰어난 손실 보상으로 인해, 유실된 패킷을 용이하게 복원할 수 있으며, 이는 인터넷과 이동 통신을 통해 TV 품질과 동일한 품질의 컨텐츠를 전송할 수 있게 한다. LDPC의 장점인 넓은 적용 범위와 큰 용량으로 인하여, 전에는 불가능한 것으로 여겨졌던 100m 범위까지의 10GBASE-T 전송이 LDPC 부호를 통해 실현 가능하다. 동시에 36MHz 대역의 단일 위성 송신기의 전송 용량을 1.3배 늘어난 80M비트/s까지 늘릴 수 있다. 이런 장점으로 높은 주파수 효율을 지향하는 IEEE802.16 시스템과 IEEE802.11 시스템 등에서 차세대 채널코딩 방법으로 채택되고 있다.Hereinafter, the features of the LDPC code will be described. LDPC codes have high error correction performance, which allows for improvements in communication speed and capacity. The LDPC code may be applied to a high speed wireless LAN capable of transmitting hundreds of Mbit / s in combination with a multiple input multiple output (MIMO) system, and may be applied to high speed mobile communication having a transmission speed of 1 Mbit / s or more at 250 km / h. It can also be applied to optical communication of 40Gbits / s or more. In addition, the high error correction performance of the LDPC code may improve the transmission quality, thereby enabling quantum encrypted communication that reduces the number of retransmissions in a low quality communication path. In addition, due to the low complexity and excellent loss compensation of the LDPC code, lost packets can be easily recovered, which makes it possible to transmit content of the same quality as TV quality through the Internet and mobile communication. Due to the wide coverage and large capacity of LDPC, 10GBASE-T transmissions up to the 100m range, previously considered impossible, are possible with LDPC codes. At the same time, the transmission capacity of a single satellite transmitter in the 36MHz band can be increased by 1.3 times to 80Mbit / s. These advantages are being adopted as the next generation channel coding method in IEEE802.16 system and IEEE802.11 system for high frequency efficiency.

이하, 구조화된(structured) LDPC를 설명한다. The structured LDPC is described below.

LDPC code를 사용하기 위해서는 패리티 체크 행렬 H를 사용하는데, 사용하는 행렬 H는 대부분의 0과 일부의 1을 성분(elemnet)으로 포함하는데, H 행렬의 크기가 105 비트 이상으로 크기 때문에 H 행렬을 표현하는데 큰 크기의 메모리가 필요하다. 상기 구조화된 LDPC 기법은 LDPC 부호화 및 복호화에 사용되는 상기 H 행렬의 성분들을 도 2와 같이 일정한 크기의 서브 블록(sub-block)(또는 서브 행렬)으로 표현하는 방법이다. IEEE802.16e에서는 상기 서브 블록을 하나의 정수 인덱스(index)로 표시하여, 상기 H 행렬을 저장하는데 필요한 메모리의 크기를 줄인다. 상기 서브 블록은 다양한 행렬일 수 있는바, 예를 들어 일정한 크기의 퍼뮤테이션 행렬(Permutation Matrix)일 수도 있다.In order to use the LDPC code includes a matrix H to use, uses a parity check matrix H is most 0 and part of one of the components (elemnet), the H matrix, since the size of the H matrix size by more than 10 5 bits It requires a large amount of memory to represent. The structured LDPC technique is a method of expressing the components of the H matrix used for LDPC encoding and decoding into sub-blocks (or sub matrices) having a constant size as shown in FIG. 2. In IEEE802.16e, the subblock is represented by one integer index to reduce the size of memory required to store the H matrix. The subblock may be various matrices, for example, a permutation matrix of a constant size.

상기 구조화된 LDPC 기법을 사용하게 되면 특정한 메모리에 1 또는 0으로 구성되는 일정 크기의 행렬을 저장하는 대신, 하나의 정수(즉, 인덱스)만 저장하면 되기 때문에 상기 H 행렬을 표시하는데 필요한 메모리의 크기를 줄일 수 있다.In the structured LDPC technique, instead of storing a matrix of 1 or 0 in a specific memory, only one integer (that is, an index) needs to be stored. Can be reduced.

일례로, IEEE802.16e 표준에 반영된 코드워드(codeword)의 크기가 2304이고, 부호율(code rate)이 2/3인 경우에, LDPC 부호화/복호화를 위해 사용되는 모델 행렬(model matrix)은 도 3과 같다. For example, when the size of the codeword reflected in the IEEE802.16e standard is 2304 and the code rate is 2/3, the model matrix used for LDPC encoding / decoding is shown in FIG. Same as 3.

도 3에 도시된 바와 같이, IEEE802.16e의 구조화된 LDPC 행렬은 -1, 0과 양의 정수의 성분들로 이루어진다. -1은 원소가 모두 0인 영 행렬(zero matrix)이며 0은 단위 행렬(identity matrix)을 나타낸다. -1과 0을 제외한 양의 정수 성분들은 양의 정수만큼 상기 단위 행렬(identity matrix)이 오른쪽으로 쉬프트(shift)된 형태의 퍼뮤테이션 행렬(permutation matrix)이다. 즉, 행렬의 성분이 3이면 상기 단 위 행렬을 오른쪽으로 3번 쉬프트(shift)시킨 형태의 퍼뮤테이션 행렬을 표현하는 것이다.As shown in FIG. 3, the structured LDPC matrix of IEEE802.16e consists of -1, 0 and positive integer components. -1 is a zero matrix of all elements 0 and 0 represents an identity matrix. Positive integer components other than -1 and 0 are permutation matrices in which the identity matrix is shifted to the right by a positive integer. That is, if the component of the matrix is 3, it represents a permutation matrix having the unit matrix shifted three times to the right.

도 4는 상술한 양의 정수, 즉 쉬프트 넘버에 따른 행렬의 표현 방법을 나타낸 도면이다. 특정한 H 행렬을 4*4 크기의 행렬(즉, 서브 블록)로 구조화하여 표현하는 경우, 상기 특정한 서브 블록을 3이라 표시하면, 상기 서브 블록은 도 4의 행렬이 된다. 4 is a diagram illustrating a method of expressing a matrix according to the aforementioned positive integer, that is, a shift number. When a specific H matrix is structured and expressed as a matrix having a size of 4 * 4 (that is, a sub block), if the specific sub block is denoted as 3, the sub block becomes the matrix of FIG.

이하, LDPC 부호화 방법을 설명한다. Hereinafter, the LDPC encoding method will be described.

일반적인 LDPC 부호화(Encoding) 방법은, LDPC 패리티 검사행렬(Parity Check Matrix) H로부터 생성행렬(Generation Matrix) G를 유도해 내어, 정보 비트(information bit)를 부호화(encoding)한다. 상기 생성행렬 G를 유도하기 위해, 상기 검사행렬 H를 가우스 소거(Gaussian Reduction) 방법을 통해 [ PT : I ] 형태로 구성한다. 상기 정보 비트(Information bit)의 수를 k이라 하고, 인코딩된 코드 워드(codeword)의 크기를 n이라고 할 때, 상기 P 행렬은 행의 개수가 k이고 열의 개수가 n-k인 행렬이고, 상기 I는 행 크기가 k 열 크기가 k인 단위 행렬(Identity Matrix)이다. In the general LDPC encoding method, a generation matrix G is derived from an LDPC parity check matrix H to encode an information bit. In order to derive the generation matrix G, the inspection matrix H is configured in the form of [P T : I] through a Gaussian Reduction method. When the number of information bits is k and the size of an encoded codeword is n, the P matrix is a matrix in which the number of rows is k and the number of columns is nk, and I is K is the identity matrix whose k column size is k.

상기 생성행렬 G 는, 상기 검사행렬 H 가 [ PT : I ]와 같이 표현되었을 때, [ I : P ] 행렬이 된다. 인코딩(Encoding) 되는 k 비트 크기의 정보 비트를 행렬로 표시하면, 행의 개수는 1이고 열의 개수는 k인 행렬 x로 표현할 수 있다. 이 경우 코드 워드 c는 다음과 같은 식으로 설명된다. The generation matrix G becomes a [I: P] matrix when the check matrix H is expressed as [P T : I]. If the encoded information bits of k-bit size are represented in a matrix, the number of rows is 1 and the number of columns is k. In this case, the code word c is described as follows.

Figure 112006040090586-PAT00002
Figure 112006040090586-PAT00002

상기 수식에서, x는 정보어 부분(systematic part)를 나타내고, xP는 패리티 부분(parity part)를 나타낸다. In the above equation, x denotes a systematic part and xP denotes a parity part.

한편, 위와 같이 가우스 소거(Gaussian Reduction) 방법으로 부호화하는 경우에는 계산량이 많아, 상기 H 행렬의 형태를 특수한 구조로 디자인(design)하여 상기 G 행렬을 유도하지 않고, 상기 H 행렬에서 직접 부호화하는 방법을 사용한다. 즉, 상기 G 행렬과 상기 H 행렬에 대한 전치(Transpose) 형태의 HT 간의 곱이 0 이라는 성질(즉,

Figure 112006040090586-PAT00003
)을 이용하여, 상기 수학식 1에서 HT을 곱하면, 하기 수학식 2 같은 수학식을 얻을 수 있다. 하기 수학식 2에 부합하는 패리티 비트를 정보 비트(x) 뒤에 추가하여 코드워드 c를 얻을 수 있다. On the other hand, in the case of encoding by the Gaussian Reduction method as described above, a large amount of calculation is performed, and a method of directly encoding the H matrix without inducing the G matrix by designing the shape of the H matrix into a special structure. Use That is, H T in the form of a transpose of the G matrix and the H matrix. The product of 0 (that is,
Figure 112006040090586-PAT00003
By multiplying H T by Equation 1, Equation 2 can be obtained. A codeword c may be obtained by adding a parity bit corresponding to Equation 2 after the information bit x.

Figure 112006040090586-PAT00004
Figure 112006040090586-PAT00004

이하, LDPC 복호화 방법에 대하여 설명한다. Hereinafter, the LDPC decoding method will be described.

통신시스템에서 부호화된 데이터는 도 1의 무선 채널을 통과하는 과정에서 잡음을 포함하게 되는데, 수신 단에서는 도 5와 같은 절차를 통해 데이터의 복호 를 수행한다. 수신 단의 복호화 블록에서는 부호화된 코드워드(c)에 잡음이 첨가된 수신신호(c')로부터 정보 비트(x)를 구하는데, cHT=0인 성질을 이용하여 찾아낸다. 즉, 수신된 코드워드를 c'라 할 때, c'HT의 값을 계산하여 결과가 0이면, c'에서 처음 k개의 비트를 상기 정보 비트(x)로 결정한다. 만약, c'HT의 값이 0이 아닌 경우, 그래프를 통한 합곱(sum-product) 알고리즘 등의 복호화 기법을 사용하여, c'HT의 값이 0을 만족하는 c'을 찾아 상기 정보 비트(x)를 복구한다.The coded data in the communication system includes noise in the process of passing through the wireless channel of FIG. 1, and the receiving end performs decoding of the data through the procedure of FIG. 5. The decoding block of the receiving end obtains the information bit (x) from the received signal (c ') with noise added to the coded code (c), and finds it using the property of cH T = 0. That is, when the received codeword is c ', the value of c'H T is calculated, and if the result is 0, the first k bits in c' are determined as the information bits x. If the value of c'H T is not 0, a decoding technique such as a sum-product algorithm through a graph is used to find c 'whose value of c'H T satisfies 0. recover (x)

이하, LDPC 부호의 부호율(code rate)을 설명한다. Hereinafter, the code rate of the LDPC code will be described.

일반적으로, 부호율(R: code rate)은 상기 정보 비트의 크기가 k이고, 실제 전송되는 코드워드의 크기가 n일 때 다음과 같다. In general, a code rate (R) is as follows when the size of the information bit is k and the size of the codeword actually transmitted is n.

R = k/nR = k / n

LDPC 부호화 및 복호화에 필요한 상기 H 행렬의 행의 크기가 m, 열의 크기가 n인 경우, 부호율은 다음과 같다. The code rate is as follows when the row size of the H matrix required for LDPC encoding and decoding is m and the size of the column is n.

R = 1 - m/nR = 1-m / n

상술한 바와 같이, 종래의 LDPC 부호는 상기 H 행렬에 의해 부호화 및 복호화를 수행하기 때문에, 상기 H 행렬의 구조가 매우 중요하다. 즉, 부호화 및 복호화의 성능이 상기 H 행렬의 구조에 크게 영향을 받기 때문에, 상기 H 행렬의 설계가 무엇보다 중요하다.As described above, since the conventional LDPC code performs encoding and decoding by the H matrix, the structure of the H matrix is very important. That is, since the performance of encoding and decoding is greatly affected by the structure of the H matrix, the design of the H matrix is most important.

도 6은 종래 기술에 따른 트레인 구조(Train structured)의 LDPC 부호의 패리티 검사 행렬의 구조를 나타내는 도면이다. 상기 트레인 구조(Train structured) 의 LDPC 부호는, 데이터 펑쳐드(Data punctured) LDPC 부호 또는 쇼트닝(shortening) LPDC 부호라 불리기도 한다. 도 6의 행렬은 상기 패리티 검사 행렬에 상응하는 모델 행렬을 나타낸 것으로 도시된 하나의 블록은 하나의 서브 행렬(또는 서브 블록)에 대응한다. 상기 트레인 구조(Train structured)의 LDPC 부호는, 패리티 부분(parity part)을 고정하고 정보어 부분(systematic part)의 크기를 가변적으로 하여 부호화를 수행한다. 상기 정보어 부분의 크기가 변화하기 때문에 도 6의 패리티 검사 행렬은 다양한 부호율(code rate)을 지원한다. 도 6에서 상기 패리티 검사 행렬에 따른 부호율은 1/3에서 5/6로 변화한다.6 is a diagram illustrating a structure of a parity check matrix of an LDPC code of a train structure according to the related art. The train structured LDPC code is also referred to as a data punctured LDPC code or shortening LPDC code. The matrix of FIG. 6 shows a model matrix corresponding to the parity check matrix, and one block corresponds to one sub-matrix (or sub-block). The LDPC code of the train structured performs encoding by fixing a parity part and varying the size of the information word part. Since the size of the information word portion changes, the parity check matrix of FIG. 6 supports various code rates. In FIG. 6, the code rate according to the parity check matrix is changed from 1/3 to 5/6.

상기 트레인 구조(Train structured)의 LDPC 부호를 위한 패리티 검사 행렬은 다양한 부호율을 지원하기 위해 다양한 크기의 정보어 부분이 추가된다. 예를 들어, 2/3에서 3/4로 부호율을 높이기 위해서 16*16 크기의 서브 행렬(601)을 추가할 수 있다. 이 경우, 패리티 검사 행렬에 상응하는 모델 행렬의 크기는 16*64가 된다. 또한, 도 6의 모델 행렬이 부호율 4/5를 지원하는 경우 16*16 크기의 서브 행렬(602)가 추가되어야 한다. 이 경우, 패리티 검사 행렬에 상응하는 모델 행렬의 크기는 16*80이 된다.The parity check matrix for the LDPC code of the train structure is added with information word portions of various sizes to support various code rates. For example, to increase the code rate from 2/3 to 3/4, a 16 * 16 sub-matrix 601 may be added. In this case, the size of the model matrix corresponding to the parity check matrix is 16 * 64. In addition, when the model matrix of FIG. 6 supports a code rate of 4/5, a 16 * 16 sub-matrix 602 should be added. In this case, the size of the model matrix corresponding to the parity check matrix is 16 * 80.

종래 기술에 따른 트레인 구조(Train structured)의 LDPC 부호는 정보 비트의 크기가 다양한 경우에 다양한 부호율을 지원하는 유리한 점이 있다. 그러나, 종래 기술에 따른 트레인 구조의 LDPC 부호는 다음과 같은 문제점이 있다.The LDPC code of a train structure according to the prior art has an advantage of supporting various code rates when information bits have various sizes. However, the LDPC code of the train structure according to the prior art has the following problems.

일반적인 LDPC 부호는 패리티 검사 행렬의 0이 아닌 성분(nonzero element)의 비중이 매우 희박한 성질을 이용한다. 또한, 상술한 구조화된 LDPC(structured LDPC)에 기초하는 경우, 일반적인 LDPC 인코더는 무게를 갖는 성분이 위치하는 위치 정보를 담고 있는 위치 메모리(position memory) 및 상기 무게를 갖는 성분의 구체적 퍼뮤테이션 인덱스(즉, 쉬프트 수)를 저장하는 인덱스 메모리를 구비한다. 만약, 상술한 트레인 구조(Train structured)의 LDPC 부호를 이용하는 경우 도 6처럼 행렬의 정보어 부분의 크기가 매우 커진다. 이 경우, 상기 위치 메모리의 크기가 지나치게 커지는 문제가 발생한다. 즉, 도 6의 601 영역과 602 영역처럼 각각의 서브 행렬이 추가될때마다 상기 위치 메모리의 크기는 선형적으로 증가하는 문제가 발생한다. 하기 표 1은 종래 기술에 따른 트레인 구조(Train structured)의 LDPC 부호를 이용하는 경우 상기 위치 메모리의 크기 변화를 나타낸다. 하기 표 1의 위치 메모리 크기는, 부호율을 상승시키기 위해 16*16 크기의 서브 행렬이 추가되고 모델 행렬의 검사 노드(check node) 측면에서 무게(weight)가 3이고, 비트 노드(variable node) 측면에서 무게(weight)가 3인 경우에 관한 것이다. In general, the LDPC code utilizes a very sparse specific gravity of nonzero elements of the parity check matrix. In addition, when based on the structured LDPC (LDPC) described above, a general LDPC encoder includes a position memory containing position information where a component having weight is located and a specific permutation index of the component having weight. That is, an index memory for storing the number of shifts) is provided. If the above-described train structure (Train structured) LDPC code is used as shown in Figure 6 the size of the information word portion of the matrix is very large. In this case, the size of the location memory becomes too large. That is, the size of the location memory increases linearly as each sub-matrix is added, such as regions 601 and 602 of FIG. 6. Table 1 below shows a change in the size of the location memory when using a train structured LDPC code. The location memory size of Table 1 below is a 16 * 16 sub-matrix added to increase the code rate, has a weight of 3 in terms of the check node of the model matrix, and a variable node. It is related to the case that the weight is 3 in the side.

Code rateCode rate 종래 기술에 따라 추가적으로 필요한 위치 메모리의 크기 Size of location memory additionally required according to the prior art 2/32/3 3*163 * 16 3/43/4 3*163 * 16 4/54/5 3*163 * 16 5/65/6 3*163 * 16 6/76/7 3*163 * 16 7/87/8 3*163 * 16 8/98/9 3*163 * 16 9/109/10 3*163 * 16 10/1110/11 3*163 * 16 11/1211/12 3*163 * 16 12/1312/13 3*163 * 16 13/1413/14 3*163 * 16 14/1514/15 3*163 * 16 15/1615/16 3*163 * 16 16/1716/17 3*163 * 16 17/1817/18 3*163 * 16 Total memoryTotal memory 3*16 *16 = 7683 * 16 * 16 = 768

상기 표 1과 같이, 부호율이 한단계 증가할 수록 3*16 만큼의 추가적인 위치 메모리가 필요하다. 만약, 표 1에 표시된 16 가지 부호율을 모두 지원하는 경우 총 768 만큼의 메모리가 필요하다.As shown in Table 1, as the code rate increases by one step, an additional position memory of 3 * 16 is required. If all 16 code rates shown in Table 1 are supported, a total of 768 memories are required.

정리하면, 종래의 트레인 구조(Train structured)의 LDPC 부호를 이용하는 방법은 다양한 부호율을 지원하는 장점이 있으나 패리티 검사 행렬의 0이 아닌 성분에 관한 정보를 저장하는 위치 메모리의 크기가 선형적으로 증가하는 문제가 있다. In summary, the conventional method using a train structured LDPC code has an advantage of supporting various code rates, but the size of the location memory that stores information about non-zero components of the parity check matrix increases linearly. There is a problem.

본 발명의 상술한 종래 기술을 개선하기 위해 제안된 것으로, 본 발명의 목적은, 종래에 비해 작은 크기의 메모리를 필요로하는 부호화 및 복호화 방법을 제 안하는 것이다. It is proposed to improve the above-described prior art of the present invention, and an object of the present invention is to propose an encoding and decoding method that requires a memory of a smaller size than the prior art.

본 발명의 다른 목적은 성능이 향상된 부호화 및 복호화 방법을 제안하는 것이다.Another object of the present invention is to propose an encoding and decoding method having improved performance.

발명의 개요Summary of the Invention

본 발명은 상술한 목적을 달성하기 위해, 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서, 특정한 크기의 제1 서브 블록들로 이루어진 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 및 상기 부호화된 코드워드를 전송하는 단계를 포함하여 이루어지되, 상기 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는 것을 특징으로 한다. In order to achieve the above object, the present invention provides a method for performing LDPC encoding using a parity check matrix including a specific information word part and a parity part, which is extended from a model matrix consisting of first subblocks having a specific size. Performing encoding on information bits of a specific size using the generated parity check matrix; And transmitting the coded codeword, wherein the information word portion of the model matrix includes at least one reference matrix and at least one transform matrix for performing a cyclic shift on the reference matrix. Characterized in that it comprises a.

본 발명의 또다른 특징은, 상기 적어도 하나의 변환 행렬에 포함되는 무게를 갖는 성분의 위치는, 상기 참조 행렬에 포함되는 무게를 갖는 성분의 위치에 따라 결정되는 것이다. Another feature of the invention is that the position of the weighted component included in the at least one transformation matrix is determined according to the position of the weighted component included in the reference matrix.

본 발명에 따른 부호화 방법은, 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서, 특정한 제1 부호율(code rate)에 상응하는 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 상 기 부호화된 코드워드를 전송하는 단계; 특정한 제2 부호율(code rate)에 상응하는 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 및 상기 부호화된 코드워드를 전송하는 단계를 포함하여 이루어지되, 상기 제1 부호율 및 제2 부호율에 상응하는 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는 것을 특징으로 한다. The encoding method according to the present invention is a method for performing LDPC encoding using a parity check matrix including a specific information word part and a parity part, and is extended from a model matrix corresponding to a specific first code rate. Performing encoding on information bits of a specific size using the generated parity check matrix; Transmitting the coded codeword; Performing encoding on information bits of a specific size by using a parity check matrix generated by extending from a model matrix corresponding to a specific second code rate; And transmitting the coded codeword, wherein an information word portion of a model matrix corresponding to the first code rate and the second code rate includes at least one reference matrix and a cyclic shift with respect to the reference matrix. It characterized in that it comprises at least one transformation matrix performing a (cyclic shift).

본 발명에 따른 복호화 방법은, 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행하는 방법에 있어서, LDPC 부호화된 코드워드를 수신하는 단계; 및 특정한 크기의 제1 서브 블록들로 이루어진 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 상기 코드워드에 대한 복호화를 수행하는 단계를 포함하여 이루어지되, 상기 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는 것을 특징으로 한다. In accordance with another aspect of the present invention, there is provided a decoding method comprising: receiving an LDPC coded codeword using a parity check matrix including a specific information word part and a parity part; And performing decoding on the codeword using a parity check matrix generated by extending from a model matrix of first subblocks having a specific size, wherein the information word portion of the model matrix includes at least: One reference matrix and at least one transform matrix for performing a cyclic shift (cyclic shift) with respect to the reference matrix.

본원 발명에 따른 부호화 및 복호화는 특정한 참조 행렬(reference matrix)을 이용하는 것을 특징으로 한다. 상기 참조 행렬은 사이클(cycle) 특성을 고려하여 설계되는 것이 바람직하다. 본원 발명에 따른 부호화 및 복호화는 상술한 트레인 구조의 LDPC 부호를 이용하여 부호화 및 복호화를 수행하되 상기 참조 행렬을 확장하여 생성된 패리티 검사 행렬을 이용하여 부호화 및 복호화를 수행한다. 본원 발명에서 사용되는 패리티 검사 행렬은 특정한 참조 행렬의 행을 순환 쉬프 트(cyclic shift)하거나, 상기 참조 행렬의 열을 순환 쉬프트한 행렬을 패리티 검사 행렬의 정보어 부분에 추가하여 생성하는 것이 바람직하다. 본원 발명에 따른 부호화 및 복호화 방법은 상기 참조 행렬을 변형한 행렬을 이용하기 때문에 작은 크기의 메모리를 통해 다양한 부호율을 지원할 수 있다. The encoding and decoding according to the present invention is characterized by using a specific reference matrix. The reference matrix is preferably designed in consideration of cycle characteristics. In the encoding and decoding according to the present invention, encoding and decoding are performed using the above-described train structure LDPC code, but encoding and decoding are performed using a parity check matrix generated by extending the reference matrix. The parity check matrix used in the present invention is preferably generated by cyclic shifting a row of a specific reference matrix or by adding a matrix cyclically shifting the columns of the reference matrix to the information word portion of the parity check matrix. . Since the encoding and decoding method according to the present invention uses a modified matrix of the reference matrix, it is possible to support various code rates through a small memory.

발명의 일 실시예One embodiment of the invention

본 발명의 구성, 동작 및 효과는 이하에서 설명되는 본 발명의 일 실시예에 의해 구체화될 것이다. 이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 설명한다. The construction, operation and effects of the present invention will be embodied by one embodiment of the present invention described below. Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention.

이하, 상술한 구조화된(structured) LDPC에 따라 특정한 z * z 크기의 서브 블록(또는 서브 행렬)으로 패리티 검사 행렬을 나타내는 행렬을 모델 행렬(model matrix)이라 한다. 상기 모델 행렬의 각 서브 블록은 특정한 인덱스에 의해 다양한 종류의 행렬로 확장될 수 있는바, 상기 모델 행렬은 상기 인덱스를 성분으로 한다. 상기 모델 행렬의 각 서브 블록은 상기 인덱스에 따라 다양한 방식으로 결정될 수 있는바, 이하에서 상기 인덱스는 특정한 크기(z*z)의 단위 행렬에 대한 쉬프트 수(shift number)인 경우를 가정한다. 또한, 상기 인덱스가 -1인 경우에는, 상기 -1의 인덱스를 갖는 서브 블록은 특정한 크기(z*z)의 영 행렬(zero matrix)이다.Hereinafter, a matrix representing a parity check matrix in a subblock (or sub-matrix) having a specific z * z size according to the structured LDPC described above is called a model matrix. Each sub block of the model matrix can be extended to various kinds of matrices by a specific index, and the model matrix has the index as a component. Each sub block of the model matrix may be determined in various ways according to the index. Hereinafter, it is assumed that the index is a shift number for a unit matrix of a specific size z * z. In addition, when the index is -1, the sub block having the index of -1 is a zero matrix of a specific size z * z.

상기 모델 행렬은 상기 인덱스에 따라 특정한 패리티 검사 행렬로 확장되기 때문에, 상기 모델 행렬에 의해 부호화 및 복호화가 수행된다는 것은 상기 모델 행렬에 의해 생성되는 특정한 패리티 검사 행렬에 의해 부호화 및 복호화가 수행되는 것을 의미한다. Since the model matrix is extended to a specific parity check matrix according to the index, encoding and decoding by the model matrix means that encoding and decoding are performed by a specific parity check matrix generated by the model matrix. do.

도 7은 본 실시예에 따라 특정한 참조 행렬을 이용하여 생성된 모델 행렬을 나타내는 도면이다. 상기 모델 행렬에 상응하는 패리티 검사 행렬은 하기 수학식 5와 같이 구조를 갖는다. 7 is a diagram illustrating a model matrix generated using a specific reference matrix according to the present embodiment. The parity check matrix corresponding to the model matrix has a structure as shown in Equation 5 below.

Figure 112006040090586-PAT00005
Figure 112006040090586-PAT00005

도 7의 모델 행렬을 Hb라 하는 경우, 상기 Hb는 정보비트(information bit)와 일대일 대응되는 정보어 부분 Hb1 및 패리티 부분 Hb2을 포함한다. 상기 kb는 도 7의 모델 행렬에서 정보어에 대응하는 서브 블록의 개수를 나타낸다. 또한, 상기 mb는 상기 모델 행렬에서 열 방향으로 위치하는 서브 블록의 개수이다. 즉, 상기 모델 행렬의 정보어 부분은, 서브 블록의 단위로 표현할 때, mb * kb의 크기를 갖는다. 또한, 상기 모델 행렬의 패리티 부분은, 서브 블록의 단위로 표현할 때, mb * mb의 크기를 갖는다. When the model matrix of FIG. 7 is referred to as H b , the H b includes an information word part H b1 and a parity part H b2 corresponding to an information bit one-to-one. K b represents the number of subblocks corresponding to the information word in the model matrix of FIG. 7. In addition, the m b is the number of sub-blocks located in the column direction in the model matrix. That is, the information word portion of the model matrix has a size of m b * k b when expressed in units of sub-blocks. In addition, the parity portion of the model matrix has a size of m b * m b when expressed in units of sub-blocks.

본 실시예에 따른 부호화 및 복호화 방법은 도 7의 모델 행렬을 이용하여 부호화 및 복호화를 수행한다. 도 7의 모델 행렬은 특정한 참조 행렬(reference matrix)과 상기 특정한 참조 행렬을 변환한 적어도 하나의 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)를 포함한다. 즉, 본 실시예에 따른 모델 행렬의 정보어 부분은 특정한 참조 행렬과 상기 참조 행렬을 변환한 행렬들을 포함한다. 본 실시예에 따른 부호화 및 복호화 방법은, 상술한 트레인 구조(Train structured)의 LDPC 부호를 이용하기 때문에 패리티 부분(Hb2)의 크기는 부호율에 따라 고정적이다. 그러나, 정보어 부분(Hb1)의 크기는 부호율이 증가함에 따라 커진다. 본 실시예에 따른 패리티 검사 행렬 또는 모델 행렬은, 낮은 부호율의 부호화 및 복호화를 위해 사용되는 경우, 상기 참조 행렬을 포함하는 정보어 부분을 포함한다. 만약, 본 실시예에 따른 패리티 검사 행렬이 상대적으로 높은 부호율의 부호화/복호화를 위해 사용되는 경우에는, 추가적인 서브 행렬을 더 포함하는 정보어 부분을 포함한다. 이 경우, 상기 추가적인 서브 행렬은 상기 참조 행렬을 변환시킨 것이 바람직하다. 즉, 부호율이 증가함에 따라 추가되는 서브 행렬은 상기 참조 행렬의 행(row) 또는 열(column)을 순환 천이(cyclic shift)한 것이 바람직하다. 또한, 부호율이 증가함에 따라 추가되는 서브 행렬은 상기 참조 행렬의 열(column)의 순서를 조정한 것일 수 있다. 즉, 상기 추가되는 서브 행렬은 상기 참조 행렬의 열(column)을 인터리빙한 것일 수 있다. 참조행렬의 행을 순환 천이한 뒤 열을 추가적으로 순환천이하거나 인터리빙하여 추가되는 서브 행렬를 생성할 수 있다. The encoding and decoding method according to the present embodiment performs encoding and decoding using the model matrix of FIG. 7. The model matrix of FIG. 7 includes a specific reference matrix and at least one hybrid cyclic shift matrix obtained by converting the specific reference matrix. That is, the information word portion of the model matrix according to the present embodiment includes a specific reference matrix and matrices obtained by converting the reference matrix. Since the encoding and decoding method according to the present embodiment uses the above-described train structured LDPC code, the size of the parity portion H b2 is fixed according to the code rate. However, the size of the information word portion H b1 increases as the code rate increases. The parity check matrix or model matrix according to the present embodiment includes an information word part including the reference matrix when used for encoding and decoding at a low code rate. If the parity check matrix according to the present embodiment is used for encoding / decoding of a relatively high code rate, the parity check matrix includes an information word portion further including an additional sub-matrix. In this case, it is preferable that the additional sub-matrix converts the reference matrix. That is, it is preferable that the sub-matrix added as the code rate is increased by cyclic shifting the row or column of the reference matrix. In addition, the sub-matrix added as the code rate increases may adjust the order of the columns of the reference matrix. That is, the added sub-matrix may be an interleaving of a column of the reference matrix. After the cyclic shift of the rows of the reference matrix, additional cyclic shifts or interleaving of the columns may be performed to generate additional sub-matrices.

도 7의 일례에서 패리티 부분은 16 * 16 크기의 서브 행렬로 이루어지고, 1/3 부호율에 해당하는 정보어 부분은 16 * 8 크기의 서브 행렬(705)로 이루어진다. 또한, 1/2 부호율에 해당하는 정보어 부분은 16 * 16 크기의 서브 행렬(705, 706)로 이루어진다. 또한, 2/3 부호율을 지원하기 위해 참조 행렬(701)을 추가할 수 있다. 도 7의 일례와 달리 1/2 부호율을 지원하기 위해 참조 행렬(701)을 정보어 부분으로 하여 1/3 또는 1/2부호율에 해당하는 정보어 부분의 서브 행렬(705, 706)을 구성할 수 있다. 그러나, 상대적으로 낮은 부호율에 해당하는 1/2 내지 1/3 부호율에 상응하는 정보어 부분은 행 또는 열의 무게(weight)가 참조행렬(701)보다 커질 수 있다. 따라서, 본 발명에 따라 1/2 또는 1/3 부호율에 상응하는 정보어 부분을 별도의 서브 행렬로 설계하고, 2/3 부호율을 위해 추가적으로 포함되는 정보어 부분(701)을 상기 참조 행렬로 하는 것이 더욱 바람직하다. 2/3 부호율에 비해 더욱 향상된 3/4 부호율을 지원하기 위해서는 702 영역에 추가적인 서브 행렬을 포함시켜야 한다. 이 경우, 상기 702 영역에 특정한 제1 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)을 포함시킨다. 또한, 3/4 부호율에 비해 더욱 향상된 4/5 부호율을 지원하기 위해서는 703 영역에 추가적인 서브 행렬을 포함시켜야 한다. 이 경우, 상기 703 영역에 특정한 제2 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)을 포함시킨다. 또한, 4/5 부호율에 비해 더욱 향상된 5/6 부호율을 지원하기 위해서는 704 영역에 추가적인 서브 행렬을 포함시켜야 한다. 이 경우, 상술한 바와 같이 상기 704 영역에 특정한 제3 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)을 포함시킨다. 상기 제1 내지 제3 하이브리드 순환 천이 행렬은 상기 참조 행렬을 변형한 행렬이다. 즉 상술한 바와 같이, 상기 참조 행렬의 행 또는 열의 순서를 조작한 행렬이다. In the example of FIG. 7, the parity portion is composed of a 16 * 16 sub-matrix, and the information word portion corresponding to 1/3 code rate is composed of a 16 * 8 sub-matrix 705. In addition, the information word portion corresponding to the 1/2 code rate consists of submatrices 705 and 706 having a size of 16 * 16. In addition, a reference matrix 701 may be added to support the 2/3 code rate. Unlike the example of FIG. 7, the submatrices 705 and 706 of the information word portion corresponding to 1/3 or 1/2 code rate are set by using the reference matrix 701 as the information word part to support the 1/2 code rate. Can be configured. However, the information word portion corresponding to the 1/2 to 1/3 code rate corresponding to the relatively low code rate may have a larger weight of the row or column than the reference matrix 701. Accordingly, according to the present invention, the information word part corresponding to the 1/2 or 1/3 code rate is designed as a separate sub-matrix, and the information word part 701 additionally included for the 2/3 code rate is used as the reference matrix. It is more preferable to set it as. In order to support the improved 3/4 code rate compared to the 2/3 code rate, an additional sub-matrix must be included in the 702 region. In this case, a first hybrid cyclic shift matrix specific to the region 702 is included. In addition, to support an improved 4/5 code rate compared to the 3/4 code rate, an additional sub-matrix must be included in the 703 region. In this case, a second hybrid cyclic shift matrix specific to the region 703 is included. In addition, in order to support an improved 5/6 code rate compared to the 4/5 code rate, an additional sub-matrix must be included in the 704 region. In this case, a third hybrid cyclic shift matrix specific to the region 704 is included as described above. The first to third hybrid cyclic shift matrices are modified matrices of the reference matrix. That is, as described above, the matrix is a manipulation of the order of the rows or columns of the reference matrix.

이하, 상기 참조 행렬과 상기 참조 행렬을 변환한 하이브리드 순환 천이 행렬을 생성하는 다양한 방법을 설명한다. Hereinafter, various methods for generating a hybrid cyclic shift matrix obtained by converting the reference matrix and the reference matrix will be described.

도 8a는 본 실시예에 따른 참조 행렬의 일례이다. 도 8a의 모델 행렬은 16 * 16 크기이며, 별도로 표시되지 않은 인덱스 값은 '-1'이다. 도 8a에서 x1 내지 x48 은 상기 참조 행렬에 포함되는 인덱스, 즉 쉬프트 수를 나타낸다. 상기 x1 내지 x48의 인덱스 값은 자유롭게 정해질 수 있으므로, 각 서브 블록의 크기(z factor) 이내의 자유로운 정수일 수 있다. 본 실시예에서 사용되는 참조 행렬은 사이클(cycle)에 대한 특성을 고려하여 설계되는 것이 바람직하다. 즉, 사이클의 개수를 최소화하는 참조 행렬을 이용하는 것이 바람직하다. 도 8a의 일례는 4 사이클을 포함하지 않고 최소한의 6 사이클 만을 포함하는 행렬이다. 4 사이클은, 패리티 검사 행렬에서 무게가 존재하는 각각의 위치를 직선으로 연결하는 경로를 만드는 경우, 특정한 비트 노드에서 출발한 경로가 4개의 직선(즉, 엣지(edge))을 거쳐 자기 자신에게 도착하는 행렬의 구조를 나타내는 것이다. 또한, 6 사이클은 6개의 엣지(edge)에 의해 자기 자신에게 도착하는 행렬의 구조를 나타내는 것이다. 특정한 패리티 검사 행렬에 있어서, 사이클의 개수를 최소화하는 것이 바람직하다. 도 8a의 일례는 본 실시예에서 제안하는 참조 행렬의 일례에 불과하므로, 본 발명이 도 8a의 행렬에 제한되지 아니한다. 본 발명이 속하는 기술 분야에 통상의 지식을 가진 자는 우수한 사이클 특성을 갖는 다양한 크기의 참조 행렬을 설계할 수 있으며, 본 발명은 다양한 종류의 참조 행렬과 상기 참조 행렬을 변형한 적어도 하나의 행렬을 이용하여 부호화 및 복호화를 수행할 수 있다. 8A is an example of a reference matrix according to the present embodiment. The model matrix of FIG. 8A is 16 * 16 in size, and an index value not otherwise indicated is '-1'. In FIG. 8A, x1 to x48 represent indexes included in the reference matrix, that is, the number of shifts. Since the index values of x1 to x48 may be freely determined, they may be free integers within the z factor of each subblock. The reference matrix used in this embodiment is preferably designed in consideration of the characteristics of the cycle. That is, it is preferable to use a reference matrix that minimizes the number of cycles. An example of FIG. 8A is a matrix that contains only at least 6 cycles without 4 cycles. Four cycles, if you create a path that connects each position of weight in a parity check matrix in a straight line, the path from a particular bit node arrives at itself through four straight lines (ie, edges). It shows the structure of the matrix. Also, six cycles represent the structure of a matrix arriving at itself by six edges. For a particular parity check matrix, it is desirable to minimize the number of cycles. 8A is only an example of the reference matrix proposed in this embodiment, and the present invention is not limited to the matrix of FIG. 8A. Those skilled in the art can design reference matrices of various sizes having excellent cycle characteristics, and the present invention uses various kinds of reference matrices and at least one matrix modified from the reference matrices. Encoding and decoding can be performed.

도 8b 내지 도 8g는 도 8a의 참조 행렬을 변형한 일례를 나타낸다. 상술한 바와 같이, 본 실시예에 따른 패리티 검사 행렬의 정보어 부분은 특정한 참조 행렬(reference matrix)과 상기 특정한 참조 행렬을 변환한 적어도 하나의 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)를 포함한다. 8B to 8G show an example in which the reference matrix of FIG. 8A is modified. As described above, the information word portion of the parity check matrix according to the present embodiment includes a specific reference matrix and at least one hybrid cyclic shift matrix obtained by converting the specific reference matrix.

이하, 도 8b 내지 도 8g을 참조하여 상기 하이브리드 순환 천이 행렬을 만드는 방법은 다양한 방법을 설명한다.Hereinafter, a method of generating the hybrid cyclic shift matrix will be described with reference to FIGS. 8B to 8G.

도 8b의 행렬은 도 8a의 참조 행렬을 변형한 일례로서, 도 8a의 참조 행렬에 대해 아래 방향으로 1 만큼의 순환 천이(cyclic shift)를 수행한 행렬이다. 도 8b의 행렬은 도 8a의 행렬에 대해 순환 천이를 수행하였으므로, 행(row)들의 상대적 위치는 동일하다. 따라서 도 8a의 사이클 특성은 도 8b에서도 유지될 수 있다. 만약, 도 7의 701 영역에 도 8a의 행렬을 사용한 경우, 도 7의 702 영역에는 도 8b의 행렬을 사용할 수 있다. 결국, 도 8a의 행렬과 도 8b의 행렬을 함께 포함하는 정보어 부분을 이용하여 우수한 사이클 특성을 유지하면서 다양한 부호율을 지원하는 부호화 및 복호화를 수행할 수 있다. The matrix of FIG. 8B is an example of modifying the reference matrix of FIG. 8A. The matrix of FIG. 8A performs a cyclic shift by one in a downward direction with respect to the reference matrix of FIG. 8A. Since the matrix of FIG. 8B performs a cyclic shift with respect to the matrix of FIG. 8A, the relative positions of the rows are the same. Therefore, the cycle characteristic of FIG. 8A can be maintained in FIG. 8B. If the matrix of FIG. 8A is used in the region 701 of FIG. 7, the matrix of FIG. 8B may be used in the region 702 of FIG. 7. As a result, by using the information word portion including the matrix of FIG. 8A and the matrix of FIG. 8B, encoding and decoding supporting various code rates may be performed while maintaining excellent cycle characteristics.

도 8c의 행렬은 도 8a의 참조 행렬을 변형한 일례로서, 도 8a의 참조 행렬에 대해 아래 방향으로 3 만큼의 순환 천이(cyclic shift)를 수행한 행렬이다. 본 실시예에 따른 하이브리드 순환 천이 행렬은 참조 행렬에 대해 다양한 크기의 순환 천이를 수행한 행렬일 수 있다. 또한, 도 8a 내지 도 8c의 행렬은 함께 사용될 수 있다. 예를 들어, 도 7의 701 영역에 도 8a의 행렬을 사용한 경우, 도 7의 702 영역에는 도 8b의 행렬을 사용하고, 도 7의 703 영역에는 도 8c의 행렬을 사용할 수 있다. 도 8a의 행렬은 16 * 16 크기의 서브 행렬로 이루어지므로, 총 15가지의 순환 천이가 적용될 수 있다. 따라서, 도 8a의 행렬은 15가지 종류로 변형될 수 있다. 참조행렬을 1씩 순환 천이를 시킴으로써 별도의 추가 정보 없이 이후 추가되는 하이브리드 순환 천이 행렬을 생성할 수 있지만, 순환 천이되는 순서를 미리 정해 놓을 수도 있다.The matrix of FIG. 8C is an example of modifying the reference matrix of FIG. 8A. The matrix of FIG. 8A is a matrix in which 3 cyclic shifts are performed in the downward direction with respect to the reference matrix of FIG. 8A. The hybrid cyclic shift matrix according to the present embodiment may be a matrix in which cyclic shifts of various sizes are performed with respect to the reference matrix. In addition, the matrices of FIGS. 8A-8C can be used together. For example, when the matrix of FIG. 8A is used for the region 701 of FIG. 7, the matrix of FIG. 8B may be used for the region 702 of FIG. 7, and the matrix of FIG. 8C may be used for the region 703 of FIG. 7. Since the matrix of FIG. 8A is composed of a 16 * 16 sub-matrix, a total of 15 cyclic shifts may be applied. Accordingly, the matrix of FIG. 8A may be modified into 15 types. By performing a cyclic shift of the reference matrix by 1, a hybrid cyclic shift matrix to be added later without additional information may be generated, but the order in which cyclic shifts may be determined may be set in advance.

도 8d의 행렬은, 도 8a의 행렬에 대해 왼쪽 방향으로 2 만큼의 순환 천이를 수행한 행렬이다. 본 실시예에 따라 참조 행렬의 사이클 특성을 유지하면서 순환 천이를 수행하기 위해서는 각 행(row)에 대한 순환 천이를 수행하는 것이 바람직하다. 그러나, 도 8d의 일례처럼 열(column)에 대한 순환 천이를 수행할 수도 있다.The matrix of FIG. 8D is a matrix in which two cyclic shifts are performed in the left direction with respect to the matrix of FIG. 8A. According to the present embodiment, in order to perform a cyclic shift while maintaining the cycle characteristics of the reference matrix, it is preferable to perform a cyclic shift for each row. However, it is also possible to perform a cyclic shift on the column, as in the example of FIG. 8D.

도 8e의 행렬은 도 8c의 행렬에 대해 왼쪽 방향으로 2 만큼의 순환 천이를 수행한 행렬이다. 즉, 행과 열에 대한 순환 천이가 동시에 수행될 수도 있다. The matrix of FIG. 8E is a matrix that performs two cyclic shifts in the left direction with respect to the matrix of FIG. 8C. That is, cyclic shifts for rows and columns may be performed at the same time.

도 8f의 행렬은 도 8c의 행렬의 열(column)의 순서를 조정한 행렬이다. 즉, 도 8c의 행렬의 열의 순서를 {3, 4, 1, 5, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}와 같이 조정할 수 있다. The matrix of FIG. 8F is a matrix in which the order of the columns of the matrix of FIG. 8C is adjusted. That is, the order of the columns of the matrix of FIG. 8C can be adjusted as {3, 4, 1, 5, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}.

도 8g의 행렬은 도 8a의 참조 행렬을 변형한 일례로서, 도 8a의 참조 행렬에 대해 윗 방향으로 3 만큼의 순환 천이(cyclic shift)를 수행한 행렬이다. The matrix of FIG. 8G is an example of modifying the reference matrix of FIG. 8A. The matrix of FIG. 8G is a matrix in which up to three cyclic shifts are performed with respect to the reference matrix of FIG. 8A.

도 8b 내지 도 8g의 행렬은 도 8a의 참조 행렬과 함께 사용될 수 있다. 도 8b 내지 도 8g의 행렬은 도 8a를 변형하므로, 도 8b 내지 도 8g의 행렬에서 무게를 갖는 성분의 위치는, 도 8a의 행렬에서 무게를 갖는 성분의 위치에 따라 결정된다. 예를 들어, 도 8b의 행렬에서 x'1 내지 x'48의 위치에는 무게(weight)가 존재하는데, 도 8b의 x'1 내지 x'48의 위치는 도 8a의 x1 내지 x48의 위치에 따라 결정된다. 다만, x'1 내지 x'48에 해당하는 인덱스(즉, 쉬프트 수)는 x1 내지 x48과 상이할 수 있다. x'1 내지 x'48의 인덱스는 사이클 특성을 개선하기 위해 다양한 값을 갖을 수 있기 때문이다. 또한 본 실시예에서 참조행렬이 16 * 16 정사각인 경우를 예시를 들었지만, 16 * 8 일 수도 있으며, 다양한 모양을 가질 수 있다.The matrixes of FIGS. 8B-8G can be used with the reference matrix of FIG. 8A. Since the matrixes of FIGS. 8B-8G modify FIG. 8A, the position of the weighted component in the matrix of FIGS. 8B-8G is determined according to the position of the weighted component in the matrix of FIG. 8A. For example, in the matrix of FIG. 8B, there is a weight in the positions of x'1 to x'48. The positions of x'1 to x'48 in FIG. 8B depend on the positions of x1 to x48 in FIG. 8A. Is determined. However, the index (ie, the number of shifts) corresponding to x'1 to x'48 may be different from x1 to x48. This is because the indices of x'1 to x'48 may have various values to improve cycle characteristics. In addition, in the present exemplary embodiment, the reference matrix is 16 * 16 square, but the example may be 16 * 8, and may have various shapes.

상술한 바와 같이, 일반적인 LDPC 인코더나 디코더는, 위치 메모리(position memory)와 인덱스 메모리를 구비한다. 이 경우, 본 실시예에 따라 참조 행렬과 이를 변형한 행렬들을 이용하는 경우, 상기 위치 메모리의 크기가 선형적으로 커지는 것을 방지할 수 있다. 즉, 참조 행렬에서 무게를 갖는 성분의 위치를 알고 상기 참조 행렬을 얼마만큼 순환 천이(cyclic shift)하는지에 관한 정보를 안다면, 상기 참조 행렬을 제외한 나머지 부분의 행렬의 무게를 갖는 성분의 위치를 알 수 있다. 따라서, 패리티 검사 행렬의 정보어 부분의 크기가 커지더라도, 위치 메모리의 크기는 상기 참조 행렬에 따라 고정될 수 있다. As described above, a general LDPC encoder or decoder includes a position memory and an index memory. In this case, when using the reference matrix and the modified matrix according to the present embodiment, it is possible to prevent the size of the location memory from being linearly increased. That is, if the position of the component having weight in the reference matrix and the information on how much cyclic shift the reference matrix is known, the position of the component having the weight of the rest of the matrix except the reference matrix Can be. Therefore, even if the size of the information word portion of the parity check matrix is increased, the size of the location memory can be fixed according to the reference matrix.

도 7의 일례에서는 하나의 참조 행렬을 사용하는 경우를 설명하였으나, 복수의 참조 행렬을 사용할 수 있다. 즉 특정한 제1 참조 행렬 A와 상기 A를 순환 천이한 적어도 하나의 변환된 행렬 A1, A2,..., An과 함께, 특정한 제2 참조 행렬 B와 상기 B를 순환 천이한 적어도 하나의 변환된 행렬 B1, B2,..., Bn을 하나의 정보어 부분에 포함시킬 수도 있다. In the example of FIG. 7, a case of using one reference matrix has been described, but a plurality of reference matrices may be used. That is, at least one cyclically shifted specific second reference matrix B and B together with a specific first reference matrix A and at least one transformed matrix A 1 , A 2 , ..., A n which cyclically shifted A. The transformed matrix of B 1 , B 2 , ..., B n may be included in one information word part.

본 실시예는 행 및 열 중 적어도 어느 하나를 천이(shift)시킨 행렬을 이용하여 패리티 검사 행렬을 확장하므로, 사이클 특성을 유지할 수 있다. 즉 참조 행렬과 상기 참조 행렬을 변환한 행렬들 간에 우수한 사이클 특성이 유지될 수 있다. 또한, 각 행렬들 간에 사이클 특성이 좋지 않은 분포 상태를 보이는 것을 막을 수 있다.In this embodiment, since the parity check matrix is extended using a matrix obtained by shifting at least one of a row and a column, the cycle characteristic can be maintained. That is, excellent cycle characteristics can be maintained between the reference matrix and the matrixes obtained by converting the reference matrix. In addition, the cycle characteristics between the matrices can be prevented from being poorly distributed.

상술한 바와 같이 본 실시예에서 제안하는 패리티 검사 행렬은 다양한 부호율을 지원한다. 본 실시예에 따른 패리티 검사 행렬을 이용하여 채널 상화에 따라 부호율을 달리하는 통신 수행할 수 있으며, 그 일례는 다음과 같다. As described above, the parity check matrix proposed in this embodiment supports various code rates. By using the parity check matrix according to the present embodiment, communication with different code rates may be performed according to channel phase shift. An example thereof is as follows.

채널이 우수한 상황에서 시스템은 높은 부호율을 송수신하는 것이 고속의 데이터를 처리하는데 좋다. 그러나, 채널 상황이 나빠지는 경우 부호율을 낮추어 데이터 처리를 안정적으로 하는 것이 바람직하다. 즉, 다양한 채널 상황에 맞는 다양한 채널 부호율을 지원하는 것이 고속의 데이터를 안정적으로 처리하는데 유리하다. 도 7의 일례는 부호율 1/3에서 5/6까지 지원한다. Rate compatibility을 요구하는 시스템에서 하나의 모 행렬(mother matrix)로 요구되는 다양한 부호율을 지원하는 방법의 일례는 다음과 같다. In situations where the channel is good, the system can transmit and receive high code rates to handle high speed data. However, when the channel condition worsens, it is desirable to lower the code rate to make the data processing stable. In other words, supporting various channel code rates for various channel situations is advantageous for stably processing high-speed data. The example of FIG. 7 supports code rates 1/3 to 5/6. An example of a method of supporting various code rates required by one mother matrix in a system requiring rate compatibility is as follows.

채널의 환경이 좋을 때는, 본 실시예에 따른 송신 단은 도 7의 전체 정보어 부분을 포함하는 패리티 검사 행렬을 이용하여 부호화을 수행한다.즉, 5/6의 높은 부호율로 부호화을 수행한다. 본 실시예에 따른 수신 단은 도 7의 전체 정보어 부분을 포함하는 패리티 검사 행렬을 이용하여 복호화를 수행한다. 상기 송신 단과 수신 단은 참조 행렬에 관한 정보를 이용하여 도 7의 704, 703, 702 영역의 행렬을 생성할 수 있으므로 작은 크기의 위치 메모리를 통해 다양한 부호율을 지원하는 통신을 수행할 수 있다. When the environment of the channel is good, the transmitting end according to the present embodiment performs encoding using a parity check matrix including the entire information word portion of FIG. 7. That is, encoding is performed at a high code rate of 5/6. The receiving end according to the present embodiment performs decoding by using the parity check matrix including the entire information word part of FIG. 7. Since the transmitting end and the receiving end may generate a matrix of regions 704, 703, and 702 of FIG. 7 by using information about a reference matrix, communication supporting various code rates may be performed through a small sized location memory.

채널의 환경이 나빠져서 5/6 보다 낮은 4/5의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 704 영역을 제외한 영역을 이용하여 4/5의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복 호화를 수행한다.When the environment of the channel becomes worse and requires a code rate of 4/5 lower than 5/6, the transmitter performs encoding at a code rate of 4/5 using an area except for 704 in the entire information word portion of FIG. . The receiving end also performs decoding using the area used by the transmitting end.

채널의 환경이 더욱 나빠져서 4/5 보다 낮은 3/4의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 704, 703 영역을 제외한 영역을 이용하여 3/4의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.When the environment of the channel becomes worse and requires a code rate of 3/4 lower than 4/5, the transmitting end encodes at a code rate of 3/4 using an area excluding the areas 704 and 703 in the entire information word portion of FIG. Perform The receiving end also decodes using the area used by the transmitting end.

채널의 환경이 더욱 나빠져서 3/4 보다 낮은 2/3의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 704, 703, 702 영역을 제외한 영역을 이용하여 2/3의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.When the environment of the channel becomes worse and requires a code rate of 2/3 lower than 3/4, the transmitting end uses a code rate of 2/3 using an area excluding the areas 704, 703, and 702 in the entire information word portion of FIG. Perform encoding with. The receiving end also decodes using the area used by the transmitting end.

채널의 환경이 더욱 나빠져서 2/3 보다 낮은 1/2의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 704, 703, 702, 701 영역을 제외한 영역을 이용하여 1/2의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.When the environment of the channel becomes worse and requires a code rate of 1/2 lower than 2/3, the transmitter uses 1/2 of the entire information word in FIG. 7 except for the areas 704, 703, 702, and 701. Encoding is performed at the code rate. The receiving end also decodes using the area used by the transmitting end.

채널의 환경이 더욱 나빠져서 1/2 보다 낮은 1/3의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 1/3의 부호율에 해당하는 영역을 이용하여 1/3의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.When the environment of the channel becomes worse and requires a code rate of 1/3 lower than 1/2, the transmitting end uses 1/3 of the code rate in the entire information word part of FIG. Perform encoding at rate. The receiving end also decodes using the area used by the transmitting end.

채널 환경이 다시 좋아지는 경우 높은 부호율에 사응하는 행렬을 이용하여 부호화를 수행할 수도 있다. 이 경우 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.When the channel environment improves again, encoding may be performed using a matrix corresponding to a high code rate. In this case, the receiving end also decodes using the area used by the transmitting end.

상술한 모델 행렬 또는 패리티 검사 행렬들은 본 발명을 설명하기 위한 일례에 불과한 것이므로, 본 발명이 상술한 일례들에서 사용된 구체적인 수치에 한정되지 아니한다. Since the above-described model matrix or parity check matrices are merely examples for describing the present invention, the present invention is not limited to the specific numerical values used in the above-described examples.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정해져야 할 것이다. Those skilled in the art through the above description can be seen that various changes and modifications can be made without departing from the spirit of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification but should be defined by the claims.

이하, 본 발명에 따른 효과를 설명한다. Hereinafter, the effect of the present invention will be described.

LDPC 부호는 패리티 검사 행령에서 무게를 갖는 성분의 비중이 매우 희박한 성질을 이용한다. 구조화된 LDPC 부호의 경우, 서브 행렬(sub matrix)로부터 확장되는 패리티 검사 행렬로 부호화 또는 복호화에 상기 서브 행렬을 이진 행렬로 변환하여 사용하는 것이 아니라 무게를 갖는 성분의 위치를 저장하는 위치 메모리와 각 무게를 갖는 성분의 인덱스 값을 저장하는 이진 메모리를 이용하여 부호화 및 복호화를 수행한다. 본 발명의 장점은 높은 부호율의 확장시에 위치 메모리의 크기를 증가시킬 필요가 없다는 것이다. 즉, 시스템의 메모리를 줄일 수 있다. 하기 표 2는 위치 메모리 측면에서 본 발명의 효과를 설명한다. The LDPC code utilizes a property in which the specific gravity of the weighted component is very thin in the parity check order. In the structured LDPC code, a parity check matrix that extends from a sub-matrix and a location memory for storing positions of weighted components rather than converting the sub-matrix into a binary matrix for encoding or decoding. Encoding and decoding are performed using a binary memory that stores index values of components with weights. An advantage of the present invention is that it is not necessary to increase the size of the location memory when expanding the high code rate. That is, the memory of the system can be reduced. Table 2 below describes the effects of the present invention in terms of location memory.

Code rateCode rate 본 발명The present invention 종래 기술 Prior art 2/32/3 3*163 * 16 3*163 * 16 3/43/4 00 3*163 * 16 4/54/5 00 3*163 * 16 5/65/6 00 3*163 * 16 6/76/7 00 3*163 * 16 7/87/8 00 3*163 * 16 8/98/9 00 3*163 * 16 9/109/10 00 3*163 * 16 10/1110/11 00 3*163 * 16 11/1211/12 00 3*163 * 16 12/1312/13 00 3*163 * 16 13/1413/14 00 3*163 * 16 14/1514/15 00 3*163 * 16 15/1615/16 00 3*163 * 16 16/1716/17 00 3*163 * 16 17/1817/18 00 3*163 * 16 Total memoryTotal memory 3*16=483 * 16 = 48 3*16 *16 = 7683 * 16 * 16 = 768

표 2와 같이, 본 발명에 따른 부호화 및 복호화 방법은 부효율이 증가하여도 위치 메모리의 추가적인 증가가 없다. 부호율 17/18까지 지원하는 부호화 및 복호화를 수행하는 경우 본 발명에 따른 방법은 종래 기술의 6.25%의 메모리 크기를 필요로 한다. As shown in Table 2, the encoding and decoding method according to the present invention does not increase the location memory even if the inefficiency increases. When performing encoding and decoding supporting up to code rate 17/18, the method according to the present invention requires a memory size of 6.25% of the prior art.

본 발명에 따른 부호화 및 복호화 방법은 메모리를 절약하는 효과 뿐만 아니라 우수한 부호화 성능을 보인다.The encoding and decoding method according to the present invention shows not only an effect of saving memory but also an excellent encoding performance.

도 9는 본 실시예에 따른 패리티 검사 행렬을 이용하여 부호화를 수행하는 경우 성능을 나타내는 도면이다. 즉, 도 9의 결과는 본 실시예에 따른 패리티 검사 행렬을 이용하여 트레인 구조의 LDPC 부호를 생성한 경우의 성능 곡선이다. 도시된 바와 같이, 패리티 검사 행렬의 정보어 부분의 크기가 커질수록 LDPC 부호의 특징인 부호화 이득(Coding gain)을 얻을 수 있음을 알 수 있다. 즉 본 발명에 따른 패리티 검사 행렬을 이용하여 부호화 및 복호화를 수행하면 메모리의 크기를 절약 뿐만 아니라 우수한 부호를 설계할 수 있다.9 is a diagram illustrating performance when encoding is performed using a parity check matrix according to the present embodiment. That is, the result of FIG. 9 is a performance curve when the LDPC code of the train structure is generated using the parity check matrix according to the present embodiment. As shown, it can be seen that as the size of the information word portion of the parity check matrix increases, coding gain, which is a characteristic of the LDPC code, can be obtained. That is, when encoding and decoding are performed using the parity check matrix according to the present invention, not only the memory size but also the excellent code can be designed.

Claims (10)

특정한 정보어 부분 및 패리티 부분을 포함하는 모델 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서,In the method of performing LDPC encoding using a model matrix including a specific information word portion and a parity portion, 상기 정보어 부분은 적어도 하나의 참조 행렬 및 상기 적어도 하나의 참조 행렬을 순환 천이(cyclic shift)한 적어도 하나의 변환 행렬을 포함하는 것을 특징으로 하는 LDPC부호화 방법.And wherein the information word portion includes at least one reference matrix and at least one transform matrix cyclically shifting the at least one reference matrix. 제1항에 있어서, The method of claim 1, 상기 적어도 하나의 변환 행렬에 포함되는 무게를 갖는 성분의 위치는, 상기 참조 행렬에 포함되는 무게를 갖는 성분의 위치에 따라 결정되는 것을 특징으로 하는The position of the weighted component included in the at least one transformation matrix is determined according to the position of the weighted component included in the reference matrix. 참조 행렬을 이용한 LPDC 부호화 방법.LPDC coding method using a reference matrix. 제1항에 있어서, The method of claim 1, 상기 적어도 하나의 변환 행렬은, 상기 적어도 하나의 참조 행렬의 행(row)을 순환 천이(cyclic shift)한 행렬인 것을 특징으로 하는 The at least one transform matrix is a matrix obtained by performing a cyclic shift on a row of the at least one reference matrix. 참조 행렬을 이용한 LPDC 부호화 방법.LPDC coding method using a reference matrix. 제3항에 있어서, The method of claim 3, 상기 적어도 하나의 변환 행렬은, 상기 적어도 하나의 참조 행렬의 열(column)을 순환 천이(cyclic shift)한 행렬인 것을 특징으로 하는 The at least one transformation matrix is a matrix obtained by performing a cyclic shift on a column of the at least one reference matrix. 참조 행렬을 이용한 LPDC 부호화 방법.LPDC coding method using a reference matrix. 제3항에 있어서, The method of claim 3, 상기 적어도 하나의 변환 행렬은, 상기 적어도 하나의 참조 행렬의 열(column)의 순서를 조정한 행렬인 것을 특징으로 하는 The at least one transformation matrix is a matrix in which the order of the columns of the at least one reference matrix is adjusted. 참조 행렬을 이용한 LPDC 부호화 방법.LPDC coding method using a reference matrix. 제1항에 있어서, The method of claim 1, 상기 정보어 부분의 크기는 가변적인 것을 특징으로 하는 참조 행렬을 이용한 The size of the information word portion is variable using a reference matrix, characterized in that 참조 행렬을 이용한 LPDC 부호화 방법.LPDC coding method using a reference matrix. 제6항에 있어서, The method of claim 6, 상기 정보어 부분에 포함되는 상기 변환 행렬의 개수는, 부호율(code rate)에 따라 결정되는 것을 특징으로 하는 The number of transform matrices included in the information word portion is determined according to a code rate. 참조 행렬을 이용한 LPDC 부호화 방법.LPDC coding method using a reference matrix. 제1항에 있어서, The method of claim 1, 상기 참조 행렬은, 사이클(cycle) 특성에 기초하여 설계되는 것을 특징으로 하는The reference matrix is designed based on a cycle characteristic 참조 행렬을 이용한 LPDC 부호화 방법.LPDC coding method using a reference matrix. 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서, In the method of performing LDPC encoding using a parity check matrix including a specific information word portion and a parity portion, 특정한 제1 부호율(code rate)에 상응하는 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계;Performing encoding on information bits of a specific size by using a parity check matrix generated by extending from a model matrix corresponding to a specific first code rate; 상기 부호화된 코드워드를 전송하는 단계; Transmitting the encoded codeword; 특정한 제2 부호율(code rate)에 상응하는 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 및Performing encoding on information bits of a specific size by using a parity check matrix generated by extending from a model matrix corresponding to a specific second code rate; And 상기 부호화된 코드워드를 전송하는 단계Transmitting the encoded codeword 를 포함하여 이루어지되, Including but not limited to, 상기 제1 부호율 및 제2 부호율에 상응하는 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는 The information word portion of the model matrix corresponding to the first code rate and the second code rate includes at least one reference matrix and at least one transform matrix for performing a cyclic shift on the reference matrix. 참조 행렬을 이용한 LPDC 부호화 방법.LPDC coding method using a reference matrix. 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행하는 방법에 있어서, In the method of performing LDPC decoding using a parity check matrix including a specific information word portion and a parity portion, LDPC 부호화된 코드워드를 수신하는 단계; 및Receiving an LDPC coded codeword; And 특정한 크기의 서브 블록들로 이루어진 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 상기 코드워드에 대한 복호화를 수행하는 단계Decoding the codeword using a parity check matrix generated from a model matrix consisting of subblocks having a specific size; 를 포함하여 이루어지되, Including but not limited to, 상기 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는 The information word portion of the model matrix includes at least one reference matrix and at least one transform matrix that performs a cyclic shift on the reference matrix. 참조 행렬을 이용한 LPDC 복호화 방법.LPDC decoding method using reference matrix.
KR1020060051167A 2006-06-07 2006-06-07 Method of LDPC encoding and LDPC decoding using a reference matrix KR101128804B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060051167A KR101128804B1 (en) 2006-06-07 2006-06-07 Method of LDPC encoding and LDPC decoding using a reference matrix

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060051167A KR101128804B1 (en) 2006-06-07 2006-06-07 Method of LDPC encoding and LDPC decoding using a reference matrix

Publications (2)

Publication Number Publication Date
KR20070117222A true KR20070117222A (en) 2007-12-12
KR101128804B1 KR101128804B1 (en) 2012-03-23

Family

ID=39142538

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060051167A KR101128804B1 (en) 2006-06-07 2006-06-07 Method of LDPC encoding and LDPC decoding using a reference matrix

Country Status (1)

Country Link
KR (1) KR101128804B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101227328B1 (en) * 2012-01-12 2013-01-28 단국대학교 산학협력단 Method for encoding and decoding rate-compatible unitive state-check codes and apparatuses using the same
KR101405961B1 (en) * 2008-02-11 2014-06-12 엘지전자 주식회사 Method of encoding/decoding data using LDPC code

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018182369A1 (en) 2017-03-30 2018-10-04 엘지전자 주식회사 Method for performing encoding on basis of parity check matrix of low density parity check (ldpc) code in wireless communication system and terminal using same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100922956B1 (en) * 2003-10-14 2009-10-22 삼성전자주식회사 Method for encoding of low density parity check code
KR20050071842A (en) * 2004-01-03 2005-07-08 이광재 The construction method of semi-algebra low density parity check codes and encoder
KR20050123336A (en) * 2004-06-24 2005-12-29 엘지전자 주식회사 Encoding method for variable code rate by using ldpc code
KR101065693B1 (en) * 2004-09-17 2011-09-19 엘지전자 주식회사 Method of encoding or decoding using LDPC code and method of generating LDPC code

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101405961B1 (en) * 2008-02-11 2014-06-12 엘지전자 주식회사 Method of encoding/decoding data using LDPC code
KR101227328B1 (en) * 2012-01-12 2013-01-28 단국대학교 산학협력단 Method for encoding and decoding rate-compatible unitive state-check codes and apparatuses using the same

Also Published As

Publication number Publication date
KR101128804B1 (en) 2012-03-23

Similar Documents

Publication Publication Date Title
KR101102396B1 (en) Method of matching codeword size and transmitter therefor in mobile communications system
KR101191196B1 (en) Method of encoding and decoding using a parity check matrix
KR101119111B1 (en) Method of data reretransmission using Low Density Parity Check Code
KR101455978B1 (en) Method for encoding data using a Low Density Parity Check code
EP3490157B1 (en) Modulation format specific puncturing pattern for ldpc codes in combination with 16qam
JP5506878B2 (en) Parity check matrix generation method for low density parity check code
JP5436688B2 (en) Method and apparatus for generating parity check matrix and communication apparatus and method using the same in communication system using linear block code
KR102257962B1 (en) Communication method and communication device
KR20170075627A (en) Apparatus and method for encoding and decoding in communication or broadcasting system
KR101128804B1 (en) Method of LDPC encoding and LDPC decoding using a reference matrix
KR101253184B1 (en) Method of puncturing data encoded by Low Density Parity Check model matrix
KR102482110B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
CN113098659B (en) Method and apparatus for channel encoding/decoding in a communication or broadcasting system
KR101276845B1 (en) Method of Low Density Parity Check Code decoding using a plurality of layers
KR101265636B1 (en) method of performing a Low-density parity-check codes decoding using a model matrix
KR101187072B1 (en) Method for encoding using parity check matrix
KR101227514B1 (en) Method for configuring a model matrix for Low Density Parity Check encoding and decoding
KR101785726B1 (en) Method and apparatus for transmitting and receiving data in a communication system using linear block code
KR101187070B1 (en) Method for encoding using parity check matrix
KR101221897B1 (en) LDPC encoder
KR20170060574A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR101319891B1 (en) method for processing signals encoded by a block code
KR102336457B1 (en) Communication method and communication device
KR101221911B1 (en) Method for a retransmission using a Low Density Parity Check code
KR20170060600A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160224

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee