KR20050060587A - Ldpc 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법 - Google Patents

Ldpc 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법 Download PDF

Info

Publication number
KR20050060587A
KR20050060587A KR1020030092247A KR20030092247A KR20050060587A KR 20050060587 A KR20050060587 A KR 20050060587A KR 1020030092247 A KR1020030092247 A KR 1020030092247A KR 20030092247 A KR20030092247 A KR 20030092247A KR 20050060587 A KR20050060587 A KR 20050060587A
Authority
KR
South Korea
Prior art keywords
test
parity check
variable
check matrix
node
Prior art date
Application number
KR1020030092247A
Other languages
English (en)
Other versions
KR100523708B1 (ko
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/ko
Publication of KR20050060587A publication Critical patent/KR20050060587A/ko
Application granted granted Critical
Publication of KR100523708B1 publication Critical patent/KR100523708B1/ko

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) 부호에 사용되는 거스 조건화된 패러티 검사 행렬의 형성 방법에 관한 것이다.
본 발명은 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적이며 디그리가 최저인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계, 및 최저 디그리를 초과하는 디그리를 갖는 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a3) 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.
본 발명에 의한 패러티 검사 행렬 형성 방법은 변수 노드의 디그리가 작은 경우는 물론이고 디그리가 큰 경우에도 많은 연산을 수행하지 아니하고도 큰 평균 거스 값을 가지는 패러티 검사 행렬을 형성할 수 있다는 장점이 있다.

Description

LDPC 부호에 사용되는 거스 조건화된 패러티 검사 행렬의 형성 방법 {THE METHOD FOR FORMING GIRTH CONDITIONED PARITY CHECK MATRIX FOR LDPC CODES}
본 발명은 유무선 통신의 채널 코딩(channel coding) 기술에 속한다. 특히 LDPC(low density parity check) 부호에 사용되는 거스 조건화된 패러티 검사 행렬의 형성 방법에 관한 것이다.
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 부호의 성능은 일반적으로 패러티 검사 행렬의 구성에 의하여 결정되어진다.
LDPC의 부호화는 c = aG라는 수식에 의하여 이루어질 수 있다. 수식에서 c는 부호화된 부호어(codeword)를 의미하고, a는 정보어이고, G는 패러티 생성 행렬에 해당한다. 패러티 생성 행렬 G와 패러티 검사 행렬 H는 모든 부호어 c 또는 모든 입력 벡터 a에 대하여 cHT = aGHT = O라는 수식을 만족한다. 수식에서 O은 영행렬을 의미한다. 도 1에 입력 벡터 a, 패러티 생성 행렬 G, 부호어 c, 패러티 검사 행렬 H 및 영행렬 O의 일례가 표현되어 있다.
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"에 기재되어 있다.
패러티 검사 행렬의 형성 방법의 종래기술로는 리차드슨(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가 된다.
부호어 길이가 짧은 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"에 기재되어 있다. 이 방법은 부호 앙상블에서 평균거스가 큰 부호를 취하여 믿음 전달 복호의 준최적성을 개선하는 데 중점을 두었는데 부수적으로 부호의 최소거리도 증가한다는 장점이 있다. 여기에서, 부호 앙상블은 변수 노드와 체크 노드의 디그리가 각각 주어진 분포를 따르되, 노드 사이의 연결은 무작위로 행하였을 때 생성되는 여러 부호들의 집합을 의미한다. 그러나 이 방법에 의할 경우, 디그리가 큰 변수 노드가 많은 경우에는 적용이 쉽지 않다는 문제점이 있다. 즉 디그리가 높아질수록 평균 거스가 작아지고 평균 거스의 분포의 변폭도 작아지므로, 큰 평균 거스값을 갖는 부호를 얻기 위해서는 무수히 많은 부호를 생성해야만 하므로 패러티 검사 행렬을 구하는데 많은 연산을 필요로하는 문제점이 있다.
부호어 길이가 짧은 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 값의 증가에 따라 에러율이 급격히 떨어지는 것을 의미한다.
따라서, 본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 큰 평균 거스 값을 가지는 패러티 검사 행렬 형성 방법을 제공하는데 있다.
본 발명의 다른 목적은 변수 노드의 디그리가 작은 경우는 물론이고 디그리가 큰 경우에도 많은 연산을 요하지 아니하는 패러티 검사 행렬 형성 방법을 제공하는데 있다.
상술한 목적을 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계, 및 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a3) 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.
본 발명의 제 2 측면은 디그리가 2이고 독립적인 복수개의 열들로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 및 디그리가 3 이상인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계를 포함하며, 상기 (a2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.
본 발명의 제 3 측면은 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계, 및 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a3) 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.
본 발명의 제 4 측면은 디그리가 2이고 독립적인 복수개의 열들로 구성된 패러티 검사 행렬을 형성하는 (a1) 단계, 및 디그리가 3 이상인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 시험 열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 (a2) 단계를 포함하며, 상기 (a2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법을 제공한다.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 그러나, 본 발명의 실시예들은 여러가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상술하는 실시예들로 인하여 한정되는 식으로 해석되어 져서는 안된다. 본 발명의 실시예들은 당업계에서 평균적 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해 제공되는 것이다.
도 3은 본 발명의 제 1 실시예에 따른 LDPC 부호의 (n-k) x n 패러티 검사 행렬을 형성하는 방법을 나타내는 흐름도이다. (n-k) x n 패러티 검사 행렬은 (n-k)개의 행과 n개의 열을 가진다. 여기에서, n은 부호어의 길이를 k는 정보어의 길이를 의미한다. 일반적으로 변수노드와 체크노드의 디그리 분포가 주어지면 이에 따라 형성하고자 하는 패러티 검사 행렬의 각 열의 디그리를 할당한다. 본 실시예에서는 디그리가 낮은 열을 우선적으로 패러티 노드에 대응시키고 패러티 검사행렬의 열은 디그리가 낮은 열부터 높은 열의 순서로 생성한다. 디그리가 2인 열의 수가 n-k 개 이상일 경우에는 디그리가 1 인 열을 한개 추가하고 대신 디그리가 2인 열의 수를 하나 줄여야 패러티 검사 행렬이 최대 랭크를 가질 수 있도록 할 수 있다.
도 3에서, 패러티 검사 행렬을 형성하는 방법은 최저 디그리를 갖고 서로 독립적인(independent) n-k 개의 열로 구성된 패러티 검사 행렬을 형성하는 제 1 단계(1000) 및 이전 단계까지 형성된 패러티 검사 행렬에 최저 디그리를 초과하는 디그리를 갖는 k개의 열을 추가하여 n 개의 열로 구성된 패러티 검사 행렬을 형성하는 제 2 단계(2000)를 포함한다.
제 1 단계(1000)에서, 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계(1100)를 수행한다. 그 후, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계(1200)를 (n-k-1)회 수행한다. 여기에서 행렬의 평균 거스 값은 행렬에 상응하는 이분 그래프의 모든 변수 노드에서 계산된 거스 값의 평균을 의미한다. 단 디그리가 2 이하인 열들로만 구성된 패러티 검사 행렬의 경우 선형적 독립성에 의해 그들간의 사이클이 생성되지 않으므로 거스 조건화 과정을 수행할 필요성이 없다.
제 2 단계(2000)에서, 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계(2100)를 k회 수행한다.
이와 같은 방법에 의하면, 먼저 제 1 단계(1000)에서 (n-k) x (n-k) 패러티 검사 행렬이 형성된다. 그 후 제 2 단계에서 이 행렬에 평균 거스 값을 최대로 하는 열을 하나씩 추가하여 (n-k) x n 패러티 검사 행렬을 형성하게 된다. 이와 같은 방법에 의하여 형성된 패러티 검사 행렬은 종래 기술인 무작위로 생성된 많은 패러티 검사 행렬들 중에서 변수 노드에 대해 평균한 거스 값이 가장 큰 부호를 택하는 방법에 비하여 적은 연산량으로 성능이 우수한 패러티 검사 행렬을 얻을 수 있다는 장점이 있다.
도 4는 도 3의 도면 부호 1200에 해당하는 단계의 일례를 상세히 설명하기 위한 도면이다.
도 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 단계에서 선택되는 시험 열은 이전에 선택된 시험 열과 달라야 한다.
제 3 단계(1230)에서 시혐 행렬을 가우시안 소거법을 사용하여 하삼각 형태로 변환하면, 상기 시험 행렬에 포함된 모든 열들이 독립적인 경우에는 최상위 열이 영 벡터가 아닐 것이고, 독립적이지 아니한 경우에는 최상위 열이 영 벡터가 될 것이다. 따라서, 제 4 단계(1240)에서 시험 행렬이 독립적인지 여부를 판단하여 독립적이지 아니하면 제 2 단계(1220)부터 다시 수행하고, 독립적이면 거스 조건화 과정인 제 5 단계(1250) 내지 제 7 단계(1270)를 수행하는 방식으로 최대 랭크를 갖는 패러티 검사 행렬을 형성한다.
만일 최저의 디그리가 2인 경우에는 거스 조건화 과정을 필요로 하지 않으므로, 도 3의 도면 부호 1200에 해당하는 단계는 다음과 같이 구성될 수도 있다. 디그리가 2인 복수개의 시험 열 중에서 하나를 선택하는 제 1 단계, 이전 단계까지 형성된 패러티 검사 행렬과 상기 시험 열로 구성된 시험 행렬을 가우시안 소거법을 사용하여 하삼각 형태로 변환하는 제 2 단계, 변환된 행렬의 최상위 열이 영 벡터인 경우에는 상기 제 1 단계로 넘어가고, 그렇지 아니하는 경우에는 제 4 단계로 넘어가는 제 3 단계, 및 이전 단계까지 형성된 패러티 검사 행렬에 상기 시험 열을 추가하여 패러티 검사 행렬을 형성하는 제 4 단계를 포함한다.
도 5는 도 3의 도면 부호 2100에 해당하는 단계의 일례를 상세히 설명하기 위한 도면이다.
도 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에 대입할 수도 있다.
이와 같이 제 2 단계(2120) 내지 제 4 단계(2140)를 반복적으로 수행하여 가장 큰 평균 거스 값을 가지는 시험 열을 구하고, 제 6 단계(2160)에서 이 시험열을 이전 단계까지 형성된 패러티 검사 행렬에 추가한다.
도 6은 변수 노드에 대하여 거스를 구하는 방법을 일례를 상세히 설명하기 위한 도면이다. 이 방법은 메시지 전달 알고리즘(message passing algorithm)을 변형한 방법이다. 거스 계산이 행하여 지는 변수노드를 소스 변수 노드라 부르기로 하자.
도 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와 같은 문자일 수 있다.
이와 같은 방법으로 소스 변수 노드로부터 출발한 제 1 상수가 에지를 경유하여 소스 변수 노드로 다시 돌아올 때까지 경유한 최소 에지의 수 즉 거스를 적은 연산량으로 구할 수 있다.
또한, 상기 거스를 구하는 방법은 다음과 같은 방식으로 구하여 질 수도 있다. 먼저 소스 변수 노드와 연결된 에지를 통하여 체크 노드로 제 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 단계를 포함한다.
도 7은 본 발명의 제 2 실시예에 따른 LDPC 부호의 (n-k) x n 패러티 검사 행렬을 형성하는 방법을 나타내는 흐름도이다. 제 2 실시예는 제 1 실시예와 달리 시험 열 중에서 평균 거스 값이 최고인 열을 추가하는 방식이 아니라, 시험 열의 거스 값 즉 시험 열에 상응하는 변수 노드의 거스 값이 최고인 열을 추가하는 방식을 사용한다는 특징이 있다.
도 7에서, 패러티 검사 행렬을 형성하는 방법은 최저 디그리를 갖고 서로 독립적인(independent) n-k 개의 열로 구성된 패러티 검사 행렬을 형성하는 제 1 단계(3000) 및 이전 단계까지 형성된 패러티 검사 행렬에 최저 디그리를 초과하는 디그리를 갖는 k개의 열을 추가하여 n 개의 열로 구성된 패러티 검사 행렬을 형성하는 제 2 단계(4000)를 포함한다.
제 1 단계(3000)에서, 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계(3100)를 수행한다. 그 후, 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계(3200)를 (n-k-1)회 수행한다. 단 디그리가 2 이하인 열들로만 구성된 패러티 검사 행렬의 경우 선형적 독립성에 의해 그들간의 사이클이 생성되지 않으므로 거스 조건화 과정을 수행할 필요성이 없다.
제 2 단계(4000)에서, 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 시험 열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계(4100)를 k회 수행한다.
이와 같이 패러티 검사 행렬을 형성하는 경우에는 약간의 성능 열화가 생기지만 패러티 검사 행렬의 형성에 걸리는 시간을 대폭 줄일 수 있다는 장점이 있다.
도 4 및 도 6에 설명된 각 단계들은 당해 기술이 속한 분야에서 통상의 지식을 가진 자라면, 상기한 설명에 의하여 본 발명의 제 2 실시예에 그대로 또는 약간의 변형을 가하여 적용할 수 있다는 것을 쉽게 알 수 있을 것이므로, 본 발명의 제 2 실시예에 의한 패러티 검사 행렬의 형성 방법의 세부 단계들에 대한 설명은 설명의 편의상 생략한다.
당해 기술이 속한 분야에서 통상의 지식을 가진 자는 본 발명에 의한 패러티 검사 행렬의 형성 방법의 각 단계가 기술적 사상의 변경 없이 컴퓨터, DSP(digital signal process) 등의 연산 장치에 의하여 수행될 수 있으며, 또한 본 발명에 의한 패러티 검사 행렬의 형성 방법의 각 단계가 기술적 사상의 변경 없이 컴퓨터 프로그램으로 수행될 수 있음을 알 수 있을 것이다.
본 발명에 의한 패러티 검사 행렬 형성 방법은 큰 평균 거스 값을 가지는 패러티 검사 행렬을 형성할 수 있다는 장점이 있다.
또한, 본 발명에 의한 패러티 검사 행렬 형성 방법은 변수 노드의 디그리가 작은 경우는 물론이고 디그리가 큰 경우에도 많은 연산을 수행하지 아니하고도 패러티 검사 행렬을 형성할 수 있다는 장점이 있다.
도 1은 LDPC 부호 및 복호에 사용되는 입력 벡터 a, 패러티 생성 행렬 G, 부호어 c, 패러티 검사 행렬 H 및 영행렬 O의 일례를 나타내는 도면이다.
도 2는 도 1에 표현된 패러티 검사 행렬에 상응하는 이분 그래프를 나타내는 도면이다.
도 3 내지 6은 본 발명의 제 1 실시예에 따른 LDPC 부호의 (n-k) x n 패러티 검사 행렬을 형성하는 방법을 나타내는 흐름도이다.
도 7은 본 발명의 제 2 실시예에 따른 LDPC 부호의 (n-k) x n 패러티 검사 행렬을 형성하는 방법을 나타내는 흐름도이다.

Claims (12)

  1. (a1) 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계;
    (a2) 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계; 및
    (a3) 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  2. 제 1 항에 있어서,
    상기 (a2) 단계는
    (b1) 변수, 가변 벡터를 초기화 하는 단계;
    (b2) 디그리가 최저인 복수개의 시험 열들 중에서 하나의 시험열을 선택하는 단계;
    (b3) 이전 단계까지 형성된 패러티 검사 행렬과 상기 시험 열로 구성된 시험 행렬을 가우시안 소거법을 사용하여 하삼각 형태로 변환하는 단계;
    (b4), 변환된 행렬의 최상위 열이 영 벡터인 경우에는 상기 (b2) 단계로 넘어가고, 그렇지 아니하는 경우에는 (b5) 단계로 넘어가는 단계;
    (b5) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬의 각각의 변수노드에 대하여 거스를 구하고 이를 평균하여 평균 거스를 구하는 단계;
    (b6) 상기 변수와 상기 시험 행렬의 평균 거스를 비교하여 평균 거스가 큰 경우에는 평균 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;
    (b7) (b2) 단계 내지 (b6) 단계 중 어느 한 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (b8) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (b2) 단계로 넘어가는 단계;
    (b8) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  3. 제 1 항에 있어서,
    상기 (a3) 단계는
    (c1) 변수, 가변 벡터를 초기화 하는 단계;
    (c2) 최저 디그리를 초과하는 디그리를 갖는 복수개의 시험 열들 중에서 하나를 선택하는 단계;
    (c3) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬의 각각의 변수노드에 대하여 거스를 구하고 이를 평균하여 평균 거스를 구하는 단계;
    (c4) 상기 변수와 상기 시험 행렬의 평균 거스를 비교하여 평균 거스가 큰 경우 또는 크거나 같은 경우에는 평균 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;
    (c5) (c2) 단계 내지 (c4) 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (c6) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (c2) 단계로 넘어가는 단계; 및
    (c6) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  4. 제 3 항에 있어서,
    상기 변수 노드에 대하여 거스를 구하는 방법은
    (d1) 거스를 구하려는 변수 노드인 소스 변수 노드와 연결된 에지를 통하여 체크 노드로 제 1 상수를 전달하고, 상기 소스 변수 노드와 연결되지 아니한 에지를 통하여 체크 노드로 제 2 상수를 전달하는 단계;
    (d2) 제 1 상수를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 변수 노드로 제 1 상수를 전달하고 제 1 상수를 전달한 에지를 통하여 변수 노드로 제 2 상수를 전달하며, 제 1 상수를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 1 상수를 전달하며, 제 2 상수만을 받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 2 상수를 전달하는 단계;
    (d3) 제 1 상수를 1 개 전달 받은 변수 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 체크 노드로 제 1 상수를 전달하고 제 1 상수를 전달한 에지를 통하여 체크 노드로 제 2 상수를 전달하며, 제 1 상수를 2 개 이상 전달받은 변수 노드는 자신과 연결된 모든 에지를 통하여 체크 노드로 제 1 상수를 전달하며, 제 2 상수만을 전달받은 변수 노드는 자신과 연결된 모든 에지를 통하여 체크 노드로 제 2 상수를 전달하는 단계;
    (d4) 제 1 상수를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 제 1 상수를 전달하지 아니한 에지를 통하여 변수 노드로 제 1 상수를 전달하고 제 1 상수를 전달한 에지를 통하여 변수 노드로 제 2 상수를 전달하며, 제 1 상수를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 1 상수를 전달하며, 제 2 상수만을 받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 제 2 상수를 전달하는 단계;
    (d5) 상기 소스 변수 노드가 적어도 하나의 제 1 상수를 전달 받은 경우에는 (d6) 단계로 넘어가고 제 2 상수만을 전달받은 경우에는 (d3) 단계로 넘어가는 단계; 및
    (d6) 지금까지 경유한 에지 수를 상기 변수 노드의 거스 값으로 할당하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  5. 제 3 항에 있어서,
    상기 변수 노드에 대하여 거스를 구하는 방법은
    (e1) 거스를 구하려는 변수 노드인 소스 변수 노드와 연결된 에지를 통하여 체크 노드로 소정의 정보를 전달하는 단계;
    (e2) 소정의 정보를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 소정의 정보를 전달하지 아니한 에지를 통하여 변수 노드로 소정의 정보를 전달하고, 소정의 정보를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 소정의 정보를 전달하는 단계;
    (e3) 소정의 정보를 1 개 전달 받은 변수 노드는 자신과 연결된 에지 중에서 소정의 정보를 전달하지 아니한 에지를 통하여 체크 노드로 소정의 정보를 전달하고, 소정의 정보를 2 개 이상 전달받은 변수 노드는 자신과 연결된 모든 에지를 통하여 체크 노드로 소정의 정보를 전달하는 단계;
    (e4) 소정의 정보를 1 개 전달 받은 체크 노드는 자신과 연결된 에지 중에서 소정의 정보를 전달하지 아니한 에지를 통하여 변수 노드로 소정의 정보를 전달하고, 소정의 정보를 2 개 이상 전달받은 체크 노드는 자신과 연결된 모든 에지를 통하여 변수 노드로 소정의 정보를 전달하는 단계;
    (e5) 상기 소스 변수 노드가 적어도 하나의 소정의 정보를 전달 받은 경우에는 (e6) 단계로 넘어가고 그러하지 아니한 경우에는 (e3) 단계로 넘어가는 단계; 및
    (e6) 지금까지 경유한 에지 수를 상기 변수 노드의 거스 값으로 할당하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  6. (a1) 디그리가 2이고 독립적인 복수개의 열들로 구성된 패러티 검사 행렬을 형성하는 단계; 및
    (a2) 디그리가 3 이상인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 평균 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계를 포함하며, 상기 (a2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  7. 제 6 항에 있어서,
    상기 (a1) 단계는
    (b1) 디그리가 2인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계; 및
    (b2) 이전 단계까지 형성된 패러티 검사 행렬에 이 행렬에 포함된 열 또는 열들과 독립적이며 디그리가 2인 열을 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하되 상기 (b2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  8. 제 6 항에 있어서,
    상기 (a2) 단계는
    (c1) 상기 단계는 변수, 가변 벡터를 초기화 하는 단계;
    (c2) 디그리가 3 이상인 복수개의 시험 열들 중에서 하나를 선택하는 단계;
    (c3) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬의 각각의 변수노드에 대하여 거스를 구하고 이를 평균하여 평균 거스를 구하는 단계;
    (c4) 상기 변수와 상기 시험 행렬의 평균 거스를 비교하여 평균 거스가 큰 경우 또는 크거나 같은 경우에는 평균 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;
    (c5) (c2) 단계 내지 (c4) 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (c6) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (c2) 단계로 넘어가는 단계; 및
    (c6) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  9. (a1) 디그리가 최저인 임의의 열 1개로 구성된 패러티 검사 행렬을 형성하는 단계;
    (a2) 이전 단계까지 형성된 패러티 검사 행렬에 포함된 열 또는 열들과 독립적인 복수개의 시험 열 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계; 및
    (a3) 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 시험열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계를 포함하며, 상기 (a2) 및 (a3) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  10. 제 9 항에 있어서,
    상기 (a3) 단계는
    (b1) 변수, 가변 벡터를 초기화 하는 단계;
    (b2) 복수개의 시험 열들 중에서 하나를 선택하는 단계;
    (b3) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬에서 시험 열의 거스를 구하는 단계;
    (b4) 상기 변수와 상기 시험 열의 거스를 비교하여 시험 열의 거스가 큰 경우 또는 크거나 같은 경우에는 시험열의 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;
    (b5) (b2) 단계 내지 (b4) 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (b6) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (b2) 단계로 넘어가는 단계; 및
    (b6) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  11. (a1) 디그리가 2이고 독립적인 복수개의 열들로 구성된 패러티 검사 행렬을 형성하는 단계; 및
    (a2) 디그리가 3 이상인 복수개의 시험 열들 중 각각의 시험 열과 이전 단계까지 형성된 패러티 검사 행렬로 각각 구성된 복수개의 시험 행렬들 중에서 시험 열의 거스 값이 최대인 시험 행렬에 포함된 시험 열을 이전 단계까지 형성된 패러티 검사 행렬에 추가하는 단계를 포함하며, 상기 (a2) 단계를 복수회 수행하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
  12. 제 11 항에 있어서,
    상기 (a2) 단계는
    (b1) 상기 단계는 변수, 가변 벡터를 초기화 하는 단계;
    (b2) 디그리가 3 이상인 복수개의 시험 열들 중에서 하나를 선택하는 단계;
    (b3) 상기 시험 열과 이전까지 형성된 패러티 검사 행렬로 구성된 시험 행렬에서 시험 열의 거스를 구하는 단계;
    (b4) 상기 변수와 상기 시험 행렬의 시험 열의 거스를 비교하여 시험 열의 거스가 큰 경우에는 시험 열의 거스의 값을 상기 변수에 대입하고, 시험 열을 상기 가변 벡터에 대입하는 단계;
    (b5) (b2) 단계 내지 (b4) 단계가 소정의 횟수만큼 수행되었는지 여부를 판단하여 소정의 횟수만큼 수행되었으면 (b6) 단계로 넘어가고, 소정의 횟부보다 적게 수행되었으면 (b2) 단계로 넘어가는 단계; 및
    (b6) 이전 단계까지 형성된 패러티 검사 행렬에 상기 가변 벡터를 추가하여 패러티 검사 행렬을 형성하는 단계를 포함하는 것을 특징으로 하는 LDPC 부호용 패러티 검사 행렬 형성 방법.
KR10-2003-0092247A 2003-12-17 2003-12-17 Ldpc 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법 KR100523708B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0092247A KR100523708B1 (ko) 2003-12-17 2003-12-17 Ldpc 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0092247A KR100523708B1 (ko) 2003-12-17 2003-12-17 Ldpc 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법

Publications (2)

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

Family

ID=37253275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0092247A KR100523708B1 (ko) 2003-12-17 2003-12-17 Ldpc 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법

Country Status (1)

Country Link
KR (1) KR100523708B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100678175B1 (ko) * 2004-08-16 2007-02-28 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100678176B1 (ko) * 2004-04-28 2007-02-28 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
CN101908893A (zh) * 2009-06-03 2010-12-08 国家广播电影电视总局广播科学研究院 一种优化ldpc码校验矩阵列重分布的方法
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
KR101221544B1 (ko) * 2011-11-09 2013-01-14 성균관대학교산학협력단 채널 링크 품질 적응적 패리티 검사 행렬의 생성 방법, 이를 이용한 저밀도 패리티 검사 부호의 부호화 방법 및 부호화 장치

Family Cites Families (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
US6789227B2 (en) * 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100678176B1 (ko) * 2004-04-28 2007-02-28 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100678175B1 (ko) * 2004-08-16 2007-02-28 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
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
CN101908893A (zh) * 2009-06-03 2010-12-08 国家广播电影电视总局广播科学研究院 一种优化ldpc码校验矩阵列重分布的方法
KR101221544B1 (ko) * 2011-11-09 2013-01-14 성균관대학교산학협력단 채널 링크 품질 적응적 패리티 검사 행렬의 생성 방법, 이를 이용한 저밀도 패리티 검사 부호의 부호화 방법 및 부호화 장치
WO2013069887A1 (ko) * 2011-11-09 2013-05-16 성균관대학교 산학협력단 채널 링크 품질 적응적 패리티 검사 행렬의 생성 방법, 이를 이용한 저밀도 패리티 검사 부호의 부호화 방법 및 부호화 장치

Also Published As

Publication number Publication date
KR100523708B1 (ko) 2005-10-26

Similar Documents

Publication Publication Date Title
KR101208546B1 (ko) 저밀도 패리티 체크 행렬을 이용한 부호화 및 복호화 방법
US7458009B2 (en) Method for encoding low-density parity check code
JP4602418B2 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
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 (ja) 検査行列生成方法および検査行列生成装置
CN1993917B (zh) 编码/译码具有可变块长度的块低密奇偶校验码的装置和方法
Huang et al. Performance comparison of LDPC block and spatially coupled codes over GF $(q) $
JP4005084B2 (ja) 検査行列生成方法および検査行列生成装置
JP4858335B2 (ja) 符号化方法および符号化装置
Kasai et al. Multiplicatively repeated nonbinary LDPC codes
JP2019536341A (ja) Ldpcコードを符号化および復号化するための方法および装置
JP2008035524A (ja) 反復確率伝搬を使用して記号ブロックを復号化する装置および方法
JP2019517209A (ja) 構造的ldpcの符号化、復号化方法および装置
KR20060064491A (ko) Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
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 (ko) Ldpc 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법
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 (ko) Ldpc 부호 부호화 및 복호화 방법, 및 ldpc패러티 검사 행렬 형성 방법.
Wang et al. Partial product-LDPC codes without rate loss
JP5288222B2 (ja) 符号化方法および符号化装置

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