KR101128804B1 - 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법 - Google Patents

참조 행렬을 이용한 lpdc 부호화 및 복호화 방법 Download PDF

Info

Publication number
KR101128804B1
KR101128804B1 KR1020060051167A KR20060051167A KR101128804B1 KR 101128804 B1 KR101128804 B1 KR 101128804B1 KR 1020060051167 A KR1020060051167 A KR 1020060051167A KR 20060051167 A KR20060051167 A KR 20060051167A KR 101128804 B1 KR101128804 B1 KR 101128804B1
Authority
KR
South Korea
Prior art keywords
matrix
reference matrix
encoding
parity check
ldpc
Prior art date
Application number
KR1020060051167A
Other languages
English (en)
Other versions
KR20070117222A (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 KR1020060051167A priority Critical patent/KR101128804B1/ko
Publication of KR20070117222A publication Critical patent/KR20070117222A/ko
Application granted granted Critical
Publication of KR101128804B1 publication Critical patent/KR101128804B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • 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

Landscapes

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

Abstract

본 발명은 LDPC(Low Density Parity Check) 부호화와 복호화에 관한 것으로서, 보다 상세하게는, 작은 크기의 저장 공간을 이용하여 효율적인 부호화 및 복호화를 수행하는 방법 및 장치에 관한 것이다. 본 발명은 상술한 목적을 달성하기 위해, 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서, 특정한 크기의 제1 서브 블록들로 이루어진 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 및 상기 부호화된 코드워드를 전송하는 단계를 포함하여 이루어지되, 상기 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는 것을 특징으로 한다.
LDPC, 인코더, 패리티 부분, 참조 행렬, cyclic shift, train structured

Description

참조 행렬을 이용한 LPDC 부호화 및 복호화 방법{Method of LDPC encoding and LDPC decoding using a reference matrix}
도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다.
도 2는 구조화된(structured) LDPC를 설명하기 위한 도면이다.
도 3은 종래 기술에 따른 모델 행렬을 나타낸 도면이다.
도 4는 쉬프트 넘버에 따른 행렬의 표현 방법을 나타낸 도면이다.
도 5는 LDPC 복호화 방법에 대하여 설명한 도면이다.
도 6은 종래 기술에 따른 트레인 구조(Train structured)의 LDPC 부호의 패리티 검사 행렬의 구조를 나타내는 도면이다.
도 7은 본 실시예에 따라 특정한 참조 행렬을 이용하여 생성된 모델 행렬을 나타내는 도면이다.
도 8a는 본 실시예에 따른 참조 행렬의 일례이다.
도 8b 내지 도 8g는 도 8a의 참조 행렬을 변형한 일례를 나타낸다.
도 9는 본 실시예에 따른 패리티 검사 행렬을 이용하여 부호화를 수행하는 경우 성능을 나타내는 도면이다.
본 발명은 LDPC(Low Density Parity Check) 부호화와 복호화에 관한 것으로서, 보다 상세하게는, 작은 크기의 저장 공간을 이용하여 효율적인 부호화 및 복호화를 수행하는 방법 및 장치에 관한 것이다.
도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다. 이하, 도 1을 참조하여 이동통신 채널의 구조를 설명한다. 송신 단(Transmitter)에서 전송할 데이터를 무선채널에서 손실이나 왜곡 없이 전송하기 위해 채널 코딩(channel coding) 절차를 거친다. 상기 채널 코딩 기법으로는, Convolutional Coding, Turbo Coding, LDPC Coding 등의 다양한 기술이 있다. 상기 채널 코딩(Channel coding) 절차를 거친 데이터(data)는 무선 채널로 전송될 때 여러 개의 비트들이 모여서 하나의 심볼로 전송될 수 있다. 이때, 여러 비트들을 하나의 심볼(symbol)로 매핑(mapping) 되는 절차를 변조(modulation)라 한다.
변조된 데이터는 다중화(Multiplexing) 과정 또는 다중 접속(Multiple Access) 방법을 거쳐 다중 전송을 위한 신호로 변환된다. 상기 다중화 방법으로는, CDM, TDM, FDM 등의 다양한 방법이 존재하는바, 도 1에서는 OFDM(Orthogonal Frequency Division Multiplexing)의 예를 표시하였다. 상기 다중화(Multiplexing) 블록을 거친 신호는 한 개 이상의 다중 안테나에 전송되기 적합한 구조로 변경되어 무선채널을 통해 수신 단(Receiver)에 전달된다. 무선 채널을 통과하는 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음을 겪게 되어 데이터에 왜곡이 발생할 수 있다.
상기 변조(Modulation)된 데이터는 무선 채널을 통해 수신 단(Receiver)에 전달된다. 이 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음 등을 겪게 되어 데이터에 왜곡이 발생할 수 있다. 수신 단에서는 상기 왜곡된 데이터를 수신한 후 상기 송신 단의 일련의 절차를 역순으로 수행한다. 상기 심볼로 매핑(mapping)된 데이터를 비트열로 바꾸는 복조(demodulation) 작업을 수행하고, 채널 디코딩(Channel Decoding) 절차를 거치며 왜곡된 데이터를 원래 데이터로 복원한다.
상기 채널 코딩을 수행하는 장치는, 입력된 데이터(Systematic Bits)에 첨가될 패리티 비트(Parity Bits)을 발생시키는 사용되는 패리티 검사 행렬(Parity Check Matrix)인 H 행렬 또는 H행렬로부터 유도되는 패리티 검사 생성 행렬(Parity Check Generate Matrix)인 G행렬을 저장하고 있다. 즉, 상기 송신 단은, 상기 H 또는 G 행렬과 상기 입력된 데이터를 통해 패리티 비트(Parity Bit)들을 발생하는 인코더(Encoder)를 포함한다. 채널 디코딩(Channel Decoding)을 수행하는 장치는, 수신된 데이터(왜곡된 Systematic Bits + Parity Bits)를 H행렬과 연산을 통하여 상기 입력된 데이터(Systematic Bits)들이 제대로 복구되는지 확인하고 복구 실패시 연산을 재수행한다.
상기 변조(Modulation)는 BPSK(Binary Phase Shift Keying), QPSK(Quadrature Phase Shift Keying), 16-QAM(Quadrature Amplitude Modulation), 64-QAM, 256-QAM 등이 사용된다. 예를 들어, 16-QAM은 변조(Modulation)시 채널 인코딩(Channel Encoding) 절차를 거친 데이터 열을 4비트 단위로 하나의 심볼에 매 핑(mapping)한다. 16-QAM은 복조(Demodulation) 시 무선 채널을 거쳐 수신된 데이터의 하나의 심볼을 4개의 bit로 디매핑(demapping) 한다.
이하 LDPC 부호에 관하여 설명한다. LDPC 부호의 개념을 설명하면 다음과 같다.
선형 부호는 생성행렬 G 또는 패리티 체크 행렬 H로 기술될 수 있다. 선형 부호의 특징은 모든 부호어 c 에 대하여,
Figure 112006040090586-pat00001
을 만족하도록 부호가 구성된다는 점이다. 이 선형 부호의 일종으로서, 최근에 주목받는 LDPC 부호는 1962년 Gallager에 의하여 처음 제안되었다. 이 부호의 특징으로는 패리티 체크 행렬의 성분이 대부분 0으로 이루어지고, 0이 아닌 성분의 개수는 부호 길이에 비하여 적은 수를 가지도록 하여 확률을 기반으로 한 반복적 복호가 가능한 점이다. 처음 제안된 LDPC 부호는 패리티 체크 행렬을 비체계적인(non-systematic) 형태로 정의하였고, 그것의 행과 열에 균일하게 적은 무게(weight)를 갖도록 설계되었다.
여기서, 무게(weight)란 행렬에서 열(column) 또는 행(row)에 포함된 1의 개수를 의미한다.
LDPC 부호의 패리티 체크 행렬 H 상에 0이 아닌 성분의 밀도가 적기 때문에 낮은 복호 복잡도를 가지게 된다. 아울러, 복호 성능도 기존의 부호들보다 우수하여 Shannon의 이론적인 한계에 근접하는 좋은 성능을 보인다. 하지만 LDPC 부호는 당시 하드웨어 기술로서 구현이 어려워서 30여 년이 넘게 많은 사람의 관심을 끌지 못하였다. 1980년대 초반 그래프를 이용하여 반복적 복호를 하는 방법이 개발되어, 이를 이용하여 LDPC 부호를 실제로 복호할 수 있는 여러 알고리즘들이 개발되었다. 이를 대표하는 알고리즘으로 합곱 알고리즘(sum-product Algorithm)을 뽑을 수 있다.
이하, LDPC 부호의 특징을 설명한다. LDPC 부호는 높은 오류 정정 성능을 갖고 있으며, 이로 인해 통신 속도와 용량의 개선을 가능하게 한다. 상기 LDPC 부호는 MIMO(Multiple Input Multiple Output) 시스템과 결합하여 수백 Mbit/s의 전송이 가능한 고속 무선 LAN에 적용될 수 있고, 또한 250km/h에서 1Mbit/s 이상의 전송 속도를 갖는 고속 이동 통신에 적용될 수 있고, 또한 40Gbits/s 이상의 광통신에 적용될 수 있다. 또한, 상기 LDPC 부호의 높은 오류 정정 성능으로 인해 전송 품질이 개선되어 저품질의 통신 경로에서 재전송의 회수를 감소시키는 양자 암호화 통신을 가능하게 할 수 있다. 또한, LDPC 부호의 낮은 복잡도와 뛰어난 손실 보상으로 인해, 유실된 패킷을 용이하게 복원할 수 있으며, 이는 인터넷과 이동 통신을 통해 TV 품질과 동일한 품질의 컨텐츠를 전송할 수 있게 한다. LDPC의 장점인 넓은 적용 범위와 큰 용량으로 인하여, 전에는 불가능한 것으로 여겨졌던 100m 범위까지의 10GBASE-T 전송이 LDPC 부호를 통해 실현 가능하다. 동시에 36MHz 대역의 단일 위성 송신기의 전송 용량을 1.3배 늘어난 80M비트/s까지 늘릴 수 있다. 이런 장점으로 높은 주파수 효율을 지향하는 IEEE802.16 시스템과 IEEE802.11 시스템 등에서 차세대 채널코딩 방법으로 채택되고 있다.
이하, 구조화된(structured) LDPC를 설명한다.
LDPC code를 사용하기 위해서는 패리티 체크 행렬 H를 사용하는데, 사용하는 행렬 H는 대부분의 0과 일부의 1을 성분(elemnet)으로 포함하는데, H 행렬의 크기가 105 비트 이상으로 크기 때문에 H 행렬을 표현하는데 큰 크기의 메모리가 필요하다. 상기 구조화된 LDPC 기법은 LDPC 부호화 및 복호화에 사용되는 상기 H 행렬의 성분들을 도 2와 같이 일정한 크기의 서브 블록(sub-block)(또는 서브 행렬)으로 표현하는 방법이다. IEEE802.16e에서는 상기 서브 블록을 하나의 정수 인덱스(index)로 표시하여, 상기 H 행렬을 저장하는데 필요한 메모리의 크기를 줄인다. 상기 서브 블록은 다양한 행렬일 수 있는바, 예를 들어 일정한 크기의 퍼뮤테이션 행렬(Permutation Matrix)일 수도 있다.
상기 구조화된 LDPC 기법을 사용하게 되면 특정한 메모리에 1 또는 0으로 구성되는 일정 크기의 행렬을 저장하는 대신, 하나의 정수(즉, 인덱스)만 저장하면 되기 때문에 상기 H 행렬을 표시하는데 필요한 메모리의 크기를 줄일 수 있다.
일례로, IEEE802.16e 표준에 반영된 코드워드(codeword)의 크기가 2304이고, 부호율(code rate)이 2/3인 경우에, LDPC 부호화/복호화를 위해 사용되는 모델 행렬(model matrix)은 도 3과 같다.
도 3에 도시된 바와 같이, IEEE802.16e의 구조화된 LDPC 행렬은 -1, 0과 양의 정수의 성분들로 이루어진다. -1은 원소가 모두 0인 영 행렬(zero matrix)이며 0은 단위 행렬(identity matrix)을 나타낸다. -1과 0을 제외한 양의 정수 성분들은 양의 정수만큼 상기 단위 행렬(identity matrix)이 오른쪽으로 쉬프트(shift)된 형태의 퍼뮤테이션 행렬(permutation matrix)이다. 즉, 행렬의 성분이 3이면 상기 단 위 행렬을 오른쪽으로 3번 쉬프트(shift)시킨 형태의 퍼뮤테이션 행렬을 표현하는 것이다.
도 4는 상술한 양의 정수, 즉 쉬프트 넘버에 따른 행렬의 표현 방법을 나타낸 도면이다. 특정한 H 행렬을 4*4 크기의 행렬(즉, 서브 블록)로 구조화하여 표현하는 경우, 상기 특정한 서브 블록을 3이라 표시하면, 상기 서브 블록은 도 4의 행렬이 된다.
이하, LDPC 부호화 방법을 설명한다.
일반적인 LDPC 부호화(Encoding) 방법은, LDPC 패리티 검사행렬(Parity Check Matrix) H로부터 생성행렬(Generation Matrix) G를 유도해 내어, 정보 비트(information bit)를 부호화(encoding)한다. 상기 생성행렬 G를 유도하기 위해, 상기 검사행렬 H를 가우스 소거(Gaussian Reduction) 방법을 통해 [ PT : I ] 형태로 구성한다. 상기 정보 비트(Information bit)의 수를 k이라 하고, 인코딩된 코드 워드(codeword)의 크기를 n이라고 할 때, 상기 P 행렬은 행의 개수가 k이고 열의 개수가 n-k인 행렬이고, 상기 I는 행 크기가 k 열 크기가 k인 단위 행렬(Identity Matrix)이다.
상기 생성행렬 G 는, 상기 검사행렬 H 가 [ PT : I ]와 같이 표현되었을 때, [ I : P ] 행렬이 된다. 인코딩(Encoding) 되는 k 비트 크기의 정보 비트를 행렬로 표시하면, 행의 개수는 1이고 열의 개수는 k인 행렬 x로 표현할 수 있다. 이 경우 코드 워드 c는 다음과 같은 식으로 설명된다.
Figure 112006040090586-pat00002
상기 수식에서, x는 정보어 부분(systematic part)를 나타내고, xP는 패리티 부분(parity part)를 나타낸다.
한편, 위와 같이 가우스 소거(Gaussian Reduction) 방법으로 부호화하는 경우에는 계산량이 많아, 상기 H 행렬의 형태를 특수한 구조로 디자인(design)하여 상기 G 행렬을 유도하지 않고, 상기 H 행렬에서 직접 부호화하는 방법을 사용한다. 즉, 상기 G 행렬과 상기 H 행렬에 대한 전치(Transpose) 형태의 HT 간의 곱이 0 이라는 성질(즉,
Figure 112006040090586-pat00003
)을 이용하여, 상기 수학식 1에서 HT을 곱하면, 하기 수학식 2 같은 수학식을 얻을 수 있다. 하기 수학식 2에 부합하는 패리티 비트를 정보 비트(x) 뒤에 추가하여 코드워드 c를 얻을 수 있다.
Figure 112006040090586-pat00004
이하, LDPC 복호화 방법에 대하여 설명한다.
통신시스템에서 부호화된 데이터는 도 1의 무선 채널을 통과하는 과정에서 잡음을 포함하게 되는데, 수신 단에서는 도 5와 같은 절차를 통해 데이터의 복호 를 수행한다. 수신 단의 복호화 블록에서는 부호화된 코드워드(c)에 잡음이 첨가된 수신신호(c')로부터 정보 비트(x)를 구하는데, cHT=0인 성질을 이용하여 찾아낸다. 즉, 수신된 코드워드를 c'라 할 때, c'HT의 값을 계산하여 결과가 0이면, c'에서 처음 k개의 비트를 상기 정보 비트(x)로 결정한다. 만약, c'HT의 값이 0이 아닌 경우, 그래프를 통한 합곱(sum-product) 알고리즘 등의 복호화 기법을 사용하여, c'HT의 값이 0을 만족하는 c'을 찾아 상기 정보 비트(x)를 복구한다.
이하, LDPC 부호의 부호율(code rate)을 설명한다.
일반적으로, 부호율(R: code rate)은 상기 정보 비트의 크기가 k이고, 실제 전송되는 코드워드의 크기가 n일 때 다음과 같다.
R = k/n
LDPC 부호화 및 복호화에 필요한 상기 H 행렬의 행의 크기가 m, 열의 크기가 n인 경우, 부호율은 다음과 같다.
R = 1 - m/n
상술한 바와 같이, 종래의 LDPC 부호는 상기 H 행렬에 의해 부호화 및 복호화를 수행하기 때문에, 상기 H 행렬의 구조가 매우 중요하다. 즉, 부호화 및 복호화의 성능이 상기 H 행렬의 구조에 크게 영향을 받기 때문에, 상기 H 행렬의 설계가 무엇보다 중요하다.
도 6은 종래 기술에 따른 트레인 구조(Train structured)의 LDPC 부호의 패리티 검사 행렬의 구조를 나타내는 도면이다. 상기 트레인 구조(Train structured) 의 LDPC 부호는, 데이터 펑쳐드(Data punctured) LDPC 부호 또는 쇼트닝(shortening) LPDC 부호라 불리기도 한다. 도 6의 행렬은 상기 패리티 검사 행렬에 상응하는 모델 행렬을 나타낸 것으로 도시된 하나의 블록은 하나의 서브 행렬(또는 서브 블록)에 대응한다. 상기 트레인 구조(Train structured)의 LDPC 부호는, 패리티 부분(parity part)을 고정하고 정보어 부분(systematic part)의 크기를 가변적으로 하여 부호화를 수행한다. 상기 정보어 부분의 크기가 변화하기 때문에 도 6의 패리티 검사 행렬은 다양한 부호율(code rate)을 지원한다. 도 6에서 상기 패리티 검사 행렬에 따른 부호율은 1/3에서 5/6로 변화한다.
상기 트레인 구조(Train structured)의 LDPC 부호를 위한 패리티 검사 행렬은 다양한 부호율을 지원하기 위해 다양한 크기의 정보어 부분이 추가된다. 예를 들어, 2/3에서 3/4로 부호율을 높이기 위해서 16*16 크기의 서브 행렬(601)을 추가할 수 있다. 이 경우, 패리티 검사 행렬에 상응하는 모델 행렬의 크기는 16*64가 된다. 또한, 도 6의 모델 행렬이 부호율 4/5를 지원하는 경우 16*16 크기의 서브 행렬(602)가 추가되어야 한다. 이 경우, 패리티 검사 행렬에 상응하는 모델 행렬의 크기는 16*80이 된다.
종래 기술에 따른 트레인 구조(Train structured)의 LDPC 부호는 정보 비트의 크기가 다양한 경우에 다양한 부호율을 지원하는 유리한 점이 있다. 그러나, 종래 기술에 따른 트레인 구조의 LDPC 부호는 다음과 같은 문제점이 있다.
일반적인 LDPC 부호는 패리티 검사 행렬의 0이 아닌 성분(nonzero element)의 비중이 매우 희박한 성질을 이용한다. 또한, 상술한 구조화된 LDPC(structured LDPC)에 기초하는 경우, 일반적인 LDPC 인코더는 무게를 갖는 성분이 위치하는 위치 정보를 담고 있는 위치 메모리(position memory) 및 상기 무게를 갖는 성분의 구체적 퍼뮤테이션 인덱스(즉, 쉬프트 수)를 저장하는 인덱스 메모리를 구비한다. 만약, 상술한 트레인 구조(Train structured)의 LDPC 부호를 이용하는 경우 도 6처럼 행렬의 정보어 부분의 크기가 매우 커진다. 이 경우, 상기 위치 메모리의 크기가 지나치게 커지는 문제가 발생한다. 즉, 도 6의 601 영역과 602 영역처럼 각각의 서브 행렬이 추가될때마다 상기 위치 메모리의 크기는 선형적으로 증가하는 문제가 발생한다. 하기 표 1은 종래 기술에 따른 트레인 구조(Train structured)의 LDPC 부호를 이용하는 경우 상기 위치 메모리의 크기 변화를 나타낸다. 하기 표 1의 위치 메모리 크기는, 부호율을 상승시키기 위해 16*16 크기의 서브 행렬이 추가되고 모델 행렬의 검사 노드(check node) 측면에서 무게(weight)가 3이고, 비트 노드(variable node) 측면에서 무게(weight)가 3인 경우에 관한 것이다.
Code rate 종래 기술에 따라 추가적으로 필요한 위치 메모리의 크기
2/3 3*16
3/4 3*16
4/5 3*16
5/6 3*16
6/7 3*16
7/8 3*16
8/9 3*16
9/10 3*16
10/11 3*16
11/12 3*16
12/13 3*16
13/14 3*16
14/15 3*16
15/16 3*16
16/17 3*16
17/18 3*16
Total memory 3*16 *16 = 768
상기 표 1과 같이, 부호율이 한단계 증가할 수록 3*16 만큼의 추가적인 위치 메모리가 필요하다. 만약, 표 1에 표시된 16 가지 부호율을 모두 지원하는 경우 총 768 만큼의 메모리가 필요하다.
정리하면, 종래의 트레인 구조(Train structured)의 LDPC 부호를 이용하는 방법은 다양한 부호율을 지원하는 장점이 있으나 패리티 검사 행렬의 0이 아닌 성분에 관한 정보를 저장하는 위치 메모리의 크기가 선형적으로 증가하는 문제가 있다.
본 발명의 상술한 종래 기술을 개선하기 위해 제안된 것으로, 본 발명의 목적은, 종래에 비해 작은 크기의 메모리를 필요로하는 부호화 및 복호화 방법을 제 안하는 것이다.
본 발명의 다른 목적은 성능이 향상된 부호화 및 복호화 방법을 제안하는 것이다.
발명의 개요
본 발명은 상술한 목적을 달성하기 위해, 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서, 특정한 크기의 제1 서브 블록들로 이루어진 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 및 상기 부호화된 코드워드를 전송하는 단계를 포함하여 이루어지되, 상기 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는 것을 특징으로 한다.
본 발명의 또다른 특징은, 상기 적어도 하나의 변환 행렬에 포함되는 무게를 갖는 성분의 위치는, 상기 참조 행렬에 포함되는 무게를 갖는 성분의 위치에 따라 결정되는 것이다.
본 발명에 따른 부호화 방법은, 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서, 특정한 제1 부호율(code rate)에 상응하는 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 상 기 부호화된 코드워드를 전송하는 단계; 특정한 제2 부호율(code rate)에 상응하는 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 및 상기 부호화된 코드워드를 전송하는 단계를 포함하여 이루어지되, 상기 제1 부호율 및 제2 부호율에 상응하는 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는 것을 특징으로 한다.
본 발명에 따른 복호화 방법은, 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행하는 방법에 있어서, LDPC 부호화된 코드워드를 수신하는 단계; 및 특정한 크기의 제1 서브 블록들로 이루어진 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 상기 코드워드에 대한 복호화를 수행하는 단계를 포함하여 이루어지되, 상기 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는 것을 특징으로 한다.
본원 발명에 따른 부호화 및 복호화는 특정한 참조 행렬(reference matrix)을 이용하는 것을 특징으로 한다. 상기 참조 행렬은 사이클(cycle) 특성을 고려하여 설계되는 것이 바람직하다. 본원 발명에 따른 부호화 및 복호화는 상술한 트레인 구조의 LDPC 부호를 이용하여 부호화 및 복호화를 수행하되 상기 참조 행렬을 확장하여 생성된 패리티 검사 행렬을 이용하여 부호화 및 복호화를 수행한다. 본원 발명에서 사용되는 패리티 검사 행렬은 특정한 참조 행렬의 행을 순환 쉬프 트(cyclic shift)하거나, 상기 참조 행렬의 열을 순환 쉬프트한 행렬을 패리티 검사 행렬의 정보어 부분에 추가하여 생성하는 것이 바람직하다. 본원 발명에 따른 부호화 및 복호화 방법은 상기 참조 행렬을 변형한 행렬을 이용하기 때문에 작은 크기의 메모리를 통해 다양한 부호율을 지원할 수 있다.
발명의 일 실시예
본 발명의 구성, 동작 및 효과는 이하에서 설명되는 본 발명의 일 실시예에 의해 구체화될 것이다. 이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 설명한다.
이하, 상술한 구조화된(structured) LDPC에 따라 특정한 z * z 크기의 서브 블록(또는 서브 행렬)으로 패리티 검사 행렬을 나타내는 행렬을 모델 행렬(model matrix)이라 한다. 상기 모델 행렬의 각 서브 블록은 특정한 인덱스에 의해 다양한 종류의 행렬로 확장될 수 있는바, 상기 모델 행렬은 상기 인덱스를 성분으로 한다. 상기 모델 행렬의 각 서브 블록은 상기 인덱스에 따라 다양한 방식으로 결정될 수 있는바, 이하에서 상기 인덱스는 특정한 크기(z*z)의 단위 행렬에 대한 쉬프트 수(shift number)인 경우를 가정한다. 또한, 상기 인덱스가 -1인 경우에는, 상기 -1의 인덱스를 갖는 서브 블록은 특정한 크기(z*z)의 영 행렬(zero matrix)이다.
상기 모델 행렬은 상기 인덱스에 따라 특정한 패리티 검사 행렬로 확장되기 때문에, 상기 모델 행렬에 의해 부호화 및 복호화가 수행된다는 것은 상기 모델 행렬에 의해 생성되는 특정한 패리티 검사 행렬에 의해 부호화 및 복호화가 수행되는 것을 의미한다.
도 7은 본 실시예에 따라 특정한 참조 행렬을 이용하여 생성된 모델 행렬을 나타내는 도면이다. 상기 모델 행렬에 상응하는 패리티 검사 행렬은 하기 수학식 5와 같이 구조를 갖는다.
Figure 112006040090586-pat00005
도 7의 모델 행렬을 Hb라 하는 경우, 상기 Hb는 정보비트(information bit)와 일대일 대응되는 정보어 부분 Hb1 및 패리티 부분 Hb2을 포함한다. 상기 kb는 도 7의 모델 행렬에서 정보어에 대응하는 서브 블록의 개수를 나타낸다. 또한, 상기 mb는 상기 모델 행렬에서 열 방향으로 위치하는 서브 블록의 개수이다. 즉, 상기 모델 행렬의 정보어 부분은, 서브 블록의 단위로 표현할 때, mb * kb의 크기를 갖는다. 또한, 상기 모델 행렬의 패리티 부분은, 서브 블록의 단위로 표현할 때, mb * mb의 크기를 갖는다.
본 실시예에 따른 부호화 및 복호화 방법은 도 7의 모델 행렬을 이용하여 부호화 및 복호화를 수행한다. 도 7의 모델 행렬은 특정한 참조 행렬(reference matrix)과 상기 특정한 참조 행렬을 변환한 적어도 하나의 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)를 포함한다. 즉, 본 실시예에 따른 모델 행렬의 정보어 부분은 특정한 참조 행렬과 상기 참조 행렬을 변환한 행렬들을 포함한다. 본 실시예에 따른 부호화 및 복호화 방법은, 상술한 트레인 구조(Train structured)의 LDPC 부호를 이용하기 때문에 패리티 부분(Hb2)의 크기는 부호율에 따라 고정적이다. 그러나, 정보어 부분(Hb1)의 크기는 부호율이 증가함에 따라 커진다. 본 실시예에 따른 패리티 검사 행렬 또는 모델 행렬은, 낮은 부호율의 부호화 및 복호화를 위해 사용되는 경우, 상기 참조 행렬을 포함하는 정보어 부분을 포함한다. 만약, 본 실시예에 따른 패리티 검사 행렬이 상대적으로 높은 부호율의 부호화/복호화를 위해 사용되는 경우에는, 추가적인 서브 행렬을 더 포함하는 정보어 부분을 포함한다. 이 경우, 상기 추가적인 서브 행렬은 상기 참조 행렬을 변환시킨 것이 바람직하다. 즉, 부호율이 증가함에 따라 추가되는 서브 행렬은 상기 참조 행렬의 행(row) 또는 열(column)을 순환 천이(cyclic shift)한 것이 바람직하다. 또한, 부호율이 증가함에 따라 추가되는 서브 행렬은 상기 참조 행렬의 열(column)의 순서를 조정한 것일 수 있다. 즉, 상기 추가되는 서브 행렬은 상기 참조 행렬의 열(column)을 인터리빙한 것일 수 있다. 참조행렬의 행을 순환 천이한 뒤 열을 추가적으로 순환천이하거나 인터리빙하여 추가되는 서브 행렬를 생성할 수 있다.
도 7의 일례에서 패리티 부분은 16 * 16 크기의 서브 행렬로 이루어지고, 1/3 부호율에 해당하는 정보어 부분은 16 * 8 크기의 서브 행렬(705)로 이루어진다. 또한, 1/2 부호율에 해당하는 정보어 부분은 16 * 16 크기의 서브 행렬(705, 706)로 이루어진다. 또한, 2/3 부호율을 지원하기 위해 참조 행렬(701)을 추가할 수 있다. 도 7의 일례와 달리 1/2 부호율을 지원하기 위해 참조 행렬(701)을 정보어 부분으로 하여 1/3 또는 1/2부호율에 해당하는 정보어 부분의 서브 행렬(705, 706)을 구성할 수 있다. 그러나, 상대적으로 낮은 부호율에 해당하는 1/2 내지 1/3 부호율에 상응하는 정보어 부분은 행 또는 열의 무게(weight)가 참조행렬(701)보다 커질 수 있다. 따라서, 본 발명에 따라 1/2 또는 1/3 부호율에 상응하는 정보어 부분을 별도의 서브 행렬로 설계하고, 2/3 부호율을 위해 추가적으로 포함되는 정보어 부분(701)을 상기 참조 행렬로 하는 것이 더욱 바람직하다. 2/3 부호율에 비해 더욱 향상된 3/4 부호율을 지원하기 위해서는 702 영역에 추가적인 서브 행렬을 포함시켜야 한다. 이 경우, 상기 702 영역에 특정한 제1 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)을 포함시킨다. 또한, 3/4 부호율에 비해 더욱 향상된 4/5 부호율을 지원하기 위해서는 703 영역에 추가적인 서브 행렬을 포함시켜야 한다. 이 경우, 상기 703 영역에 특정한 제2 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)을 포함시킨다. 또한, 4/5 부호율에 비해 더욱 향상된 5/6 부호율을 지원하기 위해서는 704 영역에 추가적인 서브 행렬을 포함시켜야 한다. 이 경우, 상술한 바와 같이 상기 704 영역에 특정한 제3 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)을 포함시킨다. 상기 제1 내지 제3 하이브리드 순환 천이 행렬은 상기 참조 행렬을 변형한 행렬이다. 즉 상술한 바와 같이, 상기 참조 행렬의 행 또는 열의 순서를 조작한 행렬이다.
이하, 상기 참조 행렬과 상기 참조 행렬을 변환한 하이브리드 순환 천이 행렬을 생성하는 다양한 방법을 설명한다.
도 8a는 본 실시예에 따른 참조 행렬의 일례이다. 도 8a의 모델 행렬은 16 * 16 크기이며, 별도로 표시되지 않은 인덱스 값은 '-1'이다. 도 8a에서 x1 내지 x48 은 상기 참조 행렬에 포함되는 인덱스, 즉 쉬프트 수를 나타낸다. 상기 x1 내지 x48의 인덱스 값은 자유롭게 정해질 수 있으므로, 각 서브 블록의 크기(z factor) 이내의 자유로운 정수일 수 있다. 본 실시예에서 사용되는 참조 행렬은 사이클(cycle)에 대한 특성을 고려하여 설계되는 것이 바람직하다. 즉, 사이클의 개수를 최소화하는 참조 행렬을 이용하는 것이 바람직하다. 도 8a의 일례는 4 사이클을 포함하지 않고 최소한의 6 사이클 만을 포함하는 행렬이다. 4 사이클은, 패리티 검사 행렬에서 무게가 존재하는 각각의 위치를 직선으로 연결하는 경로를 만드는 경우, 특정한 비트 노드에서 출발한 경로가 4개의 직선(즉, 엣지(edge))을 거쳐 자기 자신에게 도착하는 행렬의 구조를 나타내는 것이다. 또한, 6 사이클은 6개의 엣지(edge)에 의해 자기 자신에게 도착하는 행렬의 구조를 나타내는 것이다. 특정한 패리티 검사 행렬에 있어서, 사이클의 개수를 최소화하는 것이 바람직하다. 도 8a의 일례는 본 실시예에서 제안하는 참조 행렬의 일례에 불과하므로, 본 발명이 도 8a의 행렬에 제한되지 아니한다. 본 발명이 속하는 기술 분야에 통상의 지식을 가진 자는 우수한 사이클 특성을 갖는 다양한 크기의 참조 행렬을 설계할 수 있으며, 본 발명은 다양한 종류의 참조 행렬과 상기 참조 행렬을 변형한 적어도 하나의 행렬을 이용하여 부호화 및 복호화를 수행할 수 있다.
도 8b 내지 도 8g는 도 8a의 참조 행렬을 변형한 일례를 나타낸다. 상술한 바와 같이, 본 실시예에 따른 패리티 검사 행렬의 정보어 부분은 특정한 참조 행렬(reference matrix)과 상기 특정한 참조 행렬을 변환한 적어도 하나의 하이브리드 순환 천이 행렬(hybrid cyclic shift matrix)를 포함한다.
이하, 도 8b 내지 도 8g을 참조하여 상기 하이브리드 순환 천이 행렬을 만드는 방법은 다양한 방법을 설명한다.
도 8b의 행렬은 도 8a의 참조 행렬을 변형한 일례로서, 도 8a의 참조 행렬에 대해 아래 방향으로 1 만큼의 순환 천이(cyclic shift)를 수행한 행렬이다. 도 8b의 행렬은 도 8a의 행렬에 대해 순환 천이를 수행하였으므로, 행(row)들의 상대적 위치는 동일하다. 따라서 도 8a의 사이클 특성은 도 8b에서도 유지될 수 있다. 만약, 도 7의 701 영역에 도 8a의 행렬을 사용한 경우, 도 7의 702 영역에는 도 8b의 행렬을 사용할 수 있다. 결국, 도 8a의 행렬과 도 8b의 행렬을 함께 포함하는 정보어 부분을 이용하여 우수한 사이클 특성을 유지하면서 다양한 부호율을 지원하는 부호화 및 복호화를 수행할 수 있다.
도 8c의 행렬은 도 8a의 참조 행렬을 변형한 일례로서, 도 8a의 참조 행렬에 대해 아래 방향으로 3 만큼의 순환 천이(cyclic shift)를 수행한 행렬이다. 본 실시예에 따른 하이브리드 순환 천이 행렬은 참조 행렬에 대해 다양한 크기의 순환 천이를 수행한 행렬일 수 있다. 또한, 도 8a 내지 도 8c의 행렬은 함께 사용될 수 있다. 예를 들어, 도 7의 701 영역에 도 8a의 행렬을 사용한 경우, 도 7의 702 영역에는 도 8b의 행렬을 사용하고, 도 7의 703 영역에는 도 8c의 행렬을 사용할 수 있다. 도 8a의 행렬은 16 * 16 크기의 서브 행렬로 이루어지므로, 총 15가지의 순환 천이가 적용될 수 있다. 따라서, 도 8a의 행렬은 15가지 종류로 변형될 수 있다. 참조행렬을 1씩 순환 천이를 시킴으로써 별도의 추가 정보 없이 이후 추가되는 하이브리드 순환 천이 행렬을 생성할 수 있지만, 순환 천이되는 순서를 미리 정해 놓을 수도 있다.
도 8d의 행렬은, 도 8a의 행렬에 대해 왼쪽 방향으로 2 만큼의 순환 천이를 수행한 행렬이다. 본 실시예에 따라 참조 행렬의 사이클 특성을 유지하면서 순환 천이를 수행하기 위해서는 각 행(row)에 대한 순환 천이를 수행하는 것이 바람직하다. 그러나, 도 8d의 일례처럼 열(column)에 대한 순환 천이를 수행할 수도 있다.
도 8e의 행렬은 도 8c의 행렬에 대해 왼쪽 방향으로 2 만큼의 순환 천이를 수행한 행렬이다. 즉, 행과 열에 대한 순환 천이가 동시에 수행될 수도 있다.
도 8f의 행렬은 도 8c의 행렬의 열(column)의 순서를 조정한 행렬이다. 즉, 도 8c의 행렬의 열의 순서를 {3, 4, 1, 5, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}와 같이 조정할 수 있다.
도 8g의 행렬은 도 8a의 참조 행렬을 변형한 일례로서, 도 8a의 참조 행렬에 대해 윗 방향으로 3 만큼의 순환 천이(cyclic shift)를 수행한 행렬이다.
도 8b 내지 도 8g의 행렬은 도 8a의 참조 행렬과 함께 사용될 수 있다. 도 8b 내지 도 8g의 행렬은 도 8a를 변형하므로, 도 8b 내지 도 8g의 행렬에서 무게를 갖는 성분의 위치는, 도 8a의 행렬에서 무게를 갖는 성분의 위치에 따라 결정된다. 예를 들어, 도 8b의 행렬에서 x'1 내지 x'48의 위치에는 무게(weight)가 존재하는데, 도 8b의 x'1 내지 x'48의 위치는 도 8a의 x1 내지 x48의 위치에 따라 결정된다. 다만, x'1 내지 x'48에 해당하는 인덱스(즉, 쉬프트 수)는 x1 내지 x48과 상이할 수 있다. x'1 내지 x'48의 인덱스는 사이클 특성을 개선하기 위해 다양한 값을 갖을 수 있기 때문이다. 또한 본 실시예에서 참조행렬이 16 * 16 정사각인 경우를 예시를 들었지만, 16 * 8 일 수도 있으며, 다양한 모양을 가질 수 있다.
상술한 바와 같이, 일반적인 LDPC 인코더나 디코더는, 위치 메모리(position memory)와 인덱스 메모리를 구비한다. 이 경우, 본 실시예에 따라 참조 행렬과 이를 변형한 행렬들을 이용하는 경우, 상기 위치 메모리의 크기가 선형적으로 커지는 것을 방지할 수 있다. 즉, 참조 행렬에서 무게를 갖는 성분의 위치를 알고 상기 참조 행렬을 얼마만큼 순환 천이(cyclic shift)하는지에 관한 정보를 안다면, 상기 참조 행렬을 제외한 나머지 부분의 행렬의 무게를 갖는 성분의 위치를 알 수 있다. 따라서, 패리티 검사 행렬의 정보어 부분의 크기가 커지더라도, 위치 메모리의 크기는 상기 참조 행렬에 따라 고정될 수 있다.
도 7의 일례에서는 하나의 참조 행렬을 사용하는 경우를 설명하였으나, 복수의 참조 행렬을 사용할 수 있다. 즉 특정한 제1 참조 행렬 A와 상기 A를 순환 천이한 적어도 하나의 변환된 행렬 A1, A2,..., An과 함께, 특정한 제2 참조 행렬 B와 상기 B를 순환 천이한 적어도 하나의 변환된 행렬 B1, B2,..., Bn을 하나의 정보어 부분에 포함시킬 수도 있다.
본 실시예는 행 및 열 중 적어도 어느 하나를 천이(shift)시킨 행렬을 이용하여 패리티 검사 행렬을 확장하므로, 사이클 특성을 유지할 수 있다. 즉 참조 행렬과 상기 참조 행렬을 변환한 행렬들 간에 우수한 사이클 특성이 유지될 수 있다. 또한, 각 행렬들 간에 사이클 특성이 좋지 않은 분포 상태를 보이는 것을 막을 수 있다.
상술한 바와 같이 본 실시예에서 제안하는 패리티 검사 행렬은 다양한 부호율을 지원한다. 본 실시예에 따른 패리티 검사 행렬을 이용하여 채널 상화에 따라 부호율을 달리하는 통신 수행할 수 있으며, 그 일례는 다음과 같다.
채널이 우수한 상황에서 시스템은 높은 부호율을 송수신하는 것이 고속의 데이터를 처리하는데 좋다. 그러나, 채널 상황이 나빠지는 경우 부호율을 낮추어 데이터 처리를 안정적으로 하는 것이 바람직하다. 즉, 다양한 채널 상황에 맞는 다양한 채널 부호율을 지원하는 것이 고속의 데이터를 안정적으로 처리하는데 유리하다. 도 7의 일례는 부호율 1/3에서 5/6까지 지원한다. Rate compatibility을 요구하는 시스템에서 하나의 모 행렬(mother matrix)로 요구되는 다양한 부호율을 지원하는 방법의 일례는 다음과 같다.
채널의 환경이 좋을 때는, 본 실시예에 따른 송신 단은 도 7의 전체 정보어 부분을 포함하는 패리티 검사 행렬을 이용하여 부호화을 수행한다.즉, 5/6의 높은 부호율로 부호화을 수행한다. 본 실시예에 따른 수신 단은 도 7의 전체 정보어 부분을 포함하는 패리티 검사 행렬을 이용하여 복호화를 수행한다. 상기 송신 단과 수신 단은 참조 행렬에 관한 정보를 이용하여 도 7의 704, 703, 702 영역의 행렬을 생성할 수 있으므로 작은 크기의 위치 메모리를 통해 다양한 부호율을 지원하는 통신을 수행할 수 있다.
채널의 환경이 나빠져서 5/6 보다 낮은 4/5의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 704 영역을 제외한 영역을 이용하여 4/5의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복 호화를 수행한다.
채널의 환경이 더욱 나빠져서 4/5 보다 낮은 3/4의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 704, 703 영역을 제외한 영역을 이용하여 3/4의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.
채널의 환경이 더욱 나빠져서 3/4 보다 낮은 2/3의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 704, 703, 702 영역을 제외한 영역을 이용하여 2/3의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.
채널의 환경이 더욱 나빠져서 2/3 보다 낮은 1/2의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 704, 703, 702, 701 영역을 제외한 영역을 이용하여 1/2의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.
채널의 환경이 더욱 나빠져서 1/2 보다 낮은 1/3의 부호율을 요구할 때, 송신 단은 도 7의 전체 정보어 부분에서 1/3의 부호율에 해당하는 영역을 이용하여 1/3의 부호율로 부호화를 수행한다. 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.
채널 환경이 다시 좋아지는 경우 높은 부호율에 사응하는 행렬을 이용하여 부호화를 수행할 수도 있다. 이 경우 수신 단 역시 상기 송신 단에서 사용한 영역을 이용하여 복호화를 수행한다.
상술한 모델 행렬 또는 패리티 검사 행렬들은 본 발명을 설명하기 위한 일례에 불과한 것이므로, 본 발명이 상술한 일례들에서 사용된 구체적인 수치에 한정되지 아니한다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정해져야 할 것이다.
이하, 본 발명에 따른 효과를 설명한다.
LDPC 부호는 패리티 검사 행령에서 무게를 갖는 성분의 비중이 매우 희박한 성질을 이용한다. 구조화된 LDPC 부호의 경우, 서브 행렬(sub matrix)로부터 확장되는 패리티 검사 행렬로 부호화 또는 복호화에 상기 서브 행렬을 이진 행렬로 변환하여 사용하는 것이 아니라 무게를 갖는 성분의 위치를 저장하는 위치 메모리와 각 무게를 갖는 성분의 인덱스 값을 저장하는 이진 메모리를 이용하여 부호화 및 복호화를 수행한다. 본 발명의 장점은 높은 부호율의 확장시에 위치 메모리의 크기를 증가시킬 필요가 없다는 것이다. 즉, 시스템의 메모리를 줄일 수 있다. 하기 표 2는 위치 메모리 측면에서 본 발명의 효과를 설명한다.
Code rate 본 발명 종래 기술
2/3 3*16 3*16
3/4 0 3*16
4/5 0 3*16
5/6 0 3*16
6/7 0 3*16
7/8 0 3*16
8/9 0 3*16
9/10 0 3*16
10/11 0 3*16
11/12 0 3*16
12/13 0 3*16
13/14 0 3*16
14/15 0 3*16
15/16 0 3*16
16/17 0 3*16
17/18 0 3*16
Total memory 3*16=48 3*16 *16 = 768
표 2와 같이, 본 발명에 따른 부호화 및 복호화 방법은 부효율이 증가하여도 위치 메모리의 추가적인 증가가 없다. 부호율 17/18까지 지원하는 부호화 및 복호화를 수행하는 경우 본 발명에 따른 방법은 종래 기술의 6.25%의 메모리 크기를 필요로 한다.
본 발명에 따른 부호화 및 복호화 방법은 메모리를 절약하는 효과 뿐만 아니라 우수한 부호화 성능을 보인다.
도 9는 본 실시예에 따른 패리티 검사 행렬을 이용하여 부호화를 수행하는 경우 성능을 나타내는 도면이다. 즉, 도 9의 결과는 본 실시예에 따른 패리티 검사 행렬을 이용하여 트레인 구조의 LDPC 부호를 생성한 경우의 성능 곡선이다. 도시된 바와 같이, 패리티 검사 행렬의 정보어 부분의 크기가 커질수록 LDPC 부호의 특징인 부호화 이득(Coding gain)을 얻을 수 있음을 알 수 있다. 즉 본 발명에 따른 패리티 검사 행렬을 이용하여 부호화 및 복호화를 수행하면 메모리의 크기를 절약 뿐만 아니라 우수한 부호를 설계할 수 있다.

Claims (10)

  1. 특정한 정보어 부분 및 패리티 부분을 포함하는 모델 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서,
    상기 정보어 부분은 적어도 하나의 참조 행렬 및 상기 적어도 하나의 참조 행렬을 순환 천이(cyclic shift)한 적어도 하나의 변환 행렬을 포함하는 것을 특징으로 하는 LDPC부호화 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 변환 행렬에 포함되는 무게를 갖는 성분의 위치는, 상기 참조 행렬에 포함되는 무게를 갖는 성분의 위치에 따라 결정되는 것을 특징으로 하는
    참조 행렬을 이용한 LPDC 부호화 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 변환 행렬은, 상기 적어도 하나의 참조 행렬의 행(row)을 순환 천이(cyclic shift)한 행렬인 것을 특징으로 하는
    참조 행렬을 이용한 LPDC 부호화 방법.
  4. 제3항에 있어서,
    상기 적어도 하나의 변환 행렬은, 상기 적어도 하나의 참조 행렬의 열(column)을 순환 천이(cyclic shift)한 행렬인 것을 특징으로 하는
    참조 행렬을 이용한 LPDC 부호화 방법.
  5. 제3항에 있어서,
    상기 적어도 하나의 변환 행렬은, 상기 적어도 하나의 참조 행렬의 열(column)의 순서를 조정한 행렬인 것을 특징으로 하는
    참조 행렬을 이용한 LPDC 부호화 방법.
  6. 제1항에 있어서,
    상기 정보어 부분의 크기는 가변적인 것을 특징으로 하는 참조 행렬을 이용한
    참조 행렬을 이용한 LPDC 부호화 방법.
  7. 제6항에 있어서,
    상기 정보어 부분에 포함되는 상기 변환 행렬의 개수는, 부호율(code rate)에 따라 결정되는 것을 특징으로 하는
    참조 행렬을 이용한 LPDC 부호화 방법.
  8. 제1항에 있어서,
    상기 참조 행렬은, 사이클(cycle) 특성에 기초하여 설계되는 것을 특징으로 하는
    참조 행렬을 이용한 LPDC 부호화 방법.
  9. 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서,
    특정한 제1 부호율(code rate)에 상응하는 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계;
    상기 부호화된 코드워드를 전송하는 단계;
    특정한 제2 부호율(code rate)에 상응하는 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 및
    상기 부호화된 코드워드를 전송하는 단계
    를 포함하여 이루어지되,
    상기 제1 부호율 및 제2 부호율에 상응하는 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는
    참조 행렬을 이용한 LPDC 부호화 방법.
  10. 특정한 정보어 부분 및 패리티 부분을 포함하는 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행하는 방법에 있어서,
    LDPC 부호화된 코드워드를 수신하는 단계; 및
    특정한 크기의 서브 블록들로 이루어진 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬을 이용하여 상기 코드워드에 대한 복호화를 수행하는 단계
    를 포함하여 이루어지되,
    상기 모델 행렬의 정보어 부분은, 적어도 하나의 참조 행렬 및 상기 참조 행렬에 대한 순환 천이(cyclic shift)를 수행한 적어도 하나의 변환 행렬을 포함하는
    참조 행렬을 이용한 LPDC 복호화 방법.
KR1020060051167A 2006-06-07 2006-06-07 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법 KR101128804B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060051167A KR101128804B1 (ko) 2006-06-07 2006-06-07 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060051167A KR101128804B1 (ko) 2006-06-07 2006-06-07 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법

Publications (2)

Publication Number Publication Date
KR20070117222A KR20070117222A (ko) 2007-12-12
KR101128804B1 true KR101128804B1 (ko) 2012-03-23

Family

ID=39142538

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060051167A KR101128804B1 (ko) 2006-06-07 2006-06-07 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법

Country Status (1)

Country Link
KR (1) KR101128804B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190006568A (ko) * 2017-03-30 2019-01-18 엘지전자 주식회사 무선 통신 시스템에서 ldpc 부호의 패리티 검사 행렬을 기반으로 부호화를 수행하는 방법 및 이를 이용한 단말

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101405961B1 (ko) * 2008-02-11 2014-06-12 엘지전자 주식회사 Ldpc 코드를 이용한 부호화/복호화 방법
KR101227328B1 (ko) * 2012-01-12 2013-01-28 단국대학교 산학협력단 가변 부호화율 결합 상태 체크 코드 부호화 및 복호화 방법과 이를 위한 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050035729A (ko) * 2003-10-14 2005-04-19 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
KR20050071842A (ko) * 2004-01-03 2005-07-08 이광재 반 집합 대수 엘디피씨 부호의 구성 방법 및 부호화 장치
KR20050123336A (ko) * 2004-06-24 2005-12-29 엘지전자 주식회사 Ldpc 코드를 이용한 가변 코드 레이트 적응 부호화 방법
KR20060025977A (ko) * 2004-09-17 2006-03-22 엘지전자 주식회사 Ldpc 코드를 이용한 부호화, 복호화 방법 및 부호화또는 복호화를 위한 ldpc 코드 생성 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050035729A (ko) * 2003-10-14 2005-04-19 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
KR20050071842A (ko) * 2004-01-03 2005-07-08 이광재 반 집합 대수 엘디피씨 부호의 구성 방법 및 부호화 장치
KR20050123336A (ko) * 2004-06-24 2005-12-29 엘지전자 주식회사 Ldpc 코드를 이용한 가변 코드 레이트 적응 부호화 방법
KR20060025977A (ko) * 2004-09-17 2006-03-22 엘지전자 주식회사 Ldpc 코드를 이용한 부호화, 복호화 방법 및 부호화또는 복호화를 위한 ldpc 코드 생성 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190006568A (ko) * 2017-03-30 2019-01-18 엘지전자 주식회사 무선 통신 시스템에서 ldpc 부호의 패리티 검사 행렬을 기반으로 부호화를 수행하는 방법 및 이를 이용한 단말
US10484132B2 (en) 2017-03-30 2019-11-19 Lg Electronics Inc. Method for encoding based on parity check matrix of LDPC code in wireless communication system and terminal using this
KR102065427B1 (ko) 2017-03-30 2020-01-13 엘지전자 주식회사 무선 통신 시스템에서 ldpc 부호의 패리티 검사 행렬을 기반으로 부호화를 수행하는 방법 및 이를 이용한 단말
US11211951B2 (en) 2017-03-30 2021-12-28 Lg Electronics Inc. Method for encoding based on parity check matrix of LDPC code in wireless communication system and terminal using this

Also Published As

Publication number Publication date
KR20070117222A (ko) 2007-12-12

Similar Documents

Publication Publication Date Title
KR101191196B1 (ko) 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
KR101119111B1 (ko) Ldpc 부호를 이용한 데이터 재전송 방법
KR101455978B1 (ko) Ldpc 부호를 이용한 부호화 방법
KR101102396B1 (ko) 이동통신 시스템에서의 코드워드 크기 정합 방법 및 송신장치
EP3490157B1 (en) Modulation format specific puncturing pattern for ldpc codes in combination with 16qam
JP5506878B2 (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
US8495459B2 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
JP5436688B2 (ja) 線形ブロック符号を使用する通信システムにおけるパリティ検査行列を生成する方法及び装置とそれを用いる送受信装置及び方法
CN113098659B (zh) 用于在通信或广播系统中信道编码/解码的方法和装置
KR101128804B1 (ko) 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법
KR101253184B1 (ko) 모델 행렬을 이용하여 ldpc 부호화를 수행한 데이터를천공하는 방법
KR102482110B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20170075627A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR101276845B1 (ko) 복수의 레이어들을 이용하여 ldpc 복호화를 수행하는방법
KR101265636B1 (ko) 모델 행렬을 이용하여 ldpc 복호화를 수행하는 방법
KR101187072B1 (ko) 패리티 검사 행렬을 이용한 부호화 방법
KR101227514B1 (ko) Ldpc 부호화 및 복호화를 위한 모델 행렬을 구성하는방법
KR101187070B1 (ko) 패리티 검사 행렬을 이용하여 부호화하는 방법
CN117978328A (zh) 在通信或广播系统中进行信道编码和解码的方法和装置
KR20120025358A (ko) 선형 블록 부호를 사용하는 통신 시스템에서 데이터 송수신 장치 및 방법
KR20170060574A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR101221897B1 (ko) Ldpc 부호화 장치
KR101319891B1 (ko) 블록 코드를 이용한 부호화가 수행된 신호를 데이터처리하는 방법
KR102336457B1 (ko) 통신 방법 및 통신 장치
KR101221911B1 (ko) Ldpc 부호를 이용하여 재전송을 수행하는 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160224

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee