KR101524869B1 - 저밀도 패리티 검사 부호의 부호화 및 복호화 장치 및 방법 - Google Patents

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

Info

Publication number
KR101524869B1
KR101524869B1 KR1020070054546A KR20070054546A KR101524869B1 KR 101524869 B1 KR101524869 B1 KR 101524869B1 KR 1020070054546 A KR1020070054546 A KR 1020070054546A KR 20070054546 A KR20070054546 A KR 20070054546A KR 101524869 B1 KR101524869 B1 KR 101524869B1
Authority
KR
South Korea
Prior art keywords
parity check
check matrix
column
block
code
Prior art date
Application number
KR1020070054546A
Other languages
English (en)
Other versions
KR20080106738A (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 KR1020070054546A priority Critical patent/KR101524869B1/ko
Publication of KR20080106738A publication Critical patent/KR20080106738A/ko
Application granted granted Critical
Publication of KR101524869B1 publication Critical patent/KR101524869B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols

Landscapes

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

Abstract

본 발명은 통신 시스템에서 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호를 부호화하는 방법에 있어서, 정보 파트와 패리티 파트로 구성되는 패리티 검사 행렬을 생성하고, 상기 생성된 패리티 검사 행렬에서 각 차수 별로 제외할 열을 선택하고, 상기 생성된 패리티 검사 행렬에서 상기 선택된 열을 제외한 나머지 패티리 검사 행렬을 이용하여 상기 LDPC 부호를 부호화한다.
Figure R1020070054546
LDPC 부호, 블록 LDPC 부호, 적응변조 및 부호화, 차수 분포, 단축법, 천공법, 선택법.

Description

저밀도 패리티 검사 부호의 부호화 및 복호화 장치 및 방법{ENCODING AND DECODING APPARATUS AND METHOD OF LOW DENSITY PARITY CHECK CODE}
도 1은 본 발명의 실시 예에 따른 통신 시스템에서 신호 송신 장치의 블록 구성도,
도 2는 본 발명의 실시예에 따른 통신 시스템에서 신호 수신 장치의 블록 구성도,
도 3은 본 발명의 실시 예에 따른 블록 LDPC 부호의 패리티 검사 행렬 구조를 도시한 도면,
도 4는 변조 방식이 각각 QPSK, 16-QAM, 64-QAM일 경우에 부호율이 3/4인 블록 LDPC 부호의 패리티 검사 행렬을 도시한 블록도,
도 5는 <표 3>의 조건을 만족하는 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면,
도 6은 본 발명의 실시 예에 따라 다양한 전송률을 지원하는 블록 LDPC 부호어를 부호화할 경우의 순서도,
도 7a 및 도 7b는 열 블록의 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면,
도 8a 및 도 8b는 열 블록의 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면,
도 9a 및 도 9b는 열 블록 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면,
도 10a 및 도 10b는 열 블록 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면,
도 11a 및 도 11b는 열 블록 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면,
도 12는 본 발명의 실시 예에 따른 복호기의구조를 도시한 내부 블록 구성도.
본 발명은 통신 시스템에서 부호화 및 복호화 장치 및 방법에 관한 것으로, 특히 통신 시스템에서 저밀도 패리티 검사(Low Density Parity Check : 이하 'LDPC'라 함) 부호를 이용하여 신호를 부호화 및 복호화 하기 위한 장치 및 방법에 관한 것이다.
일반적으로 통신 시스템에서 데이터를 송신하기 위해서는 전송하고자 하는 데이터를 부호화하여 전송한다. 통신 시스템에서는 다양한 부호화 방식을 사용하고 있으며, 상기 다양한 부호화 방식들에 대한 논의가 계속되고 있다. 이러한 부호화 방식 중 LDPC 부호를 사용하여 전송하고자 하는 데이터를 부호화 하는 방식이 있다. 상기 LDPC 방식은 최근에 무선 통신 시스템에서 사용하기 위해 다양한 시도가 진행되고 있다. 그러면 먼저 무선 통신 시스템에 대하여 간략히 살펴보기로 한다.
일반적으로 무선 통신 시스템은 음성 서비스를 제공하기 위해 개발되었으나, 사용자들의 요구와 기술의 비약적인 발전에 따라 음성 서비스 뿐 아니라 고속의 데이터 서비스를 제공하는 형태로 발전하였으며, 전송하고자 하는 데이터를 패킷 형태로 서비스하도록 발전하였다. 이러한 패킷 서비스 무선 통신 시스템(packet service wireless communication system)은 버스트(burst)한 패킷 데이터(packet data)를 다수의 이동 단말기(Mobile Station : MS)들로 송신하는 시스템으로서, 고속 대용량 데이터 송수신에 적합하도록 설계되어 왔다.
특히, 차세대 통신 시스템에서는 고속의 대용량 데이터 송수신 지원을 위해 하이브리드 자동 반복 요구(HARQ: Hybrid Automatic Repeat reQuest : 이하 "HARQ"라 칭하기로 한다) 방식과 적응적 변조 및 부호화(Adaptive Modulation and Coding : 이하 "AMC"라 칭하기로 한다) 방식 등과 같은 다양한 방식들이 제안된 바 있으며, 상기 HARQ 방식 및 AMC 방식 들을 사용하기 위해서는 다양한 부호화율(coding rate)들을 지원해야만 한다.
한편, 유무선 통신 시스템에서 데이터를 송신하고자 하는 경우에 다양한 부호화 방식을 이용하여 데이터를 부호화한 후 전송한다. 이러한 부호화 방법들 중 최근에 주목받고 있는 부호화 방식이 LDPC 방식이다. LDPC 방식은 Shannon limit에 가장 근접하는 오류정정부호로서, 메트릭스(matrix)를 이용하여 전송하고자 하는 데이터를 부호화한다. 이러한 메트릭스는 정보 파트 메트릭스(information part matrix)와 패리티 파트 메트릭스(parity part matrix)로 구분된다.
한편, LDPC 부호는 부호화와 복호의 관계가 매우 복잡하다. 따라서 LDPC 부호의 복호가 용이하도록 LDPC 부호를 설계해야 한다. LDPC 부호의 복호 시에 LDPC 부호의 검사 노드에서의 연산은 가장 낮은 신뢰도를 갖는 값에 의하여 결정된다. 따라서 LDPC 부호의 복호 시에 검사 노드의 차수가 높을 경우 낮은 신뢰도를 갖는 값들이 많이 입력되면 복호기능이 저하된다. 그리고 송신기에서 고차 변조 방식을 사용하여 패킷을 송신할 경우 낮은 변조 방식을 사용할 경우에 비하여 복호기에 입력되는 비트의 신뢰도 값은 작다. 그러므로 고차 변조 방식을 사용할 경우에는 검사 노드의 차수인 패리티 검사 행렬의 행(row)의 차수를 낮게 설계해야 우수한 LDPC 부호의 성능 이득을 얻을 수 있다.
이러한 현상은 페이딩 환경에서도 비슷하게 적용된다. 즉, 성능의 열화를 많이 일으키는 페이딩 채널에서 우수한 성능을 갖는 LDPC 부호를 설계하기 위해서는 패리티 검사 행렬의 행의 차수를 낮게 설계하여야 한다. 즉, 일반적으로 LDPC 부호는 부호율, 변조 방식 및 전송 채널에 따라 서로 다른 최적의 차수 분포를 가진다. 따라서 최적의 성능을 얻기 위해서는 부효율과 부호어 길이가 같을 경우에도 변조 방식 및 전송 채널에 적합한 LDPC 부호의 사용이 요구된다. 또한 전송 채널이 같을 경우에도 부호율과 변조 방식에 의해 결정되는 전송률에 적합한 LDPC 부호의 사용이 요구된다.
이러한 요구를 수용하기 위해 각각의 변조 방식에 따라 혹은 각각의 전송률에 따라 적합한 LDPC 부호를 사용해야만 하나 각 변조 방식 및 전송률에 따라 다른 패리티 검사 행렬을 저장할 경우 LDPC 부호를 사용하는 송/수신기의 메모리 효율이 떨어지게 된다. 그러므로 LDPC 부호를 사용하는 송/수신기를 사용하기 위해서는 저장 공간의 효율적인 사용과 접속(access)의 편의를 위하여 패리티 검사 행렬의 수가 제한될 경우에는 성능 열화를 최소화하면서 여러 개의 부호를 하나의 패리티 검사 행렬로 사용할 수 있는 장치 및 방법이 요구되고 있다.
본 발명은 LDPC 부호를 사용하는 통신 시스템에서 서로 다른 변조 방식에 따라 적응적으로 사용할 수 있는 부호화 및 복호화 장치 및 방법을 제공한다.
또한 본 발명은 LDPC 부호를 사용하는 통신 시스템에서 서로 다른 전송률에 따라 적응적으로 사용할 수 있는 부호화 및 복호화 장치 및 방법을 제공한다.
또한 본 발명은 LDPC 부호를 사용하는 통신 시스템에서 송/수신기의 메모리 효율을 증대시킬 수 있는 부호화 및 복호화 장치 및 방법을 제공한다.
또한 본 발명은 LDPC 부호를 사용하는 통신 시스템에서 패리티 검사 행렬 수의 제한으로 인한 성능 열화를 줄일 수 있는 부호화 및 복호화 장치 및 방법을 제공한다.
본 발명의 일 실시예에 따른 본 발명의 방법은, 통신 시스템에서 LDPC 부호를 부호화하는 방법에 있어서, 정보 파트와 패리티 파트로 구성되는 패리티 검사 행렬을 생성하는 과정과, 상기 생성된 패리티 검사 행렬에서 각 차수 별로 제외할 열을 선택하는 과정과, 상기 생성된 패리티 검사 행렬에서 상기 선택된 열을 제외한 나머지 패티리 검사 행렬을 이용하여 상기 LDPC 부호를 부호화하는 과정을 포함한다.
본 발명의 일 실시예에 따른 본 발명의 장치는, 통신 시스템에서 LDPC 부호를 부호화하는 장치에 있어서, 정보 파트와 패리티 파트로 구성되는 패리티 검사 행렬을 생성하여 저장하는 메모리와, 상기 생성된 패리티 검사 행렬에서 각 차수 별로 제외할 열을 선택하는 제어기와, 상기 생성된 패리티 검사 행렬에서 상기 선택된 열을 제외한 나머지 패티리 검사 행렬을 이용하여 상기 LDPC 부호를 부호화하는 부호기를 포함한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
< 송신기 및 수신기 구조 >
먼저 LDPC 부호를 사용하는 통신 시스템에서 본 발명이 적용되는 송신기와 수신기에 대하여 간략히 살펴보기로 한다. 도 1은 본 발명의 실시 예에 따른 통신 시스템에서 신호 송신 장치의 블록 구성도이다.
신호 송신 장치는 부호화기(encoder)(111)와, 변조기(modulator)(113)와, 송신기(115)를 포함한다. 상기 도 1에서 신호 송신 장치로 데이터를 제공하는 상위 구성에 대하여는 도시하지 않았으며, 통신 시스템마다 서로 다른 특징을 가지기 때문에 여기서는 각 시스템들을 모두 다룰 수 없어 설명하지 않기로 한다. 도 1에 도시한 신호 송신 장치는 LDPC 부호를 사용하는 모든 송신기에 사용될 수 있다.
신호 송신 장치로 송신하고자 하는 정보 벡터(information vector)(
Figure 112012044412114-pat00001
)가 수신되면, 상기 정보 벡터(
Figure 112012044412114-pat00002
)는 상기 부호화기(111)로 입력된다. 부호화기(111)는 정보 벡터(
Figure 112012044412114-pat00003
)를 미리 설정되어 있는 부호화 방식으로 부호화하여 부호어 벡터(codeword vector)(
Figure 112012044412114-pat00004
)를 생성하여 출력한다. 여기서 미리 설정되어 있는 부호화 방식은 후술될 LDPC 부호의 생성 방식에 따른 것임에 유의해야 한다. 이와 같이 부호화기(111)에서 생성된 부호어 벡터는 변조기(113)로 입력된다. 변조기(113)는 부호어 벡터(
Figure 112012044412114-pat00005
)를 미리 설정되어 있는 변조 방식으로 변조하여 변조 벡터(
Figure 112012044412114-pat00006
)를 생성하여 송신기(115)로 출력한다. 그러면 송신기(115)는 변조기(113)에서 출력한 변조 벡터(
Figure 112012044412114-pat00007
)를 수신하여 무선 통신 시스템의 송신 방식에 맞춰 송신 대역의 신호로 변환한 후 안테나를 통해 신호 수신 장치로 송신한다.
다음으로 본 발명의 실시예에 따른 통신 시스템의 신호 수신 장치의 구조에 대해서 살펴보기로 한다. 도 2는 본 발명의 실시예에 따른 통신 시스템에서 신호 수신 장치의 블록 구성도이다.
신호 수신 장치는 수신기(211)와, 복조기(de-modulator)(213)와, 복호기(decoder)(215)를 포함한다. 상기 신호 수신 장치에서도 복호된 신호를 수신하는 상위의 구성에 대하여는 각 시스템마다 서로 달라질 수 있으므로 도시하지 않았으며, 이에 대하여 살피지 않기로 한다. 신호 수신 장치는 본 발명에 따른 LDPC 부호를 사용하는 모든 시스템에 사용될 수 있다.
신호 송신 장치에서 송신한 신호는 신호 수신 장치의 안테나를 통해 수신되고, 안테나를 통해 수신된 신호는 수신기(211)로 전달된다. 수신기(211)는 수신 신호를 대역하강 변환 및 디지털 신호로 변환하는 등의 신호 처리를 수행하고, 그 수신 신호 처리된 수신 벡터(
Figure 112012044412114-pat00081
)를 복조기(213)로 출력한다. 복조기(213)는 수신기(211)에서 출력한 수신 벡터(
Figure 112012044412114-pat00082
)를 수신하여 신호 송신 장치의 변조기, 즉 변조기(113)에서 적용한 변조 방식에 상응하는 복조 방식으로 복조한 후 그 복조한 복조 벡터(
Figure 112012044412114-pat00083
)를 상기 복호기(215)로 출력한다. 상기 복호기(215)는 상기 복조기(213)에서 출력한 복조 벡터(
Figure 112012044412114-pat00084
)를 입력하여 상기 신호 송신 장치의 부호화기, 즉 부호화기(111)에서 적용한 부호화 방식에 상응하는 복호 방식으로 복호한 후 그 복호한 신호를 최종적으로 복원된 정보 벡터(
Figure 112012044412114-pat00085
)로 출력한다. 여기서, LDPC 복호 방식은 일 예로 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호(iterative decoding) 알고리즘을 사용하는 방식을 사용할 수 있다. 그러나 이 방법 이외에도 많은 반복 복호 알고리즘을 사용할 수 있음은 이 분야의 통상의 지식을 가진 자에게 자명한 사실이다.
< 본 발명의 개념 >
본 발명에서는 종래 기술에서 언급한 바와 같이 다양한 변조 방식 및 부호율을 지원하는 LDPC 부호가 필요하다는 필요성에서 출발한다. 본 발명에서는 여러 개의 부호를 하나의 패리티 검사 행렬로 표현하기 위하여 단축법(shortening) 또는 선택법(selecting)을 사용하고자 한다.
상기 단축법 또는 선택법이라 함은 특정한 패리티 검사 행렬을 생성하고, 생성된 패리티 검사 행렬에서 특정한 부분을 제외하거나 또는 특정한 부분만을 선택하는 방법을 의미한다. 따라서 단축법 또는 선택법은 결과적으로 같은 의미를 가짐을 알 수 있다. 이때, 특정한 패리티 검사 행렬을 생성하고, 그 패리티 검사 행렬에서 특정한 부분을 제외하거나 또는 선택하는 것을 기반으로 부호화/복호화를 수행하기 위해서는 아래와 같은 3단계의 과정이 필요하다.
(1) 특정 패리티 검사 행렬의 생성
(2) 제외 또는 선택할 부분의 결정
(3) 제외 또는 선택한 부분으로 부호화 또는 복호화 수행
위의 과정에서 제외되거나 또는 선택한 부분에서 정보어를 '0'으로 결정한다. 그리고 결정된 패리티 검사 행렬을 기반으로 부호화한다. 이때, '0'으로 결정한 정보어는 전송하지 않는다. 상기 두 가지 방법 모두 동일한 부호어를 생성하게 된다. 따라서 이하에서는 설명의 편의를 돕기 위해 미리 결정된 열을 제외하는 단축법으로만 언급하기로 한다. 그러나 미리 결정된 열을 기반으로 선택하는 선택법 또한 단축법과 동일한 방법으로 이루어질 수 있음은 이 분야의 통상의 지식을 가진 자에게 자명한 일이다.
< 실시 예 >
본 발명의 실시 예에서는 설명의 편의를 위해 블록 LDPC 부호를 이용하여 설명하고자 한다. 그러나 본 발명은 블록 LDPC 부호에 국한된 것이 아님은 이 분야의 통상의 지식을 가진 자에게 자명한 것임에 유의해야 한다.
도 3은 본 발명의 실시 예에 따른 블록 LDPC 부호의 패리티 검사 행렬 구조를 도시한 도면이다. 이하 도 3을 참조하여 본 발명의 실시 예에 따른 블록 LDPC 부호의 패리티 검사 행렬(parity check matrix)에 대해서 설명하기로 한다.
블록 LDPC 부호의 패리티 검사 행렬은 도 3에 도시한 바와 같이 다수의 블록들을 포함하고 있으며, 정보 파트(310)와 패리티 파트(320)로 구성되어 있다. 각 블록들은 각각 순열 행렬(permutation matrix) 혹은 0(zero) 행렬이 대응되는 형태를 가진다. 여기서, 상기 순열 행렬 및 0 행렬은
Figure 112007040766374-pat00013
크기를 가진다. 상기 순열 행렬이라 함은 상기 순열 행렬을 구성하는 Ns개의 행(row)들 각각의 웨이 트(weight)가 1이고, 상기 순열 행렬을 구성하는 Ns개의 열(column)들 각각의 웨이트 역시 1인 행렬을 나타낸다. 상기 웨이트라 함은 패리티 검사 행렬의 열이나 행에서 0이 아닌 엘리먼트의 개수를 의미한다.
정보 파트(310)는 도 1에서 설명한 정보 벡터(information vector)(
Figure 112007040766374-pat00014
)를 부호어 벡터(
Figure 112007040766374-pat00015
)로 생성할 경우 상기 정보 벡터(
Figure 112007040766374-pat00016
)에 대응되는 상기 블록 LDPC 부호의 패리티 검사 행렬의 파트를 나타낸다. 그리고 상기 패리티 파트(320)는 패리티 벡터(
Figure 112007040766374-pat00017
)에 대응되는 상기 블록 LDPC 부호의 패리티 검사 행렬의 파트를 나타낸다. 상기 정보 벡터(
Figure 112007040766374-pat00018
)는 적어도 1개의 정보 비트를 포함하며, 상기 패리티 벡터(
Figure 112007040766374-pat00019
)는 적어도 1개의 패리티 비트를 포함한다. 또한, 도 3에서 정보 파트(310)에 각 블록으로 도시한 순열 행렬 P의 위첨자 aij
Figure 112007040766374-pat00020
혹은 aij = ∞를 가진다. 위첨자 aij는 순열 행렬이 항등 행렬 구조에서 aij 만큼 오른쪽으로 쉬프트된 형태의 구조를 가지게 됨을 나타낸다. 상기 정보 파트(310)가 포함하는 순열 행렬 P의 위첨자 aij가 0일 경우, 즉 P0는 항등 행렬 I 를 나타내며, 상기 순열 행렬 P의 위첨자 aij가 ∞일 때, 즉 순열 행렬 P는 영 행렬 나타낸다. 또한 상기 순열 행렬 P의 위첨자 aij가 -1일 때, 즉 순열 행렬 P-1는 영 행렬 나타낸다.
또한, 순열 행렬 P의 위첨자로 표시된 a의 아래 첨자로 부가되는 m과 n은 패리티 검사 행렬에서 상기 정보 파트(310)에 해당하는 블록들의 행과 열의 개수를 나타낸다. 또한, 패리티 파트(320)가 포함하는 순열 행렬 P의 위첨자 ai, x, y 역시 순열 행렬 P의 지수를 나타내며, 다만 설명의 편의상 정보 파트와의 구분을 위해 상이하게 설정하였을 뿐이다. 즉, 상기 도 3에서
Figure 112007040766374-pat00021
내지
Figure 112007040766374-pat00022
역시 순열 행렬들이며, 상기 패리티 파트의 대각(diagonal) 부분에 위치하는 부분 행렬들에 순차적으로 인덱스(index)를 부여한 것이다. 또한, 상기 도 3에서 Px와 Py 역시 순열 행렬들이며, 설명의 편의상 임의의 인덱스를 부여한 것이다. 상기 차수라 함은 상기에서 설명한 웨이트와 동일 한 개념으로 패리티 검사 행렬에서 행이나 열에서 '0'이 아닌 엘리먼트의 개수를 의미한다. 즉 상기 도 3의 패리티 검사 행렬에서 임의의 열 블록에서 영행렬이 아닌 순열행렬이 몇 개 있는지를 의미한다.
이하에서는 부호율과 열 블록의 개수, 그리고 열 블록의 최대 차수가 동일하고
Figure 112007040766374-pat00023
개의 변조 방식에 대하여 각각 최적화된 블록 LDPC 부호를 단축법을 사용하여 하나의 패리티 검사행렬로 나타내는 방법을 설명하고자 한다.
다양한 변조 방식에서 블록 LDPC 부호의 차수 분포는 열 블록의 수
Figure 112007040766374-pat00024
과 행블록의 수
Figure 112007040766374-pat00025
, 그리고 최대차수
Figure 112007040766374-pat00026
와 최대차수에 해당하는 변수 블록의 수
Figure 112007040766374-pat00027
로 나타낼 수 있다. 각각의 변조 방식에 대하여
Figure 112007040766374-pat00028
번째 변조 방식에 대하여 최적화된 블록 LDPC 부호의 패리티 검사행렬에서 차수가 3인 열 블록과 최대 차수를 가지는 열 블록의 수를 각각
Figure 112007040766374-pat00029
Figure 112007040766374-pat00030
라 하자. 이때
Figure 112007040766374-pat00031
Figure 112007040766374-pat00032
를 각각 하기 <수학식 1> 및 <수학식 2>와 같이 표현할 수 있다.
Figure 112007040766374-pat00033
Figure 112007040766374-pat00034
상기 <수학식 1> 및 <수학식 2>로부터
Figure 112007040766374-pat00035
개의 변조 방식에 대하여 각각 최적화된 차수 분포를 가지는 블록 LDPC 부호들을 열 블록의 수가
Figure 112007040766374-pat00036
이고, 행 블록의 수가
Figure 112007040766374-pat00037
인 하나의 패리티 검사 행렬을 사용하여 표현할 수 있음을 알 수 있다. 따라서 설계된 패리티 검사행렬에서
Figure 112007040766374-pat00038
개의 최대 차수를 가지는 열 블록과
Figure 112007040766374-pat00039
개의 차수가 3인 열 블록을 단축법을 사용하여 제거하면,
Figure 112007040766374-pat00040
번째 변조 방식에서 최적화된 차수 분포를 가지는 부분 행렬을 얻을 수 있다.
도 4는 변조 방식이 각각 QPSK, 16-QAM, 64-QAM일 경우에 부호율이 3/4인 블록 LDPC 부호의 패리티 검사 행렬을 도시한 블록도이다. 이하 도 4를 이용하여 본 발명의 일 실시 예를 설명하고자 한다.
본 발명에 따라 단축법 또는 선택법에 의해 삭제되지 않고, 공통으로 사용할 수 있도록 생성되는 LDPC 부호의 패리티 검사 행렬을 이하에서는 "원형 메트릭스"라 칭한다. 이러한 원형 메트릭스를 이용하여 단축법에 의해 최적의 메트릭스을 선택하는 방법을 살펴보기로 한다.
부호율이 3/4인 블록 LDPC 부호에서 사용할 수 있는 원형 메트릭스에서 각각의 변조 방식 QPSK, 16-QAM, 64-QAM에 따라 단축법에 의한 최적의 차수 분포는 하 기 <표 1>과 같다.
전송률
(bits/symbol)
변조 방식
Figure 112007040766374-pat00041
Figure 112007040766374-pat00042
부호율
Figure 112007040766374-pat00043
Figure 112007040766374-pat00044
1.5 QPSK 48 12 3/4 12 8
3.0 16-QAM 48 12 3/4 12 5
4.5 64-QAM 48 12 3/4 12 4
즉, QPSK 변조 방식을 사용할 경우에는 패리티 검사 행렬의 48개의 열 중에서 8개의 열의 차수가 12이며, 29개의 열의 차수가 3이며, 11개의 열의 차수가 2이다. 16-QAM 변조 방식을 사용할 경우에는 패리티 검사 행렬의 48개의 열중에서 5개의 열의 차수가 12이며, 32개의 열의 차수가 3이며, 11개의 열의 차수가 2이다. 64-QAM 변조 방식을 사용할 경우에는 패리티 검사 행렬의 48개의 열중에서 4개의 열의 차수가 12이며, 33개의 열의 차수가 3이며, 11개의 열의 차수가 2이다.
즉, 차수가 3인 열블록의 개수
Figure 112007040766374-pat00045
이고, 최대 차수를 가지는 열블록의 개수
Figure 112007040766374-pat00046
이므로 "33 + 8 + 11 = 52"로 총 52개의 열 블록과 12개의 행 블록을 가지는 패리티 검사 행렬이 필요하다.
도 4의 패리티 검사 행렬은 52개의 열 블록과 12개의 행 블록을 가지며 차수가 3인 열블록의 개수가 32이고, 차수가 12인 열 블록의 개수가 8이며, 차수가 2인 열 블록의 개수가 12이다.
이때 QPSK 변조 방식을 사용할 경우에는 차수가 3인 열블록 중에서 참조부호 401과 같이 4개의 열 블록을 제외한 패리티 검사 행렬을 기반으로 하여 부호화/복호화 한다. 또한 16-QAM 변조 방식을 사용할 경우에는 차수가 3인 열 블록 중에서 1개의 열 블록을 제외하고, 차수가 12인 열 블록 중에서 3개의 열을 제외한 패리티 검사 행렬을 기반으로 하여 부호화/복호화 한다. 즉, 참조부호 402로 표시된 부분이 삭제되는 것이다. 마지막으로 64-QAM 변조 방식을 사용할 경우에는 차수가 12인 열 블록 중에서 4개의 열 블록을 제외한 패리티 검사 행렬을 기반으로 하여 부호화/복호화 한다. 즉, 참조부호 403으로 표시된 부분이 삭제되는 것이다. 즉, 도 4에서 각각의 변조 방식 옆에 표시된 S들은 단축될(삭제될) 열 블록들을 나타낸다. 상기 도 4의 예시에서는 QPSK, 16-QAM, 64-QAM 방식에 대하여만 살피고 있으나, 이 보다 낮은 변조 방식 및 이 보다 높은 변조 방식 뿐 아니라 다른 변조 방식에서도 동일한 방법을 이용할 수 있다.
한편, 열 블록의 수가 동일하고 서로 다른 전송률을 가지는 블록 LDPC 부호들을 하나의 패리티 검사 행렬을 사용하여 표현하기 위해서는 단축법과 천공법을 모두 사용하여야 한다. 여기서 전송률은 변조 방식에서 사용하는 비트 수와 부호율의 곱으로 구할 수 있다. 주어진 부호들 중에서 부호율이 가장 낮은 부호의 패리티 검사 행렬을 기반으로 하여 패리티 열 블록을 천공하고, 천공된 수 만큼의 정보어 열 블록을 덧붙여 주면 전송되는 열 블록의 수를 유지하면서 원하는 부호율을 얻을 수 있다. 즉, 16-QAM 변조 방식을 사용하면서 부호율 1/2일 경우에는 전송률이 2이며, 전송률 2.5를 만족하기 위하여 16-QAM 방식을 사용하면서 부호율 5/8인 부호를 사용할 수 있다. 그리고 전송률 3.5를 만족하기 위하여 변조 방식은 64-QAM을 사용하면서 부호율은 7/12를 사용할 수 있다. 그리고 전송률 4.0을 만족하기 위하여 64-QAM을 사용하면서 부호율 2/3인 부호를 사용할 수 있다.
이하의 <표 2>에서는 다양한 전송률을 지원하는 패리티 검사 행렬의 정보어에 상응하는 열블록의 수와 패리티어에 상응하는 열 블록의 수를 나타내었다. 이때 정보어 열 블록의 수에서 차수가
Figure 112007040766374-pat00047
=12인 블록의 개수(
Figure 112007040766374-pat00048
)와 차수가 3인 열블록의 개수
Figure 112007040766374-pat00049
를 나타내었다. 또한 패리티 열 블록의 수 에서는 천공되는 열 블록의 수
Figure 112007040766374-pat00050
와 천공되지 않는 열 블록의 수
Figure 112007040766374-pat00051
를 나타내었다.
전송률
(bits/symbol)
변조방식 정보어 열블록의 수 패리티 열 블록의 수 부호율
nmax n3-1 m-np np
2.0 16-QAM 4 20 24 0 1/2
2.5 16-QAM 6 24 18 6 5/8
3.5 64-QAM 4 24 20 4 7/12
4.0 64-QAM 4 28 16 8 2/3
이하에서는 <표 2>에 나타낸 부호들을 모두 표현할 수 있는 패리티 검사 행렬을 설계하는 방법을 설명하고자 한다. 전송률이 2.0일 경우(부호율이 1/2일 경우)의 패리티 검사행렬을 기반으로 패리티 열 블록을 천공한 후에 차수가 12 또는 3인 열 블록을 덧붙여 주어 원하는 전송률을 만족하는 부호율을 얻을 수 있다. 이 때 덧붙여진 열 블록의 차수 분포는 밀도 진화 분석을 사용하여 구할 수 있다. 이 때 차수가 3인 열 블록의 개수 중에 가장 큰 값
Figure 112007040766374-pat00053
이고, 차수가 12인 열 블록의 개수 중에 가장 큰 값
Figure 112007040766374-pat00054
이므로 "28 + 6 + 24 = 58"로 총 58개의 열 블록과 24개의 행 블록을 가지는 패리티 검사 행렬이 필요하다.
Figure 112007040766374-pat00055
번째 전송률을 얻기 위하여 필요한 천공된 패리티 열 블록의 수를
Figure 112007040766374-pat00056
라 하자. 설계된 패리티 검사행렬에서
Figure 112007040766374-pat00057
개의 패리티 열 블록을 천공하고, 단축법을 사용하여 차수가 12인 열 블록과 차수가 3인 열 블록을 각각
Figure 112007040766374-pat00058
개와
Figure 112007040766374-pat00059
개 제거하면,
Figure 112007040766374-pat00060
번째 부호율과 변조 방식에서 최적화된 차수 분포를 가지는 부분 행렬을 얻을 수 있다. 즉, 전송률이 2일 경우 변조 방식은 16-QAM을 사용하며, 정보어 열 블록에서 차수가 12인 열 블록 6개 중에서 2개를 제거하고, 차수가 3인 열 블록 28개 중에서 8개를 제거하며 패리티 열 블록 24개를 기반으로 하여 부호율 1/2인 LDPC 부호어를 사용한다. 전송률이 2.5일 경우 변조 방식은 16-QAM을 사용하며 정보어 열 블록에서 차수가 3인 열 블록 28개 중에서 8개를 제거하며 패리티 열블록 24개를 기반으로 하여 부호화 하고 패리티 열 블록 중에서 6개의 열 블록에 상응하는 부호어를 천공하여 부호율 2/3인 LDPC 부호어를 사용한다. 전송률이 3.5일 경우 변조 방식은 64-QAM을 사용하며 정보어 열 블록에서 차수가 12인 열 블록 6개 중에서 2개를 제거하며, 정보어 열 블록에서 차수가 3인 열 블록 28개 중에서 4개를 제거하며, 패리티 열 블록 24개를 기반으로 하여 부호화 하고, 패리티 열 블록 중에서 4개의 열 블록에 상응하는 부호어를 천공하여 부호율 7/12인 LDPC 부호어를 사용한다. 그리고 전송률이 4.0일 경우 변조 방식은 64-QAM을 사용하며 정보어 열 블록에서 차수가 12인 열 블록 6개 중에서 2개를 제거하며, 패리티 열 블록 24개를 기반으로 하여 부호화 하고, 패리티 열 블록 중에서 8개의 열 블록에 상응하는 부호어를 천공하여 부호율 7/12인 LDPC 부호어를 사용한다.
도 5는 상기 <표 2>의 조건을 만족하는 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다. 이하 도 5를 이용하여 본 발명의 다른 실시 예를 설명하고자 한다. 도 5에서도 각각의 변조 방식 옆에 표시된 S는 단축될 열 블록들을 표시하며, P는 천공될 열 블록들을 나타낸다.
그러면 도 5를 참조하여 상기 <표 2>의 내용을 살펴보기로 한다. 원형 메트릭스로부터 부호율 1/2을 사용할 경우에는 차수가 12인 블록 열들(510) 중에서 블록 열 4와 블록 열 5를 단축하며, 차수가 3인 블록 열들(520) 중에서 블록열 26, 블록열 27, 블록열 28, 블록열 29, 블록열 30, 블록열 31, 블록열 32, 블록열 33을 단축한다. 즉, 상기 블록 열들을 제외한 블록열들을 기반으로 부호화/복호화 한다. 그리고 패리티 파트에서는 천공이 이루어지지 않는다. 이와 동일한 방식으로 부호율 5/8인 부호율 7/12인 경우 및 부호율 2/3인 경우도 동일하게 해석할 수 있다.
도 6은 본 발명의 실시 예에 따라 다양한 전송률을 지원하는 블록 LDPC 부호어를 부호화할 경우의 순서도이다. 이하 도 6을 이용하여 본 발명의 실시 예에 따라 다양한 전송률을 지원하는 블록 LDPC 부호어를 부호화 하는 과정을 살펴보기로 한다. 또한 상기 도 6을 설명함에 있어서, 부호화 과정의 제어는 송신기의 제어부(도면에 도시하지 않음)에서 이루어지는 것으로 가정하여 설명한다.
송신기의 제어부는 600단계에서 변조 방식 및 부호율을 결정하여 전송률을 결정한다. 이러한 변조 방식, 부호율 및 전송률의 결정은 각 시스템마다 서로 다른 방법으로 결정될 수 있다. 예를 들어 전송하고자 하는 패킷의 패턴이 미리 정해진 패턴들 중 하나로 결정되면, 그에 따라 상기 변조 방식, 부호율, 전송률이 결정될 수 있다. 그런 후 송신기의 제어부는 602단계에서 앞에서 설명한 바와 같이 원형 메트릭스로부터 단축할 열들을 결정하고, 부호화 행렬을 구성한다. 이와 같이 부호화 행렬이 구성되면, 송신기의 제어부는 604단계에서 부호화 행렬을 기반으로 전송할 데이터를 부호화한다. 그리고, 송신기의 제어부는 606단계로 진행하여 부호화된 심볼에서 천공이 필요한가를 검사한다. 만일 천공이 필요한 경우 송신기의 제어부는 608단계로 진행하고, 그렇지 않은 경우 송신기의 제어부는 610단계로 진행한다.
한편, 상기 천공이 필요한가를 검사하는 606단계와 천공을 수행하는 608단계는 602단계 직후에 이루어질 수도 있다. 이와 같은 변형은 이 분야의 통상의 지식을 가진 자에게 자명한 사항이므로 더 상세히 설명하지 않기로 한다.
상기 606단계의 검사결과 천공이 필요한 경우 송신기의 제어부는 608단계로 진행하여 천공이 필요한 위치에 천공한 후 610단계로 진행한다. 606단계에서 천공이 필요하지 않아 610단계로 진행하거나 또는 608단계를 거쳐 천공이 이루어진 후 610단계로 진행하면, 송신기의 제어부는 변조기를 제어하여 부호어 비트들을 변조한다. 그런 후 송신기의 제어부는 612단계에서 변조한 심볼들을 송신한다.
이하에서는 부호율 1/2, 2/3, 3/4, 5/6, 7/8에 대하여 각 부호율에서 QPSK, 16-QAM, 64-QAM 변조 방식을 사용하는 시스템에서 본 발명에서 설명한 LDPC 부호의 패리티 검사 행렬을 사용하는 방법에 대하여 설명하고자 한다. 설명의 편의를 위하여 사용되는 열 블록의 개수는 96을 사용하며, 부호율 1/2의 행 블록의 개수는 48, 부호율 2/3의 행 블록의 개수는 32, 부호율 3/4의 행 블록의 개수는 24, 부호율 5/6의 행 블록의 개수는 16, 부호율 7/8의 행 블록의 개수는 12이다.
하기 <표 3>에서 부호율 1/2에 대하여 각 변조 방식에서 우수한 성능을 보장하는 열 블록의 차수 분포를 도시하였다.
열 블록 차수 2 3 12
QPSK 47 36 13
16-QAM 47 41 8
64-QAM 47 43 6
도 7a 및 도 7b는 상기 <표3>의 열 블록의 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면이다.
본 발명에서 설명한 바와 같이 단일 패리티 검사 행렬을 사용하여 다수의 변조 방식을 지원하기 위하여 각 변조 방식마다 다수의 열 블록을 삭제할 수 있다. 하기의 <표 4>에서는 각 변조 방식에 대하여 삭제되는 열 블록을 나타내었다. 즉, QPSK 변조 방식을 사용할 경우 13, 14, 15, 16, 17, 18, 19 열 블록은 사용하지 않고 부호화 및 복호화 할 수 있다.
변조 차수 삭제되는 열 블록
QPSK 13, 14, 15, 16, 17, 18, 19
16-QAM 8, 9, 10, 11, 12, 13, 14
64-QAM 6, 7, 8, 9, 10, 11, 12
또한 하기 <표 5>에서 부호율 2/3에 대하여 각 변조 방식에서 우수한 성능을 보장하는 열 블록의 차수 분포를 도시하였다.
열 블록 차수 2 3 12
QPSK 31 52 13
16-QAM 31 56 9
64-QAM 31 58 7
도 8a 및 도 8b는 상기 <표 5>의 열 블록의 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면이다.
본 발명에서 설명한 바와 같이 단일 패리티 검사 행렬을 사용하여 다수의 변조 방식을 지원하기 위하여 각 변조 방식마다 다수의 열 블록을 삭제할 수 있다. 하기의 <표 6>에서는 각 변조 방식에 대하여 삭제되는 열 블록을 나타내었다. 즉, QPSK 변조 방식을 사용할 경우 13, 14, 15, 16, 17, 18 열 블록은 사용하지 않고 부호화 복호화 할 수 있다.
변조 차수 삭제되는 열 블록
QPSK 13, 14, 15, 16, 17, 18
16-QAM 9, 10, 11, 12, 13, 14
64-QAM 7, 8, 9, 10, 11, 12
하기 <표 7>에서 부호율 3/4에 대하여 각 변조 방식에서 우수한 성능을 보장하는 열 블록 차수 분포를 나타내었다.
열 블록 차수 2 3 12
QPSK 23 58 15
16-QAM 23 63 10
64-QAM 23 66 7
도 9a 및 도 9b는 상기 <표 7>의 열 블록 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면이다.
본 발명에서 설명한 바와 같이 단일 패리티 검사 행렬을 사용하여 다수의 변조 방식을 지원하기 위하여 각 변조 방식마다 다수의 열 블록을 삭제할 수 있다. 하기 <표 8>에서는 각 변조 방식에 대하여 삭제되는 열 블록을 나타내었다. 즉, QPSK 변조 방식을 사용할 경우 15, 16, 17, 18, 19, 20, 21, 22 열 블록은 사용하지 않고 부호화 복호화 할 수 있다.
변조 차수 삭제된는 열 블록
QPSK 15, 16, 17, 18, 19, 20, 21, 22
16-QAM 10, 11, 12, 13, 14, 15, 16, 17
64-QAM 7, 8, 9, 10, 11, 12, 13, 14
하기 <표 9>에서 부호율 5/6에 대하여 각 변조 방식에서 우수한 성능을 보장하는 열 블록의 차수 분포를 나타내었다.
열 블록 차수 2 3 12
QPSK 15 66 15
16-QAM 15 70 11
64-QAM 15 71 10
도 10a 및 도 10b는 상기 <표 9>의 열 블록 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면이다.
본 발명에서 설명한 바와 같이 단일 패리티 검사 행렬을 사용하여 다수의 변조 방식을 지원하기 위하여 각 변조 방식마다 다수의 열 블록을 삭제할 수 있다. 하기의 <표 10>에서는 각 변조 방식에 대하여 삭제되는 열 블록을 나타내었다. 즉, QPSK 변조 방식을 사용할 경우 15, 16, 17, 18, 19 열 블록은 사용하지 않고 부호화 복호화 할 수 있다.
변조 차수 삭제된는 열 블록
QPSK 15, 16, 17, 18, 19
16-QAM 11, 12, 13, 14, 15
64-QAM 10, 11, 12, 13, 14
하기 <표 11>에서 부호율 7/8에 대하여 각 변조 방식에서 우수한 성능을 보장하는 열 블록 차수 분포를 나타내었다.
열블록 차수 2 3 12
QPSK 11 69 16
16-QAM 11 73 12
64-QAM 11 75 10
도 11a 및 도 11b는 상기 <표 11>의 열 블록 차수 분포를 만족하는 패리티 검사 행렬의 지수들을 도시한 도면이다.
본 발명에서 설명한 바와 같이 단일 패리티 검사 행렬을 사용하여 다수의 변조 방식을 지원하기 위하여 각 변조 방식마다 다수의 열 블록을 삭제할 수 있다. 하기 <표 12>에서는 각 변조 방식에 대하여 삭제되는 열 블록을 나타내었다. 즉, QPSK 변조 방식을 사용할 경우 16, 17, 18, 19, 20, 21 열 블록은 사용하지 않고 부호화 및 복호화 할 수 있다.
변조 차수 삭제된는 열 블록
QPSK 16, 17, 18, 19, 20, 21
16-QAM 12, 13, 14, 15, 16, 17
64-QAM 10, 11, 12, 13, 14, 15
도 12는 본 발명의 실시 예에 따른 복호기의구조를 도시한 내부 블록 구성도이다. 이하 도 12를 참조하여 본 발명의 실시 예에 따라 상기 도 2에 도시한 복호기의 내부 구조를 살펴보기로 한다.
복호기(215)는 블록 제어기(1211), 변수 노드 복호기(1213)와, 스위치(1215)와, 배타적 논리합 연산기(1217)와, 디인터리버(de-interleaver)(1212)와, 인터리버(interleaver)(1221)와, 제어기(1223)와, 메모리(memory)(1225)와, 배타적 논리합 연산기(1227)와, 검사 노드 복호기(1229)와, 경판정기(1231)를 포함한다.
복조기(213)에서 출력된 신호는 블록 제어기(1211)에 입력되며, 블록 제어기(1211)는 도 2에 도시된 복조기(213)에서 출력한 신호를 입력하여 신호 송신 장치에서 적용한 부호어 벡터(
Figure 112007040766374-pat00061
)의 크기에 상응하게 부호어 벡터(
Figure 112007040766374-pat00062
)의 크기를 결정한다. 여기서, 상기 블록 제어기(1211)는 상기 신호 송신 장치에서 정보 벡터(
Figure 112007040766374-pat00063
) 중 특정 정보 비트들을 천공하여 송신하였을 경우, 상기 천공된 정보 비트들에 해당하는 비트들에 0을 삽입한 후 상기 변수 노드 복호기(1213)로 출력한다. 또한, 상기 블록 제어기(1211)는 상기 신호 송신 장치와 상기 신호 수신 장치 간에 미리 규약된 패리티 검사 행렬을 미리 저장하고 있으며, 또한 상기 신호 송신 장치에서 적용한 부호화율에 상응하는 패리티 검사 행렬의 열 정보 등을 미리 저장하고 있다. 여기서, 상기 블록 제어기(1211)는 상기 해당 부호화율에 따라 천공되는 비트들의 개수 뿐만 아니라 그 위치 정보까지도 미리 저장하고 있다. 이러한 정보는 별도의 메모리(도 12에 도시하지 않음)를 통해 저장할 수도 있다.
상기 변수 노드 복호기(1213)는 상기 블록 제어기(1211)에서 출력한 신호를 입력하여 그 확률 값들을 계산하고, 상기 계산된 확률 값들을 업데이트한 후 상기 스위치(1215)의 스위칭 동작을 통해 상기 경판정기(1231) 또는 상기 배타적 논리합 연산기(1217)로 출력한다. 여기서, 상기 변수 노드 복호기(1213)는 상기 복호기 내부에 미리 설정되어 있는 패리티 검사 행렬에 상응하게 변수 노드들을 연결하며, 상기 변수 노드들에 연결된 1의 개수만큼의 입력 값과 출력 값을 갖는 업데이트 연산을 수행한다. 또한, 상기 변수 노드들 각각에 연결된 1의 개수는 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트와 동일하다. 따라서, 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트에 따라 상기 변수 노드 복호기(1213)의 내부 연산이 상이하게 된다. 또한 상기 스위치(1915)의 제어는 제어기(1223)에 의해 제어될 수 있다.
상기 배타적 논리합 연산기(1217)는 상기 변수 노드 복호기(1213)에서 출력한 신호와 이전 반복 복호(iteration decoding) 과정에서의 상기 인터리버(1221)의 출력 신호를 입력하고, 상기 변수 노드 복호기(1213)에서 출력한 신호에서 이전 반복 복호 과정에서의 상기 인터리버(1221)의 출력 신호를 감산한 후 상기 디인터리버(1212)로 출력한다. 여기서, 상기 복호 과정이 최초의 복호 과정일 경우, 상기 인터리버(1221)의 출력 신호는 0이라고 간주해야 함은 물론이다.
상기 디인터리버(1212)는 상기 배타적 논리합 연산기(1217)에서 출력한 신호를 입력하여 미리 설정되어 있는 디인터리빙 방식에 상응하게 디인터리빙(de-interleaving)한 후 상기 배타적 논리합 연산기(1227)와 검사 노드 복호기(1229)로 출력한다. 여기서, 상기 디인터리버(1227)의 내부 구조는 상기 패리티 검사 행렬에 상응하는 구조를 가지며, 그 이유는 상기 패리티 검사 행렬의 1의 값을 가지는 엘리먼트들의 위치에 따라 상기 디인터리버(1227)에 대응하는 인터리버(1221)의 입력 값에 대한 출력 값이 상이해지기 때문이다.
상기 배타적 논리합 연산기(1227)는 이전 반복 복호 과정에서의 상기 검사 노드 복호기(1229)의 출력 신호와 상기 디인터리버(1212)의 출력 신호를 입력하고, 상기 이전 반복 복호 과정에서의 상기 검사 노드 복호기(1229)의 출력 신호에서 상기 디인터리버(1212)의 출력 신호를 감산한 후 상기 인터리버(1221)로 출력한다. 상기 검사 노드 복호기(1229)는 상기 복호기에 미리 설정되어 있는 패리티 검사 행렬에 상응하게 검사 노드들을 연결하며, 상기 검사 노드들에 연결된 1의 개수만큼의 입력 값과 출력 값을 갖는 업데이트 연산이 수행된다. 상기 검사 노드들 각각에 연결된 1의 개수는 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트와 동일하다. 따라서, 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트에 따라 상기 검사 노드 복호기(1229)의 내부 연산이 상이하게 된다.
여기서, 상기 디인터리버(1221)는 상기 제어기(1223)의 제어에 따라 미리 설정되어 있는 설정 방식으로 상기 배타적 논리합 연산기(1127)에서 출력한 신호를 디인터리빙한 후 상기 배타적 논리합 연산기(1217) 및 상기 변수 노드 복호기(1213)로 출력한다. 여기서, 상기 제어기(1223)는 상기 메모리(1225)에 저장되어 있는 인터리빙 방식에 관련된 정보를 읽어 상기 인터리버(1221)의 인터리빙 방식을 제어하게 되는 것이다. 또한, 상기 복호 과정이 최초의 복호 과정일 경우에는 상기 디인터리버(1212)의 출력 신호는 '0'이라고 간주해야함은 물론이다.
상기와 같은 과정들을 반복적으로 수행함으로써 오류 없이 신뢰도 높은 복호를 수행하며, 미리 설정한 설정 반복 회수에 해당하는 반복 복호를 수행한 후에는 상기 스위치(1215)는 상기 변수 노드 복호기(1213)와 배타적 논리합 연산기(1217)간을 오프시킨 후, 상기 변수 노드 복호기(1213)와 경판정기(1231)간을 스위칭 온하여 상기 변수 노드 복호기(1213)에서 출력한 신호가 상기 경판정기(1231)로 출력하도록 한다. 상기 경판정기(1231)는 상기 변수 노드 복호기(1213)에서 출력한 신호를 입력하여 경판정한 후, 그 경판정 결과를 출력하게 되고, 상기 경판정기(1131)의 출력값이 최종적으로 복호된 값이 된다.
이상에서 상술한 바와 같이 본 발명을 적용하면, LDPC 부호를 사용하는 통신 시스템의 송/수신기에서 서로 다른 변조 방식 및 전송률에 따라 사용할 수 있는 최적의 LDPC 부호를 미리 생성한 후 사용할 부분만을 선택하거나 또는 단축하도록 함으로써 적응적으로 사용할 수 있어 메모리의 크기를 줄일 수 있는 이점이 있다.

Claims (6)

  1. 통신 시스템에서 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호를 부호화하는 방법에 있어서,
    정보 파트와 패리티 파트로 구성되는 패리티 검사 행렬을 생성하는 과정과,
    상기 패리티 검사 행렬에 적용할 부호율, 변조 방식 및 전송율을 결정하는 과정과,
    상기 패리티 검사 행렬의 행(row) 또는 열(column)에서 '0'이 아닌 엘리먼트의 개수에 따른 차수를 고려하여, 상기 부호율, 변조 방식 및 전송율에 대응하여 미리 결정된 적어도 하나의 열을 상기 패리티 검사 행렬의 상기 정보 파트로부터 제외하는 과정과,
    상기 미리 결정된 적어도 하나의 열이 제외된 패리티 검사 행렬을 이용하여 상기 LDPC 부호를 부호화하는 과정을 포함하는 LDPC 부호의 부호화 방법.
  2. 삭제
  3. 제 1항에 있어서,
    상기 미리 결정된 적어도 하나의 열이 제외된 패리티 검사 행렬의 패리티 파트로부터, 상기 부호율에 대응하여 미리 결정된 적어도 하나의 열을 천공하는 과정과,
    상기 미리 결정된 적어도 하나의 열이 천공된 패리티 검사 행렬을 이용하여 상기 부호화된 LDPC 부호를 변조하여 전송하는 과정을 더 포함하는 LDPC 부호의 부호화 방법.
  4. 통신 시스템에서 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호를 부호화하는 장치에 있어서,
    정보 파트와 패리티 파트로 구성되는 패리티 검사 행렬을 생성하여 저장하는 메모리와,
    상기 패리티 검사 행렬에 적용할 부호율, 변조 방식 및 전송율을 결정하고, 상기 패리티 검사 행렬의 행(row) 또는 열(column)에서 '0'이 아닌 엘리먼트의 개수에 따른 차수를 고려하여, 상기 부호율, 변조 방식 및 전송율에 대응하여 미리 결정된 적어도 하나의 열을 상기 패리티 검사 행렬의 상기 정보 파트로부터 제외하는 제어기와,
    상기 미리 결정된 적어도 하나의 열이 제외된 패리티 검사 행렬을 이용하여 상기 LDPC 부호를 부호화하는 부호기를 포함하는 LDPC 부호의 부호화 장치.
  5. 삭제
  6. 제 4항에 있어서,
    변조기를 더 포함하며,
    상기 제어기는 상기 미리 결정된 적어도 하나의 열이 제외된 패리티 검사 행렬의 패리티 파트로부터, 상기 부호율에 대응하여 미리 결정된 적어도 하나의 열을 천공하고, 상기 변조기는 상기 미리 결정된 적어도 하나의 열이 천공된 패리티 검사 행렬을 이용하여 상기 부호화된 LDPC 부호를 변조함을 특징으로 하는 LDPC 부호의 부호화 장치.
KR1020070054546A 2007-06-04 2007-06-04 저밀도 패리티 검사 부호의 부호화 및 복호화 장치 및 방법 KR101524869B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070054546A KR101524869B1 (ko) 2007-06-04 2007-06-04 저밀도 패리티 검사 부호의 부호화 및 복호화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070054546A KR101524869B1 (ko) 2007-06-04 2007-06-04 저밀도 패리티 검사 부호의 부호화 및 복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080106738A KR20080106738A (ko) 2008-12-09
KR101524869B1 true KR101524869B1 (ko) 2015-06-02

Family

ID=40367335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070054546A KR101524869B1 (ko) 2007-06-04 2007-06-04 저밀도 패리티 검사 부호의 부호화 및 복호화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101524869B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11239860B2 (en) 2016-06-14 2022-02-01 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
US11671120B2 (en) 2015-11-12 2023-06-06 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
USRE49989E1 (en) 2017-06-10 2024-05-28 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11258536B2 (en) 2017-08-10 2022-02-22 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding channel in communication or broadcasting system

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 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR20060118190A (ko) * 2005-05-16 2006-11-23 삼성전자주식회사 저밀도 패리티 검사 부호의 패딩 및 천공 방법

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 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR20060118190A (ko) * 2005-05-16 2006-11-23 삼성전자주식회사 저밀도 패리티 검사 부호의 패딩 및 천공 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11671120B2 (en) 2015-11-12 2023-06-06 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US11239860B2 (en) 2016-06-14 2022-02-01 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
US11496154B2 (en) 2016-06-14 2022-11-08 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
US11831332B2 (en) 2016-06-14 2023-11-28 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
US11942964B2 (en) 2016-06-14 2024-03-26 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
USRE49989E1 (en) 2017-06-10 2024-05-28 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code

Also Published As

Publication number Publication date
KR20080106738A (ko) 2008-12-09

Similar Documents

Publication Publication Date Title
KR101444458B1 (ko) 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR101611169B1 (ko) 통신/방송 시스템에서 데이터 송수신 장치 및 방법
KR100881002B1 (ko) 통신 시스템에서 지그재그 코드를 이용한 저밀도 패리티 검사 부호 생성 장치 및 방법
KR101922555B1 (ko) 방송/통신시스템에서 정보 송수신 방법 및 장치
JP4555334B2 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
KR100739510B1 (ko) 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법
EP2557694B1 (en) Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
JP5996659B2 (ja) 通信/放送システムにおけるデータの送受信装置及びその方法
US7882414B2 (en) Apparatus and method for transmitting/receiving signal supporting variable coding rate in a communication system
EP2510623B1 (en) Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
EP1596501A1 (en) Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
KR20230098536A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법및 장치
US10812107B2 (en) Apparatus and methods for polar code construction and bit position allocation
KR102549344B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR101524869B1 (ko) 저밀도 패리티 검사 부호의 부호화 및 복호화 장치 및 방법
KR102482110B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR102509968B1 (ko) 통신 또는 방송 시스템에서 harq 적용시 전송 방법 및 장치
KR102378706B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20170060562A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR102302366B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR101552355B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호 및 복호 장치 및 방법
KR102445150B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20170060574A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20070119473A (ko) 통신 시스템에서 신호 송수신 장치 및 방법
KR20120121144A (ko) 무선통신 시스템에서 데이터 송?수신 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20131217

Effective date: 20150429

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 4