KR100874958B1 - 저밀도 패리티 검사 부호에 대한 레이어링된 합곱 복호방법 - Google Patents

저밀도 패리티 검사 부호에 대한 레이어링된 합곱 복호방법 Download PDF

Info

Publication number
KR100874958B1
KR100874958B1 KR1020070041746A KR20070041746A KR100874958B1 KR 100874958 B1 KR100874958 B1 KR 100874958B1 KR 1020070041746 A KR1020070041746 A KR 1020070041746A KR 20070041746 A KR20070041746 A KR 20070041746A KR 100874958 B1 KR100874958 B1 KR 100874958B1
Authority
KR
South Korea
Prior art keywords
nodes
node
variable
inspection
parity check
Prior art date
Application number
KR1020070041746A
Other languages
English (en)
Other versions
KR20080096889A (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 KR1020070041746A priority Critical patent/KR100874958B1/ko
Publication of KR20080096889A publication Critical patent/KR20080096889A/ko
Application granted granted Critical
Publication of KR100874958B1 publication Critical patent/KR100874958B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 복호기의 천공된 저밀도 패리티 검사 부호어의 복호 방법에 대한 것이다. 패리티 검사 부호어에 대응하는 패리티 검사 행렬로부터 복수의 검사 절점과 복수의 변수 절점을 정의하고, 상기 복수의 변수 절점 중 천공된 비트에 대응되는 천공된 변수 절점의 단계복구오더를 이용하여 상기 복수의 검사 절점의 레이어를 결정하여 상기 레이어가 같은 검사 절점끼리 같은 부분집합에 속하도록 상기 복수의 검사 절점을 복수의 부분 집합으로 분할한 후, 상기 복수의 부분집합 별로 패리티 검사 부호어를 복호한다.
LDPC, 천공, SR, 합곱 복호 방법, LBP, survived 검사 절점, 태너 그래프, 짝수 패러티 검사(even parity check)

Description

저밀도 패리티 검사 부호에 대한 레이어링된 합곱 복호 방법 {LAYERED SUM-PRODUCT DECODING METHOD FOR PUNCTURED LDPC CODES}
도 1은 본 발명의 실시예에 따른 복호기의 개략적인 블록도이다.
도 2는 패리티 검사 행렬에 대한 태너 그래프(Tanner graph)를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 복호기에서 LDPC 부호어의 복호 방법을 나타낸 순서도이다.
도 4는 도 3의 태너그래프에서 4, 6, 8, 10번째 비트가 천공된 경우를 나타내는 도면이다.
도 5는 검사 절점과 변수 절점의 정보를 갱신하는 방법을 나타내는 순서도이다.
도 6은 본 발명의 실시예에 따라 도 5의 천공된 변수 절점들이 복구되어 가는 과정을 나타낸 복구 트리이다.
본 발명은 복호기의 복호 방법에 관한 것으로 특히, 천공된 저밀도 패리티 검사(Low-Density Parity Check, 이하 "LDPC"라 함) 부호의 효율적인 복호 방법에 대한 것이다.
천공은 기존의 부호에서 패리티 비트 중 일부의 비트들을 지우고 보내지 않음으로써 낮은 부호율에서 높은 부호율을 얻을 수 있게 하는 기법이다. 이때, 비트를 지우는 과정은 부호화 후에 실행되고 송신기는 이 지워진 비트를 수신기로 보내지 않게 됨으로써 전송 비트의 수가 감소하게 되어 부호율을 높일 수 있게 되는 것이다. 수신기는 이미 천공된 위치를 알고 있다.
1962년 Gallager에 의해 처음 제안된 LDPC 부호는 패리티 검사 행렬의 원소들의 대부분이 0인 선형 블록 부호로서 당시의 기술력으로 구현이 불가능한 복호 복잡도로 인해 오랫동안 잊혀져 왔다. 그러나 1995년 Mackay와 Neal이 이를 재발견하였고 Gallager의 간단한 확률적(Probabilistic) 복호법을 이용하여 우수한 성능을 얻을 수 있음을 보였다.
LDPC 부호의 패리티 검사 행렬은 1의 개수가 매우 적기 때문에 매우 큰 블록 크기에서도 합곱 알고리즘(Sum-Product Algorithm)을 이용한 반복 복호가 가능하며 블록크기가 매우 커지면 터보 부호처럼 Shannon의 채널 용량에 근접하는 성능을 보이며 특히 비균일(Irregular) LDPC 부호가 채널 용량에 가장 근접한 성능을 보인다.
기존의 LDPC 부호의 복호 알고리즘으로는 합곱(Sum-Product) 복호 알고리즘과 레이어링된 합곱 복호 알고리즘이 있다.
합곱 복호 알고리즘은 BP(Belief Propagation) 복호 알고리즘이라고도 불리 며 Gallager에 의해 1962년도에 소개되었다. 합곱 복호 알고리즘은 비트 플립핑 알고리즘과도 유사하지만 확률적 정보가 로그 우도비(Log Likelihood Ratio, 이하 "LLR"라 함)값이 된다는 점이 다르다. 비트 플리핑 알고리즘은 단지 메세지의 부호만 나타내는 경판정(hard-decision)이기 때문에 정보의 높은 신뢰성과 안정성을 나타내주지는 못했다. 그러나 합곱 복호 알고리즘은 연판정(soft-decision)을 사용함으로써 채널의 정보와 함께 전송된 신호의 확률적 정보를 표현할 수 있다. 합곱 복호 알고리즘의 목적은 각 부호의 사후 확률인 APP(A Posteriori Probability)를 계산하는 것이다. 합곱 복호 알고리즘은 반복적인 계산을 통해 대략의 APP값을 얻는다. 합곱 복호 알고리즘은 1번의 반복 동안 1번의 업데이트만 이루어짐으로써 복호하는데 많은 반복 횟수를 필요로 하여 복호기의 수렴 시간이 길고 많은 전력을 소모하여 비효율적인 문제점이 있었다.
레이어링된 합곱 복호 알고리즘은 패리티 검사 행렬의 검사 절점을 수 개의 부분 집합으로 나눠서 각 부분집합마다 우선 순위를 정하여 전체 절점의 복호를 순차적으로 수행하는 방법이다. 레이어링된 합곱 복호 알고리즘은 검사 절점을 어떻게 부분집합으로 나눌지가 문제된다.
본 발명이 이루고자 하는 기술적 과제는 추가적인 복잡도 없이 복호기의 수렴 속도를 높일 수 있도록 효율적인 방법으로 레이어링을 수행하는 레이어링된 합곱 알고리즘에 따른 LDPC 부호의 복호 방법을 제공하는 것이다.
상기 과제를 달성하기 위한 본 발명의 하나의 특징에 따른 패리티 검사 부호어의 복호 방법은 상기 패리티 검사 부호어에 대응하는 패리티 검사 행렬로부터 복수의 검사 절점과 복수의 변수 절점을 정의하고, 상기 복수의 변수 절점 중 천공된 비트에 대응되는 천공된 변수 절점의 단계복구오더를 이용하여 상기 복수의 검사 절점의 레이어를 결정하여 상기 레이어가 같은 검사 절점끼리 같은 부분집합에 속하도록 상기 복수의 검사 절점을 복수의 부분 집합으로 분할한 후, 상기 복수의 부분 집합을 이용하여 상기 패리티 검사 부호어를 복호한다.
상기 과제를 달성하기 위한 본 발명의 다른 특징에 따른 패리티 검사 부호어의 레이어링된 합곱 복호 알고리즘의 레이어링 방법은 상기 패리티 검사 부호어에 대응하는 패리티 검사 행렬로부터 복수의 검사 절점과 복수의 변수 절점을 정의하고, 상기 복수의 변수 절점 중 천공된 비트에 대응되는 천공된 변수 절점의 단계복구오더를 이용하여 상기 복수의 검사 절점의 레이어를 결정하여 상기 레이어가 같은 검사 절점끼리 같은 부분집합에 속하도록 검사 절점을 소정 개수의 부분 집합으로 분할한다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "수단", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 LDPC 부호의 복호 방법을 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 복호기의 개략적인 블록도이며, 도 2는 패리티 검사 행렬에 대한 태너 그래프(Tanner graph)를 나타낸 도면이다.
도 1에 도시된 바와 같이, 복호기는 부호어 재생기(110), 복호 수단(210) 및 정보 복원 수단(310)을 포함한다.
부호어 재생기(110)는 수신된 신호를 복호하기 위해 길이 n의 부호어로 재생한다. 복호 수단(210)은 패리티 검사 행렬과 태너 그래프를 이용해서 재생된 부호어에 대한 복호를 수행하고, 정보 복원 수단(310)은 상기 복호된 부호어에 오류가 있는지 판정하여 오류가 없으면 정보를 복원하여 출력한다.
LDPC 부호의 패리티 검사 행렬은 예를 들어 수학식 1에 나타낸 것처럼 1의 개수가 매우 적은 성긴 검사 행렬이기 때문에 큰 블록 크기에서도 반복 복호를 통해 복호가 가능하다.
Figure 112007032307118-pat00001
도 2에 도시한 바와 같이, LDPC 부호의 패리티 검사 행렬은 태너 그래프로 표현될 수 있다. 행의 개수만큼의 검사 절점(Check Node, 210)을 만들고, 열의 개수만큼의 변수 절점(Bit Node, 220)을 만들어서 태너 그래프를 형성한다. 만일 행렬의 (i,j)원소가 1이면 i번째 검사 절점과 j번째 변수 절점을 연결한다. 예를 들어 수학식 1의 패리티 검사 행렬은 5개의 행과 10개의 열을 가지므로, 도 2와 같이 5개의 검사 절점(C1-C5)과 10개의 변수 절점(V1-V10)을 형성한다. 그리고 수학식 1의 패리티 검사 행렬의 (1,2)원소가 1이므로 도 2의 1번째 검사 절점과 2번째 변수 절점을 연결한 것이다.
도 1의 복호기는 패리티 검사 행렬의 검사 절점을 검사 절점에 연결된 천공된 비트에 대응하는 변수 절점의 단계복구오더에 따라 수 개의 부분집합으로 나누어 복호를 수행한다.
다음, 본 발명의 실시예에 따른 복호기에서 LDPC 부호어의 복호 방법을 도 3내지 도 6을 참조하여 설명한다.
도 3은 본 발명의 실시예에 따른 복호기에서 LDPC 부호어의 복호 방법을 나 타낸 순서도이다.
도 3에 도시된 바와 같이, 복호 수단(120)은 수신한 신호로부터 LLR 값을 계산하여 각 변수 절점에 LLR 값을 할당하는 초기화를 수행한다(S310). 이때, 복호 수단(120)은 천공된 비트의 위치는 알고 있으나, 천공된 비트는 전송되지 않아 천공된 비트에 대해서 처음에는 아무런 정보도 갖고 있지 않으므로 천공된 비트에 대응하는 변수 절점에는 LLR 값을 할당하지 않고 천공된 비트임을 표시한다.
부호가 패이딩 채널을 통과하거나 부호 일부분이 재전송되거나 천공 등으로 인해 각 비트들의 전력의 크기가 서로 다를 경우 상대적으로 약한 전력을 갖는 비트들이 가상적으로 천공되었다는 가정하여 LLR 값을 할당하지 않고 천공된 비트임을 표시할 수 있다.
복호 수단(120)은 각 검사 절점의 레이어를 결정한다(S320).
복호 수단(120)은 각 검사 절점에 연결된 변수 절점의 단계복구오더(Step-Recovery order, 이하 "SR오더"이라 함)를 이용하여 각 검사 절점의 레이어를 결정하므로 먼저, 단계복구오더의 개념을 도 4를 참조하여 설명한다.
도 4는 도 2의 태너그래프에서 4, 6, 8, 10번째 비트가 천공된 경우를 나타내는 도면이다. 합곱 알고리즘은 변수 절점의 정보가 갱신되는 단계와 검사 절점의 정보가 갱신되는 단계를 반복하게 되는데, 변수 절점의 정보와 검사 절점의 정보가 1번씩 갱신되는 것이 한 번의 반복이 된다.
천공된 비트가 합곱 알고리즘에서 단 한 번의 반복으로 복구되면 그 비트에 대응하는 변수 절점의 단계복구오더는 1이라고 하고 그 변수 절점을 1-SR 절점이라 고 부른다. 이와 같이, 천공된 비트가 합곱 알고리즘에서 k번의 반복으로 복구되면 그 비트에 대응하는 변수 절점의 단계복구오더는 k라고 하고 그 변수 절점을 k-SR 절점이라고 부른다. 이때, 복구의 의미는 정확한 비트 값으로 복호되었다는 의미가 아니며 신뢰성이 전혀 없는 상태에서 LLR값이 0이 아닌 값으로 되었다는 뜻이다.
도 4를 살펴보면, 흰색으로 채워진 원은 천공을 하지 않은 변수 절점이고, 검은색으로 채워진 원은 천공을 한 변수 절점이다. V4 변수 절점은 합곱 알고리즘에서 첫 번째 반복에서 C2 검사 절점을 통해 처음으로 0이 아닌 LLR 값을 가지므로 1-SR 절점이고, V10 변수 절점도 첫 번째 반복에서 C5 검사 절점을 통해 처음으로 0이 아닌 LLR 값을 가지므로 1-SR 절점이다. V8 변수 절점은 합곱 알고리즘의 두 번째 반복에서 첫 번째 반복에서 정보가 갱신된 V10 변수 절점의 도움을 받아 처음으로 0이 아닌 LLR 값을 갖게 되므로 2-SR 절점이다. V6 변수 절점은 합곱 알고리즘의 세 번째 반복에서 처음으로 0이 아닌 LLR 값을 갖게 되므로 3-SR 절점이다.
송신기와 수신기는 복호 방법에 대해 서로 미리 알고 있으므로 복호 수단(120)은 천공된 변수 절점의 위치와 천공된 변수 절점의 단계복구오더를 미리 알고 있다.
이 때, 한 개의 천공된 변수 절점과 연결된 검사 절점을 서바이브드(Survived) 검사 절점이라고 하고, 두 개 이상의 천공된 변수 절점과 연결된 검사 절점을 데드(Dead) 검사 절점이라고 한다. 서바이브드 검사 절점에 연결된 변수 절점 중 천공된 변수 절점은 하나이기 때문에, 그 천공된 변수 절점은 한 번의 반복으로 서바이브드 검사 절점을 통하여 복구 될 수 있다.
도 4에서 C2 검사 절점과 C5 검사 절점은 한 개의 천공된 변수 절점과 연결되어 있지만, C3 검사 절점은 세 개의 천공된 변수 절점과, C4 검사 절점은 두 개의 천공된 변수 절점과 연결되어 있다. 따라서 C2 검사 절점과 C5 검사 절점은 서바이브드 검사 절점이 되고, C3 검사 절점과 C4 검사 절점은 데드 검사 절점이 된다.
검사 절점이 천공된 변수 절점과 연결되지 않는 경우에는 그 검사 절점의 레이어를 0을 인덱스로 하는 레이어로 걸정하고, 검사 절점이 한 개의 천공된 변수 절점과 연결된 경우에는 그 천공된 변수 절점의 단계복구오더를 인덱스로 하는 레이어로 결정한다. 검사 절점이 여러 개의 천공된 변수 절점을 포함하는 경우에는 그 검사 절점이 포함하는 천공된 변수 절점들의 던계복구오더 중 가장 높은 단계복구오더를 인덱스로 하는 레이어로 결정한다.
따라서 도 4에서 C1 검사 절점의 레이어는 0이고, C2 검사 절점과 C5 검사 절점의 레이어는 1이고, C4 검사 절점의 레이어는 2이고, C3 검사 절점의 레이어는 3이 된다.
다시 도 3로 돌아와서, 복호기는 검사 절점을 부분집합으로 분할한다(S330). 이 때, 레이어가 같은 검사 절점끼리 같은 부분집합에 속하도록 검사 절점을 소정 개수의 부분 집합으로 분할한다. 그러면 변수 절점은 연결된 검사 절점이 속하는 부분 집합에 속하게 된다.
복호 수단(120)은 부분집합 각각의 검사 절점과 변수 절점의 정보를 갱신한다(S440). 복호 수단(120)은 레이어가 낮은 검사 절점의 부분집합부터 부분집합 각 각의 검사 절점과 변수 절점의 정보를 갱신한다. 즉, 레이어가 0인 검사 절점들이 이루는 부분집합의 검사 절점과 변수 절점의 정보를 갱신한 후, 레이어가 1인 검사 절점들이 이루는 부분집합의 검사 절점과 변수 절점의 정보를 갱신한다.
검사 절점과 변수 절점의 정보를 갱신하는 알고리즘에 대해서는 도 5를 참조하여 설명한다. 도 5는 검사 절점과 변수 절점의 정보를 갱신하는 방법을 나타내는 순서도이다.
먼저, 복호 수단(120)은 변수 절점의 정보를 검사 절점으로 송신한다(S510). 이 때, 이전 부분집합의 LDPC 부호어를 복호하는 과정에서 정보가 갱신된 변수 절점은 갱신된 정보를 송신한다.
예를 들면, 먼저, 첫 번째 반복에서 레이어가 0인 검사 절점들이 이루는 부분집합의 LDPC 부호어를 복호할 때는 초기화(S310) 시 할당한 각 변수 절점의 LLR 값이 변수 절점의 정보가 된다. 다음, 첫 번째 반복에서 레이어가 1인 검사 절점들이 이루는 부분집합의 LDPC 부호어를 복호할 때는 레이어가 0인 검사 절점들이 이루는 부분집합의 LDPC 부호어를 복호할 때 정보가 갱신된 변수 절점은 갱신된 정보가 변수 절점의 정보가 되고, 정보가 갱신되지 않은 변수 절점은 초기화(S310) 시 할당한 각 변수 절점의 LLR 값이 변수 절점의 정보가 된다.
따라서 이전의 부분반복에서의 갱신된 정보가 다음 번의 부분반복 안에서 전파될 수 있어 복호 수렴 속도가 향상된다.
여기서, 부분반복이란 하나의 부분집합의 변수 절점과 검사 절점이 1번씩 갱신되는 것을 의미하고, 반복이란 모든 부분집합이 한 번씩 부분반복을 수행한 것을 의미한다.
복호 수단(120)은 검사 절점이 수신한 변수 절점의 정보를 이용해 일련의 과정을 통해 검사 절점의 정보를 계산한다(S520).
복호 수단(120)은 상기 계산된 검사 절점의 정보를 변수 절점으로 송신한다(S530).
다음으로, 복호기는 변수 절점이 초기화 시 할당 받은 LLR 값과 상기 계산된검사 절점의 정보를 이용하여 변수 절점의 정보를 계산하여 변수 절점의 정보를 갱신한다(S540).
다시 도 3으로 돌아와서, 모든 부분집합에 대해 S610 단계부터 S640 단계까지가 끝나면, 복호 수단(120)은 각 변수 절점의 LLR 값을 계산한다(S350). 이 때는 초기화(S310) 시 할당한 각 변수 절점의 LLR 값과 변수 절점과 연결된 검사 절점으로부터 전송 받은 검사 절점의 정보를 이용하여 변수 절점의 LLR 값을 계산한다.
복호 수단(120)은 상기 계산된 LLR 값을 이용하여 LDPC 부호어를 판정한다(S360). 변수 절점의 LLR 값이 0보다 작으면 그 비트는 1으로 판정하고, LLR 값이 0보다 크거나 같으면 그 비트는 0으로 판정한다.
정보 복원 수단(130)은 복호된 부호어에 대해 패리티 검사를 수행한다(S370). 복호된 부호어와 패리티 검사 행렬의 역행렬을 곱해서 원소가 전부 0인 벡터가 나오면 오류가 없는 것으로 패리티 검사를 만족하는 것이다.
패리티 검사를 만족하면 정보 복원 수단(130)은 실제 정보를 복원하여 출력한다(S380).
상기 패리티 검사를 만족하지 않고 최대 반복 횟수에 도달하면 알고리즘을 종료하고 복호 실패를 선언한다(S390).
상기 패리티 검사를 만족하지 않고 최대 반복 횟수에 도달하지 않은 경우에는 S340 단계부터 S370 단계까지 반복한다. 이때, S340 단계부터 S370 단계에서의 변수 절점의 정보 및 검사 절점의 정보는 예를 들어 일반적인 합곱 알고리즘 또는 미국특허공개공보 US 2005/0229087 A1에 개시된 레이어링된 합곱 알고리즘에 의해 계산될 수 있다.
이하, 본 발명의 실시예에 따른 LDPC 부호어의 복호방법에 따라 도 4의 천공된 변수 절점들이 복구되어 가는 과정을 도 6을 참조하여 설명한다. 도 6은 본 발명의 실시예에 따라 도 5의 천공된 변수 절점들이 복구되어 가는 과정을 나타낸 복구 트리이다.
위에서 설명한 바와 같이, C1 검사 절점의 레이어는 0이고, C2 검사 절점과 C5 검사 절점의 레이어는 1이고, C4 검사 절점의 레이어는 2이고, C3 검사 절점의 레이어는 3이다.
따라서, 검사 절점은 레이어별로 4개의 부분 집합으로 나뉜다.
먼저, C1 검사 절점의 LDPC 부호어를 복호한 후, C5 검사 절점과 C2 검사 절점의 LDPC 부호어를 복호한다. 이 때, 두 개의 1-SR 변수 절점이 복구된다. 다음, C4 검사 절점의 LDPC 부호어를 복호하는데 이 때 복구된 1-SR 변수 절점(610)의 갱신된 정보가 이용되고, 2-SR 변수 절점이 복구된다. 다음으로, C3 검사 절점의 LDPC 부호어를 복호하는데 이 때 복구된 2-SR 변수 절점의 갱신된 정보가 이용되 고, 3-SR 변수 절점이 복구된다.
합곱 알고리즘을 사용한 복호 방법의 성능과 무작위로 레이어링된 합곱 알고리즘을 사용한 복호 방법의 성능과 본 발명의 실시예에 따른 복호 방법의 성능을 시뮬레이션을 통해 비교하였다.
시뮬레이션 환경에 관한 파라미터는 표 1, 표 2에 정의되어 있다. 1/2 부호율에서 0.6, 0.7, 0.8, 0.9까지 천공을 하였다. 여기서 사용한 천공 방법은 처음에는 1-SR 절점을 최대로 하고, 다음에는 2-SR 절점을 최대로 한다. 이런 과정을 그 이후에도 반복 실행하여 작은 오더의 SR 절점의 개수가 최대가 되도록 하는 것이다. 이런 천공 방법을 통해서 만든 부호는 복호 과정에서 반복 횟수가 작을 뿐만 아니라 각 부호율에서 성능 또한 향상된다.
통계적 정확성을 위해 블록 에러율(Block Error Rate, BER)을 측정할 때 각 Eb/No에서 50개의 에러 블럭을 관찰하였다. 공정한 비교를 위해서 무작위로 선택된 레이어링 방법과 본 발명의 실시예에 따른 레이어링 방법의 레이어 개수를 같게 설정하였다.
시뮬레이션 결과 레이어링된 합곱 알고리즘이 항상 합곱 알고리즘 보다 블록 에러율 관점에서 우수한 성능을 나타내었고, 본 발명의 실시예에 따른 레이어링 방법을 사용한 경우가 무작위로 레이어링한 경우보다 약 0.5dB 우수하다. 또한 레이레이 패이딩(Rayleigh fading) 채널에서는 AWGN(Additive White Gaussian Noise) 채널에서 보다 성능의 차이가 약 3배 더 크게 난다. 위의 두 시뮬레이션 결과 AWGN 채널과 패이딩 채널에서 레이어링된 합곱 알고리즘이 합곱 알고리즘보다 성능이 우 수하고 채널 상황이 나쁠수록 더 큰 성능 향상을 가져온다는 것을 알 수 있다.
채널 AWGN 패이딩
부호 랜덤 부호 랜덤 부호
부호율 0.5, 0.6, 0.7, 0.8, 0.9 0.5, 0.6, 0.7, 0.8, 0.9
에러 블럭 개수 50 50
최대 반복 횟수 15 15
레이어 개수 5 5
실시예에 따른 레이어링 무작위 레이어링
레이어 1 222 200
레이어 2 244 200
레이어 3 178 200
레이어 4 178 200
레이어 5 178 200
이상과 같이 본 발명에 의하면, 변수 절점의 갱신된 정보가 효과적으로 빨리 전파될 수 있어 복호기의 수렴 속도을 높일 수 있다.

Claims (11)

  1. 복호기에서 수신 신호의 패리티 검사 부호어를 복호하는 방법에 있어서,
    상기 패리티 검사 부호어에 대응하는 패리티 검사 행렬로부터 복수의 검사 절점과 복수의 변수 절점을 정의하는 단계:
    상기 복수의 변수 절점 중 천공된 비트에 대응되는 천공된 변수 절점의 단계복구오더를 이용하여 상기 복수의 검사 절점의 레이어를 결정하는 단계:
    상기 레이어가 같은 검사 절점끼리 같은 부분집합에 속하도록 상기 복수의 검사 절점을 복수의 부분 집합으로 분할하는 단계; 및
    상기 복수의 부분 집합을 이용하여 상기 패리티 검사 부호어를 복호하는 단계를 포함하며,
    상기 천공된 변수 절점의 단계복구오더는 상기 천공된 변수 절점이 상기 복수의 검사 절점을 통해 복구되기 위해 필요한 반복의 횟수를 나타내는 복호방법.
  2. 제1항에 있어서,
    상기 복호된 패리티 검사 부호어에 대해 패리티 검사를 하는 단계:
    상기 패리티 검사를 만족하거나 미리 설정된 최대 반복 횟수에 도달할 때까지 상기 복호하는 단계 및 상기 검사를 하는 단계를 반복하여 수행하는 단계를 더 포함하는 복호 방법.
  3. 제2항에 있어서,
    상기 패리티 검사는 상기 복호된 패리티 검사 부호어와 상기 패리티 검사 행렬의 역행렬을 곱해서 원소가 전부 0인 벡터가 나오면 오류가 없는 것으로 패리티 검사를 만족하는 것으로 판정하는 복호 방법.
  4. 제1항에 있어서,
    상기 레이어를 결정하는 단계는,
    상기 복수의 검사 절점 중 상기 천공된 변수 절점과 연결되지 않은 검사 절점을 가장 낮은 레이어로 결정하는 단계;
    상기 복수의 검사 절점 중 한 개의 천공된 변수 절점과 연결된 검사 절점을상기 한 개의 천공된 변수 절점의 단계복구오더에 대응하는 레이어로 결정하는 단계; 및
    상기 복수의 검사 절점 중 복수 개의 천공된 변수 절점과 연결된 검사 절점을 상기 복수 개의 천공된 변수 절점의 단계복구오더 중 가장 높은 단계복구오더에 대응하는 레이어로 결정하는 단계를 포함하는 복호 방법.
  5. 제1항에 있어서,
    상기 복호하는 단계는
    상기 복수의 부분집합 별로 상기 복수의 부분집합 각각의 검사 절점과 변수 절점의 정보를 갱신하는 단계;
    상기 갱신된 검사 절점과 변수 절점의 정보를 이용하여 상기 복수의 변수 절점의 로그 우도비 값을 계산하는 단계;
    상기 로그 우도비 값을 이용하여 상기 패리티 검사 부호어를 판정하는 단계를 포함하는 복호 방법.
  6. 제5항에 있어서,
    상기 갱신하는 단계는,
    상기 복수의 부분집합 중 하나의 부분집합에 속하는 변수 절점들의 정보를 각각의 변수 절점들과 연결된 검사 절점들으로 송신하는 단계;
    상기 송신한 변수 절점들의 정보를 이용해 상기 복수의 부분집합 중 하나의부분집합에 속하는 검사 절점들의 정보를 계산하는 단계;
    상기 계산된 검사 절점들의 정보를 각각의 검사 절점들과 연결된 변수 절점들로 송신하는 단계; 및
    상기 수신 신호로부터 계산한 초기 로그 우도비 값과 상기 계산된 검사 절점의 정보를 이용하여 상기 복수의 부분집합 중 하나의부분집합에 속하는 변수 절점의 정보를 계산하는 단계를 포함하는 복호방법.
  7. 제5항에 있어서,
    상기 갱신하는 단계는 레이어가 낮은 검사 절점의 부분집합부터 부분집합 각각의 검사 절점과 변수 절점의 정보를 갱신하는 복호 방법.
  8. 제5항에 있어서,
    상기 부호어를 판정하는 단계는
    상기 복수의 변수 절점 중에서 로그 우도비 값이 0보다 작은 변수 절점에 대응하는 비트는 1으로 판정하고 로그 우도비 값이 0보다 크거나 같은 변수 절점에 대응하는 비트는 0으로 판정하는 복호 방법.
  9. 제1항에 있어서,
    상기 수신 신호가 패이딩 채널을 통과하거나 일부분이 재전송되어 상기 수신 신호의 각 비트들이 전력의 크기가 서로 다를 경우 상대적으로 약한 전력을 갖는 비트들이 가상적으로 천공되었다는 가정하는 단계
    를 더 포함하는 복호 방법.
  10. 패리티 검사 부호어의 레이어링된 합곱 복호 알고리즘의 레이어링 방법에 있어서,
    상기 패리티 검사 부호어에 대응하는 패리티 검사 행렬로부터 복수의 검사 절점과 복수의 변수 절점을 정의하는 단계:
    상기 복수의 변수 절점 중 천공된 비트에 대응되는 천공된 변수 절점의 단계복구오더를 이용하여 상기 복수의 검사 절점의 레이어를 결정하는 단계: 및
    상기 레이어가 같은 검사 절점끼리 같은 부분집합에 속하도록 검사 절점을 소정 개수의 부분 집합으로 분할하는 단계를 포함하며,
    상기 천공된 변수 절점의 단계복구오더는 상기 천공된 변수 절점이 상기 복수의 검사 절점을 통해 복구되기 위해 필요한 반복의 횟수를 나타내는 레이어링 방법.
  11. 제10항에 있어서,
    상기 레이어를 결정하는 단계는,
    상기 복수의 검사 절점 중 상기 천공된 변수 절점과 연결되지 않은 검사 절점을 가장 낮은 레이어로 결정하는 단계;
    상기 복수의 검사 절점 중 한 개의 천공된 변수 절점과 연결된 검사 절점을상기 한 개의 천공된 변수 절점의 단계복구오더에 대응하는 레이어로 결정하는 단계: 및
    상기 복수의 검사 절점 중 복수 개의 천공된 변수 절점과 연결된 검사 절점을 상기 복수 개의 천공된 변수 절점의 단계복구오더 중 가장 높은 단계복구오더에 대응하는 레이어로 결정하는 단계를 포함하는 레이어링 방법.
KR1020070041746A 2007-04-30 2007-04-30 저밀도 패리티 검사 부호에 대한 레이어링된 합곱 복호방법 KR100874958B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070041746A KR100874958B1 (ko) 2007-04-30 2007-04-30 저밀도 패리티 검사 부호에 대한 레이어링된 합곱 복호방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070041746A KR100874958B1 (ko) 2007-04-30 2007-04-30 저밀도 패리티 검사 부호에 대한 레이어링된 합곱 복호방법

Publications (2)

Publication Number Publication Date
KR20080096889A KR20080096889A (ko) 2008-11-04
KR100874958B1 true KR100874958B1 (ko) 2008-12-19

Family

ID=40284968

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070041746A KR100874958B1 (ko) 2007-04-30 2007-04-30 저밀도 패리티 검사 부호에 대한 레이어링된 합곱 복호방법

Country Status (1)

Country Link
KR (1) KR100874958B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050229087A1 (en) 2004-04-13 2005-10-13 Sunghwan Kim Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
JP2007006494A (ja) 2005-06-21 2007-01-11 Samsung Electronics Co Ltd 構造的低密度パリティ検査符号を用いる通信システムにおけるデータ送信/データ受信のための装置及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050229087A1 (en) 2004-04-13 2005-10-13 Sunghwan Kim Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
JP2007006494A (ja) 2005-06-21 2007-01-11 Samsung Electronics Co Ltd 構造的低密度パリティ検査符号を用いる通信システムにおけるデータ送信/データ受信のための装置及び方法

Also Published As

Publication number Publication date
KR20080096889A (ko) 2008-11-04

Similar Documents

Publication Publication Date Title
US7734988B2 (en) Method for puncturing a low density parity check code
KR100946905B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
US8347170B2 (en) Method and apparatus for performing decoding using LDPC code
KR101502623B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
JP4425282B2 (ja) 符号化方法および符号化装置
KR100984289B1 (ko) 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
KR100929079B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템의 복호 장치 및 방법
US20040268205A1 (en) Low-density parity-check codes for multiple code rates
KR101740316B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
EP1850484A1 (en) Basic matrix based on irregular ldcp, codec and generation method thereof
US10135466B2 (en) Data sending method and apparatus
Liu et al. Rate-compatible LDPC codes with short block lengths based on puncturing and extension techniques
KR101147768B1 (ko) 채널 코드를 이용한 복호화 방법 및 장치
WO2017105291A1 (en) Generalized quasi-cyclic ldpc convolutional codes for digital communication systems
Uchôa et al. LDPC codes based on progressive edge growth techniques for block fading channels
KR100837730B1 (ko) 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
JP5789014B2 (ja) 符号化方法、符号化器、復号器
KR100698192B1 (ko) Ldpc 부호의 복호 방법
KR100874958B1 (ko) 저밀도 패리티 검사 부호에 대한 레이어링된 합곱 복호방법
KR100605988B1 (ko) 저밀도 패러티 검사 부호의 효율적인 천공 방법
CN109379085B (zh) 基于ldpc码的突发信道的译码方法、设备和存储介质
Uchoa et al. Repeat accumulate based constructions for LDPC codes on fading channels
Liu et al. Rate-Compatible LDPC codes based on puncturing and extension techniques for short block lengths
Yazdani et al. Irregular rate-compatible LDPC codes for capacity-approaching hybrid-ARQ schemes
Knudsen et al. Adaptive soft-decision iterative decoding using edge local complementation

Legal Events

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

Payment date: 20121129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171129

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181129

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191128

Year of fee payment: 12