KR102067912B1 - LDPC Encoding Device and Method Having Low Latency and High Reliability - Google Patents

LDPC Encoding Device and Method Having Low Latency and High Reliability Download PDF

Info

Publication number
KR102067912B1
KR102067912B1 KR1020180149579A KR20180149579A KR102067912B1 KR 102067912 B1 KR102067912 B1 KR 102067912B1 KR 1020180149579 A KR1020180149579 A KR 1020180149579A KR 20180149579 A KR20180149579 A KR 20180149579A KR 102067912 B1 KR102067912 B1 KR 102067912B1
Authority
KR
South Korea
Prior art keywords
parity
bit
matrix
variable
generation matrix
Prior art date
Application number
KR1020180149579A
Other languages
Korean (ko)
Other versions
KR20190063431A (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 PCT/KR2018/014814 priority Critical patent/WO2019107912A1/en
Publication of KR20190063431A publication Critical patent/KR20190063431A/en
Application granted granted Critical
Publication of KR102067912B1 publication Critical patent/KR102067912B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1157Low-density generator matrices [LDGM]
    • 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/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes

Landscapes

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

Abstract

저지연 및 고신뢰도 특성을 가지는 LDPC 부호화 장치 및 방법이 개시된다. 개시된 장치는, 섹션(l)별로 분할 가능한 패리티 생성 행렬을 저장하는 패리티 생성 행렬 저장부; 주어진 코드워드 및 상기 패리티 생성 행렬을 이용하여 순열(Permutaion) 연산 및 축적기 연산을 이용하여 패리티 중간 변수 및 l=2인 경우의 제1 패리티 비트를 연산하는 제1 패리티 비트 연산부; l=1, 3, 4인 경우 상기 패리티 중간 변수를 이용하여 제2 패리티 비트를 연산하는 제2 패리티 비트 연산부를 포함하되, 상기 패리티 생성 행렬에서 섹션별로 분할되는 서브 행렬들은 RU 부호화가 가능하도록 설정된 행렬이다. 개시된 장치 및 방법은 LMDG 특성을 만족하여 고신뢰도를 보장하면서 낮은 복잡도로 인해 저지연 통신에 적합한 장점이 있다. Disclosed are an LDPC encoding apparatus and method having low latency and high reliability. The disclosed apparatus includes a parity generation matrix storage unit for storing a parity generation matrix that is divided into sections (l); A first parity bit operation unit for calculating a parity intermediate variable and a first parity bit in the case of l = 2 using a given codeword and the parity generation matrix, using a permutaion operation and an accumulator operation; In the case of l = 1, 3, and 4, a second parity bit calculator is configured to calculate a second parity bit by using the parity intermediate variable, and sub-matrixes divided by sections in the parity generation matrix are configured to enable RU encoding. It is a matrix. The disclosed apparatus and method have the advantage of being suitable for low latency communication due to low complexity while satisfying LMDG characteristics to ensure high reliability.

Description

저지연 및 고신뢰도 특성을 가지는 LDPC 부호화 장치 및 방법{LDPC Encoding Device and Method Having Low Latency and High Reliability}LDPC Encoding Device and Method Having Low Latency and High Reliability

본 발명은 LDPC 부호화 방법 및 장치에 관한 것으로서, 더욱 상세하게는 저지연 및 고신뢰도 특성을 가지는 LDPC 부호화 방법 및 장치에 관한 것이다. The present invention relates to an LDPC encoding method and apparatus, and more particularly, to an LDPC encoding method and apparatus having low latency and high reliability characteristics.

근사 최적 성능, 병렬 처리 기반 빠른 속도의 효율적인 부호화 및 복호화 능력 및 하드웨어 설계의 용이성으로 인해 LDPC(Low Density Parity Check)에 대한 연구가 활발히 진행되어 왔다. Low density parity check (LDPC) has been actively studied due to the approximate optimal performance, parallel processing-based fast coding and decoding capability, and ease of hardware design.

근래에 들어 5세대 이동통신 시스템에 대한 연구가 진행되고 있으며, 5세대 이동통신에서는 기존의 LDPC 부호에 비해 더 엄격한 고신뢰도와 저지연 특성을 요구하고 있다. Recently, researches on 5G mobile communication systems have been conducted, and 5G mobile communication requires more stringent high reliability and low latency than conventional LDPC codes.

또한, 차세대 센서 네트워크에서는 실시간으로 대용량의 데이터를 저전력으로 지연 없이 송수신을 해야 하며 따라서 고신뢰도를 보장하며 저복잡도 부호화가 가능한 부호 설계가 필요하다. In addition, in the next generation sensor network, a large amount of data must be transmitted and received in real time without delay with low power, and thus a code design capable of guaranteeing high reliability and low complexity encoding is required.

현재까지 알려진 LDPC 부호로는 RU(Richardson-Urbanke) 부호, RMA(Repeat Multiple Accumulate) 부호, ARA(Accumulate Repeat Accumulate) 부호, ARJA(Accumulate Repeat Jagged Accumulate) 부호 등이 있다. Known LDPC codes include a Richardson-Urbanke (RU) code, a Repeat Multiple Accumulate (RMA) code, an Accumulate Repeat Accumulate (ARA) code, an Accumulate Repeat Jagged Accumulate (ARJA) code, and the like.

이러한 부호들은 고신뢰도와 저지연성을 동시에 만족시키기에는 다음과 같은 문제점이 있었다. These codes have the following problems to satisfy both high reliability and low latency.

RU 부호는 효율적인 부호화가 가능하지만 복호 임계값과 오류 마루 특성이 떨어져서 고신뢰도를 보장하지 못하며 이와 같은 현상은 부호율이 낮을수록 더 심화되는 문제점이 있었다. Although the RU code is capable of efficient encoding, the decoding threshold and the error floor characteristics are inferior, which does not guarantee high reliability. Such a phenomenon has a problem in that the lower the code rate is, the worse it becomes.

RMA 부호는 효율적인 부호화가 가능하며 선형 최로 거리 증가(Linear Minimum Distance Growth: LMDG) 특성이 지니어 탁월한 오류 마루 성능을 가지지만 복호 임계값 특성이 떨어져 고신뢰도를 보장하지 못하며 이 역시 부호율이 낮을수록 더 심화되는 문제점이 있었다. RMA codes can be efficiently coded and have a linear minimum distance growth (LMDG) feature that provides excellent error floor performance, but lacks the decoding threshold, which does not guarantee high reliability. There was a further problem.

ARA 부호는 매우 우수한 복호 임계값과 저복잡도 부호화가 가능하지만 LMDG 특성이 결여되어 오류마루 특성이 취약하여 고신뢰도를 보장하지 못하는 문제점이 있었다. Although the ARA code has a very good decoding threshold and low complexity coding, there is a problem in that it cannot guarantee high reliability due to the lack of the LMDG property and a weak error floor property.

ARJA 부호는 우수한 복호 임계값과 LMDG 특성을 만족하여 고신뢰도를 보장하지만 부호화 복잡도가 커 저지연 통신에 문제점이 있었다.The ARJA code satisfies the excellent decoding threshold and LMDG characteristics to ensure high reliability, but has a problem in low latency communication due to its large coding complexity.

본 발명은 LMDG 특성을 만족하여 고신뢰도를 보장하면서 낮은 복잡도로 인해 저지연 통신에 적합한 LDPC 부호화 장치 및 방법을 제안한다. The present invention proposes an LDPC encoding apparatus and method suitable for low latency communication due to low complexity while satisfying LMDG characteristics and ensuring high reliability.

상기와 같은 목적을 달성하기 위해, 섹션(l)별로 분할 가능한 패리티 생성 행렬을 저장하는 패리티 생성 행렬 저장부; 주어진 코드워드 및 상기 패리티 생성 행렬에 대해 순열(Permutaion) 연산 및 축적(Accumulator) 연산을 이용하여 패리티 중간 변수 및 l=2인 경우의 제1 패리티 비트를 연산하는 제1 패리티 연산부; l=1, 3, 4인 경우 상기 패리티 중간 변수를 이용하여 제2 패리티 비트를 연산하는 제2 패리티 연산부를 포함하되, 상기 패리티 생성 행렬에서 섹션별로 분할되어 생성되는 서브 행렬들은 RU 부호화가 가능하도록 설정된 행렬인 LDPC 부호화 장치가 제공된다. In order to achieve the above object, a parity generation matrix storage unit for storing a parity generation matrix divided into sections (l); A first parity calculator configured to calculate a parity intermediate variable and a first parity bit when l = 2 using a permutaion operation and an accumulator operation on a given codeword and the parity generation matrix; In the case of l = 1, 3, and 4, a second parity calculator for calculating a second parity bit by using the parity intermediate variable is included, and the sub-matrix generated by dividing by section in the parity generation matrix enables RU encoding. There is provided an LDPC encoding apparatus that is a set matrix.

상기 패리티 생성 행렬은 포토그래프로부터 획득되는 인접 행렬에 대한 리프팅을 통해 생성되며, 상기 리프팅 과정에서 상기 인접 행렬의 소정 엘리먼트에 대해

Figure 112019087518429-pat00001
연산을 수행하며, 상기
Figure 112019087518429-pat00002
는 아이덴터티 행렬 I에 대해 i만큼 레프트 싸이클릭 쉬프트 연산을 수행하되 첫번째 행 및 (1+(N-i)N)의 컬럼의 원소를 0으로 변환하는 제로 마스킹을 수행하는 연산이고 아래첨자 N은 모듈러(modular) 연산이다. The parity generation matrix is generated by lifting an adjacent matrix obtained from a photograph, and for the predetermined element of the adjacent matrix during the lifting process.
Figure 112019087518429-pat00001
Perform the operation, and
Figure 112019087518429-pat00002
Performs a left cyclic shift operation on the identity matrix I by i but performs zero masking to convert the elements of the first row and columns of (1+ (Ni) N ) to zero, and the subscript N is modular ) Operation.

상기 제2 패리티 연산부는 상기 패리티 중간 변수에 대한 서브 벡터 축적 연산을 수행하는 서브 벡터 축적기; 상기 서브 벡터 축적기의 출력의 비트들에 대해 비트 축적 연산을 수행하는 비트 축적기; 상기 비트 축적기의 출력과 상기 패리티 중간 변수에 대한 조건부 합산을 수행하는 조건부 합산부; 상기 조건부 합산부의 출력에 대한 축적 연산을 수행하는 축적기를 포함한다. The second parity calculator comprises: a sub vector accumulator for performing a sub vector accumulation operation on the parity intermediate variable; A bit accumulator for performing a bit accumulation operation on bits of an output of the sub vector accumulator; A conditional adder which performs conditional summation on the output of the bit accumulator and the parity intermediate variable; And an accumulator for performing an accumulation operation on the output of the conditional adder.

상기 패리티 중간 변수

Figure 112018118890279-pat00003
는 다음의 수학식과 같이 연산된다. The parity intermediate variable
Figure 112018118890279-pat00003
Is calculated as in the following equation.

Figure 112018118890279-pat00004
Figure 112018118890279-pat00004

위 수학식에서, 부호화 대상이 되는 코드워드가 xi일 때,

Figure 112019087518429-pat00005
로 정의되고,
Figure 112019087518429-pat00006
는 변수 노드 집합을 의미하고,
Figure 112019087518429-pat00007
는 변수 노드 집합에서 i번째 엘리먼트를 의미하며,
Figure 112019087518429-pat00008
는 변수 노드 집합에서 i번째 엘리먼트부터 j 번째 엘리먼트를 의미하고, H는 패리티 생성 행렬을 의미하며,
Figure 112019087518429-pat00009
이며,
Figure 112019087518429-pat00010
Figure 112019087518429-pat00011
의 i번째 길이 N 서브벡터를 의미하며,
Figure 112019087518429-pat00145
는 체크 노드의 집합을 의미하고,
Figure 112019087518429-pat00146
는 변수 노드의 집합을 의미하며, l은 섹션을 나타내는 인덱스이고, k는 루프를 나타내는 인덱스이며,
Figure 112019087518429-pat00147
Figure 112019087518429-pat00148
로 정의되고, Pi는 i번 째 섹션에서의 루프의 수를 의미하고, σ는 레프트 싸이클릭 쉬프트 연산을 의미하는 함수이며,
Figure 112019087518429-pat00149
는 행렬
Figure 112019087518429-pat00150
에 대해 레프트 싸이클릭 쉬프트 정도를 나타내는 값이고, vl,k
Figure 112019087518429-pat00151
의 엘리먼트 수이다. In the above equation, when the codeword to be encoded is x i ,
Figure 112019087518429-pat00005
Defined as
Figure 112019087518429-pat00006
Means a set of variable nodes,
Figure 112019087518429-pat00007
Means the i th element in the variable node set,
Figure 112019087518429-pat00008
Is the i th element to the j th element in the variable node set, H is a parity generation matrix,
Figure 112019087518429-pat00009
Is,
Figure 112019087518429-pat00010
Is
Figure 112019087518429-pat00011
I-th length of the N subvector,
Figure 112019087518429-pat00145
Means a set of check nodes,
Figure 112019087518429-pat00146
Is the set of variable nodes, l is the index representing the section, k is the index representing the loop,
Figure 112019087518429-pat00147
Is
Figure 112019087518429-pat00148
P i is the number of loops in the i th section, σ is a function that means left cyclic shift operation,
Figure 112019087518429-pat00149
Is a matrix
Figure 112019087518429-pat00150
Is the value of the left cyclic shift relative to, where v l, k is
Figure 112019087518429-pat00151
The number of elements in.

상기 제1 패리티 연산부는 l=2인 경우의 패리티 중간 변수를 이용하여 다음의 수학식과 같이 제1 패리티를 연산한다. The first parity calculator calculates a first parity using a parity intermediate variable when l = 2, as shown in the following equation.

Figure 112018118890279-pat00012
Figure 112018118890279-pat00012

Figure 112018118890279-pat00013
Figure 112018118890279-pat00014
에 따른 길이
Figure 112018118890279-pat00015
의 순열 오더 벡터임.
Figure 112018118890279-pat00013
Is
Figure 112018118890279-pat00014
Along
Figure 112018118890279-pat00015
The permutation order vector of.

상기 제2 패리티 비트 연산부는 다음의 수학식과 같이 제2 패리티 비트를 연산한다. The second parity bit calculator calculates a second parity bit as shown in the following equation.

Figure 112018118890279-pat00016
Figure 112018118890279-pat00016

Figure 112018118890279-pat00017
Figure 112018118890279-pat00017

위 수학식에서,

Figure 112019087518429-pat00018
이고,
Figure 112019087518429-pat00019
이며,
Figure 112019087518429-pat00020
이고,
Figure 112019087518429-pat00021
이다. pl,k와 ql,k
Figure 112019087518429-pat00022
에 따른 순열 오더 벡터들이며,
Figure 112019087518429-pat00152
는 조건부 합산 연산을 나타내는 함수이고, π는 순열(Permutation) 연산을 나타내는 함수이고, α는 축적 연산을 나타내는 함수이고, α*는 축적 연산의 최종값을 출력을 나타내는 함수이며, αB는 비트 축적 연산을 나타내는 함수이다. In the above equation,
Figure 112019087518429-pat00018
ego,
Figure 112019087518429-pat00019
Is,
Figure 112019087518429-pat00020
ego,
Figure 112019087518429-pat00021
to be. p l, k and q l, k are
Figure 112019087518429-pat00022
Permutation order vectors according to
Figure 112019087518429-pat00152
Is a function representing a conditional sum operation, π is a function representing a permutation operation, α is a function representing an accumulation operation, α * is a function representing the output of the final value of the accumulation operation, and α B is a bit accumulation Function representing an operation.

상기 조건부 합산부는 다음의 수학식과 같이 조건부 합산을 수행한다. The conditional summation unit performs conditional summation as in the following equation.

Figure 112018118890279-pat00023
Figure 112018118890279-pat00023

상기 제2 패리티 비트는

Figure 112018118890279-pat00024
를 순열 오더 벡터인 ql,k에 따라 메모리에 저장된다. The second parity bit is
Figure 112018118890279-pat00024
Is stored in memory according to the permutation order vector q l, k .

본 발명의 다른 측면에 따르면, 섹션(l)별로 분할 가능한 패리티 생성 행렬을 저장하는 패리티 생성 행렬을 저장하는 단계(a); 주어진 코드워드 및 상기 패리티 생성 행렬에 대해 순열(Permutaion) 연산 및 축적(Accumulation) 연산을 이용하여 패리티 중간 변수 및 l=2인 경우의 제1 패리티 비트를 연산하는 단계(b); l=1, 3, 4인 경우 상기 패리티 중간 변수를 이용하여 제2 패리티 비트를 연산하는 단계(c)를 포함하되, 상기 패리티 생성 행렬에서 섹션별로 분할되어 생성되는 서브 행렬들은 RU 부호화가 가능하도록 설정된 행렬인 LDPC 부호화 방법이 제공된다. According to another aspect of the present invention, the method comprises the steps of: (a) storing a parity generation matrix for storing a parity generation matrix divisible by section (l); (B) calculating a parity intermediate variable and a first parity bit when l = 2 using a permutaion operation and an accumulation operation on a given codeword and the parity generation matrix ; (c) calculating a second parity bit using the parity intermediate variable when l = 1, 3, and 4, wherein the sub-matrices generated by sectioning in the parity generation matrix may be RU encoded. There is provided an LDPC encoding method that is a set matrix.

본 발명의 실시예에 따르면, 저지연 및 고신뢰 서비스에 해당하는 다양한 트래픽에 대해 무허가 다중접속의 저지연 성능을 제공하면서도 서비스에서 요구되는 QoS를 효율적으로 보장해줄 수 있다는 장점이 있다.According to an embodiment of the present invention, there is an advantage that the QoS required for the service can be efficiently guaranteed while providing the low latency performance of the unlicensed multiple access for various traffic corresponding to the low latency and high reliability service.

도 1은 본 발명의 일 실시예에 따른 LDPC 부호화 장치 및 방법의 포토그래프를 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 포토그래프로부터 획득되는 인접 행렬의 일례를 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 패리티 생성 행렬의 일례를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 저지연 및 고신뢰도 특성을 가지는 LDPC 부호화 장치의 구조를 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 LDPC 부호화 방법의 전체적인 흐름을 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 LDPC 부호화 장치의 포토그래프로부터 획득되는 인접 행렬의 엘리먼트를 나타낸 도면.
도 7은 도 6의 포토그래프를 보다 단순하게 표현한 포토그래프이다.
1 is a diagram illustrating a photograph of an LDPC encoding apparatus and method according to an embodiment of the present invention.
2 shows an example of an adjacency matrix obtained from a photograph according to one embodiment of the invention.
3 illustrates an example of a parity generation matrix according to an embodiment of the present invention.
4 is a diagram illustrating a structure of an LDPC encoding apparatus having low delay and high reliability according to an embodiment of the present invention.
5 is a view showing the overall flow of the LDPC encoding method according to an embodiment of the present invention.
6 is a diagram illustrating elements of an adjacent matrix obtained from a photograph of an LDPC encoding apparatus according to an embodiment of the present invention.
FIG. 7 is a photograph that more simply represents the photograph of FIG. 6.

이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시예로 한정되는 것은 아니다.Hereinafter, with reference to the accompanying drawings will be described the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention.

그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다.Throughout the specification, when a part is "connected" to another part, it includes not only "directly connected" but also "indirectly connected" with another member in between. .

또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 구비할 수 있다는 것을 의미한다.In addition, when a part is said to "include" a certain component, it means that it may further include other components, without excluding the other components unless otherwise stated.

이하 첨부된 도면을 참고하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 LDPC 부호화 장치 및 방법의 포토그래프를 나타낸 도면이다. 1 is a diagram illustrating a photograph of an LDPC encoding apparatus and method according to an embodiment of the present invention.

본 발명은 본 발명자에 의해 제안되어 출원된 국내특허출원 제2016-0036335의 부호화 장치 및 방법을 전제로 한 것이며, 해당 국내특허출원의 내용은 본 발명의 이해를 위해 참조될 수 있으며, 도 1은 해당 국내출원에서 제안된 포토그래프 구조이며, 본 발명은 도 1과 같은 포토그래프 구조를 가지는 LDPC 부호화 장치에서의 구체적인 부호화 방법에 관한 것이다. The present invention is based on the encoding apparatus and method of Korean Patent Application No. 2016-0036335 proposed and filed by the present inventor, and the contents of the domestic patent application can be referred to for understanding of the present invention. The present invention relates to a photograph structure proposed in the domestic application, and the present invention relates to a specific encoding method in an LDPC encoding apparatus having a photograph structure as shown in FIG. 1.

도 1을 참조하면, 본 발명의 일 실시예에 따른 LDPC 부호화 장치는 제1 외부 부호화 모듈(300), 제2 외부 부호화 모듈(310), 제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)을 포함한다. Referring to FIG. 1, an LDPC encoding apparatus according to an embodiment of the present invention may include a first outer encoding module 300, a second outer encoding module 310, a first inner encoding module 320, and a second inner encoding module. 330.

도 1에는, 제1 외부 부호화 모듈(300)의 프로토그래프 연결 상태를 도시한 제1 외부 코드 파트(400), 제2 외부 부호화 모듈(310)의 프로토그래프 연결 상태를 도시한 제2 외부 코드 파트(410), 제1 내부 부호화 모듈(320)의 프로토그래프 연결 상태를 도시한 제1 내부 코드 파트(420) 미 제2 내부 부호화 모듈(330)의 프로토그래프 연결 상태를 도시한 제2 내부 코드 파트(430)가 도시되어 있다. 1, a second external code part illustrating a prototype connection state of a first external code part 400 and a second external encoding module 310, illustrating a prototype connection state of the first external encoding module 300. 410, a second inner code part showing a prototype connection state of the first inner code part 420 and a second inner coding module 330 showing the prototype connection state of the first inner coding module 320. 430 is shown.

제1 외부 부호화 모듈(300) 및 제2 외부 부호화 모듈(310)로는 부호화를 위한 정보 비트열이 입력된다. 제1 외부 부호화 모듈(300)로는 정보 비트열의 일부가 입력되고 제2 외부 부호화 모듈(310)로는 나머지 부분의 정보 비트열이 입력된다 An information bit string for encoding is input to the first external encoding module 300 and the second external encoding module 310. A portion of the information bit string is input to the first external encoding module 300, and a portion of the information bit string is input to the second external encoding module 310.

제1 외부 부호화 모듈(300)은 입력된 정보 비트열을 이용하여 패리티 비트열 생성을 위한 프리코딩 비트열을 출력한다. 제1 외부 부호화 모듈(300)은 축적기 연산을 통해 패리티 비트열 생성을 위한 프리코딩 비트열 출력한다. The first external encoding module 300 outputs a precoding bit string for parity bit string generation using the input information bit string. The first external encoding module 300 outputs a precoding bit string for parity bit string generation through an accumulator operation.

도 1을 참조하면, 제1 외부 부호화 모듈(300)은 다수의 변수 노드, 다수의 체크 노드 그리고 노드 간 연결선을 포함한다. Referring to FIG. 1, the first external encoding module 300 includes a plurality of variable nodes, a plurality of check nodes, and connection lines between nodes.

다수의 변수 노드들 중 왼쪽의 변수 노드들은 정보 비트열이 입력되는 노드이며, 오른쪽의 변수 노드들은 천공된 변수 노드들로 정보 비트열로부터 프리코딩 패리티 비트열이다.Variable nodes on the left of the plurality of variable nodes are nodes into which the information bit stream is input, and variable nodes on the right are precoded parity bit strings from the information bit stream to the punctured variable nodes.

제1 외부 부호화 모듈(300)의 변수 노드와 체크 노드들은 연결 정도-2의 지그재그 폐쇄 루프 연결 상태를 가지며, 앞서 설명한 바와 같이 축적기의 연결 구조를 통해 축적기 연산에 의한 부호화가 제1 외부 부호화 모듈(300)에서 이루어진다. The variable node and the check nodes of the first external encoding module 300 have a zigzag closed loop connection state of connection degree-2, and as described above, encoding by accumulator operation is performed through the connection structure of the accumulator. In module 300.

제2 외부 부호화 모듈(310)로는 제1 외부 부호화 모듈(300)로 입력되지 않은 나머지 정보 비트열과 제1 외부 부호화 모듈(300)의 출력 비트열이 입력되며, 제2 외부 부호화 모듈(310)은 천공 변수 노들들과 함께 다수의 변수 노드들을 포함한다. The remaining external information bit stream and the output bit stream of the first external encoding module 300 that are not input to the first external encoding module 300 are input to the second external encoding module 310. It includes a number of variable nodes with punctured variable nodes.

제2 외부 부호화 모듈(310)은 제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)에서 부호화 이득 및 인터리빙 이득을 얻기 위한 반복 및 치환 연산을 수행한다. The second outer encoding module 310 performs an iteration and substitution operation to obtain encoding gain and interleaving gain in the first inner encoding module 320 and the second inner encoding module 330.

제2 외부 부호화 모듈(310)의 변수 노드들은 제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)의 체크 노드들과 다중 연결 정도 폐쇄 루프의 연결 상태를 가지도록 연결되어 있다. The variable nodes of the second outer coding module 310 are connected to the check nodes of the first inner coding module 320 and the second inner coding module 330 so as to have a connection state of a closed loop multiplexing degree.

제1 외부 부호화 모듈(300) 및 제2 외부 부호화 모듈(310)은 제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)과 연결되며, 제2 외부 부호화 모듈(310)의 출력 비트열들은 제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)의 체크 노드들로 입력된다. The first outer encoding module 300 and the second outer encoding module 310 are connected to the first inner encoding module 320 and the second inner encoding module 330 and output bits of the second outer encoding module 310. The columns are input to check nodes of the first inner coding module 320 and the second inner coding module 330.

제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)은 제2 외부 부호화 모듈들(310)에서 출력되는 비트열들을 이용하여 최종적인 패리티 비트열들을 생성한다. The first inner coding module 320 and the second inner coding module 330 generate final parity bit strings using the bit strings output from the second outer coding modules 310.

제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)의 체크 노드들은 제2 외부 부호화 모듈(310)의 변수 노드들과 연결되어 출력 비트열을 입력 받는다. The check nodes of the first inner coding module 320 and the second inner coding module 330 are connected to variable nodes of the second outer coding module 310 to receive an output bit string.

제1 내부 부호화 모듈(320)은 대부분의 패리티 비트열들을 단일 패리티 체크 연산을 통해 생성한다. 그러나, 제1 내부 부호화 모듈(320)의 패리티 비트열들 중 일부는 단일 패리티 체크 연산 및 축적기 연산을 통해 생성된다. The first internal encoding module 320 generates most of the parity bit streams through a single parity check operation. However, some of the parity bit strings of the first inner coding module 320 are generated through a single parity check operation and an accumulator operation.

도 1을참조하면, 제1 내부 부호화 모듈(320)은 ARA 부호 및 ARJA 부호와는 달리 체크 노드와 변수 노드의 일부가 연결정도-2의 연결선(425)을 가지는 것을 확인할 수 있으며 연결 정도-2의 연결선으로 연결된 노드들은 단일 패리티 체크 연산 및 축적기 연산을 통해 패리티 비트열들을 출력하게 된다. Referring to FIG. 1, unlike the ARA code and the ARJA code, the first internal encoding module 320 may verify that a part of the check node and the variable node have a connection line 425 having a connection degree-2, and a connection degree-2. Nodes connected by the connection line of the output parity bit strings through a single parity check operation and an accumulator operation.

또한, 제1 내부 부호화 모듈(320)에서 단일 패리티 체크 연산 및 축적기 연산을 통해 패리티 비트열들을 출력하는 부분은 제2 내부 부호화 모듈(330)에서 출력하는 패리티 비트열 중 일부를 체크 노드의 입력으로 활용하여 패리티 비트열을 출력한다. In addition, a part of outputting parity bit strings through a single parity check operation and an accumulator operation in the first internal encoding module 320 may include a part of parity bit strings output from the second internal encoding module 330. Outputs a parity bit string.

도 1을 참조하면, 제1 내부 부호화 모듈(320)의 체크 노드와 제2 내부 부호화 모듈(430)의 변수 노드들 중 일부는 외부 연결선(450)을 통해 연결된다. Referring to FIG. 1, some of the check nodes of the first inner coding module 320 and the variable nodes of the second inner coding module 430 are connected through an external connection line 450.

제2 내부 부호화 모듈(330)은 제2 외부 부호화 모듈(310)로부터 입력되는 비트열들에 대한 단일 패리티 체크 연산 및 축적기 연산을 이용하여 패리티 비트열들을 변수 노드들을 통해 출력한다.The second inner encoding module 330 outputs the parity bit strings through the variable nodes using a single parity check operation and an accumulator operation on the bit streams input from the second outer encoding module 310.

본 발명의 일 실시예에 따른 LDPC 부호에서 제1 내부 부호화 모듈(320) 의 내부 연결선 및 제2 내부 부호화 모듈(330)과 제1 내부 부호화 모듈(320) 사이의 외부 연결선은 LMDG 특성을 만족시킨다. In the LDPC code according to an embodiment of the present invention, an internal connection line of the first internal encoding module 320 and an external connection line between the second internal encoding module 330 and the first internal encoding module 320 satisfy the LMDG characteristics. .

또한, 제2 내부 부호화 모듈(330)에서는 축적기 연산 구조가 유지되기 ?문에 ARJA 코드와는 달리 낮은 복잡도로 부호화가 가능한 장점이 있다. 제1 내부 부호화 모듈(320)에서도 단일 패리티 체크 연산 및 축적기 연산만이 수행되므로 낮은 복잡도의 부호화가 가능하게 된다. In addition, since the accumulator operation structure is maintained in the second internal encoding module 330, unlike the ARJA code, the second internal encoding module 330 may be encoded with low complexity. Since only a single parity check operation and an accumulator operation are performed in the first internal encoding module 320, low complexity encoding is possible.

제1 내부 부호화 모듈(320)에서 일부의 패리티 비트열은 단일 패리티 체크 연산을 통해 순차적으로 출력되며, 일부의 패리티 비트열은 제2 내부 부호화 모듈(430)에서 출력되는 패리티 비트열들 중 일부를 이용하여 축적기 연산을 통해 출력된다.Some of the parity bit strings are sequentially output from the first inner coding module 320 through a single parity check operation, and some of the parity bit strings are configured to output some of the parity bit strings output from the second inner coding module 430. Output through accumulator operation.

도 6은 본 발명의 일 실시예에 따른 LDPC 부호화 장치의 포토그래프로부터 획득되는 체크 노드 및 변수 노드를 나타낸 도면이고, 도 7은 도 6의 포토그래프를 보다 단순하게 표현한 포토그래프이다. 6 is a diagram illustrating a check node and a variable node obtained from a photograph of an LDPC encoding apparatus according to an embodiment of the present invention, and FIG. 7 is a photograph representing the photograph of FIG. 6 more simply.

도 6 및 도 7에서, 하얀색으로 표시된 노드는 천공(Puncturing)된 변수 노드이고, 검은색으로 표시된 노드는 실제로 전송하는 변수 노드(정보+패리티)이며, 십자(cross)가 내부에 포함된 노드는 체크 노드를 의미하며 변수 노드들간의 연산을 정의하는 노드이다. 6 and 7, the node shown in white is a puncturing variable node, the node shown in black is a variable node (information + parity) that actually transmits, and the node containing a cross inside Refers to a check node and defines the operation between variable nodes.

도 6 및 도 7을 참조하면, 변수 노드는 0, 1, 2, 3, 4로 구분되고, 체크 노드는 1, 2, 3, 4로 구분되는 것을 확인할 수 있다. 변수 노드에서 0으로 구분된 변수 노드는 정보 노드에 해당된다. 결국, 변수 노드는 0~4의 5개의 섹션으로 구분되고 체크 노드는 1~4의 4개의 섹션으로 구분된다. 결국, 도 6 및 도 7과 같은 본 발명의 포토그래프 구조를 가질 때, 체크 노드 4개 및 변수 노드 5개의 섹션으로 섹션별 분리가 가능하다는 것을 확인할 수 있다. 6 and 7, it can be seen that variable nodes are divided into 0, 1, 2, 3, and 4, and check nodes are divided into 1, 2, 3, and 4. Variable nodes separated by zeros from variable nodes correspond to information nodes. Finally, the variable node is divided into five sections 0-4, and the check node is divided into four sections 1-4. As a result, when having the photograph structure of the present invention as shown in Figs. 6 and 7, it can be seen that it is possible to separate sections by section into four check nodes and five variable nodes.

도 2는 본 발명의 일 실시예에 따른 포토그래프로부터 획득되는 인접 행렬의 일례를 나타낸 도면이다. 2 is a diagram illustrating an example of an adjacent matrix obtained from a photograph according to an embodiment of the present invention.

베이스 포토그래프의 체크 노드와 변수 노드가 각각 4개 및 5개의 섹션으로 분할 가능한 구조이기에 베이스 포토그래프로부터 획득되는 인접 행렬 역시 4개의 행 및 5개의 열로 구분되며, 본 명세서에서 l은 각 섹션을 나타내는 인덱스이며, k는 루프의 수를 나타내는 인덱스이다. Pl은 l번째 섹션에서 루프의 수를 나타낸다.

Figure 112018118890279-pat00025
의 관계가 성립한다. Since the check node and the variable node of the base photograph can be divided into four and five sections, respectively, the adjacent matrix obtained from the base photograph is also divided into four rows and five columns, where l represents each section. Index, where k is the number of loops. P l represents the number of loops in the lth section.
Figure 112018118890279-pat00025
The relationship is established.

Figure 112018118890279-pat00026
는 변수 노드의 집합을 의미하고,
Figure 112018118890279-pat00027
는 체크 노드의 집합을 의미하며, 포토그래프로부터 획득되는 인접 행렬은 각 섹션(l)별로 분할되는 구조를 가지는 것을 확인할 수 있다.
Figure 112018118890279-pat00026
Means a set of variable nodes,
Figure 112018118890279-pat00027
Denotes a set of check nodes, and it can be seen that an adjacent matrix obtained from the photograph has a structure divided by each section (l).

도 6 및 도 7로부터 확인되듯이, 각각의 패리티를 포함하는 변수 노드와 체크 노드는 l=1, 2, 3, 4별로 구분되며, 이는 본 발명의 포토그래프가 각각 독립적인 4개의 부호화 모듈로 구분되기 때문이다. As shown in FIG. 6 and FIG. 7, the variable node and the check node including each parity are divided by l = 1, 2, 3, and 4, which means that the photograph of the present invention is divided into four coding modules each independently of each other. Because it is distinct.

이와 같은 인접 행렬의 분할 구조를 수학식으로 표현하면 다음의 수학식 1과 같다. When the partition structure of the adjacent matrix is expressed by Equation 1, Equation 1 below.

Figure 112018118890279-pat00028
Figure 112018118890279-pat00028

이때, 인접 행렬은 다음의 조건을 만족하는 것이 바람직하며, 다음의 3가지 조건을 만족할 때 추후 설명하는 서브 행렬별 RU(Richardson Urbanke) 부호화가 가능해진다. In this case, it is preferable that the neighboring matrix satisfies the following conditions, and when the following three conditions are satisfied, the RU (Richardson Urbanke) coding for each sub-matrix described later becomes possible.

Figure 112018118890279-pat00029
를 포토그래프로부터 획득되는 인접 행렬로 정의하고 인접 행렬이 확장 (B)를 이용하여 구성될 때, 3가지 조건은 다음과 같다.
Figure 112018118890279-pat00029
Is defined as the adjacency matrix obtained from the photograph and the adjacency matrix is constructed using the extension (B), three conditions are as follows.

(1) 확장 조건(Expansion Condition)(1) Expansion Condition

확장(B)와 관련하여,

Figure 112018118890279-pat00030
이고,
Figure 112018118890279-pat00031
이며,
Figure 112018118890279-pat00032
는 체크 노드와 변수 노드간의 최대 연결 정도를 나타낸다. 여기서, Z+는 자연수를 나타낸다. With regard to extension (B),
Figure 112018118890279-pat00030
ego,
Figure 112018118890279-pat00031
Is,
Figure 112018118890279-pat00032
Indicates the maximum degree of connection between the check node and the variable node. Here, Z + represents a natural number.

(2) 부호화 구조 조건(2) coding structure conditions

l=1, 3, 4이고

Figure 112018118890279-pat00033
인 경우,
Figure 112018118890279-pat00034
이고
Figure 112018118890279-pat00035
는 길이-2
Figure 112018118890279-pat00036
의 단일 사이클만을 포함한다. l = 1, 3, 4
Figure 112018118890279-pat00033
If is
Figure 112018118890279-pat00034
ego
Figure 112018118890279-pat00035
Length-2
Figure 112018118890279-pat00036
It contains only a single cycle of.

(3) 복호화 구조 조건(3) decryption structure conditions

Figure 112018118890279-pat00037
이고
Figure 112018118890279-pat00038
이다.
Figure 112018118890279-pat00037
ego
Figure 112018118890279-pat00038
to be.

여기서,

Figure 112018118890279-pat00039
.는 행렬 A의 최대 열 가중치를 의미한다here,
Figure 112018118890279-pat00039
Denotes the maximum column weight of matrix A.

여기서,

Figure 112018118890279-pat00040
Figure 112018118890279-pat00041
의 분할 부분이며
Figure 112018118890279-pat00042
Figure 112018118890279-pat00043
이다. 또한,
Figure 112018118890279-pat00044
Figure 112018118890279-pat00045
내에서 체크 노드들로부터 추출되는 레이어의 수를 나타내며 따라서 다음의 조건을 만족한다. here,
Figure 112018118890279-pat00040
Is
Figure 112018118890279-pat00041
Is part of
Figure 112018118890279-pat00042
Is
Figure 112018118890279-pat00043
to be. Also,
Figure 112018118890279-pat00044
Is
Figure 112018118890279-pat00045
Indicates the number of layers extracted from the check nodes in the table and thus satisfies the following condition.

Figure 112018118890279-pat00046
Figure 112018118890279-pat00046

도 3은 본 발명의 일 실시예에 따른 패리티 생성 행렬의 일례를 나타낸 도면이다. 3 is a diagram illustrating an example of a parity generation matrix according to an embodiment of the present invention.

패리티 생성 행렬은 도 2에 도시된 바와 같은 인접 행렬에 대해 리프팅을 수행한 행렬이다. 패리티 생성 행렬에서 Ii는 N X N 아이덴터티(Identity) 행렬 I를 0부터 N-1 범위까지 i만큼 레프트 싸이클릭 쉬프트한 행렬을 의미하고, I-1은 N X N 제로 행렬을 의미한다. The parity generation matrix is a matrix in which lifting is performed on an adjacent matrix as shown in FIG. 2. In the parity generation matrix, I i denotes a matrix obtained by left cyclic shifting the NXN identity matrix I from 0 to N−1 by i, and I −1 denotes an NXN zero matrix.

한편, 본 발명에서

Figure 112018118890279-pat00047
는 수정된 싸이클릭 쉬프트 연산을 의미하며, 수정된 싸이클릭 쉬프트 연산이 인접 행렬의 연산에 이용된다는 점에서 기존의 리프팅과는 차별화된다. On the other hand, in the present invention
Figure 112018118890279-pat00047
Denotes a modified cyclic shift operation, and is different from conventional lifting in that the modified cyclic shift operation is used for the operation of an adjacent matrix.

Figure 112019087518429-pat00048
는 i만큼 레프트 싸이클릭 쉬프트 연산을 수행하되 첫번째 행 및 (1+(N-i)N)의 컬럼의 원소를 0으로 변환하는 제로 마스킹을 수행하는 연산을 의미한다. 여기서 아래첨자 N은 모듈러(modular) 연산을 의미한다.
Figure 112019087518429-pat00048
Denotes an operation that performs a left cyclic shift operation by i but performs zero masking that converts elements of the first row and the column of (1+ (Ni) N ) to zero. Here, the subscript N stands for modular operation.

도 3을 참조하면, 인접 행렬로부터 리프팅된 패러티 생성 형렬(H) 역시 섹션별로 분할 가능한 구조를 가져 다수의 서브 행렬

Figure 112018118890279-pat00049
을 포함한다. Referring to FIG. 3, the parity generation matrix H lifted from an adjacent matrix also has a subdividable structure for each section, and thus a plurality of submatrices.
Figure 112018118890279-pat00049
It includes.

여기서,

Figure 112018118890279-pat00050
로 정의되고,
Figure 112018118890279-pat00051
Figure 112018118890279-pat00052
로 정의될 수 있다. here,
Figure 112018118890279-pat00050
Defined as
Figure 112018118890279-pat00051
Is
Figure 112018118890279-pat00052
It can be defined as.

패리티 생성 행렬(H)로부터 분할되는 서브 행렬

Figure 112018118890279-pat00053
는 다음의 수학식과 같이 표현될 수 있다. Submatrices Split From Parity Generation Matrix H
Figure 112018118890279-pat00053
Can be expressed as the following equation.

Figure 112018118890279-pat00054
Figure 112018118890279-pat00054

위 수학식 2는 패리티 생성 행렬을 구성하는 서브 행렬 각각이 RU 부호화가 가능하다는 것을 나타낸다. 이러한 서브 행렬별 RU 부호화는 앞서 설명한 인접 행렬에 대한 조건과 리프팅 연산에 대한 조건이 함께 만족할 때 가능해진다. 해당 조건을 만족할 때 RU 부호화가 가능하다는 점은 수학적으로 증명 가능하다. Equation 2 indicates that each of the sub-matrix constituting the parity generation matrix is capable of RU encoding. Such RU coding for each sub-matrix is possible when the conditions for the neighboring matrix described above and the conditions for the lifting operation are satisfied together. It can be mathematically proved that RU encoding is possible when the condition is satisfied.

한편, RU 부호화는T.J. Richardson and R.L. Urbanke, "Efficient encoding of low density parity check codes," IEEE Trans. Inf. Theory, vol. 47, no.2, pp. 638-656. Feb. 2001 및 S.Myung, K. Yang, and J. Kim, "Quasi-cyclic LDPC codes for fast encoding, "IEEE transactions on information Theory, vol. 51, pp. 2894-2901, Aug. 2005로부터 확인 가능하며, 위 논문들의 내용은 본 발명의 RU 부호화를 이해하는데 참조될 수 있다. On the other hand, RU coding is performed by T.J. Richardson and R.L. Urbanke, "Efficient encoding of low density parity check codes," IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 638-656. Feb. 2001 and S. Myung, K. Yang, and J. Kim, "Quasi-cyclic LDPC codes for fast encoding," IEEE transactions on information Theory, vol. 51, pp. 2894-2901, Aug. As can be seen from 2005, the contents of the above articles can be referred to to understand the RU encoding of the present invention.

이하에서는 도 3과 같은 예시적인 구조를 가지는 패리티 생성 행렬을 이용하여 주어진 코드워드로부터 패리티 비트를 생성하는 본 발명의 부호화 장치 및 방법에 대해 상세히 살펴보기로 한다. Hereinafter, the encoding apparatus and method of the present invention for generating parity bits from a given codeword using a parity generation matrix having an exemplary structure as shown in FIG. 3 will be described in detail.

도 4는 본 발명의 일 실시예에 따른 저지연 및 고신뢰도 특성을 가지는 LDPC 부호화 장치의 구조를 도시한 도면이고, 도 5는 본 발명의 일 실시예에 따른 LDPC 부호화 방법의 전체적인 흐름을 도시한 도면이다. 4 is a diagram illustrating a structure of an LDPC encoding apparatus having low delay and high reliability according to an embodiment of the present invention, and FIG. 5 is a flowchart illustrating an overall flow of an LDPC encoding method according to an embodiment of the present invention. Drawing.

도 4를 참조하면, 본 발명의 일 실시예에 따른 LDPC 부호화 장치는 제어부(400, Controller), 정보 비트 메모리(402, Information memory), 제1 패리티 메모리(402, Parity-1 memory), 제2 패리티 메모리(406, Parity-2 memory), 패리티 생성 행렬 메모리(408, H memory), 제1 패리티 연산부(410) 및 제2 패리티 연산부(412)를 포함한다. Referring to FIG. 4, an LDPC encoding apparatus according to an embodiment of the present invention includes a controller 400, an information bit memory 402, a first parity memory 402, and a second parity-1 memory. The parity memory 406 includes a parity-2 memory, a parity generation matrix memory 408, and an H memory, a first parity calculator 410, and a second parity calculator 412.

정보 비트 메모리(402)에는 부호화 대상이 되는 코드워드가 저장되며, 패리티 생성 행렬 메모리(408)에는 포토그래프(도 1 참조)로부터 획득되는 패리티 생성 행렬에 대한 정보가 저장된다. 앞서 설명한 바와 같이, 패리티 생성 행렬은 섹션(l) 별로 분할 가능한 구조를 가지고, 각각의 서브 행렬은 본 발명에서 제안되는 리프팅을 통해 RU 부호화가 가능한 구조를 가지고 있다. The codeword to be encoded is stored in the information bit memory 402, and the information on the parity generation matrix obtained from the photograph (see FIG. 1) is stored in the parity generation matrix memory 408. As described above, the parity generation matrix has a structure that can be divided into sections (l), and each sub-matrix has a structure that enables RU encoding through lifting proposed in the present invention.

제1 패리티 연산부(410)는 l=2(도 2에서 l=2인 체크 노드 및 변수 노드)인 경우의 패리티 비트를 연산한다. 제1 패리티 연산부(410)는 패리티 생성 행렬 및 코드워드를 이용하여 제1 패리티를 연산한다. 연산된 제1 패리티는 제1 패리티 메모리(404)에 저장된다. The first parity calculator 410 calculates a parity bit when l = 2 (check node and variable node where l = 2 in FIG. 2). The first parity calculator 410 calculates a first parity using a parity generation matrix and a codeword. The calculated first parity is stored in the first parity memory 404.

제2 패리티 연산부(412)는 l=1, 3, 4인 경우의 패리티 비트를 연산한다. 제2 패리티 연산부(412)는 패리티 생성 행렬 및 제1 패리티 연산부(410)에서 출력되는 값을 이용하여 제2 패리티를 연산한다. 연산된 제2 패리티는 제2 패리티 메모리에 저장한다. The second parity calculator 412 calculates parity bits when l = 1, 3, and 4. The second parity calculator 412 calculates a second parity using the parity generation matrix and the value output from the first parity calculator 410. The calculated second parity is stored in the second parity memory.

제1 패리티 연산부(410) 및 제2 패리티 연산부(412)에서 이루어지는 연산은 순열(Permutation) 연산, 축적(Accumulation) 연산 및 합산(add) 연산으로만 이루어지며, 이는 패리티 생성 행렬의 서브 행렬들이 RU 부호화가 가능하도록 설정되었기 때문이다. The operations performed by the first parity operator 410 and the second parity operator 412 are performed only by a permutation operation, an accumulation operation, and an add operation, in which the sub-matrix of the parity generation matrix is RU. This is because the encoding is set to be possible.

제어부(400)는 위에서 설명한 각 엘리먼트의 전체적인 동작을 제어한다. The controller 400 controls the overall operation of each element described above.

도 5를 참조하여 도 4에 도시된 부호화 장치의 동작을 더욱 상세히 살펴보면 다음과 같다. The operation of the encoding apparatus illustrated in FIG. 4 will be described in more detail with reference to FIG. 5 as follows.

xi를 길이 N의 부분 이진 코드워드 컬럼 벡터로 정의할 때,

Figure 112018118890279-pat00055
로 정의되고,
Figure 112018118890279-pat00056
는 변수 노드 집합을 의미한다.
Figure 112018118890279-pat00057
는 변수 노드 집합에서 i번째 엘리먼트를 의미하고,
Figure 112018118890279-pat00058
는 변수 노드 집합에서 i번째 엘리먼트부터 j 번째 엘리먼트를 의미한다. 또한,
Figure 112018118890279-pat00059
는 변수 노드 집합에 연결된 체크 노드 i에 연결된 변수 노드를 의미하고,
Figure 112018118890279-pat00060
는 체크 노드 집합에서 변수 노드 j에 연결된 체크 노드를 의미한다. When x i is defined as a partial binary codeword column vector of length N,
Figure 112018118890279-pat00055
Defined as
Figure 112018118890279-pat00056
Means a set of variable nodes.
Figure 112018118890279-pat00057
Means the i th element in the variable node set,
Figure 112018118890279-pat00058
Is the i th element to the j th element in the variable node set. Also,
Figure 112018118890279-pat00059
Means the variable node connected to the check node i connected to the variable node set,
Figure 112018118890279-pat00060
Means the check node connected to the variable node j in the check node set.

본 발명에서 부호화는

Figure 112018118890279-pat00061
를 만족하는
Figure 112018118890279-pat00062
를 구하는 문제이며,
Figure 112018118890279-pat00063
는 체크 노드 집합을 의미한다. In the present invention, the encoding is
Figure 112018118890279-pat00061
To satisfy
Figure 112018118890279-pat00062
Is a matter of obtaining
Figure 112018118890279-pat00063
Means a set of check nodes.

결국, 본 발명의 부호화는 다음의 수학식 3과 같이 표현될 수 있다. As a result, the encoding of the present invention may be expressed as Equation 3 below.

Figure 112018118890279-pat00064
Figure 112018118890279-pat00064

위 수학식 3에서

Figure 112018118890279-pat00065
는 다음의 수학식 4와 같이 연산될 수 있다. In Equation 3 above
Figure 112018118890279-pat00065
May be calculated as in Equation 4 below.

Figure 112018118890279-pat00066
Figure 112018118890279-pat00066

수학식 4 는 (a) 파트와 (b) 파트로 구분되며, 본 발명은 (a) 파트를 먼저 연산한 후 최종적으로 코드워드 x에 대응되는 패리티 비트를 연산((b) 파트)하도록 한다. Equation 4 is divided into (a) part and (b) part, and the present invention operates (a) part first and finally calculates parity bits corresponding to codeword x (part (b)).

본 명세서에서 (a) 파트의 연산 결과를 패리티 중간 변수로 정의하기로 한다. In the present specification, the operation result of part (a) is defined as a parity intermediate variable.

도 5를 참조하면, 우선 패리티 생성 행렬 및 주어진 코드워드를 이용하여 패리티 중간 변수를 연산한다(단계 500). Referring to FIG. 5, a parity intermediate variable is first calculated using a parity generation matrix and a given codeword (step 500).

본 발명의 바람직한 실시예에 따르면, 패리티 중간 변수

Figure 112018118890279-pat00067
는 다음의 수학식 5와 같이 연산될 수 있다. According to a preferred embodiment of the invention, the parity intermediate variable
Figure 112018118890279-pat00067
May be calculated as in Equation 5 below.

Figure 112018118890279-pat00068
Figure 112018118890279-pat00068

여기서,

Figure 112018118890279-pat00069
이며,
Figure 112018118890279-pat00070
Figure 112018118890279-pat00071
의 i번째 길이 N 서브벡터를 의미한다. here,
Figure 112018118890279-pat00069
Is,
Figure 112018118890279-pat00070
Is
Figure 112018118890279-pat00071
I-th length of the N subvector.

수학식 4와 같은 패리티 중간 변수의 연산은 제1 패리티 연산부(410)에서 이루어진다. 제1 패리티 연산부(410)는 멀티플레서(600), 레프트 싸이클릭 쉬프터(610) 및 축적기(620)를 포함하고, 수학식 8의 연산은 위의 쉬프터 및 축적기 연산만으로 수행될 수 있다. The operation of the parity intermediate variable as shown in Equation 4 is performed by the first parity calculator 410. The first parity calculator 410 includes a multiplexer 600, a left cyclic shifter 610, and an accumulator 620, and the operation of Equation 8 may be performed only by the shifter and accumulator operations.

l=2인 경우 단일 패리티 체크 연산 및 축적기 연산만으로 패리티 비트를 출력하도록 설정되어 있기 때문에 패리티 중간 변수를 순열 오더(Order)에 따라 출력하는 것만으로 l=2인 경우의 패리티 비트가 연산될 수 있다. In the case of l = 2, the parity bit can be calculated only by outputting the parity intermediate variable according to the permutation order because the parity bit is output only by a single parity check operation and an accumulator operation. have.

l=2인 경우, 패리티 비트는 연산되는 패리티 중간 변수를 이용하여 다음의 수학식 6과 같이 연산될 수 있다. When l = 2, the parity bit may be calculated using Equation 6 below using the parity intermediate variable to be calculated.

Figure 112018118890279-pat00072
Figure 112018118890279-pat00072

위 수학식 6에서

Figure 112018118890279-pat00073
Figure 112018118890279-pat00074
에 따른 길이
Figure 112018118890279-pat00075
의 순열 오더 벡터이고 순열 오더 벡터에 따른 순열 연산에 의해 제1 패리티 연산부(410)는 패리티 중간 변수 중 l=2에 상응하는 패리티 중간 변수의 오더를 순열 오더 벡터에 따라 변환하여 제1 패리티 비트를 출력한다. 출력되는 제1 패리티 비트는 제1 패리티 메모리(404)에 저장된다(단계 504). In Equation 6 above
Figure 112018118890279-pat00073
Is
Figure 112018118890279-pat00074
Along
Figure 112018118890279-pat00075
The first parity operator 410 converts the order of the parity intermediate variable corresponding to l = 2 among the parity intermediate variables according to the permutation order vector by the permutation operation according to the permutation order vector. Output The output first parity bit is stored in the first parity memory 404 (step 504).

한편, l=1, 3, 4인 경우의 패리티 비트인 제2 패리티 비트는 제2 패리티 연산부(412)에 의해 연산된다. 제2 패리티 연산부(412)도 제1 패리티 연산부(410)에서 연산되는 패리티 중간 변수를 이용하여 제2 패리티 비트를 연산한다. On the other hand, the second parity bit, which is a parity bit when l = 1, 3, 4, is calculated by the second parity calculator 412. The second parity calculator 412 also calculates the second parity bit using the parity intermediate variable calculated by the first parity calculator 410.

제2 패리티 연산부(412)는 서브 벡터 축적기(630) 및 비트 축적기(640)를 포함한다. 서브 벡터 축적기(630)는 패리티 중간 변수인

Figure 112018118890279-pat00076
를 이용하여 서브 벡터에 대한 축적 연산을 수행하고, 비트 축적기(640)는 패리티 중간 변수에 대한 비트 축적 연산을 수행한다(단계 506). The second parity calculator 412 includes a sub vector accumulator 630 and a bit accumulator 640. The subvector accumulator 630 is a parity intermediate variable
Figure 112018118890279-pat00076
The accumulator operation is performed on the sub vector using the bit accumulator, and the bit accumulator 640 performs a bit accumulation operation on the parity intermediate variable (step 506).

제2 패리티 연산부(412)는 FIFO(650)에 패리티 중간 변수인

Figure 112018118890279-pat00077
를 기록하고, 조건부 합산부(660)는 패리티 중간 변수와 비트 축적기(640)의 출력 비트와의 조건부 합산을 수행한다(단계 508). The second parity calculator 412 is a parity intermediate variable in the FIFO 650.
Figure 112018118890279-pat00077
The conditional summing unit 660 performs a conditional summation of the parity intermediate variable and the output bits of the bit accumulator 640 (step 508).

제2 패리티 연산부(412)는 임시 메모리(670)를 포함하고, 순열 오더 벡터인 Pl,k에 따라 조건부 합산부(660)의 출력 비트를 임시 메모리(670)에 저장한다(단계 510). The second parity calculator 412 includes a temporary memory 670 and stores the output bits of the conditional adder 660 in the temporary memory 670 according to the permutation order vector P l, k (step 510).

제2 패리티 연산부(412)는 축적기(680)를 포함하고, 축적기(680)는 임시 메모리(670)에 저장된 비트들에 대해 미리 설정된 축적 연산을 통해 제2 패리티 비트를 출력하고, 출력된 제2 패리티 비트는 제2 패리티 메모리(404)에 저장된다(단계 512). The second parity calculator 412 includes an accumulator 680, and the accumulator 680 outputs a second parity bit through a preset accumulation operation on the bits stored in the temporary memory 670, and outputs the output. The second parity bit is stored in the second parity memory 404 (step 512).

l=1, 3, 4인 경우 수학식 4에 따른 제2 패리티 비트의 연산은 다음의 수학식 7과 같이 이루어진다. When l = 1, 3, or 4, the operation of the second parity bit according to Equation 4 is performed as in Equation 7 below.

Figure 112018118890279-pat00078
Figure 112018118890279-pat00078

위 수학식 7에서,

Figure 112018118890279-pat00079
는 다음의 수학식 8과 같이 정의된다. In Equation 7,
Figure 112018118890279-pat00079
Is defined as in Equation 8 below.

Figure 112018118890279-pat00080
Figure 112018118890279-pat00080

위 수학식 7및 수학식8에서,

Figure 112018118890279-pat00081
이고,
Figure 112018118890279-pat00082
이며,
Figure 112018118890279-pat00083
이고,
Figure 112018118890279-pat00084
이다. pl,k와 ql,k
Figure 112018118890279-pat00085
에 따른 순열 오더 벡터들이다. In Equation 7 and Equation 8 above,
Figure 112018118890279-pat00081
ego,
Figure 112018118890279-pat00082
Is,
Figure 112018118890279-pat00083
ego,
Figure 112018118890279-pat00084
to be. p l, k and q l, k are
Figure 112018118890279-pat00085
Permutation order vectors according to.

제2 패리티 비트 축적기(640)의 출력은

Figure 112018118890279-pat00086
이고, FIFO(650)와 비트 축적기(640) 출력과의 조건부 합산은
Figure 112018118890279-pat00087
이다. The output of the second parity bit accumulator 640 is
Figure 112018118890279-pat00086
Conditional summation of the FIFO 650 and the bit accumulator 640 output
Figure 112018118890279-pat00087
to be.

조건부 합산부(660)의 출력인

Figure 112018118890279-pat00088
를 pl,k에 따라 임시 메모리(670)에 저장되고
Figure 112018118890279-pat00089
를 ql,k에 따라 제2 패리티 메모리(406)에 저장한다. Output of the conditional summing unit 660
Figure 112018118890279-pat00088
Is stored in temporary memory 670 according to p l, k
Figure 112018118890279-pat00089
Is stored in the second parity memory 406 according to q l, k .

결국, 본 발명은 패리티 생성 행렬에서 섹션 별로 분할되는 서브 행렬별로 RU 부호화가 가능하며, 이러한 부호화 구조로 인해 우수한 오류 마루 성능을 가지면서 낮은 복잡도로 부호화가 가능하다. As a result, the present invention enables RU encoding for each sub-matrix divided into sections in the parity generation matrix, and because of this encoding structure, encoding can be performed with low complexity while having excellent error floor performance.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be.

그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.

예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is represented by the following claims, and it should be construed that all changes or modifications derived from the meaning and scope of the claims and their equivalents are included in the scope of the present invention.

Claims (16)

섹션(l)별로 분할 가능한 패리티 생성 행렬을 저장하는 패리티 생성 행렬 저장부;
주어진 코드워드 및 상기 패리티 생성 행렬에 대해 순열(Permutaion) 연산 및 축적(Accumulation) 연산을 이용하여 패리티 중간 변수 및 l=2인 경우의 제1 패리티 비트를 연산하는 제1 패리티 연산부;
l=1, 3, 4인 경우 상기 패리티 중간 변수를 이용하여 제2 패리티 비트를 연산하는 제2 패리티 연산부를 포함하되,
상기 패리티 생성 행렬에서 섹션별로 분할되어 생성되는 서브 행렬들은 RU 부호화가 가능하도록 설정된 행렬인 것을 특징으로 하는 LDPC 부호화 장치.
A parity generation matrix storage unit for storing a parity generation matrix that can be divided into sections (l);
A first parity calculator configured to calculate a parity intermediate variable and a first parity bit in the case of l = 2 using a permutaion operation and an accumulation operation on a given codeword and the parity generation matrix;
In the case of l = 1, 3, 4, a second parity calculating unit for calculating a second parity bit using the parity intermediate variable,
And the sub-matrices generated by dividing the sections in the parity generation matrix are matrices configured to enable RU encoding.
제1 항에 있어서,
상기 패리티 생성 행렬은 포토그래프로부터 획득되는 인접 행렬에 대한 리프팅을 통해 생성되며, 상기 리프팅 과정에서 상기 인접 행렬의 소정 엘리먼트에 대해
Figure 112019087518429-pat00090
연산을 수행하며, 상기
Figure 112019087518429-pat00091
는 아이덴터티 행렬 I에 대해 i만큼 레프트 싸이클릭 쉬프트 연산을 수행하되 첫번째 행 및 (1+(N-i)N)의 컬럼의 원소를 0으로 변환하는 제로 마스킹을 수행하는 연산이고 아래첨자 N은 모듈러(modular) 연산인 것을 특징으로 하는 LDPC 부호화 장치.
According to claim 1,
The parity generation matrix is generated by lifting an adjacent matrix obtained from a photograph, and for the predetermined element of the adjacent matrix during the lifting process.
Figure 112019087518429-pat00090
Perform the operation, and
Figure 112019087518429-pat00091
Performs a left cyclic shift operation on the identity matrix I by i but performs zero masking to convert the elements of the first row and columns of (1+ (Ni) N ) to zero, and the subscript N is modular LDPC encoding apparatus, characterized in that the operation.
제1 항에 있어서,
상기 제2 패리티 연산부는 상기 패리티 중간 변수에 대한 서브 벡터 축적 연산을 수행하는 서브 벡터 축적기;
상기 서브 벡터 축적기의 출력의 비트들에 대해 비트 축적 연산을 수행하는 비트 축적기;
상기 비트 축적기의 출력과 상기 패리티 중간 변수에 대한 조건부 합산을 수행하는 조건부 합산부;
상기 조건부 합산부의 출력에 대한 축적 연산을 수행하는 축적기를 포함하는 것을 특징으로 하는 LDPC 부호화 장치.
According to claim 1,
The second parity calculator comprises: a sub vector accumulator for performing a sub vector accumulation operation on the parity intermediate variable;
A bit accumulator for performing a bit accumulation operation on bits of an output of the sub vector accumulator;
A conditional adder which performs conditional summation on the output of the bit accumulator and the parity intermediate variable;
And an accumulator for accumulating the output of the conditional summation unit.
제3 항에 있어서,
상기 패리티 중간 변수
Figure 112019087518429-pat00092
는 다음의 수학식과 같이 연산되는 것을 특징으로 하는 LDPC 부호화 장치.
Figure 112019087518429-pat00093

위 수학식에서, 부호화 대상이 되는 코드워드가 xi일 때,
Figure 112019087518429-pat00094
로 정의되고,
Figure 112019087518429-pat00095
는 변수 노드 집합을 의미하고,
Figure 112019087518429-pat00096
는 변수 노드 집합에서 i번째 엘리먼트를 의미하며,
Figure 112019087518429-pat00097
는 변수 노드 집합에서 i번째 엘리먼트부터 j 번째 엘리먼트를 의미하고, H는 패리티 생성 행렬을 의미하며,
Figure 112019087518429-pat00098
이며,
Figure 112019087518429-pat00099
Figure 112019087518429-pat00100
의 i번째 길이 N 서브벡터를 의미하며,
Figure 112019087518429-pat00153
는 체크 노드의 집합을 의미하고,
Figure 112019087518429-pat00154
는 변수 노드의 집합을 의미하며, l은 섹션을 나타내는 인덱스이고, k는 루프를 나타내는 인덱스이며,
Figure 112019087518429-pat00155
Figure 112019087518429-pat00156
로 정의되고, Pi는 i번 째 섹션에서의 루프의 수를 의미하고, σ는 레프트 싸이클릭 쉬프트 연산을 의미하는 함수이며,
Figure 112019087518429-pat00157
는 행렬
Figure 112019087518429-pat00158
에 대해 레프트 싸이클릭 쉬프트 정도를 나타내는 값이고, vl,k
Figure 112019087518429-pat00159
의 엘리먼트 수임.
The method of claim 3, wherein
The parity intermediate variable
Figure 112019087518429-pat00092
The LDPC encoding apparatus is calculated as in the following equation.
Figure 112019087518429-pat00093

In the above equation, when the codeword to be encoded is x i ,
Figure 112019087518429-pat00094
Defined as
Figure 112019087518429-pat00095
Means a set of variable nodes,
Figure 112019087518429-pat00096
Means the i th element in the variable node set,
Figure 112019087518429-pat00097
Is the i th element to the j th element in the variable node set, H is a parity generation matrix,
Figure 112019087518429-pat00098
Is,
Figure 112019087518429-pat00099
Is
Figure 112019087518429-pat00100
I-th length of the N subvector,
Figure 112019087518429-pat00153
Means a set of check nodes,
Figure 112019087518429-pat00154
Is the set of variable nodes, l is the index representing the section, k is the index representing the loop,
Figure 112019087518429-pat00155
Is
Figure 112019087518429-pat00156
P i is the number of loops in the i th section, σ is a function that means left cyclic shift operation,
Figure 112019087518429-pat00157
Is a matrix
Figure 112019087518429-pat00158
Is the value of the left cyclic shift relative to, where v l, k is
Figure 112019087518429-pat00159
Number of elements in.
제4 항에 있어서,
상기 제1 패리티 연산부는 l=2인 경우의 패리티 중간 변수를 이용하여 다음의 수학식과 같이 제1 패리티를 연산하는 것을 특징으로 하는 LDPC 부호화 장치.
Figure 112018118890279-pat00101

위 수학식에서,
Figure 112018118890279-pat00102
Figure 112018118890279-pat00103
에 따른 길이
Figure 112018118890279-pat00104
의 순열 오더 벡터임.
The method of claim 4, wherein
And the first parity calculator calculates a first parity using a parity intermediate variable when l = 2, as in the following equation.
Figure 112018118890279-pat00101

In the above equation,
Figure 112018118890279-pat00102
Is
Figure 112018118890279-pat00103
Along
Figure 112018118890279-pat00104
The permutation order vector of.
제5 항에 있어서,
상기 제2 패리티 연산부는 다음의 수학식과 같이 제2 패리티 비트를 연산하는 것을 특징으로 하는 LDPC 부호화 장치.

Figure 112019087518429-pat00105

Figure 112019087518429-pat00106

위 수학식에서,
Figure 112019087518429-pat00107
이고,
Figure 112019087518429-pat00108
이며,
Figure 112019087518429-pat00109
이고,
Figure 112019087518429-pat00110
이며, pl,k와 ql,k
Figure 112019087518429-pat00111
에 따른 순열 오더 벡터들이며,
Figure 112019087518429-pat00160
는 조건부 합산 연산을 나타내는 함수이고, π는 순열(Permutation) 연산을 나타내는 함수이고, α는 축적 연산을 나타내는 함수이고, α*는 축적 연산의 최종값을 출력을 나타내는 함수이며, αB는 비트 축적 연산을 나타내는 함수임.
The method of claim 5,
And the second parity calculator calculates a second parity bit as in the following equation.

Figure 112019087518429-pat00105

Figure 112019087518429-pat00106

In the above equation,
Figure 112019087518429-pat00107
ego,
Figure 112019087518429-pat00108
Is,
Figure 112019087518429-pat00109
ego,
Figure 112019087518429-pat00110
P l, k and q l, k are
Figure 112019087518429-pat00111
Permutation order vectors according to
Figure 112019087518429-pat00160
Is a function representing a conditional sum operation, π is a function representing a permutation operation, α is a function representing an accumulation operation, α * is a function representing the output of the final value of the accumulation operation, and α B is a bit accumulation Function representing an operation.
제6 항에 있어서,
상기 조건부 합산부는 다음의 수학식과 같이 조건부 합산을 수행하는 것을 특징으로 하는 LDPC 부호화 장치.
Figure 112018118890279-pat00112

The method of claim 6,
The conditional summation unit performs conditional summation as in the following equation.
Figure 112018118890279-pat00112

삭제delete 섹션(l)별로 분할 가능한 패리티 생성 행렬을 저장하는 패리티 생성 행렬을 저장하는 단계(a);
주어진 코드워드 및 상기 패리티 생성 행렬에 대해 이용하여 순열(Permutaion) 연산 및 축적(Accumulation) 연산을 이용하여 패리티 중간 변수 및 l=2인 경우의 제1 패리티 비트를 연산하는 단계(b);
l=1, 3, 4인 경우 상기 패리티 중간 변수를 이용하여 제2 패리티 비트를 연산하는 단계(c)를 포함하되,,
상기 패리티 생성 행렬에서 섹션별로 분할되어 생성되는 서브 행렬들은 RU 부호화가 가능하도록 설정된 행렬인 것을 특징으로 하는 LDPC 부호화 방법.
(A) storing a parity generation matrix for storing a parity generation matrix that can be divided into sections (l);
(B) calculating a parity intermediate variable and a first parity bit in the case of l = 2 using a permutaion operation and an accumulation operation using a given codeword and the parity generation matrix;
calculating a second parity bit using the parity intermediate variable when l = 1, 3, and 4;
And sub-matrices generated by sectioning in the parity generation matrix are matrices configured to enable RU encoding.
제9 항에 있어서,
상기 패리티 생성 행렬은 포토그래프로부터 획득되는 인접 행렬에 대한 리프팅을 통해 생성되며, 상기 리프팅 과정에서 상기 인접 행렬의 소정 엘리먼트에 대해
Figure 112019087518429-pat00114
연산을 수행하며, 상기
Figure 112019087518429-pat00115
는 아이덴터티 행렬 I에 대해 i만큼 레프트 싸이클릭 쉬프트 연산을 수행하되 첫번째 행 및 (1+(N-i)N)의 컬럼의 원소를 0으로 변환하는 제로 마스킹을 수행하는 연산이고 아래첨자 N은 모듈러(modular) 연산인 것을 특징으로 하는 LDPC 부호화 방법.
The method of claim 9,
The parity generation matrix is generated by lifting an adjacent matrix obtained from a photograph, and for the predetermined element of the adjacent matrix during the lifting process.
Figure 112019087518429-pat00114
Perform the operation, and
Figure 112019087518429-pat00115
Performs a left cyclic shift operation on the identity matrix I by i but performs zero masking to convert the elements of the first row and columns of (1+ (Ni) N ) to zero, and the subscript N is modular LDPC encoding method.
제9 항에 있어서,
상기 단계(c)는,
상기 패리티 중간 변수에 대한 서브 벡터 축적 연산을 수행하는 단계;
상기 서브 벡터 축적 연산에 따라 출력되는 비트들에 대해 비트 축적 연산을 수행하는 단계;
상기 비트 축적 연산의 출력과 상기 패리티 중간 변수에 대한 조건부 합산을 수행하는 단계; 및
상기 조건부 합산의 출력에 대한 축적 연산을 수행하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호화 방법.
The method of claim 9,
Step (c) is,
Performing a subvector accumulation operation on the parity intermediate variable;
Performing a bit accumulation operation on bits output according to the sub vector accumulation operation;
Performing conditional summation on the output of the bit accumulation operation and the parity intermediate variable; And
And performing an accumulation operation on the output of the conditional summation.
제11 항에 있어서,
상기 패리티 중간 변수
Figure 112019087518429-pat00116
는 다음의 수학식과 같이 연산되는 것을 특징으로 하는 LDPC 부호화 방법.
Figure 112019087518429-pat00117

위 수학식에서, 부호화 대상이 되는 코드워드가 xi일 때,
Figure 112019087518429-pat00118
로 정의되고,
Figure 112019087518429-pat00119
는 변수 노드 집합을 의미하고,
Figure 112019087518429-pat00120
는 변수 노드 집합에서 i번째 엘리먼트를 의미하며,
Figure 112019087518429-pat00121
는 변수 노드 집합에서 i번째 엘리먼트부터 j 번째 엘리먼트를 의미하고, H는 패리티 생성 행렬을 의미하며,
Figure 112019087518429-pat00122
이며,
Figure 112019087518429-pat00123
Figure 112019087518429-pat00124
의 i번째 길이 N 서브벡터를 의미하며,
Figure 112019087518429-pat00161
는 체크 노드의 집합을 의미하고,
Figure 112019087518429-pat00162
는 변수 노드의 집합을 의미하며, l은 섹션을 나타내는 인덱스이고, k는 루프를 나타내는 인덱스이며,
Figure 112019087518429-pat00163
Figure 112019087518429-pat00164
로 정의되고, Pi는 i번 째 섹션에서의 루프의 수를 의미하고, σ는 레프트 싸이클릭 쉬프트 연산을 의미하는 함수이며,
Figure 112019087518429-pat00165
는 행렬
Figure 112019087518429-pat00166
에 대해 레프트 싸이클릭 쉬프트 정도를 나타내는 값이고, vl,k
Figure 112019087518429-pat00167
의 엘리먼트 수임.
The method of claim 11, wherein
The parity intermediate variable
Figure 112019087518429-pat00116
Is computed as in the following equation.
Figure 112019087518429-pat00117

In the above equation, when the codeword to be encoded is x i ,
Figure 112019087518429-pat00118
Defined as
Figure 112019087518429-pat00119
Means a set of variable nodes,
Figure 112019087518429-pat00120
Means the i th element in the variable node set,
Figure 112019087518429-pat00121
Is the i th element to the j th element in the variable node set, H is a parity generation matrix,
Figure 112019087518429-pat00122
Is,
Figure 112019087518429-pat00123
Is
Figure 112019087518429-pat00124
I-th length of the N subvector,
Figure 112019087518429-pat00161
Means a set of check nodes,
Figure 112019087518429-pat00162
Is the set of variable nodes, l is the index representing the section, k is the index representing the loop,
Figure 112019087518429-pat00163
Is
Figure 112019087518429-pat00164
P i is the number of loops in the i th section, σ is a function that means left cyclic shift operation,
Figure 112019087518429-pat00165
Is a matrix
Figure 112019087518429-pat00166
Is the value of the left cyclic shift relative to, where v l, k is
Figure 112019087518429-pat00167
Number of elements in.
제12 항에 있어서,
상기 단계(b)는 l=2인 경우의 패리티 중간 변수를 이용하여 다음의 수학식과 같이 제1 패리티를 연산하는 것을 특징으로 하는 LDPC 부호화 방법.
Figure 112019087518429-pat00125

Figure 112019087518429-pat00126
Figure 112019087518429-pat00127
에 따른 길이
Figure 112019087518429-pat00128
의 순열 오더 벡터임.
The method of claim 12,
The step (b) is characterized in that the first parity is calculated using the parity intermediate variable in the case of l = 2 as shown in the following equation.
Figure 112019087518429-pat00125

Figure 112019087518429-pat00126
Is
Figure 112019087518429-pat00127
Along
Figure 112019087518429-pat00128
The permutation order vector of.
제13 항에 있어서,
상기 단계(c)는 다음의 수학식과 같이 제2 패리티 비트를 연산하는 것을 특징으로 하는 LDPC 부호화 방법.
Figure 112019087518429-pat00129

Figure 112019087518429-pat00130

위 수학식에서,
Figure 112019087518429-pat00131
이고,
Figure 112019087518429-pat00132
이며,
Figure 112019087518429-pat00133
이고,
Figure 112019087518429-pat00134
이다. pl,k와 ql,k
Figure 112019087518429-pat00135
에 따른 순열 오더 벡터들이며,
Figure 112019087518429-pat00168
는 조건부 합산 연산을 나타내는 함수이고, π는 순열(Permutation) 연산을 나타내는 함수이고, α는 축적 연산을 나타내는 함수이고, α*는 축적 연산의 최종값을 출력을 나타내는 함수이며, αB는 비트 축적 연산을 나타내는 함수임.
The method of claim 13,
In step (c), the second parity bit is calculated as in the following equation.
Figure 112019087518429-pat00129

Figure 112019087518429-pat00130

In the above equation,
Figure 112019087518429-pat00131
ego,
Figure 112019087518429-pat00132
Is,
Figure 112019087518429-pat00133
ego,
Figure 112019087518429-pat00134
to be. p l, k and q l, k are
Figure 112019087518429-pat00135
Permutation order vectors according to
Figure 112019087518429-pat00168
Is a function representing a conditional sum operation, π is a function representing a permutation operation, α is a function representing an accumulation operation, α * is a function representing the output of the final value of the accumulation operation, and α B is a bit accumulation Function representing an operation.
제14 항에 있어서,
상기 조건부 합산은 다음의 수학식과 같이 수행되는 것을 특징으로 하는 LDPC 부호화 방법.
Figure 112019087518429-pat00136



The method of claim 14,
The conditional summation is performed as in the following equation.
Figure 112019087518429-pat00136



삭제delete
KR1020180149579A 2017-11-29 2018-11-28 LDPC Encoding Device and Method Having Low Latency and High Reliability KR102067912B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/014814 WO2019107912A1 (en) 2017-11-29 2018-11-28 Ldpc encoding device and method which have low latency and high reliability characteristics

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170161202 2017-11-29
KR1020170161202 2017-11-29

Publications (2)

Publication Number Publication Date
KR20190063431A KR20190063431A (en) 2019-06-07
KR102067912B1 true KR102067912B1 (en) 2020-01-17

Family

ID=66850314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180149579A KR102067912B1 (en) 2017-11-29 2018-11-28 LDPC Encoding Device and Method Having Low Latency and High Reliability

Country Status (1)

Country Link
KR (1) KR102067912B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195761A1 (en) 2005-02-26 2006-08-31 Samsung Electronics Co., Ltd. Method of generating low-density parity check matrix and method of generating parity information using the low-density parity check matrix
KR101742430B1 (en) 2016-01-19 2017-05-31 연세대학교 산학협력단 Method and Device for LDPC encoding for High Reliability and Low Latency

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195761A1 (en) 2005-02-26 2006-08-31 Samsung Electronics Co., Ltd. Method of generating low-density parity check matrix and method of generating parity information using the low-density parity check matrix
KR101742430B1 (en) 2016-01-19 2017-05-31 연세대학교 산학협력단 Method and Device for LDPC encoding for High Reliability and Low Latency

Also Published As

Publication number Publication date
KR20190063431A (en) 2019-06-07

Similar Documents

Publication Publication Date Title
CN101073205B (en) LDPC encoder and decoder and LDPC encoding and decoding methods
CN110114978B (en) Efficient decodable QC-LDPC codes
KR100808664B1 (en) Parity check matrix storing method, block ldpc coding method and the apparatus using parity check matrix storing method
JP4620132B2 (en) Parity check matrix generation method, encoding method, communication apparatus, communication system, encoder
JP4563454B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, communication system, encoder, and decoder
CN101032082B (en) Method and apparatus for encoding and decoding data
US8499218B2 (en) System and method for determining quasi-cyclic low-density parity-check codes having high girth
JP4602418B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, encoder, and decoder
CN102870330B (en) Coding device, error-correction code configuration method, and program thereof
CN101032083B (en) Method and apparatus for encoding and decoding data
CN101796488A (en) Generation of parity-check matrices
US9083383B1 (en) Parity check matrix
US9203440B1 (en) Matrix expansion
EP2951925B1 (en) Ldpc code design and encoding apparatus enabling the adjustment of code rate and codelength
CN101159435B (en) Low density check code check matrix constructing method based on shift matrix classified extension
CN101094000B (en) Method for constructing time invariant LDPCC based on PEG algorithm, and encoder/decoder
KR20070116904A (en) Error correction encoder
KR100918741B1 (en) Apparatus and method for channel coding in mobile communication system
CN103199877B (en) Method for constructing and coding structured LDPC (Low Density Parity Check) convolutional codes
KR101431268B1 (en) Apparatus and method for generating low density parity check codes for sequential decoding algorithm
KR102067912B1 (en) LDPC Encoding Device and Method Having Low Latency and High Reliability
WO2006062351A1 (en) Ldpc encoder and decoder and ldpc encoding and decoding methods
Bajpai et al. A new construction method for large girth quasi-cyclic ldpc codes with optimized lower bound using chinese remainder theorem
CN109462406A (en) It is a kind of based on arithmetic progression can fast coding QC-LDPC code constructing method
CN110324048B (en) RA-LDPC-CC coding method and coder in communication modulation system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant