KR100999272B1 - 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법 - Google Patents

저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법 Download PDF

Info

Publication number
KR100999272B1
KR100999272B1 KR1020080091003A KR20080091003A KR100999272B1 KR 100999272 B1 KR100999272 B1 KR 100999272B1 KR 1020080091003 A KR1020080091003 A KR 1020080091003A KR 20080091003 A KR20080091003 A KR 20080091003A KR 100999272 B1 KR100999272 B1 KR 100999272B1
Authority
KR
South Korea
Prior art keywords
matrix
parity
block
sub
puncturing
Prior art date
Application number
KR1020080091003A
Other languages
English (en)
Other versions
KR20090117584A (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 한국과학기술원
Publication of KR20090117584A publication Critical patent/KR20090117584A/ko
Application granted granted Critical
Publication of KR100999272B1 publication Critical patent/KR100999272B1/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/1148Structural properties of the code parity-check or generator matrix
    • 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/0041Arrangements at the transmitter end

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)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

저 밀도 패리티 검사 코드(Low Density Parity Check Code, LDPC)의 부호화 장치 및 그 방법이 개시된다. 저 밀도 패리티 검사 코드의 부호화 장치는 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬(sub matrix)을 포함하는 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성부, 상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 천공부, 및 상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어(information code)를 부호화하는 부호화부를 포함하고 상기 패리티 서브 행렬은 E2RC(Efficiently Encodable Rate compatible) 구조를 가지는 복수 개의 제1 블록 행렬을 포함한다.
LDPC, E2RC, 오류 마루, 패리티 검사 행렬, 천공

Description

저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법{APPARATUS AND MATHOD FOR ENCODING LOW DENSITY PARITY CHECK CODE}
본 발명은 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 낮은 오류 마루를 갖는 저 밀도 패리티 검사 코드의 부호화 하는 장치 및 그 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호 : 2006-S-001-02, 과제명 : 4세대 이동통신용 적응 무선접속 및 전송기술개발].
이동 통신 시스템이 급속하게 발전함에 따라 무선 네트워크에서 유선 네트워크의 용량(capacity)에 근접하는 대용량 데이터를 전송할 수 있도록 하는 기술의 개발이 요구되고 있다. 그러나, 이동 통신 시스템은 그 특성상 데이터를 전송하는 시점에서의 채널 상황에 따라 잡음(noise)과, 간섭(interference) 및 페이딩(fading) 등으로 인해 불가피하게 오류(error)가 발생하고, 발생한 오류에 의해 정보 데이터의 손실이 발생한다.
오류 발생으로 인한 정보 데이터의 손실을 감소시키기 위해 다양한 오류 제 어방식(error-control scheme)이 사용되고 있는데, 이중 에러 정정 부호(error- correcting code)를 사용하는 방식이 가장 보편적으로 사용되고 있다.
저 밀도 패리티 검사 코드(Low Density Parity Check Code, 이하 "LDPC 코드"라 칭하기로 한다)는 에러 정정 부호의 하나로서, 1962년 갈라거(Gallager)에 의해 제안되었다. LDPC 코드는 복호기(decoder) 구현의 복잡성 때문에 사용되지 않았으나, 1990년대에 들어 성능의 우수함이 입증되고 그 이래로 이 부호에 대한 연구가 활발히 진행되고 있다.
LDPC 코드는 대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 0의 값을 가지는 엘리먼트들 이외의 극소수의 엘리먼트들이 0이 아닌 값(non-zero value, 예를 들어 1의 값)을 가지는 패리티 검사 행렬(Parity Check Matrix)을 이용하여 부호화된다.
LDPC 코드는 천공(puncture)을 통해서 채널 상황에 따른 부호율-호환 가능(rate-compatible)한 특성을 얻을 수 있다. 천공은 보내고자 하는 데이터에서 일부 노드를 보내지 않음으로써 부호율(code rate)을 높이는 방법이다. 이 때, 천공된 노드들을 복호화 하기 위해서는 천공된 노드들의 위치를 복호기가 알고 있다고 전제한다.
도 1은 종래 기술에 따른 천공된 LDPC 코드의 복구 트리의 일례를 도시한 도면이다.
천공된 노드들은 복구되는데 필요한 복호기의 반복 과정 횟수에 따라 분류될 수 있다. 예를 들어, 복호기의 k 번째 복호 과정에서 복구되는 천공된 노드들 은 k-SR 노드(k th-step recoverable node)라고 한다. 일반적으로, k-SR 노드에서 k의 값이 작을수록 복구된 노드에 대한 신뢰도는 높아진다. 따라서 일부 노드를 천공하는 경우, k 값이 낮은 순서부터 천공이 진행된다.
도 1은 k의 값이 3일 때의 복구 트리를 도시하고 있다. 도 1에서 원형 기호는 가변 노드(variable node)를 의미는 것으로, 패리티 검사 행렬에서 열(column)을 나타낸다. 사각형 기호는 검사 노드(check node)를 의미하는 것으로, 패리티 검사 행렬에서 행(row)을 나타낸다. 각각의 가변 노드와 검사 노드를 연결하는 선은 에지(edge)를 의미하는 것으로서, 패리티 검사 행렬에서의 행렬 원소의 값(0 또는 1)의 값을 결정한다. 복호가 수행되는 반복 순서에 따라 분류된 천공된 노드들은 다시 같은 k-SR 노드끼리 모을 수 있다. 이것을 그룹화라고 하며 k-SR노드들을 묶어서 Gk로 표현 할 수 있다.
패리티 검사 행렬(H)은 메시지 비트를 행렬 원소로 하는 메시지 서브 행렬(sub matrix)(Hs)와 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬(Hp)을 포함하여 구성될 수 있다(
Figure 112008065368189-pat00001
).
패리티 서브 행렬은 E2RC 구조를 가질 수 있는데, E2RC 구조를 갖는 패리티 서브 행렬은 하기 수학식 1과 같이 표현될 수 있다.
Figure 112008065368189-pat00002
여기서,
Figure 112008065368189-pat00003
은 행렬
Figure 112008065368189-pat00004
에서
Figure 112008065368189-pat00005
=1일 때의 행렬을 의미한다. m은 패리티 검사 행렬(또는 패리티 서브 행렬)의 행의 크기를 의미하는 것으로서, m이 2의 승수 값을 가진다고 가정하면(즉,
Figure 112008065368189-pat00006
),
Figure 112008065368189-pat00007
이 l=d 일 때 행렬 크기가 최소가 되고 그때의 행렬
Figure 112008065368189-pat00008
Figure 112008065368189-pat00009
가 된다.
E2RC 구조를 갖는 패리티 서브 행렬은 행렬의 첫 번째 열부터 차례대로 천공 순서가 매겨진다. 따라서, E2RC 구조를 갖는 패리티 서브 행렬은 천공 순서가 비교적 간단하여 천공에 편리한 구조를 지니고 있다.
상기 언급한 바와 같이 시간이 변함에 따라 채널 상황이 변화하는 경우에 있어, 오류 정정 부호 시스템은 채널 상황 정보(Channel State Information, CSI)에 따라 부호율이 변경할 수 있어야 하는데, 이러한 부호율 적응성(rate adaptability)을 얻기 위해서는 여러 개의 부호기(encoder)와 복호기(decoder)가 필요한데, 부호기와 복호기의 수가 증가하는 경우, 부호 및 복호의 복잡도가 증가하게 된다.
반면, 천공에 의하여 부호율을 변경하는 경우, 하나의 부호기와 하나의 복호기만으로도 부호율 적응성을 얻을 수 있다. 또한, E2RC 구조를 가진 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하는 경우, 천공의 복잡도가 감소하고, 다른 천공된 LDPC 코드 보다 뛰어난 성능을 얻을 수 있다.
그러나 E2RC 구조를 가진 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하는 경우, 기준 부호율에서 상대적으로 큰 오류 마루가 발생되어, 신호 대 잡음전력비(Signal to Noise Ratio, SNR)가 증가하여도 오류 확률이 크게 줄어들지 않게 되고, BER(Bit Error Rate) 성능이 나빠진다.
본 발명의 목적은 E2RC 구조를 변경하여 낮은 오류 마루를 가지는 저 밀도 패리티 코드를 부호화하는 것이다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명은 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬(sub matrix)을 포함하는 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성부, 상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 천공부, 및 상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어(information code)를 부호화하는 부호화부를 포함하고 상기 패리티 서브 행렬은 E2RC(Efficiently Encodable Rate compatible) 구조를 가지는 복수 개의 제1 블록 행렬을 포함하는 저 밀도 패리티 검사 코드의 부호화 장치를 제공한다.
본 발명의 일측에 따르면, 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성하는 단계, 상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 단계, 및 상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화하는 단계를 포함하고 상기 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함하는 저 밀도 패리티 검사 코드의 부호화 방법이 제공된다.
본 발명에 따르면, 변경된 E2RC 구조를 가지는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하여 저 밀도 패리티 코드의 부호화를 수행함으로써, 낮은 오류 마루를 가지는 저 밀도 패리티 코드를 생성할 수 있다.
이하, 첨부된 도면을 참조하여, 본 발명에 따른 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법에 대해 상세히 설명한다.
도 2는 본 발명의 일실시예에 따른 패리티 서브 행렬을 도시한 도면이다. 이하, 도 2를 참조하여 본 발명의 일실시예에 따른 패리티 서브 행렬을 자세히 설명하기로 한다.
천공된 LDPC 코드를 부호화함에 있어서, 천공이 수행되는 부분은 일정한 구조를 가지는 패리티 서브 행렬(Hp) 부분이다. 천공이 수행되는 행렬 원소(또는 가변 노드)의 수에 따라 LDPC 코드의 부호율을 변경할 수 있다. 천공이 수행되는 행렬 원소(또는 가변 노드)의 수에 따른 부호율은 하기 수학식 2와 같이 표현할 수 있다.
Figure 112008065368189-pat00010
여기서, R은 천공된 LDPC 코드의 부호율, n은 LDPC 코드의 길이, k는 정보어(information code)의 길이, np는 천공된 부호의 길이를 각각 의미한다.
상기 수학식 2를 통해 알 수 있듯이, 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치 및 방법은 천공되는 행렬 원소의 수를 조절함으로써, 부호율을 변경할 수 있다.
종래의 E2RC LDPC 코드의 경우, E2RC구조를 갖는 하나의 행렬로 구성된 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 이용하여 LDPC 코드의 부호화가 수행되었다. LDCP 코드의 길이가 커질수록 패리티 서브 행렬에서의 최대 검사 노드 차수가 커지게 되는데, 이러한 최대 검사 노드 차수의 증가는 패리티 서브 행렬에서의 검사 노드의 차수 분포가 더욱 분산되도록 하였고, 이로 인해 작은 값의 ACE(Approximate cycle EMD)를 갖는 사이클을 많이 생성되었다. 즉, 작은 크기의 정지 집합(stopping set)의 개수가 많아지게 되고, 그 결과 LDPC 코드는 높은 오류 마루를 갖게 된다. 높은 오류 마루를 갖는 LDPC 코드의 경우, 신호 대 잡음 비가 증가하여도 오류 확률이 크게 줄지 않아 BER(Bit Error Rate), FER(Frame Error Rate) 성능이 낮아지게 되었다.
본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치 및 방 법은 E2RC 구조를 갖는 패리티 서브 행렬의 구조를 변경함으로써, 패리티 서브 행렬에서의 최대 검사 노드 차수를 감소시키고 전체 검사 노드 차수 분포를 응집시켜, 기존 성능의 열화 없이도 높은 오류 마루를 갖는 LDPC 코드의 문제점을 해결할 수 있게 된다.
도 2에 도시된 바와 같이 본 발명의 일실시예에 따르면, 패리티 서브 행렬(Hp)은 복수 개의 블록 행렬을 포함하여 구성될 수 있다. 이 때, 패리티 서브 행렬(Hp)은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함할 수 있다.
Figure 112008065368189-pat00011
내지
Figure 112008065368189-pat00012
행렬은 E2RC 구조를 가지는 제1 블록 행렬을 각각 의미한다. E2RC 구조의 제1 블록 행렬은 재귀적인 형태를 가지는데, 상기
Figure 112008065368189-pat00013
내지
Figure 112008065368189-pat00014
행렬을 일반화하여 표현하면 하기 수학식 3과 같다.
Figure 112008065368189-pat00015
여기서, b는 E2RC 구조를 가지는 블록 행렬의 크기,
Figure 112008065368189-pat00016
Figure 112008065368189-pat00017
의 크기를 갖는 단위 행렬,
Figure 112008065368189-pat00018
Figure 112008065368189-pat00019
의 크기를 갖는 영행렬을 각각 의미한다. 또한,
Figure 112008065368189-pat00020
은 1 에서
Figure 112008065368189-pat00021
사이의 값을 갖는 자연수이고, j는 1 에서
Figure 112008065368189-pat00022
(
Figure 112008065368189-pat00023
, m은 패리티 검사 행렬의 크기를 의미함)의 값을 갖는 복수개의 E2RC 구조를 가지는 블록 행렬의 순서를 각각 의미하고, b와
Figure 112008065368189-pat00024
Figure 112008065368189-pat00025
의 관계를 가진다.
Figure 112008065368189-pat00026
Figure 112008065368189-pat00027
값을 갖는 경우,
Figure 112008065368189-pat00028
가 된다.
도 2에 도시된 바와 같이 본 발명의 일실시예에 따르면, 패리티 서브 행렬(Hp)은 제1 블록 행렬의 행렬 크기에 상응하는 블록 단위의 행과 열로 표현될 수 있고, 이때, 복수 개의 제1 블록 행렬들은 패리티 서브 행렬(Hp)의 블록 단위의 대각선 축 상에 위치할 수 있다. 이는 E2RC 구조의 행렬 특성에 따른 것이다.
또한, 패리티 서브 행렬(Hp)은 복수 개의 영행렬(Ob)과 복수 개의 제2 블록 행렬(Cb)을 포함하여 구성될 수 있다.
대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 0의 값을 가지는 엘리먼트들 이외의 극소수의 엘리먼트들이 0이 아닌 값(non-zero value, 예를 들어 1의 값)을 가지는 패리티 검사 행렬의 특성을 만족시키기 위해, 패리티 서브 행렬의 대부분은 행렬 원소가 0의 값을 갖는 영행렬(Ob)로 구성된다.
제2 블록 행렬(Cb)는 LDPC 코드 부호화의 성능 향상을 위해 추가되는 블록 행렬로서, 이는 하기 수학식 4와 같이 표현할 수 있다.
Figure 112008065368189-pat00029
즉, 제2 블록 행렬(Cb)는 패리티 서브 행렬(Hp)에서의 가변 노드의 차수를 "2"로 맞추기 위해 추가 되는 서브 행렬이다. 패리티 서브 행렬(Hp)서의 가변 노드의 차수가 2인 경우, 즉 제2 블록 행렬(Cb)를 추가한 경우, LDPC 코드의 부호화 성능은 높아지게 된다.
본 발명의 일실시예에 따르면, 패리티 서브 행렬(Hp)의 최우측 블록 단위의 열은 제2 블록 행렬을 포함하지 않을 수 있다. 패리티 서브 행렬(Hp)의 최우측 블 록 단위 열에 제2 블록 행렬(Cb)이 포함된 경우보다 포함되지 않은 경우, 패리티 서브 행렬의 최우측 열의 가변 노드의 차수는 1이 되고, 이 경우, LDPC 코드는 더 좋은 성능을 갖게 된다. 이는 E2RC 구조의 특성에 따른 것이다.
이와 같이, 본 발명은 LDPC 코드의 부호화에 사용되는 패리티 서브 행렬을 복수 개의 E2RC 구조를 갖는 작은 크기의 제1 블록 행렬을 포함하도록 구성함으로써, 패리티 서브 행렬의 최대 검사 노드 차수가 패리티 서브 행렬의 행렬 크기(m)가 아닌 제1 블록 행렬의 행렬 크기(b)에 의해 결정되도록 한다. 다시 말해, 행렬 크기가 작은(즉, b 값이 작은) 제1 블록 행렬을 이용하여 LDPC 코드의 부호화를 수행하는 경우, 패리티 검사 행렬의 검사 노드의 차수 분포가 응집되고, 최대 검사 노드 차수가 작아지게 된다. 이에 따라 패리티 서브행렬의 최대 검사 노드 차수는 LDPC 코드의 길이에 상관없이 고정된 값을 상기 언급한 높은 오류 마루의 문제를 해결할 수 있게 된다.
도 2에서 도시된 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행하는 경우, 검사 노드의 차수 분포에 관한 다항식의 일반식은 하기 수학식 5에 따라 결정된다.
Figure 112008065368189-pat00030
여기서,
Figure 112008065368189-pat00031
는 검사 노드의 차수 분포에 관한 다항식, i는 검사 노드에 연결된 에지의 개수,
Figure 112008065368189-pat00032
는 i개의 에지와 연결된 검사 노드의 수 대 전체 에지의 수의 비율을 각각 의미하는데, 이 경우
Figure 112008065368189-pat00033
는 하기 수학식 6에 따라서 결정될 수 있다.
Figure 112008065368189-pat00034
Figure 112008065368189-pat00035
상기 수학식 6을 통해 알 수 있듯이, 도 2에 도시된 패리티 서브 행렬(Hp)를 이용하여 LDPC 코드의 부호화를 수행하는 경우, 패리티 서브 행렬(Hp)의 최대 검 사 노드 차수는 행렬 크기 m과 상관 없이
Figure 112008065368189-pat00036
에 의해 결정된다. 따라서,
Figure 112008065368189-pat00037
값을 작게 하는 경우, 즉 제1 블록 행렬의 크기를 작게 하는 경우, 패리티 검사 행렬의 검사노드의 차수 분포가 응집되고, 최대 검사 노드 차수의 크기가 줄어들어, 낮은 오류 마루를 갖는 LDPC 코드를 부호화 할 수 있게 된다.
일례로서, 정보어의 길이가 1024이고, LDPC 코드의 길이가 2048인 경우, 16×16 의 행렬 크기를 갖는 제1 블록 행렬 및 제2 블록 행렬을 포함하는 패리티 서브 행렬을 이용하여 LDPC 부호화를 수행한다고 가정하여 종래의 E2RC LDPC 코드와 본 발명의 일례에 따른 E2RC LDPC 코드를 각각 비교해 보면, 가변 노드의 차수 분포는 0.00015+0.30765x+0.27287x2+0.41933 x6로 동일하나, 검사 노드의 차수 분포는 0.441899x5+0.521797x6+0.017854x7+0.012052x8+0.002976x9+0.001637x10+0.001785x11(종래의 E2RC LDPC 코드)와 0.400833x5+0.596786x6+0.002381x7(본 발명의 일례에 따른 E2RC LDPC 코드)로 각각 다른 형태를 가진다. 즉 본 발명의 일례에 따른 E2RC LDPC 코드가 종래의 E2RC LDPC 코드 보다 더 응집된 검사 노드의 차수 분포를 가지게 되고, 이에 따라 본 발명의 일례에 따른 E2RC LDPC 코드가 종래의 E2RC LDPC 코드에 비해 더 좋은 성능(낮은 오류 마루)을 가지게 됨을 알 수 있다.
도 3은 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치의 구조를 도시한 블록도이다.
본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치(300)는 패리티 검사 행렬 생성부(310), 천공부(320), 및 부호화부(330)를 포함한다. 이하, 도 3을 참조하여 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치에 대해 자세히 설명하기로 한다.
패리티 검사 행렬 생성부(310)는 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성하는 기능을 수행한다.
패리티 검사 행렬은 선형 부호의 패리티 검사를 나타내는 행렬로서, 패리티 검사 행렬은 메시지 비트인 행렬 원소와 패리티 비트인 행렬 원소를 포함한다. 패리티 서브 행렬은 패리티 비트인 행렬 원소로 구성된 패리티 검사 행렬의 서브 행렬(sub matrix)을 의미한다.
본 발명의 일실시예에 따르면, 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함할 수 있다.
종래의 E2RC LDPC 코드의 경우, E2RC 구조를 갖는 하나의 행렬로서 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행하였으나, 본 발명의 일실시예에 따른 저 밀도 패리티 코드의 부호화 장치는 E2RC 구조를 갖는 복수 개의 제1 블록 행렬을 포함하는 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행한다. 이 경우, 각각의 제1 블록 행렬들은 동일한 행렬 크기를 가질 수 있다.
본 발명의 일실시예에 따르면, 패리티 서브 행렬의 행의 개수 및 제1 블록 행렬의 행의 개수는 2의 지수 승 형태일 수 있다.
이는 E2RC 구조를 갖는 행렬의 구조에 기인한 것으로서, 제1 블록 행렬의 행의 개수가 2의 지수 승 형태로 표현되는 경우(예를 들어,
Figure 112008065368189-pat00038
) 패리티 서브 행렬의 설계가 간단해진다.
본 발명의 일실시예에 따르면, E2RC 구조를 가지는 복수 개의 제1 블록 행렬은 패리티 서브 행렬의 블록 단위의 대각선 축(diagonal)상에 위치할 수 있다. 이는 E2RC 구조의 행렬 특성에 따른 것이다.
본 발명의 일실시예에 따르면, 패리티 서브 행렬은 패리티 서브 행렬에서의 가변 노드의 차수를 조절하기 위한 적어도 하나의 제2 블록 행렬을 포함할 수 있다. 일례로서, E2RC 구조를 갖는 행렬의 경우, 가변 노드의 차수가 2의 값을 가질 수 있는데, 이 경우, 제2 블록 행렬은 1의 값을 갖는 하나의 행렬 원소를 포함할 수 있고, 나머지 행렬 원소는 0의 값을 가질 수 있다.
본 발명의 일실시예에 따르면, 제1 블록 행렬과 제2 블록 행렬은 동일한 행렬크기를 갖고, 패리티 서브 행렬에서 최우측 블록 단위의 열을 제외한 각각의 블록 단위의 열은 복수 개의 제1 블록 행렬 중 하나의 제1 블록 행렬과 적어도 하나의 제2 블록 행렬 중 하나의 제2 블록 행렬을 포함할 수 있다. 일례로서, 도 2에 도시된 패리티 서브 행렬(Hp)의 구조와 같이, 복수 개의 제1 블록 행렬들은 패리티 서브 행렬의 블록 단위의 대각선 축 상에 위치하고, 적어도 하나의 제2 블록 행렬들은 제1 블록 행렬의 하부에 위치할 수 있다. 본 발명의 일례에 따르면, 제1 블록 행렬은 상기 수학식 3과 같이 표현될 수 있고, 제2 블록 행렬은 상기 수학식 4와 같이 표현될 수 있는데, 이 경우, 패리티 서브 행렬에서의 가변 노드의 차수는 패리티 서브 행렬의 최우측 열을 제외하고는 2로 결정될 수 있다(최우측 열의 가변 노드 차수는 1이 된다).
본 발명의 일실시예에 따르면, 패리티 서브 행렬에서의 검사 노드의 차수 분포는 제1 블록 행렬의 행렬 크기에 기초하여 결정될 수 있다. 즉, 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치는 패리티 서브 행렬에서의 검사 노드의 차수 분포가 패리티 서브 행렬의 행렬 크기가 아닌 제1 블록 행렬의 행렬 크기에 따라 결정된다. 이에 따라, LDPC 코드의 크기가 큰 경우에도 작은 행렬 크기를 갖는 제1 블록 행렬을 사용하여 부호화를 수행하는 경우, 낮은 오류 마루를 갖는 LDPC 코드를 부호화 할 수 있게 된다. 본 발명의 일례에 따르면, 패리티 서브 행렬에서의 검사 노드의 차수 분포는 상기 수학식 5 및 상기 수학식 6에 따라 결정될 수 있다.
천공부(320)는 패리티 서브 행렬의 행렬 원소 중에서 적어도 하나의 행렬원소에 대하여 천공을 수행한다.
천공(puncture)은 코드의 부호화에 있어서, 부호율(code rate)을 조절하기 위하여, 전송하고자 하는 데이터에서 일부 비트(노드)를 보내지 않는 것을 의미한다. 천공된 코드를 복호화 하기 위해서는 천공된 일부 비트(노드)의 위치를 복호기가 알고 있다는 전제가 필요하다.
본 발명의 일실시예에 따르면, 천공부(320)는 복수 개의 제1 블록 행렬 각 각에 대하여, 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 천공 순서에 따라 제1 블록 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행할 수 있다.
즉, 천공부(320)는 패리티 서브 행렬의 행렬 원소에 대하여 천공을 수행함에 있어서, 제1 블록 행렬의 행렬 크기에 기초하여 각각의 제1 블록 행렬의 행렬 원소를 천공한다.
이 경우, 제1 블록 행렬에서의 천공의 순서는 제1 블록 행렬의 크기에 기초하여 결정될 수 있는데, 천공의 순서는 각각의 블록화된 제1 블록 행렬의 0 값을 갖는 행렬 원소를 제외하고, k-SR 노드에서 k 값이 낮은 순서부터 천공이 진행될 수 있다. 천공이 수행되는 노드의 순서를 천공할 노드의 색인으로 정의하면, 천공할 노드의 색인은 하기 수학식 7에 따라서 결정될 수 있다.
Figure 112008065368189-pat00039
여기서, j는 천공의 순서, pj는 천공이 수행되는 노드의 순서(에지, 검사 노드, 가변 노드로 구성되는 인수 그래프에 있어서, j번째 천공은 좌측에서 pj 번째 노드에 대해 수행됨), r은
Figure 112008065368189-pat00040
를, q는
Figure 112008065368189-pat00041
를 각각 의미한다. 이 경우, j는
Figure 112008065368189-pat00042
의 범위를 갖는다.
상기 수학식 7에서 알 수 있듯이, 각각의 제1 블록 행렬에서의 천공의 순서는 제1 블록 행렬의 행렬 크기인 b값에 따라 결정된다.
부호화부(330)는 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화하는 기능을 수행한다.
본 발명의 일례에 따르면, 각각의 제1 블록 행렬들은 적어도 하나의 비천공 노드를 포함하는데, 이 경우, 최대 천공 노드의 수는 m- mb 가 되고, LDPC 코드의 최대 부호율은 하기 수학식 8과 같이 표현할 수 있다.
Figure 112008065368189-pat00043
여기서, k는 정보어의 길이, n은 LDPC 코드의 길이, m(=n-k)은 검사 노드의 개수를 의미하고,
Figure 112008065368189-pat00044
,
Figure 112008065368189-pat00045
,
Figure 112008065368189-pat00046
의 관계가 각각 성립한다.
도 4는 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 방법을 단계별로 도시한 도면이다. 이하 도 4를 참조하여 각 단계별로 수행되는 과 정을 상술하기로 한다
단계(S410)에서는 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성한다.
본 발명의 일실시예에 따르면, 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함할 수 있다.
종래의 E2RC LDPC 코드의 경우, E2RC 구조를 갖는 하나의 행렬로서 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행하였으나, 본 발명의 일실시예에 따른 저 밀도 패리티 코드의 부호화 장치는 E2RC 구조를 갖는 복수 개의 제1 블록 행렬을 포함하는 패리티 서브 행렬을 이용하여 LDPC 코드의 부호화를 수행한다. 이 경우, 각각의 제1 블록 행렬들은 동일한 행렬 크기를 가질 수 있다.
본 발명의 일실시예에 따르면, 패리티 서브 행렬의 행의 개수 및 제1 블록 행렬의 행의 개수는 2의 지수 승 형태일 수 있다. 이는 패리티 서브 행렬의 설계를 간단하게 하기 위함이다.
본 발명의 일실시예에 따르면, E2RC 구조를 가지는 복수 개의 제1 블록 행렬은 패리티 서브 행렬의 블록 단위의 대각선 축 상에 위치할 수 있다.
본 발명의 일실시예에 따르면, 패리티 서브 행렬은 패리티 서브 행렬에서의 가변 노드의 차수를 조절하기 위한 적어도 하나의 제2 블록 행렬을 포함할 수 있다. 일례로서, 제2 블록 행렬은 1의 값을 갖는 하나의 행렬 원소를 포함할 수 있 고, 나머지 행렬 원소는 0의 값을 가질 수 있다.
본 발명의 일실시예에 따르면, 제1 블록 행렬과 제2 블록 행렬은 동일한 행렬크기를 갖고, 패리티 서브 행렬에서 최우측 블록 단위의 열을 제외한 각각의 블록 단위의 열은 복수 개의 제1 블록 행렬 중 하나의 제1 블록 행렬과 적어도 하나의 제2 블록 행렬 중 하나의 제2 블록 행렬을 포함할 수 있다.
본 발명의 일실시예에 따르면, 패리티 서브 행렬에서의 검사 노드의 차수 분포는 제1 블록 행렬의 행렬 크기에 기초하여 결정될 수 있다. 즉, LDPC 코드의 크기가 큰 경우에도 작은 행렬 크기를 갖는 제1 블록 행렬을 사용하여 부호화를 수행하는 경우, 낮은 오류 마루를 갖는 LDPC 코드를 부호화 할 수 있게 된다.
단계(S420)에서는 단계(S410)에서 생성된 패리티 서브 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행한다. 천공된 코드를 복호화 하기 위해서는 천공된 일부 비트(노드)의 위치를 복호기가 알고 있다는 전제가 필요하다.
본 발명의 일실시예에 따르면, 단계(S420)에서는 복수 개의 제1 블록 행렬 각각에 대하여, 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 천공 순서에 따라 제1 블록 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행할 수 있다.
단계(S430)에서는 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화한다.
지금까지 본 발명에 따른 저 밀도 패리티 검사 코드의 부호화 방법의 실시 예들에 대하여 설명하였고, 앞서 도 3에서 설명한 안테나 방사 성능 측정 시스템에 관한 구성이 본 실시예에도 그대로 적용 가능하다. 이에, 보다 상세한 설명은 생략하기로 한다.
또한, 본 발명에 따른 저 밀도 패리티 검사 코드의 부호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므 로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 종래 기술에 따른 천공된 LDPC 코드의 복구 트리의 일례를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 패리티 서브 행렬을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 장치의 구조를 도시한 블록도이다.
도 4는 본 발명의 일실시예에 따른 저 밀도 패리티 검사 코드의 부호화 방법을 단계별로 도시한 도면이다.

Claims (10)

  1. 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬(sub matrix)을 포함하는 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성부;
    상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 천공부; 및
    상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어(information code)를 부호화하는 부호화부
    를 포함하고
    상기 패리티 서브 행렬은 E2RC(Efficiently Encodable Rate compatible) 구조를 가지는 복수 개의 제1 블록 행렬을 포함하고, 상기 복수 개의 제1 블록 행렬은 상기 패리티 서브 행렬의 블록 단위의 대각선 축(diagonal) 상에 위치하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.
  2. 제1항에 있어서,
    상기 패리티 서브 행렬의 행의 개수 및 상기 제1 블록 행렬의 행의 개수는 2의 지수 승 형태인 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 패리티 서브 행렬은 상기 패리티 서브 행렬에서의 가변 노드의 차수를 조절하기 위한 적어도 하나의 제2 블록 행렬을 포함하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.
  5. 제4항에 있어서,
    상기 제1 블록 행렬과 상기 제2 블록 행렬은 동일한 행렬 크기를 갖고,
    상기 패리티 서브 행렬에서 최우측 블록 단위의 열을 제외한 각각의 블록 단위의 열은 상기 복수 개의 제1 블록 행렬 중 하나의 제1 블록 행렬과 상기 적어도 하나의 제2 블록 행렬 중 하나의 제2 블록 행렬을 포함하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.
  6. 제1항에 있어서,
    상기 패리티 서브 행렬에서의 검사 노드의 차수 분포는 상기 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.
  7. 제1항에 있어서,
    상기 천공부는 상기 복수 개의 제1 블록 행렬 각각에 대하여, 상기 제1 블록 행렬의 행렬 크기에 기초하여 결정되는 천공 순서에 따라서 상기 제1 블록 행렬의 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 장치.
  8. 패리티 비트를 행렬 원소로 하는 패리티 서브 행렬을 포함하는 패리티 검사 행렬을 생성하는 단계;
    상기 패리티 서브 행렬의 상기 행렬 원소 중에서 적어도 하나의 행렬 원소에 대하여 천공을 수행하는 단계; 및
    상기 천공이 수행된 패리티 검사 행렬을 이용하여 사용자로부터 입력되는 정보어를 부호화하는 단계
    를 포함하고
    상기 패리티 서브 행렬은 E2RC 구조를 가지는 복수 개의 제1 블록 행렬을 포함하고, 상기 복수 개의 제1 블록 행렬은 상기 패리티 서브 행렬의 블록 단위의 대각선 축 상에 위치하는 것을 특징으로 하는 저 밀도 패리티 검사 코드의 부호화 방법.
  9. 삭제
  10. 삭제
KR1020080091003A 2008-05-09 2008-09-17 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법 KR100999272B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080043432 2008-05-09
KR1020080043432 2008-05-09

Publications (2)

Publication Number Publication Date
KR20090117584A KR20090117584A (ko) 2009-11-12
KR100999272B1 true KR100999272B1 (ko) 2010-12-07

Family

ID=41602035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080091003A KR100999272B1 (ko) 2008-05-09 2008-09-17 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100999272B1 (ko)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE Communications, IEEE Transactions on - The design of efficiently-encodable rate-compatible LDPC codes (J. Kim, A. Ramamoorthy, and S. W. McLaughlin, 2006)
Information Theory, 2006 IEEE International Symposium on-Design of Rate-Compatible Irregular LDPC Codes for Incremental Redundancy Hybrid ARQ Systems (Jaehong Kim, Woonhaing Hur, Ramamoorthy, A., McLa

Also Published As

Publication number Publication date
KR20090117584A (ko) 2009-11-12

Similar Documents

Publication Publication Date Title
KR101208546B1 (ko) 저밀도 패리티 체크 행렬을 이용한 부호화 및 복호화 방법
KR100640399B1 (ko) 저밀도 패리티 검사 채널 부호의 천공 방법
KR100703483B1 (ko) 저밀도 패러티 검사 부호의 천공 방법
JP5506879B2 (ja) 低密度パリティ検査符号を使用する通信システムのチャネル復号化装置及び方法
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
KR100574306B1 (ko) Ldpc 코드를 디코딩하기 위한 방법 및 시스템
CN103888148A (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
US8656244B1 (en) Rate adaptive nonbinary LDPC codes with low encoding complexity
KR20120083858A (ko) 통신/방송 시스템에서 데이터 송수신 장치 및 방법
US8667378B2 (en) Decoding method and device for concatenated code
KR20140145978A (ko) Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법
US7949932B2 (en) Strengthening parity check bit protection for array-like LDPC codes
US8468430B2 (en) Product code decoding method and device
CN101141133A (zh) 一种结构化低密度校验码的编码方法
US8429483B1 (en) Edge-based decoders for low-density parity-check codes
US20080294963A1 (en) Method and apparatus for designing low density parity check code with multiple code rates, and information storage medium thereof
KR20130038782A (ko) 통신/방송 시스템에서 데이터 송수신 장치 및 방법
KR20090003164A (ko) 검사 행렬 생성 방법
KR20070059696A (ko) 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
CN113826327A (zh) 用于在通信或广播系统中解码数据的方法和装置
CN104883194B (zh) 一种rs-ldpc二维乘积码的h矩阵构造方法及其滑动截断译码方法
CN109067408A (zh) 一种原模图ldpc码的设计方法
CN110830048B (zh) 基于奇偶校验矩阵分解构造全分集ldpc码的纠错方法
KR100837730B1 (ko) 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
CN108206722B (zh) 高码率数据发送方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20131129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee