KR101503995B1 - 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치 - Google Patents

저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR101503995B1
KR101503995B1 KR1020130027472A KR20130027472A KR101503995B1 KR 101503995 B1 KR101503995 B1 KR 101503995B1 KR 1020130027472 A KR1020130027472 A KR 1020130027472A KR 20130027472 A KR20130027472 A KR 20130027472A KR 101503995 B1 KR101503995 B1 KR 101503995B1
Authority
KR
South Korea
Prior art keywords
shortened
information bits
shortening
bit
information
Prior art date
Application number
KR1020130027472A
Other languages
English (en)
Other versions
KR20130044254A (ko
Inventor
명세호
권환준
김경중
김재열
양경철
윤성렬
이학주
임연주
정홍실
정피터
Original Assignee
삼성전자주식회사
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 포항공과대학교 산학협력단 filed Critical 삼성전자주식회사
Publication of KR20130044254A publication Critical patent/KR20130044254A/ko
Application granted granted Critical
Publication of KR101503995B1 publication Critical patent/KR101503995B1/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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 통신 시스템에서 채널 부호화/복호화 방법 및 장치에 관한 것으로서 저밀도 패리티 검사(low density parity check, 이하 LDPC) 부호를 사용하는 통신 시스템에서, 구조적인 LDPC 부호로부터 다양한 부호어 크기를 생성하는 채널 부호화/복호화 방법 및 장치에 관한 것이다. 본 발명은 저밀도 패리티 검사 부호를 사용한 시스템에서 채널 부호화 방법에 있어서, 정보 비트들을 복수의 비트 그룹으로 구분하는 과정; 단축될 정보 비트의 수를 결정하는 과정; 상기 결정된 단축될 정보 비트의 수를 근거로 하여 단축될 비트 그룹의 수를 결정하는 과정; 미리 결정된 순서에 따라서 상기 결정된 비트 그룹의 정보 비트들을 단축하는 과정; 및 상기 단축된 정보 비트들을 부호화하는 과정을 포함한다.

Description

저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치{APPARATUS AND METHOD FOR CHANNEL ENCODING AND DECODING IN COMMUNICATION SYSTEM USING LOW-DENSITY PARITY-CHECK CODES}
본 발명은 저밀도 패리티 검사(low-density parity-check, 이하 LDPC) 부호를 사용하는 통신 시스템에 관한 것으로, 특히 주어진 LDPC 부호로부터 다양한 부호어 길이와 부호율(code rate)을 가지는 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 부호의 노드에 대한 차수 분포(degree distribution)를 표현하기 위하여 차수가 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 112013022318824-pat00001
상기 <수학식 1>에서 N이 증가하게 되면 패리티 검사 행렬 내에서 1의 밀도는 계속해서 감소하게 된다. 일반적으로 LDPC 부호는 부호 길이 N에 대하여 0이 아닌 원소의 밀도가 반비례하므로, N이 큰 경우에는 매우 낮은 밀도를 가지게 된다. LDPC 부호의 명칭에서 저밀도(low-density)란 말은 이와 같은 이유로 유래되었다.
다음으로 본 발명에서 적용될 구조적인 LDPC 부호의 패리티 검사 행렬이 가지는 특성을 도 3을 참조하여 설명하기로 한다. 상기 도 3은 유럽 디지털 방송 표준(standard)의 하나인 DVB-S2에서 표준 기술로 채택된 LDPC 부호를 개략적으로 도시하였다.
도 3을 참조하면,
Figure 112013022318824-pat00002
은 LDPC 부호어의 길이이고,
Figure 112013022318824-pat00003
은 정보어의 길이이고,
Figure 112013022318824-pat00004
은 패리티 길이를 의미한다. 그리고,
Figure 112013022318824-pat00005
이 성립하도록 정수
Figure 112013022318824-pat00006
Figure 112013022318824-pat00007
를 결정한다. 이때,
Figure 112013022318824-pat00008
도 정수가 되도록 한다. 편의상 도 3의 패리티 검사 행렬을 제 1 패리티 검사 행렬 H1이라 한다.
도 3을 참조하면 패리티 검사 행렬에서 패리티 부분에 해당하는 부분, 즉,
Figure 112013022318824-pat00009
번째 열(column)부터
Figure 112013022318824-pat00010
번째 열까지의 구조는 이중 대각(dual diagonal) 형태이다. 따라서, 패리티 부분에 해당하는 열의 차수(degree) 분포는 그 값이 '1'인 마지막 열을 제외하고 모두 '2'를 가진다.
패리티 검사 행렬에서 정보어 부분에 해당하는 부분, 즉 0번째 열부터
Figure 112013022318824-pat00011
번째 열까지의 구조를 이루는 규칙은 다음과 같다.
<규칙 1>: 패리티 검사 행렬에서 정보어에 해당하는
Figure 112013022318824-pat00012
개의 열을
Figure 112013022318824-pat00013
개의 열들로 구성된 복수 개의 그룹으로 그룹화(grouping)하여, 총
Figure 112013022318824-pat00014
개의 열 그룹(column group)을 생성한다. 각 열 그룹에 속해있는 각각의 열을 구성하는 방법은 하기 규칙 2에 따른다.
<규칙 2>: 먼저
Figure 112013022318824-pat00015
번째
Figure 112013022318824-pat00016
열 그룹의 각 0 번째 열에서의 1의 위치를 결정한다. 여기서, 각
Figure 112013022318824-pat00017
번째 열 그룹의 0 번째 열의 차수를
Figure 112013022318824-pat00018
라 할 때, 각 1이 있는 행의 위치를
Figure 112013022318824-pat00019
이라 가정하면,
Figure 112013022318824-pat00020
번째 열 그룹 내의
Figure 112013022318824-pat00021
번째 열에서 1이 있는 행의 위치
Figure 112013022318824-pat00022
는 하기 <수학식 2>와 같이 정의된다.
Figure 112013022318824-pat00023
상기 규칙에 따르면
Figure 112013022318824-pat00024
번째
Figure 112013022318824-pat00025
열 그룹 내에 속하는 열들의 차수는 모두
Figure 112013022318824-pat00026
로 일정함을 알 수 있다. 상기 규칙에 따라 패리티 검사 행렬에 대한 정보를 저장하고 있는 DVB-S2 LDPC 부호의 구조를 쉽게 이해하기 위하여 다음과 같은 구체적인 예를 살펴보자.
구체적인 예로서, N1=30, K1=15, M1=5, q=3이며, 3개의 열 그룹의 0 번째 열에 대한 1(편의를 위해 이들 시퀀스들을 이하에서 “가중치-1 위치 시퀀스들”이라 칭함)이 있는 행의 위치 정보는 다음과 같이 3개의 시퀀스로 나타낼 수 있다.
Figure 112013022318824-pat00027
상기 각 열 그룹의 0 번째 1이 있는 행의 위치 시퀀스에 관해서, 편의상 다음과 같이 각 열 그룹 별로 해당 위치 시퀀스들만 표기하기도 한다.
0 1 2
0 11 13
0 10 14
즉, 상기 i 번째 라인에서 상기 i 번째 가중치 -1 위치 시퀀스는 i 번째 열 그룹에 대한 행의 위치 정보를 순차적으로 나타낸 것이다.
상기 구체적인 예에 해당하는 정보와 <규칙 1> 및 <규칙 2>를 이용하여 패리티 검사 행렬을 구성하면 도 4와 같은 DVB-S2 LDPC 부호와 동일한 개념의 LDPC 부호를 생성할 수 있다.
상기 <규칙 1>과 <규칙 2>를 통해 설계된 DVB-S2 LDPC 부호는 구조적인 형태를 이용하여 효율적인 부호화가 가능함이 알려져 있다. 상기 DVB-S2의 패리티 검사 행렬을 이용하여 LDPC 부호화를 진행 과정의 각 단계들을 다음과 같은 예를 들어 설명한다.
하기에는 구체적인 예로서 N1=16200, K1=10800, M1=360, q=15를 특징으로 하는 DVB-S2 LDPC 부호를 이용하는 부호화 과정을 설명하였다. 또한 설명의 편의를 위해 길이가
Figure 112013022318824-pat00028
인 정보어 비트들을
Figure 112013022318824-pat00029
로 나타내고, 길이가
Figure 112013022318824-pat00030
인 패리티 비트들을
Figure 112013022318824-pat00031
로 나타낸다.
단계 1: 부호화기는 패리티 비트들을 초기화한다.
Figure 112013022318824-pat00032
.
단계 2: 부호화기는 저장되어 있는 패리티 검사 행렬의 0번째 가중치 -1 위치 시퀀스로부터 정보어의 첫 번째 열 그룹 내의 1이 위치한 행의 정보를 호출한다.
0 2084 1613 1548 1286 1460 3196 4297 2481 3369 3451 4620 2622
Figure 112013022318824-pat00033
상기 호출된 정보와 정보어 비트
Figure 112013022318824-pat00034
를 이용하여 하기의 <수학식 3>과 같이 특정 패리티 비트
Figure 112013022318824-pat00035
들을 업데이트한다. 여기서,
Figure 112013022318824-pat00036
는 각각의
Figure 112013022318824-pat00037
값을 의미한다.
Figure 112013022318824-pat00038
상기 <수학식 3>에서
Figure 112013022318824-pat00039
Figure 112013022318824-pat00040
로 표기하기도 하며,
Figure 112013022318824-pat00041
는 이진(binary) 덧셈을 의미한다.
단계 3:
Figure 112013022318824-pat00042
이후의 다음 359개의 정보어 비트
Figure 112013022318824-pat00043
,
Figure 112013022318824-pat00044
에 대해서 먼저 하기의 <수학식 4>에 대한 값을 구한다.
Figure 112013022318824-pat00045
상기 <수학식 4>에서
Figure 112013022318824-pat00046
는 각각의
Figure 112013022318824-pat00047
값을 의미한다. 상기 <수학식 4>는 <수학식 2>와 동일한 개념의 수식임에 유의한다.
다음으로 상기 <수학식 4>에서 구한 값을 이용하여 <수학식 3>과 유사한 작업을 수행한다. 즉,
Figure 112013022318824-pat00048
에 대해서
Figure 112013022318824-pat00049
을 업데이트한다. 예를 들어
Figure 112013022318824-pat00050
, 즉,
Figure 112013022318824-pat00051
에 대해서 하기의 <수학식 5>와 같이
Figure 112013022318824-pat00052
들을 업데이트한다.
Figure 112013022318824-pat00053
상기 <수학식 5>의 경우에는
Figure 112013022318824-pat00054
임에 유의한다. 위와 같은 과정을
Figure 112013022318824-pat00055
에 대해서 마찬가지로 진행한다.
단계 4: 상기 단계 2와 마찬가지로 361번째 정보어 비트
Figure 112013022318824-pat00056
에 대해서
Figure 112013022318824-pat00057
의 정보를 독출하고, 특정
Figure 112013022318824-pat00058
을 업데이트한다. 여기서,
Figure 112013022318824-pat00059
Figure 112013022318824-pat00060
을 의미한다.
Figure 112013022318824-pat00061
이후의 다음 359개의 정보어 비트
Figure 112013022318824-pat00062
에 대해서 <수학식 4>를 유사하게 적용하여
Figure 112013022318824-pat00063
를 업데이트한다.
단계 5: 모든 각각의 360개의 정보어 비트 그룹에 대해서 상기 단계 2, 3, 4의 과정을 반복한다.
단계 6: 최종적으로 <수학식 6>을 통해서 패리티 비트를 결정한다.
Figure 112013022318824-pat00064
상기 <수학식 6>의
Figure 112013022318824-pat00065
들이 LDPC 부호화가 완료된 패리티 비트들이다.
이상에서 설명한 바와 같이 DVB-S2에서는 단계 1부터 단계 6까지의 과정을 거쳐 부호화를 진행한다.
LDPC 부호를 실제 통신 시스템에 적용하기 위해서는 상기 통신 시스템에서 요구되는 데이터 전송량에 적합하도록 설계되어야 한다. 특히 복합 재전송(Hybrid Automatic Retransmission Request, HARQ) 방식과 적응형 변조 및 부호화(Adaptive Modulation and Coding, AMC) 방식 등을 적용하는 적응형 통신 시스템뿐만 아니라 다양한 방송 서비스를 지원하는 통신 시스템에서는 시스템의 요구에 따라 다양한 데이터 전송량을 지원하기 위해 다양한 부호어 길이를 가지는 LDPC 부호가 필요하다.
그런데, 상술한 바와 같이 DVB-S2 시스템에서 사용되는 LDPC 부호의 경우에는 제한적인 사용으로 인해 부호어 길이가 2 종류 밖에 없을 뿐만 아니라 각각 독립적인 패리티 검사 행렬을 필요로 한다. 이러한 이유로 시스템의 확장성 및 유연성을 증가시키기 위해서 다양한 부호어 길이를 지원하는 방법이 필요하다. 특히 DVB-S2 시스템에서는 시그널링(signaling) 정보의 전송을 위하여 수백에서 수천 비트의 데이터 전송이 필요한데 DVB-S2 LDPC 부호의 길이는 16200과 64800 두 개 밖에 없기 때문에 다양한 부호어 길이에 대한 지원이 필수적이다.
또한, LDPC 부호의 각각의 부호어 길이에 대해 독립적인 패리티 검사 행렬을 저장하는 것은 메모리 효율성을 떨어뜨리기 때문에 새로운 패리티 검사 행렬을 설계하지 않고, 기존에 주어져 있는 패리티 검사 행렬로부터 다양한 부호어 길이를 효율적으로 지원하는 방안이 요망된다.
본 발명은 주어진 LDPC 부호로부터 단축(shortening) 또는 천공(puncturing)을 이용하여 다른 부호어 길이를 가지는 LDPC 부호를 생성하는 LDPC 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치를 제공한다.
또한 본 발명은 DVB-S2 구조를 고려하여 최적의 성능을 보장하는 LDPC 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치를 제공한다.
본 발명의 실시 예에 따른 채널 복호화 방법은, 저밀도 패리티 검사 부호를 사용한 시스템에서 채널 복호화 방법에 있어서, 수신된 신호를 복조하는 과정; 단축된 정보 비트의 위치를 결정하는 과정; 및 상기 결정된 단축된 정보 비트의 위치를 고려하여 상기 복조된 신호를 복호하는 과정을 포함하고, 상기 단축된 정보 비트의 위치를 결정하는 과정은, 상기 결정된 단축된 정보 비트의 수를 결정하는 과정; 상기 결정된 단축된 정보 비트의 수를 근거로 하여 단축된 비트 그룹의 수를 결정하는 과정; 및 미리 결정된 비트 그룹의 순서를 획득하는 과정을 포함하고, 상기 단축된 정보 비트의 수를 결정하기 위해 단축에 의해 획득될 수 있는 정보 비트 수(K2)를 결정하는 과정을 더 포함하고, 부호어 길이가 16200이고, 정보 비트의 길이가 7200인 경우, 상기 미리 결정된 순서에 근거하여 단축된 비트 그룹의 순서는 18, 17, 16, 15, 14, 13, 12, 11, 4, 10, 9, 8, 3, 2, 7, 6, 5, 1, 19, 0이고, 비트 그룹의 길이가 360이고, 정보 비트들의 길이가 7200일 경우, 상기 미리 결정된 비트 그룹의 순서에 따라서 0 번째 비트 그룹부터 (m-1) 번째 비트 그룹까지 해당하는 모든 정보 비트가 단축된 것으로 결정하는 과정; 및 상기 미리 결정된 비트 그룹의 순서에 따라서 m 번째 비트 그룹내의 (7200-K2-360m) 정보 비트가 단축된 것으로 결정하는 과정을 포함하고, 여기서, K2는 단축에 의해 얻어질 수 있는 정보 비트의 수이고, (7200-K2)는 단축된 정보 비트의 수이고,
Figure 712014004514571-pat00228
이다.
본 발명의 실시 예에 따른 채널 복호화 장치는, 저밀도 패리티 검사 부호를 사용한 시스템에서 채널 복호화 장치에 있어서, 수신된 신호를 복조하는 복조기; 단축된 정보 비트의 위치를 결정하는 단축 패턴 결정부; 및 상기 결정된 단축된 정보 비트의 위치를 고려하여 상기 복조된 신호를 복호하는 복호기를 포함하고, 상기 단축된 정보 비트의 위치는, 단축된 정보 비트의 수를 결정하고, 상기 결정된 단축된 정보 비트의 수를 근거로 하여 단축된 비트 그룹의 수를 결정하고, 미리 결정된 비트 그룹의 순서를 획득하는 것에 의해 결정되며, 상기 단축 패턴 결정부는, 상기 단축될 정보 비트의 수를 결정하기 위해 단축에 의해 획득될 수 있는 정보 비트 수(K2)를 결정하고, 부호어 길이가 16200이고, 정보 비트의 길이가 7200인 경우, 상기 미리 결정된 순서에 근거하여 단축된 비트 그룹의 순서는 18, 17, 16, 15, 14, 13, 12, 11, 4, 10, 9, 8, 3, 2, 7, 6, 5, 1, 19, 0이고, 비트 그룹의 길이가 360이고, 정보 비트들의 길이가 7200일 경우, 상기 단축 패턴 결정부는 상기 미리 결정된 비트 그룹의 순서에 따라서 0 번째 비트 그룹부터 (m-1) 번째 비트 그룹까지 해당하는 모든 정보 비트가 단축된 것으로 결정하고, 상기 미리 결정된 비트 그룹의 순서에 따라서 m 번째 비트 그룹내의 (7200-K2-360m) 정보 비트가 단축된 것으로 결정함을 포함하고, 여기서, K2는 단축에 의해 얻어질 수 있는 정보 비트의 수이고, (7200-K2)는 단축된 정보 비트의 수이고,
Figure 712014004514571-pat00229
이다.
본 발명의 실시 예에 따른 채널 부호화 방법은, 저밀도 패리티 검사 부호를 사용한 시스템에서 채널 부호화 방법에 있어서, 정보 비트들을 복수의 비트 그룹으로 구분하는 과정; 단축될 정보 비트의 수를 결정하는 과정; 상기 결정된 단축될 정보 비트의 수를 근거로 하여 단축될 비트 그룹의 수를 결정하는 과정; 미리 결정된 순서에 따라서 상기 결정된 비트 그룹의 정보 비트들을 단축하는 과정; 및 상기 단축 처리된 정보 비트들을 부호화하는 과정을 포함하고, 상기 단축될 정보 비트의 수를 결정하기 위해 단축에 의해 획득될 수 있는 정보 비트 수(K2)를 결정하는 과정을 더 포함하고, 부호어 길이가 16200이고, 정보 비트의 길이가 7200인 경우, 상기 미리 결정된 순서에 근거하여 단축될 비트 그룹의 순서는 18, 17, 16, 15, 14, 13, 12, 11, 4, 10, 9, 8, 3, 2, 7, 6, 5, 1, 19, 0이고, 비트 그룹의 길이가 360이고, 정보 비트들의 길이가 7200일 경우, 상기 미리 결정된 순서에 따라서 0 번째 비트 그룹부터 (m-1) 번째 비트 그룹까지 해당하는 모든 정보 비트를 단축하는 과정; 및 상기 미리 결정된 순서에 따라서 m 번째 비트 그룹내의 (7200-K2-360m) 정보 비트를 단축하는 과정을 포함하고, 여기서, K2는 단축에 의해 얻어질 수 있는 정보 비트의 수이고, (7200-K2)는 단축될 정보 비트의 수이고,
Figure 712014004514571-pat00230
이다.
본 발명의 실시 예에 따른 채널 부호화 장치는, 저밀도 패리티 검사 부호를 사용한 시스템에서 채널 부호화 장치에 있어서, 정보 비트들을 복수의 비트 그룹으로 구분하고, 단축될 정보 비트의 수를 결정하고, 상기 결정된 단축될 정보 비트의 수를 근거로 하여 단축될 비트 그룹의 수를 결정하고, 미리 결정된 순서에 따라서 상기 결정된 비트 그룹의 정보 비트들을 단축하는 단축 패턴 적용부; 및 상기 단축 처리된 정보 비트들을 부호화하는 부호화기를 포함하고, 상기 단축 패턴 적용부는 상기 단축될 정보 비트의 수를 결정하기 위해 단축에 의해 획득될 수 있는 정보 비트 수(K2)를 결정하고, 부호어 길이가 16200이고, 정보 비트의 길이가 7200인 경우, 상기 미리 결정된 순서에 근거하여 단축될 비트 그룹의 순서는 18, 17, 16, 15, 14, 13, 12, 11, 4, 10, 9, 8, 3, 2, 7, 6, 5, 1, 19, 0이고, 비트 그룹의 길이가 360이고, 정보 비트들의 길이가 7200일 경우, 상기 단축 패턴 적용부는 상기 미리 결정된 순서에 따라서 0 번째 비트 그룹부터 (m-1) 번째 비트 그룹까지 해당하는 모든 정보 비트를 단축하고, 상기 미리 결정된 순서에 따라서 m 번째 비트 그룹내의 (7200-K2-360m) 정보 비트를 단축함을 포함하고, 여기서 K2 는 단축에 의해 얻어질 수 있는 정보 비트의 수이고, (7200-K2)는 단축될 정보 비트의 수이고,
Figure 712014004514571-pat00231
이다.
본 발명은 단축 패턴을 제안함으로써, 일부 열을 실질적으로 사용하지 않는 효과가 있다. 또한 본 발명은 LDPC 부호를 사용하는 통신 시스템에서 주어진 패리티 검사 행렬의 정보를 이용해서 부호어 길이가 다른 별도의 LDPC 부호를 생성할 수 있다.
도 1은 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예를 도시한 도면,
도 2는 길이가 8인 LDPC 부호의 패리티 검사 행렬의 예의 Tanner 그래프를 도시한 도면,
도 3은 DVB-S2 LDPC 부호의 대략적인 구조도,
도 4는 DVB-S2 형태의 LDPC 부호의 패리티 검사 행렬의 예를 도시한 도,
도 5는 LDPC 부호를 사용하는 통신 시스템의 송수신기 블록 구성도,
도 6은 본 발명의 실시 예에 따른 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 다른 부호어 길이를 가지는 LDPC 부호를 생성하기 위한 흐름도,
도 7은 본 발명에서 제안한 단축된 LDPC 부호를 사용하는 송신 장치의 블록 구성도,
도 8은 본 발명에서 제안한 단축/천공된 LDPC 부호를 사용하는 송신 장치의 블록 구성도,
도 9는 본 발명에서 제안한 단축을 적용한 LDPC 부호를 사용하는 수신 장치의 블록 구성도,
도 10은 본 발명에서 제안한 단축과 천공을 모두 적용한 LDPC 부호를 사용하는 수신 장치의 블록 구성도,
도 11은 본 발명의 실시 예에 따른 수신 장치에서의 수신 동작을 도시한 흐름도.
본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흐리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명은 특정 형태의 구조적인 LDPC 부호의 패리티 검사 행렬을 이용하여 다양한 부호어 길이를 가지는 LDPC 부호를 지원하는 방법을 제안한다. 또한, 본 발명은 특정 형태의 LDPC 부호를 사용하는 통신 시스템에서 다양한 부호어 길이를 지원하는 장치 및 그 제어 방법을 제안한다. 특히 본 발명은 주어진 LDPC 부호의 패리티 검사 행렬을 이용하여 그보다 작은 LDPC 부호를 생성하는 방법 및 그 장치를 제안한다.
도 5는 LDPC 부호를 사용하는 통신 시스템의 송수신기 블록 구성도이다.
도 5를 참조하면, 메시지
Figure 112013022318824-pat00066
는 수신기(530)로 전송되기 전에 송신기(510)의 LDPC 부호화기(encoder)(511)로 입력된다. 그러면 상기 LDPC 부호화기(encoder)(511)는 입력된 메시지
Figure 112013022318824-pat00067
를 부호화하여 출력한 부호화 신호를 변조기(Modulator)(513)로 전송한다. 상기 변조기(513)는 상기 부호화된 신호를 변조한 후 무선 채널(520)을 통해 수신기(530)로 전송한다. 그러면, 수신기(530)의 복조기(Demodulator)(531)는 상기 송신기(510)에 의해 전송된 신호를 복조한 후, LDPC 복호기(Decoder)(533)로 출력한다. 그러면, 상기 LDPC 복호기(533)는 무선 채널(520)을 통해 받은 데이터를 통해 메시지의 추정치(estimatation value)
Figure 112013022318824-pat00068
를 추정해낸다.
상기 LDPC 부호화기(511)는 미리 설정되어 있는 방식으로 통신 시스템에서 요구하는 부호어 길이에 맞게 패리티 검사 행렬을 생성한다. 특히, 본 발명에서 LDPC 부호화기(511)는 LDPC 부호를 이용하여 별도의 추가적인 저장 정보의 필요가 없으면서 다양한 부호어 길이를 지원할 수 있다. 상기 다양한 부호어 길이를 지원하기 위한 LDPC 부호화기의 구체적인 동작방법을 도 6을 참조하여 하기에서 상세히 설명하기로 한다.
도 6은 본 발명의 실시 예에 따른 LDPC 부호화기의 부호화 동작을 도시한 흐름도이다. 즉, 상기 도 6은 미리 저장되어 있는 LDPC 부호의 패리티 검사 행렬로부터 다른 부호어 길이를 가지는 LDPC 부호를 생성하기 위한 방법을 도시한 흐름도이다.
본 발명에서 다양한 부호어 길이를 지원하는 방법은 단축법(shortening) 또는 천공법(puncturing)이라는 방법을 사용한다.
상기 단축법이라 함은 주어진 특정 패리티 검사 행렬에 대해서 상기 패리티 검사 행렬의 특정한 부분을 실질적으로 사용하지 않는 방법을 의미한다. 단축법에 대한 이해를 돕기 위해 도 3의 DVB-S2 LDPC 부호의 패리티 검사 행렬을 이용하여 자세히 설명한다.
상기 도 3의 DVB-S2 LDPC 부호의 패리티 검사 행렬은 전체 길이가
Figure 112013022318824-pat00069
이고, 앞부분은 길이가
Figure 112013022318824-pat00070
인 정보어 비트들
Figure 112013022318824-pat00071
이 대응되고, 뒷부분은 길이가
Figure 112013022318824-pat00072
인 패리티 비트들
Figure 112013022318824-pat00073
이 대응된다. 통상적으로 정보어 비트들은 0, 1의 값을 자유롭게 가지게 되는데 단축법에서는 단축시킬 특정 부분의 정보어 비트들의 값에 제한을 두게 된다. 예를 들어
Figure 112013022318824-pat00074
에서부터
Figure 112013022318824-pat00075
까지
Figure 112013022318824-pat00076
개의 정보어 비트를 단축한다는 의미는 통상적으로
Figure 112013022318824-pat00077
임을 의미한다. 다시 말하면,
Figure 112013022318824-pat00078
에서부터
Figure 112013022318824-pat00079
까지
Figure 112013022318824-pat00080
개의 정보어 비트에 대한 값을 0으로 제한함으로써 상기 도 3의 DVB-S2 LDPC 부호의 패리티 검사 행렬에서 앞부분의
Figure 112013022318824-pat00081
개의 열을 실질적으로 사용하지 않는 것과 동일한 효과를 얻게 되는 것이다. 단축법이라는 용어는 이러한 이유로 유래되었다. 따라서 본 발명에서 단축을 적용했다는 의미는 단축된 정보어 비트들의 값을 0으로 간주함을 의미하기도 한다.
상기 단축법은 시스템을 설정할 때 송신단과 수신단에서 단축되는 정보어 비트에 대한 위치 정보는 동일하게 공유 또는 생성 할 수 있으므로 송신단에서 단축된 비트들을 전송하지 않아도 수신단에서는 단축된 비트들에 해당하는 위치의 정보어 비트가 0임을 알고 있는 상태에서 복호를 수행한다.
단축법은 송신단에서 실제로 전송하는 부호어의 길이가
Figure 112013022318824-pat00082
이고, 정보어의 길이가
Figure 112013022318824-pat00083
이므로 부호율이
Figure 112013022318824-pat00084
이 되어 처음 주어진 부호율
Figure 112013022318824-pat00085
보다 항상 작게 된다.
다음으로 천공법에 대하여 자세히 설명한다. 상기 천공법은 일반적으로 정보어 비트와 패리티 비트에 모두 적용할 수 있다. 또한 천공법과 단축법은 부호의 부호어 길이를 작게 만든다는 공통점은 있지만, 천공법은 단축법과 달리 특정 비트의 값에 제한을 두는 개념이 아니다. 천공법은 특정 정보어 비트 또는 생성된 패리티 비트 중 특정 부분을 단지 전송하지 않음으로써 수신단에서 소실(erasure)로 처리하는 방법이다. 다시 말하면, 이미 생성된 길이가
Figure 112013022318824-pat00086
인 LDPC 부호어 중에서
Figure 112013022318824-pat00087
개의 약속된 위치에 비트들을 단지 전송하지 않음으로써 길이가
Figure 112013022318824-pat00088
인 LDPC 부호어를 전송하는 것과 동일한 효과를 얻는다. 패리티 검사 행렬에서 천공된 비트들에 해당하는 열들은 복호 과정에서 모두 그대로 사용되므로 단축법과는 차이가 있다.
천공된 비트들에 대한 위치 정보는 시스템을 설정할 때 송신단과 수신단이 동일하게 공유하거나 추정할 수 있으므로 수신단에서는 해당 천공된 비트들은 단지 소실로 처리하여 복호를 수행하게 된다.
천공법은 송신단에서 실제로 전송하는 부호어의 길이가
Figure 112013022318824-pat00089
이고, 정보어의 길이는 변함없이
Figure 112013022318824-pat00090
이므로 부호율이
Figure 112013022318824-pat00091
이 되어 처음 주어진 부호율
Figure 112013022318824-pat00092
보다 항상 크게 된다.
이제 DVB-S2 LDPC 부호에 적합한 단축법과 천공법에 대해 설명한다. 상기 DVB-S2 LDPC 부호는 배경 기술에 언급한 바와 같이 특정 구조를 가지는 LDPC 부호의 일종이다. 따라서 일반적인 LDPC 부호의 경우와 달리 보다 효율적으로 단축과 천공을 적용할 수 있다.
설명의 편의를 위해서 부호어 길이와 정보어 길이가 각각
Figure 112013022318824-pat00093
,
Figure 112013022318824-pat00094
인 DVB-S2 LDPC 부호로부터 단축법과 천공법을 통하여 우리가 최종적으로 얻고자 하는 LDPC 부호의 부호어 길이와 정보어 길이를 각각
Figure 112013022318824-pat00095
,
Figure 112013022318824-pat00096
이라 하자. 만일 우리가
Figure 112013022318824-pat00097
,
Figure 112013022318824-pat00098
라고 정의하면, DVB-S2 LDPC 부호의 패리티 검사행렬에서
Figure 112013022318824-pat00099
비트만큼 단축을 취하고,
Figure 112013022318824-pat00100
비트만큼 천공을 취하면 부호어 길이와 정보어 길이를 각각
Figure 112013022318824-pat00101
,
Figure 112013022318824-pat00102
인 상기 LDPC 부호를 생성할 수 있다. 이렇게 생성된 상기 LDPC 부호는
Figure 112013022318824-pat00103
또는
Figure 112013022318824-pat00104
일 때, 부호율이
Figure 112013022318824-pat00105
가 되어 일반적으로 DVB-S2 LDPC 부호의 부호율
Figure 112013022318824-pat00106
와는 다르게 되므로 대수적 특성이 변하게 된다. 여기서
Figure 112013022318824-pat00107
인 경우에는 단축이나 천공을 모두 적용하지 않거나 또는 단축만 취한 경우에 해당된다.
그런데 상기 DVB-S2 LDPC 부호는 규칙 1과 규칙 2에서 설명한 바와 같이 한 개의
Figure 112013022318824-pat00108
값이
Figure 112013022318824-pat00109
개의 열에 대응되어 총
Figure 112013022318824-pat00110
개의 열그룹(column group)이 각각 구조적인 형태를 가진다. 따라서 DVB-S2 LDPC 부호는 한 개의
Figure 112013022318824-pat00111
값을 사용하지 않으면
Figure 112013022318824-pat00112
개의 열을 사용하지 않는 것과 동일하다. 이러한 특징을 고려하여 다음과 같은 단축 과정을 제안한다.
먼저, LDPC 부호화기(511)는 601 단계에서 단축을 취할 DVB-S2 LDPC 부호의 열그룹 정보를 호출한다. 즉, 저장되어 있는 패리티 검사 행렬 정보를 호출한다. 이후, LDPC 부호화기(511)는 603 단계에서 단축 이후에 실제로 전송할 부호어 길이
Figure 112013022318824-pat00113
와 정보어 길이
Figure 112013022318824-pat00114
를 결정한다. 이후, LDPC 부호화기(511)는 저장되어 있는 패리티 검사 행렬의 호출된 정보로부터 요구되는 LDPC 부호의 정보어 길이에 맞는 단축을 취하는데, 하기 605 단계 내지 611 단계와 같은 단축 과정을 진행한다.
단축 단계 1:
Figure 112013022318824-pat00115
를 결정한다. 여기서
Figure 112013022318824-pat00116
Figure 112013022318824-pat00117
보다 같거나 작은 최대 정수를 의미한다.(605 단계)
단축 단계 2:
Figure 112013022318824-pat00118
중에서
Figure 112013022318824-pat00119
개의 열그룹에 대한 수열을 선택하고 이를
Figure 112013022318824-pat00120
라 하자. 나머지
Figure 112013022318824-pat00121
개의 열그룹에 대한 수열
Figure 112013022318824-pat00122
는 없는 것으로 간주한다.(607 단계)
단축 단계 3: 단축 단계 2에서 선택된
Figure 112013022318824-pat00123
개의
Figure 112013022318824-pat00124
로부터 규칙 1과 규칙 2를 이용하여 단축된 DVB-S2 LDPC 부호를 생성한다. 이때 단축된 LDPC 부호는 정보어의 길이가
Figure 112013022318824-pat00125
이 됨에 유의한다. 또한 이 값은 항상
Figure 112013022318824-pat00126
보다 크거나 같다.(609 단계)
단축 단계 4: 단축 단계 3에서 생성된 단축된 LDPC 부호에서
Figure 112013022318824-pat00127
개의 열을 추가적으로 단축한다.(611 단계)
구체적인 예를 설명하기 위하여
Figure 112013022318824-pat00128
,
Figure 112013022318824-pat00129
,
Figure 112013022318824-pat00130
,
Figure 112013022318824-pat00131
의 특성을 가지는 DVB-S2 LDPC 부호를 이용하여 정보어 비트 중에서 12150 비트들을 단축하여 부호어 길이가
Figure 112013022318824-pat00132
이며, 정보어의 길이가
Figure 112013022318824-pat00133
인 새로운 LDPC 부호를 생성하는 과정을 다음에 자세히 나타낸다.
단축 단계 1의 예:
Figure 112013022318824-pat00134
.
단축 단계 2의 예: 총 37개의
Figure 112013022318824-pat00135
중에서 4개의 열그룹에 대한 수열을 선택한다. 본 예에서는 아래와 같은 수열을 선택한다.
Figure 112013022318824-pat00136
단축 단계 3의 예: 단축 단계 2의 예에서 선택된 4개의
Figure 112013022318824-pat00137
로부터 규칙 1과 규칙 2를 이용하여 단축된 DVB-S2 LDPC 부호를 생성한다. 이때 단축된 LDPC 부호는 정보어의 길이가
Figure 112013022318824-pat00138
이 됨에 유의한다.
단축 단계 4의 예: 단축 단계 3의 예에서 생성된 단축된 LDPC 부호에서 1440-1170 = 270개의 열을 추가적으로 단축한다.
상기와 같이 단축된 LDPC 부호를 기반으로 부호화를 수행하게 된다.
상기 실시 예에 따르면
Figure 112013022318824-pat00139
중에서
Figure 112013022318824-pat00140
= 13320/360 - 4 = 33개의 열그룹에 대한 수열 정보를 사용하지 않으므로 단축 단계 2의 예에서는 총
Figure 112013022318824-pat00141
비트를 단축한 것과 같다. 또한 단축 단계 3의 예와 단축 단계 4의 예를 통하여 다시 추가적으로 270 개의 정보어 비트를 단축하였으므로 최종적으로 12150 비트들의 정보어 비트를 단축한 것과 같다. 따라서 상기 실시 예에 따른 결과는
Figure 112013022318824-pat00142
이며, 정보어의 길이가
Figure 112013022318824-pat00143
인 단축된 LDPC 부호이다.
상기에서 설명한 바와 같이 본 발명에서는 DVB-S2 LDPC 부호의 단축을 위해 통상적으로 사용하는 임의의 비트 단위 단축법과 달리 상기 DVB-S2 LDPC 부호의 구조적 특성을 이용하여 상기 DVB-S2 LDPC 부호의 열그룹에 대한 정보를 사용하지 않는 방법을 이용하여 효율적인 단축법을 적용할 수 있다.
상기 DVB-S2 LDPC 부호의 단축 과정의 단계 2에서 열그룹에 대한 수열의 선택 기준에 대해서 간단히 정리하면 아래와 같다.
< 기준 1 > : 부호어 길이가
Figure 112013022318824-pat00144
이며, 정보어의 길이가
Figure 112013022318824-pat00145
인 일반적인 LDPC 부호의 최적의 차수 분포에 대하여 부호어 길이가
Figure 112013022318824-pat00146
이며, 정보어의 길이가
Figure 112013022318824-pat00147
인 DVB-S2 LDPC 부호에서 단축을 취하여 얻은 부호어 길이가
Figure 112013022318824-pat00148
이며, 정보어의 길이가
Figure 112013022318824-pat00149
인 단축된 LDPC 부호의 차수 분포가 거의 유사한 부호를 선택한다.
< 기준 2 > : < 기준 1 >에서 선택한 단축된 부호들 중에서 Tanner 그래프 상의 사이클 특성이 좋은 부호를 선택한다. 본 발명에서는 사이클 특성의 기준을 Tanner 그래프 내의 최소 길이 사이클이 가장 크면서, 상기 최소 길이 사이클의 개수가 가장 적은 경우를 선택한다.
상기 <기준 1>에서 일반적인 LDPC 부호의 최적의 차수 분포는 밀도 진화 (density evolution) 분석 방법을 통하여 구할 수 있으나 본 발명의 요지와는 무관한 내용이므로 구체적인 내용은 생략한다.
만일 열그룹에 대한 가중치-1 위치 시퀀스의 선택 가지 수가 많지 않은 경우에는 상기 <기준 1>과 <기준 2>와 같은 두 가지 조건과 무관하게 모든 경우에 대해 조사(full search)하여 가장 좋은 성능을 가지는 열그룹에 대한 수열을 선택해도 된다. 하지만 상기 DVB-S2 LDPC 부호의 단축 단계 2에서 적용하는 열그룹에 대한 선택 기준은 상기 열그룹에 대한 열그룹에 대한 가중치-1 위치 시퀀스의 선택 가지 수가 너무 많을 경우에 상기 두 가지 조건을 만족하는 LDPC 부호를 선택함으로써 효율성을 높일 수 있다.
상기 열그룹에 대한 열그룹에 대한 가중치-1 위치 시퀀스의 선택 기준을 적용해 얻은 좋은 수열의 예를 위하여 먼저 N1=16200, K1=3240, M1=360, q=36인 DVB-S2 부호에 대해서 살펴보자. 상기 DVB-S2 LDPC 부호는 다음과 같은 열그룹에 대한 가중치-1 위치 시퀀스를 가지고 있다.
6295 9626 304 7695 4839 4936 1660 144 11203 5567 6347 12557
10691 4988 3859 3734 3071 3494 7687 10313 5964 8069 8296 11090
10774 3613 5208 11177 7676 3549 8746 6583 7239 12265 2674 4292
11869 3708 5981 8718 4908 10650 6805 3334 2627 10461 9285 11120
7844 3079 10773
3385 10854 5747
1360 12010 12202
6189 4241 2343
9840 12726 4977
상기 i 라인에서 i 번째 가중치 -1 위치 시퀀스는
Figure 112013022318824-pat00150
번째 열 그룹에 대한 1이 있는 행의 위치 정보를 순차적으로 나타낸 것이다. 따라서 상기 DVB-S2 LDPC 부호는 9개의 열그룹으로 구성되어 있음을 알 수 있으며, 정보어의 길이는 9ⅹ360 = 3240 임을 알 수 있다. 만일 단축을 취하여 얻고자 하는 부호어 길이 및 정보어 길이가 각각
Figure 112013022318824-pat00151
,
Figure 112013022318824-pat00152
라 하면, 단축 단계 1부터 단축 단계 4를 이용하여 최적화된 단축 패턴을 찾을 수 있음을 알 수 있었다.
하지만 만일 시스템에서 요구하는
Figure 112013022318824-pat00153
,
Figure 112013022318824-pat00154
의 값이 매우 가변적일 경우에는
Figure 112013022318824-pat00155
의 값에 따라서 최적화된 단축 패턴이 상관성이 없을 수도 있다. 예를 들어 상기 DVB-S2 LDPC 부호에서 2개의 열그룹을 단축해야 할 경우에 최적의 선택은 4 번째, 8번째 열그룹의 1이 위치한 행에 대한 정보를 사용하지 않는 것이라 할 때, 3개의 열그룹을 선택할 경우에는 1, 5, 6번째 열그룹을 선택하여 단축하는 경우가 최적이 될 수도 있기 때문에 서로 연관성이 없다. 따라서 시스템에서 요구하는
Figure 112013022318824-pat00156
,
Figure 112013022318824-pat00157
의 값이 매우 가변적일 경우에는 최적화된 성능을 위해서는
Figure 112013022318824-pat00158
값에 따라서 최적화된 단축 패턴을 모두 저장해야 된다는 단점이 있다.
따라서 만일 시스템에서 요구하는
Figure 112013022318824-pat00159
,
Figure 112013022318824-pat00160
의 값이 매우 가변적일 경우에는 시스템의 효율성을 위해 다음과 같은 방법으로 준최적(suboptimal)의 단축 패턴을 찾을 수 있다.
먼저 단축을 위해 1개의 열그룹의 선택이 필요하다고 가정한다. 이 경우에 선택할 수 있는 열그룹의 개수가 1개뿐이므로 가장 성능이 우수한 열그룹을 선택할 수 있다. 다음으로 단축을 위해 2개의 열그룹의 선택이 필요할 경우에는 앞서 선택한 1개의 열그룹을 포함하여, 나머지 열그룹 중에서 가장 좋은 성능을 보이는 열그룹을 선택한다. 마찬가지 방법을 통하여 단축을 위해 i개의 열그룹의 선택이 필요할 경우에 전 단계에서 단축을 위해 선택한 (i-1)개의 열그룹을 포함하여, 나머지 열그룹들 중에서 가장 성능이 우수한 열그룹 하나를 선택한다.
상기 방법은 최적의 선택을 보장하지는 못하지만, 하나의 단축 패턴으로부터
Figure 112013022318824-pat00161
값의 변화에 무관하게 안정된 성능을 가질 수 있다는 장점이 있다.
구체적인 예를 위해 시스템에서 요구하는
Figure 112013022318824-pat00162
,
Figure 112013022318824-pat00163
의 값이 매우 가변적일 경우에는
Figure 112013022318824-pat00164
,
Figure 112013022318824-pat00165
에 따라서 다음의 <표 1>에 나타낸 9 가지 경우와 같은 준최적(suboptimal)의 단축 패턴 구할 수 있었다.(여기서 천공법은 고려하지 않았으므로
Figure 112013022318824-pat00166
의 관계가 있음에 유의한다)
K2의 범위 단축 방법
1)
Figure 112013022318824-pat00167
인 경우
상기 가중치-1 위치 시퀀스 중에서 8번째 열 그룹에 대한 8번째 시퀀스 행
6189 4241 2343
에 대응되는 정보어에서
Figure 112013022318824-pat00168
비트를 단축한다.
2)
Figure 112013022318824-pat00169
인 경우
상기 가중치-1 위치 시퀀스 중에서 8번째 시퀀스에 대응되는 열그룹을 모두 단축하고, 4번째 열그룹의 경우 4번째 시퀀스
11869 3708 5981 8718 4908 10650 6805 3334 2627 10461 9285 11120
에 대응되는 정보어에서
Figure 112013022318824-pat00170
비트를 추가적으로 단축한다.
3)
Figure 112013022318824-pat00171
인 경우
상기 가중치-1 위치 시퀀스 중에서 8, 4번째 행에 대응되는 열그룹을 모두 단축하고, 상기 7번째 열그룹의 경우 열그룹에 대한 정보에서 7번째 행
1360 12010 12202
에 대응되는 정보어에서
Figure 112013022318824-pat00172
비트를 추가적으로 단축한다.
4)
Figure 112013022318824-pat00173
인 경우
상기 열그룹 정보에서 8, 4, 7번째 행에 대응되는 열그룹을 모두 단축하고, 상기 열그룹에 대한 정보에서 6번째 행
3385 10854 5747
에 대응되는 정보어에서
Figure 112013022318824-pat00174
비트를 추가적으로 단축한다.
5)
Figure 112013022318824-pat00175
인 경우
상기 열그룹 정보에서 8, 4, 7, 6번째 행에 대응되는 열그룹을 모두 단축하고, 상기 열그룹에 대한 정보에서 3번째 행
10774 3613 5208 11177 7676 3549 8746 6583 7239 12265 2674 4292
에 대응되는 정보어에서
Figure 112013022318824-pat00176
비트를 추가적으로 단축한다.
6)
Figure 112013022318824-pat00177
인 경우
상기 열그룹 정보에서 8, 4, 7, 6, 3번째 행에 대응되는 열그룹을 모두 단축하고, 상기 열그룹에 대한 정보에서 5번째 행
7844 3079 10773
에 대응되는 정보어에서
Figure 112013022318824-pat00178
비트를 추가적으로 단축한다.
7)
Figure 112013022318824-pat00179
인 경우
상기 열그룹 정보에서 8, 4, 7, 6, 3, 5번째 행에 대응되는 열그룹을 모두 단축하고, 상기 열그룹에 대한 정보에서 2번째 행
10691 4988 3859 3734 3071 3494 7687 10313 5964 8069 8296 11090
에 대응되는 정보어에서
Figure 112013022318824-pat00180
비트를 추가적으로 단축한다.
8)
Figure 112013022318824-pat00181
인 경우
상기 열그룹 정보에서 8, 4, 7, 6, 3, 5, 2번째 행에 대응되는 열그룹을 모두 단축하고, 상기 열그룹에 대한 정보에서 9번째 행
9840 12726 4977
에 대응되는 정보어에서
Figure 112013022318824-pat00182
비트를 추가적으로 단축한다. 단, 상기 9번째 행에 대응되는 열그룹의 일부에는 DVB-S2 부호화 방식에 의해서 168 비트의 BCH 패리티 비트에 대응되므로 BCH 패리티에 대응되는 위치의 열은 단축을 취하지 않는다.
9)
Figure 112013022318824-pat00183
인 경우
상기 열그룹 정보에서 8, 4, 7, 6, 3, 5, 2, 9번째 행에 대응되는 열그룹을 모두 단축하고, 상기 열그룹에 대한 정보에서 1번째 행
6295 9626 304 7695 4839 4936 1660 144 11203 5567 6347 12557
에 대응되는 정보어에서 528-K2 비트를 추가적으로 단축한다. 여기서 K2=168이면 상기 DVB-S2 LDPC 부호에서 BCH 패리티에 대응되는 열만 남아 있는 경우를 의미하므로 고려하지 않는다.
상기 <표 1>의 단축 순서는 정보어의 길이를 상기 <표 1>과 같이 9개의 구간으로 구하고 상기 <기준 1>과 <기준 2>에 따라 결정된 순서이다.
상기 <표 1>을 살펴보면, 요구되는 LDPC 부호에 대한 정보어의 크기에 따라 8, 4, 7, 6, 3, 5, 2, 9, 1번째 열그룹에 대해 순차적으로 단축이 일어남을 알 수 있다. 즉, 요구되는 정보어의 크기에 따라 상기 8, 4, 7, 6, 3, 5, 2, 9, 1번째 행(raw)에 해당하는 열의 순서에 따라 단축을 취할 정보어 비트에는 0이라는 값이 대응되게 된다. 또한 단축에 대해 다르게 설명하면, 정보어의 길이에 따라 0으로 고정되어 있지 않은 의미있는 정보어 비트들을 1, 9, 2, 5, 3, 6, 7, 4, 8 번째 시퀀스들의 순서에 따라 대응시킨다고 볼 수도 있다. 상기 열의 순서 8, 4, 7, 6, 3, 5, 2, 9, 1는 첫 번째 열을 0번째 블록으로 표기하여,7, 3, 6, 5, 2, 4, 1, 8, 0과 같은 형태로 표기할 수도 있다.
상기 <표 1>에서 단계 8), 9)를 살펴보면,
Figure 112013022318824-pat00184
,
Figure 112013022318824-pat00185
,
Figure 112013022318824-pat00186
,
Figure 112013022318824-pat00187
의 특성을 가지는 DVB-S2 LDPC 부호의 정보어 비트에 대응되는 부분에서 가장 마지막 열그룹인 9번째 열그룹(상기 수열 기준으로는 8번째 열그룹)의 마지막 168 비트는 BCH 패리티 비트가 대응되기 때문에 단축을 취할 수 없도록 되어 있음에 유의한다. 실제로
Figure 112013022318824-pat00188
인 DVB-S2 LDPC 부호의 경우에는 상기
Figure 112013022318824-pat00189
Figure 112013022318824-pat00190
길이를 가지는 LDPC 정보어 비트(LDPC information bit)에 168 비트의 BCH 패리티 비트가 항상 포함되도록 설정되어 있다.
상기 <표 1>과 같은 단축 순서의 정보를 간단히 표현하기 위해 다음 <표 2>과 같이 나타내기도 한다.
Figure 112013022318824-pat00191
또 하나의 구체적인 실시 예를 설명하기 위하여 먼저
Figure 112013022318824-pat00192
,
Figure 112013022318824-pat00193
,
Figure 112013022318824-pat00194
,
Figure 112013022318824-pat00195
인 DVB-S2 부호에 대해서 살펴보자. 상기 DVB-S2 LDPC 부호는 다음과 같은 가중치-1 위치 시퀀스들을 가지고 있다.
20 712 2386 6354 4061 1062 5045 5158
21 2543 5748 4822 2348 3089 6328 5876
22 926 5701 269 3693 2438 3190 3507
23 2802 4520 3577 5324 1091 4667 4449
24 5140 2003 1263 4742 6497 1185 6202
0 4046 6934
1 2855 66
2 6694 212
3 3439 1158
4 3850 4422
5 5924 290
6 1467 4049
7 7820 2242
8 4606 3080
9 4633 7877
10 3884 6868
11 8935 4996
12 3028 764
13 5988 1057
14 7411 3450
상기
Figure 112013022318824-pat00196
번째 행의 수열은
Figure 112013022318824-pat00197
번째 열 그룹에 대한 1이 있는 행의 위치 정보를 순차적으로 나타낸 것이다. 따라서 상기 DVB-S2 LDPC 부호는 20개의 열그룹으로 구성되어 있음을 알 수 있으며, 정보어의 길이는 20ⅹ360 = 7200 임을 알 수 있다. 단축을 취하여 얻고자 하는 부호어 길이 및 정보어 길이가 각각
Figure 112013022318824-pat00198
,
Figure 112013022318824-pat00199
라 할 때, 다음 <표 3>과 같은 준최적화된 단축 패턴을 찾을 수 있다.
Figure 112013022318824-pat00200
상기 단축 과정에서 추가적인 단축은 추가적인 단축이 이루어지는 열그룹의 맨 뒤에서부터 차례대로 수행하거나 맨 앞에서 차례대로 수행하면 보다 쉽게 구현할 수 있다.
도 6에서 611 단계 이후, 천공이 필요한 경우, LDPC 부호화기(511)는 613 단계에서 LDPC 부호화 과정에서 천공을 적용한다. 천공 방법에 대해서 아래와 같이 간단히 설명한다.
부호어 길이 및 정보어 길이가 각각
Figure 112013022318824-pat00201
,
Figure 112013022318824-pat00202
인 DVB-S2 LDPC 부호로부터 단축법과 천공법을 통하여 우리가 최종적으로 얻고자하는 LDPC 부호의 부호어 길이와 정보어 길이를 각각
Figure 112013022318824-pat00203
,
Figure 112013022318824-pat00204
라 하고,
Figure 112013022318824-pat00205
라고 정의하면, DVB-S2 LDPC 부호의 패리티 검사행렬에서
Figure 112013022318824-pat00206
비트만큼 단축을 취하고,
Figure 112013022318824-pat00207
비트만큼 천공을 취하면 부호어 길이와 정보어 길이를 각각
Figure 112013022318824-pat00208
,
Figure 112013022318824-pat00209
인 상기 LDPC 부호를 얻을 수 있었다. 이때 만일 편의를 위해 패리티 부분만 천공법을 적용한다고 가정할 때, 패리티의 길이는
Figure 112013022318824-pat00210
이므로 패리티 비트에서
Figure 112013022318824-pat00211
마다 1 비트씩 천공하는 방법이 있다. 하지만 천공법은 이러한 방법 외에도 다양한 방법을 적용할 수 있다.
Figure 112013022318824-pat00212
인 경우에는 천공법을 적용할 필요가 없으며, 이때는 <표 1>에 나타낸 단축법 패턴을 이용하여 DVB-S2 LDPC 부호의 생성 방법과 유사하게 적용하면, 좋은 성능을 가지는 단축된 DVB-S2 LDPC 부호를 얻을 수 있다.
DVB-S2 LDPC 부호의 단축 과정을 실현하기 위한 송신 장치를 보다 구체적으로 보이기 위해 예를 도 7에 나타내었다. 도 7은 본 발명의 실시 예에 따른 단축된 LDPC 부호를 사용하는 송신 장치 블록 구성도이다.
송신 장치는 제어부(710), 단축 패턴 적용부(720), LDPC 부호 패리티 검사 행렬 추출부(740), LDPC 부호화기(760)를 포함한다.
상기 LDPC 부호 패리티 검사 행렬 추출부(740)는 단축을 취한 LDPC 부호 패리티 검사 행렬을 추출한다. 상기 LDPC 부호 패리티 검사 행렬은 메모리를 이용하여 추출할 수도 있고, 송신 장치에서 주어질 수도 있고, 송신 장치에서 생성될 수도 있다.
상기 제어부(710)는 단축 패턴 적용부(720)에서 정보어의 길이에 따라 단축 패턴을 결정하도록 제어하고, 상기 단축 패턴 적용부(720)는 단축된 비트에 해당되는 위치에 0 값을 가지는 비트를 삽입(insertion)하거나, 주어진 LDPC 부호의 패리티 검사 행렬에서 단축된 비트에 해당되는 열을 제거하는 역할을 한다. 상기 단축 패턴을 결정하는 방법에는 메모리를 이용하여 저장된 단축 패턴을 사용하거나, 수열 생성기(도면에 도시하지 않음) 등을 이용하여 단축 패턴을 생성하거나, 패리티 검사 행렬과 주어진 정보어 길이에 대하여 밀도 진화 분석 알고리즘 등을 이용하여 얻을 수도 있다. 상기 제어부(710)는 상기 단축 패턴 적용부(720)에서 상기 <표 1> 내지 <표 3>과 같은 패턴으로 상기 저밀도 패리티 검사 부호의 정보 비트의 일부분(A part of the information bits of the LDPC code)을 단축하도록 제어한다.
상기 LDPC 부호화기(760)는 상기 제어부(710)와 단축 패턴 적용부(720)에 의해서 단축된 LDPC 부호를 기반으로 부호화를 수행한다.
도 8과 9는 단축과 천공을 동시에 적용하는 DVB-S2 LDPC 부호의 송신 장치 및 수신 장치를 도시한 블록 구성도이다.
먼저, 도 8은 본 발명의 단축/천공된 LDPC 부호를 사용하는 송신 장치의 블록 구성도이다.
도 8의 송신 장치는 도 8의 송신 장치에 천공 패턴 적용부(980)를 추가한 것이다. 상기 도 8을 살펴보면 단축은 LDPC 부호화기(860)의 입력 전 단계에서, 천공은 LDPC 부호화기(760)의 출력 단계에서 수행됨을 알 수 있다.
상기 천공 패턴 적용부(880)는 LDPC 부호화기(760)의 출력에 천공을 적용한다. 천공을 적용하는 방법에 대해서는 도 6의 613 단계를 설명하면서 상세히 설명하였기 때문에 그 설명을 생략하기로 한다.
도 9는 본 발명의 실시 예에 따른 단축을 적용한 LDPC 부호를 사용하는 수신 장치의 블록 구성도이다.
도 9에는 상기 단축된 DVB-S2 LDPC 부호를 사용하는 통신 시스템에서 전송된 신호를 수신하고, 상기 수신된 신호로부터 단축된 DVB-S2 LDPC 부호의 길이를 알게 되었을 때 상기 수신된 신호로부터 사용자가 원하는 데이터를 복원하는 수신 장치의 예를 나타내었다.
수신 장치는 제어부(910), 단축 패턴 판단 또는 추정부(920), 복조기(930), LDPC 복호기(940)를 포함한다.
상기 복조기(930)는 단축된 LDPC 부호를 수신하여 복조하고, 복조된 신호를 단축 패턴 판단 또는 추정부(920)와 LDPC 복호기(940)로 전달한다.
상기 단축 패턴 판단 또는 추정부(920)는 상기 제어부(910)의 제어 하에, 상기 복조된 신호로부터 LDPC 부호의 단축 패턴에 대한 정보를 추정 또는 판단하고, 단축된 비트의 위치 정보를 상기 LDPC 복호기(940)로 전달한다. 상기 단축 패턴 판단 또는 추정부(920)에서 단축 패턴을 판단 또는 추정하는 방법에는 메모리를 이용하여 저장된 단축 패턴을 사용하거나, 수열 생성기(도면에 도시하지 않음) 등을 이용하여 단축 패턴을 생성하거나, 패리티 검사 행렬과 주어진 정보어 길이에 대하여 밀도 진화 분석 알고리즘 등을 이용하여 얻을 수도 있다.
상기 제어부(910)는 LDPC 복호기(940) 내에서 단축된 비트의 값이 0일 확률은 1(즉, 100%)이기 때문에 LDPC 복호기(940)의 동작에 있어서 단축된 비트들을 LDPC 복호기(940)의 동작에 참여하지 않도록 하거나, 단축된 비트들의 0일 확률값 1을 이용하여 복호에 참여하게 할 것인가를 결정하는 역할을 한다.
상기 LDPC 복호기(940)는 상기 단축 패턴 판단 또는 추정부(920)에 의해서 단축된 DVB-S2 LDPC 부호의 길이를 알게 되면, 상기 수신된 신호로부터 사용자가 원하는 데이터를 복원한다.
도 10은 본 발명의 실시 예에 따른 단축과 천공을 적용한 LDPC 부호를 사용하는 수신 장치의 블록 구성도이다.
도 10은 도 10의 수신 장치의 단축 패턴 판단 또는 추정부(920) 대신에 단축, 천공 패턴 판단 또는 추정부(1020)로 교체한 형태이다.
상기 단축, 천공 패턴 판단 또는 추정부(1020)는 송신 장치에서 단축과 천공을 모두 적용한 경우에 수신 장치에서 단축에 대한 패턴 판단 또는 추정을 먼저 진행할 수도 있고, 천공에 대한 패턴 판단 또는 추정을 먼저 진행할 수도 있고, 단축에 대한 패턴 판단 또는 추정과 천공에 대한 패턴 판단 또는 추정이 동시에 일어날 수도 있다.
또한 LDPC 복호기(940)에서는 단축과 천공에 대한 정보를 동시에 알고 있어야 복호가 가능하다.
도 11은 본 발명의 실시 예에 따른 수신 장치에서의 수신 동작을 도시한 흐름도이다.
복조기(930)는 1101 단계에서 단축된 LDPC 부호를 수신하여 복조한다. 이후 단축 패턴 판단 또는 추정부(920)는 1103 단계에서 복조된 신호로부터 단축/천공 패턴을 판단 또는 추정한다.
단축 패턴 판단 또는 추정부(920)는 1105 단계에서 단축 또는 천공된 비트가 존재하는가를 판단한다.
만약 단축 또는 천공된 비트가 존재하지 않은 경우, LDPC 복호기(940)는 1111 단계에서 복호화를 수행한다. 그러나 단축 또는 천공된 비트가 존재한 경우 단축 패턴 판단 또는 추정부(1020)는 1107 단계에서 단축/천공된 비트의 위치 정보를 LDPC 부호기(940)로 전달한다.
상기 LDPC 복호기(940)는 1109 단계에서 상기 단축/천공된 비트의 위치 정보를 바탕으로 단축된 비트의 값은 0일 확률이 1인 것으로 설정하고, 천공된 비트는 소실(erasure)로 설정한 후, 1111 단계에서 LDPC 복호화를 수행한다.

Claims (14)

  1. 저밀도 패리티 검사 부호를 사용한 시스템에서 채널 복호화 방법에 있어서,
    수신된 신호를 복조하는 과정;
    단축된 정보 비트의 위치를 결정하는 과정; 및
    상기 결정된 단축된 정보 비트의 위치를 고려하여 상기 복조된 신호를 복호하는 과정을 포함하고,
    상기 단축된 정보 비트의 위치를 결정하는 과정은,
    상기 결정된 단축된 정보 비트의 수를 결정하는 과정;
    상기 결정된 단축된 정보 비트의 수를 근거로 하여 단축된 비트 그룹의 수를 결정하는 과정; 및
    미리 결정된 비트 그룹의 순서를 획득하는 과정을 포함하고,
    상기 단축된 정보 비트의 수를 결정하기 위해 단축에 의해 획득될 수 있는 정보 비트 수(K2)를 결정하는 과정을 더 포함하고,
    부호어 길이가 16200이고, 정보 비트의 길이가 7200인 경우, 상기 미리 결정된 순서에 근거하여 단축된 비트 그룹의 순서는 18, 17, 16, 15, 14, 13, 12, 11, 4, 10, 9, 8, 3, 2, 7, 6, 5, 1, 19, 0이고,
    비트 그룹의 길이가 360이고, 정보 비트들의 길이가 7200일 경우,
    상기 미리 결정된 비트 그룹의 순서에 따라서 0 번째 비트 그룹부터 (m-1) 번째 비트 그룹까지 해당하는 모든 정보 비트가 단축된 것으로 결정하는 과정; 및
    상기 미리 결정된 비트 그룹의 순서에 따라서 m 번째 비트 그룹내의 (7200-K2-360m) 정보 비트가 단축된 것으로 결정하는 과정을 포함하고,
    여기서, K2는 단축에 의해 얻어질 수 있는 정보 비트의 수이고, (7200-K2)는 단축된 정보 비트의 수이고,
    Figure 712014004514571-pat00232
    임을 특징으로 하는 채널 복호화 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 저밀도 패리티 검사 부호를 사용한 시스템에서 채널 복호화 장치에 있어서,
    수신된 신호를 복조하는 복조기;
    단축된 정보 비트의 위치를 결정하는 단축 패턴 결정부; 및
    상기 결정된 단축된 정보 비트의 위치를 고려하여 상기 복조된 신호를 복호하는 복호기를 포함하고,
    상기 단축된 정보 비트의 위치는, 단축된 정보 비트의 수를 결정하고, 상기 결정된 단축된 정보 비트의 수를 근거로 하여 단축된 비트 그룹의 수를 결정하고, 미리 결정된 비트 그룹의 순서를 획득하는 것에 의해 결정되며,
    상기 단축 패턴 결정부는, 상기 단축될 정보 비트의 수를 결정하기 위해 단축에 의해 획득될 수 있는 정보 비트 수(K2)를 결정하고,
    부호어 길이가 16200이고, 정보 비트의 길이가 7200인 경우, 상기 미리 결정된 순서에 근거하여 단축된 비트 그룹의 순서는 18, 17, 16, 15, 14, 13, 12, 11, 4, 10, 9, 8, 3, 2, 7, 6, 5, 1, 19, 0이고,
    비트 그룹의 길이가 360이고, 정보 비트들의 길이가 7200일 경우,
    상기 단축 패턴 결정부는 상기 미리 결정된 비트 그룹의 순서에 따라서 0 번째 비트 그룹부터 (m-1) 번째 비트 그룹까지 해당하는 모든 정보 비트가 단축된 것으로 결정하고, 상기 미리 결정된 비트 그룹의 순서에 따라서 m 번째 비트 그룹내의 (7200-K2-360m) 정보 비트가 단축된 것으로 결정함을 포함하고,
    여기서, K2는 단축에 의해 얻어질 수 있는 정보 비트의 수이고, (7200-K2)는 단축된 정보 비트의 수이고,
    Figure 712014004514571-pat00233
    임을 특징으로 하는 채널 복호화 장치.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 저밀도 패리티 검사 부호를 사용한 시스템에서 채널 부호화 방법에 있어서,
    정보 비트들을 복수의 비트 그룹으로 구분하는 과정;
    단축될 정보 비트의 수를 결정하는 과정;
    상기 결정된 단축될 정보 비트의 수를 근거로 하여 단축될 비트 그룹의 수를 결정하는 과정;
    미리 결정된 순서에 따라서 상기 결정된 비트 그룹의 정보 비트들을 단축하는 과정; 및
    상기 단축 처리된 정보 비트들을 부호화하는 과정을 포함하고,
    상기 단축될 정보 비트의 수를 결정하기 위해 단축에 의해 획득될 수 있는 정보 비트 수(K2)를 결정하는 과정을 더 포함하고,
    부호어 길이가 16200이고, 정보 비트의 길이가 7200인 경우, 상기 미리 결정된 순서에 근거하여 단축될 비트 그룹의 순서는 18, 17, 16, 15, 14, 13, 12, 11, 4, 10, 9, 8, 3, 2, 7, 6, 5, 1, 19, 0이고,
    비트 그룹의 길이가 360이고, 정보 비트들의 길이가 7200일 경우,
    상기 미리 결정된 순서에 따라서 0 번째 비트 그룹부터 (m-1) 번째 비트 그룹까지 해당하는 모든 정보 비트를 단축하는 과정; 및
    상기 미리 결정된 순서에 따라서 m 번째 비트 그룹내의 (7200-K2-360m) 정보 비트를 단축하는 과정을 포함하고,
    여기서, K2는 단축에 의해 얻어질 수 있는 정보 비트의 수이고, (7200-K2)는 단축될 정보 비트의 수이고,
    Figure 712014004514571-pat00234
    인 것을 특징으로 하는 채널 부호화 방법.
  14. 저밀도 패리티 검사 부호를 사용한 시스템에서 채널 부호화 장치에 있어서,
    정보 비트들을 복수의 비트 그룹으로 구분하고, 단축될 정보 비트의 수를 결정하고, 상기 결정된 단축될 정보 비트의 수를 근거로 하여 단축될 비트 그룹의 수를 결정하고, 미리 결정된 순서에 따라서 상기 결정된 비트 그룹의 정보 비트들을 단축하는 단축 패턴 적용부; 및
    상기 단축 처리된 정보 비트들을 부호화하는 부호화기를 포함하고,
    상기 단축 패턴 적용부는 상기 단축될 정보 비트의 수를 결정하기 위해 단축에 의해 획득될 수 있는 정보 비트 수(K2)를 결정하고,
    부호어 길이가 16200이고, 정보 비트의 길이가 7200인 경우, 상기 미리 결정된 순서에 근거하여 단축될 비트 그룹의 순서는 18, 17, 16, 15, 14, 13, 12, 11, 4, 10, 9, 8, 3, 2, 7, 6, 5, 1, 19, 0이고,
    비트 그룹의 길이가 360이고, 정보 비트들의 길이가 7200일 경우, 상기 단축 패턴 적용부는 상기 미리 결정된 순서에 따라서 0 번째 비트 그룹부터 (m-1) 번째 비트 그룹까지 해당하는 모든 정보 비트를 단축하고, 상기 미리 결정된 순서에 따라서 m 번째 비트 그룹내의 (7200-K2-360m) 정보 비트를 단축함을 포함하고,
    여기서 K2 는 단축에 의해 얻어질 수 있는 정보 비트의 수이고, (7200-K2)는 단축될 정보 비트의 수이고,
    Figure 712014004514571-pat00235
    인 것을 특징으로 하는 채널 부호화 장치.
KR1020130027472A 2007-12-06 2013-03-14 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치 KR101503995B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20070126083 2007-12-06
KR1020070126083 2007-12-06
KR20070127365 2007-12-10
KR1020070127365 2007-12-10
KR20080012082 2008-02-11
KR1020080012082 2008-02-11

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020080023848A Division KR101502624B1 (ko) 2007-12-06 2008-03-14 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130044254A KR20130044254A (ko) 2013-05-02
KR101503995B1 true KR101503995B1 (ko) 2015-03-18

Family

ID=40990098

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020080023848A KR101502624B1 (ko) 2007-12-06 2008-03-14 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
KR1020130027472A KR101503995B1 (ko) 2007-12-06 2013-03-14 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
KR1020140166818A KR101503653B1 (ko) 2007-12-06 2014-11-26 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020080023848A KR101502624B1 (ko) 2007-12-06 2008-03-14 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020140166818A KR101503653B1 (ko) 2007-12-06 2014-11-26 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치

Country Status (7)

Country Link
JP (1) JP5441282B2 (ko)
KR (3) KR101502624B1 (ko)
AT (1) ATE541362T1 (ko)
ES (4) ES2415379T3 (ko)
MY (1) MY163774A (ko)
RU (2) RU2491727C1 (ko)
SG (1) SG2012090015A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101503133B1 (ko) * 2008-02-26 2015-03-18 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
KR101554064B1 (ko) * 2008-02-26 2015-09-17 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR101503059B1 (ko) * 2008-02-26 2015-03-19 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
KR20220022801A (ko) 2020-08-19 2022-02-28 삼성전자주식회사 무선 통신 시스템에서 신호를 복호하는 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR20070054088A (ko) * 2005-11-22 2007-05-28 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906474B1 (ko) * 2003-01-29 2009-07-08 삼성전자주식회사 저밀도 부가정보 발생용 매트릭스를 이용한 에러 정정방법 및그 장치
US7296208B2 (en) * 2003-07-03 2007-11-13 The Directv Group, Inc. Method and system for generating parallel decodable low density parity check (LDPC) codes
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
KR100918763B1 (ko) * 2003-11-14 2009-09-24 삼성전자주식회사 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법
KR100659266B1 (ko) * 2004-04-22 2006-12-20 삼성전자주식회사 다양한 코드율을 지원하는 저밀도 패러티 검사 코드에 의한데이터 송수신 시스템, 장치 및 방법
AU2005239263B2 (en) * 2004-04-28 2008-12-04 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR20070054088A (ko) * 2005-11-22 2007-05-28 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법

Also Published As

Publication number Publication date
RU2012105543A (ru) 2013-07-27
KR20150003127A (ko) 2015-01-08
ES2380837T3 (es) 2012-05-18
KR20090060106A (ko) 2009-06-11
RU2491727C1 (ru) 2013-08-27
KR101502624B1 (ko) 2015-03-17
SG2012090015A (en) 2014-07-30
MY163774A (en) 2017-10-31
JP5441282B2 (ja) 2014-03-12
ES2415379T3 (es) 2013-07-25
KR20130044254A (ko) 2013-05-02
JP2012249327A (ja) 2012-12-13
RU2491728C1 (ru) 2013-08-27
ES2417930T3 (es) 2013-08-09
RU2012105542A (ru) 2013-07-27
ES2397540T3 (es) 2013-03-07
ATE541362T1 (de) 2012-01-15
KR101503653B1 (ko) 2015-03-17

Similar Documents

Publication Publication Date Title
KR101502623B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
US8166367B2 (en) Method and apparatus for encoding and decoding channel in a communication system using low-density parity-check codes
KR101503058B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
JP5506878B2 (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
US8495459B2 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
KR101644656B1 (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR20090095432A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서채널부호/복호 방법 및 장치
KR101503653B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
KR101481431B1 (ko) 저밀도 패리티 검사 행렬 재배열 방법 및 이를 이용하는 장치
KR101503656B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR101413783B1 (ko) 가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치
KR20090093778A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
KR101552355B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호 및 복호 장치 및 방법
KR101192920B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
KR101503654B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
KR20110048448A (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR20110048443A (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호/복호 장치 및 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 6