KR100523708B1 - The method for forming girth conditioned parity check matrix for ldpc codes - Google Patents

The method for forming girth conditioned parity check matrix for ldpc codes Download PDF

Info

Publication number
KR100523708B1
KR100523708B1 KR10-2003-0092247A KR20030092247A KR100523708B1 KR 100523708 B1 KR100523708 B1 KR 100523708B1 KR 20030092247 A KR20030092247 A KR 20030092247A KR 100523708 B1 KR100523708 B1 KR 100523708B1
Authority
KR
South Korea
Prior art keywords
test
parity check
variable
check matrix
node
Prior art date
Application number
KR10-2003-0092247A
Other languages
Korean (ko)
Other versions
KR20050060587A (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 KR10-2003-0092247A priority Critical patent/KR100523708B1/en
Publication of KR20050060587A publication Critical patent/KR20050060587A/en
Application granted granted Critical
Publication of KR100523708B1 publication Critical patent/KR100523708B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Abstract

본 발명은 유무선 통신의 채널 코딩(channel coding) 기술에 속한다. 특히 LDPC(low density parity check) 부호에 사용되는 거스 조건화된 패러티 검사 행렬의 형성 방법에 관한 것이다. The present invention belongs to a channel coding technique of wired and wireless communication. In particular, the present invention relates to a method for forming a Gus conditional parity check matrix used for low density parity check (LDPC) codes.

본 발명은 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적이며 디그리가 최저인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계, 및 최저 디그리를 초과하는 디그리를 갖는 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a3) 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.(A1) forming a parity check matrix composed of one random column having a lowest minimum, and each of a plurality of test columns having a lowest degree independent of a column or columns included in a parity check matrix formed up to the previous step. (A2) adding a test column included in a test matrix having a maximum average gus value among a plurality of test matrices each composed of a test column of the parity check matrix formed up to the previous step and a parity check matrix formed up to the previous step, and the lowest degree A parity formed up to a previous step of a test column included in a test matrix having a maximum average Gus value among a plurality of test matrices each composed of each test column and a parity check matrix formed up to the previous step among the plurality of test columns having a degree exceeding. Adding (a3) to the test matrix, and repeating steps (a2) and (a3). It provides a time to perform LDPC code parity check matrix for the forming method.

본 발명에 의한 패러티 검사 행렬 형성 방법은 변수 노드의 디그리가 작은 경우는 물론이고 디그리가 큰 경우에도 많은 연산을 수행하지 아니하고도 큰 평균 거스 값을 가지는 패러티 검사 행렬을 형성할 수 있다는 장점이 있다. The parity check matrix forming method according to the present invention has an advantage in that a parity check matrix having a large average gus value can be formed even if the degree of variable node is small as well as when the degree is large.

Description

LDPC 부호에 사용되는 거스 조건화된 패러티 검사 행렬의 형성 방법 {THE METHOD FOR FORMING GIRTH CONDITIONED PARITY CHECK MATRIX FOR LDPC CODES}Method for forming Gus conditional parity check matrix used for LDPC code {THE METHOD FOR FORMING GIRTH CONDITIONED PARITY CHECK MATRIX FOR LDPC CODES}

본 발명은 유무선 통신의 채널 코딩(channel coding) 기술에 속한다. 특히 LDPC(low density parity check) 부호에 사용되는 거스 조건화된 패러티 검사 행렬의 형성 방법에 관한 것이다. The present invention belongs to a channel coding technique of wired and wireless communication. In particular, the present invention relates to a method for forming a Gus conditional parity check matrix used for low density parity check (LDPC) codes.

1962년 갤러거(Gallager)에 의해 처음으로 제안된 LDPC 부호는 패러티 검사 행렬(parity check matrix)의 원소가 대부분 0으로 구성된 선형 블록 부호이다. 이에 관련된 내용은 "R. G. Gallager, Low-Density Parity-Check code, IRE Trans. Inform. Theory, vol. IT-8, pp. 21-28, Jan. 1962"에 기재되어 있다. 그러나 당시의 기술력으로는 복호기의 구현이 어려워 오랫동안 잊혀져 오다 최근 Mackay 등에 의해 재발견 되었다. 이에 관련된 내용은 "D.J.C. MacKay, Good error correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, vol. 45, pp. 399-431, Mar. 1999"에 기재되어 있다. 이러한 LDPC 부호는 합, 곱 알고리듬을 사용하여 반복 복호를 수행함으로써 우수한 오류 성능을 가진다. 특히 LDPC 부호를 GF(q) 상에서 균일하지 않게 구성할 경우, 즉 비균일 LDPC 코드의 경우 터보 부호(turbo code)보다 성능이 우수함을 확인하였다. 이에 관련된 내용은 "T.J. Richardson, M.A. Shokrollashi, and R.L. Urbanke, Design of capacity approaching irregular low-density parity-check codes, IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 619-637, Feb. 2001"에 기재되어 있다. LDPC 부호의 성능은 일반적으로 패러티 검사 행렬의 구성에 의하여 결정되어진다. The LDPC code, first proposed by Gallagher in 1962, is a linear block code consisting mostly of zeros in the parity check matrix. Related information is described in "R. G. Gallager, Low-Density Parity-Check code, IRE Trans. Inform. Theory, vol. IT-8, pp. 21-28, Jan. 1962". However, the technology at that time was difficult to implement a decoder, so it has been forgotten for a long time. Recently, it was rediscovered by Mackay. Related information is described in "D.J.C. MacKay, Good error correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, vol. 45, pp. 399-431, Mar. 1999". The LDPC code has excellent error performance by performing iterative decoding using a sum and product algorithm. In particular, when the LDPC code is not uniformly configured on the GF (q), that is, the non-uniform LDPC code, it is confirmed that the performance is superior to the turbo code (turbo code). For this, see "TJ Richardson, MA Shokrollashi, and RL Urbanke, Design of capacity approaching irregular low-density parity-check codes, IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 619-637, Feb. . 2001 ". The performance of the LDPC code is generally determined by the construction of the parity check matrix.

LDPC의 부호화는 c = aG라는 수식에 의하여 이루어질 수 있다. 수식에서 c는 부호화된 부호어(codeword)를 의미하고, a는 정보어이고, G는 패러티 생성 행렬에 해당한다. 패러티 생성 행렬 G와 패러티 검사 행렬 H는 모든 부호어 c 또는 모든 입력 벡터 a에 대하여 cHT = aGHT = O라는 수식을 만족한다. 수식에서 O은 영행렬을 의미한다. 도 1에 입력 벡터 a, 패러티 생성 행렬 G, 부호어 c, 패러티 검사 행렬 H 및 영행렬 O의 일례가 표현되어 있다.The encoding of the LDPC may be performed by the formula c = aG. In the formula, c denotes a codeword coded, a is an information word, and G corresponds to a parity generation matrix. The parity generation matrix G and the parity check matrix H satisfy the expression cH T = aGH T = O for all codewords c or all input vectors a. O in the formula means zero matrix. An example of an input vector a, a parity generation matrix G, a codeword c, a parity check matrix H and a zero matrix O is represented in FIG.

LDPC의 복호화는 도 2에 표현된 이분 그래프(bipartite graph)를 이용할 수 있다. 도 2에 표현된 이분 그래프는 도 1에 표현된 패러티 검사 행렬에 해당하는 이분 그래프이다. 이분 그래프는 체크 노드(check node, 110)와 변수 노드(120)으로 구성되며, 변수 노드(120)는 정보 노드(information node, 122)와 패러티 노드(124)로 구성된다. 체크 노드(110)의 수는 패러티 검사 행렬의 행의 수와 일치하며, 변수 노드(120)의 수는 패러티 검사 행렬의 열의 수 즉 부호어의 길이와 일치한다. 체크 노드(110)와 변수 노드(120)를 연결하는 선을 에지(edge, 130)라 한다. 에지는 패러티 행렬의 1의 위치와 일치한다. 가령 도 1의 패러티 검사 행렬 H의 제 1 행의 제 1, 4, 6 및 7 열에 1이 위치하므로, 도 2의 제 1 체크 노드는 제 1, 4, 6 및 7 변수 노드와 에지로 연결된다. LDPC의 복호화는 체크 노드(110)과 변수 노드(120) 사이에 에지 노드를 통하여 이루어지는 반복적인 믿음 전파(iterative belief propagation) 과정에 의하여 이루어진다. 이에 관련된 내용은 "D.J.C MacKay, Good error correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, vol. 45. pp. 399-431, Mar. 1999"에 기재되어 있다. The decoding of the LDPC may use a bipartite graph shown in FIG. 2. The bipartite graph shown in FIG. 2 is a bipartite graph corresponding to the parity check matrix shown in FIG. 1. The bipartite graph consists of a check node 110 and a variable node 120, and the variable node 120 is composed of an information node 122 and a parity node 124. The number of check nodes 110 coincides with the number of rows of the parity check matrix, and the number of variable nodes 120 coincides with the number of columns of the parity check matrix, i.e. the length of the codeword. The line connecting the check node 110 and the variable node 120 is called an edge 130. The edge coincides with the position of 1 in the parity matrix. For example, since 1 is located in the first, fourth, sixth, and seventh columns of the first row of the parity check matrix H of FIG. 1, the first check node of FIG. 2 is edged with the first, fourth, sixth, and seventh variable nodes. . The decoding of the LDPC is performed by an iterative belief propagation process performed through the edge node between the check node 110 and the variable node 120. Related information is described in "D.J.C MacKay, Good error correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, vol. 45. pp. 399-431, Mar. 1999".

패러티 검사 행렬의 형성 방법의 종래기술로는 리차드슨(Richardson)등이 개발한 밀도 전개(density evolution)를 사용하여 무한길이 LDPC 부호의 최적화된 디그리 분포를 찾은 후, 최적화된 디그리 분포에 따라 유한길이 패러티 검사행렬 (parity-check matrix)을 만드는 방법이 있다. 이와 관련된 내용은 "T. J. Richardson, R. L. Urbanke, The capacity of low-density-parity-check codes under message-passing decoding, IEEE Trans., Inform. Theory, vol. 47, pp. 599-618, Feb. 2001"에 기술되어 있다. 여기에서 디그리는 1개의 행 또는 1개의 열에 있는 1의 개수를 의미한다. 이 방법에 의하는 경우, 부호어의 길이가 긴 부호의 경우에는 거의 대부분의 부호가 동일한 오류정정 능력을 갖지만, 부호어의 길이가 짧은 부호의 경우에는 부호들의 오류정정 능력의 편차가 크다는 문제점이 있다. 또한, 트리 형태의 무한 길이 이분 그래프는 사이클이 존재하지 않기 때문에 믿음 전달 복호(belief propagation decoding) 알고리즘이 최적의(optimal) 해법이 되지만, 유한 길이 부호의 경우 좋은 성능을 가지기 위해서는 사이클을 가질 수 밖에 없기 때문에 믿음 전달 복호가 준최적(suboptimal)이 된다는 문제점이 있다. 특히 부호어의 길이가 짧을수록 짧은 길이의 사이클이 많이 존재하게 되어 성능의 열화가 크다는 문제점이 있다. 여기에서, 사이클의 길이는 변수 노드에서 출발하여 자신에게로 돌아올 때까지 경유하는 에지의 수를 의미한다. 일례로, 도 2에서 제 6 변수 노드는 제 3 체크 노드, 제 7 변수 노드 및 제 1 체크 노드를 경유하여 다시 제 6 변수 노드로 돌아올 수 있으므로, 4개의 에지를 경유하여 자신에게로 돌아오므로 제 6 변수 노드의 사이클 길이는 4가 된다. Conventional techniques for the formation of parity check matrices are to find the optimal degree distribution of infinite length LDPC codes using density evolution developed by Richardson et al., And then use the finite length parity according to the optimized degree distribution. There is a way to create a parity-check matrix. Related information "TJ Richardson, RL Urbanke, The capacity of low-density-parity-check codes under message-passing decoding, IEEE Trans., Inform. Theory, vol. 47, pp. 599-618, Feb. 2001" It is described in The term here means the number of 1s in one row or one column. According to this method, most codes have the same error correction capability in the case of a code having a long length, but a problem in that the error correction capability of the codes is large in the case of a code having a short length of the codeword is large. have. The infinite propagation decoding algorithm is an optimal solution because there are no cycles. However, in the case of finite-length codes, it is necessary to have cycles in order to have good performance. There is a problem that faith transfer decryption is suboptimal. In particular, the shorter the length of the codeword, the more short cycles exist, which leads to a problem in that the degradation of performance is large. Here, the length of the cycle means the number of edges that pass through from the variable node to return to itself. For example, in FIG. 2, the sixth variable node may return back to the sixth variable node via the third check node, the seventh variable node, and the first check node, and thus return to itself through the four edges. The cycle length of the sixth variable node is four.

부호어 길이가 짧은 LDPC 부호에 적합한 패러티 검사 행렬의 형성 방법의 다른 종래기술로는 무작위(random)로 생성된 많은 패러티 검사 행렬들 중에서 변수 노드에 대해 평균한 거스(girth) 값이 가장 큰 부호를 택하는 방법이 있다. 여기에서, 거스 값은 주어진 이분 그래프에서 한 변수 노드에 존재하는 사이클 길이의 최소값을 의미한다. 이에 관련된 내용을 "Y. Mao, A. H. Banihashemi, A heuristic search for good low-density parity-check codes at short block lengths, Proc. IEEE Int. Conf. Commun., vol. 1, pp. 11-14, June 2001"에 기재되어 있다. 이 방법은 부호 앙상블에서 평균거스가 큰 부호를 취하여 믿음 전달 복호의 준최적성을 개선하는 데 중점을 두었는데 부수적으로 부호의 최소거리도 증가한다는 장점이 있다. 여기에서, 부호 앙상블은 변수 노드와 체크 노드의 디그리가 각각 주어진 분포를 따르되, 노드 사이의 연결은 무작위로 행하였을 때 생성되는 여러 부호들의 집합을 의미한다. 그러나 이 방법에 의할 경우, 디그리가 큰 변수 노드가 많은 경우에는 적용이 쉽지 않다는 문제점이 있다. 즉 디그리가 높아질수록 평균 거스가 작아지고 평균 거스의 분포의 변폭도 작아지므로, 큰 평균 거스값을 갖는 부호를 얻기 위해서는 무수히 많은 부호를 생성해야만 하므로 패러티 검사 행렬을 구하는데 많은 연산을 필요로하는 문제점이 있다.Another conventional technique for forming a parity check matrix suitable for LDPC codes with short codeword lengths is that among the randomly generated parity check matrices, the code having the largest girth value for the variable node is selected. There is a way to choose. Here, the Gus value means the minimum value of the cycle length existing at one variable node in a given bipartite graph. See "Y. Mao, AH Banihashemi, A heuristic search for good low-density parity-check codes at short block lengths, Proc. IEEE Int. Conf. Commun., Vol. 1, pp. 11-14, June 2001 ". This method focuses on improving the suboptimality of faith transfer decoding by taking a code with a large average gus in the code ensemble, but it also has the advantage of increasing the minimum distance of the code. Here, the sign ensemble means a set of symbols generated when the variables of the variable node and the check node each follow a given distribution, and the connection between the nodes is performed randomly. However, this method has a problem in that it is not easy to apply when there are many variable nodes with a large degree. That is, the higher the degree, the smaller the average gauze and the smaller the variation of the distribution of the average gauze. Therefore, in order to obtain a code with a large average gauze, a large number of codes have to be generated. There is this.

부호어 길이가 짧은 LDPC 부호에 적합한 패러티 검사 행렬의 형성 방법의 또다른 종래기술로는 부호의 정지 집합(stopping set)의 크기를 키우는 방법이 있다. 이와 관련된 내용은 "T. Tian et al, Construction of irregular LDPC codes with low error floors, Proc. IEEE Int. Conf. Commun., vol. 5, pp. 3125-3129, 2003"에 기재되어 있다. 이 방법은 부호의 최소거리(minimum distance)를 크게 하고 높은 SNR 값에서 에러 마루(error floor)를 낮출 수 있다는 장점이 있다. 그러나 워터폴(waterfall) 영역에서 성능저하를 보인다는 문제점이 있다. 여기에서 에러 마루는 높은 SNR 영역에서 성능이 포화되어 SNR의 값에 무관하게 일정한 에러율을 보이는 것을 의미하고, 워터폴 영역은 상대적으로 낮은 SNR 값에서 SNR 값의 증가에 따라 에러율이 급격히 떨어지는 것을 의미한다. Another conventional technique for forming a parity check matrix suitable for an LDPC code having a short codeword length is to increase the size of a stopping set of codes. Related information is described in "T. Tian et al, Construction of irregular LDPC codes with low error floors, Proc. IEEE Int. Conf. Commun., Vol. 5, pp. 3125-3129, 2003". This method has the advantage of increasing the minimum distance of the sign and lowering the error floor at high SNR values. However, there is a problem in that performance is degraded in the waterfall area. Here, the error floor means that the performance is saturated in the high SNR region and shows a constant error rate irrespective of the value of the SNR, and the waterfall region means that the error rate drops rapidly as the SNR value increases at a relatively low SNR value. .

따라서, 본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 큰 평균 거스 값을 가지는 패러티 검사 행렬 형성 방법을 제공하는데 있다.Accordingly, an object of the present invention is to provide a method for forming a parity check matrix having a large average gus value.

본 발명의 다른 목적은 변수 노드의 디그리가 작은 경우는 물론이고 디그리가 큰 경우에도 많은 연산을 요하지 아니하는 패러티 검사 행렬 형성 방법을 제공하는데 있다.Another object of the present invention is to provide a parity check matrix forming method that does not require many operations even when the degree of variable node is small and the degree is large.

상술한 목적을 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계, 및 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a3) 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.As a technical means for achieving the above object, the first aspect of the present invention (a1) to form a parity check matrix consisting of any one column having the lowest degree, the columns included in the parity check matrix formed up to the previous step Or a parity check matrix formed up to a previous step of a test column included in a test matrix having a maximum average Gus value among a plurality of test matrices each composed of each test column and a parity check matrix formed up to the previous step among the plurality of test columns independent of the columns (A2) a step of adding to a test column included in a test matrix having a maximum average gus value among a plurality of test matrices each configured of a parity check matrix formed up to each step and each test column of the plurality of test columns; (A3) adding the parity check matrix formed to the step (a2) and (a3) It provides a parity check for the LDPC code to perform several times a matrix-forming method.

본 발명의 제 2 측면은 디그리가 2이고 독립적인 복수개의 열들로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 및 디그리가 3 이상인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계를 포함하며, 상기 (a2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.A second aspect of the present invention provides a method for forming a parity check matrix of a plurality of independent columns having a degree of 2 and a parity check matrix formed up to a previous step of each test column and a previous step of a plurality of test columns having a degree of 3 or more degrees. (A2) adding a test string included in a test matrix having a maximum average GUS value among a plurality of test matrices, respectively, to the parity check matrix formed up to the previous step, and performing the step (a2) a plurality of times A method of forming a parity check matrix for an LDPC code is provided.

본 발명의 제 3 측면은 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계, 및 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a3) 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.A third aspect of the present invention provides a method of forming a parity check matrix composed of one random column having a lowest degree of resolution, each of a plurality of test columns independent of the column or columns included in the parity check matrix formed up to the previous step. (A2) adding a test column included in a test matrix having a maximum gus value of the test sequence to a parity check matrix formed up to the previous step among a plurality of test matrices each composed of a test sequence of and a parity check matrix formed up to the previous step Adding a test column included in a test matrix having a maximum Gus value of the test sequence among the plurality of test matrices each configured of each test column and the parity check matrix formed up to the previous stage, to the parity check matrix formed up to the previous stage ( parity check for LDPC code comprising the step a3) and performing the steps (a2) and (a3) a plurality of times It provides a method for forming a column.

본 발명의 제 4 측면은 디그리가 2이고 독립적인 복수개의 열들로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 및 디그리가 3 이상인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 시험 열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계를 포함하며, 상기 (a2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.A fourth aspect of the present invention provides a parity check matrix formed of (a1) forming a parity check matrix composed of a plurality of independent columns having two degrees, and each test column and a previous step among a plurality of test columns having a degree of at least three degrees. (A2) adding a test column included in a test matrix having a maximum Gus value among the plurality of test matrices, respectively, to the parity check matrix formed up to the previous step, wherein the step (a2) is performed a plurality of times A method of forming a parity check matrix for an LDPC code is performed.

이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 그러나, 본 발명의 실시예들은 여러가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상술하는 실시예들로 인하여 한정되는 식으로 해석되어 져서는 안된다. 본 발명의 실시예들은 당업계에서 평균적 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해 제공되는 것이다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, embodiments of the present invention may be modified in various forms, and the scope of the present invention should not be construed as being limited by the embodiments described below. Embodiments of the present invention are provided to more fully explain the present invention to those skilled in the art.

도 3은 본 발명의 제 1 실시예에 따른 LDPC 부호의 (n-k) x n 패러티 검사 행렬을 형성하는 방법을 나타내는 흐름도이다. (n-k) x n 패러티 검사 행렬은 (n-k)개의 행과 n개의 열을 가진다. 여기에서, n은 부호어의 길이를 k는 정보어의 길이를 의미한다. 일반적으로 변수노드와 체크노드의 디그리 분포가 주어지면 이에 따라 형성하고자 하는 패러티 검사 행렬의 각 열의 디그리를 할당한다. 본 실시예에서는 디그리가 낮은 열을 우선적으로 패러티 노드에 대응시키고 패러티 검사행렬의 열은 디그리가 낮은 열부터 높은 열의 순서로 생성한다. 디그리가 2인 열의 수가 n-k 개 이상일 경우에는 디그리가 1 인 열을 한개 추가하고 대신 디그리가 2인 열의 수를 하나 줄여야 패러티 검사 행렬이 최대 랭크를 가질 수 있도록 할 수 있다. 3 is a flowchart illustrating a method of forming a (n-k) x n parity check matrix of an LDPC code according to a first embodiment of the present invention. The (n-k) x n parity check matrix has (n-k) rows and n columns. Here, n denotes the length of the codeword and k denotes the length of the information word. In general, given the degree distribution of the variable node and the check node, the degree of each column of the parity check matrix to be formed is allocated accordingly. In this embodiment, a low degree column corresponds to a parity node first, and a column of a parity check matrix is generated in the order of low degree to high level. If you have more than n-k columns of 2 degrees, you must add one column with 1 degree and reduce the number of columns with 2 degrees to ensure that the parity check matrix has the maximum rank.

도 3에서, 패러티 검사 행렬을 형성하는 방법은 최저 디그리를 갖고 서로 독립적인(independent) n-k 개의 열로 구성된 패러티 검사 행렬을 형성하는 제 1 단계(1000) 및 이전 단계까지 형성된 패러티 검사 행렬에 최저 디그리를 초과하는 디그리를 갖는 k개의 열을 추가하여 n 개의 열로 구성된 패러티 검사 행렬을 형성하는 제 2 단계(2000)를 포함한다. In FIG. 3, the method of forming the parity check matrix includes the lowest degree in the parity check matrix formed by the first step 1000 and the previous step of forming the parity check matrix having the lowest degree and independent nk columns. And a second step 2000 of adding k columns with excess degrees to form a parity check matrix consisting of n columns.

제 1 단계(1000)에서, 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계(1100)를 수행한다. 그 후, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계(1200)를 (n-k-1)회 수행한다. 여기에서 행렬의 평균 거스 값은 행렬에 상응하는 이분 그래프의 모든 변수 노드에서 계산된 거스 값의 평균을 의미한다. 단 디그리가 2 이하인 열들로만 구성된 패러티 검사 행렬의 경우 선형적 독립성에 의해 그들간의 사이클이 생성되지 않으므로 거스 조건화 과정을 수행할 필요성이 없다. In a first step 1000, a step 1100 of forming a parity check matrix composed of any one column having the lowest degree is performed. Thereafter, a test having a maximum average gus value among a plurality of test matrices each consisting of a test column independent of the columns or columns included in the parity check matrix formed up to the previous step and a parity check matrix formed up to the previous step The step 1200 of adding the test column included in the matrix to the parity check matrix formed up to the previous step is performed (nk-1) times. Here, the mean Gus value of the matrix means the average of Gus values calculated at all variable nodes of the bipartite graph corresponding to the matrix. However, in the case of a parity check matrix composed of only columns whose degree is less than 2, there is no need to perform Gus conditionalization process because the cycle between them is not generated by linear independence.

제 2 단계(2000)에서, 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계(2100)를 k회 수행한다. In a second step 2000, a test column included in a test matrix having a maximum average Gus value among the plurality of test matrices, each of which consists of each test column and a parity check matrix formed up to the previous step, is formed up to the previous step. The step 2100 of adding to the parity check matrix is performed k times.

이와 같은 방법에 의하면, 먼저 제 1 단계(1000)에서 (n-k) x (n-k) 패러티 검사 행렬이 형성된다. 그 후 제 2 단계에서 이 행렬에 평균 거스 값을 최대로 하는 열을 하나씩 추가하여 (n-k) x n 패러티 검사 행렬을 형성하게 된다. 이와 같은 방법에 의하여 형성된 패러티 검사 행렬은 종래 기술인 무작위로 생성된 많은 패러티 검사 행렬들 중에서 변수 노드에 대해 평균한 거스 값이 가장 큰 부호를 택하는 방법에 비하여 적은 연산량으로 성능이 우수한 패러티 검사 행렬을 얻을 수 있다는 장점이 있다. According to this method, the (n-k) x (n-k) parity check matrix is first formed in the first step 1000. After that, in the second step, the (n-k) x n parity check matrix is formed by adding one column to the matrix with the maximum average Gus value. The parity check matrix formed by this method has a higher parity check matrix with lower computational performance than the method of selecting a sign with the largest Gus value averaged over a variable node among many randomly generated parity check matrices. This has the advantage of being available.

도 4는 도 3의 도면 부호 1200에 해당하는 단계의 일례를 상세히 설명하기 위한 도면이다. 4 is a view for explaining an example of the step corresponding to the reference numeral 1200 of FIG.

도 4에서, 상기 단계는 상기 단계는 변수인 MAX_GIRTH와 가변 벡터인 MAX_ROW를 초기화 하는 제 1 단계(1210), 디그리가 최저인 복수개의 시험 열 중에서 하나를 선택하는 제 2 단계(1220), 이전 단계까지 형성된 패러티 검사 행렬과 상기 시험 열로 구성된 시험 행렬을 가우시안 소거법을 사용하여 하삼각 형태로 변환하는 제 3 단계(1230), 변환된 행렬의 최상위 열이 영 벡터인 경우에는 상기 제 2 단계로 넘어가고, 그렇지 아니하는 경우에는 제 5 단계로 넘어가는 제 4 단계(1240), 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬의 각각의 변수노드에 대하여 거스를 구하고 이를 평균하여 평균 거스를 구하는 제 5 단계(1250), 상기 MAX_GIRTH와 상기 시험 행렬의 평균 거스를 비교하여 평균 거스가 큰 경우에는 평균 거스의 값을 상기 MAX_GIRTH에 대입하고, 시험 열을 상기 MAX_ROW에 대입하는 제 6 단계(1260), 제 2 단계(1220) 내지 제 6 단계(1260) 중 어느 한 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 제 8 단계(1280)으로 넘어가고, 소정의 횟부보다 적게 수행되었으면 제 2 단계(1220)으로 넘어가는 제 7 단계(1270) 및 이전 단계까지 형성된 패러티 검사 행렬에 상기 MAX_ROW를 추가하여 패러티 검사 행렬을 형성하는 제 8 단계(1280)을 포함한다. 만일 제 2 단계(1220)가 여러번 수행되는 경우에, 제 2 단계에서 선택되는 시험 열은 이전에 선택된 시험 열과 달라야 한다. In FIG. 4, the step includes a first step 1210 of initializing a variable MAX_GIRTH and a variable vector MAX_ROW, a second step 1220 of selecting one of a plurality of test columns having a lowest degree, and a previous step. A third step 1230 of converting the parity check matrix formed by the step and the test column into the lower triangular form using Gaussian elimination is performed. If the most significant column of the converted matrix is a zero vector, the process proceeds to the second step. If not, the fourth step (1240) proceeds to the fifth step, and the fifth step of obtaining a Gus for each variable node of the test matrix consisting of the test column and the parity check matrix previously formed and averaged to find the average Gus (1250), when the average gauss are compared with the average gauss of the MAX_GIRTH and the test matrix, the value of the average gauss is substituted into the MAX_GIRTH. Then, it is determined whether any one of the sixth step 1260, the second step 1220 to the sixth step 1260 by substituting the test column into the MAX_ROW is performed a predetermined number of times, and performs the predetermined number of times. If the process proceeds to the eighth step 1280, and if less than the predetermined number of times, the parity check matrix is added to the parity check matrix formed by the seventh step 1270 and the previous step, which proceeds to the second step 1220. Eighth step 1280 to form a. If the second step 1220 is performed multiple times, the test sequence selected in the second stage should be different from the previously selected test sequence.

제 3 단계(1230)에서 시혐 행렬을 가우시안 소거법을 사용하여 하삼각 형태로 변환하면, 상기 시험 행렬에 포함된 모든 열들이 독립적인 경우에는 최상위 열이 영 벡터가 아닐 것이고, 독립적이지 아니한 경우에는 최상위 열이 영 벡터가 될 것이다. 따라서, 제 4 단계(1240)에서 시험 행렬이 독립적인지 여부를 판단하여 독립적이지 아니하면 제 2 단계(1220)부터 다시 수행하고, 독립적이면 거스 조건화 과정인 제 5 단계(1250) 내지 제 7 단계(1270)를 수행하는 방식으로 최대 랭크를 갖는 패러티 검사 행렬을 형성한다. In the third step 1230, when the test matrix is converted into a lower triangular form using Gaussian elimination, if the columns included in the test matrix are independent, the most significant column will not be a zero vector, and if not independent, The column will be a zero vector. Therefore, in the fourth step 1240, it is determined whether the test matrix is independent, and if not independent, the process is performed again from the second step 1220, and if independent, the fifth step 1250 to the seventh step (GUS conditionalization process). 1270 to form a parity check matrix having a maximum rank.

만일 최저의 디그리가 2인 경우에는 거스 조건화 과정을 필요로 하지 않으므로, 도 3의 도면 부호 1200에 해당하는 단계는 다음과 같이 구성될 수도 있다. 디그리가 2인 복수개의 시험 열 중에서 하나를 선택하는 제 1 단계, 이전 단계까지 형성된 패러티 검사 행렬과 상기 시험 열로 구성된 시험 행렬을 가우시안 소거법을 사용하여 하삼각 형태로 변환하는 제 2 단계, 변환된 행렬의 최상위 열이 영 벡터인 경우에는 상기 제 1 단계로 넘어가고, 그렇지 아니하는 경우에는 제 4 단계로 넘어가는 제 3 단계, 및 이전 단계까지 형성된 패러티 검사 행렬에 상기 시험 열을 추가하여 패러티 검사 행렬을 형성하는 제 4 단계를 포함한다. If the minimum degree is 2, since the Gus conditioning process is not required, the step corresponding to 1200 of FIG. 3 may be configured as follows. A first step of selecting one of a plurality of test columns having a degree of 2, a second step of converting a test matrix formed from a parity check matrix formed up to the previous step and the test column into a lower triangle shape using a Gaussian elimination method, and a transformed matrix If the most significant column of is a zero vector, the process proceeds to the first step, otherwise the process proceeds to the fourth step, and the parity check matrix is added to the parity check matrix formed up to the previous step. The fourth step of forming a.

도 5는 도 3의 도면 부호 2100에 해당하는 단계의 일례를 상세히 설명하기 위한 도면이다. 5 is a view for explaining an example of the step corresponding to 2100 in FIG.

도 5에서, 상기 단계는 변수인 MAX_GIRTH와 가변 벡터인 MAX_ROW를 초기화 하는 제 1 단계(2110), 복수개의 시험 열 중에서 하나를 선택하는 제 2 단계(2120), 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬의 각각의 변수노드에 대하여 거스를 구하고 이를 평균하여 평균 거스를 구하는 제 3 단계(2130), 상기 MAX_GIRTH와 상기 시험 행렬의 평균 거스를 비교하여 평균 거스가 큰 경우에는 평균 거스의 값을 상기 MAX_GIRTH에 대입하고, 시험 열을 상기 MAX_ROW에 대입하는 제 4 단계(2140), 제 2 단계(2110) 내지 제 4 단계(2140)가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 제 6 단계(2160)으로 넘어가고, 소정의 횟부보다 적게 수행되었으면 제 2 단계(2120)으로 넘어가는 제 5 단계(2150) 및 이전 단계까지 형성된 패러티 검사 행렬에 상기 MAX_ROW를 추가하여 패러티 검사 행렬을 형성하는 제 6 단계(2160)을 포함한다. 제 1 단계(2110)에서 MAX_GIRTH를 0으로 MAX_ROW를 0 벡터로 설정할 수 있다. 만일 제 2 단계(2120)가 여러번 수행되는 경우에, 제 2 단계에서 선택되는 시험 열은 이전에 선택된 시험 열과 달라야 한다. 제 4 단계(2140)에서 상기 MAX_GIRTH와 상기 시험 행렬의 평균 거스를 비교하여 평균 거스가 크거나 같은 경우에 평균 거스의 값을 상기 MAX_GIRTH에 대입하고, 시험 열을 상기 MAX_ROW에 대입할 수도 있다.In FIG. 5, the step includes a first step 2110 of initializing a variable MAX_GIRTH and a variable vector MAX_ROW, a second step 2120 of selecting one of a plurality of test columns, and a parity check matrix previously formed. A third step (2130) of obtaining a Gus for each variable node of the test matrix consisting of the average and the average Gus of the test matrix, compares the MAX_GIRTH and the average Gus of the test matrix, if the average Gus is large, the value of the average Gus the MAX_GIRTH The second step (2140), the second step (2110) to the fourth step (2140) for assigning to the MAX_ROW and the test column is substituted a predetermined number of times to determine whether The parity check formed by the fifth step 2150 and the previous step, which proceeds to the sixth step 2160 and proceeds to the second step 2120 if less than a predetermined number of times is performed. In addition to the MAX_ROW the column includes a sixth step 2160 of forming a parity check matrix. In a first step 2110, MAX_GIRTH may be set to 0 and MAX_ROW may be set to 0 vectors. If the second step 2120 is performed multiple times, the test sequence selected in the second stage should be different from the previously selected test sequence. In the fourth step 2140, the average gauze of the MAX_GIRTH and the test matrix may be compared to substitute the value of the average gauze into the MAX_GIRTH when the average gauze is greater than or equal to, and a test column may be substituted into the MAX_ROW.

이와 같이 제 2 단계(2120) 내지 제 4 단계(2140)를 반복적으로 수행하여 가장 큰 평균 거스 값을 가지는 시험 열을 구하고, 제 6 단계(2160)에서 이 시험열을 이전 단계까지 형성된 패러티 검사 행렬에 추가한다. As described above, the second to second steps 2120 to 2140 are repeatedly performed to obtain a test sequence having the largest average gus value. In the sixth step 2160, the parity check matrix formed to the previous step is obtained. Add to

도 6은 변수 노드에 대하여 거스를 구하는 방법을 일례를 상세히 설명하기 위한 도면이다. 이 방법은 메시지 전달 알고리즘(message passing algorithm)을 변형한 방법이다. 거스 계산이 행하여 지는 변수노드를 소스 변수 노드라 부르기로 하자.6 is a diagram for explaining an example of a method for obtaining Gus with respect to a variable node. This method is a variation of the message passing algorithm. Let's call the variable node where the Gus calculation is performed as the source variable node.

도 6에서, 거스를 구하는 방법은 소스 변수 노드와 연결된 에지를 통하여 체크 노드로 제 1 상수를 전달하고, 소스 변수 노드와 연결되지 아니한 에지를 통하여 체크 노드로 제 2 상수를 전달하는 제 1 단계(2131), 제 1 상수를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 변수 노드로 제 1 상수를 전달하고 제 1 상수를 전달한 에지를 통하여 변수 노드로 제 2 상수를 전달하며, 제 1 상수를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 1 상수를 전달하며, 제 2 상수만을 받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 2 상수를 전달하는 제 2 단계(2132), 제 1 상수를 1 개 전달 받은 변수 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 체크 노드로 제 1 상수를 전달하고 제 1 상수를 전달한 에지를 통하여 체크 노드로 제 2 상수를 전달하며, 제 1 상수를 2 개 이상 전달받은 변수 노드는 자신과 연결된 모든 에지를 통하여 체크 노드로 제 1 상수를 전달하며, 제 2 상수만을 받은 변수 노드는 자신과 연결된 모든 에지를 통하여 체크 노드로 제 2 상수를 전달하는 제 3 단계(2133), 제 1 상수를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 변수 노드로 제 1 상수를 전달하고 제 1 상수를 전달한 에지를 통하여 변수 노드로 제 2 상수를 전달하며, 제 1 상수를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 1 상수를 전달하며, 제 2 상수만을 받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 2 상수를 전달하는 제 4 단계(2134), 상기 소스 노드가 적어도 하나의 제 1 상수를 전달 받은 경우에는 제 6 단계(2136)로 넘어가고 제 2 상수만을 전달받은 경우에는 제 3 단계(2133)로 넘어가는 제 5 단계(2135) 및 지금까지 경유한 에지 수를 거스 값으로 할당하는 제 6 단계(3136)를 포함한다. 제 1 상수 및 제 2 상수는 일례로 각각 1 및 0일 수 있다. 또한 제 1 상수 및 제 2 상수는 일례로 a 및 b와 같은 문자일 수 있다. In FIG. 6, the method for obtaining Gus includes a first step 2131 of delivering a first constant to a check node through an edge connected to a source variable node and a second constant to a check node through an edge not connected to a source variable node. ), The check node that received one first constant transfers the first constant to the variable node through the edge that is not connected with the first constant and the second to the variable node through the edge that passes the first constant. A check node that delivers a constant, and the check node that receives two or more first constants, passes the first constant to the variable node through all the edges connected to it, and a check node that receives only the second constant has a variable through all the edges connected to it. In a second step 2132 of transmitting the second constant to the node, the variable node that has received the first constant does not transfer the first constant among the edges connected to it. Passing the first constant to the check node through the edge and passing the second constant to the check node through the edge that passed the first constant, the variable node that received two or more first constants checks through all edges connected to it A third node (2133) which delivers the first constant to the node, and the variable node that receives only the second constant transfers the second constant to the check node through all edges connected to it, the check node receiving the first constant Transfers the first constant to the variable node through the edge that does not pass the first constant among the edges connected to it, and transfers the second constant to the variable node through the edge that passed the first constant, and transmits two or more first constants. The check node received passes the first constant to the variable node through all edges connected to it, and the check node that receives only the second constant passes through all edges connected to it. A fourth step 2134 of transferring a second constant to a variable node; if the source node receives at least one first constant, the process proceeds to a sixth step 2136 and a third of only a second constant; A fifth step 2135 proceeds to step 2133 and a sixth step 3136 of assigning the number of edges passed so far as a Gus value. The first constant and the second constant may be, for example, 1 and 0, respectively. In addition, the first constant and the second constant may be, for example, a letter such as a and b.

이와 같은 방법으로 소스 변수 노드로부터 출발한 제 1 상수가 에지를 경유하여 소스 변수 노드로 다시 돌아올 때까지 경유한 최소 에지의 수 즉 거스를 적은 연산량으로 구할 수 있다. In this manner, the minimum number of edges, or gus, passing through the first constant starting from the source variable node back to the source variable node via the edge can be obtained with a small amount of calculation.

또한, 상기 거스를 구하는 방법은 다음과 같은 방식으로 구하여 질 수도 있다. 먼저 소스 변수 노드와 연결된 에지를 통하여 체크 노드로 제 1 상수를 전달하는 제 1 단계, 제 1 상수를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 변수 노드로 제 1 상수를 전달하고, 제 1 상수를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 1 상수를 전달하는 제 2 단계, 제 1 상수를 1 개 전달 받은 변수 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 체크 노드로 제 1 상수를 전달하고, 제 1 상수를 2 개 이상 전달받은 변수 노드는 자신과 연결된 모든 에지를 통하여 체크 노드로 제 1 상수를 전달하는 제 3 단계, 제 1 상수를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 변수 노드로 제 1 상수를 전달하고, 제 1 상수를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 1 상수를 전달하는 제 4 단계, 상기 소스 노드가 적어도 하나의 제 1 상수를 전달 받은 경우에는 제 6 단계로 넘어가고 그렇지 아니하는 경우에는 제 3 단계로 넘어가는 제 5 단계 및 지금까지 경유한 에지 수를 거스 값으로 할당하는 제 6 단계를 포함한다.In addition, the method for obtaining Gus may be obtained in the following manner. First, a first step of delivering a first constant to a check node through an edge connected to a source variable node, and a check node that has received one first constant is a variable node through an edge not connected to the first constant among the edges connected to it. A check node that has passed a first constant and has received two or more first constants has a second step of delivering a first constant to a variable node through all edges connected to it, and a variable node that has received one first constant. The first node transmits the first constant to the check node through the edge that does not transmit the first constant among the edges connected to it, and the variable node that receives two or more first constants passes the first constant to the check node through all the edges connected to the first node. The third step of passing a constant, the check node that receives one first constant has a variable through the edge that has not passed the first constant among the edges connected to it. A fourth step of delivering the first constant to the node, and the check node having received the first two or more constants, passing the first constant to the variable node through all edges connected to the node, the source node being at least one first If the constant is passed, the method proceeds to the sixth step, otherwise it passes to the third step and the sixth step of assigning the number of edges passed through so far as a Gus value.

도 7은 본 발명의 제 2 실시예에 따른 LDPC 부호의 (n-k) x n 패러티 검사 행렬을 형성하는 방법을 나타내는 흐름도이다. 제 2 실시예는 제 1 실시예와 달리 시험 열 중에서 평균 거스 값이 최고인 열을 추가하는 방식이 아니라, 시험 열의 거스 값 즉 시험 열에 상응하는 변수 노드의 거스 값이 최고인 열을 추가하는 방식을 사용한다는 특징이 있다. 7 is a flowchart illustrating a method of forming a (n-k) x n parity check matrix of an LDPC code according to a second embodiment of the present invention. Unlike the first embodiment, the second embodiment does not add a column having the highest average gus value among the test columns, but uses a method of adding a gus value of the test column, that is, a column having the highest Gus value of the variable node corresponding to the test column. It is characterized by.

도 7에서, 패러티 검사 행렬을 형성하는 방법은 최저 디그리를 갖고 서로 독립적인(independent) n-k 개의 열로 구성된 패러티 검사 행렬을 형성하는 제 1 단계(3000) 및 이전 단계까지 형성된 패러티 검사 행렬에 최저 디그리를 초과하는 디그리를 갖는 k개의 열을 추가하여 n 개의 열로 구성된 패러티 검사 행렬을 형성하는 제 2 단계(4000)를 포함한다. In FIG. 7, the method for forming the parity check matrix includes the lowest degree in the parity check matrix formed by the first step 3000 and the previous step of forming a parity check matrix composed of nk columns independent of each other. And a second step 4000 of adding k columns with excess degrees to form a parity check matrix consisting of n columns.

제 1 단계(3000)에서, 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계(3100)를 수행한다. 그 후, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계(3200)를 (n-k-1)회 수행한다. 단 디그리가 2 이하인 열들로만 구성된 패러티 검사 행렬의 경우 선형적 독립성에 의해 그들간의 사이클이 생성되지 않으므로 거스 조건화 과정을 수행할 필요성이 없다. In a first step 3000, a step 3100 of forming a parity check matrix composed of any one column having the lowest degree is performed. Then, the Gus value of the test sequence is the maximum among the plurality of test matrices each composed of each test column and the parity check matrix formed up to the previous stage and each test column independent of the column or columns included in the parity check matrix formed up to the previous stage. The step 3200 of adding the test string included in the test matrix to the parity check matrix formed up to the previous step is performed (nk-1) times. However, in the case of a parity check matrix composed of only columns whose degree is less than 2, there is no need to perform Gus conditionalization process because the cycle between them is not generated by linear independence.

제 2 단계(4000)에서, 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 시험 열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계(4100)를 k회 수행한다. In a second step 4000, a test column included in a test matrix having a maximum Gus value of a test column is previously selected from among a plurality of test matrices each composed of a parity check matrix formed up to each test column and a previous step among the plurality of test columns. Adding 4100 to the formed parity check matrix is performed k times.

이와 같이 패러티 검사 행렬을 형성하는 경우에는 약간의 성능 열화가 생기지만 패러티 검사 행렬의 형성에 걸리는 시간을 대폭 줄일 수 있다는 장점이 있다. In the case of forming the parity check matrix as described above, a slight performance deterioration occurs, but the time required for the formation of the parity check matrix can be greatly reduced.

도 4 및 도 6에 설명된 각 단계들은 당해 기술이 속한 분야에서 통상의 지식을 가진 자라면, 상기한 설명에 의하여 본 발명의 제 2 실시예에 그대로 또는 약간의 변형을 가하여 적용할 수 있다는 것을 쉽게 알 수 있을 것이므로, 본 발명의 제 2 실시예에 의한 패러티 검사 행렬의 형성 방법의 세부 단계들에 대한 설명은 설명의 편의상 생략한다.Each of the steps described in FIG. 4 and FIG. 6 can be applied to the second embodiment of the present invention as it is or by applying a slight modification to those skilled in the art. As will be readily understood, descriptions of the detailed steps of the method for forming the parity check matrix according to the second embodiment of the present invention will be omitted for convenience of description.

당해 기술이 속한 분야에서 통상의 지식을 가진 자는 본 발명에 의한 패러티 검사 행렬의 형성 방법의 각 단계가 기술적 사상의 변경 없이 컴퓨터, DSP(digital signal process) 등의 연산 장치에 의하여 수행될 수 있으며, 또한 본 발명에 의한 패러티 검사 행렬의 형성 방법의 각 단계가 기술적 사상의 변경 없이 컴퓨터 프로그램으로 수행될 수 있음을 알 수 있을 것이다. Those skilled in the art can perform each step of the parity check matrix formation method according to the present invention by a computer, a digital signal process (DSP), etc. without changing the technical idea, In addition, it will be appreciated that each step of the method for forming a parity check matrix according to the present invention can be performed by a computer program without changing the technical idea.

본 발명에 의한 패러티 검사 행렬 형성 방법은 큰 평균 거스 값을 가지는 패러티 검사 행렬을 형성할 수 있다는 장점이 있다. The parity check matrix forming method according to the present invention has an advantage of forming a parity check matrix having a large average Gus value.

또한, 본 발명에 의한 패러티 검사 행렬 형성 방법은 변수 노드의 디그리가 작은 경우는 물론이고 디그리가 큰 경우에도 많은 연산을 수행하지 아니하고도 패러티 검사 행렬을 형성할 수 있다는 장점이 있다. In addition, the parity check matrix forming method according to the present invention has an advantage in that the parity check matrix can be formed without performing many operations even when the degree of variable node is small and the degree is large.

도 1은 LDPC 부호 및 복호에 사용되는 입력 벡터 a, 패러티 생성 행렬 G, 부호어 c, 패러티 검사 행렬 H 및 영행렬 O의 일례를 나타내는 도면이다. 1 is a diagram illustrating an example of an input vector a, a parity generation matrix G, a codeword c, a parity check matrix H, and a zero matrix O used for LDPC code and decoding.

도 2는 도 1에 표현된 패러티 검사 행렬에 상응하는 이분 그래프를 나타내는 도면이다.FIG. 2 is a diagram illustrating a bipartite graph corresponding to the parity check matrix represented in FIG. 1.

도 3 내지 6은 본 발명의 제 1 실시예에 따른 LDPC 부호의 (n-k) x n 패러티 검사 행렬을 형성하는 방법을 나타내는 흐름도이다.3 to 6 are flowcharts illustrating a method of forming a (n-k) x n parity check matrix of an LDPC code according to a first embodiment of the present invention.

도 7은 본 발명의 제 2 실시예에 따른 LDPC 부호의 (n-k) x n 패러티 검사 행렬을 형성하는 방법을 나타내는 흐름도이다.7 is a flowchart illustrating a method of forming a (n-k) x n parity check matrix of an LDPC code according to a second embodiment of the present invention.

Claims (12)

(a1) 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계;(a1) forming a parity check matrix composed of any one column having a lowest degree of degree; (a2) 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계; 및 (a2) A test having a maximum average Gus value among a plurality of test matrices each composed of a test column and a parity check matrix formed up to the previous step, each of a plurality of test columns independent of the columns or columns included in the parity check matrix formed up to the previous step. Adding a test column included in the matrix to the parity check matrix formed up to the previous step; And (a3) 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(a3) Among the plurality of test matrices each composed of each test column and the parity check matrix formed up to the previous step, the test column included in the test matrix having the largest average Gus value is added to the parity check matrix formed up to the previous step. And adding (a2) and (a3) a plurality of times. 제 1 항에 있어서,The method of claim 1, 상기 (a2) 단계는 Step (a2) is (b1) 변수, 가변 벡터를 초기화 하는 단계;(b1) initializing the variable and variable vectors; (b2) 디그리가 최저인 복수개의 시험 열들 중에서 하나의 시험열을 선택하는 단계;(b2) selecting one test sequence from among a plurality of test columns having a lowest degree; (b3) 이전 단계까지 형성된 패러티 검사 행렬과 상기 시험 열로 구성된 시험 행렬을 가우시안 소거법을 사용하여 하삼각 형태로 변환하는 단계;(b3) converting the parity check matrix formed by the previous step and the test matrix composed of the test columns into a lower triangular shape using Gaussian elimination; (b4), 변환된 행렬의 최상위 열이 영 벡터인 경우에는 상기 (b2) 단계로 넘어가고, 그렇지 아니하는 경우에는 (b5) 단계로 넘어가는 단계;(b4), if the most significant column of the transformed matrix is a zero vector, proceed to step (b2); otherwise, proceed to step (b5); (b5) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬의 각각의 변수노드에 대하여 거스를 구하고 이를 평균하여 평균 거스를 구하는 단계;(b5) obtaining Gus for each variable node of the test matrix composed of the test sequence and the parity check matrix previously formed and calculating the average Gus; (b6) 상기 변수와 상기 시험 행렬의 평균 거스를 비교하여 평균 거스가 큰 경우에는 평균 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;(b6) comparing the average gus of the variable with the test matrix and substituting the value of the average gus into the variable if the average gus is large and assigning a test string to the variable vector; (b7) (b2) 단계 내지 (b6) 단계 중 어느 한 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (b8) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (b2) 단계로 넘어가는 단계;(b7) If any of the steps (b2) to (b6) has been performed a predetermined number of times, if it has been performed a predetermined number of times, the process proceeds to (b8) and if less than a predetermined number of times is performed (b2). Go to step); (b8) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(b8) forming a parity check matrix by adding the variable vector to the parity check matrix formed up to the previous step. 제 1 항에 있어서,The method of claim 1, 상기 (a3) 단계는 Step (a3) is (c1) 변수, 가변 벡터를 초기화 하는 단계;(c1) initializing the variable and variable vector; (c2) 최저 디그리를 초과하는 디그리를 갖는 복수개의 시험 열들 중에서 하나를 선택하는 단계;(c2) selecting one of a plurality of test rows having a degree that exceeds the lowest degree; (c3) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬의 각각의 변수노드에 대하여 거스를 구하고 이를 평균하여 평균 거스를 구하는 단계;(c3) obtaining Gus for each variable node of the test matrix composed of the test sequence and the parity check matrix previously formed and calculating the average Gus; (c4) 상기 변수와 상기 시험 행렬의 평균 거스를 비교하여 평균 거스가 큰 경우 또는 크거나 같은 경우에는 평균 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;(c4) comparing the mean gauss of the variable with the test matrix and assigning a value of the mean gaus to the variable when the average gauze is large or greater than or equal to the variable, and assigning a test string to the variable vector; (c5) (c2) 단계 내지 (c4) 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (c6) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (c2) 단계로 넘어가는 단계; 및(c5) If steps (c2) to (c4) have been performed a predetermined number of times, the process proceeds to step (c6), and if less than a predetermined number of times, the process proceeds to step (c2). The step; And (c6) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(c6) forming a parity check matrix by adding the variable vector to the parity check matrix formed up to the previous step. 제 3 항에 있어서,The method of claim 3, wherein 상기 변수 노드에 대하여 거스를 구하는 방법은The method for obtaining Gus for the variable node is (d1) 거스를 구하려는 변수 노드인 소스 변수 노드와 연결된 에지를 통하여 체크 노드로 제 1 상수를 전달하고, 상기 소스 변수 노드와 연결되지 아니한 에지를 통하여 체크 노드로 제 2 상수를 전달하는 단계; (d1) delivering a first constant to a check node through an edge connected to a source variable node, which is a variable node to obtain gus, and a second constant to a check node through an edge not connected to the source variable node; (d2) 제 1 상수를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 변수 노드로 제 1 상수를 전달하고 제 1 상수를 전달한 에지를 통하여 변수 노드로 제 2 상수를 전달하며, 제 1 상수를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 1 상수를 전달하며, 제 2 상수만을 받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 2 상수를 전달하는 단계; (d2) The check node that has received one first constant transmits the first constant to the variable node through the edge that is not connected with the first constant and sends the first constant to the variable node through the edge that passes the first constant. A check node that passes two constants, and the check node that receives two or more first constants, passes the first constant to the variable node through all the edges connected to it, and a check node that receives only the second constant through all the edges connected to it. Passing a second constant to the variable node; (d3) 제 1 상수를 1 개 전달 받은 변수 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 체크 노드로 제 1 상수를 전달하고 제 1 상수를 전달한 에지를 통하여 체크 노드로 제 2 상수를 전달하며, 제 1 상수를 2 개 이상 전달받은 변수 노드는 자신과 연결된 모든 에지를 통하여 체크 노드로 제 1 상수를 전달하며, 제 2 상수만을 전달받은 변수 노드는 자신과 연결된 모든 에지를 통하여 체크 노드로 제 2 상수를 전달하는 단계; (d3) The variable node that has received one first constant transmits the first constant to the check node through the edge that is not connected with the first constant and transmits the first constant to the check node through the edge that passes the first constant. Passing two constants, the variable node that receives two or more first constants passes the first constant to the check node through all the edges connected to it, and the variable node that receives only the second constant receives all the edges connected to it. Passing a second constant to the check node through; (d4) 제 1 상수를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 변수 노드로 제 1 상수를 전달하고 제 1 상수를 전달한 에지를 통하여 변수 노드로 제 2 상수를 전달하며, 제 1 상수를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 1 상수를 전달하며, 제 2 상수만을 받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 2 상수를 전달하는 단계; (d4) The check node that has received one first constant transmits the first constant to the variable node through the edge that is not connected with the first constant and transmits the first constant to the variable node through the edge that passes the first constant. A check node that passes two constants, and the check node that receives two or more first constants, passes the first constant to the variable node through all the edges connected to it, and a check node that receives only the second constant through all the edges connected to it. Passing a second constant to the variable node; (d5) 상기 소스 변수 노드가 적어도 하나의 제 1 상수를 전달 받은 경우에는 (d6) 단계로 넘어가고 제 2 상수만을 전달받은 경우에는 (d3) 단계로 넘어가는 단계; 및 (d5) proceeding to step (d6) when the source variable node receives at least one first constant, and proceeding to step (d3) when only the second constant is received; And (d6) 지금까지 경유한 에지 수를 상기 변수 노드의 거스 값으로 할당하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.and (d6) assigning the number of edges passed through so far as the Gus value of the variable node. 제 3 항에 있어서,The method of claim 3, wherein 상기 변수 노드에 대하여 거스를 구하는 방법은The method for obtaining Gus for the variable node is (e1) 거스를 구하려는 변수 노드인 소스 변수 노드와 연결된 에지를 통하여 체크 노드로 소정의 정보를 전달하는 단계; (e1) transmitting predetermined information to the check node through an edge connected to a source variable node which is a variable node for which Gus is to be obtained; (e2) 소정의 정보를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 소정의 정보를 전달하지 아니한 에지를 통하여 변수 노드로 소정의 정보를 전달하고, 소정의 정보를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 소정의 정보를 전달하는 단계; (e2) A check node that has received one piece of predetermined information transmits predetermined information to a variable node through an edge that has not received the predetermined information among the edges connected to the check node, and receives two or more pieces of predetermined information. Transmitting predetermined information to the variable node through all edges connected to the node; (e3) 소정의 정보를 1 개 전달 받은 변수 노드는 자신과 연결된 에지 중에서 소정의 정보를 전달하지 아니한 에지를 통하여 체크 노드로 소정의 정보를 전달하고, 소정의 정보를 2 개 이상 전달받은 변수 노드는 자신과 연결된 모든 에지를 통하여 체크 노드로 소정의 정보를 전달하는 단계; (e3) The variable node that has received one piece of predetermined information transmits the predetermined information to the check node through an edge that does not transmit the predetermined information among the edges connected with the variable node, and receives the variable node that has received two or more pieces of predetermined information. Transmitting predetermined information to the check node through all edges connected to the check node; (e4) 소정의 정보를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 소정의 정보를 전달하지 아니한 에지를 통하여 변수 노드로 소정의 정보를 전달하고, 소정의 정보를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 소정의 정보를 전달하는 단계; (e4) A check node that has received one piece of predetermined information transmits predetermined information to a variable node through an edge that has not delivered the predetermined information among the edges connected to the check node, and receives two or more pieces of predetermined information. Transmitting predetermined information to the variable node through all edges connected to the node; (e5) 상기 소스 변수 노드가 적어도 하나의 소정의 정보를 전달 받은 경우에는 (e6) 단계로 넘어가고 그러하지 아니한 경우에는 (e3) 단계로 넘어가는 단계; 및 (e5) proceeding to step (e6) if the source variable node has received at least one predetermined information; otherwise, proceeding to step (e3); And (e6) 지금까지 경유한 에지 수를 상기 변수 노드의 거스 값으로 할당하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(e6) Parity check matrix formation method for LDPC code, comprising the step of assigning the number of edges passed so far as the Gus value of the variable node. (a1) 디그리가 2이고 독립적인 복수개의 열들로 구성된 패러티 검사 행렬을 형성하는 단계; 및(a1) forming a parity check matrix composed of a plurality of columns whose degrees are two and independent; And (a2) 디그리가 3 이상인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계를 포함하며, 상기 (a2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(a2) Among the plurality of test matrices each having a degree of greater than or equal to 3 and a parity check matrix formed up to the previous step, the test column included in the test matrix having the largest average Gus value is formed up to the previous step. And adding the parity check matrix to the parity check matrix, and performing step (a2) a plurality of times. 제 6 항에 있어서,The method of claim 6, 상기 (a1) 단계는Step (a1) is (b1) 디그리가 2인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계; 및(b1) forming a parity check matrix composed of any one column having a degree of two; And (b2) 이전 단계까지 형성된 패러티 검사 행렬에 이 행렬에 포함된 열 또는 열들과 독립적이며 디그리가 2인 열을 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하되 상기 (b2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(b2) forming a parity check matrix by adding a column having a degree of 2 independent of the column or columns included in the matrix to the parity check matrix formed up to the previous step, and performing step (b2) a plurality of times Parity check matrix formation method for LDPC codes. 제 6 항에 있어서,The method of claim 6, 상기 (a2) 단계는 Step (a2) is (c1) 상기 단계는 변수, 가변 벡터를 초기화 하는 단계;(c1) the step of initializing the variable, variable vector; (c2) 디그리가 3 이상인 복수개의 시험 열들 중에서 하나를 선택하는 단계;(c2) selecting one of a plurality of test columns having a degree of three or more; (c3) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬의 각각의 변수노드에 대하여 거스를 구하고 이를 평균하여 평균 거스를 구하는 단계;(c3) obtaining Gus for each variable node of the test matrix composed of the test sequence and the parity check matrix previously formed and calculating the average Gus; (c4) 상기 변수와 상기 시험 행렬의 평균 거스를 비교하여 평균 거스가 큰 경우 또는 크거나 같은 경우에는 평균 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;(c4) comparing the mean gauss of the variable with the test matrix and assigning a value of the mean gaus to the variable when the average gauze is large or greater than or equal to the variable, and assigning a test string to the variable vector; (c5) (c2) 단계 내지 (c4) 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (c6) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (c2) 단계로 넘어가는 단계; 및(c5) If steps (c2) to (c4) have been performed a predetermined number of times, the process proceeds to step (c6), and if less than a predetermined number of times, the process proceeds to step (c2). The step; And (c6) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(c6) forming a parity check matrix by adding the variable vector to the parity check matrix formed up to the previous step. (a1) 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계;(a1) forming a parity check matrix composed of any one column having a lowest degree of degree; (a2) 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계; 및 (a2) The test sequence has a maximum Gus value among a plurality of test matrices each composed of each test column and a parity check matrix formed up to the previous step and each test column independent of the columns or columns included in the parity check matrix formed up to the previous step. Adding a test string included in the test matrix to the parity check matrix formed up to the previous step; And (a3) 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(a3) A parity check matrix formed up to a previous step of a test column included in a test matrix having a maximum Gus value of a test column among a plurality of test matrices each composed of each test column and a parity check matrix formed up to the previous step among the plurality of test columns And adding (a) to (a2) and (a3) a plurality of times. 제 9 항에 있어서,The method of claim 9, 상기 (a3) 단계는 Step (a3) is (b1) 변수, 가변 벡터를 초기화 하는 단계;(b1) initializing the variable and variable vectors; (b2) 복수개의 시험 열들 중에서 하나를 선택하는 단계;(b2) selecting one of the plurality of test columns; (b3) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬에서 시험 열의 거스를 구하는 단계;(b3) obtaining a guss of a test sequence from a test matrix composed of the test sequence and the parity check matrix previously formed; (b4) 상기 변수와 상기 시험 열의 거스를 비교하여 시험 열의 거스가 큰 경우 또는 크거나 같은 경우에는 시험열의 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;(b4) comparing the girth of the variable with the test sequence and substituting the value of the girth of the test sequence for the variable if the girth of the test sequence is large or greater than or equal to the variable, and assigning a test sequence to the variable vector; (b5) (b2) 단계 내지 (b4) 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (b6) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (b2) 단계로 넘어가는 단계; 및(b5) If the steps (b2) to (b4) have been performed a predetermined number of times, the process proceeds to step (b6), and if less than the predetermined number of times, the process proceeds to step (b2). The step; And (b6) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(b6) forming a parity check matrix by adding the variable vector to the parity check matrix formed up to the previous step. (a1) 디그리가 2이고 독립적인 복수개의 열들로 구성된 패러티 검사 행렬을 형성하는 단계; 및(a1) forming a parity check matrix composed of a plurality of columns whose degrees are two and independent; And (a2) 디그리가 3 이상인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 시험 열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계를 포함하며, 상기 (a2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(a2) Among the plurality of test matrices each composed of a parity check matrix formed up to the previous step and each test column among the plurality of test columns having a degree of 3 or more, the test column included in the test matrix having the maximum gus value of the test column is transferred to the previous step. And adding to the formed parity check matrix, wherein the step (a2) is performed a plurality of times. 제 11 항에 있어서,The method of claim 11, 상기 (a2) 단계는 Step (a2) is (b1) 상기 단계는 변수, 가변 벡터를 초기화 하는 단계;(b1) the step of initializing the variable, variable vector; (b2) 디그리가 3 이상인 복수개의 시험 열들 중에서 하나를 선택하는 단계;(b2) selecting one of a plurality of test columns having a degree of three or more; (b3) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬에서 시험 열의 거스를 구하는 단계;(b3) obtaining a guss of a test sequence from a test matrix composed of the test sequence and the parity check matrix previously formed; (b4) 상기 변수와 상기 시험 행렬의 시험 열의 거스를 비교하여 시험 열의 거스가 큰 경우에는 시험 열의 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;(b4) comparing the variable with the gauze of the test column of the test matrix and substituting the value of the gauze of the test column for the variable and substituting the test column for the variable vector if the gauze of the test column is large; (b5) (b2) 단계 내지 (b4) 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (b6) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (b2) 단계로 넘어가는 단계; 및(b5) If the steps (b2) to (b4) have been performed a predetermined number of times, the process proceeds to step (b6), and if less than the predetermined number of times, the process proceeds to step (b2). The step; And (b6) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.(b6) forming a parity check matrix by adding the variable vector to the parity check matrix formed up to the previous step.
KR10-2003-0092247A 2003-12-17 2003-12-17 The method for forming girth conditioned parity check matrix for ldpc codes KR100523708B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0092247A KR100523708B1 (en) 2003-12-17 2003-12-17 The method for forming girth conditioned parity check matrix for ldpc codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0092247A KR100523708B1 (en) 2003-12-17 2003-12-17 The method for forming girth conditioned parity check matrix for ldpc codes

Publications (2)

Publication Number Publication Date
KR20050060587A KR20050060587A (en) 2005-06-22
KR100523708B1 true KR100523708B1 (en) 2005-10-26

Family

ID=37253275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0092247A KR100523708B1 (en) 2003-12-17 2003-12-17 The method for forming girth conditioned parity check matrix for ldpc codes

Country Status (1)

Country Link
KR (1) KR100523708B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1947368B (en) * 2004-04-28 2010-06-16 三星电子株式会社 Apparatus and method for coding/decoding block low density parity check code with variable block length
US7516391B2 (en) * 2004-08-16 2009-04-07 Samsung Electronics Co., Ltd Apparatus and method for coding/decoding block low density parity check code with variable block length
US8103935B2 (en) 2005-08-10 2012-01-24 Mitsubishi Electric Corporation Test matrix generating method, encoding method, decoding method, communication apparatus, communication system, encoder and decoder
CN101908893B (en) * 2009-06-03 2013-03-20 国家广播电影电视总局广播科学研究院 Method for optimizing distribution of LDPC code check matrix column weight
KR101221544B1 (en) * 2011-11-09 2013-01-14 성균관대학교산학협력단 Producing method of channel link quality adaptive parity check matrix, method of encoding low density parity check code using that and apparatus for the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014718A1 (en) * 2001-07-05 2003-01-16 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
KR20050035729A (en) * 2003-10-14 2005-04-19 삼성전자주식회사 Method for encoding of low density parity check code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US20030014718A1 (en) * 2001-07-05 2003-01-16 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
KR20050035729A (en) * 2003-10-14 2005-04-19 삼성전자주식회사 Method for encoding of low density parity check code

Also Published As

Publication number Publication date
KR20050060587A (en) 2005-06-22

Similar Documents

Publication Publication Date Title
KR101208546B1 (en) Method of encoding and decoding using low density parity check matrix
US7458009B2 (en) Method for encoding low-density parity check code
JP4602418B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, encoder, and decoder
US8438459B2 (en) Apparatus and method for decoding using channel code
US7908539B2 (en) Parity check matrix generation method, data transmission system, encoding device, decoding device, and a parity check matrix generation program
JP4163023B2 (en) Parity check matrix generation method and parity check matrix generation apparatus
CN1993917B (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
Huang et al. Performance comparison of LDPC block and spatially coupled codes over GF $(q) $
JP4005084B2 (en) Parity check matrix generation method and parity check matrix generation apparatus
JP4858335B2 (en) Encoding method and encoding apparatus
Kasai et al. Multiplicatively repeated nonbinary LDPC codes
JP2019536341A (en) Method and apparatus for encoding and decoding LDPC codes
JP2008035524A (en) Apparatus and method for decoding block of symbols using iterative belief propagation
JP2019517209A (en) Structural LDPC encoding / decoding method and apparatus
KR20060064491A (en) Ldpc encoder and decoder, and method for ldpc encoding and decoding
US8423860B2 (en) Apparatus and method for generating a parity check matrix in a communication system using linear block codes, and a transmission/reception apparatus and method using the same
US20080270877A1 (en) Method of Encoding and Decoding Using Low Density Parity Check Code
Baldi et al. Array convolutional low-density parity-check codes
KR100523708B1 (en) The method for forming girth conditioned parity check matrix for ldpc codes
US8015469B2 (en) Method for generating non-binary structured low density parity check code
Yoon et al. Arbitrary bit generation and correction technique for encoding QC-LDPC codes with dual-diagonal parity structure
Ranganathan et al. Design of high-rate irregular non-binary LDPC codes using algorithmic stopping-set cancellation
KR100632268B1 (en) LDPC code encoding and decoding method, and LDPC parity check matrix formation method.
Wang et al. Partial product-LDPC codes without rate loss
JP5288222B2 (en) Encoding method and encoding apparatus

Legal Events

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

Payment date: 20091001

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee