KR101644656B1 - 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법 - Google Patents

선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법 Download PDF

Info

Publication number
KR101644656B1
KR101644656B1 KR1020100082182A KR20100082182A KR101644656B1 KR 101644656 B1 KR101644656 B1 KR 101644656B1 KR 1020100082182 A KR1020100082182 A KR 1020100082182A KR 20100082182 A KR20100082182 A KR 20100082182A KR 101644656 B1 KR101644656 B1 KR 101644656B1
Authority
KR
South Korea
Prior art keywords
parity check
check matrix
ldpc code
column
ldpc
Prior art date
Application number
KR1020100082182A
Other languages
English (en)
Other versions
KR20110048450A (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
Priority claimed from KR1020100027322A external-priority patent/KR20110048443A/ko
Priority claimed from KR1020100054388A external-priority patent/KR20110048448A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100082182A priority Critical patent/KR101644656B1/ko
Priority to AU2010313884A priority patent/AU2010313884B2/en
Priority to EP20120161283 priority patent/EP2472725A1/en
Priority to CN201080060226.0A priority patent/CN102696175B/zh
Priority to US12/917,944 priority patent/US8423860B2/en
Priority to EP10189685A priority patent/EP2317656A1/en
Priority to RU2012122774/08A priority patent/RU2537806C2/ru
Priority to JP2012536707A priority patent/JP5436688B2/ja
Priority to PCT/KR2010/007679 priority patent/WO2011053101A2/en
Publication of KR20110048450A publication Critical patent/KR20110048450A/ko
Publication of KR101644656B1 publication Critical patent/KR101644656B1/ko
Application granted granted Critical

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
    • 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
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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/033Theoretical methods to calculate these checking 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
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6519Support of multiple transmission or communication standards
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6552DVB-T2

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 LDPC(Low-Density Parity Check) 부호를 이용하는 통신 시스템에서 부호화/복호화 방법 및 장치에 대한 것으로서, 본 발명의 실시 예에 따른 부호화 방법은, 상기 LDPC 부호의 패리티 검사 행렬을 결정하는 과정과, 상기 결정된 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 과정을 포함하며, 여기서 부호율은 1/5이고, 부호어의 길이는 4320이다.

Description

선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법{APPARATUS AND METHOD FOR GENERATING A PARITY CHECK METRIX IN COMMUNICATION SYSTEM USING LOW-DENSITY PARITY-CHECK CODES AND CHANNEL ENCODING AND DECODING USING THE SAME}
본 발명은 선형 블록 부호를 사용하는 통신 시스템에 관한 것으로, 특히 특정한 형태의 선형 블록 부호를 생성하는 채널 부호화/복호화(channel encoding/decoding) 장치 및 방법에 관한 것이다.
무선 통신 시스템에서는 채널의 여러 가지 잡음(noise)과 페이딩(fading) 현상 및 심볼간 간섭(inter-symbol interference, ISI)에 의해 링크(link)의 성능이 현저히 저하된다. 따라서, 차세대 이동 통신, 디지털 방송 및 휴대 인터넷과 같이 높은 데이터 처리량과 신뢰도를 요구하는 고속 디지털 통신 시스템들을 구현하기 위해서 잡음과 페이딩 및 ISI에 대한 극복 기술을 개발하는 것이 필수적이다. 최근에는 정보의 왜곡을 효율적으로 복원하여 통신의 신뢰도를 높이기 위한 방법으로서 오류정정부호(error-correcting code)에 대한 연구가 활발히 이루어지고 있다.
LDPC(Low Density Parity Check) 부호는 상기 선형 블록 부호 중 하나로 1960년대에 Gallager에 의해서 처음 소개되었으며 당시 기술을 훨씬 능가하는 구현 복잡도로 인해 오랫동안 잊혀져 왔다. 하지만, 1993년 Berrou와 Glavieux, Thitimajshima에 의해 발견된 터보(turbo) 부호가 새넌(Shannon)의 채널 용량에 근접하는 성능을 보임에 따라, 터보 부호의 성능과 특성에 대한 많은 해석이 이루어지면서 반복 복호(iterative decoding)와 그래프를 기반으로 하는 채널 부호화에 대한 많은 연구가 진행되었다. 이를 계기로 1990년대 후반에 상기 LDPC 부호에 대해 재연구되면서 상기 LDPC 부호에 대응되는 Tanner 그래프(factor 그래프의 특별한 경우)상에서 합곱(sum-product) 알고리즘에 기반한 반복 복호(iterative decoding)를 적용하여 복호화를 수행하면 Shannon의 채널 용량에 근접하는 성능을 가짐이 밝혀졌다.
이하에서는 상기 LDPC 부호를 기반으로 본 발명을 설명하고자 하나, 본 발명이 LDPC 부호에 국한된 것은 아니다.
상기 LDPC 부호는 통상적으로 그래프 표현법을 이용하여 나타내며, 그래프 이론 및 대수학, 확률론에 기반한 방법들을 통해 많은 특성을 분석할 수 있다. 일반적으로 채널 부호의 그래프 모델은 부호의 묘사(descriptions)에 유용할 뿐만 아니라, 부호화된 비트에 대한 정보를 그래프 내의 정점(vertex)에 대응시키고 각 비트들의 관계를 그래프 내에서 선분(edges)으로 대응시키면, 각 정점들이 각 선분들을 통해서 정해진 메시지(messages)를 주고받는 통신 네트워크로 간주할 수 있기 때문에 자연스런 복호 알고리즘을 이끌어 낼 수 있다. 예를 들면, 그래프의 일종으로 볼 수 있는 트렐리스(trellis)에서 유도된 복호 알고리즘에는 잘 알려진 비터비(Viterbi) 알고리즘과 BCJR(Bahl, Cocke, Jelinek and Raviv) 알고리즘이 있다.
상기 LDPC 부호는 일반적으로 패리티 검사행렬(parity-check matrix)로 정의되며 Tanner 그래프로 통칭되는 이분(bipartite) 그래프를 이용하여 표현될 수 있다. 상기 이분 그래프는 그래프를 구성하는 정점들이 서로 다른 2 종류로 나누어져 있음을 의미하며, 상기 LDPC 부호의 경우에는 변수 노드(variable node)와 검사 노드(check node)라 불리는 정점들로 이루어진 이분 그래프로 표현된다. 상기 변수 노드는 부호화된 비트와 일대일 대응된다.
도 1 및 도 2를 참조하여 상기 LDPC 부호의 그래프 표현 방법에 대해 설명하기로 한다.
도 1은 4 개의 행(row)과 8 개의 열(column)로 이루어진 상기 LDPC 부호의 패리티 검사 행렬
Figure 112015082085687-pat00001
의 예이다. 도 1을 참조하면, 패리티 검사 행렬
Figure 112015082085687-pat00002
은 열이 8개 있기 때문에 LDPC 부호에서 길이가 8인 부호어(codeword)를 생성하며, 각 열은 부호화된 8 비트와 대응된다.
도 2는 도 1의
Figure 112010054687083-pat00003
에 대응하는 Tanner 그래프를 도시한 도면이다.
도 2를 참조하면, 상기 LDPC 부호의 상기 Tanner 그래프는 8개의 변수 노드들
Figure 112010054687083-pat00004
(202),
Figure 112010054687083-pat00005
(204),
Figure 112010054687083-pat00006
(206),
Figure 112010054687083-pat00007
(208),
Figure 112010054687083-pat00008
(210),
Figure 112010054687083-pat00009
(212),
Figure 112010054687083-pat00010
(214),
Figure 112010054687083-pat00011
(216)과 4개의 검사 노드(check node)(218, 220, 222, 224)들로 구성되어 있다. 여기서, 상기 LDPC 부호의 패리티 검사 행렬
Figure 112010054687083-pat00012
Figure 112010054687083-pat00013
번째 열과
Figure 112010054687083-pat00014
번째 행은 각각 변수 노드
Figure 112010054687083-pat00015
Figure 112010054687083-pat00016
번째 검사 노드에 대응된다. 또한, 상기 LDPC 부호의 패리티 검사 행렬
Figure 112010054687083-pat00017
Figure 112010054687083-pat00018
번째 열과
Figure 112010054687083-pat00019
번째 행이 교차하는 지점의 1의 값, 즉 0이 아닌 값의 의미는, 상기 도 2와 같이 상기 Tanner 그래프 상에서 상기 변수 노드
Figure 112010054687083-pat00020
Figure 112010054687083-pat00021
번째 검사 노드를 연결하는 선분(edge)이 존재함을 의미한다.
상기 LDPC 부호의 Tanner 그래프에서 변수 노드 및 검사 노드의 차수(degree)는 각 노드들에 연결되어 있는 선분의 개수를 의미하며, 이는 상기 LDPC 부호의 패리티 검사행렬에서 해당 노드에 대응되는 열 또는 행에서 0이 아닌 원소(entry)들의 개수와 동일하다. 예를 들어, 상기 도 2에서 변수 노드들
Figure 112015082085687-pat00022
(202),
Figure 112015082085687-pat00023
(204),
Figure 112015082085687-pat00024
(206),
Figure 112015082085687-pat00025
(208),
Figure 112015082085687-pat00026
(210),
Figure 112015082085687-pat00027
(212),
Figure 112015082085687-pat00028
(214),
Figure 112015082085687-pat00029
(216)의 차수는 각각 순서대로 4, 3, 3, 3, 2, 2, 2, 2가 되며, 검사 노드들(218, 220, 222, 224)의 차수는 각각 순서대로 6, 5, 5, 5가 된다. 또한, 상기 도 2의 변수 노드들에 대응되는 상기 도 1의 패리티 검사 행렬
Figure 112015082085687-pat00030
의 각각의 열에서 0이 아닌 원소들의 개수는 상기한 변수 노드들의 차수들 4, 3, 3, 3, 2, 2, 2, 2와 순서대로 일치하며, 상기 도 2의 검사 노드들에 대응되는 상기 도 1의 패리티 검사 행렬
Figure 112015082085687-pat00031
의 각각의 행에서 0이 아닌 원소들의 개수는 상기한 검사 노드들의 차수들 6, 5, 5, 5와 순서대로 일치한다.
LDPC 부호의 노드에 대한 차수 분포를 표현하기 위하여 차수가
Figure 112015082085687-pat00032
인 변수 노드의 개수와 변수 노드 총 개수와의 비율을
Figure 112015082085687-pat00033
라 하고, 차수가
Figure 112015082085687-pat00034
인 검사 노드의 개수와 검사 노드 총 개수와의 비율을
Figure 112015082085687-pat00035
라 하자. 예를 들어 상기 도 1과 도 2에 해당하는 LDPC 부호의 경우에는
Figure 112015082085687-pat00036
,
Figure 112015082085687-pat00037
,
Figure 112015082085687-pat00038
,
Figure 112015082085687-pat00039
에 대해서
Figure 112015082085687-pat00040
이며,
Figure 112015082085687-pat00041
,
Figure 112015082085687-pat00042
,
Figure 112015082085687-pat00043
에 대해서
Figure 112015082085687-pat00044
이다. LDPC 부호에서 부호어의 길이를
Figure 112015082085687-pat00045
, 즉 패리티 검사 행렬에서 열의 개수를
Figure 112015082085687-pat00046
이라 하고, 행의 개수를
Figure 112015082085687-pat00047
이라 할 때, 상기 차수 분포를 가지는 패리티 검사 행렬 전체에서 0이 아닌 원소의 밀도는 하기의 <수학식 1>과 같이 계산된다.
Figure 112010054687083-pat00048
상기 <수학식 1>에서
Figure 112015082085687-pat00049
이 증가하게 되면 패리티 검사 행렬 내에서 1의 밀도는 계속해서 감소하게 된다. 일반적으로 LDPC 부호는 부호어의 길이
Figure 112015082085687-pat00050
에 대하여 0이 아닌 원소의 밀도가 반비례하므로, N이 큰 경우에는 매우 낮은 밀도를 가지게 된다. LDPC 부호의 명칭에서 저밀도(low-density)란 말은 이와 같은 이유로 유래되었다.
그러면, 특정한 구조를 가지는 LDPC 부호의 패리티 검사 행렬이 가지는 특성을 도 3를 참조하여 설명하기로 한다. 참고로 도 3의 구조를 가지는 LDPC 부호는 DVB-S2, DVB-T2 등의 유럽 디지털 방송 표준(standard)에서 표준 기술로 채택된 바 있다.
도 3을 참조하면,
Figure 112015082085687-pat00051
은 LDPC 부호에서 부호어의 길이이고,
Figure 112015082085687-pat00052
은 정보어의 길이이고,
Figure 112015082085687-pat00053
은 패리티 비트들의 길이를 의미한다. 그리고,
Figure 112015082085687-pat00054
이 성립하도록 정수
Figure 112015082085687-pat00055
Figure 112015082085687-pat00056
를 결정한다. 이때,
Figure 112015082085687-pat00057
도 정수가 되도록 한다. 편의상 도 3의 패리티 검사 행렬을 제 1패리티 검사 행렬
Figure 112015082085687-pat00058
이라 하자.
상기 도 3의 패리티 검사 행렬에서 패리티 비트들에 해당하는 부분(이하, "패리티 부분"), 즉,
Figure 112015082085687-pat00059
번째 열(column)부터
Figure 112015082085687-pat00060
번째 열까지의 구조는 이중 대각(dual diagonal) 형태이다. 따라서, 패리티 부분에 해당하는 열의 차수(degree) 분포는 그 값이 '1'인 마지막 열을 제외하고 모두 '2'를 가진다.
패리티 검사 행렬에서 정보어 부분에 해당하는 부분, 즉 0번째 열부터
Figure 112010054687083-pat00061
번째 열까지의 구조를 이루는 규칙은 다음과 같다.
<규칙 1> : 패리티 검사 행렬에서 정보어에 해당하는
Figure 112010054687083-pat00062
개의 열을
Figure 112010054687083-pat00063
개씩 그룹화(grouping)하여, 총
Figure 112010054687083-pat00064
개의 열 그룹(column group)을 생성한다. 각 열 그룹에 속해있는 각각의 열을 구성하는 방법은 하기 규칙 2에 따른다.
<규칙 2> : 먼저
Figure 112010054687083-pat00065
번째
Figure 112010054687083-pat00066
열 그룹의 각 0번째 열의 1의 위치를 결정한다. 여기서, 각
Figure 112010054687083-pat00067
번째 열 그룹의 0번째 열의 차수를
Figure 112010054687083-pat00068
라 한다. 각 1이 있는 행의 위치를
Figure 112010054687083-pat00069
이라 가정하면,
Figure 112010054687083-pat00070
번째 열 그룹 내의
Figure 112010054687083-pat00071
Figure 112010054687083-pat00072
번째 열에서 1이 있는 행의 위치
Figure 112010054687083-pat00073
Figure 112010054687083-pat00074
는 하기 <수학식 2>와 같이 정의된다.
Figure 112010054687083-pat00075
Figure 112010054687083-pat00076
,
Figure 112010054687083-pat00077
,
Figure 112010054687083-pat00078
상기 규칙에 따르면
Figure 112010054687083-pat00079
번째
Figure 112010054687083-pat00080
열 그룹 내에 속하는 열들의 차수는 모두
Figure 112010054687083-pat00081
로 일정하다.
상기 규칙에 따라 패리티 검사 행렬에 대한 정보를 저장하고 있는 상기 도 3과 같은 구조를 가지는 LDPC 부호의 형태를 쉽게 이해하기 위하여 다음과 같은 구체적인 예를 살펴보자.
구체적인 예로서
Figure 112015082085687-pat00082
,
Figure 112015082085687-pat00083
,
Figure 112015082085687-pat00084
,
Figure 112015082085687-pat00085
이며, 3개의 각 열 그룹의 각 0 번째 열(즉, 첫 번째 열)에 대해 1이 있는 행의 위치 정보는 아래와 같이 나타낼 수 있다. 예를 들어 {0, 1, 2}가 0 번째 열 그룹이라 하면, {0, 1, 2}는 0 번째 열 그룹에서 0 번째 열의 0 번째 행, 1 번째 행, 2 번째에 1이 위치함을 나타낸다.
Figure 112010054687083-pat00086
상기 각 열 그룹의 각 0 번째 열에 대해 1이 위치하는 행의 정보는 편의상 다음과 같이 각 열 그룹 별로 해당 위치 정보만 표기하기도 한다.
0 1 2
0 11 13
0 10 14
즉, 상기 수열은
Figure 112015082085687-pat00088
번째 열 그룹 내의 0번째 열에 대한 1이 위치하는 행의 정보를 순차적으로 나타낸 것이다.
상기 구체적인 예에 해당하는 정보와 <규칙 1> 및 <규칙 2>를 이용하여 패리티 검사 행렬을 구성하면 도 4와 같이 상기 도 3과 같은 구조를 가지는 LDPC 부호와 동일한 개념의 LDPC 부호를 생성할 수 있다.
다음으로, 상술한 바와 같은 DVB-S2의 패리티 검사 행렬을 이용하여 LDPC 부호화를 진행 과정의 각 단계들을 설명한다.
먼저 설명의 편의를 위해 길이가
Figure 112010054687083-pat00089
인 정보어 비트들을
Figure 112010054687083-pat00090
로 나타내고, 길이가
Figure 112010054687083-pat00091
인 패리티 비트들을
Figure 112010054687083-pat00092
로 나타낸다. 하기에서 구체적으로 설명하는 LDPC 부호는
Figure 112010054687083-pat00093
,
Figure 112010054687083-pat00094
,
Figure 112010054687083-pat00095
,
Figure 112010054687083-pat00096
의 특성을 가진다.
< LDPC 부호의 부호화 방법 >
단계 1: 패리티 비트들을 초기화한다:
Figure 112010054687083-pat00097
단계 2: 저장되어 있는 패리티 검사 행렬의 정보로부터 정보어의 첫 번째 열 그룹 내에서 0 번째 열의 1이 위치한 행의 정보를 호출한다:
Figure 112010054687083-pat00098
,
Figure 112010054687083-pat00099
,
Figure 112010054687083-pat00100
,
Figure 112010054687083-pat00101
,
Figure 112010054687083-pat00102
,
Figure 112010054687083-pat00103
,
Figure 112010054687083-pat00104
,
Figure 112010054687083-pat00105
,
Figure 112010054687083-pat00106
,
Figure 112010054687083-pat00107
,
Figure 112010054687083-pat00108
,
Figure 112010054687083-pat00109
,
Figure 112010054687083-pat00110
상기 호출된 정보와 정보어 비트
Figure 112010054687083-pat00111
를 이용하여 하기의 <수학식 3>과 같이 특정 패리티 비트
Figure 112010054687083-pat00112
들을 업데이트한다. 여기서,
Figure 112010054687083-pat00113
는 각각의
Figure 112010054687083-pat00114
,
Figure 112010054687083-pat00115
값을 의미한다.
Figure 112010054687083-pat00116
상기 <수학식 3>에서
Figure 112010054687083-pat00117
는 이진(binary) 덧셈을 의미하며
Figure 112010054687083-pat00118
Figure 112010054687083-pat00119
로 표기할 수도 있다.
단계 3:
Figure 112010054687083-pat00120
이후의 다음 359개의 정보어 비트
Figure 112010054687083-pat00121
에 대해서 먼저 하기의 <수학식 4>의 값을 구한다.
Figure 112010054687083-pat00122
상기 <수학식 4>에서
Figure 112010054687083-pat00123
는 각각의
Figure 112010054687083-pat00124
,
Figure 112010054687083-pat00125
값을 의미한다. 상기 <수학식 4>는 <수학식 2>와 동일한 개념의 수식임에 유의한다.
다음으로 상기 <수학식 4>에서 구한 값을 이용하여 <수학식 3>와 유사한 작업을 수행한다. 즉,
Figure 112010054687083-pat00126
에 대해서
Figure 112010054687083-pat00127
를 업데이트한다. 예를 들어
Figure 112010054687083-pat00128
, 즉,
Figure 112010054687083-pat00129
에 대해서 하기의 <수학식 5>와 같이
Figure 112010054687083-pat00130
들을 업데이트 한다.
Figure 112010054687083-pat00131
상기 <수학식 5>의 경우에는
Figure 112010054687083-pat00132
임에 유의한다. 위와 같은 과정을
Figure 112010054687083-pat00133
에 대해서 마찬가지로 진행한다.
단계 4: 상기 단계 2와 마찬가지로 361번째 정보어 비트
Figure 112010054687083-pat00134
에 대해서
Figure 112010054687083-pat00135
Figure 112010054687083-pat00136
의 정보를 호출하고, 특정
Figure 112010054687083-pat00137
를 업데이트한다. 여기서,
Figure 112010054687083-pat00138
Figure 112010054687083-pat00139
를 의미한다.
Figure 112010054687083-pat00140
이후의 다음 359개의 정보어 비트
Figure 112010054687083-pat00141
에 대해서 <수학식 4>를 유사하게 적용하여
Figure 112010054687083-pat00142
,
Figure 112010054687083-pat00143
를 업데이트한다.
단계 5: 모든 각각의 360개의 정보어 비트 그룹에 대해서 상기 단계 2, 3, 4의 과정을 반복한다. 최종적으로 <수학식 6>을 통해서 패리티 비트를 결정한다.
Figure 112010054687083-pat00144
상기 <수학식 6>의
Figure 112010054687083-pat00145
들이 LDPC 부호화가 완료된 패리티 비트들이다.
위와 같은 LDPC 부호의 부호화 방법에서는 단계 1부터 단계 5까지의 과정을 거쳐 부호화를 진행한다.
통상적인 LDPC 부호의 성능은 Tanner 그래프의 사이클 특성과 밀접한 관련이 있음이 잘 알려져 있다. 특히 Tanner 그래프에서 짧은 길이의 사이클 개수가 많을 경우에 성능 열화가 발생할 수 있음이 실험적으로 잘 알려져 있다. 따라서 우수한 성능을 가지는 LDPC 부호를 설계하기 위해서는 Tanner 그래프 상의 사이클 특성을 고려하여야 한다.
그런데 부호어 길이가 수만 비트 정도 되는 매우 큰 LDPC 부호의 패리티 검사 행렬을 Tanner 그래프 상의 사이클 특성을 고려하여 설계하는 것은 매우 어려운 문제이다. 실제로 상기 도 3과 같은 특정 구조를 가지는 LDPC 부호에 대해 사이클 특성을 좋게 설계하는 방법은 알려진 바가 없으며, 실제로 상기 LDPC 부호의 구조가 적용된 LDPC 부호는 Tanner 그래프의 사이클 특성의 최적화를 고려하지 않아 높은 신호 대 잡음비(signal to noise ratio, SNR)에서 오류마루(error floor) 현상이 관찰된다.
이러한 이유로 상기 도 3의 특정한 구조를 가지는 LDPC 부호를 설계할 경우에는 사이클 특성을 개선하면서 패리티 검사 행렬을 설계할 수 있는 효율적인 방법이 필요하다.
또한, 상기 LDPC 부호를 사용하는 유럽 디지털 방송 표준(standard)의 경우에는 부호의 제한적인 사용으로 인해서 예컨대, 상기 LDPC 부호의 블록 길이가 2개 밖에 없을 뿐만 아니라, 2 개의 블록 길이를 지원하기 위해서도 각각 서로 다른 패리티 검사 행렬을 저장하는 방식을 사용한다.
그러나 LDPC 부호를 실제 통신 시스템에 적용하기 위해서는 상기 통신 시스템에서 요구되는 데이터 전송량에 적합하도록 설계되어야 한다. 특히 복합 재전송(Hybrid Automatic Retransmission Request, HARQ) 방식과 적응형 변조 및 부호화(Adaptive Modulation and Coding, AMC) 방식 등을 적용하는 적응형 통신 시스템 뿐만 아니라 다양한 방송 서비스를 지원하는 통신 시스템에서는 사용자에 요구에 따라 다양한 데이터 전송량을 지원하기 위해 다양한 블록 길이를 가지는 LDPC 부호가 필요하다.
또한, LDPC 부호의 각각의 블록 길이에 대해 독립적인 패리티 검사 행렬을 저장하는 것은 메모리 효율성을 떨어뜨리기 때문에 새로운 패리티 검사 행렬을 설계하지 않고, 기존에 주어져 있는 패리티 검사 행렬로부터 다양한 블록 길이를 효율적으로 지원하는 방법에 대한 연구가 필요하다.
본 발명은 통신 시스템에서 가변 블록 길이를 가지는 선형 블록 부호를 생성하기 위한 패리티 검사 행렬을 생성하는 방법을 제공한다.
또한 본 발명은 통신 시스템에서 가변 블록 길이를 가지는 구조적인 LDPC 부호를 생성하기 위한 패리티 검사 행렬을 생성하는 방법을 제공한다.
또한 본 발명은 상기 패리티 검사 행렬을 생성하는 방법을 이용하여 LDPC 부호를 부호화/복호하는 방법 및 장치를 제공한다.
또한 본 발명은 특정 구조를 가지는 LDPC 부호를 설계함에 있어 사이클 특성을 준최적화(suboptimize) 하여 상기 LDPC 부호의 패리티 검사 행렬을 효율적으로 생성하는 방법 및 장치를 제공한다.
또한 본 발명은 LDPC 부호를 이용하는 통신 시스템에서 하나의 패리티 검사 행렬로부터 사이클 특성을 준최적화(suboptimize)하여 다양한 블록 길이를 갖는 LDPC 부호를 부호화/복호화하는 방법 및 장치를 제공한다.
또한 본 발명은 LDPC 부호를 저장하기 위한 메모리 효율성을 증대시키기 위해 사이클 특성을 준최적화 하여 설계한 상기 패리티 검사 행렬로부터 블록 길이가 다른 LDPC 부호를 생성하는 방법 및 장치를 제공한다.
본 발명의 실시 예에 따라 LDPC 부호를 이용하는 통신 시스템에서 부호화 방법은, 상기 LDPC 부호의 패리티 검사 행렬을 결정하는 과정과, 상기 결정된 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 과정을 포함하며, 여기서 부호율은 1/5이고, 부호어의 길이는 4320이다.
또한 본 발명의 실시 예에 따라 LDPC 부호를 이용하는 통신 시스템에서 복호화 방법은, 상기 LDPC 부호의 패리티 검사 행렬을 결정하는 과정과, 상기 결정된 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행하는 과정을 포함하며, 여기서 부호율은 1/5이고, 부호어의 길이는 4320이다.
또한 본 발명의 실시 예에 따라 LDPC 부호를 이용하는 통신 시스템에서 부호화 장치는, 상기 LDPC 부호의 패리티 검사 행렬을 결정하는 제어기와, 상기 결정된 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 부호화기를 포함하며, 여기서 부호율은 1/5이고, 부호어의 길이는 4320이다.
또한 본 발명의 실시 예에 따라 LDPC 부호를 이용하는 통신 시스템에서 복호화 장치는, 상기 LDPC 부호의 패리티 검사 행렬을 결정하는 제어기와, 상기 결정된 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행하는 복호화기를 포함하며, 여기서 부호율은 1/5이고, 부호어의 길이는 4320이다.
삭제
상기한 구성의 본 발명은 부호어 길이가 매우 큰 LDPC 부호의 패리티 검사 행렬을 설계하는데 있어서, 준최적화된 Tanner 그래프 상의 사이클 특성을 유지하면서 작은 크기의 패리티 검사 행렬로부터 부호어 길이가 매우 큰 상기 LDPC 부호를 효율적으로 설계할 수 있도록 한다.
또한 본 발명은 LDPC 부호를 사용하는 통신 시스템에서 주어진 패리티 검사 행렬의 정보를 이용해서 다양한 블록 길이를 가지는 LDPC 부호를 생성할 수 있다. 하나의 패리티 검사 행렬로부터 다양한 블록 길이를 가지는 LDPC 부호를 지원할 수 있기 때문에 패리티 검사 행렬의 정보를 효율적으로 저장할 수 있어 시스템의 확장에 용이하다.
도 1은 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예를 도시한 도면,
도 2는 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예의 Tanner 그래프를 도시한 도면,
도 3은 LDPC 부호의 대략적인 구조도,
도 4는 LDPC 부호의 패리티 검사 행렬의 예를 도시한 도면,
도 5는 본 발명의 실시 예에 따른 LDPC 부호의 패리티 검사 행렬의 생성 방법을 나타낸 순서도,
도 6 내지 도 10은 본 발명의 실시 예에 따른 LDPC 부호의 패리티 검사 행렬의 생성 방법의 이해를 돕기 위한 도면,
도 11은 LDPC 부호를 사용하는 통신 시스템의 구성을 나타낸 블록 구성도,
도 12는 본 발명의 실시 예에 따라 LDPC 부호를 사용하는 송신 장치의 블록 구성도,
도 13은 본 발명의 실시 예에 따라 LDPC 부호를 사용하는 수신 장치의 블록 구성도,
도 14는 본 발명의 실시 예에 따라 LDPC 부호를 사용하는 수신 장치에서의 수신 동작을 나타내 순서도.
본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것에 유의하여야 한다.
본 발명은 기본적으로 주어진 작은 크기의 LDPC 부호의 패리티 검사 행렬로부터 큰 크기의 LDPC 부호의 패리티 검사 행렬을 생성하는 방법들을 제안한다. 또한, 본 발명은 특정 형태의 LDPC 부호를 사용하는 통신 시스템에서 가변 블록 길이를 지원하는 장치 및 그 제어 방법을 제안한다. 그러나 본 발명은 상기 설계된 가변 블록 길이를 모두 지원하는 것에 국한되는 것은 아니다.
먼저 설명의 편의를 위해 도 3과 같이 종래 기술의 <규칙 1>과 <규칙 2>에 기반하여 설계된 LDPC 부호와 동일한 특정 구조를 가지는 LDPC 부호가 주어져 있다고 가정하자. 상기 주어져 있는 LDPC 부호의 패리티 검사 행렬을 제 1 패리티 검사 행렬
Figure 112010054687083-pat00146
이라 하고, 부호어 길이와 정보어 길이를 각각
Figure 112010054687083-pat00147
,
Figure 112010054687083-pat00148
이라 하자. 자명하게 패리티의 길이는 이
Figure 112010054687083-pat00149
된다. 또한,
Figure 112010054687083-pat00150
이 성립하도록 정수
Figure 112010054687083-pat00151
Figure 112010054687083-pat00152
가 결정되어 있으며,
Figure 112010054687083-pat00153
도 정수라 하자.
이때 상기 패리티 검사 행렬
Figure 112015082085687-pat00154
의 정보를 나타내는
Figure 112015082085687-pat00155
번째
Figure 112015082085687-pat00156
열 그룹의 각 0번째 열에서 1이 있는 행의 위치를
Figure 112015082085687-pat00157
이라 하자. 여기서
Figure 112015082085687-pat00158
는 각
Figure 112015082085687-pat00159
번째 열 그룹의 0번째 열의 차수임에 유의한다.
본 발명에서는 다음의 규칙들을 만족하는 제 2 패리티 검사 행렬
Figure 112010054687083-pat00160
를 설계하는 방법을 제안하고자 한다. 여기서 상기 패리티 검사 행렬
Figure 112010054687083-pat00161
의 부호어 길이와 정보어 길이는 각각
Figure 112010054687083-pat00162
,
Figure 112010054687083-pat00163
라 하자.
<규칙 3>
어떤 양의 정수
Figure 112010054687083-pat00164
에 대해,
Figure 112010054687083-pat00165
,
Figure 112010054687083-pat00166
,
Figure 112010054687083-pat00167
인 관계가 있다. 따라서
Figure 112010054687083-pat00168
이 성립하여 정보어 부분의 열 그룹의 개수는 동일함을 알 수 있다. 또한
Figure 112010054687083-pat00169
이 성립한다.
<규칙 4>
Figure 112015082085687-pat00170
Figure 112015082085687-pat00171
의 정보어 부분에 대한 차수 분포는 동일하다. 이때 패리티 검사 행렬
Figure 112015082085687-pat00172
Figure 112015082085687-pat00173
번째
Figure 112015082085687-pat00174
열 그룹의 각 0번째 열에서 1이 있는 행의 위치를
Figure 112015082085687-pat00175
,
Figure 112015082085687-pat00176
이라 하자. 여기서
Figure 112015082085687-pat00177
는 각
Figure 112015082085687-pat00178
번째 열 그룹의 0번째 열의 차수임에 유의한다.
<규칙 5>
Figure 112010054687083-pat00179
의 Tanner 그래프 상의 사이클 특성은 최소한
Figure 112010054687083-pat00180
의 Tanner 그래프 상의 사이클 특성과 동일하거나 보다 좋아야한다.
<규칙 6>
Figure 112010054687083-pat00181
에 대한 정보로부터
Figure 112010054687083-pat00182
을 정확하게 생성할 수 있어야 한다.
<규칙 7>
Figure 112010054687083-pat00183
에 의해 정의되는 LDPC 부호는
Figure 112010054687083-pat00184
에 대한 정보를 사용한 부호화가 가능하여야 한다.
본 발명에서는 상기 <규칙 3>, <규칙 4>, <규칙 5>, <규칙 6>, <규칙 7>을 만족하는 상기 LDPC 부호의 패리티 검사 행렬
Figure 112015082085687-pat00185
를 생성하기 위해 도 5의 순서도에 나타낸 다음과 같은 LDPC 부호의 패리티 검사 행렬의 생성 방법을 제안한다. 설명의 편의상 <규칙 4>에서 일반성을 잃지 않고
Figure 112015082085687-pat00186
의 관계가 있다고 하자.
< LDPC 부호의 패리티 검사 행렬의 생성 방법 >
이하 도 5를 참조하여 본 발명의 실시 예에 따라 가변 블록 길이를 갖는 LDPC 부호의 패리티 검사 행렬 생성 방법을 설명하기로 한다.
510 단계에서 생성하고자 하는 패리티 검사 행렬
Figure 112015082085687-pat00187
의 기본 파라미터를 결정한다. 여기서 기본 파라미터는 LDPC 부호의 부호어의 길이와 정보어를 그룹화할 크기 즉, 패리티 검사 행렬
Figure 112015082085687-pat00188
에서 열 그룹의 크기를 포함한다.
520 단계에서 패리티 검사 행렬
Figure 112015082085687-pat00189
의 패리티 비트들에 대응되는 부분 행렬을 미리 결정된 구조로 정의하며, 상기 520 단계의 동작은 아래 단계 1, 단계 2의 동작을 포함한다.
단계 1: 도 3의 패리티 비트들에 대응되는 부분 행렬과 동일한 구조를 갖는
Figure 112015082085687-pat00190
크기의 행렬을
Figure 112015082085687-pat00191
의 패리티 부분에 대응되는 부분 행렬로 설정한다.
단계 2:
Figure 112010054687083-pat00192
으로 초기화 한다.
530 단계에서 주어진 패리티 검사 행렬
Figure 112010054687083-pat00193
의 정보어 비트에 대응되는 수열을 호출하고, 상기 530 단계의 동작은 아래 단계 3의 동작을 포함한다.
단계 3: 패리티 검사 행렬
Figure 112010054687083-pat00194
의 정보어 비트에 대응되는
Figure 112010054687083-pat00195
번째 열 그룹의 정보를 나타내는 수열
Figure 112010054687083-pat00196
(
Figure 112010054687083-pat00197
)의 각 성분에 대해서
Figure 112010054687083-pat00198
개의 원소로 이루어진 집합
Figure 112010054687083-pat00199
를 정의한다.
이후 540 단계에서 패리티 검사 행렬
Figure 112010054687083-pat00200
을 나타내는 수열로부터 아래 단계 4의 동작을 통해 패리티 검사 행렬
Figure 112010054687083-pat00201
에서 정보어 비트에 대응되는 수열을 결정한다.
단계 4: 상기 패리티 검사 행렬
Figure 112010054687083-pat00202
에서 정보어 비트에 대응되는 (
Figure 112010054687083-pat00203
) 번째 열 그룹부터
Figure 112010054687083-pat00204
번째 열 그룹에 해당하는 부분 행렬의 성분은 모두 0이라고 가정하고, 다음의 조건들을 만족하는 수열
Figure 112010054687083-pat00205
,
Figure 112010054687083-pat00206
을 순차적으로 구한다.
<조건 1>
Figure 112010054687083-pat00207
,
Figure 112010054687083-pat00208
<조건 2>
상기 <조건 1>을 만족하는 수열들 중에서 Tanner 그래프 상의 사이클 특성이 가장 좋은 수열. 단, 가장 좋은 경우가 여러 경우일 때는 그 중 하나를 임의로 선택한다.
단계 5:
Figure 112010054687083-pat00209
에 대해 상기 단계 3과 단계 4의 과정을 계속 반복한다.
본 발명에서는 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 3에서 다음 <수학식 7> 또는 <수학식 8>와 같은 방법으로
Figure 112010054687083-pat00210
를 생성한다.
Figure 112010054687083-pat00211
Figure 112010054687083-pat00212
상기 <수학식 8>에서
Figure 112010054687083-pat00213
는 하기 <수학식 9>와 같이 정의된다.
Figure 112010054687083-pat00214
본 발명의 실시 예에 따른 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 이해를 돕기 위해 도 6, 도 7, 도 8에 간단한 실시 예를 나타내었다. 이해를 돕기 위하여 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 3의 과정에서 <수학식 7> 을 사용한 경우를 먼저 설명한다.
상기 도 6에 나타낸 도면을 설명하는 주요 변수들은
Figure 112010054687083-pat00215
,
Figure 112010054687083-pat00216
,
Figure 112010054687083-pat00217
,
Figure 112010054687083-pat00218
,
Figure 112010054687083-pat00219
이며, 상기 도 6의 도면에 주어진 하나의 열 그룹(601)의 0번째 열(603)에 대한 무게 1이 있는 행의 위치 정보는 다음과 같다.
Figure 112010054687083-pat00220
다시 말하면, 상기 주어진 하나의 열 그룹(601)의 0번째 열(603)에서 0 번째 행, 5 번째 행, 그리고 7 번째 행에만 1이 존재함을 알 수 있다. 또한 상기 주어진 열 그룹(601)의 1 번째 열(605)과 2 번째 열(607)은 0 번째 열(603)의 1의 위치를
Figure 112015082085687-pat00221
만큼 모듈로 (modulo)
Figure 112015082085687-pat00222
에 대해 순환 이동(cyclic shift) 시키면 쉽게 얻을 수 있음을 확인할 수 있다. 참고로 상기 도 6의 열 그룹(601) 내의 모든 열(603, 605, 607)의 차수는 모두 3으로 동일하며, 행의 차수는 모두 1로서 동일함을 알 수 있다.
다음으로 상기 도 7을 살펴보면, 상기 도 6의 주어진 열 그룹으로부터 <LDPC 부호의 패리티 검사 행렬의 생성 방법>을 통해 얻을 수 있는 새로운 열 그룹에 대한 0 번째 열의 구조에 대해 알 수 있다.
상기 도 6의 열 그룹에 0 번째 열에 대한 1이 있는 행의 위치 정보가 0, 5, 7이었으므로, 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 3의 과정에서 <수학식 7> 만을 사용할 경우에 새로운 열 그룹의 0 번째 열에 대한 1이 있는 행의 위치 정보는 다음과 같은 8 가지 후보 중에 한 가지로 나타낼 수 있다.
Figure 112010054687083-pat00223
,
Figure 112010054687083-pat00224
,
Figure 112010054687083-pat00225
,
Figure 112010054687083-pat00226
,
Figure 112010054687083-pat00227
,
Figure 112010054687083-pat00228
,
Figure 112010054687083-pat00229
,
Figure 112010054687083-pat00230
.
상기 8 개의 행의 위치 정보에 대한 열의 구성을 상기 도 7의 참조 번호 701에 순서대로 나타내었다.
만일 상기 8 개의 행의 위치 정보 중에서 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 4의 과정을 통해 <조건 1>과 <조건 2>를 만족하는 수열이 두 번째 후보(703)인
Figure 112015082085687-pat00231
이었다고 가정하자. 그렇다면 행의 길이가 18이며, 0 번째, 5 번째, 16 번째 행에 각각 1이 존재하는 열로서 새로운 열 그룹의 0 번째 열을 정의할 수 있다.
이제 상기 새로운 0 번째 열에 대해 상기 도 6의 형태의 LDPC 부호의 구성 방법을 적용하여 1 번째 열부터
Figure 112015082085687-pat00232
번째 열까지 구성해 보자. 상기 도 6의 형태의 LDPC 부호의 구성 방법에 의하면 상기 0 번째 열의 1의 위치를
Figure 112015082085687-pat00233
만큼 모듈로 (modulo)
Figure 112015082085687-pat00234
에 대해 순차적으로 순환 이동 시키면 나머지 열을 쉽게 얻을 수 있으며, 이 과정을 도 8에 나타내었다.
상기 도 8을 살펴보면, 열 그룹(801) 내의 모든 열의 차수는 모두 3으로 동일하며, 행의 차수는 모두 1로서 동일함을 알 수 있다. 다시 말해, 상기 도 6의 경우와 정보어 부분의 차수의 분포가 동일함을 알 수 있다.
다음으로 상기 도 9를 살펴보면, 상기 도 6의 주어진 열 그룹으로부터 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 3의 과정에서 <수학식 8>를 사용한 경우에 얻을 수 있는 새로운 열 그룹에 대한 0 번째 열의 구조에 대해 알 수 있다.
상기 도 6의 열 그룹에 0 번째 열에 대한 1이 있는 행의 위치 정보가 0, 5, 7이었으므로, 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 3의 과정에서 <수학식 8> 를 사용할 경우에 새로운 열 그룹의 0 번째 열에 대한 1이 있는 행의 위치 정보는 다음과 같은 8 가지 후보 중에 한 가지로 나타낼 수 있다.
Figure 112010054687083-pat00235
,
Figure 112010054687083-pat00236
,
Figure 112010054687083-pat00237
,
Figure 112010054687083-pat00238
,
Figure 112010054687083-pat00239
,
Figure 112010054687083-pat00240
,
Figure 112010054687083-pat00241
,
Figure 112010054687083-pat00242
.
상기 8 개의 행의 위치 정보에 대한 열의 구성을 상기 도 9의 참조 번호 901에 순서대로 나타내었다.
만일 상기 8 개의 행의 위치 정보 중에서 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 4의 과정을 통해 <조건 1>과 <조건 2>를 만족하는 수열이 두 번째 후보(903)인
Figure 112010054687083-pat00243
였다고 가정하자. 그렇다면 행의 길이가 18이며, 0 번째, 10 번째, 15 번째 행에 각각 무게 1이 존재하는 열로서 새로운 열 그룹의 0 번째 열을 정의할 수 있다.
이제 상기 새로운 0 번째 열에 대해 상기 도 3의 형태의 LDPC 부호의 구성 방법을 적용하여 1 번째 열부터
Figure 112010054687083-pat00244
번째 열까지 구성해 보자. 상기 도 3의 형태의 LDPC 부호의 구성 방법에 의하면 상기 0 번째 열의 무게 1의 위치를
Figure 112010054687083-pat00245
만큼 모듈로 (modulo)
Figure 112010054687083-pat00246
에 대해 순차적으로 순환 이동 시키면 나머지 열을 쉽게 얻을 수 있으며, 이 과정을 도 10에 나타내었다.
도 10을 살펴보면, 열 그룹(1001) 내의 모든 열의 차수는 모두 3으로 동일하며, 행의 차수는 모두 1로서 동일함을 알 수 있다. 다시 말해, 상기 도 6의 경우와 정보어 부분의 차수의 분포가 동일함을 알 수 있다.
이제 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>이 상기 <규칙 3>, <규칙 4>, <규칙 5>, <규칙 6>, <규칙 7>을 만족함을 보이자. 먼저 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 기본 가정에 의해서 상기 <규칙 3>, <규칙 4>는 자명하게 만족해야 한다.
그럼 상기 <규칙 5>에 대해 살펴보자. 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 4의 과정에서 모든
Figure 112010054687083-pat00247
,
Figure 112010054687083-pat00248
에 대해
Figure 112010054687083-pat00249
로 고정하였다고 가정하자. 이 경우에는 상기 패리티 검사 행렬
Figure 112010054687083-pat00250
에 대한 구조를 패리티 검사 행렬
Figure 112010054687083-pat00251
에서 동일하게 적용하였기 때문에 상기
Figure 112010054687083-pat00252
의 Tanner 그래프의 사이클 특성은
Figure 112010054687083-pat00253
과 동일하다. 따라서 이 경우에는 자명하게 상기 <규칙 5>를 위반하지 않는다.
그런데 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 4의 과정에서는 "Tanner 그래프 상의 사이클 특성이 가장 좋은 수열"을 선택하기 때문에, 모든
Figure 112010054687083-pat00254
,
Figure 112010054687083-pat00255
에 대해
Figure 112010054687083-pat00256
인 경우보다는 더 좋거나 또는 동일한 사이클 특성을 가지는 수열을 선택하게 된다. 즉, 최악의 경우는 사이클 특성이 동일한 경우임을 보장하면서 사이클 특성이 나빠지는 경우는 발생하지 않음을 알 수 있다. 따라서 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 4의 과정에 의해 상기 <규칙 5>를 만족함을 알 수 있다.
다음으로 상기 <규칙 6>에 대해 살펴보자. <LDPC 부호의 패리티 검사 행렬의 생성 방법>을 통해 생성된 패리티 검사 행렬
Figure 112010054687083-pat00257
를 나타내는 열 그룹들의 정보는
Figure 112010054687083-pat00258
, (
Figure 112010054687083-pat00259
,
Figure 112010054687083-pat00260
)로서 정의된다. <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 3 과정에서 <수학식 7>을 사용할 경우에
Figure 112010054687083-pat00261
는 반드시 어떤 정수
Figure 112010054687083-pat00262
에 대해서
Figure 112010054687083-pat00263
과 같은 형태를 가진다.
Figure 112010054687083-pat00264
Figure 112010054687083-pat00265
은 알고 있는 값이므로 다음의 <수학식 10>과 같은 방법으로 쉽게
Figure 112010054687083-pat00266
으로부터
Figure 112010054687083-pat00267
을 추출할 수 있다.
Figure 112010054687083-pat00268
이와 유사하게 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 단계 3 과정에서 <수학식 8>를 사용할 경우에
Figure 112010054687083-pat00269
는 반드시 어떤 정수
Figure 112010054687083-pat00270
에 대해서
Figure 112010054687083-pat00271
와 같은 형태를 가진다.
또한
Figure 112010054687083-pat00272
Figure 112010054687083-pat00273
의 배수이므로
Figure 112010054687083-pat00274
가 성립하여서
Figure 112010054687083-pat00275
의 값을 모를 경우에도
Figure 112010054687083-pat00276
로부터
Figure 112010054687083-pat00277
를 쉽게 추출할 수 있음을 알 수 있다. 또한
Figure 112010054687083-pat00278
Figure 112010054687083-pat00279
는 이미 알고 있는 값이므로 다음의 <수학식 11>을 사용하여
Figure 112010054687083-pat00280
으로부터
Figure 112010054687083-pat00281
을 쉽게 추출할 수 있다.
Figure 112010054687083-pat00282
상기 <수학식 10>과 <수학식 11>을 살펴보면, 만일 패리티 검사 행렬
Figure 112010054687083-pat00283
에 대한 열 그룹들의 정보를 알고 있으면,
Figure 112010054687083-pat00284
의 값을 별도로 저장하지 않고 간단한 연산들을 통해 쉽게 얻을 수 있음을 알 수 있다. 또한
Figure 112010054687083-pat00285
Figure 112010054687083-pat00286
에 대한
Figure 112010054687083-pat00287
값 역시 동일하기 때문에 상기
Figure 112010054687083-pat00288
로부터 얻어진
Figure 112010054687083-pat00289
값으로부터
Figure 112010054687083-pat00290
을 얻을 수 있게 된다. 따라서 상기 <규칙 6>이 만족함을 알 수 있다.
다음으로 상기 <규칙 7>에 대해 살펴보자. 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>의 기본 가정에 의해서
Figure 112010054687083-pat00291
Figure 112010054687083-pat00292
에 의해 정의되는 LDPC 부호들은 모두 종래 기술의 규칙에서 설명한 <LDPC 부호의 부호화 방법>을 사용한 부호화가 가능하다. 부호어 길이와 정보어 길이 그리고
Figure 112010054687083-pat00293
값이 주어진 경우에 상기 <LDPC 부호의 부호화 방법>은 정보어의 각 열 그룹의 0 번째 열에서 1이 위치한 행의 정보만을 사용하여 부호화를 수행하다. 이 때 상기 <규칙 6>에 의하여
Figure 112010054687083-pat00294
로부터
Figure 112010054687083-pat00295
를 얻을 수 있으므로 <규칙 7>이 성립함을 알 수 있다.
상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>에서는 예를 들어
Figure 112010054687083-pat00296
으로부터
Figure 112010054687083-pat00297
를 얻는 방법에 대해서만 설명하였으나, 반복적으로 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법> 적용하게 되면 더 큰 패리티 검사 행렬을 얻게 된다.
정리하여 말하면, 다음 <수학식 12>, <수학식 13>, <수학식 14>을 만족하는 패리티 검사 행렬
Figure 112010054687083-pat00298
,
Figure 112010054687083-pat00299
,
Figure 112010054687083-pat00300
,...,
Figure 112010054687083-pat00301
에 대해 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>을 반복적으로 적용하여 효율적인 패리티 검사 행렬의 설계가 가능하다. 여기서
Figure 112010054687083-pat00302
,
Figure 112010054687083-pat00303
,
Figure 112010054687083-pat00304
는 각각
Figure 112010054687083-pat00305
의 부호어 길이, 정보어 길이, <규칙 1>에서의 열 그룹의 단위이며 어떤 정수
Figure 112010054687083-pat00306
에 대하여
Figure 112010054687083-pat00307
,
Figure 112010054687083-pat00308
,
Figure 112010054687083-pat00309
을 만족한다.
Figure 112010054687083-pat00310
Figure 112010054687083-pat00311
Figure 112010054687083-pat00312
뿐만 아니라 상기 <LDPC 부호의 패리티 검사 행렬의 생성 방법>을 통해 얻어진 패리티 검사 행렬
Figure 112010054687083-pat00313
에 대한 정보만 가지고 있으면,
Figure 112010054687083-pat00314
,
Figure 112010054687083-pat00315
, ...,
Figure 112010054687083-pat00316
역시 모두 구성이 가능하다.
본 발명에서 제안한 LDPC 부호의 패리티 검사 행렬은 <규칙 6>을 만족함으로써 하나의 패리티 검사 행렬로부터 여러 개의 다양한 크기의 패리티 검사 행렬을 생성할 수 있음을 알 수 있다. 패리티 검사 행렬의 크기는 곧 LDPC 부호의 부호어 길이를 의미하기 때문에 본 발명에서 제안한 방법을 통해 생성된 LDPC 부호는 상기 <수학식 10> 또는 <수학식 11>의 과정을 거쳐 다양한 블록 길이를 가지는 LDPC 부호를 지원할 수 있음을 알 수 있다. 이때 다양한 블록 길이의 LDPC 부호를 지원함에도 불구하고, 저장하고 있는 패리티 검사 행렬에 대한 정보는 하나이므로 메모리 효율성 또한 매우 높음을 알 수 있다.
본 발명의 구체적인 실시 예로서 다음 <수학식 15>부터 <수학식 20>과 같은 변수를 가지는 패리티 검사 행렬
Figure 112010054687083-pat00317
에 대해 <LDPC 부호의 패리티 검사 행렬의 생성 방법>를 적용하여 효율적으로 패리티 검사 행렬
Figure 112010054687083-pat00318
를 생성하여 < 표 1 >부터 < 표 6 >에 나타내었다.
Figure 112010054687083-pat00319
Figure 112010054687083-pat00320
Figure 112010054687083-pat00321
Figure 112010054687083-pat00322
Figure 112010054687083-pat00323
Figure 112010054687083-pat00324
< 표 1 >
Figure 112015082085687-pat00325

상기 <표 1>은 10개의 열 그룹으로 구성된 패리티 검사 행렬의 각 열 그룹에서 각 0 번째 열에 1이 있는 행의 위치 정보를 나타낸 패리티 검사 행렬의 일 예를 나타낸 것이다. {122, 149, ..., 2773}은 0번째 열 그룹의 0번째 열에서 1이 있는 행의 위치, {167, 279, ..., 2681}은 1번째 열 그룹의 0번째 열에서 1이 있는 행의 위치, 그리고 {866, 1229, 2661}은 9번째 열 그룹의 0번째 열에서 1이 있는 행의 위치를 각각 나타낸 것이다. 하기 <표 2> 내지 <표 41>들이 나타내는 패리티 검사 행렬도 동일한 방식으로 이해될 수 있다.
< 표 2 >
Figure 112010054687083-pat00326
< 표 3 >
Figure 112010054687083-pat00327
< 표 4 >
Figure 112010054687083-pat00328
< 표 5 >
Figure 112010054687083-pat00329
< 표 6 >
Figure 112010054687083-pat00330
본 발명의 다른 구체적인 실시 예로서 다음 <수학식 21>부터 <수학식 26>와 같은 변수를 가지는 패리티 검사 행렬
Figure 112010054687083-pat00331
에 대해 <LDPC 부호의 패리티 검사 행렬의 생성 방법>를 적용하여 효율적으로 패리티 검사 행렬
Figure 112010054687083-pat00332
Figure 112010054687083-pat00333
를 생성하여 < 표 7 >부터 < 표 18 >에 나타내었다.
Figure 112010054687083-pat00334
Figure 112010054687083-pat00335
Figure 112010054687083-pat00336
Figure 112010054687083-pat00337
Figure 112010054687083-pat00338
Figure 112010054687083-pat00339
< 표 7 >
Figure 112010054687083-pat00340
< 표 8 >
Figure 112010054687083-pat00341
< 표 9 >
Figure 112010054687083-pat00342
< 표 10 >
Figure 112010054687083-pat00343
< 표 11 >
Figure 112010054687083-pat00344
< 표 12 >
Figure 112010054687083-pat00345
< 표 13 >
Figure 112010054687083-pat00346
< 표 14 >
Figure 112010054687083-pat00347
< 표 15 >
Figure 112010054687083-pat00348
< 표 16 >
Figure 112010054687083-pat00349
< 표 17 >
Figure 112010054687083-pat00350
< 표 18 >
Figure 112010054687083-pat00351
본 발명의 다른 구체적인 실시 예로서 다음 <수학식 27>부터 <수학식 31>과 같은 변수를 가지는 패리티 검사 행렬
Figure 112010054687083-pat00352
에 대해 <LDPC 부호의 패리티 검사 행렬의 생성 방법>를 적용하여 효율적으로 패리티 검사 행렬
Figure 112010054687083-pat00353
Figure 112010054687083-pat00354
를 생성하여 < 표 19 >부터 < 표 28 >에 나타내었다.
Figure 112010054687083-pat00355
Figure 112010054687083-pat00356
Figure 112010054687083-pat00357
Figure 112010054687083-pat00358
Figure 112010054687083-pat00359
< 표 19 >
Figure 112010054687083-pat00360
< 표 20 >
Figure 112010054687083-pat00361
< 표 21 >
Figure 112010054687083-pat00362
< 표 22 >
Figure 112010054687083-pat00363
< 표 23 >
Figure 112010054687083-pat00364
< 표 24 >
Figure 112010054687083-pat00365
< 표 25 >
Figure 112010054687083-pat00366
< 표 26 >
Figure 112010054687083-pat00367
< 표 27 >
Figure 112010054687083-pat00368
< 표 28 >
Figure 112010054687083-pat00369
본 발명의 다른 구체적인 실시 예로서 다음 <수학식 32>부터 <수학식 35>과 같은 변수를 가지는 패리티 검사 행렬
Figure 112010054687083-pat00370
에 대해 <LDPC 부호의 패리티 검사 행렬의 생성 방법>를 적용하여 효율적으로 패리티 검사 행렬
Figure 112010054687083-pat00371
를 생성하여 < 표 29 >부터 < 표 32 >에 나타내었다.
Figure 112010054687083-pat00372
Figure 112010054687083-pat00373
Figure 112010054687083-pat00374
Figure 112010054687083-pat00375
< 표 29 >
Figure 112010054687083-pat00376
< 표 30 >
Figure 112010054687083-pat00377
< 표 31 >
Figure 112010054687083-pat00378
< 표 32 >
Figure 112010054687083-pat00379
본 발명의 다른 구체적인 실시 예로서 다음 <수학식 36>부터 <수학식 40>과 같은 변수를 가지는 패리티 검사 행렬
Figure 112010054687083-pat00380
에 대해 <LDPC 부호의 패리티 검사 행렬의 생성 방법>를 적용하여 효율적으로 패리티 검사 행렬
Figure 112010054687083-pat00381
를 생성하여 <표 33>부터 <표 37>에 나타내었다.
Figure 112010054687083-pat00382
Figure 112010054687083-pat00383
Figure 112010054687083-pat00384
Figure 112010054687083-pat00385
Figure 112010054687083-pat00386
<표 33>
Figure 112010054687083-pat00387
<표 34>
Figure 112010054687083-pat00388
<표 35>
Figure 112010054687083-pat00389
<표 36>
Figure 112010054687083-pat00390
<표 37>
Figure 112010054687083-pat00391
본 발명의 다른 구체적인 실시 예로서 다음 <수학식 41>부터 <수학식 44>와 같은 변수를 가지는 패리티 검사 행렬
Figure 112010054687083-pat00392
에 대해 <LDPC 부호의 패리티 검사 행렬의 생성 방법>을 적용하여 효율적으로 패리티 검사 행렬
Figure 112010054687083-pat00393
를 생성하여 <표 38>부터 <표 41>에 나타내었다.
Figure 112010054687083-pat00394
Figure 112010054687083-pat00395
Figure 112010054687083-pat00396
Figure 112010054687083-pat00397
<표 38>
Figure 112010054687083-pat00398
<표 39>
Figure 112010054687083-pat00399
<표 40>
Figure 112010054687083-pat00400
<표 41>
Figure 112010054687083-pat00401
본 발명에서 제안한 LDPC 부호의 부호화를 수행하는 부호화기의 구체적인 동작 방법에 대해 살펴보기 위하여 다음과 같이 도 11의 통신 시스템의 블록도(block diagram)를 고려하자.
도 11을 참조하면, 메시지
Figure 112010054687083-pat00402
는 전송되기 전에 송신기(1110)에서 신호 c를 출력하는 LDPC 부호화기(encoder)(1111)를 통해 부호화된다. 출력 신호 c는 무선 채널(1120)을 통한 전송을 위해 신호 s를 출력하는 변조기(Modulator)(1113)에 의해 변조된다. 그러면, 수신기(1130)에서 복조기(Demodulator)(1131)는 무선 채널(1120)을 통해 수신된 신호 r을 복조하고, 복조된 신호 x를 출력한다. 그리고 LDPC 복호기(Decoder)(1133)는 복조된 신호 x를 통해 메시지의 추정치(estimate)
Figure 112010054687083-pat00403
를 추정해낸다.
상기 LDPC 부호화기(1111) 및 LDPC 복호기(1133)는 미리 설정되어 있는 방식으로부터 통신 시스템에서 요구하는 블록 길이에 맞게 패리티 검사 행렬을 선택하여 부호화 및 복호를 수행한다. 특히, 본 발명에서 LDPC 부호화기(1111) 및 LDPC 복호기(1133)는 다양한 블록 길이에 대한 LDPC 부호의 패리티 검사 행렬을 별도로 저장하지 않고 가장 긴 블록 길이에 대한 LDPC 부호의 패리티 검사 행렬만을 사용하여 다양한 블록 길이를 지원할 수 있다.
상기 생성된 LDPC 부호를 사용하는 통신 시스템의 송신 장치를 보다 구체적으로 보이기 위한 예를 도 12에 나타내었다. 도 12는 본 발명의 실시 예에 따라 생성된 LDPC 부호를 사용하는 송신 장치의 블록 구성도이다.
도 12의 송신 장치는 LDPC 부호 패리티 검사 행렬 추출부(1210), 제어부(1230), LDPC 부호화기(1250)를 포함한다.
상기 LDPC 부호 패리티 검사 행렬 추출부(1210)는 시스템의 요구사항에 맞게 LDPC 부호의 패리티 검사 행렬을 추출한다. 상기 LDPC 부호 패리티 검사 행렬은 <LDPC 부호의 패리티 검사 행렬의 생성 방법>을 통해 최종적으로 얻은 수열 정보로부터 <수학식 10> 또는 <수학식 11>과 같은 방법을 거쳐 추출할 수도 있고, 패리티 검사 행렬 자체를 저장한 메모리로부터 추출할 수도 있고, 상기 패리티 검사 행렬은 송신 장치 내에서 주어질 수도 있고, 송신 장치에서 생성될 수도 있다.
상기 제어부(1230)는 시스템의 요구 사항에 맞게 부호어의 길이 또는 정보어의 길이에 따라 필요한 패리티 검사 행렬을 결정하도록 제어하는 역할을 한다.
상기 LDPC 부호화기(1250)는 상기 제어부(1230)와 패리티 검사 행렬 추출부(1210)에 의해서 호출된 LDPC 부호 패리티 검사 행렬의 정보를 기반으로 부호화를 수행한다.
도 13은 본 발명의 실시 예에 따른 수신 장치의 블록 구성도이다.
상기 도 13에는 상기 설계된 LDPC 부호를 사용하는 통신 시스템에서 전송된 신호를 수신하고, 상기 수신된 신호로부터 사용자가 원하는 데이터를 복원하는 수신 장치의 예를 나타내었다.
도 13의 수신 장치는 복조기(1310), 패리티 검사 행렬 판단부(1330), LDPC 부호 패리티 검사 행렬 추출부(1370), 제어부(1350), LDPC 복호기(1390)를 포함한다.
상기 복조기(1310)는 LDPC 부호를 수신하여 복조하고, 복조된 신호를 패리티 검사 행렬 판단부(1330)와 LDPC 복호기(1390)로 전달한다.
상기 패리티 검사 행렬 판단부(1330)는 상기 제어부(1350)의 제어 하에, 상기 복조된 신호로부터 시스템에서 사용된 LDPC 부호의 패리티 검사 행렬에 대해 판단한다.
상기 제어부(1350)에서는 상기 패리티 검사 행렬 판단부(1330)에서 판단된 결과를 LDPC 부호 패리티 검사 행렬 추출부(1370)와 LDPC 복호기(1390)에 전달한다.
상기 LDPC 부호 패리티 검사 행렬 추출부(1370)는 상기 제어부(1350)의 제어 하에 시스템에서 요구하는 LDPC 부호의 패리티 검사 행렬을 추출하여 복호기에 전달한다. 상기 LDPC 부호의 패리티 검사 행렬 추출 시에는 <LDPC 부호의 패리티 검사 행렬의 생성 방법>을 통해 최종적으로 얻은 수열 정보로부터 <수학식 10> 또는 <수학식 11>과 같은 방법을 거쳐 추출할 수도 있고, 패리티 검사 행렬 자체를 저장한 메모리로부터 추출할 수도 있고, 수신 장치 내에서 주어질 수도 있고, 수신 장치에서 생성될 수도 있다.
상기 LDPC 복호기(1390)는 상기 제어부(1350)의 제어 하에 상기 복조기(1310)로부터 전달된 수신 신호와 상기 LDPC 부호 패리티 검사 행렬 추출부(1370)에서 전달된 상기 LDPC 부호의 패리티 검사 행렬에 대한 정보를 기반으로 복호를 수행한다. 상기 수신 장치의 동작 순서도를 도 14에 간단히 나타내었다.
도 14는 본 발명의 실시 예에 따른 수신 장치의 복호 동작을 나타낸 순서도이다.
1410 단계에서 패리티 검사 행렬 판단부(1330)는 수신된 신호로부터 시스템에서 사용된 LDPC 부호의 패리티 검사 행렬에 대해 판단한다. 1420 단계에서 제어부(1350)는 패리티 검사 행렬 판단부(1330)에서 판단된 결과로서 상기 사용된 LDPC 부호의 패리티 검사 행렬의 정보를 LDPC 부호 패리티 검사 행렬 추출부(1370)와 LDPC 복호기(1390)에 전달한다. 1430 단계에서 LDPC 부호 패리티 검사 행렬 추출부(1370)는 시스템에서 요구하는 LDPC 부호의 패리티 검사 행렬을 추출하여 LDPC 복호기(1390)에 전달하고, 1440 단계에서 LDPC 복호기(1390)는 전달받은 LDPC 부호의 패리티 검사 행렬을 이용하여 복호를 수행한다. 도 11 내지 도 14의 실시 예에서는 편의상 LDPC 부호의 예를 들어 설명하였으나, 상기한 송신 장치 및 수신 장치의 구성 및 동작은 LDPC 부호는 물론 패리티 검사 행렬을 이용하는 다른 선형 블록 부호에도 동일한 방식으로 적용될 수 있다.

Claims (20)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. LDPC(Low-Density Parity Check) 부호를 이용하는 통신 시스템에서 부호화 방법에 있어서,
    상기 LDPC 부호의 패리티 검사 행렬을 결정하는 과정; 및
    상기 결정된 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 과정을 포함하며, 여기서 부호율은 1/5이고, 부호어의 길이는 4320이며,
    상기 패리티 검사 행렬은 아래 <표>와 같이 정의되는 부호화 방법,
    <표>
    Figure 112015082085687-pat00432
    .
  10. 제 9 항에 있어서,
    상기 패리티 검사 행렬은 정보어에 상응하는 열들을 그룹핑하여 제공되는 다수의 열 그룹들을 가지며, 각 열 그룹은 72 개의 열들을 가지며,
    여기서 상기 <표>에서 각 행은 상기 패리티 검사 행렬의 해당 열 그룹의 72개의 열들 중 첫 번째 열에서 '1'의 위치를 지시하는 부호화 방법.
  11. 제 9 항에 있어서,
    상기 부호율은, 상기 패리티 검사 행렬에 상응하는, 정보어의 길이 대 부호어의 길이의 비율을 나타내는 부호화 방법.
  12. LDPC(Low-Density Parity Check) 부호를 이용하는 통신 시스템에서 복호화 방법에 있어서,
    상기 LDPC 부호의 패리티 검사 행렬을 결정하는 과정; 및
    상기 결정된 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행하는 과정을 포함하며, 여기서 부호율은 1/5이고, 부호어의 길이는 4320이며,
    상기 패리티 검사 행렬은 아래 <표>와 같이 정의되는 복호화 방법,
    <표>
    Figure 112015082085687-pat00433
    .
  13. 제 12 항에 있어서,
    상기 패리티 검사 행렬은 정보어에 상응하는 열들을 그룹핑하여 제공되는 다수의 열 그룹들을 가지며, 각 열 그룹은 72 개의 열들을 가지며,
    여기서 상기 <표>에서 각 행은 상기 패리티 검사 행렬의 해당 열 그룹의 72개의 열들 중 첫 번째 열에서 '1'의 위치를 지시하는 복호화 방법.
  14. 제 12 항에 있어서,
    상기 부호율은, 상기 패리티 검사 행렬에 상응하는, 정보어의 길이 대 부호어의 길이의 비율을 나타내는 복호화 방법.
  15. LDPC(Low-Density Parity Check) 부호를 이용하는 통신 시스템에서 부호화 장치에 있어서,
    상기 LDPC 부호의 패리티 검사 행렬을 결정하는 제어기; 및
    상기 결정된 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 부호화기를 포함하며, 여기서 부호율은 1/5이고, 부호어의 길이는 4320이며,
    상기 패리티 검사 행렬은 아래 <표>와 같이 정의되는 부호화 장치,
    <표>
    Figure 112015082085687-pat00434
    .
  16. 제 15 항에 있어서,
    상기 패리티 검사 행렬은 정보어에 상응하는 열들을 그룹핑하여 제공되는 다수의 열 그룹들을 가지며, 각 열 그룹은 72 개의 열들을 가지며,
    여기서 상기 <표>에서 각 행은 상기 패리티 검사 행렬의 해당 열 그룹의 72개의 열들 중 첫 번째 열에서 '1'의 위치를 지시하는 부호화 장치.
  17. 제 15 항에 있어서,
    상기 부호율은, 상기 패리티 검사 행렬에 상응하는, 정보어의 길이 대 부호어의 길이의 비율을 나타내는 부호화 장치.
  18. LDPC(Low-Density Parity Check) 부호를 이용하는 통신 시스템에서 복호화 장치에 있어서,
    상기 LDPC 부호의 패리티 검사 행렬을 결정하는 제어기; 및
    상기 결정된 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행하는 복호화기를 포함하며, 여기서 부호율은 1/5이고, 부호어의 길이는 4320이며,
    상기 패리티 검사 행렬은 아래 <표>와 같이 정의되는 복호화 장치,
    <표>
    Figure 112015082085687-pat00435
    .
  19. 제 18 항에 있어서,
    상기 패리티 검사 행렬은 정보어에 상응하는 열들을 그룹핑하여 제공되는 다수의 열 그룹들을 가지며, 각 열 그룹은 72 개의 열들을 가지며,
    여기서 상기 <표>에서 각 행은 상기 패리티 검사 행렬의 해당 열 그룹의 72개의 열들 중 첫 번째 열에서 '1'의 위치를 지시하는 복호화 장치.
  20. 제 18 항에 있어서,
    상기 부호율은, 상기 패리티 검사 행렬에 상응하는, 정보어의 길이 대 부호어의 길이의 비율을 나타내는 복호화 장치.
KR1020100082182A 2009-11-02 2010-08-24 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법 KR101644656B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1020100082182A KR101644656B1 (ko) 2009-11-02 2010-08-24 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
PCT/KR2010/007679 WO2011053101A2 (en) 2009-11-02 2010-11-02 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
CN201080060226.0A CN102696175B (zh) 2009-11-02 2010-11-02 在使用线性分组码的通信***中产生奇偶校验矩阵的装置和方法、发送/接收装置以及使用其的方法
EP20120161283 EP2472725A1 (en) 2009-11-02 2010-11-02 Method and apparatus for encoding and decoding a channel in a communication system using a linear block code
AU2010313884A AU2010313884B2 (en) 2009-11-02 2010-11-02 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
US12/917,944 US8423860B2 (en) 2009-11-02 2010-11-02 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
EP10189685A EP2317656A1 (en) 2009-11-02 2010-11-02 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
RU2012122774/08A RU2537806C2 (ru) 2009-11-02 2010-11-02 Устройство и способ для генерирования матрицы проверки четности в системе связи с использованием линейных блочных кодов и устройство передачи/приема и способ для использования этого
JP2012536707A JP5436688B2 (ja) 2009-11-02 2010-11-02 線形ブロック符号を使用する通信システムにおけるパリティ検査行列を生成する方法及び装置とそれを用いる送受信装置及び方法

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR1020090105092 2009-11-02
KR20090105092 2009-11-02
KR1020100027322A KR20110048443A (ko) 2009-11-02 2010-03-26 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호/복호 장치 및 방법
KR1020100027322 2010-03-26
KR1020100054388 2010-06-09
KR1020100054388A KR20110048448A (ko) 2009-11-02 2010-06-09 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR1020100082182A KR101644656B1 (ko) 2009-11-02 2010-08-24 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110048450A KR20110048450A (ko) 2011-05-11
KR101644656B1 true KR101644656B1 (ko) 2016-08-10

Family

ID=43426154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100082182A KR101644656B1 (ko) 2009-11-02 2010-08-24 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법

Country Status (8)

Country Link
US (1) US8423860B2 (ko)
EP (2) EP2472725A1 (ko)
JP (1) JP5436688B2 (ko)
KR (1) KR101644656B1 (ko)
CN (1) CN102696175B (ko)
AU (1) AU2010313884B2 (ko)
RU (1) RU2537806C2 (ko)
WO (1) WO2011053101A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423861B2 (en) * 2009-11-19 2013-04-16 Lsi Corporation Subwords coding using different interleaving schemes
KR102503713B1 (ko) * 2012-05-07 2023-02-27 도널드선 컴파니 인코포레이티드 실록산 오염물질 제거를 위한 물질, 방법 및 장치
WO2014145217A1 (en) * 2013-03-15 2014-09-18 Hughes Network Systems, Llc Low density parity check (ldpc) encoding and decoding for small terminal applications
CN103312457B (zh) * 2013-05-09 2016-04-13 西安电子科技大学 卷积码编码参数全盲识别方法
CN104270225B (zh) * 2014-09-11 2017-11-03 山东大学 一种差错控制编码的码字类型盲识别方法
US10284230B2 (en) * 2016-11-15 2019-05-07 Western Digital Technologies, Inc. Linked storage system and host system error correcting code
AU2017418080B9 (en) 2017-06-15 2021-01-28 Huawei Technologies Co., Ltd. Information processing method and communication apparatus
CN109327225B9 (zh) * 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
KR102549344B1 (ko) * 2017-08-10 2023-06-30 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
CN116073954A (zh) 2017-08-10 2023-05-05 三星电子株式会社 用于在通信或广播***中对信道进行编码和解码的方法和设备
RU2743784C1 (ru) * 2020-11-13 2021-02-26 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Способ кодирования данных на основе LDPC кода

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037298A1 (en) 2001-07-11 2003-02-20 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US20040054960A1 (en) 2002-07-03 2004-03-18 Mustafa Eroz Method and system for providing low density parity check (LDPC) encoding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4320642A (en) * 1979-12-28 1982-03-23 The Eastern Company Paddle locks with handle disconnect features
US6695361B1 (en) * 2001-03-30 2004-02-24 Tri/Mark Corporation Latch structure
US6471260B1 (en) * 2001-08-06 2002-10-29 The Eastern Company Rotary latches with enhanced service longevity
KR100996029B1 (ko) * 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
US7156430B2 (en) * 2004-06-22 2007-01-02 Tri/Mark Corporation Latch assembly
US7320488B2 (en) * 2004-06-22 2008-01-22 Tri/Mark Corporation Latch assembly
US7543212B2 (en) * 2004-09-13 2009-06-02 Idaho Research Foundation, Inc. Low-density parity-check (LDPC) encoder
US7996746B2 (en) * 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US8151161B2 (en) * 2005-12-27 2012-04-03 Lg Electronics Inc. Apparatus and method for decoding using channel code
KR101147768B1 (ko) 2005-12-27 2012-05-25 엘지전자 주식회사 채널 코드를 이용한 복호화 방법 및 장치
US8029029B2 (en) * 2006-01-06 2011-10-04 PI Optima, Inc. Rotary latch with joystick
KR20090003164A (ko) 2006-01-10 2009-01-09 미쓰비시덴키 가부시키가이샤 검사 행렬 생성 방법
KR101339120B1 (ko) * 2007-01-24 2013-12-09 퀄컴 인코포레이티드 가변 크기들의 패킷들의 ldpc 인코딩 및 디코딩
EA021906B1 (ru) * 2007-11-26 2015-09-30 Сони Корпорейшн Устройство и способ передачи данных
PL2381583T3 (pl) * 2007-12-06 2013-09-30 Samsung Electronics Co Ltd Sposób i urządzenie do dekodowania kanałowego w systemie telekomunikacyjnym z wykorzystaniem kodów kontroli parzystości o niskiej gęstości
PT2093887E (pt) * 2008-02-18 2013-11-25 Postech Acad Ind Found Aparelho e método para a codificação e descodificação de canal num sistema de comunicação utilizando códigos de verificação de paridade de densidade esparsa
EP2091156B1 (en) * 2008-02-18 2013-08-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding and decoding in a communication system using low-density parity-check codes
KR101192920B1 (ko) 2008-02-18 2012-10-18 포항공과대학교 산학협력단 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
JP2012004873A (ja) * 2010-06-17 2012-01-05 Sony Corp データ処理装置、及びデータ処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037298A1 (en) 2001-07-11 2003-02-20 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US20040054960A1 (en) 2002-07-03 2004-03-18 Mustafa Eroz Method and system for providing low density parity check (LDPC) encoding

Also Published As

Publication number Publication date
AU2010313884B2 (en) 2014-07-17
JP5436688B2 (ja) 2014-03-05
US8423860B2 (en) 2013-04-16
AU2010313884A1 (en) 2012-05-31
RU2012122774A (ru) 2013-12-10
WO2011053101A3 (en) 2011-09-29
CN102696175B (zh) 2015-09-30
EP2472725A1 (en) 2012-07-04
CN102696175A (zh) 2012-09-26
RU2537806C2 (ru) 2015-01-10
US20110107173A1 (en) 2011-05-05
EP2317656A1 (en) 2011-05-04
JP2013509132A (ja) 2013-03-07
WO2011053101A2 (en) 2011-05-05
KR20110048450A (ko) 2011-05-11

Similar Documents

Publication Publication Date Title
KR101644656B1 (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
JP5120862B2 (ja) 低密度パリティ検査符号を使用する通信システムのチャネル符号化装置及びその方法
KR101502623B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
KR101503058B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
US8495459B2 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
US8291282B2 (en) Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes
KR101481431B1 (ko) 저밀도 패리티 검사 행렬 재배열 방법 및 이를 이용하는 장치
KR101503653B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
KR101503656B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR101413783B1 (ko) 가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치
KR20090093778A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
KR20170075627A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR101192920B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
KR101447751B1 (ko) 블록 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서패리티 검사 행렬 생성 장치 및 방법
KR101552355B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호 및 복호 장치 및 방법
KR20110048448A (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR20110048443A (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호/복호 장치 및 방법
KR101503654B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치

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: 20190627

Year of fee payment: 4