KR101276845B1 - Method of Low Density Parity Check Code decoding using a plurality of layers - Google Patents

Method of Low Density Parity Check Code decoding using a plurality of layers Download PDF

Info

Publication number
KR101276845B1
KR101276845B1 KR1020070025504A KR20070025504A KR101276845B1 KR 101276845 B1 KR101276845 B1 KR 101276845B1 KR 1020070025504 A KR1020070025504 A KR 1020070025504A KR 20070025504 A KR20070025504 A KR 20070025504A KR 101276845 B1 KR101276845 B1 KR 101276845B1
Authority
KR
South Korea
Prior art keywords
layers
decoding
matrix
rank
parity
Prior art date
Application number
KR1020070025504A
Other languages
Korean (ko)
Other versions
KR20080084178A (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 KR1020070025504A priority Critical patent/KR101276845B1/en
Publication of KR20080084178A publication Critical patent/KR20080084178A/en
Application granted granted Critical
Publication of KR101276845B1 publication Critical patent/KR101276845B1/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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing

Landscapes

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

Abstract

본 발명은 LDPC(Low Density Parity Check) 복호화 방법에 관한 것으로서, 보다 상세하게는, 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법에 관한 것이다. The present invention relates to a low density parity check (LDPC) decoding method, and more particularly, to a method for performing LDPC decoding using a plurality of layers.

본 발명은 상술한 목적을 달성하기 위해, 송신 단으로부터 적어도 하나의 패리티 비트가 천공된 LDPC 코드워드에 상응하는 신호를 수신하는 단계; 상기 레이어 각각에 상응하는 적어도 하나의 패리티 비트 중에서 상기 수신 신호에서 천공된 개수에 따라, 상기 복수의 레이어 각각에 대한 순위를 결정하는 단계; 및 상기 순위에 따라 상기 복수의 레이어들을 순차적으로 사용하여 상기 LDPC 코드워드를 복호화하는 단계를 포함하여 이루어진다. The present invention comprises the steps of: receiving a signal corresponding to the LDPC codeword punctured at least one parity bit from the transmitting end to achieve the above object; Determining a rank for each of the plurality of layers according to the number of punctures in the received signal among at least one parity bit corresponding to each of the layers; And decoding the LDPC codeword using the plurality of layers sequentially according to the rank.

LDPC, 레이어, 디코딩, 천공, 우선 순위, 디코딩 순위 LDPC, layer, decoding, puncturing, priority, decoding rank

Description

복수의 레이어들을 이용하여 LDPC 복호화를 수행하는 방법{Method of Low Density Parity Check Code decoding using a plurality of layers}Method of Low Density Parity Check Code decoding using a plurality of layers}

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

도 2 내지 도 3은 종래 및 본 발명에 따른 재전송 기법을 나타내는 도면이다. 2 to 3 are diagrams illustrating a retransmission scheme according to the prior art and the present invention.

도 4는 모델 행렬이 패리티 검사 행렬로 확장되는 개념을 나타내는 도면이다. 4 is a diagram illustrating a concept in which a model matrix is extended to a parity check matrix.

도 5는 종래 기술 및 본 발명에 따른 LDPC 복호화 방법을 나타내는 도면의 일례이다. 5 is an example of a diagram illustrating a conventional LDPC decoding method according to the present invention.

도 6a는 4 * 8 크기의 임의의 패리티 검사 행렬 H를 나타낸 도면이다.FIG. 6A shows an arbitrary parity check matrix H of size 4 * 8.

도 6b는 도 6a의 행렬을 이분법 그래프(Bipartite graph)로 표시한 일례이다.FIG. 6B is an example of displaying the matrix of FIG. 6A in a bipartite graph.

도 7은 레이어(layer) 단위로 구분된 패리티 검사 행렬의 예를 나타내는 블록도이다.FIG. 7 is a block diagram illustrating an example of a parity check matrix divided into layers.

도 8은 특정한 4*8 크기의 패리티 검사 행렬을 이분법 그래프를 통해 나타낸 것이다.8 shows a parity check matrix having a specific 4 * 8 size through a dichotomous graph.

도 9는 본 실시예에 따라 레이어의 우선 순위를 정하는 방법을 설명하는 도면이다. 9 is a view for explaining a method of determining the priority of layers according to the present embodiment.

도 10a는 도 9의 이분법 그래프를 패리티 검사 행렬로 표현한 블록도이다.FIG. 10A is a block diagram of the dichotomy graph of FIG. 9 represented by a parity check matrix.

도 10b 내지 도 10f는 본 실시예를 설명하기 위한 블록도이다. 10B to 10F are block diagrams for explaining the present embodiment.

도 11은 본 실시예를 설명하기 위한 또 다른 블록도이다. 11 is another block diagram for explaining the present embodiment.

본 발명은 LDPC(Low Density Parity Check) 복호화 방법에 관한 것으로서, 보다 상세하게는, 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법에 관한 것이다. The present invention relates to a low density parity check (LDPC) decoding method, and more particularly, to a method for performing LDPC decoding using a plurality of layers.

도 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 등의 다양한 방법이 존재한다. 상기 다중화(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. 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.

상기 채널 코딩을 수행하는 장치는, 입력된 데이터(Information bits 또는 Systematic Bits)에 첨가될 패리티 비트(Parity Bits)을 발생시키는 사용되는 패리티 검사 행렬(Parity Check Matrix)인 H 행렬 또는 H행렬로부터 유도되는 생성행렬(Generation Matrix) G 행렬을 저장하고 있다. 즉, 상기 송신 단은, 상기 H 또는 G 행렬과 상기 입력된 데이터를 통해 패리티 비트(Parity Bit)들을 발생하는 인코더(Encoder)를 포함한다. 채널 디코딩(Channel Decoding)을 수행하는 장치는, 수신된 데이터(왜곡된 Systematic Bits + Parity Bits)를 H행렬과 연산을 통하여 상기 입력된 데이터(Systematic Bits)들이 제대로 복구되는지 확인하고 복구 실패시 연산을 재수행한다. The apparatus for performing channel coding is 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 (Information bits or Systematic Bits). Generation Matrix Contains the G 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 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 부호의 개념을 설명하면 다음과 같다. The LDPC code will be described below. The concept of the LDPC code is as follows.

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

Figure 112007020940286-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 the linear code is that for all codewords c,
Figure 112007020940286-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 elements of the parity check matrix are mostly 0, and the number of non-zero elements has a smaller number than the code length, so that it is possible to perform iterative decoding based on probability. 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 elements 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까지 늘릴 수 있다.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.

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

LDPC 부호를 사용하기 위해서는 패리티 체크 행렬 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 a part 1 of an element (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 representing elements of the H matrix used for LDPC encoding and decoding as sub-blocks 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. The model matrix means a parity check matrix composed of at least one subblock represented by the number of shifts described below. The model matrix may be generated by extending the parity check matrix by a method described below. Therefore, encoding and decoding by a specific model matrix is the same as encoding and decoding by a parity check matrix generated by extending from the corresponding model matrix.

도 3에 도시된 바와 같이, 구조화된 LDPC 행렬은 '-1', '0' 과 양의 정수로 표현될 수 있다. 인덱스가 '-1'인 경우는 특정한 크기의 영 행렬(zero matrix)을 나타내며, 인덱스가 '0'인 경우는 특정한 크기의 단위 행렬(identity matrix)을 나타낸다. '-1'과 '0'을 제외한 양의 정수를 갖는 인덱스는, 상기 인덱스가 쉬프트 수(shift number)를 나타낸다. 서브 블록을 '1'이라는 인덱스로 표현하는 경우, 해당 서브 블록은 단위 행렬에서 특정한 방향으로 '1'번 쉬프트된 것이다. As shown in FIG. 3, the structured LDPC matrix may be represented by '-1', '0' and a positive integer. When the index is '-1', it indicates a zero matrix of a specific size, and when the index is '0', it indicates an identity matrix of a specific size. In an index having a positive integer except '-1' and '0', the index represents a shift number. When a subblock is represented by an index of '1', the subblock is shifted '1' times in a specific direction in the unit matrix.

도 4는 상술한 인덱스, 즉 쉬프트 수(shift number)에 따른 행렬의 표현 방법을 나타낸 도면이다. 특정한 패리티 검사 행렬을 4*4 크기의 행렬(즉, 서브 블록)로 구조화하여 표현하는 경우, 상기 특정한 서브 블록을 '3'이라는 인덱스로 표시하면, 상기 서브 블록은 도 4의 행렬이 된다. 4 is a diagram illustrating a method of expressing a matrix according to the above-described index, that is, a shift number. When a specific parity check matrix is structured and expressed as a 4 * 4 matrix (that is, a sub block), if the specific sub block is represented by an index of '3', the sub block becomes the matrix of FIG. 4.

이하, 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 112007020940286-pat00002
Figure 112007020940286-pat00002

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

이하, 상술한 LDPC 부호화 방법에 의해 생성된 코드워드를 'LDPC 코드워드'라 칭한다. LDPC 코드워드에는 수신 단으로 송신하려는 정보에 상응하는 정보 비트(수학식 1의 'x')와 패리티 검사 행렬에 의해 생성되는 패리티 비트가 포함된다. Hereinafter, the codeword generated by the above-described LDPC encoding method is referred to as an 'LDPC codeword'. The LDPC codeword includes an information bit ('x' in Equation 1) corresponding to information to be transmitted to a receiving end and a parity bit generated by a parity check matrix.

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

Figure 112007020940286-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 112007020940286-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 112007020940286-pat00004
Figure 112007020940286-pat00004

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

도 5는 종래 기술 및 본 발명에 따른 LDPC 복호화 방법을 나타내는 도면의 일례이다. 5 is an example of a diagram illustrating a conventional LDPC decoding method according to the present invention.

통신시스템에서 부호화된 데이터는 도 1의 무선 채널을 통과하는 과정에서 잡음을 포함하게 되는데, 수신 단에서는 도 5과 같은 절차를 통해 데이터의 복호한다. 수신 단의 복호화 블록에서는 부호화된 코드워드(c)에 잡음이 첨가된 수신신호(c')로부터 정보 비트(x)를 구하는데, cHT=0인 성질을 이용하여 찾아낸다. 즉, 수신된 코드워드를 c'라 할 때, c'HT의 값을 계산하여 결과가 0이면, c' 에서 앞 부분에 위치하는 k개의 비트를 상기 정보 비트(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 decodes the data through the procedure of FIG. The decoded block of the receiving end to obtain the information bits from the noise to the encoded code word (c) adding the received signal (c ') (x), find using the cH T = 0 in nature. That is, when the received codeword is c ', the value of c'H T is calculated, and if the result is 0, k bits located at the front of c' are determined as the information bits x.

도 6a는 4 * 8 크기의 임의의 패리티 검사 행렬 H를 나타낸 도면이다. 도 6과 같은 임의의 패리티 검사 행렬은 검사 노드 검사 노드(Check Node)와 변수 노드(Variable Node)로 구성된 이분법 그래프(Bipartite graph)로 표시될 수 있다. FIG. 6A shows an arbitrary parity check matrix H of size 4 * 8. The arbitrary parity check matrix as shown in FIG. 6 may be represented by a bipartite graph composed of a check node check node and a variable node.

도 6b는 도 6a의 행렬을 이분법 그래프(Bipartite graph)로 표시한 일례이다. 도 6b에 도시된 각 검사 노드 유닛(Check Node Unit: CNU)와 변수 노드 유닛(Variable Node Unit: VNU)의 연결관계를 보면, 도 6b가 도 6a를 나타내는 것을 알 수 있다. 이하 설명의 편의를 위해 이분법 그래프를 사용하여 설명한다. FIG. 6B is an example of displaying the matrix of FIG. 6A in a bipartite graph. Referring to the connection relationship between each Check Node Unit (CNU) and Variable Node Unit (VNU) shown in FIG. 6B, it can be seen that FIG. 6B represents FIG. 6A. For convenience of explanation, the following description will be made using a dichotomous graph.

이분법 그래프 상에서 알고리즘을 적용하여 복호화하는 과정을 도 5에 기초하여 설명하면 다음과 같은 3개의 과정으로 구분될 수 있다. A process of decoding by applying an algorithm on a dichotomy graph may be classified into three processes as follows.

1. 검사 노드(check node)에서 변수 노드(variable node)로의 확률값 갱신(도 5의 S502)1. Update the probability value from a check node to a variable node (S502 in FIG. 5)

2. 변수 노드에서 검사 노드로의 확률값 갱신(도 5의 S503)2. Update the probability value from the variable node to the check node (S503 in Fig. 5)

3. 변수 노드의 확률을 통한 복호값 결정(도 5의 S504)3. Decoding Value Determination through Probability of Variable Node (S504 in FIG. 5)

상기 S502 내지 S504 동작을 수행하기 위해서, 채널로부터 수신된 확률 값이 입력되는 초기화(initialization)단계(도 5의 S501)가 먼저 수행되어야 한다. In order to perform the operations S502 to S504, an initialization step (S501 of FIG. 5) in which a probability value received from a channel is input must be performed first.

상기 S502 단계를 수행한 이후, 상기 변수 노드(variable)에서 검사 노드(check node)로의 확률 값이 갱신되면, 상기 S504 단계가 수행된다. After performing step S502, if a probability value from the variable node to a check node is updated, step S504 is performed.

또한, 상기 S502과 S503 과정을 통해 갱신된 확률 값을 이용하여 복호 값을 결정한다. LDPC 복호화 과정은 S504 단계에서 결정된 복호 값(c')이 검사식 c'HT=0 을 만족하는 경우, 상기 값(c')을 복호 된 값으로 결정한다. 만약 검사식을 만족하지 못하면 일정 회수만큼 상기 S502 및 S504 단계를 반복수행한다. In addition, the decoding value is determined using the probability value updated through the steps S502 and S503. The LDPC decoding process determines the value c 'as a decoded value when the decoding value c' determined in step S504 satisfies the check expression c'H T = 0. If the inspection equation is not satisfied, the steps S502 and S504 are repeated as many times as the predetermined number of times.

상기 S502 내지 S504 단계을 반복할수록 검사 노드와 변수 노드간의 확률값의 신뢰도가 높아지고, 결과적으로 구하고자하는 코드워드(codeword)의 참값에 근접하게 된다. As the steps S502 to S504 are repeated, the reliability of the probability value between the check node and the variable node is increased, and as a result, it is closer to the true value of the codeword to be obtained.

종래의 LDPC 부호의 복호는 주로 패리티 검사 행렬의 다른 표현인 이분법 그 래프 상에서 검사 노드와 변수 노드 사이의 확률 값의 갱신으로 신뢰도를 높이는 과정의 반복을 통해 이루어진다. 패리티 검사 행렬의 다른 표현인 이분법 그래프를 이용해 복호화하는 방법은, 갱신(update)된 확률 값을 통해 복호 값을 결정하게 되므로, 복호 값을 결정하게 되는 확률 값의 갱신 과정이 복호기의 성능에 직접적인 영향을 미치게 된다.The decoding of a conventional LDPC code is mainly performed by repeating a process of increasing reliability by updating probability values between check nodes and variable nodes on a dichotomous graph, which is another representation of a parity check matrix. In the decoding method using a dichotomy graph, which is another representation of the parity check matrix, the decoding value is determined through the updated probability value, and thus the process of updating the probability value that determines the decoding value directly affects the performance of the decoder. Get mad.

신뢰도, 즉 확률 값의 갱신 과정은 S502 단계와 S503 단계로 나누어 생각할 수 있다. 상기 S502 단계와 S503 단계에 따라 특정한 노드를 갱신하는 경우, 패리티 검사 행렬 상에서 갱신되는 노드와 같은 열(column) 또는 같은 행(row)에 위치하는 확률 값을 사용하여 노드의 갱신이 이루어진다. 보다 구체적으로, 갱신되는 노드는 자기 자신의 값을 제외한 다른 확률 값을 이용하여 자신의 갱신을 수행하되, 상술한 바와 같이 같은 열 또는 같은 행에 위치한 확률 값을 이용하여 자신의 갱신을 수행한다. 이 경우, 확률 값이 더 많이 갱신될수록 더 높은 신뢰도를 갖는 것이 일반적이다. The process of updating the reliability, that is, the probability value, may be divided into steps S502 and S503. When updating a specific node according to steps S502 and S503, the node is updated using a probability value located in the same column or the same row as the node to be updated on the parity check matrix. More specifically, the updated node performs its own update using a probability value other than its own value, but performs its own update using the probability values located in the same column or the same row as described above. In this case, it is common to have higher reliability as more probability values are updated.

종래의 LDPC 복호 방법, 즉 종래의 신뢰도 전파(BP: Belief Propagation) 알고리즘은 같은 행이나 열 상에서의 신뢰도 갱신에 있어서, 모두 같은 정도의 갱신과정을 거친 확률 값을 사용하여 연산하는 방법을 사용하였다.In the conventional LDPC decoding method, that is, the conventional Belief Propagation (BP) algorithm, a method of calculating reliability reliability on the same row or column using a probability value that has undergone the same degree of update process is used.

이러한 종래의 BP 알고리즘을 개선하기 위해 제안된 것이 Layered decoding이다. 상기 Layered decoding은, 같은 열(column) 속에서 이미 갱신된 값이 있을 때, 그 갱신된 값을 사용하여 변수 노드에서 검사 노드로의 확률 값을 갱신하는 LDPC 복호화 방법이다. Proposed to improve such a conventional BP algorithm is layered decoding. The layered decoding is an LDPC decoding method for updating a probability value from a variable node to an inspection node using the updated value when there is already an updated value in the same column.

보다 구체적으로, 상기 Layered decoding은 패리티 검사 행렬의 행을 여러 레이어(layer) 단위로 나누어 반복 복호하는 방법이다. More specifically, the layered decoding is a method of repeatedly decoding a row of a parity check matrix in units of layers.

상기 Layered decoding은 구조화된 LDPC 부호에도 적용될 수 있다. 즉, 일반적인 패리티 검사 행렬을 사용하여 부호화/복호화를 수행하는 경우에는 하나의 행이 하나의 레이어(layer)가 되는 것이고, 구조화된 패리티 부호를 사용하는 경우에는 하나의 서브 블록이 하나의 레이어가 될 수 있다. The layered decoding may also be applied to structured LDPC codes. That is, when encoding / decoding is performed using a general parity check matrix, one row becomes one layer, and when a structured parity code is used, one subblock becomes one layer. Can be.

달리 표현하면, 상기 Layered decoding가 구조화된 LDPC 부호에 사용되는 경우 하나의 레이어는 적어도 하나의 행을 포함한다. 이 경우, 하나의 레이어에 포함되는 행의 개수는, 구조화된 LDPC 부호에서 사용되는 서브 블록의 크기에 상응하는 것이 바람직하다. 예를 들어, 상기 서브 블록의 크기가 z*z인 경우, 하나의 레이어에 포함되는 행의 개수는 z 개인 것이 바람직하다. In other words, when the layered decoding is used for a structured LDPC code, one layer includes at least one row. In this case, the number of rows included in one layer preferably corresponds to the size of the sub block used in the structured LDPC code. For example, when the size of the sub block is z * z, it is preferable that the number of rows included in one layer is z.

도 7은 레이어(layer) 단위로 구분된 패리티 검사 행렬의 예를 나타내는 블록도이다. 도시된 바와 같이 행 방향으로 동일한 위치에 있는 서브 블록들은 하나의 레이어를 이룬다. FIG. 7 is a block diagram illustrating an example of a parity check matrix divided into layers. As shown, sub-blocks in the same position in the row direction form one layer.

상기 Layered decoding은 패리티 검사 행렬 H의 같은 행(row)에서의 신뢰도 갱신에 있어서, 모두 같은 정도의 갱신과정을 거친 확률 값을 사용하여 신뢰도를 갱신한다. 즉, 상술한 BP 알고리즘과 같이 이분법 그래프 상에서 검사 노드와 변수 노드 간의 확률 값 갱신을 수행한다. The layered decoding updates reliability by using probability values that have all been updated in the same row in reliability update of the parity check matrix H in the same row. That is, like the BP algorithm described above, the probability value update between the check node and the variable node is performed on a dichotomous graph.

그러나, 변수 노드에서 검사 노드로 향하는 확률 값의 갱신 과정, 즉 상기 패리티 검사 행렬의 열(column)의 확률 값 갱신에 있어서는, 앞서 갱신된 값을 사 용하여 상기 패리티 검사 행렬 H의 열(column)의 확률 값을 갱신하는 특징이 있다. However, in the process of updating the probability value from the variable node to the check node, that is, updating the probability value of the column of the parity check matrix, the column of the parity check matrix H is updated using the previously updated value. There is a characteristic of updating the probability value.

결국, Layered decoding은, 여러 개의 레이어(layer)로 이루어진 상기 패리티 검사 행렬에서 순차적으로 각 레이어를 이용하여 수신 신호를 복호화하는 방법이다. As a result, layered decoding is a method of decoding a received signal using each layer sequentially in the parity check matrix composed of several layers.

이미 하나의 레이어에 대하여 연산을 수행하여 확률 값을 갱신하고, 다음 레이어에 대하여 확률 값 갱신을 위한 연산을 수행하는 경우에, 이미 갱신된 레이어(layer)에서 연산된 결과를, 다음 레이어(layer)의 연산에 사용함으로써, 좀 더 신뢰도가 높은 복호 방법을 제공할 수 있다. In the case of performing an operation on one layer to update the probability value, and performing an operation for updating the probability value on the next layer, the result calculated in the already updated layer is obtained from the next layer. By using in the operation of, a more reliable decoding method can be provided.

이분법 그래프를 통해 Layered decoding의 구체적인 장점을 설명하면 다음과 같다. Specific advantages of layered decoding will be described through a dichotomy graph.

도 8은 특정한 4*8 크기의 패리티 검사 행렬을 이분법 그래프를 통해 나타낸 것이다. 도 8에서 변수 노드(variable node)는 8개이고, 검사 노드(check node)는 4개이며, 각각의 검사 노드는 하나의 레이어를 이룬다. 8 shows a parity check matrix having a specific 4 * 8 size through a dichotomous graph. In FIG. 8, there are eight variable nodes, four check nodes, and each check node forms one layer.

첫 번째 레이어의 연산을 행하기 위해서는 1,3,6번째 변수 노드에 대한 채널 입력 정보와 이미 수행된 갱신을 통해 변수 노드로 전달된 외부(extrinsic) 정보가 필요하다. In order to perform the operation of the first layer, channel input information for the first, third, and sixth variable nodes, and extrinsic information transmitted to the variable node through an update that has already been performed are needed.

첫 번째 레이어에 대한 갱신이 끝나면 두 번째 레이어에 대한 갱신을 수행한다. 이때 사용되는 2,3,7번 변수 노드에 대한 정보 중 3 번째 변수 노드의 정보는 이미 첫 번째 레이어에 대한 연산에 의해 갱신된 것이다. After updating the first layer, update the second layer. At this time, the information of the third variable node of the information on the variable nodes 2, 3, 7 is already updated by the operation on the first layer.

layered decoding 기법을 BP 알고리즘과 비교하였을 경우, 첫 번째 변수 노 드의 정보가 7번째 변수 노드로 전달되기까지 BP 알고리즘은 2번의 반복 복호화를 거치면서 검사 노드에 대한 연산을 8번 수행한다. 그러나, layered decoding 기법은 2번의 반복 복호화를 거치면서 체크 노드 연산을 2번 수행한다. When the layered decoding technique is compared with the BP algorithm, the BP algorithm performs eight operations on the check node through two iterative decodings until the information of the first variable node is transferred to the seventh variable node. However, the layered decoding technique performs two check node operations through two iterative decodings.

정리하면, layered decoding 기법은, 적은 횟수의 반복 복호화를 통해 BP 알고리즘과 같은 성능을 이룰 수 있다.In summary, the layered decoding technique may achieve the same performance as the BP algorithm through a small number of iterative decoding.

layered decoding 기법을 수학식으로 나타내면 하기 수학식 3과 같다. The layered decoding technique is represented by Equation 3 below.

Figure 112007020940286-pat00005
Figure 112007020940286-pat00005

위 수식에서 m과 j는 각각 검사 노드와 변수 노드의 인덱스를 뜻하고

Figure 112007020940286-pat00006
는 변수 노드에서 검사 노드로 전달되는 정보이고,
Figure 112007020940286-pat00007
는 검사 노드에서 변수 노드로 전달되는 정보를 나타내고 있다. 그리고,
Figure 112007020940286-pat00008
함수는
Figure 112007020940286-pat00009
를 의미한다.In the above formula, m and j are the indices of test node and variable node, respectively.
Figure 112007020940286-pat00006
Is the information passed from the variable node to the inspection node,
Figure 112007020940286-pat00007
Represents the information passed from the check node to the variable node. And,
Figure 112007020940286-pat00008
The function is
Figure 112007020940286-pat00009
.

본 발명의 종래 기술의 문제점을 개선하기 위해 제안된 것으로, 본 발명의 목적은, 변수 노드의 일부 정보가 전달되지 않는 경우 개선된 성능을 제안하는 LDPC 복호화 방법을 제안하는 것이다.It is proposed to improve the problems of the prior art of the present invention, and an object of the present invention is to propose an LDPC decoding method which proposes an improved performance when some information of a variable node is not transmitted.

본 발명의 또 다른 목적은, 변수 노드의 일부가 천공되는 경우에 효율적으로 동작하는 layered decoding 기법을 제안하는 것이다. Another object of the present invention is to propose a layered decoding technique that operates efficiently when a part of a variable node is punctured.

발명의 개요Summary of the Invention

본 발명은 상술한 목적을 달성하기 위해, 송신 단으로부터 적어도 하나의 패리티 비트가 천공된 LDPC 코드워드에 상응하는 신호를 수신하는 단계; 상기 레이어 각각에 상응하는 적어도 하나의 패리티 비트 중에서 상기 수신 신호에서 천공된 개수에 따라, 상기 복수의 레이어 각각에 대한 순위를 결정하는 단계; 및 상기 순위에 따라 상기 복수의 레이어들을 순차적으로 사용하여 상기 LDPC 코드워드를 복호화하는 단계를 포함하여 이루어진다. The present invention comprises the steps of: receiving a signal corresponding to the LDPC codeword punctured at least one parity bit from the transmitting end to achieve the above object; Determining a rank for each of the plurality of layers according to the number of punctures in the received signal among at least one parity bit corresponding to each of the layers; And decoding the LDPC codeword using the plurality of layers sequentially according to the rank.

또한, 본 발명은, 송신 단으로부터 적어도 하나의 변수 노드에 상응하는 비트가 천공된 LDPC 코드워드에 상응하는 신호를 수신하는 단계; 상기 복수의 레이어들 각각에 상응하는 적어도 하나의 검사 노드의 갱신을 위해 사용되는 변수 노드 중 천공된 변수 노드의 개수에 따라, 상기 복수의 레이어들 각각에 대한 순위를 결정하는 단계; 및 상기 순위에 따라 상기 복수의 레이어들을 순차적으로 사용하여 상기 LDPC 코드워드를 복호화하는 단계를 포함하여 이루어진다. In addition, the present invention includes the steps of receiving a signal corresponding to the LDPC codeword punctured bits corresponding to at least one variable node from the transmitting end; Determining a rank for each of the plurality of layers according to the number of punctured variable nodes among variable nodes used for updating at least one check node corresponding to each of the plurality of layers; And decoding the LDPC codeword using the plurality of layers sequentially according to the rank.

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

본 발명의 목적 및 특징은 이하에서 설명하는 본 발명의 일 실시예에 의해 더욱 구체화될 것이다. 이하 첨부된 도면 등을 참조하여 본 발명의 일 실시예를 설명한다. The objects and features of the present invention will be further embodied by one embodiment of the present invention described below. Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.

본 실시예는 LDPC 부호화된 코드워드를 복호화하는 방법에 관한 것으로, 상술한 layered decoding 기법에 기초한 것이다. 또한, 본 실시예에 따라 복호화되는 코드워드는 천공(puncturing) 기법이 적용된 코드워드인 것이 바람직하다.The present embodiment relates to a method of decoding an LDPC coded codeword and is based on the above-described layered decoding technique. In addition, the codeword to be decoded according to the present embodiment is preferably a codeword to which a puncturing technique is applied.

이하, LDPC 부호화에 적용되는 천공(puncturing) 기법을 설명한다. Hereinafter, a puncturing technique applied to LDPC encoding will be described.

특정한 개수의 패리티 검사 행렬을 이용하여 다양한 부호율(code rate)를 지원하기 위하여 특정한 비트들을 전송하지 않는 기법을 사용할 수 있다. 즉, 낮은 부호율에서 높은 부호율을 갖는 가변 부호율이 가능한 부호를 설계하기 위하여 천공 기법이 사용된다.In order to support various code rates using a specific number of parity check matrices, a technique of not transmitting specific bits may be used. That is, the puncturing technique is used to design a code capable of a variable code rate having a high code rate at a low code rate.

천공되어 전송되지 않는 비트들은 패리티 검사 행렬의 패리티 부분에 상응하는 패리티 비트들인 것이 바람직하다. 패리티 검사 행렬은 전송하려는 정보에 상응하는 정보어 부분과, LDPC 부호화 방법에 따라 추가로 생성되는 패리티 비트에 상응하는 패리티 부분으로 구분된다. 도 7의 일 부분에는 정보어 부분이 존재하고, 나머지 부분에는 패리티 부분이 존재하는 것을 알 수 있다. Bits not punctured and transmitted are preferably parity bits corresponding to the parity portion of the parity check matrix. The parity check matrix is divided into an information word part corresponding to information to be transmitted and a parity part corresponding to a parity bit additionally generated according to the LDPC encoding method. It can be seen that an information word part exists in one part of FIG. 7 and a parity part exists in the other part.

비록 패리티 비트들에 대한 천공이 수행되더라도 나머지 패리티 비트와 정보 비트를 이용하면 정상적인 복호가 가능하므로 원하는 부호율을 지원하기 위해 패리티 비트들에 대한 천공이 수행된다. Although the puncturing for the parity bits is performed, normal decoding is possible using the remaining parity bits and information bits, so that the puncturing for the parity bits is performed to support a desired code rate.

이하, 천공 기법이 적용되는 경우 LDPC 복호화 성능의 열화를 방지하는 방법 을 설명한다.Hereinafter, a method of preventing degradation of LDPC decoding performance when a puncturing technique is applied will be described.

복호기를 구비한 수신 단의 측면에서 본다면, 검사 노드에 대한 연산을 통해 확률값, 즉 LLR(Log Likelihood Ratio) 값을 연산해 낼 경우, 천공된 노드의 채널 정보는 '0' (LLR 값)이 된다. 즉, '0' 비트로 복호값이 결정되거나 '1' 비트로 복호값이 결정될 확률이 동일해진다. 이러한 상태에서 LDPC 복호화 과정을 수행하면, 검사 노드에서 변수 노드로 전달되는 LLR 값은 다시 '0'이 된다. 이는 복호시 성능 열화에 원인이 될 수 있다. In terms of a receiver having a decoder, when a probability value, that is, a Log Likelihood Ratio (LLR) value is calculated through an operation on a check node, the channel information of the punctured node becomes '0' (LLR value). . That is, the probability that the decoding value is determined by the '0' bit or the decoding value is determined by the '1' bit is the same. When the LDPC decoding process is performed in this state, the LLR value transferred from the check node to the variable node becomes '0' again. This may cause performance deterioration during decoding.

한편, 천공되지 않은 변수 노드의 정보를 이용하여 천공된 노드에 정보를 전달한다. 이 과정은 최소한의 반복 복호를 통해 이루어져야 부호의 성능 열화를 줄일 수 있다. Meanwhile, the information is transmitted to the punctured node by using the information on the variable node that is not punctured. This process should be done with minimal iterative decoding to reduce the performance degradation of the code.

layered decoding 기법의 경우, 각 레이어 단위로 확률 값의 갱신이 이루어진다. 또한, 복수 개의 레이어 중 어느 레이어를 먼저 갱신할지를 결정하는 우선 순위가 존재한다. In the case of a layered decoding technique, a probability value is updated in units of layers. In addition, there is a priority for determining which of the plurality of layers to update first.

도 7을 예로 들면, 8개의 레이어 중 레이어 1(Layer_1)에 대한 확률 값 갱신을 수행하고, 그 이후 레이어 2(Layer_2)에 대한 확률 값 갱신을 수행할 수 있다. 이 경우, 이미 갱신된 레이어 1을 이용하여 레이어 2에 대한 확률 값 갱신을 수행하므로 복호화의 신뢰도는 더 향상된다. 또한, 레이어 2(Layer_2)에 대한 확률 값 갱신을 수행하고, 그 이후 레이어 3(Layer_3)에 대한 확률 값 갱신을 수행할 수 있다. 이 경우, 이미 갱신된 레이어 2를 이용하여 레이어 3에 대한 확률 값 갱신을 수행하므로 복호화의 신뢰도는 더욱 더 향상된다.Referring to FIG. 7, a probability value update may be performed on layer 1 (Layer_1) among eight layers, and then a probability value update may be performed on layer 2 (Layer_2). In this case, since the probability value is updated for layer 2 using the already updated layer 1, the reliability of decoding is further improved. In addition, the probability value may be updated for layer 2 (Layer_2), and the probability value may be updated for layer 3 (Layer_3). In this case, since the probability value is updated for layer 3 using the already updated layer 2, the reliability of decoding is further improved.

본 실시예는, 일부 비트가 천공된 LDPC 코드워드가 수신되는 경우 천공된 비트에 따라 레이어의 우선 순위를 정하는 layered decoding 기법을 제안한다. This embodiment proposes a layered decoding technique that prioritizes layers according to the punctured bits when an LDPC codeword in which some bits are punctured is received.

이하, 도 9를 참조하여 천공된 비트에 따라 레이어의 우선 순위를 정하는 방법을 설명한다. 도 9는 본 실시예에 따라 레이어의 우선 순위를 정하는 방법을 설명하는 도면이다. Hereinafter, a method of determining the priority of a layer according to the punctured bits will be described with reference to FIG. 9. 9 is a view for explaining a method of determining the priority of layers according to the present embodiment.

layered decoding 기법에서 처음으로 갱신되는 레이어는 다른 레이어의 확률 값 갱신에 끼치는 영향이 크다. 즉, 처음으로 복호화에 사용되는 레이어는 천공된 비트와 무관한 레이어인 것이 바람직하다. In a layered decoding technique, a layer updated for the first time has a great effect on updating probability values of other layers. That is, it is preferable that the layer used for decoding for the first time is a layer independent of the punctured bits.

즉, 천공된 변수 노드와 연결되지 않은 검사 노드가 있다면 그러한 검사 노드를 최우선으로 갱신한다. That is, if there are inspection nodes that are not connected to the punctured variable nodes, those inspection nodes are updated first.

도 9에서 5번 검사 노드의 경우 1, 5, 8, 10번 변수 노드와 연결되는데, 1, 5, 8, 10번 변수 노드는 천공되지 않는다. 따라서 5번 검사 노드에 해당하는 레이어를 가장 먼저 복호화에 사용되는 레이어로 결정한다. 즉, 가장 먼저 확률 값을 갱신한다.In FIG. 9, the test node 5 is connected to the variable nodes 1, 5, 8, and 10, but the variable nodes 1, 5, 8, and 10 are not punctured. Therefore, the layer corresponding to check node 5 is first determined as the layer used for decoding. That is, the probability value is first updated.

또한, 천공된 변수 노드와 연결되는 검사 노드의 경우, 연결되는 천공된 변수 노드의 개수가 적을수록 더 높은 우선 순위를 부여하여 먼저 복호화에 사용되는 레이어가 되도록 한다. 즉, 확률 값의 갱신을 먼저 한다. In addition, in the case of the check node connected to the punctured variable node, the smaller the number of the punctured variable nodes to be connected, the higher the priority and the first layer to be used for decoding. In other words, the probability value is updated first.

도 9의 일례를 보면, 4번 검사 노드의 경우 천공된 9번 변수 노드와 연결된다. 즉, 4번 검사 노드는 1개의 천공된 변수 노드와 연결되므로, 5번 검사 노드 다음의 우선 순위를 부여받는다. Referring to the example of FIG. 9, the check node 4 is connected to the punctured variable node 9. That is, since the check node 4 is connected to one punctured variable node, it is given a priority after the check node 5.

도 9의 일례에서, 2번 검사 노드와 3번 검사 노드는 동일한 개수의 천공된 변수 노드와 연결된다. 이 경우 2번 검사 노드 또는 3번 검사 노드에 더 높은 우선 순위를 자유롭게 부여할 수 있다. In the example of FIG. 9, check node 2 and check node 3 are connected with the same number of punctured variable nodes. In this case, higher priority can be given to check node 2 or check node 3.

연결되는 천공된 변수 노드의 개수가 동일한 경우, 검사 노드의 우선 순위를 정하는 방법은 다양하게 결정될 수 있다. 예를 들어, 천공되지 않은 변수 노드의 개수에 따라 검사 노드의 우선 순위를 정할 수 있다. 예를 들어, 천공되지 않은 변수 노드의 개수가 많은 검사 노드 또는 천공되지 않은 변수 노드의 개수가 적은 검사 노드에 더 높은 우선 순위를 부여할 수 있다. When the number of punctured variable nodes connected are the same, a method of prioritizing inspection nodes may be variously determined. For example, the priority of inspection nodes may be determined according to the number of variable nodes that are not punctured. For example, a higher priority may be given to a check node having a large number of unpunctured variable nodes or a check node having a small number of unpunctured variable nodes.

또한, 통신 시스템에서 이미 결정한 규칙에 따라 우선 순위를 부여할 수 있다. 예를 들어, 검사 노드를 식별하는 인덱스에 따라 더 작은 인덱스에 높은 우선 순위를 부여하거나 더 큰 인덱스에 높은 우선 순위를 부여할 수 있다. In addition, priority may be given according to a rule already determined by the communication system. For example, a higher index may be assigned to a smaller index or higher priority may be assigned to a larger index according to an index identifying a check node.

이외에도 다양한 방법이 가능하다. 예를 들어, 2번 검사 노드에 상응하는 레이어의 구조와 3번 검사 노드에 상응하는 레이어의 구조에 따라 더 높은 혹은 더 낮은 우선 순위를 부여할 수 있다. 예를 들어, 각 레이어에 포함되는 무게를 갖는 성분의 개수 또는 위치에 따라 우선 순위를 부여할 수도 있다. 또한, 다른 예로서, 각 레이어에 포함되는 쉬프트 수의 크기나 그 배치에 따라 더 높거나 더 낮은 우선 순위를 부여할 수 있다. In addition, various methods are possible. For example, higher or lower priority may be given according to the structure of the layer corresponding to the check node 2 and the structure of the layer corresponding to the check node 3. For example, priority may be given according to the number or position of components having weight included in each layer. As another example, higher or lower priority may be given according to the size or arrangement of the number of shifts included in each layer.

상술한 방법에 기초하여 각 검사 노드의 우선 순위를 정하면, 5번 검사 노드 -> 4번 검사 노드 -> 2번 검사 노드 -> 3번 검사 노드 -> 1번 검사 노드 순으로 우선 순위를 부여받는다. 하나의 검사 노드에 하나의 레이어가 매핑되는 경우, 5번 레이어를 가장 먼저 복호화에 사용하고, 이후에는 우선 순위에 따라 레이어를 사용한다.If the priority of each inspection node is determined based on the above-described method, priority is given to inspection node 5-> inspection node 4-> inspection node 2-> inspection node 3-> inspection node 1. . When one layer is mapped to one inspection node, layer 5 is first used for decoding, and then layers are used according to priority.

도 10a는 도 9의 이분법 그래프를 패리티 검사 행렬로 표현한 블록도이다. 패리티 검사 행렬의 영이 아닌 성분(달리 표현하면 무게를 갖는 성분)에 의해 검사 노드와 변수 노드와 관계가 정해지므로, 도 10a는 무게를 갖는 성분 만을 표시한다. 즉, 도 10a에서 별도로 표시하지 않은 부분은 '0' 값을 갖는다.FIG. 10A is a block diagram of the dichotomy graph of FIG. 9 represented by a parity check matrix. Since the relationship between the check node and the variable node is determined by a nonzero component (in other words, a weighted component) of the parity check matrix, FIG. 10A shows only a weighted component. That is, parts not separately indicated in FIG. 10A have a value of '0'.

6, 7, 9번 변수 노드가 천공된다는 것은, 도 10a 상에서 6, 7, 9번 패리티 비트가 전송되지 않는 것을 의미한다. 즉, LDPC 코드워드가 10비트로 이루어지고, 그 중 처음 5비트는 1번 정보 비트 내지 5번 정보 비트라고 하고, 나머지 5비트는 제6 패리티 비트 내지 제10 패리티 비트라 할 수 있다. 또한, 이 경우 제6, 제7, 제9번 패리티 비트가 전송되지 않는 것이다. When the 6, 7, 9 variable nodes are punctured, it means that the parity bits 6, 7, and 9 are not transmitted on FIG. 10A. That is, the LDPC codeword consists of 10 bits, the first 5 bits of which are referred to as information bits 1 to 5, and the remaining 5 bits may be referred to as sixth to tenth parity bits. In this case, the sixth, seventh, and ninth parity bits are not transmitted.

우선, 도 10b를 보면 5번 검사 노드에 상응하는 5번 레이어를 갱신하는 연산의 경우, 6, 7, 9번 패리티 비트는 참가하지 않는 것을 알 수 있다. First, referring to FIG. 10B, in the case of an operation for updating the fifth layer corresponding to the fifth inspection node, parity bits 6, 7, and 9 may not be participated.

달리 표현하면, 5번 레이어에서 무게를 갖는 성분은 1, 5, 8, 10번째 열에 존재한다. 즉, 5번 레이어에서 무게를 갖는 성분에 상응하는 정보 비트 또는 패리티 비트는, 1번 정보 비트, 5번 정보 비트, 8번 패리티 비트 및 10번 패리티 비트뿐이다. In other words, the weighted components in layer 5 are in rows 1, 5, 8, and 10. That is, the information bits or parity bits corresponding to the weighted component in the fifth layer are only the first information bit, the fifth information bit, the eighth parity bit, and the tenth parity bit.

5번 레이어의 경우, 해당 레이어의 무게를 갖는 성분에 상응하는 패리티 비트는 8번 패리티 비트와 10번 패리티 비트 뿐이다. 따라서, 해당 레이어에 상응하는 패리티 비트는 천공되지 않았음을 알 수 있다. 따라서, 5번 레이어가 먼저 복호 화에 사용되는 것이 바람직하다. In the case of layer 5, the parity bits corresponding to the component having the weight of the layer are only parity bits 8 and 10 parity bits. Accordingly, it can be seen that the parity bit corresponding to the layer is not punctured. Therefore, layer 5 is preferably used for decoding first.

도 10c를 보면 4번 검사 노드에 상응하는 4번 레이어를 갱신하는 연산의 경우, 9번 패리티 비트는 참가하는 것을 알 수 있다. 즉, 4번 레이어를 복호화에 사용하기 위해서는 9번 패리티 비트가 필요하다. 10C, it can be seen that the parity bit 9 participates in the operation of updating the layer 4 corresponding to the check node 4. That is, parity bit 9 is required to use layer 4 for decoding.

한편, 4번 레이어에 상응하는 패리티 비트는 9번과 10번 패리티 비트인데 이들 중에서 9번 패리티 비트가 천공된 것을 알 수 있다. Meanwhile, parity bits corresponding to layer 4 are parity bits 9 and 10, and it can be seen that parity bit 9 is punctured among them.

4번 레이어와 5번 레이어를 비교하면, 5번 레이어에 상응하는 패리티 비트는 천공되지 않으므로 가장 높은 우선 순위를 할당받고, 4번 레이어에 상응하는 패리티 비트는 하나만이 천공되므로 그 다음의 우선 순위를 할당받는다. If you compare layer 4 and layer 5, the parity bits corresponding to layer 5 are not punctured, so they are assigned the highest priority, and only one parity bit corresponding to layer 4 is punctured. Assigned.

도 10d 내지 도 10f를 보면, 3번 내지 1번 레이어에 상응하는 패리티 비트 중 얼마나 많은 비트가 천공되었는지를 알 수 있다. 10D to 10F, it can be seen how many bits of the parity bits corresponding to layers 3 to 1 are punctured.

즉, 3번 레이어에 상응하는 패리티 비트는 2개(6번과 7번 패리티 비트)가 천공되었고, 2번 레이어에 상응하는 패리티 비트는 2개(6번과 9번 패리티 비트)가 천공되었고, 1번 레이어에 상응하는 패리티 비트는 3개(6번, 7번 및 9번 패리티 비트)가 천공되었다. That is, two parity bits corresponding to layer 3 are punctured (parity bits 6 and 7), and two parity bits corresponding to layer 2 are punctured (parity bits 6 and 9). Three parity bits (parity bits 6, 7, and 9) corresponding to layer 1 were punctured.

천공된 패리티 비트의 개수를 보면, 3번 레이어와 2번 레이어는 1번 레이어 보다 높은 우선 순위를 부여받고, 1번 레이어는 가장 낮은 우선 순위를 부여받는 것을 알 수 있다. Looking at the number of punctured parity bits, it can be seen that layer 3 and layer 2 are given higher priority than layer 1, and layer 1 is given the lowest priority.

상술한 바와 같이, 본 실시예는 특정한 레이어를 갱신하기 위해 필요한 비트 중 천공된 비트의 개수에 따라 레이어의 우선 순위를 정한다. As described above, the present embodiment determines the priority of the layer according to the number of punctured bits among the bits necessary for updating a specific layer.

이상, 도 10a 내지 도 10f는 패리티 검사 행렬에 기초하여 layered decoding 기법을 설명한 것이다. 10A to 10F have described the layered decoding technique based on the parity check matrix.

한편, 상술한 layered decoding 기법은, 구조화된 LDPC 부호에도 그대로 적용될 수 있다. 즉, 도 10의 일례는 패리티 검사 행렬의 하나의 행(row)이 하나의 레이어인 경우이고, 이러한 일례는 복수의 행(row)을 하나의 레이어로 정하는 경우에도 적용가능한다.Meanwhile, the above-described layered decoding technique may be applied to a structured LDPC code as it is. That is, the example of FIG. 10 is a case where one row of the parity check matrix is one layer, and this example is applicable to a case where a plurality of rows are defined as one layer.

도 11은 특정한 크기의 서브 블록으로 이루어지는 모델 행렬이다. 도 11의 모델 행렬은 도 4등을 통해 설명한 방법에 의해 특정한 크기의 패리티 검사 행렬로 확장되어 생성될 수 있다.11 is a model matrix consisting of subblocks of a specific size. The model matrix of FIG. 11 may be generated by being extended to a parity check matrix having a specific size by the method described with reference to FIG. 4.

상술한 내용과 같이, 복수의 검사 노드를 하나의 레이어로 정할 수 있다. 도 11의 일례의 경우, 5개의 레이어로 구분되며 각 레이어는 상기 서브 블록의 크기에 상응하는 개수만큼의 검사 노드를 포함한다. As described above, a plurality of inspection nodes may be defined as one layer. In the case of the example of Figure 11, divided into five layers, each layer includes a number of check nodes corresponding to the size of the sub-block.

도 11에서 수신되는 LDPC 코드워드는 {V1, V2, ... V10}으로 이루어지며, V1 내지 V10 각각은 특정한 개수의 비트들로 이루어진다. The LDPC codeword received in FIG. 11 is composed of {V1, V2, ... V10}, and each of V1 to V10 includes a specific number of bits.

도 11과 같은 모델 행렬을 이용하여 layered decoding을 수행하는 방법은 이미 설명한 내용과 동일하다. 즉, 각 레이어에 대한 복호화를 위한 연산에 참가하는 복수의 비트들 중에서 천공된 비트들의 개수를 파악한다. 이 경우, 천공된 비트들이 가장 적게 이용되는 레이어에 더 높은 우선순위를 부여하여 layered decoding을 수행한다. The method of performing layered decoding by using the model matrix as shown in FIG. 11 is the same as that described above. That is, the number of punctured bits is determined among the plurality of bits participating in the operation for decoding each layer. In this case, layered decoding is performed by giving higher priority to the layer where the punctured bits are least used.

수신 단에서 레이어들에 대한 우선 순위를 정확하게 알기 위해서는 어떤 비 트가 천공되는지를 알아야 한다. 천공되는 비트는 미리 결정된 규칙에 따라 결정될 수 있고, 별도의 제어 정보에 따라 수신 단에 통지될 수 있다. 상기 제어 정보는 천공되는 비트들의 정보를 포함하거나, 특정한 패턴을 지시하여 수신 단이 천공되는 비트들의 정보를 알릴 수 있다. In order for the receiving end to know the priority of the layers correctly, it must know which bits are punctured. The bits to be punctured may be determined according to a predetermined rule, and may be notified to the receiving end according to separate control information. The control information may include information of bits to be punctured, or may indicate a specific pattern to inform information of bits to be punctured.

이상에서 사용한 구체적인 수치는 본 발명의 일례를 설명하기 위한 것에 지나지 아니하므로 상술한 구체적인 수치에 본 발명이 제한되지 아니한다. The specific numerical values used above are merely for explaining an example of the present invention, and the present invention is not limited to the specific numerical values described above.

본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.It will be apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Accordingly, the above detailed description should not be construed as limiting in all aspects and should be considered as illustrative. The scope of the invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the invention are included in the scope of the invention.

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

LDPC 부호의 새로운 복호화 기법인 layered 복호화는 성능의 수렴 속도가 빠른 장점이 있지만 천공과 같은 기법이 적용된 부호에서는 이로 인한 성능 열화를 줄일 수 없다. 본 발명은 천공 기법을 이용한 LDPC 부호에 적합한 layered 복호화 기법으로 기존의 순차적인 layered 복호화에 비해 적은 반복 복호화 과정을 통해 보다 많은 정보를 전달할 수 있기 때문에 보다 빠른 수렴 속도를 가진다.Layered decoding, which is a new decoding technique for LDPC codes, has the advantage of fast convergence speed, but performance degradation due to codes such as puncturing cannot be reduced. The present invention is a layered decoding scheme suitable for LDPC codes using the puncturing technique, and has a faster convergence rate because more information can be transmitted through fewer iterative decoding processes than conventional sequential layered decoding.

Claims (9)

패리티 검사 행렬의 적어도 하나의 행(row)으로 이루어진 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법에 있어서, In the method of performing LDPC decoding using a plurality of layers consisting of at least one row of the parity check matrix, 송신 단으로부터 적어도 하나의 패리티 비트가 천공된 LDPC 코드워드에 상응하는 신호를 수신하는 단계;Receiving a signal from a transmitting end corresponding to an LDPC codeword in which at least one parity bit is punctured; 상기 복수의 레이어 각각에 상응하는 적어도 하나의 패리티 비트 중에서 상기 수신 신호에서 천공된 개수에 따라, 상기 복수의 레이어 각각에 대한 순위를 결정하는 단계; 및Determining a rank for each of the plurality of layers according to the number of punctures in the received signal among at least one parity bit corresponding to each of the plurality of layers; And 상기 순위에 따라 상기 복수의 레이어들을 순차적으로 사용하여 상기 LDPC 코드워드를 복호화하는 단계Decoding the LDPC codeword using the plurality of layers sequentially according to the rank 를 포함하여 이루어지는Consists of 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법.A method of performing LDPC decoding using a plurality of layers. 제1항에 있어서,The method of claim 1, 상기 복수의 레이어 각각에 상응하는 적어도 하나의 패리티 비트는,At least one parity bit corresponding to each of the plurality of layers is 상기 복수의 레이어 각각의 무게를 갖는 성분에 상응하는 적어도 하나의 패리티 비트At least one parity bit corresponding to a weighted component of each of the plurality of layers 인 것을 특징으로 하는, Characterized by 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법.A method of performing LDPC decoding using a plurality of layers. 제1항에 있어서,The method of claim 1, 상기 순위를 결정하는 단계는,Determining the rank, 상기 복수의 레이어 각각에 상응하는 적어도 하나의 패리티 비트 중에서 상기 수신 신호에서 천공된 것의 개수가 가장 적은 레이어에 상기 복수의 레이어 중 가장 높은 순위를 부여하는 단계Assigning the highest rank among the plurality of layers to a layer having the least number of perforations in the received signal among at least one parity bit corresponding to each of the plurality of layers 인 것을 특징으로 하는,Characterized by 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법.A method of performing LDPC decoding using a plurality of layers. 제3항에 있어서,The method of claim 3, 상기 순위를 결정하는 단계는,Determining the rank, 상기 수신 신호에서 천공된 개수가 동일한 레이어들의 경우, 통신 시스템에서 기설정된 각 레이어들의 우선 순위에 따라 레이어들의 순위를 결정하는 단계In the case of layers having the same number of perforations in the received signal, determining the rank of the layers according to the priority of each layer preset in the communication system. 인 것을 특징으로 하는 Characterized in that 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법.A method of performing LDPC decoding using a plurality of layers. 제3항에 있어서,The method of claim 3, 상기 순위를 결정하는 단계는,Determining the rank, 상기 수신 신호에서 천공된 개수가 동일한 레이어들의 경우, 천공되지 않은 변수 노드들의 개수에 따라 레이어들의 순위를 결정하는 단계In the case of layers having the same number of punctures in the received signal, determining the rank of the layers according to the number of variable nodes that are not punctured. 인 것을 특징으로 하는 Characterized in that 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법.A method of performing LDPC decoding using a plurality of layers. 제1항에 있어서,The method of claim 1, 상기 패리티 검사 행렬은,The parity check matrix is 특정한 크기의 단위 행렬에 상응하는 서브 블록들로 이루어진 모델 행렬로부터 확장되어 생성되는 것Generated by extending from a model matrix of sub-blocks corresponding to a particular size unit matrix 을 특징으로 하는Characterized by 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법.A method of performing LDPC decoding using a plurality of layers. 제6항에 있어서,The method of claim 6, 상기 서브 블록은, 상기 특정한 크기의 단위 행렬을 특정한 방향으로 쉬프트(shift)한 행렬에 상응하는 것The sub-block corresponds to a matrix shifted in a specific direction by a unit matrix of a specific size 을 특징으로 하는Characterized by 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법.A method of performing LDPC decoding using a plurality of layers. 제1항에 있어서,The method of claim 1, 상기 복호화를 수행하는 단계는,Performing the decryption, 상기 복수의 레이어들을 사용하여 복호 값을 결정하는 단계; 및Determining a decoding value using the plurality of layers; And 검사식을 이용하여 상기 결정된 복호 값이 참값인지 여부를 결정하는 단계;Determining whether the determined decoding value is a true value using a check equation; 를 더 포함하는 Further comprising 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법.A method of performing LDPC decoding using a plurality of layers. 패리티 검사 행렬의 적어도 하나의 행(row)으로 이루어진 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법에 있어서, In the method of performing LDPC decoding using a plurality of layers consisting of at least one row of the parity check matrix, 송신 단으로부터 적어도 하나의 변수 노드에 상응하는 비트가 천공된 LDPC 코드워드에 상응하는 신호를 수신하는 단계;Receiving a signal corresponding to an LDPC codeword from which a bit corresponding to at least one variable node is punctured; 상기 복수의 레이어들 각각에 상응하는 적어도 하나의 검사 노드의 갱신을 위해 사용되는 변수 노드 중 상기 수신 신호에서 천공된 변수 노드의 개수에 따라, 상기 복수의 레이어들 각각에 대한 순위를 결정하는 단계; 및Determining a rank for each of the plurality of layers according to the number of variable nodes punctured in the received signal among variable nodes used for updating at least one check node corresponding to each of the plurality of layers; And 상기 순위에 따라 상기 복수의 레이어들을 순차적으로 사용하여 상기 LDPC 코드워드를 복호화하는 단계Decoding the LDPC codeword using the plurality of layers sequentially according to the rank 를 포함하여 이루어지는Consists of 패리티 복수의 레이어(layer)들을 이용하여 LDPC 복호화를 수행하는 방법.Parity A method of performing LDPC decoding using a plurality of layers.
KR1020070025504A 2007-03-15 2007-03-15 Method of Low Density Parity Check Code decoding using a plurality of layers KR101276845B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070025504A KR101276845B1 (en) 2007-03-15 2007-03-15 Method of Low Density Parity Check Code decoding using a plurality of layers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070025504A KR101276845B1 (en) 2007-03-15 2007-03-15 Method of Low Density Parity Check Code decoding using a plurality of layers

Publications (2)

Publication Number Publication Date
KR20080084178A KR20080084178A (en) 2008-09-19
KR101276845B1 true KR101276845B1 (en) 2013-06-18

Family

ID=40024576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070025504A KR101276845B1 (en) 2007-03-15 2007-03-15 Method of Low Density Parity Check Code decoding using a plurality of layers

Country Status (1)

Country Link
KR (1) KR101276845B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101476049B1 (en) * 2013-08-28 2014-12-23 세종대학교산학협력단 Method for restoring of puncturing date using LDPC Decoding system and apparatus thereof
KR102631407B1 (en) * 2018-10-24 2024-01-31 에스케이하이닉스 주식회사 Ldpc decoder, semiconductor memory system and operating method thereof
KR20230107872A (en) * 2020-10-15 2023-07-18 삼성전자주식회사 Data decoding method and apparatus in communication or broadcasting system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047842A (en) * 2004-10-27 2006-05-18 삼성전자주식회사 Puncturing method for ldpc channel code
KR20060097282A (en) * 2005-03-04 2006-09-14 삼성전자주식회사 Method for puncturing ldpc code
KR20060118190A (en) * 2005-05-16 2006-11-23 삼성전자주식회사 Padding and puncturing method for ldpc channel code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047842A (en) * 2004-10-27 2006-05-18 삼성전자주식회사 Puncturing method for ldpc channel code
KR20060097282A (en) * 2005-03-04 2006-09-14 삼성전자주식회사 Method for puncturing ldpc code
KR20060118190A (en) * 2005-05-16 2006-11-23 삼성전자주식회사 Padding and puncturing method for ldpc channel code

Also Published As

Publication number Publication date
KR20080084178A (en) 2008-09-19

Similar Documents

Publication Publication Date Title
KR101191196B1 (en) Method of encoding and decoding using a parity check matrix
US7222284B2 (en) Low-density parity-check codes for multiple code rates
KR101455978B1 (en) Method for encoding data using a Low Density Parity Check code
JP5644012B2 (en) Method and apparatus for channel decoding in a system using low density parity check code
KR101791477B1 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
KR101611169B1 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
JP4425282B2 (en) Encoding method and encoding apparatus
EP2050195B1 (en) Method of encoding/decoding using low density check code matrix
KR20090003164A (en) Check matrix generating method
KR20090092197A (en) Apparatus and method for encoding and decoding channel in communication system using low-density parity-check codes
WO2008034289A1 (en) Bit mapping scheme for an ldpc coded 32apsk system
WO2007108396A1 (en) Communication device, decoding device, information transmission method, and decoding method
KR101503656B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101253184B1 (en) Method of puncturing data encoded by Low Density Parity Check model matrix
KR101276845B1 (en) Method of Low Density Parity Check Code decoding using a plurality of layers
KR20150003127A (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101265636B1 (en) method of performing a Low-density parity-check codes decoding using a model matrix
KR101128804B1 (en) Method of LDPC encoding and LDPC decoding using a reference matrix
KR101227514B1 (en) Method for configuring a model matrix for Low Density Parity Check encoding and decoding
KR101187070B1 (en) Method for encoding using parity check matrix
KR101187072B1 (en) Method for encoding using parity check matrix
CN110663190A (en) Method and apparatus for channel encoding and decoding in a communication or broadcast system
KR101319891B1 (en) method for processing signals encoded by a block code
WO2008034288A1 (en) Bit mapping scheme for an ldpc coded 16apsk system
KR101221897B1 (en) LDPC encoder

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: 20160524

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170512

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180514

Year of fee payment: 6