KR101413783B1 - 가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치 - Google Patents

가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR101413783B1
KR101413783B1 KR1020070108317A KR20070108317A KR101413783B1 KR 101413783 B1 KR101413783 B1 KR 101413783B1 KR 1020070108317 A KR1020070108317 A KR 1020070108317A KR 20070108317 A KR20070108317 A KR 20070108317A KR 101413783 B1 KR101413783 B1 KR 101413783B1
Authority
KR
South Korea
Prior art keywords
parity check
check matrix
ldpc code
matrix
parity
Prior art date
Application number
KR1020070108317A
Other languages
English (en)
Other versions
KR20090026709A (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 US12/208,316 priority Critical patent/US8261152B2/en
Publication of KR20090026709A publication Critical patent/KR20090026709A/ko
Application granted granted Critical
Publication of KR101413783B1 publication Critical patent/KR101413783B1/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
    • H03M13/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-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

Landscapes

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

Abstract

본 발명은 가변 길이를 가지는 구조적인 LDPC 부호를 부호화하는 방법에 있어서, 기 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과, 요구되는 LDPC 부호의 블록 길이를 확인한 후, 새로운 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하는 과정과, 상기 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 1 패리티 검사 행렬 또는 새로 생성된 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정으로 구성됨을 특징으로 하는 부호화 방법이다.
LDPC 부호화, 가변 블록 길이, 단축, 천공

Description

가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치{APPARATUS AND METHOD FOR CHANNEL ENCODING AND DECODING IN COMMUNICATION SYSTEM USING VARIABLE-LENGTH LDPC CODES}
본 발명은 저밀도 패리티 검사(low-density parity-check, 이하 LDPC) 부호를 오류정정부호로 적용하는 통신 시스템에 관한 것으로, 특히 블록 길이가 가변적인 LDPC 부호를 사용하는 채널 부호화/복호화(channel encoding/decoding) 장치 및 방법에 관한 것이다.
무선 통신 시스템에서는 채널의 여러 가지 잡음(noise)과 페이딩(fading) 현상 및 심볼간 간섭(inter-symbol interference, ISI)에 의해 링크(link)의 성능이 현저히 저하된다. 따라서, 차세대 이동 통신, 디지털 방송 및 휴대 인터넷과 같이 높은 데이터 처리량과 신뢰도를 요구하는 고속 디지털 통신 시스템들을 구현하기 위해서 잡음과 페이딩 및 ISI에 대한 극복 기술을 개발하는 것이 필수적이다. 최근에는 정보의 왜곡을 효율적으로 복원하여 통신의 신뢰도를 높이기 위한 방법으로서 오류정정부호(error-correcting code)에 대한 연구가 활발히 이루어지고 있다.
1960년대에 Gallager에 의해서 처음 소개된 LDPC 부호는 당시 기술을 훨씬 능가하는 구현 복잡도로 인해 오랫동안 잊혀져 왔다. 하지만, 1993년 Berrou와 Glavieux, Thitimajshima에 의해 발견된 터보(turbo) 부호가 새넌(Shannon)의 채널 용량에 근접하는 성능을 보임에 따라, 터보 부호의 성능과 특성에 대한 많은 해석이 이루어지면서 반복 복호(iterative decoding)와 그래프를 기반으로 하는 채널 부호화에 대한 많은 연구가 진행되었다. 이를 계기로 1990년대 후반에 상기 LDPC 부호에 대해 재연구되면서 상기 LDPC 부호에 대응되는 Tanner 그래프(factor 그래프의 특별한 경우)상에서 합곱(sum-product) 알고리즘에 기반한 반복 복호(iterative decoding)를 적용하여 복호화를 수행하면 Shannon의 채널 용량에 근접하는 성능을 가짐이 밝혀졌다.
상기 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 부호의 패리티 검사 행렬 H1 의 예이다. 도 1을 참조하면, 열이 8개 있기 때문에 길이가 8인 부호어(codeword)를 생성하는 LDPC 부호를 의미하며, 각 열은 부호화된 8 비트와 대응된다.
도 2는 도 1의 H1에 대응하는 Tanner 그래프를 도시한 도면이다.
도 2를 참조하면, 상기 LDPC 부호의 상기 Tanner 그래프는 8개의 변수 노드들 x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)과 4개의 검사 노드(check node)(218, 220, 222, 224)들로 구성되어 있다. 여기서, 상기 LDPC 부호의 패리티 검사 행렬 H1의 i번째 열과 j번째 행은 각각 변수 노드 xi와 j 번째 검사 노드에 대응된다. 또한, 상기 LDPC 부호의 패리티 검사 행렬 H1의 i번째 열과 j번째 행이 교차하는 지점의 1의 값, 즉 0이 아닌 값의 의미는, 상기 도 2와 같이 상기 Tanner 그래프 상에서 상기 변수 노드 xi와 j번째 검사 노드 사이에 선 분(edge)이 존재함을 의미한다.
상기 LDPC 부호의 Tanner 그래프에서 변수 노드 및 검사 노드의 차수(degree)는 각 노드들에 연결되어 있는 선분의 개수를 의미하며, 이는 상기 LDPC 부호의 패리티 검사행렬에서 해당 노드에 대응되는 열 또는 행에서 0이 아닌 원소(entry)들의 개수와 동일하다. 예를 들어, 상기 도 2에서 변수 노드들 x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)의 차수는 각각 순서대로 4, 3, 3, 3, 2, 2, 2, 2가 되며, 검사 노드들(218, 220, 222, 224)의 차수는 각각 순서대로 6, 5, 5, 5가 된다. 또한, 상기 도 2의 변수 노드들에 대응되는 상기 도 1의 패리티 검사 행렬 H1의 각각의 열에서 0이 아닌 원소들의 개수는 상기한 차수들 4, 3, 3, 3, 2, 2, 2, 2와 순서대로 일치하며, 상기 도 2의 검사 노드들에 대응되는 상기 도 1의 패리티 검사 행렬 H1의 각각의 행에서 0이 아닌 원소들의 개수는 상기한 차수들 6, 5, 5, 5와 순서대로 일치한다.
LDPC 부호의 노드에 대한 차수 분포를 표현하기 위하여 차수가 i인 변수 노드의 개수와 변수 노드 총 개수와의 비율을 fi라 하고, 차수가 j인 검사 노드의 개수와 검사 노드 총 개수와의 비율을 gj라 하자. 예를 들어 상기 도 1과 도 2에 해당하는 LDPC 부호의 경우에는 f2=4/8, f3=3/8, f4=1/8, i≠2, 3, 4 에 대해서 fi=0 이며, g5=3/4, g6=1/4, j≠5,6 에 대해서 gj=0 이다. LDPC 부호의 길이를 N, 즉 열의 개수를 N이라 하고, 행의 개수를 N/2이라 할 때, 상기 차수 분포를 가지는 패리티 검사 행렬 전체에서 0이 아닌 원소의 밀도는 하기의 <수학식 1>과 같이 계산된다.
Figure 112007076930680-pat00001
상기 <수학식 1>에서 N이 증가하게 되면 패리티 검사 행렬 내에서 1의 밀도는 계속해서 감소하게 된다. 일반적으로 LDPC 부호는 부호 길이 N에 대하여 0이 아닌 원소의 밀도가 반비례하므로, N이 큰 경우에는 매우 낮은 밀도를 가지게 된다. LDPC 부호의 명칭에서 저밀도(low-density)란 말은 이와 같은 이유로 유래되었다.
그러면, LDPC 부호의 패리티 검사 행렬이 가지는 특성을 도 3를 참조하여 설명하기로 한다. 도 3은 유럽 디지털 방송 표준(standard)의 하나인 DVB-S2에서 표준 기술로 채택된 LDPC 부호를 도시한다.
도 3을 참조하면,
Figure 112007076930680-pat00002
은 LDPC 부호어의 길이이고,
Figure 112007076930680-pat00003
은 정보어의 길이이고,
Figure 112007076930680-pat00004
은 패리티의 길이를 의미한다. 그리고,
Figure 112007076930680-pat00005
이 성립하도록 정수
Figure 112007076930680-pat00006
Figure 112007076930680-pat00007
를 결정한다. 이때,
Figure 112007076930680-pat00008
도 정수가 되도록 한다. 편의상 도 3의 패리티 검사 행렬을 제 1패리티 검사 행렬
Figure 112007076930680-pat00009
이라 한다.
도 3을 참조하면 패리티 검사 행렬에서 패리티 부분에 해당하는 부분, 즉,
Figure 112007076930680-pat00010
번째 열(column)부터
Figure 112007076930680-pat00011
번째 열까지의 구조는 이중 대각(dual diagonal) 형태이다. 따라서, 패리티 부분에 해당하는 열의 차수(degree) 분포는 그 값이 '1'인 마지막 열을 제외하고 모두 '2'를 가진다.
패리티 검사 행렬에서 정보어 부분에 해당하는 부분, 즉 0번째 열부터
Figure 112007076930680-pat00012
번째 열까지의 구조를 이루는 규칙은 다음과 같다.
<규칙 1> : 패리티 검사 행렬에서 정보어에 해당하는
Figure 112007076930680-pat00013
개의 열을
Figure 112007076930680-pat00014
개씩 그룹화(grouping)하여, 총
Figure 112007076930680-pat00015
개의 열 그룹(column group)을 생성한다. 각 열 그룹에 속해있는 각각의 열을 구성하는 방법은 하기 규칙 2에 따른다.
<규칙 2> : 먼저
Figure 112007076930680-pat00016
번째
Figure 112007076930680-pat00017
열 그룹의 각 0번째 열의 1의 위치를 결정한다. 여기서, 각
Figure 112007076930680-pat00018
번째 열 그룹의 0번째 열의 차수를
Figure 112007076930680-pat00019
라 한다. 각 1이 있는 행의 위치를
Figure 112007076930680-pat00020
이라 가정하면,
Figure 112007076930680-pat00021
번째 열 그룹 내의
Figure 112007076930680-pat00022
Figure 112007076930680-pat00023
번째 열에서 1이 있는 행의 위치
Figure 112007076930680-pat00024
Figure 112007076930680-pat00025
는 하기 <수학식 2>와 같이 정의된다.
Figure 112007076930680-pat00026
,
Figure 112007076930680-pat00027
.,
Figure 112007076930680-pat00028
,
Figure 112007076930680-pat00029
상기 규칙에 따르면
Figure 112007076930680-pat00030
번째
Figure 112007076930680-pat00031
열 그룹 내에 속하는 열들의 차수는 모두
Figure 112007076930680-pat00032
로 일정하다.
상기 규칙을 통해 설계된 LDPC 부호는 구조적인 형태를 이용하여 효율적인 부호화가 가능함이 알려져 있다. 하지만, 상기 LDPC 부호를 사용하는 DVB-S2 표준(standard)의 경우에는 LDPC 부호의 제한적인 사용으로 인해서 사용되는 LDPC 부호의 블록 길이가 2개 밖에 없을 뿐만 아니라, 상기 2 개의 블록 길이를 지원하기 위해서도 각각 서로 다른 패리티 검사 행렬을 저장하고 있어야 하는 단점이 있다.
다음으로, 상술한 바와 같은 DVB-S2의 패리티 검사 행렬을 이용한 LDPC 부호화 진행 과정의 각 단계들을 설명한다.
먼저 설명의 편의를 위해 길이가
Figure 112007076930680-pat00033
인 정보어 비트들을
Figure 112007076930680-pat00034
로 나타내고, 길이가
Figure 112007076930680-pat00035
인 패리티 비트들을
Figure 112007076930680-pat00036
로 나타낸다. 하기에서 구체적으로 설명하는 LDPC 부호는
Figure 112007076930680-pat00037
,
Figure 112007076930680-pat00038
,
Figure 112007076930680-pat00039
,
Figure 112007076930680-pat00040
의 특성을 가진다.
단계 1: 패리티 비트들을 초기화
Figure 112007076930680-pat00041
.
단계 2: 저장되어 있는 패리티 검사 행렬의 정보로부터 정보어의 첫 번째 열 그룹 내에서 첫 번째 열의 1이 위치한 행의 정보를 호출함:
Figure 112007076930680-pat00042
,
Figure 112007076930680-pat00043
,
Figure 112007076930680-pat00044
,
Figure 112007076930680-pat00045
,
Figure 112007076930680-pat00046
,
Figure 112007076930680-pat00047
,
Figure 112007076930680-pat00048
,
Figure 112007076930680-pat00049
,
Figure 112007076930680-pat00050
,
Figure 112007076930680-pat00051
,
Figure 112007076930680-pat00052
,
Figure 112007076930680-pat00053
,
Figure 112007076930680-pat00054
.
상기 호출된 정보와 정보어 비트
Figure 112007076930680-pat00055
를 이용하여 하기의 <수학식 3>과 같이 특정 패리티 비트
Figure 112007076930680-pat00056
들을 업데이트한다. 여기서,
Figure 112007076930680-pat00057
는 각각의
Figure 112007076930680-pat00058
Figure 112007076930680-pat00059
값 을 의미한다.
Figure 112007076930680-pat00060
Figure 112007076930680-pat00061
Figure 112007076930680-pat00062
, , ,
Figure 112007076930680-pat00063
,
Figure 112007076930680-pat00064
,
Figure 112007076930680-pat00065
,
Figure 112007076930680-pat00066
,
Figure 112007076930680-pat00067
,
Figure 112007076930680-pat00068
,
Figure 112007076930680-pat00069
,
Figure 112007076930680-pat00070
,
Figure 112007076930680-pat00071
,
Figure 112007076930680-pat00072
.
상기 <수학식 3>에서
Figure 112007076930680-pat00073
Figure 112007076930680-pat00074
로 표기하기도 할 수도 있고,
Figure 112007076930680-pat00075
는 이진(binary) 덧셈을 의미한다.
단계 3:
Figure 112007076930680-pat00076
이후의 다음 359개의 정보어 비트
Figure 112007076930680-pat00077
,
Figure 112007076930680-pat00078
, ...,
Figure 112007076930680-pat00079
에 대해서 먼저 하기의 <수학식 4>를 이용하여 구한다.
Figure 112007076930680-pat00080
Figure 112007076930680-pat00081
Figure 112007076930680-pat00082
, , .
상기 <수학식 4>에서
Figure 112007076930680-pat00083
는 각각의
Figure 112007076930680-pat00084
Figure 112007076930680-pat00085
값을 의미한다. 상기 <수학식 4>는 <수학식 2>와 동일한 개념의 수식임에 유의한다.
다음으로 상기 <수학식 4>에서 구한 값을 이용하여 <수학식 3>와 유사한 작업을 수행한다. 즉,
Figure 112007076930680-pat00086
에 대해서
Figure 112007076930680-pat00087
를 업데이트한다. 예를 들어
Figure 112007076930680-pat00088
, 즉,
Figure 112007076930680-pat00089
에 대해서 하기의 <수학식 5>와 같이
Figure 112007076930680-pat00090
들을 업데 이트 한다.
Figure 112007076930680-pat00091
상기 <수학식 5>의 경우에는
Figure 112007076930680-pat00092
임에 유의한다. 위와 같은 과정을
Figure 112007076930680-pat00093
에 대해서 마찬가지로 진행한다.
단계 4: 상기 단계 2와 마찬가지로 361번째 정보어 비트
Figure 112007076930680-pat00094
에 대해서
Figure 112007076930680-pat00095
, (
Figure 112007076930680-pat00096
)의 정보를 호출하고, 특정
Figure 112007076930680-pat00097
를 업데이트한다. 여기서,
Figure 112007076930680-pat00098
Figure 112007076930680-pat00099
를 의미한다.
Figure 112007076930680-pat00100
이후의 다음 359개의 정보어 비트
Figure 112007076930680-pat00101
,
Figure 112007076930680-pat00102
, ...,
Figure 112007076930680-pat00103
에 대해서 <수학식 4>를 유사하게 적용하여
Figure 112007076930680-pat00104
,
Figure 112007076930680-pat00105
를 업데이트한다.
단계 5: 모든 각각의 360개의 정보어 비트 그룹에 대해서 상기 단계 2, 3, 4의 과정을 반복한다. 최종적으로 <수학식 6>을 통해서 패리티 비트를 결정한다.
Figure 112007076930680-pat00106
Figure 112007076930680-pat00107
, .
상기 <수학식 6>의
Figure 112007076930680-pat00108
들이 LDPC 부호화가 완료된 패리티 비트들이다.
위와 같이 DVB-S2에서는 단계 1부터 단계 5까지의 과정을 거쳐 부호화를 진행한다.
상술한 바와 같은 LDPC 부호를 실제 통신 시스템에 적용하기 위해서는 상기 통신 시스템에서 요구되는 데이터 전송량에 적합하도록 설계되어야 한다. 특히 복합 재전송(Hybrid Automatic Retransmission Request, HARQ) 방식과 적응형 변조 및 부호화(Adaptive Modulation and Coding, AMC) 방식 등을 적용하는 적응형 통신 시스템 뿐만 아니라 다양한 방송 서비스를 지원하는 통신 시스템에서는 사용자의 요구에 따라 다양한 데이터 전송량을 지원하기 위해 다양한 블록 길이를 가지는 LDPC 부호가 필요하다.
그런데, 상술한 바와 같이 DVB-S2 시스템에서 사용되는 LDPC 부호의 경우에는 제한적인 사용으로 인해 블록 길이가 2 종류 밖에 없을 뿐만 아니라 각각 독립적인 패리티 검사 행렬을 필요로 한다. 그런데, 상술한 바와 같이 사용 가능한 블록 길이가 제한적일 경우 시스템의 확장성 및 유연성을 증가시키가 어렵다는 문제점이 있다.
또한, LDPC 부호의 각각의 블록 길이에 대해 상응하는 각각의 패리티 검사 행렬을 모두 저장하는 것은 메모리 효율성을 떨어뜨리는 문제점이 있다.
상술한 바와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 다양한 블록 길이의 LDPC 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 장치 및 그 제어 방법을 제공함에 있다.
본 발명의 다른 목적은 메모리 효율성을 증대시키기 위해 새로운 패리티 검사 행렬을 설계하지 않고, 주어진 LDPC 부호를 이용하여 다양한 블록 길이를 가지는 LDPC 부호를 생성하는 방법 및 장치를 제공함에 있다.
상기한 목적들을 달성하기 본 발명은 가변 길이를 가지는 구조적인 LDPC 부호를 부호화하는 방법에 있어서, 기 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과, 요구되는 LDPC 부호의 블록 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하는 과정과, 상기 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 1 패리티 검사 행렬 또는 상기 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정으로 구성됨을 특징으로 한다.
본 발명은 가변 길이를 가지는 LDPC 부호를 부호화하는 장치에 있어서, 요구되는 LDPC 부호의 블록 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하고, 기 저장되어 있는 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬 및 패리티에 대응되는 부분 행렬을 구성하고, 상기 제 1 패리티 검사 행렬 또는상기 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 부호화기와, 상기 LDPC 부호를 미리 설정되어 있는 변조 방식으로 변조하여 변조 심벌로 생성하는 변조기와, 상기 변조 심벌을 송신하는 송신기 포함함을 특징으로 한다.
본 발명은 가변 길이를 가지는 구조적인 LDPC 부호를 복호하는 방법에 있어서, 신호를 수신하는 과정과, 기 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과, 복호할 LDPC 부호의 블록 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하는 과정과, 상기 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과, 상기 제 1 패리티 검사 행렬 또는상기 제 2 패리티 검사 행렬 중 하나를 기반으로 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 과정을 포함함을 특징으로 한다.
본 발명은 가변 길이를 가지는 상기 LDPC 부호를 복호하는 장치에 있어서, 신호를 수신하는 수신기와, 상기 수신된 신호를 미리 설정되어 있는 복조 방식으로 복조하여 출력하는 변조기와, 변조기로부터 출력된 신호를 복호할 상기 LDPC 부호의 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하고, 기 저장되어 있는 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬 및 패리티에 대응되는 부분 행렬을 구성하고, 상기 제 1 패리티 검사 행렬 또는 상기 제 2 패리티 검사 행렬 중 하나를 기반으로 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 복호기를 포함함을 특징으로 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은 LDPC 부호를 사용하는 통신 시스템에서 주어진 패리티 검사 행렬의 정보를 이용해서 다양한 블록 길이를 가지는 LDPC 부호를 생성하여 시스템의 확장성 및 유연성을 증가시키는 이점이 있다.
또한, 본 발명은 다양한 블록 길이를 지원하는 시스템에서도 하나의 패리티 검사 행렬의 정보만을 저장하면 되므로 메모리의 효율성이 증대된다는 이점이 있다.
본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명은 특정 형태를 갖는 하나의 LDPC 부호의 패리티 검사 행렬을 이용하여 그보다 블록 길이가 크거나 작은 다양한 블록 길이를 가지는 LDPC 부호를 생성하고, 그 다양한 블록 길이를 가지는 LDPC 부호를 이용하는 부호화 및 복호화 하는 하는 장치 및 방법을 제안한다.
도 4는 LDPC 부호를 사용하는 통신 시스템의 블록도(block diagram)이다.
도 4를 참조하면, 메시지
Figure 112012087418409-pat00321
는 전송되기 전에 송신기(410)의 LDPC 부호화기(encoder)(411)를 통해 부호화되고, 변조기(Modulator)(413)에 의해 변조되어 무선 채널(420)을 통해 전송된다. 그러면, 수신기(430)의 복조기(Demodulator)(430)는 상기 무선 채널을 통해 전송되는 신호 r을 수신하여 복조하고, LDPC 복호기(Decoder)(433)는 상기 복조된 신호로부터 메시지의 추정치(estimate)
Figure 112012087418409-pat00322
를 추정해낸다.
상기 LDPC 부호화기(411) 및 LDPC 복호화기(433)은 미리 설정되어 있는 방식으로부터 통신 시스템에서 요구하는 블록 길이에 상응하는 패리티 검사 행렬을 생성한다. 특히, 본 발명에서 LDPC 부호화기(411) 및 LDPC 복호화기(433)은 LDPC 부호를 이용하여 별도의 추가적인 저장 정보의 필요가 없으면서 다양한 블록 길이를 지원할 수 있다. 상기 통신 시스템에서 요구하는 블록 길이 상응하는 패리티 검사 행렬의 생성은 상술한 바와 같이 LDPC 부호화기(411) 및 LDPC 복호화기(433)에서 이루어질 수도 있으나, 별도로 구성된 패리티 검사 행렬을 생성하는 장치에서 생성될 수도 있다.다양한 블록 길이를 지원하기 위한 LDPC 부호화기(411) 및 LDPC 복호화기(433)의 구체적인 동작 설명은 하기의 부호화 방법 설명과 함께 상세히 설명하기로 한다.
그러면, 본 발명에 따른 가변 길이를 가지는 구조적인 LDPC 부호화 방법을 설명하기로 한다.
본 발명의 부호화 방법은 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하여, 요구되는 LDPC 부호의 블록 길이에 상응하는 제 2 패리티 검사 행렬 생성하고, 상기 제 1 패리티 검사 행렬 또는 새로 생성된 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정으로 구성된다.
우선 저장되어 있는 패리티 검사 행렬로부터 가변 블록 길이에 상응하는 패리티 검사 행렬을 생성하는 과정을 살펴보기로 한다.
종래의 패리티 검사 행렬의 설계 규칙에 따르면, 상기 LDPC 부호의 구조는
Figure 112012087418409-pat00111
개의 열 단위로 그룹화하는 과정과, 각 열 그룹의 첫 번째 열의 차수와 1의 위치에 의해 그모든 특성이 결정된다. 따라서, 상술한 바와 같은 특성을 갖는 LDPC 부호로부터 다른 블록 길이를 가지는 LDPC 부호를 지원하기 위해서는 주어진 패리티 검사 행렬로부터 새롭게 그룹화하는 과정과, 상기 그룹화 과정을 통해서 새롭게 얻어진 열 그룹의 첫 번째 열의 1의 위치만 결정하면 충분하다.
본 발명은 하나의 특정 블록 길이를 가지는 LDPC 부호로부터 다른 블록 길이를 가지는 LDPC 부호를 지원하는 방법을 제안한다.
도 5는 본 발명의 실시 예에 따라 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 다른 블록 길이를 가지는 LDPC 부호를 생성하기 위한 흐름도이다.
설명의 편의를 위해 저장되어 있는 제 1 LDPC 부호로부터 새롭게 지원하고자 하는 제 2 LDPC 부호의 부호어의 길이를
Figure 112012087418409-pat00323
, 정보어의 길이는
Figure 112012087418409-pat00324
, 패리티의 길이는
Figure 112012087418409-pat00325
라 하자. 여기서
Figure 112012087418409-pat00326
Figure 112012087418409-pat00327
는 각각
Figure 112012087418409-pat00328
Figure 112012087418409-pat00329
의 약수이며,
Figure 112012087418409-pat00330
를 만족한다. 새롭게 설계한 제 2 LDPC 부호의 패리티 검사 행렬을 제 2 패리티 검사 행렬
Figure 112012087418409-pat00331
라 하자.

도 5를 참조하면, 510 단계에서 LDPC 부호화기는 저장되어 있는 제 1 패리티 검사 행렬
Figure 112012087418409-pat00332
을 검출해낸다. 그리고, 520 단계에서 LDPC 부호화기는 하기의 <규칙 3>에서와 같이 필요한 제 2 LDPC 부호의 블록 길이를 확인한 후, 그에 상응하는
Figure 112012087418409-pat00333
를 결정한다.
삭제
<규칙 3> :
Figure 112012087418409-pat00334
로 정의한다. 패리티 검사 행렬에서 정보어에 해당하는
Figure 112012087418409-pat00335
개의 열을
Figure 112012087418409-pat00336
개씩 그룹화하여 총
Figure 112012087418409-pat00337
개의 열 그룹을 만든다.
Figure 112012087418409-pat00338
의 값은 상기 규칙 1과 2에서 설명한 제 1 패리티 검사 행렬
Figure 112012087418409-pat00339
에 대한 열 그룹의 개수
Figure 112012087418409-pat00340
와 동일한 수가 되며, 하기의 <수학식 7>과 같이
Figure 112012087418409-pat00341
또한 동일함을 알 수 있다. .
Figure 112012087418409-pat00342
.
그런후, 530 단계에서 LDPC 부호화기는 하기의 <규칙 4>를 적용하여 LDPC 부호의 패리티 검사 행렬에서 정보어에 대응되는 부분 행렬을 구성한다.
<규칙 4> : 상기 <수학식 2>에 나타낸
Figure 112007076930680-pat00132
에서의 1의 위치와 상기
Figure 112007076930680-pat00133
Figure 112007076930680-pat00134
를 이용하여 새롭게 생성할 패리티 검사 행렬
Figure 112007076930680-pat00135
에서의
Figure 112007076930680-pat00136
번째 열 그룹 내의
Figure 112007076930680-pat00137
Figure 112007076930680-pat00138
번째 열에서 1이 있는 행의 위치
Figure 112007076930680-pat00139
Figure 112007076930680-pat00140
는 하기의 <수학식 8>과 같이 정의된다.
Figure 112007076930680-pat00141
Figure 112007076930680-pat00142
와 에 대해서,
Figure 112007076930680-pat00143
,
Figure 112007076930680-pat00144
,
Figure 112007076930680-pat00145
.
540 단계에서 LDPC 부호화기는 하기의 <규칙 5>를 적용하여 LDPC 부호의 패 리티 검사 행렬에서 패리티에 대응되는 부분 행렬을 구성한다.
<규칙 5> : 패리티 검사 행렬에서 패리티 부분에 해당하는 부분, 즉,
Figure 112012087418409-pat00146
번째 열부터
Figure 112012087418409-pat00343
번째 열까지의 구조는 이중 대각(dual diagonal) 형태가 되도록 설정한다. 즉, 패리티 부분에 해당하는 열의 차수 분포는 마지막 열이 1임을 제외하고 모두 2를 가진다.
상술한 바와 같이 <규칙 3>, <규칙 4> 및 <규칙 5>를 이용하여 생성한 제 2패리티 검사 행렬
Figure 112012087418409-pat00148
는 종래의 <규칙 1>, <규칙 2>를 이용하여 만든 제1 패리티 검사 행렬
Figure 112012087418409-pat00149
의 정보를 그대로 사용하여 설계하였기 때문에
Figure 112012087418409-pat00150
의 저장을 위해 별도의 메모리가 필요하지 않다. 즉,
Figure 112012087418409-pat00151
의 정보만 가지고 있으면
Figure 112012087418409-pat00152
를 생성한 후 LDPC 부호화기에 적용하여 LDPC 부호어를 생성할 수 있다.
그러면, 다음으로 본 발명에서 제안한 방법을 통하여 이루어지는 새로운 제2 LDPC 부호의 부호화 과정을 하기에 자세히 설명한다.
여기서는, 설명의 편의를 위해서 생성하고자 하는 새로운 LDPC 부호에 대한 블록 길이는
Figure 112012087418409-pat00153
, 정보어의 길이가
Figure 112012087418409-pat00154
인 예를 들어 설명하기로 한다. 이에 따라
Figure 112012087418409-pat00155
이므로 상기
Figure 112012087418409-pat00156
의 정의에 의해서
Figure 112012087418409-pat00157
이 되며,
Figure 112012087418409-pat00158
으로 고정된다.
단계 1 : 패리티 비트들을 초기화(
Figure 112012087418409-pat00344
)한다.
단계 2 : 저장되어 있는 패리티 검사 행렬(
Figure 112007076930680-pat00160
)의 정보로부터 하기와 같은 첫 번째 열 그룹 내에서 첫 번째 열의 1이 위치한 행의 정보를 호출한다.
Figure 112012087418409-pat00345
,
Figure 112012087418409-pat00346
,
Figure 112012087418409-pat00347
,
Figure 112012087418409-pat00348
,
Figure 112012087418409-pat00349
,
Figure 112012087418409-pat00350
,
Figure 112012087418409-pat00351
,
Figure 112012087418409-pat00352
,
Figure 112012087418409-pat00353
,
Figure 112012087418409-pat00354
,
Figure 112012087418409-pat00355
,
Figure 112012087418409-pat00356
,
Figure 112012087418409-pat00357
.
단계 3 : 상기 규칙 4를 적용하여
Figure 112012087418409-pat00358
,
Figure 112012087418409-pat00359
로부터 다음과 같이
Figure 112012087418409-pat00360
값을 구한다.
Figure 112012087418409-pat00361
,
Figure 112012087418409-pat00362
,
Figure 112012087418409-pat00363
,
Figure 112012087418409-pat00364
,
Figure 112012087418409-pat00365
,
Figure 112012087418409-pat00366
,
Figure 112012087418409-pat00367
,
Figure 112012087418409-pat00368
,
Figure 112012087418409-pat00369
,
Figure 112012087418409-pat00370
,
Figure 112012087418409-pat00371
,
Figure 112012087418409-pat00372
,
Figure 112012087418409-pat00373
,
Figure 112012087418409-pat00374
,
Figure 112012087418409-pat00375
.
상기 정보와
Figure 112012087418409-pat00192
를 이용하여 다음 <수학식 9>와 같이 특정
Figure 112012087418409-pat00193
들을 업데이트 한다. (여기서
Figure 112012087418409-pat00194
는 각각의
Figure 112012087418409-pat00376
Figure 112012087418409-pat00377
값을 의미한다.)
Figure 112012087418409-pat00378
Figure 112012087418409-pat00379
Figure 112012087418409-pat00380
, , ,

Figure 112012087418409-pat00381
,
Figure 112012087418409-pat00382
,
Figure 112012087418409-pat00383
,

Figure 112012087418409-pat00384
,
Figure 112012087418409-pat00385
,
Figure 112012087418409-pat00386
,

Figure 112012087418409-pat00387
,
Figure 112012087418409-pat00388
,
Figure 112012087418409-pat00389
,
Figure 112012087418409-pat00390
. (
Figure 112012087418409-pat00210
는 이진(binary) 덧셈을 의미함.)
삭제
단계 4:
Figure 112007076930680-pat00211
이후의 다음 89개의 정보어 비트
Figure 112007076930680-pat00212
,
Figure 112007076930680-pat00213
, ...,
Figure 112007076930680-pat00214
에 대해서 먼저 다음 <수학식 10>을 구한다.
Figure 112012087418409-pat00391
Figure 112012087418409-pat00392
Figure 112012087418409-pat00393
,, .
상기 <수학식 10>에서
Figure 112007076930680-pat00218
는 각각의
Figure 112007076930680-pat00219
Figure 112007076930680-pat00220
값을 의미한다. 상기 <수학식 10>은 <수학식 2>와 동일한 개념의 수식임에 유의한다.
다음으로 상기 <수학식 10>에서 구한 값을 이용하여 <수학식 9>와 같은 작업을 수행한다. 즉,
Figure 112012087418409-pat00221
에 대해서
Figure 112012087418409-pat00394
를 업데이트한다. 예를 들어
Figure 112012087418409-pat00223
, 즉,
Figure 112012087418409-pat00224
에 대해서 다음 <수학식 11>과 같이 특정
Figure 112012087418409-pat00395
들을 업데이트 한다.
Figure 112012087418409-pat00396
Figure 112012087418409-pat00397
Figure 112012087418409-pat00398
, , ,
Figure 112012087418409-pat00399
,
Figure 112012087418409-pat00400
,
Figure 112012087418409-pat00401
,
Figure 112007076930680-pat00232
,
Figure 112007076930680-pat00233
,
Figure 112007076930680-pat00234
,
Figure 112007076930680-pat00235
,
Figure 112007076930680-pat00236
,
Figure 112007076930680-pat00237
,
Figure 112007076930680-pat00238
. (
Figure 112007076930680-pat00239
는 이진(binary) 덧셈을 의미함.)
상기 <수학식 11>의 경우에는
Figure 112007076930680-pat00240
임에 유의한다. 위와 같은 과정을
Figure 112007076930680-pat00241
에 대해서 마찬가지로 진행한다.
단계 5: 상기 단계 3과 마찬가지로 91번째 정보어 비트
Figure 112012087418409-pat00242
에 대해서
Figure 112012087418409-pat00243
, (
Figure 112012087418409-pat00244
)의 정보를 호출하고
Figure 112012087418409-pat00245
를 계산하고 특정
Figure 112012087418409-pat00246
를 업데이트 한다. (여기서
Figure 112012087418409-pat00247
Figure 112012087418409-pat00248
를 의미한다.)
Figure 112012087418409-pat00249
이후의 다음 89개의 정보어 비트
Figure 112012087418409-pat00250
,
Figure 112012087418409-pat00251
, ...,
Figure 112012087418409-pat00252
에 대해서 <수학식 10>을 적용하여
Figure 112012087418409-pat00253
,
Figure 112012087418409-pat00254
들을 업데이트한다. 90개의 정보어 비트 그룹의 각각에 대해서 상기 단계 2, 3, 4의 과정을 반복한다.
단계 6: 최종적으로 다음 <수학식 12>를 통해서 패리티 비트를 결정한다.
Figure 112007076930680-pat00255
Figure 112007076930680-pat00256
, .
상기 <수학식 12>의
Figure 112007076930680-pat00257
들이 LDPC 부호화가 완료된 패리티 비트들이다.
한편, 상기 단계 3에서
Figure 112007076930680-pat00258
로부터
Figure 112007076930680-pat00259
를 구하는 과정을 살펴보면
Figure 112007076930680-pat00260
이므로, 하기의 <수학식 13>이 성립하게 된다.
Figure 112007076930680-pat00261
따라서, 상기 단계 3, 단계 4 단계 5
Figure 112007076930680-pat00262
를 구하는 별도의 과정 없이 다음과 같이 하나의 단계로 정리하여 표현할 수도 있다.
단계 3, 4, 5의 결합:
Figure 112007076930680-pat00263
,
Figure 112007076930680-pat00264
,
Figure 112007076930680-pat00265
에 대해서 <수학식 14>와 같이
Figure 112007076930680-pat00266
를 업데이트한다.
Figure 112007076930680-pat00267
상기 <수학식 14>에서
Figure 112007076930680-pat00268
,
Figure 112007076930680-pat00269
이다.
상술한 바와 같은 LDPC 부호화 방식의 실시 예는 매우 제한적인 경우이며, 상기 LDPC 부호의 패리티 검사 행렬의 생성 규칙에 의거하여 다양한 패리티 검사 행렬을 생성할 수 있다.
상기 부호화 방식은 제 1 패리티 검사행렬로부터 새롭게 생성하고자 하는 제2 LDPC 부호에 대해 단축(shortening)과 천공(puncturing)을 적용하지 않은 방법으로서, 새롭게 생성된 제 2 패리티 검사행렬에서 부호율이나 열과 행의 차수 분포 등과 같은 부호의 대수적 특성이 제 1 패리티 검사행렬과 동일하다. 따라서, 제 1 패리티 검사행렬로부터 부호의 대수적 특성이 다른 부호를 얻기 위해서는 생성된 제 2 패리티 검사 행렬에 단축을 적용한 뒤에 상기 부호화 방식을 적용하여 얻은 LDPC 부호어 일부에 천공을 적용하는 방법이 있다.
제 1 패리티 검사행렬로부터 상기 <규칙 3>, <규칙 4>, <규칙 5> 등을 이용하여 얻은 제 2 패리티 검사 행렬에 단축과 천공을 적용하여 서로 다른 대수적 특성을 가지는 LDPC 부호를 얻는 방법을 자세히 설명한다.
먼저 설명의 편의를 위해서 <규칙 1>과 <규칙 2>에서 나타낸 LDPC 부호의 패리티 검사행렬에 해당하는 제 1 패리티 검사 행렬의 블록 길이, 정보어 길이 및 그룹화 크기를 각각
Figure 112012087418409-pat00270
,
Figure 112012087418409-pat00271
,
Figure 112012087418409-pat00272
이라 하자. 그러면 <규칙 3>, <규칙 4>, <규칙 5>에 의거하여 제 1 패리티 검사행렬로부터 블록 길이, 정보어 길이 및 그룹화 크기가
Figure 112012087418409-pat00273
,
Figure 112012087418409-pat00274
,
Figure 112012087418409-pat00275
인 제 2 패리티 검사행렬을 얻을 수 있었다. 이 때 새롭게 생성된 상기 제 2 패리티 검사행렬 자체는 부호율이나 열과 행의 차수 분포 등과 같은 부호의 대수적 특성이 제 1 패리티 검사행렬과 동일함에 유의한다.
이제 최종적으로 얻고자하는 제3 LDPC 부호의 블록 길이와 정보어 길이를 각각
Figure 112012087418409-pat00276
,
Figure 112012087418409-pat00277
하자. 만일
Figure 112012087418409-pat00278
,
Figure 112012087418409-pat00279
라고 정의하면, 제 2 패리티 검사행렬에서
Figure 112012087418409-pat00280
비트만큼 단축을 취하고,
Figure 112012087418409-pat00281
비트만큼 천공을 취하면 블록 길이와 정보어 길이를 각각
Figure 112012087418409-pat00282
,
Figure 112012087418409-pat00283
인 제3 LDPC 부호를 얻을 수 있다. 이렇게 생성된 제3 LDPC 부호는
Figure 112012087418409-pat00284
또는
Figure 112012087418409-pat00285
일 때, 부호율이
Figure 112012087418409-pat00286
가 되어 일반적으로 제 2 패리티 검사행렬의 부호율
Figure 112012087418409-pat00287
와는 다르게 되므로 대수적 특성이 변하게 된다.
Figure 112012087418409-pat00288
인 경우에는 단축이나 천공을 적용하지 않는 경우에 해당된다.
그러면, 도 6을 참조하여, 제 1 패리티 검사행렬로서
Figure 112012087418409-pat00289
,
Figure 112012087418409-pat00290
,
Figure 112012087418409-pat00291
,
Figure 112012087418409-pat00292
의 특성을 가지는 LDPC 부호를 이용하여 단축과 천공을 통하여 블록 길이가
Figure 112012087418409-pat00293
이며, 정보어의 길이가
Figure 112012087418409-pat00294
인 새로운 제3 LDPC 부호를 생성하는 과정의 그 구체적인 예를 살펴보기로 한다.
도 6을 참조하면, 610 단계에서 LDPC 부호화기는 저장되어 있는 제1패리티 검사 행렬
Figure 112012087418409-pat00295
을 검출해낸다. 그리고, 620 단계에서 LDPC 부호화기는 상기의 <규칙 3>에서와 같이 필요한 LDPC 부호의 블록 길이를 확인한 후, 그에 상응하는 그룹화 크기
Figure 112012087418409-pat00296
를 결정한다. 상기 620 단계에 의해 <규칙 3>에 의해
Figure 112012087418409-pat00297
로 설정하고, 630 단계에서 단축과 천공의 필요 여부를 확인한다. 그리고, 우선 640 단계 및 650 단계에서 <규칙 4>, <규칙 5>로부터
Figure 112012087418409-pat00298
,
Figure 112012087418409-pat00299
인 제2LDPC 부호의 제 2 패리티 검사행렬을 생성할 수 있다. 이때 ,
Figure 112012087418409-pat00300
,
Figure 112012087418409-pat00301
이 성립하므로, 660 단계에서 제 2 패리티 검사행렬에 대해 1320 비트만큼 단축을 취하고 30 비트만큼 천공을 취하면 블록 길이가
Figure 112012087418409-pat00302
이며, 정보어의 길이가
Figure 112012087418409-pat00303
인 새로운 제3LDPC 부호를 생성할 수 있다. 참고로 상기 제 1 패리티 검사 행렬의 부호율은 4/9이며, 상기 제 2 패리티 검사행렬의 부호율은 4/15로서 서로 상이함을 알 수 있다.
상기 제 2 패리티 검사행렬에 취하는 단축 방법으로서는 다양한 방법이 있을 수 있으며 한 가지 구체적인 방법을 예를 들면 다음과 같다.
<규칙 2>에 따르면 DVB-S2 LDPC 부호의 i번째 (i = 1,...,
Figure 112012087418409-pat00304
)열 그룹의 각 0번째 열의 1의 위치에 의해서 해당 열 그룹의 모든 열의 1의 위치를 얻을 수 있다.
Figure 112012087418409-pat00305
,
Figure 112012087418409-pat00306
,
Figure 112012087418409-pat00307
,
Figure 112012087418409-pat00308
의 특성을 가지는 LDPC 부호는 총 20개의 정보어 열 그룹에 대한 정보가 주어져 있으며, i 번째 (i = 1,2,....,20)열 그룹의 각 0번째 열의 1의 위치 정보는 다음과 같다:
Figure 112007076930680-pat00309
만일 상기 정보어 열 그룹에 대한 정보를 그대로 모두 사용하게 되면, <규칙 3>, <규칙 4>, <규칙 5>에 의해서
Figure 112007076930680-pat00310
일 때, 정보어의 길이는
Figure 112007076930680-pat00311
이 된다. 하지만, 위의 열 그룹에 대한 정보 중에서 다음과 같이 9 개의 정보어 열 그룹에 대한 정보만 사용한다고 가정하자.
Figure 112007076930680-pat00312
상기 9 개의 정보어 열 그룹에 대한 정보만을 사용하여 <규칙 3>, <규칙 4>, <규칙 5>에 의해서
Figure 112007076930680-pat00313
에 대해 패리티 검사행렬을 생성하면, 정보어의 길이는
Figure 112007076930680-pat00314
이 되어, 사용하지 않은 11 개의 정보어 열 그룹에 대한 단축을 적용한 것과 동일한 효과를 얻을 수 있다.
상기 단축의 예는 열 그룹에 대한 단축의 예일 뿐이며, 비트 별 단축 등과 같은 다양한 단축 방법을 적용할 수 있다.
상기 천공 방법의 대표적인 예로서는 천공 비트 수를 라 하고, 새롭게 생성된 제 2 패리티 검사행렬에 대응되는 LDPC 부호의 패리티의 길이가 라 할 때, 패리티 비트에서 마다 1 비트 씩 천공하는 방법이 있으나, 이러한 방법 외에도 다양한 방법을 적용할 수 있다.
도 1은 일반적인 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예를 도시한 도면,
도 2는 일반적인 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예의 Tanner 그래프를 도시한 도면,
도 3은 일반적인 DVB-S2 LDPC 부호의 대략적인 구조도,
도 4는 본 발명에 따라 LDPC 부호를 사용하는 디지털 통신 시스템의 블록 구성도를 도시한 도면,
도 5는 본 발명의 실시 예에 따른 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 다른 블록 길이를 가지는 LDPC 부호를 생성하기 위한 흐름도.
도 6은 본 발명의 다른 실시 예에 따른 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 단축과 천공을 결합하여 다른 블록 길이를 가지는 LDPC 부호를 생성하기 위한 흐름도.

Claims (14)

  1. 부호화 장치에서 가변 길이를 가지는 구조적인 LDPC 부호를 부호화하는 방법에 있어서,
    기 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과,
    요구되는 LDPC 부호의 블록 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하는 과정과,
    상기 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과,
    상기 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과,
    상기 제 1 패리티 검사 행렬 또는 상기 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 과정을 포함하는 부호화 방법.
  2. 제 1항에 있어서,
    상기 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기는 상기 제 1 패리티 검사 행렬의 정보어를 그룹화할 크기의 약수 또는 배수임을 특징으로 하는 부호화 방법.
  3. 제 1항에 있어서,
    상기 정보어에 대응되는 부분 행렬을 구성하는 과정은,
    상기 제 1 패리티 검사 행렬에서의 정보어의 1의 위치와 상기 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 이용하여 상기 제 2 패리티 검사 행렬에서의 정보어의 1의 위치를 결정하는 과정을 포함함을 특징으로 하는 부호화 방법.
  4. 제 2항에 있어서,
    상기 정보어에 대응되는 부분 행렬을 구성하는 과정은,
    상기 제 2 패리티 검사 행렬에서의
    Figure 112012087418409-pat00402
    번째 열 그룹 내의
    Figure 112012087418409-pat00403
    Figure 112012087418409-pat00404
    번째 열에서 1이 있는 행의 위치
    Figure 112012087418409-pat00405
    Figure 112012087418409-pat00406
    를 하기의 <수학식 13>과 같이 정의하는 것임을 특징으로 하는 부호화 방법.
    <수학식 13>
    Figure 112012087418409-pat00407
    Figure 112012087418409-pat00408
    에 대해서,
    Figure 112012087418409-pat00409
    ,
    Figure 112012087418409-pat00410
    ,
    Figure 112012087418409-pat00411
    .
  5. 제 1항에 있어서,
    상기 제2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정은,
    상기 부분 행렬을 상기 그룹화 크기에 상응하도록 구성하는 과정을 포함함을 특징으로 하는 부호화 방법.
  6. 제 1항에 있어서,
    상기 제 2 패리티 검사 행렬에 단축 및 천공을 적용하는 과정을 더 포함하는 부호화 방법.
  7. 가변 길이를 가지는 LDPC 부호를 부호화하는 장치에 있어서,
    요구되는 LDPC 부호의 블록 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하고, 기 저장되어 있는 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬 및 패리티에 대응되는 부분 행렬을 구성하고,
    상기 제 1 패리티 검사 행렬 또는 상기 제 2 패리티 검사 행렬 중 하나를 기반으로 부호화를 수행하는 부호화기와,
    상기 LDPC 부호를 미리 설정되어 있는 변조 방식으로 변조하여 변조 심벌로 생성하는 변조기와,
    상기 변조 심벌을 송신하는 송신기 포함함을 특징으로 하는 부호화 장치.
  8. 제 7항에 있어서,
    상기 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기는 상기 제 1 패리티 검사 행렬의 정보어를 그룹화할 크기의 약수 또는 배수임을 특징으로 하는 부호화 장치.
  9. 제 7항에 있어서,
    상기 부호화기는 상기 제 1 패리티 검사 행렬에서의 정보어의 1의 위치와 상기 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 이용하여 상기 제 2 패리티 검사 행렬에서의 정보어의 1의 위치를 결정함을 특징으로 하는 부호화 장치.
  10. 제 9항에 있어서,
    상기 부호화기는 상기 제 2 패리티 검사 행렬에서의
    Figure 112012087418409-pat00412
    번째 열 그룹 내의
    Figure 112012087418409-pat00413
    Figure 112012087418409-pat00414
    번째 열에서 1이 있는 행의 위치
    Figure 112012087418409-pat00415
    Figure 112012087418409-pat00416
    는 하기의 <수학식 14>와 같이 정의함을 특징으로 하는 부호화 장치.
    <수학식 13>
    Figure 112012087418409-pat00417
    Figure 112012087418409-pat00418
    에 대해서,
    Figure 112012087418409-pat00419
    ,
    Figure 112012087418409-pat00420
    ,
    Figure 112012087418409-pat00421
    .
  11. 제 7항에 있어서,
    상기 부호화기는 상기 부분 행렬을 상기 그룹화 크기에 상응하도록 구성함을 특징으로 하는 부호화 장치.
  12. 제 7항에 있어서,
    상기 부호화기는 상기 제 2 패리티 검사 행렬에 단축 및 천공을 적용함을 특징으로 하는 부호화 장치.
  13. 복호화 장치에서 가변 길이를 가지는 구조적인 LDPC 부호를 복호하는 방법에 있어서,
    신호를 수신하는 과정과,
    기 저장되어 있는 제 1 패리티 검사 행렬 정보를 검출하는 과정과,
    복호할 LDPC 부호의 블록 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하는 과정과,
    상기 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬을 구성하는 과정과,
    상기 제 2 패리티 검사 행렬의 패리티에 대응되는 부분 행렬을 구성하는 과정과,
    상기 제 1 패리티 검사 행렬 또는 상기 제 2 패리티 검사 행렬 중 하나를 기반으로 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 과정을 포함함을 특징으로 하는 복호화 방법.
  14. 가변 길이를 가지는 LDPC 부호를 복호하는 장치에 있어서,
    신호를 수신하는 수신기와,
    상기 수신된 신호를 미리 설정되어 있는 복조 방식으로 복조하여 출력하는 변조기와,
    변조기로부터 출력된 신호를 복호할 LDPC 부호의 길이를 확인한 후, 제 2 패리티 검사 행렬의 정보어를 그룹화할 크기를 결정하고,
    기 저장되어 있는 제 1 패리티 검사 행렬로부터 상기 그룹화 크기에 상응하도록 상기 제 2 패리티 검사 행렬의 정보어에 대응되는 부분 행렬 및 패리티에 대응되는 부분 행렬을 구성하고, 상기 제 1 패리티 검사 행렬 또는 상기 제 2 패리티 검사 행렬 중 하나를 기반으로 상기 수신 신호를 복호하여 상기 LDPC 부호로 검출하는 복호기를 포함함을 특징으로 하는 복호화 장치.
KR1020070108317A 2007-09-10 2007-10-26 가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치 KR101413783B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/208,316 US8261152B2 (en) 2007-09-10 2008-09-10 Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070091452 2007-09-10
KR20070091452 2007-09-10

Publications (2)

Publication Number Publication Date
KR20090026709A KR20090026709A (ko) 2009-03-13
KR101413783B1 true KR101413783B1 (ko) 2014-07-02

Family

ID=40694611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070108317A KR101413783B1 (ko) 2007-09-10 2007-10-26 가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101413783B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180122911A (ko) * 2017-05-04 2018-11-14 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
US11296727B2 (en) 2017-05-04 2022-04-05 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in communication or broadcasting system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8689093B2 (en) 2009-12-07 2014-04-01 Samsung Electronics Co., Ltd Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
KR102329573B1 (ko) * 2014-12-10 2021-11-22 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050078765A1 (en) 2003-10-13 2005-04-14 Samsung Electronics Co., Ltd. Method and apparatus for space-time coding using lifting low density parity check codes in a wireless communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050078765A1 (en) 2003-10-13 2005-04-14 Samsung Electronics Co., Ltd. Method and apparatus for space-time coding using lifting low density parity check codes in a wireless communication system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180122911A (ko) * 2017-05-04 2018-11-14 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR102302366B1 (ko) 2017-05-04 2021-09-16 삼성전자 주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
US11296727B2 (en) 2017-05-04 2022-04-05 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in communication or broadcasting system
US11791845B2 (en) 2017-05-04 2023-10-17 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in communication or broadcasting system

Also Published As

Publication number Publication date
KR20090026709A (ko) 2009-03-13

Similar Documents

Publication Publication Date Title
US8261152B2 (en) Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes
KR101502623B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
KR101503058B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
EP2068449B1 (en) Shortening and puncturing of low-density parity-check (LDPC) codes for channel encoding and decoding
US8495459B2 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
JP5506879B2 (ja) 低密度パリティ検査符号を使用する通信システムのチャネル復号化装置及び方法
EP2093887A2 (en) Apparatus and method for channel encoding and decoding in a communication system using low-density parity-check codes
KR101644656B1 (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR20110123637A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
KR20090095432A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서채널부호/복호 방법 및 장치
KR101503653B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
KR101413783B1 (ko) 가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치
KR101503656B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR20170075627A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20090093778A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
Kumar et al. A review of channel coding schemes in the 5G standard
KR101552355B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호 및 복호 장치 및 방법
KR101192920B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
KR101503654B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
KR20110048448A (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR20110048443A (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호/복호 장치 및 방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 5