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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1157—Low-density generator matrices [LDGM]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
- H03M13/1194—Repeat-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 부호화 방법 및 장치에 관한 것이다. 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.
상기 패리티 생성 행렬은 포토그래프로부터 획득되는 인접 행렬에 대한 리프팅을 통해 생성되며, 상기 리프팅 과정에서 상기 인접 행렬의 소정 엘리먼트에 대해 연산을 수행하며, 상기 는 아이덴터티 행렬 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. Perform the operation, and 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.
상기 패리티 중간 변수 는 다음의 수학식과 같이 연산된다. The parity intermediate variable Is calculated as in the following equation.
위 수학식에서, 부호화 대상이 되는 코드워드가 xi일 때, 로 정의되고, 는 변수 노드 집합을 의미하고, 는 변수 노드 집합에서 i번째 엘리먼트를 의미하며, 는 변수 노드 집합에서 i번째 엘리먼트부터 j 번째 엘리먼트를 의미하고, H는 패리티 생성 행렬을 의미하며, 이며, 는 의 i번째 길이 N 서브벡터를 의미하며, 는 체크 노드의 집합을 의미하고, 는 변수 노드의 집합을 의미하며, l은 섹션을 나타내는 인덱스이고, k는 루프를 나타내는 인덱스이며, 는 로 정의되고, Pi는 i번 째 섹션에서의 루프의 수를 의미하고, σ는 레프트 싸이클릭 쉬프트 연산을 의미하는 함수이며, 는 행렬 에 대해 레프트 싸이클릭 쉬프트 정도를 나타내는 값이고, vl,k는 의 엘리먼트 수이다. In the above equation, when the codeword to be encoded is x i , Defined as Means a set of variable nodes, Means the i th element in the variable node set, Is the i th element to the j th element in the variable node set, H is a parity generation matrix, Is, Is I-th length of the N subvector, Means a set of check nodes, Is the set of variable nodes, l is the index representing the section, k is the index representing the loop, Is P i is the number of loops in the i th section, σ is a function that means left cyclic shift operation, Is a matrix Is the value of the left cyclic shift relative to, where v l, k is 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.
는 에 따른 길이 의 순열 오더 벡터임. Is Along The permutation order vector of.
상기 제2 패리티 비트 연산부는 다음의 수학식과 같이 제2 패리티 비트를 연산한다. The second parity bit calculator calculates a second parity bit as shown in the following equation.
위 수학식에서, 이고, 이며, 이고, 이다. pl,k와 ql,k는 에 따른 순열 오더 벡터들이며, 는 조건부 합산 연산을 나타내는 함수이고, π는 순열(Permutation) 연산을 나타내는 함수이고, α는 축적 연산을 나타내는 함수이고, α*는 축적 연산의 최종값을 출력을 나타내는 함수이며, αB는 비트 축적 연산을 나타내는 함수이다. In the above equation, ego, Is, ego, to be. p l, k and q l, k are Permutation order vectors according to 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.
상기 제2 패리티 비트는 를 순열 오더 벡터인 ql,k에 따라 메모리에 저장된다. The second parity bit is 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
도 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
제1 외부 부호화 모듈(300) 및 제2 외부 부호화 모듈(310)로는 부호화를 위한 정보 비트열이 입력된다. 제1 외부 부호화 모듈(300)로는 정보 비트열의 일부가 입력되고 제2 외부 부호화 모듈(310)로는 나머지 부분의 정보 비트열이 입력된다 An information bit string for encoding is input to the first
제1 외부 부호화 모듈(300)은 입력된 정보 비트열을 이용하여 패리티 비트열 생성을 위한 프리코딩 비트열을 출력한다. 제1 외부 부호화 모듈(300)은 축적기 연산을 통해 패리티 비트열 생성을 위한 프리코딩 비트열 출력한다. The first
도 1을 참조하면, 제1 외부 부호화 모듈(300)은 다수의 변수 노드, 다수의 체크 노드 그리고 노드 간 연결선을 포함한다. Referring to FIG. 1, the first
다수의 변수 노드들 중 왼쪽의 변수 노드들은 정보 비트열이 입력되는 노드이며, 오른쪽의 변수 노드들은 천공된 변수 노드들로 정보 비트열로부터 프리코딩 패리티 비트열이다.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
제2 외부 부호화 모듈(310)로는 제1 외부 부호화 모듈(300)로 입력되지 않은 나머지 정보 비트열과 제1 외부 부호화 모듈(300)의 출력 비트열이 입력되며, 제2 외부 부호화 모듈(310)은 천공 변수 노들들과 함께 다수의 변수 노드들을 포함한다. The remaining external information bit stream and the output bit stream of the first
제2 외부 부호화 모듈(310)은 제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)에서 부호화 이득 및 인터리빙 이득을 얻기 위한 반복 및 치환 연산을 수행한다. The second
제2 외부 부호화 모듈(310)의 변수 노드들은 제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)의 체크 노드들과 다중 연결 정도 폐쇄 루프의 연결 상태를 가지도록 연결되어 있다. The variable nodes of the second
제1 외부 부호화 모듈(300) 및 제2 외부 부호화 모듈(310)은 제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)과 연결되며, 제2 외부 부호화 모듈(310)의 출력 비트열들은 제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)의 체크 노드들로 입력된다. The first
제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)은 제2 외부 부호화 모듈들(310)에서 출력되는 비트열들을 이용하여 최종적인 패리티 비트열들을 생성한다. The first
제1 내부 부호화 모듈(320) 및 제2 내부 부호화 모듈(330)의 체크 노드들은 제2 외부 부호화 모듈(310)의 변수 노드들과 연결되어 출력 비트열을 입력 받는다. The check nodes of the first
제1 내부 부호화 모듈(320)은 대부분의 패리티 비트열들을 단일 패리티 체크 연산을 통해 생성한다. 그러나, 제1 내부 부호화 모듈(320)의 패리티 비트열들 중 일부는 단일 패리티 체크 연산 및 축적기 연산을 통해 생성된다. The first
도 1을참조하면, 제1 내부 부호화 모듈(320)은 ARA 부호 및 ARJA 부호와는 달리 체크 노드와 변수 노드의 일부가 연결정도-2의 연결선(425)을 가지는 것을 확인할 수 있으며 연결 정도-2의 연결선으로 연결된 노드들은 단일 패리티 체크 연산 및 축적기 연산을 통해 패리티 비트열들을 출력하게 된다. Referring to FIG. 1, unlike the ARA code and the ARJA code, the first
또한, 제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
도 1을 참조하면, 제1 내부 부호화 모듈(320)의 체크 노드와 제2 내부 부호화 모듈(430)의 변수 노드들 중 일부는 외부 연결선(450)을 통해 연결된다. Referring to FIG. 1, some of the check nodes of the first
제2 내부 부호화 모듈(330)은 제2 외부 부호화 모듈(310)로부터 입력되는 비트열들에 대한 단일 패리티 체크 연산 및 축적기 연산을 이용하여 패리티 비트열들을 변수 노드들을 통해 출력한다.The second
본 발명의 일 실시예에 따른 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
또한, 제2 내부 부호화 모듈(330)에서는 축적기 연산 구조가 유지되기 ?문에 ARJA 코드와는 달리 낮은 복잡도로 부호화가 가능한 장점이 있다. 제1 내부 부호화 모듈(320)에서도 단일 패리티 체크 연산 및 축적기 연산만이 수행되므로 낮은 복잡도의 부호화가 가능하게 된다. In addition, since the accumulator operation structure is maintained in the second
제1 내부 부호화 모듈(320)에서 일부의 패리티 비트열은 단일 패리티 체크 연산을 통해 순차적으로 출력되며, 일부의 패리티 비트열은 제2 내부 부호화 모듈(430)에서 출력되는 패리티 비트열들 중 일부를 이용하여 축적기 연산을 통해 출력된다.Some of the parity bit strings are sequentially output from the first
도 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번째 섹션에서 루프의 수를 나타낸다. 의 관계가 성립한다. 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. The relationship is established.
는 변수 노드의 집합을 의미하고, 는 체크 노드의 집합을 의미하며, 포토그래프로부터 획득되는 인접 행렬은 각 섹션(l)별로 분할되는 구조를 가지는 것을 확인할 수 있다. Means a set of variable nodes, 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
이때, 인접 행렬은 다음의 조건을 만족하는 것이 바람직하며, 다음의 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.
를 포토그래프로부터 획득되는 인접 행렬로 정의하고 인접 행렬이 확장 (B)를 이용하여 구성될 때, 3가지 조건은 다음과 같다. 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)와 관련하여, 이고, 이며, 는 체크 노드와 변수 노드간의 최대 연결 정도를 나타낸다. 여기서, Z+는 자연수를 나타낸다. With regard to extension (B), ego, Is, 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이고 인 경우, 이고 는 길이-2의 단일 사이클만을 포함한다. l = 1, 3, 4 If is ego Length-2 It contains only a single cycle of.
(3) 복호화 구조 조건(3) decryption structure conditions
이고 이다. ego to be.
여기서, .는 행렬 A의 최대 열 가중치를 의미한다here, Denotes the maximum column weight of matrix A.
여기서, 는 의 분할 부분이며 는 이다. 또한, 는 내에서 체크 노드들로부터 추출되는 레이어의 수를 나타내며 따라서 다음의 조건을 만족한다. here, Is Is part of Is to be. Also, Is Indicates the number of layers extracted from the check nodes in the table and thus satisfies the following condition.
도 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.
한편, 본 발명에서 는 수정된 싸이클릭 쉬프트 연산을 의미하며, 수정된 싸이클릭 쉬프트 연산이 인접 행렬의 연산에 이용된다는 점에서 기존의 리프팅과는 차별화된다. On the other hand, in the present invention 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.
는 i만큼 레프트 싸이클릭 쉬프트 연산을 수행하되 첫번째 행 및 (1+(N-i)N)의 컬럼의 원소를 0으로 변환하는 제로 마스킹을 수행하는 연산을 의미한다. 여기서 아래첨자 N은 모듈러(modular) 연산을 의미한다. 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) 역시 섹션별로 분할 가능한 구조를 가져 다수의 서브 행렬 을 포함한다. 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. It includes.
여기서,로 정의되고, 는 로 정의될 수 있다. here, Defined as Is It can be defined as.
패리티 생성 행렬(H)로부터 분할되는 서브 행렬 는 다음의 수학식과 같이 표현될 수 있다. Submatrices Split From Parity Generation Matrix H Can be expressed as the following equation.
위 수학식 2는 패리티 생성 행렬을 구성하는 서브 행렬 각각이 RU 부호화가 가능하다는 것을 나타낸다. 이러한 서브 행렬별 RU 부호화는 앞서 설명한 인접 행렬에 대한 조건과 리프팅 연산에 대한 조건이 함께 만족할 때 가능해진다. 해당 조건을 만족할 때 RU 부호화가 가능하다는 점은 수학적으로 증명 가능하다.
한편, 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
정보 비트 메모리(402)에는 부호화 대상이 되는 코드워드가 저장되며, 패리티 생성 행렬 메모리(408)에는 포토그래프(도 1 참조)로부터 획득되는 패리티 생성 행렬에 대한 정보가 저장된다. 앞서 설명한 바와 같이, 패리티 생성 행렬은 섹션(l) 별로 분할 가능한 구조를 가지고, 각각의 서브 행렬은 본 발명에서 제안되는 리프팅을 통해 RU 부호화가 가능한 구조를 가지고 있다. The codeword to be encoded is stored in the
제1 패리티 연산부(410)는 l=2(도 2에서 l=2인 체크 노드 및 변수 노드)인 경우의 패리티 비트를 연산한다. 제1 패리티 연산부(410)는 패리티 생성 행렬 및 코드워드를 이용하여 제1 패리티를 연산한다. 연산된 제1 패리티는 제1 패리티 메모리(404)에 저장된다. The
제2 패리티 연산부(412)는 l=1, 3, 4인 경우의 패리티 비트를 연산한다. 제2 패리티 연산부(412)는 패리티 생성 행렬 및 제1 패리티 연산부(410)에서 출력되는 값을 이용하여 제2 패리티를 연산한다. 연산된 제2 패리티는 제2 패리티 메모리에 저장한다. The
제1 패리티 연산부(410) 및 제2 패리티 연산부(412)에서 이루어지는 연산은 순열(Permutation) 연산, 축적(Accumulation) 연산 및 합산(add) 연산으로만 이루어지며, 이는 패리티 생성 행렬의 서브 행렬들이 RU 부호화가 가능하도록 설정되었기 때문이다. The operations performed by the
제어부(400)는 위에서 설명한 각 엘리먼트의 전체적인 동작을 제어한다. The
도 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의 부분 이진 코드워드 컬럼 벡터로 정의할 때, 로 정의되고, 는 변수 노드 집합을 의미한다. 는 변수 노드 집합에서 i번째 엘리먼트를 의미하고, 는 변수 노드 집합에서 i번째 엘리먼트부터 j 번째 엘리먼트를 의미한다. 또한, 는 변수 노드 집합에 연결된 체크 노드 i에 연결된 변수 노드를 의미하고, 는 체크 노드 집합에서 변수 노드 j에 연결된 체크 노드를 의미한다. When x i is defined as a partial binary codeword column vector of length N, Defined as Means a set of variable nodes. Means the i th element in the variable node set, Is the i th element to the j th element in the variable node set. Also, Means the variable node connected to the check node i connected to the variable node set, Means the check node connected to the variable node j in the check node set.
본 발명에서 부호화는 를 만족하는 를 구하는 문제이며, 는 체크 노드 집합을 의미한다. In the present invention, the encoding is To satisfy Is a matter of obtaining Means a set of check nodes.
결국, 본 발명의 부호화는 다음의 수학식 3과 같이 표현될 수 있다. As a result, the encoding of the present invention may be expressed as Equation 3 below.
위 수학식 3에서 는 다음의 수학식 4와 같이 연산될 수 있다. In Equation 3 above May be calculated as in
수학식 4 는 (a) 파트와 (b) 파트로 구분되며, 본 발명은 (a) 파트를 먼저 연산한 후 최종적으로 코드워드 x에 대응되는 패리티 비트를 연산((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).
본 발명의 바람직한 실시예에 따르면, 패리티 중간 변수 는 다음의 수학식 5와 같이 연산될 수 있다. According to a preferred embodiment of the invention, the parity intermediate variable May be calculated as in Equation 5 below.
여기서, 이며, 는 의 i번째 길이 N 서브벡터를 의미한다. here, Is, Is 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
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.
위 수학식 6에서 는 에 따른 길이 의 순열 오더 벡터이고 순열 오더 벡터에 따른 순열 연산에 의해 제1 패리티 연산부(410)는 패리티 중간 변수 중 l=2에 상응하는 패리티 중간 변수의 오더를 순열 오더 벡터에 따라 변환하여 제1 패리티 비트를 출력한다. 출력되는 제1 패리티 비트는 제1 패리티 메모리(404)에 저장된다(단계 504). In Equation 6 above Is Along The
한편, 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
제2 패리티 연산부(412)는 서브 벡터 축적기(630) 및 비트 축적기(640)를 포함한다. 서브 벡터 축적기(630)는 패리티 중간 변수인 를 이용하여 서브 벡터에 대한 축적 연산을 수행하고, 비트 축적기(640)는 패리티 중간 변수에 대한 비트 축적 연산을 수행한다(단계 506). The
제2 패리티 연산부(412)는 FIFO(650)에 패리티 중간 변수인 를 기록하고, 조건부 합산부(660)는 패리티 중간 변수와 비트 축적기(640)의 출력 비트와의 조건부 합산을 수행한다(단계 508). The
제2 패리티 연산부(412)는 임시 메모리(670)를 포함하고, 순열 오더 벡터인 Pl,k에 따라 조건부 합산부(660)의 출력 비트를 임시 메모리(670)에 저장한다(단계 510). The
제2 패리티 연산부(412)는 축적기(680)를 포함하고, 축적기(680)는 임시 메모리(670)에 저장된 비트들에 대해 미리 설정된 축적 연산을 통해 제2 패리티 비트를 출력하고, 출력된 제2 패리티 비트는 제2 패리티 메모리(404)에 저장된다(단계 512). The
l=1, 3, 4인 경우 수학식 4에 따른 제2 패리티 비트의 연산은 다음의 수학식 7과 같이 이루어진다. When l = 1, 3, or 4, the operation of the second parity bit according to
위 수학식 7에서, 는 다음의 수학식 8과 같이 정의된다. In Equation 7, Is defined as in
위 수학식 7및 수학식8에서, 이고, 이며, 이고, 이다. pl,k와 ql,k는 에 따른 순열 오더 벡터들이다. In Equation 7 and
제2 패리티 비트 축적기(640)의 출력은 이고, FIFO(650)와 비트 축적기(640) 출력과의 조건부 합산은 이다. The output of the second
조건부 합산부(660)의 출력인 를 pl,k에 따라 임시 메모리(670)에 저장되고 를 ql,k에 따라 제2 패리티 메모리(406)에 저장한다. Output of the conditional summing
결국, 본 발명은 패리티 생성 행렬에서 섹션 별로 분할되는 서브 행렬별로 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)
주어진 코드워드 및 상기 패리티 생성 행렬에 대해 순열(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.
상기 패리티 생성 행렬은 포토그래프로부터 획득되는 인접 행렬에 대한 리프팅을 통해 생성되며, 상기 리프팅 과정에서 상기 인접 행렬의 소정 엘리먼트에 대해 연산을 수행하며, 상기 는 아이덴터티 행렬 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. Perform the operation, and 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.
상기 제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.
상기 패리티 중간 변수 는 다음의 수학식과 같이 연산되는 것을 특징으로 하는 LDPC 부호화 장치.
위 수학식에서, 부호화 대상이 되는 코드워드가 xi일 때, 로 정의되고, 는 변수 노드 집합을 의미하고, 는 변수 노드 집합에서 i번째 엘리먼트를 의미하며, 는 변수 노드 집합에서 i번째 엘리먼트부터 j 번째 엘리먼트를 의미하고, H는 패리티 생성 행렬을 의미하며, 이며, 는 의 i번째 길이 N 서브벡터를 의미하며,
는 체크 노드의 집합을 의미하고, 는 변수 노드의 집합을 의미하며, l은 섹션을 나타내는 인덱스이고, k는 루프를 나타내는 인덱스이며, 는 로 정의되고, Pi는 i번 째 섹션에서의 루프의 수를 의미하고, σ는 레프트 싸이클릭 쉬프트 연산을 의미하는 함수이며, 는 행렬 에 대해 레프트 싸이클릭 쉬프트 정도를 나타내는 값이고, vl,k는 의 엘리먼트 수임.
The method of claim 3, wherein
The parity intermediate variable The LDPC encoding apparatus is calculated as in the following equation.
In the above equation, when the codeword to be encoded is x i , Defined as Means a set of variable nodes, Means the i th element in the variable node set, Is the i th element to the j th element in the variable node set, H is a parity generation matrix, Is, Is I-th length of the N subvector,
Means a set of check nodes, Is the set of variable nodes, l is the index representing the section, k is the index representing the loop, Is P i is the number of loops in the i th section, σ is a function that means left cyclic shift operation, Is a matrix Is the value of the left cyclic shift relative to, where v l, k is Number of elements in.
상기 제1 패리티 연산부는 l=2인 경우의 패리티 중간 변수를 이용하여 다음의 수학식과 같이 제1 패리티를 연산하는 것을 특징으로 하는 LDPC 부호화 장치.
위 수학식에서, 는 에 따른 길이 의 순열 오더 벡터임.
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.
In the above equation, Is Along The permutation order vector of.
상기 제2 패리티 연산부는 다음의 수학식과 같이 제2 패리티 비트를 연산하는 것을 특징으로 하는 LDPC 부호화 장치.
위 수학식에서, 이고, 이며, 이고, 이며, pl,k와 ql,k는 에 따른 순열 오더 벡터들이며,
는 조건부 합산 연산을 나타내는 함수이고, π는 순열(Permutation) 연산을 나타내는 함수이고, α는 축적 연산을 나타내는 함수이고, α*는 축적 연산의 최종값을 출력을 나타내는 함수이며, αB는 비트 축적 연산을 나타내는 함수임.
The method of claim 5,
And the second parity calculator calculates a second parity bit as in the following equation.
In the above equation, ego, Is, ego, P l, k and q l, k are Permutation order vectors according to
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.
상기 조건부 합산부는 다음의 수학식과 같이 조건부 합산을 수행하는 것을 특징으로 하는 LDPC 부호화 장치.
The method of claim 6,
The conditional summation unit performs conditional summation as in the following equation.
주어진 코드워드 및 상기 패리티 생성 행렬에 대해 이용하여 순열(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.
상기 패리티 생성 행렬은 포토그래프로부터 획득되는 인접 행렬에 대한 리프팅을 통해 생성되며, 상기 리프팅 과정에서 상기 인접 행렬의 소정 엘리먼트에 대해 연산을 수행하며, 상기 는 아이덴터티 행렬 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. Perform the operation, and 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.
상기 단계(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.
상기 패리티 중간 변수 는 다음의 수학식과 같이 연산되는 것을 특징으로 하는 LDPC 부호화 방법.
위 수학식에서, 부호화 대상이 되는 코드워드가 xi일 때, 로 정의되고, 는 변수 노드 집합을 의미하고, 는 변수 노드 집합에서 i번째 엘리먼트를 의미하며, 는 변수 노드 집합에서 i번째 엘리먼트부터 j 번째 엘리먼트를 의미하고, H는 패리티 생성 행렬을 의미하며, 이며, 는 의 i번째 길이 N 서브벡터를 의미하며,
는 체크 노드의 집합을 의미하고, 는 변수 노드의 집합을 의미하며, l은 섹션을 나타내는 인덱스이고, k는 루프를 나타내는 인덱스이며, 는 로 정의되고, Pi는 i번 째 섹션에서의 루프의 수를 의미하고, σ는 레프트 싸이클릭 쉬프트 연산을 의미하는 함수이며, 는 행렬 에 대해 레프트 싸이클릭 쉬프트 정도를 나타내는 값이고, vl,k는 의 엘리먼트 수임.
The method of claim 11, wherein
The parity intermediate variable Is computed as in the following equation.
In the above equation, when the codeword to be encoded is x i , Defined as Means a set of variable nodes, Means the i th element in the variable node set, Is the i th element to the j th element in the variable node set, H is a parity generation matrix, Is, Is I-th length of the N subvector,
Means a set of check nodes, Is the set of variable nodes, l is the index representing the section, k is the index representing the loop, Is P i is the number of loops in the i th section, σ is a function that means left cyclic shift operation, Is a matrix Is the value of the left cyclic shift relative to, where v l, k is Number of elements in.
상기 단계(b)는 l=2인 경우의 패리티 중간 변수를 이용하여 다음의 수학식과 같이 제1 패리티를 연산하는 것을 특징으로 하는 LDPC 부호화 방법.
는 에 따른 길이 의 순열 오더 벡터임.
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.
Is Along The permutation order vector of.
상기 단계(c)는 다음의 수학식과 같이 제2 패리티 비트를 연산하는 것을 특징으로 하는 LDPC 부호화 방법.
위 수학식에서, 이고, 이며, 이고, 이다. pl,k와 ql,k는 에 따른 순열 오더 벡터들이며,
는 조건부 합산 연산을 나타내는 함수이고, π는 순열(Permutation) 연산을 나타내는 함수이고, α는 축적 연산을 나타내는 함수이고, α*는 축적 연산의 최종값을 출력을 나타내는 함수이며, αB는 비트 축적 연산을 나타내는 함수임.
The method of claim 13,
In step (c), the second parity bit is calculated as in the following equation.
In the above equation, ego, Is, ego, to be. p l, k and q l, k are Permutation order vectors according to
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.
상기 조건부 합산은 다음의 수학식과 같이 수행되는 것을 특징으로 하는 LDPC 부호화 방법.
The method of claim 14,
The conditional summation is performed as in the following equation.
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)
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 |
-
2018
- 2018-11-28 KR KR1020180149579A patent/KR102067912B1/en active IP Right Grant
Patent Citations (2)
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 |