KR101455978B1 - Ldpc 부호를 이용한 부호화 방법 - Google Patents

Ldpc 부호를 이용한 부호화 방법 Download PDF

Info

Publication number
KR101455978B1
KR101455978B1 KR1020070063353A KR20070063353A KR101455978B1 KR 101455978 B1 KR101455978 B1 KR 101455978B1 KR 1020070063353 A KR1020070063353 A KR 1020070063353A KR 20070063353 A KR20070063353 A KR 20070063353A KR 101455978 B1 KR101455978 B1 KR 101455978B1
Authority
KR
South Korea
Prior art keywords
matrix
parity check
column
row
indices
Prior art date
Application number
KR1020070063353A
Other languages
English (en)
Other versions
KR20080087615A (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 PCT/KR2008/001725 priority Critical patent/WO2008117994A1/en
Priority to US12/593,171 priority patent/US8689088B2/en
Priority to GB0917001A priority patent/GB2459828B/en
Priority to GB1011308A priority patent/GB2469236B/en
Publication of KR20080087615A publication Critical patent/KR20080087615A/ko
Application granted granted Critical
Publication of KR101455978B1 publication Critical patent/KR101455978B1/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65583GPP2
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy

Abstract

본 발명은 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 관한 것이다. 본 발명에 따른 부호화 방법은, 패리티 검사 행렬(Parity Check Matrix)을 이용한 LDPC(Low Density Parity Check) 부호화 방법에 있어서, 제1 패리티 검사 행렬의 적어도 하나 이상의 행이나 열 또는 적어도 하나 이상의 행과 열을 재배열하여, 소정 부분이 정형화된 구조를 갖는 제2 패리티 검사 행렬을 생성하는 제1단계와, 상기 제2 패리티 검사 행렬을 이용하여 입력 데이터열을 부호화하는 제2단계와, 상기 부호화된 데이터열의 심볼 순서가 상기 제1 패리티 검사 행렬의 열의 순서에 대응하도록 상기 부호화된 데이터열을 재배열하는 제3단계를 포함하여 구성됨을 특징으로 한다.
LDPC, 행, HARQ, 정보어, 재배열

Description

LDPC 부호를 이용한 부호화 방법{Method for encoding data using a Low Density Parity Check code}
도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다.
도 2 내지 도 4는 종래 기술에 따른 재전송 기법을 나타내는 도면이다.
도 5 내지 도 6은 종래 및 본 발명에 따른 재전송 기법을 나타내는 도면이다.
도 7은 패리티 검사 행렬 상의 서브 블록의 개념을 나타내는 도면이다.
도 8은 종래에 제안된 모델 행렬의 일례이다.
도 9는 상술한 인덱스, 즉 쉬프트 수(shift number)에 따른 행렬의 표현 방법을 나타낸 도면이다.
도 10은 종래 기술 및 본 발명에 따른 LDPC 복호화 방법을 나타내는 도면이다.
도 11은 본 발명에 따른 일 실시예를 설명하기 위한 도면이다.
도 12는 2×2 확장 방법의 일 예를 설명하기 위한 도면이다.
도 13은 본 발명에 따른 일 실시예의 절차 흐름도이다.
도 14a 내지 도 14f는 본 발명의 실시예들에 따른 기본 행렬의 예들을 도시 한 것이다.
도 15a 및 도 15b는 본 발명에 따른 다른 실시예를 설명하기 위한 도면이다.
도 16a 내지 도 16c는 본 발명의 일 실시예에 따른 행/열 재배열 방법의 예를 도시한 것이다.
도 17a 내지 도 27c는 본 발명의 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것이다.
본 발명은 LDPC(Low Density Parity Check) 부호화 방법에 관한 것으로서, 보다 상세하게는, 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 관한 것이다.
도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다. 이하, 도 1을 참조하여 이동통신 채널의 구조를 설명한다. 송신 단(Transmitter)에서 전송할 데이터를 무선채널에서 손실이나 왜곡 없이 전송하기 위해 채널 코딩(channel coding) 절차를 거친다. 상기 채널 코딩 기법으로는, Convolutional Coding, Turbo Coding, LDPC Coding 등의 다양한 기술이 있다. 상기 채널 코딩(Channel coding) 절차를 거친 데이터(data)는 무선 채널로 전송될 때 여러 개의 비트들이 모여서 하나의 심볼로 전송될 수 있다. 이때, 여러 비트들을 하나의 심볼(symbol)로 매핑(mapping) 되는 절차를 변조(modulation)라 한다.
변조된 데이터는 다중화(Multiplexing) 과정 또는 다중 접속(Multiple Access) 방법을 거쳐 다중 전송을 위한 신호로 변환된다. 상기 다중화 방법으로는, CDM, TDM, FDM 등의 다양한 방법이 존재한다. 상기 다중화(Multiplexing) 블록을 거친 신호는 한 개 이상의 다중 안테나에 전송되기 적합한 구조로 변경되어 무선채널을 통해 수신 단(Receiver)에 전달된다. 무선 채널을 통과하는 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음을 겪게 되어 데이터에 왜곡이 발생할 수 있다.
상기 변조(Modulation)된 데이터는 무선 채널을 통해 수신 단(Receiver)에 전달된다. 이 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음 등을 겪게 되어 데이터에 왜곡이 발생할 수 있다. 수신 단에서는 상기 왜곡된 데이터를 수신한 후 상기 송신 단의 일련의 절차를 역순으로 수행한다. 상기 심볼로 매핑(mapping)된 데이터를 비트열로 바꾸는 복조(demodulation) 작업을 수행하고, 채널 디코딩(Channel Decoding) 절차를 거치며 왜곡된 데이터를 원래 데이터로 복원한다.
상기 채널 코딩을 수행하는 장치는, 입력된 데이터(Information bits 또는 Systematic Bits)에 첨가될 패리티 비트(Parity Bits)을 발생시키는 사용되는 패리티 검사 행렬(Parity Check Matrix)인 H 행렬 또는 H행렬로부터 유도되는 생성행렬(Generation 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) 한다.
이하, 본 발명과 함께 사용될 수 있는 데이터 재전송 기법에 관하여 설명한다. 상기 데이터 재전송 기법의 종류는 다양한바, 이하 HARQ(Hybrid Automatic Repeat reQuest) 기법에 대하여 설명한다. HARQ는 통신시스템에서 재전송 기법인 ARQ(Automatic Repeat reQuest)와 FEC(Forward Error Correction) 부호를 결합한 기술이다. ARQ 기법은, 수신단에서 수신된 데이터에서 에러(error)가 검출된 경우, 상기 수신 단(Receiver)은 송신 단(Transmitter)으로 재전송을 요청하는 방법이다. ARQ 기법에는 재전송 방법에 따라, Stop-And-Wait, Selective Repeat, Go-Back-N 등이 있다. 상기 Stop-And-Wait 기법은 도 2와 같이 송신 단은 데이터를 송신하고, 수신 단에서 데이터가 성공적으로 수신되었음을 알리는 ACK(Acknowledgement) 메시지를 송신 단이 받으면, 다음 데이터를 송신하고, 송신단 이 수신 단으로부터 데이터가 성공적으로 수신되지 않았다는 NACK 메시지를 받으면, 전송에 실패한 데이터를 다시 보내는 방법이다.
한편, Go-Back-N 방법에서는 송신 단은 N개의 데이터를 우선 보내고, 수신 단으로부터 ACK메시지를 차례대로 수신한다. 도 3은 N=7인 경우를 나타내는데, 이때, ACK을 받지 않고 보내는 데이터의 개수(N)를 윈도우 크기(window size)라고 한다. 송신단은 k 번째 데이터에 대한 NACK 메시지를 받으면, k번째 데이터부터 순차적으로 데이터를 전송한다
도 4는 Selective Repeat 방법을 나타낸다. 상기 Selective Repeat 방법에서는, 상기 Go-Back-N 방법에서와 같이 ACK 또는 NACK 메시지를 받지 않고, 윈도우 크기(Window Size)를 N으로 하여 데이터를 전송하고, NACK 메시지를 받은 데이터에 대해서만 선택적으로 재전송을 수행한다.
상술한 HARQ 기법은 상기 ARQ 방식에서 재전송을 하는 경우에, 먼저 전송된 데이터와 재전송된 데이터를 결합하여, FEC 부호를 통해 복구하는 방법이며, 두 데이터를 결합하는 방법에 따라, Chase Combining과 Incremental Redundancy로 나뉘어진다. Chase Combining 기법은 도 5와 같이 수신단에서 전송 데이터와 재전송 데이터를 결합하여 수신 SNR(Signal to Noise Ratio)를 높여 수신단에서 데이터에 대한 수신 성공율을 높이는 방법이다.
한편, Incremental Redundancy 기법(이하, 'IR 기법'이라 칭함)은 도 6와 같이 송신단에서 재전송 시, Chase Combining 방법과는 달리, 처음 전송에 사용되지 않았던 부호화된 데이터의 일부를 전송하여 수신단에서 수신된 데이터의 부호율(code rate)을 낮추는 방법을 통해 수신 성공률을 높이는 방법이다.
이하 LDPC 부호에 관하여 설명한다. LDPC 부호의 개념을 설명하면 다음과 같다.
선형 부호는 생성 행렬(generation matrix) G 또는 패리티 체크 행렬(parity check matrix) H로 기술될 수 있다. 선형 부호의 특징은 모든 코드워드 c 에 대하여,
Figure 112007046611784-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까지 늘릴 수 있다.
이하, 구조화된(structured) LDPC를 설명한다.
LDPC 부호를 사용하기 위해서는 패리티 체크 행렬 H를 사용하는데, 사용하는 행렬 H는 대부분의 '0'과 일부의 '1'을 원소(elemnet)로 포함하는데, H 행렬의 크기가 105 비트 이상으로 크기 때문에 H 행렬을 표현하는데 큰 크기의 메모리가 필요하다. 상기 구조화된 LDPC 기법은 LDPC 부호화 및 복호화에 사용되는 상기 H 행렬의 원소들을 도 7과 같이 일정한 크기의 서브 블록(sub-block)으로 표현하는 방법 이다. IEEE802.16e에서는 상기 서브 블록을 하나의 정수 인덱스(index)로 표시하여, 상기 H 행렬을 저장하는데 필요한 메모리의 크기를 줄인다. 상기 서브 블록은 다양한 행렬일 수 있는바, 예를 들어 일정한 크기의 퍼뮤테이션 행렬(Permutation Matrix)일 수도 있다.
상기 구조화된 LDPC 기법을 사용하게 되면 특정한 메모리에 1 또는 0으로 구성되는 일정 크기의 행렬을 저장하는 대신, 하나의 정수(즉, 인덱스)만 저장하면 되기 때문에 상기 H 행렬을 표시하는데 필요한 메모리의 크기를 줄일 수 있다.
일례로, IEEE802.16e 표준에 반영된 코드워드(codeword)의 크기가 2304이고, 부호율(code rate)이 2/3인 경우에, LDPC 부호화/복호화를 위해 사용되는 모델 행렬(model matrix)은 도 8과 같다. 모델 행렬은, 이하에서 설명하는 쉬프트 수로 표현되는 적어도 하나의 서브 블록으로 구성된 패리티 검사 행렬을 의미한다. 상기 모델 행렬은 이하에서 설명하는 방법에 의해 패리티 검사 행렬로 확장(expansion)되어 생성될 수 있다. 따라서 특정한 모델 행렬로 부호화 및 복호화를 수행한다는 의미는 해당 모델 행렬에서 확장되어 생성된 패리티 검사 행렬로 부호화 및 복호화를 수행한다는 의미와 동일하다.
도 8에 도시된 바와 같이, 구조화된 LDPC 행렬은 '-1', '0' 과 양의 정수로 표현될 수 있다. 인덱스가 '-1'인 경우는 특정한 크기의 영 행렬(zero matrix)을 의미하며, 인덱스가 '0'인 경우는 특정한 크기의 단위 행렬(identity matrix)을 의미한다. '-1'과 '0'을 제외한 양의 정수를 갖는 인덱스는, 상기 인덱스가 쉬프트 수(shift number)를 나타낸다. 서브 블록을 '1'이라는 인덱스로 표현하는 경우, 해 당 서브 블록은 단위 행렬의 각 행 또는 열을 특정한 방향으로 '1'번 쉬프트한 것이다.
도 9는 상술한 인덱스, 즉 쉬프트 수(shift number)에 따른 행렬의 표현 방법을 나타낸 도면이다. 특정한 패리티 검사 행렬을 4×4 크기의 행렬(즉, 서브 블록)로 구조화하여 표현하는 경우, 상기 특정한 서브 블록을 '3'이라는 인덱스로 표시하면, 상기 서브 블록은 도 9의 행렬이 된다.
이하, 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 112007046611784-pat00002
상기 수식에서, x는 정보어 부분(information part 또는 systematic part)을 나타내고, xP는 패리티 부분(parity part)을 나타낸다.
종래기술에 따른 LDPC 부호화 방법에 있어서, LDPC 패리티 검사행렬 H로부터 Hsys 행렬을 유도하고, Hsys 행렬로부터 Gsys 행렬을 생성하여 이를 통해 부호화를 수행하는 경우가 있다. 여기서, Hsys 행렬은 행 연산(row operation)을 통해 패리티 검사 행렬 H의 일 부분을 체계적 타입(systematic type)으로 만든 행렬이고, Gsys 행렬은 Hsys 행렬로부터 만들어진 생성 행렬이다. Hsys 및 Gsys는 각각 다음의 수학식 2 및 수학식 3과 같이 나타낼 수 있다.
Figure 112007046611784-pat00003
Figure 112007046611784-pat00004
이하, LDPC 복호화 방법에 대하여 설명한다.
통신시스템에서 부호화된 데이터는 도 1의 무선 채널을 통과하는 과정에서 잡음을 포함하게 되는데, 수신 단에서는 도 10과 같은 절차를 통해 데이터의 복호 과정을 나타낸다. 수신 단의 복호화 블록에서는 부호화된 코드워드(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일 때 다음의 수학식 4와 같다.
R = k/n
LDPC 부호화 및 복호화에 필요한 상기 H 행렬의 행의 크기가 m, 열의 크기가 n인 경우, 부호율은 다음의 수학식 5와 같다.
R = 1 - m/n
상술한 바와 같이, 종래의 LDPC 부호는 상기 H 행렬에 의해 부호화 및 복호화를 수행하는바 상기 H 행렬의 구조가 매우 중요하다. 즉, 부호화 및 복호화의 성능이 상기 H 행렬의 구조에 크게 영향을 받기 때문에, 상기 H 행렬의 설계가 무엇보다 중요하다.
상기한 바와 같은 종래기술에 따른 LDPC 부호화 방법에 있어서, 패리터 검사 행렬로부터 Hsys 및 Gsys를 생성하는 과정에서 복잡한 행렬 연산을 필요로 하게 된다. 특히 패리티 검사 행렬의 크기가 커질수록 그 연산에 필요한 자원(resource) 또한 증가하게 되어 전체적인 시스템의 복잡도를 높이게 되는 문제점이 있다.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 복잡도를 줄이고 효율을 개선시킬 수 있는 LDPC 부호화 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 ARQ 또는 HARQ 등과 같은 재전송 기능을 보다 간단히 지원할 수 있는 LDPC 부호화 방법을 제공하는 것이다.
본 발명의 일 양상으로서, 본 발명에 따른 부호화 방법은, 패리티 검사 행렬(Parity Check Matrix)을 이용한 LDPC(Low Density Parity Check) 부호화 방법에 있어서, 제1 패리티 검사 행렬의 적어도 하나 이상의 행이나 열 또는 적어도 하나 이상의 행과 열을 재배열하여, 소정 부분이 정형화된 구조를 갖는 제2 패리티 검사 행렬을 생성하는 제1단계와, 상기 제2 패리티 검사 행렬을 이용하여 입력 데이터열을 부호화하는 제2단계와, 상기 부호화된 데이터열의 심볼 순서가 상기 제1 패리티 검사 행렬의 열의 순서에 대응하도록 상기 부호화된 데이터열을 재배열하는 제3단계를 포함하여 구성됨을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 설명되는 본 발명의 실시예들에 의해 본 발명의 구성, 작용 및 다른 특징들이 용이하게 이해될 수 있을 것이다.
도 11은 본 발명에 따른 일 실시예를 설명하기 위한 도면으로서, 도 11은 제1 기본 행렬(base matrix, G)을 토대로 플로어링(flooring) 연산 과정과 확장(expansion) 과정을 거쳐 최종 기본 행렬(G''')을 생성하는 과정을 도시한 것이다.
도 11을 참조하면, 상기 제1 기본 행렬(G)에 대해 플로어링 연산을 수행하여 제2 기본 행렬(G')을 생성한다. 상기 플로어링 연산은 가장 큰 차원(예를 들어, 12×12)의 제1 서브 행렬에 대한 제1 기본 행렬로부터 보다 작은 차원(예를 들어, 5×5)의 제2 서브 행렬에 대한 제2 기본 행렬을 생성하기 위한 연산 방법으로서 다음의 수학식 6에 의해 표현될 수 있다.
Shift (z)=floor( shift ( z max )z/ z max )
여기서, shift (z)는 상기 제2 서브 행렬의 쉬프트 간격의 수, floor (x)는 x로부터 음의 무한대(minus infinity) 방향으로 가장 가까운 정수를 의미한다.
다시 말해서, 상기 제1 기본 행렬의 각 원소가 zmax×zmax 차원의 제1 서브 행렬을 지시하는 인덱스(예를 들어, 기본 퍼뮤테이션 행렬의 각 행 또는 열을 일정 방향으로 쉬프트시킨 경우 그 쉬프트 수)에 의해 구성되는 경우, 상기 제1 기본 행렬로부터 각 원소가 z×z 차원의 제2 서브 행렬을 지시하는 인덱스로 구성되는 제2 기본 행렬을 생성할 필요성이 있는 경우가 있다. 이때, 수학식 6을 이용하여 상기 제1 기본 행렬의 각 원소를 상기 제2 기본 행렬의 각 원소로 대체할 수 있다.
예를 들어, 12×12 차원의 단위 행렬의 각 행을 특정 방향으로 '7' 만큼씩 쉬프트시켜 형성한 제1 서브 행렬을 5×5 차원의 단위 행렬에 대하여 매핑시켜 형성한 제2 서브 행렬은 수학식 6에 의하여 다음과 같이 구할 수 있다.
shift(5) = floor(shift(12)×5÷12) = floor(7×5÷12) = floor(2.92) = 2
다시 말해서, 12×12 차원의 단위 행렬의 각 행을 일정 방향으로 '7' 만큼씩 쉬프트시켜 형성한 제1 서브 행렬은 5×5 차원의 단위 행렬에 대하여 각 행을 '2' 만큼씩 쉬프트시켜 형성한 제2 서브 행렬에 매핑된다.
이와 같은 방법으로 상기 제1 기본 행렬의 각 원소 값들을 상기 제2 기본 행렬의 원소 값들로 대치시킴으로써 상기 제2 기본 행렬을 생성할 수 있다. 상기의 'floor' 연산은 이를 하드웨어 또는 소프트웨어로 구현할 때 복잡도를 매우 단순하게 할 수 있다. 상기 제1 기본 행렬로부터 상기 제2 기본 행렬을 생성하는 과정에서 모듈러(modulo) 연산을 수행하는 것도 가능하다.
도 11에서, 2×2 확장(expansion) 과정은 상기 제2 기본 행렬(G')의 각 원소를 2×2 행렬로 확장하여 제3 기본 행렬(G'')을 생성하는 과정이다. 도 12는 2×2 확장 방법의 일 예를 설명하기 위한 도면이다. 도 12(a)는 상기 제2 기본 행렬의 특정 원소가 홀수인 경우의 2×2 확장 방법이고, 도 12(b)는 상기 제2 기본 행렬의 특정 원소가 짝수인 경우의 2×2 확장 방법을 나타낸 것이다.
도 11에서, 확장 과정은 상기 제3 기본 행렬(G'')의 행/열을 재배 열(permutation)함으로써 제4 기본 행렬(G''')을 생성하는 과정이다. 행/열의 재배열 방법에 대해서는 후술하기로 한다.
상기 제4 기본 행렬의 각 원소는 특정 서브 행렬을 나타내는 인덱스로 구성되는데, 각 인덱스를 대응하는 서브 행렬로 대체함으로써 최종 패리티 검사 행렬이 생성되고, 생성된 패리티 검사 행렬을 이용하여 입력 데이터열을 부호화할 수 있다.
부호기(encoder)에서 입력 데이터열을 부호화하는 경우 도 11의 모든 과정을 거치지 않아도 되는 경우가 있다. 예를 들어, 상기 최종 패리티 검사 행렬이 저장되어 있는 경우 플로어링 연산 과정, 2×2 확장 과정, 행/열 재배열 과정은 생략된다. 다른 예로, 상기 플로어링 연산 과정이나 2×2 확장 과정 중 적어도 하나가 생략될 수 있는 경우도 있다.
도 13은 본 발명에 따른 일 실시예의 절차 흐름도이다.
도 13을 참조하면, 입력 데이터열의 부호화를 위해 소정 부분이 정형화된 구조를 갖는 최종 패리티 검사 행렬을 생성하기 위해 패리티 검사 행렬의 적어도 하나 이상의 행이나 열 또는 적어도 하나 이상의 행과 열을 재배열(permutation)한다[S131].
일반적으로, 패리티 검사 행렬 H는 H=[Hd|Hp](Hd는 (n-k)×k, Hp는 (n-k)×(n-k) 차원임)로 표현될 수 있다. Hd는 정보어 부분이고, Hp는 패리티 부분이다. 상기 k는 입력 데이터열의 길이(비트 단위)이고, 상기 n은 부호화된 코드 워드(c)의 길이(비트 단위)를 의미한다.
상기 패리티 부분 Hp는 이중 대각(dual diagonal) 구조를 갖는 것이 바람직하다. 상기 이중 대각 행렬은 그 차원에 관계없이 주 대각(main diagonal)과 상기 주 대각 바로 밑 또는 위의 대각이 1이고 나머지가 모두 0인 행렬을 의미한다. 따라서, 상기 재배열 과정(S131)에서 상기 패리티 검사 행렬의 패리티 부분 Hp가 이중 대각 구조를 갖도록 행 및/또는 열을 재배열하는 것이 바람직하다.
한편, 도 11에서 상기 제3 기본 행렬에 대해 재배열 과정(S131)을 수행하여 상기 제 4 기본 행렬을 생성했지만, 상기 제1 또는 제2 기본 행렬에 대해 재배열 과정을 수행하는 것도 가능하다. 즉, 도 11에서, 행 및/또는 열의 재배열은 상기 제1 기본 행렬(G), 제2 기본 행렬(G'), 제3 기본 행렬(G'') 중 어느 하나 또는 둘 이상의 행렬에 대해 수행되어 최종적으로 상기 4 기본 행렬의 패리티 부분이 이중 대각 구조를 갖도록 하면 된다. 나아가, 상기 행 및/또는 열의 재배열 과정(S131)을 통해 상기 제4 기본 행렬의 패리티 부분의 첫 번째 열의 무게가 3이 되도록 하는 것이 바람직하다.
상기 최종 패리티 검사 행렬이 생성되면 이를 통해 입력 데이터열을 부호화한다[S133].
상기한 바와 같이, LDPC 코드를 이용한 부호화 방법에 있어서는 생성 행렬(generator matrix)을 이용하여 입력 소스 데이터를 부호화할 수 있다. 즉, k 비트의 입력 소스 데이터 s1 ×k는 생성 행렬에 부호화되어 n 비트의 코드워드 x1×k이 된다. 코드워드 xx=[s p]=[s0, s1, ..., sk -1, p0, p1, ... , pm -1] 의 구성을 갖는다(여기서, (p0, p1, ... , pm -1)은 패리티 검사 비트(parity check bits)이고, (s0, s1, ... , sk -1)은 시스템 비트(systematic bits)이다.).
그러나, 상기 생성 행렬 G를 이용한 부호화 방법은 매우 복잡하다. 따라서, 이러한 복잡도를 줄이기 위해 상기 생성 행렬 G에 의하지 않고, 패리티 검사 행렬 H를 이용해 직접 입력 소스 데이터를 부호화하는 것이 바람직하다. 즉, x=[s p]이므로, H·x = 0인 특성을 이용하면 H·x = H·[s p] = 0이 되고, 이 식으로부터 패리티 검사 비트 p를 얻을 수 있어, 결과적으로 코드워드 x=[s p]를 구할 수 있다.
다음으로, 상기 패리티 검사 행렬에 의해 부호화된 코드워드를 구성하는 심볼들의 순서를 재배열(de-permutation)한다[S135]. 이때, 코드워드를 구성하는 심볼들의 순서는 상기 행/열 재배열 단계(S131)에서 열이 재배열되지 않은 경우의 최종 패리티 검사 행렬의 열들(columns)의 순서에 대응하도록 재배열된다. 즉, 코드워드의 심볼들을 재배열(de-permutation)하는 경우 그 순서는 상기 행/열 재배열 단계(S131)에서 이루어진 열의 재배열(permutation) 순서의 역순이 된다.
LDPC 부호화 방법에 있어서, k 개의 입력 데이터열에 대해 (n-k)×n의 패리티 검사 행렬에 의해 부호화를 수행하면 n 개의 심볼들로 구성되는 코드워드가 출력된다. 즉, 코드워드를 구성하는 심볼들의 개수(n)는 패리티 검사 행렬의 열들의 개수와 동일하고, 상기 코드워드를 구성하는 심볼들의 순서는 상기 패리티 검사 행 렬의 열들의 순서에 대응한다.
본 발명에 따른 실시예들에 있어서, 패리티 검사 행렬의 소정 부분(예를 들어, 패리티 부분)을 정형화된 구조로 만들기 위해 열을 재배열할 경우, 이에 따라 부호화된 코드워드의 심볼들의 순서도 재배열된다. 따라서, 재배열된 코드워드 심볼들의 순서를 재배열되기 전의 패리티 검사 행렬의 열에 대응하도록 재배열할 필요가 있다. 코드워드의 순서를 재배열함으로써 ARQ 또는 HARQ 등과 같은 재전송 기법을 효율적으로 지원할 수 있다.
상기 패리티 검사 행렬을 이용한 부호화가 송신측에서 수행된 경우 상기 재배열된 코드워드를 수신측으로 전송한다[S137]. 상기 코드워드의 전송 과정에서 레이트 매칭(rate matching), 인터리빙(interleaving), 변조(modulation) 등 통신 시스템에서 요구되는 데이터 처리 과정이 수행될 수 있다.
도 14a 내지 도 14f는 본 발명의 실시예들에 따른 기본 행렬(도 11에서 제1 기본 행렬 G)의 예들을 도시한 것으로서, 각각 정보 블록(information block)의 개수(kb)가 6 내지 11인 경우의 예들이다. 도 14a 내지 도 14f에서, '0'은 단위 행렬을 의미하고, ●은 영 행렬(zero matrix)을 의미하며, 임의의 양의 정수는 단위 행렬의 각 행을 해당 양의 정수만큼 쉬프트 시킨 서브 행렬을 의미한다. 이하 동일하다.
표 1은 도 14a 내지 도 14f의 기본 행렬들의 행 및 열들을 재배열(permutation)하여 패리티 부분을 이중 대각 구조로 만들기 위한 재배열 패 턴(permutation patterns)을 나타낸다. 표 1에서, i는 기본 행렬의 인덱스이고, Ki는 멀티플렉싱 체인(multiplexing chain)의 개수이고, Qi는 행(row)의 재배열 패턴이며, Pi는 열(column)의 재배열 패턴을 의미한다. 표 1에서 멀티플렉싱 체인의 개수만큼의 행들이 재배열된다.
도 11을 참조하여 설명하면, 각 정보 블록의 개수에 대응하는 기본 행렬에 대하여 상기 제3 기본 행렬(G'')의 행들의 순서를 Qi가 나타내는 순서와 같이 재배열하고, 상기 제3 기본 행렬(G'')의 열들의 순서를 Pi가 나타내는 순서와 같이 재배열함으로써 상기 제 4 기본 행렬(G''')을 생성할 수 있다.
i Ki Qi Pi
0 12 11 5 3 1 7 9 10 4 2 0 6 8 0 1 2 3 4 5 6 7 8 9 10 12 11 15 21 19 17 41 13 14 20 18 16 40 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
1 16 7 1 13 15 11 5 9 3 6 0 12 14 10 4 8 2 0 1 2 3 4 5 6 7 8 9 10 11 12 14 13 17 23 51 21 49 19 43 15 16 22 50 20 48 18 42 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 46 47 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
2 14 11 3 1 13 9 5 7 10 2 12 8 4 6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 15 19 25 23 59 21 41 17 18 24 22 58 20 40 26 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
3 18 17 15 13 9 11 5 7 1 3 16 14 12 8 10 4 6 0 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 17 21 53 27 51 25 47 23 43 19 20 52 26 50 24 46 22 42 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 48 49 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
4 18 5 17 15 11 13 9 3 7 1 4 16 14 10 12 8 2 6 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 19 23 53 29 49 27 47 25 45 21 22 52 28 48 26 46 24 44 30 31 32 33 34 35 36 37 38 39 40 41 42 43 50 51 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
5 18 11 9 17 15 7 13 5 1 3 10 8 16 14 6 12 4 0 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 21 25 55 31 53 29 51 27 41 23 24 54 30 52 28 50 26 40 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
도 14a 내지 도 14f의 각 기본 행렬의 소정 열들은 그 위치가 변경되어 사용될 수 있다. 도 14a에서 여섯 번째 열과 일곱 번째 열을 치환할 수 있고, 도 14b에서 일곱 번째 열과 여덟 번째 열을 치환할 수 있으며, 도 14c에서 여덟 번째 열과 아홉 번째 열을 치환할 수 있다. 또한, 도 14d에서, 아홉 번째 열과 열 번째 열을 치환할 수 있고, 도 14e에서 열 번째 열과 열한 번째 열을 치환할 수 있으며, 도 14f에서 열한 번째 열과 열두 번째 열을 치환할 수 있다. 표 2는 도 14a 내지 도 14f의 각 기본 행렬의 둘 열들을 상기한 바와 같이 치환한 경우 행 및 열들을 재배열하여 패리티 부분을 이중 대각 구조로 만들기 위한 재배열 패턴을 나타낸다.
i Ki Qi Pi
0 12 11 5 3 1 7 9 10 4 2 0 6 8 0 1 2 3 4 5 6 7 8 9 10 12 13 15 21 19 17 41 11 14 20 18 16 40 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
1 16 7 1 13 15 11 5 9 3 6 0 12 14 10 4 8 2 0 1 2 3 4 5 6 7 8 9 10 11 12 14 15 17 23 51 21 49 19 43 13 16 22 50 20 48 18 42 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 46 47 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
2 14 11 3 1 13 9 5 7 10 2 12 8 4 6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 19 25 23 59 21 41 15 18 24 22 58 20 40 26 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
3 18 17 15 13 9 11 5 7 1 3 16 14 12 8 10 4 6 0 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 21 53 27 51 25 47 23 43 17 20 52 26 50 24 46 22 42 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 48 49 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
4 18 5 17 15 11 13 9 3 7 1 4 16 14 10 12 8 2 6 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 23 53 29 49 27 47 25 45 19 22 52 28 48 26 46 24 44 30 31 32 33 34 35 36 37 38 39 40 41 42 43 50 51 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
5 18 11 9 17 15 7 13 5 1 3 10 8 16 14 6 12 4 0 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 25 55 31 53 29 51 27 41 21 24 54 30 52 28 50 26 40 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
도 15a 및 도 15b는 본 발명에 따른 다른 실시예를 설명하기 위한 도면으로서, 본 발명의 기술적 특징을 비동기식 이동통신 시스템의 기술 표준인 3GPP2 규격에 따른 기본 행렬(정보 블록이 6 개인 경우)에 적용한 예이다. 도 15a는 제1 기본 행렬(G) 또는 제2 기본 행렬(G') 단계에서 행/열을 재배열하여 패리티 부분을 이중 대각 구조로 변경하는 예이고, 도 15b는 제3 기본 행렬(G'') 단계에서 이중 대각 구조를 구성한 예이다.
도 16a 내지 도 16c는 본 발명의 일 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 6인 경우(kb=6)의 일 예이다.
도 16a에서, 왼쪽의 행렬 및 오른쪽의 행렬은 각각 3GPP2 규격의 기본 행렬에서 확장 과정에 있는 행렬 중 패리티 부분이 이중 대각 형태로 변형된 행렬의 일부와 최종 확장된 패리티 검사 행렬의 일부를 나타낸다. 즉, 왼쪽 행렬은 최초의 기본 행렬의 행과 열에 순차적인 인덱스(index)를 사용했을 때, 이중 대각 구조의 패리티 부분을 갖도록 행과 열이 재배열된 기본 행렬의 일부분이며, 오른쪽 행렬은 최초의 기본 행렬로부터 재배열된 이중 대각 구조의 패리티 부분을 갖는 확장된 패리티 검사 행렬의 일부분이다. 한편, 이러한 과정은 이하의 실시예들에서와 같이 기본 행렬에서 패리티 부분이 이중 대각 구조를 이루게 재배열 한 뒤 최종 확장된 패리티 검사 행렬로 변형시키는 것도 가능하지만, 기본 행렬에서 이중 대각 행렬 구조의 패리티 부분을 갖는 최종 패리티 검사 행렬로 곧 바로 변형시키는 것도 가능하다.
도 16b 및 도 16c는 각각 2×2 확장 과정에서 패리티 부분을 이중 대각 구조로 변경하기 위해 열과 행을 재배열하는 경우 재배열 순서를 의미한다.
도 17a 내지 도 17c는 본 발명의 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 6인 경우(kb=6)의 다른 예이다. 도 17a에서, 왼쪽의 행렬과 오른쪽 행렬은 도 16a에서 설명된 바와 동일하고, 도 17b 및 도 17c의 설명은 각각 도 16b 및 도 16c에 대한 설명을 참조할 수 있다. 이하의 도 18a 내지 17c에서도 동일하다.
도 18a 내지 도 18c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 7인 경우(kb=7)의 일 예이다.
도 19a 내지 도 19c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 7인 경우(kb=7)의 다른 예이다.
도 20a 내지 도 20c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 8인 경우(kb=8)의 일 예이다.
도 21a 내지 도 21c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 8인 경우(kb=8)의 다른 예이다.
도 22a 내지 도 22c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 9인 경우(kb=9)의 일 예이다.
도 23a 내지 도 23c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 9인 경우(kb=9)의 다른 예이다.
도 24a 내지 도 24c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 10인 경우(kb=10)의 일 예이다.
도 25a 내지 도 25c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 10인 경우(kb=10)의 다른 예이다.
도 26a 내지 도 26c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 11인 경우(kb=11)의 일 예이다.
도 27a 내지 도 27c는 본 발명의 또 다른 실시예에 따른 행/열 재배열 방법의 예를 도시한 것으로서, 정보 블록의 개수가 11인 경우(kb=11)의 다른 예이다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명에 따르면, LDPC 부호화 및 복호화 과정에서 복잡도를 줄일 수 있고, ARQ 또는 HARQ 등과 같은 재전송 기능을 보다 간단히 지원할 수 있는 효과가 있다.

Claims (8)

  1. 패리티 검사 행렬(Parity Check Matrix)을 이용한 LDPC(Low Density Parity Check) 부호화 방법에 있어서,
    복수개의 인덱스를 포함하는 제 1 기본 행렬(base matrix)를 생성하는 단계;
    상기 제 1 기본 행렬의 인덱스들에 대해 적어도 재배열(permutation)을 적용함으로써 최종 기본 행렬을 생성하는 단계;
    상기 최종 기본 행렬의 인덱스의 각각을 대응하는 서브 행렬로 대체(replace)함으로써 상기 패리티 검사 행렬을 생성하는 단계; 및
    생성된 상기 패리티 검사 행렬을 이용하여 입력 데이터 열을 부호화함으로써 부호화된 비트 열을 출력하는 단계를 포함하고,
    상기 제 1 기본 행렬의 상기 복수개의 인덱스는 양의 정수들을 포함하고, 상기 양의 정수들은 쉬프트 값을 나타내고,
    상기 최종 기본 행렬을 생성하는 단계는,
    상기 제 1 기본 행렬의 인덱스의 각각을, 플로어링(flooring) 연산에 기초하여 결정된 다른 인덱스로 대체함으로써, 제 2 기본 행렬을 생성하는 단계;
    상기 제 2 기본 행렬의 인덱스의 각각을, 둘 이상의 인덱스들을 포함하는 인덱스 행렬로 확장(expansion)함으로써, 제 3 기본 행렬을 생성하는 단계; 및
    상기 제 3 기본 행렬에 대한 행(row) 재배열 및 열(column) 재배열을 적용함으로써, 상기 최종 기본 행렬을 생성하는 단계를 포함하는,
    부호화 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 패리티 검사 행렬의 패리티 부분(parity part)은 이중 대각(dual diagonal) 구조를 가지는, 부호화 방법.
  5. 제4항에 있어서,
    상기 패리티 부분의 적어도 하나 이상의 열의 무게(weight)는 홀수인 것을 특징으로 하는 부호화 방법.
  6. 제1항에 있어서,
    상기 부호화된 비트 열을 수신측으로 전송하는 단계를 더 포함하는, 부호화 방법.
  7. 제1항에 있어서,
    상기 제 3 기본 행렬에 대한 행 재배열 및 열 재배열은, 표 1 또는 표 2 중의 하나에 따른 재배열 패턴에 따라서 수행되고,
    i는 상기 제 3 기본 행렬의 인덱스이고,
    Ki는 멀티플렉싱 체인(multiplexing chain)의 개수로서, 상기 멀티플렉싱 체인은 재배열되는 행들의 개수를 나타내고,
    Qi는 행 재배열 패턴으로서, 상기 제 3 기본 행렬의 행들의 순서를 상기 Qi가 나타내는 순서에 따라서 재배열하는 것을 의미하고,
    Pi는 열 재배열 패턴으로서, 상기 제 3 기본 행렬의 열들의 순서를 상기 Pi가 나타내는 순서에 따라서 재배열하는 것을 의미하는, 부호화 방법.
    [표 1]
    i Ki Qi Pi 0 12 11 5 3 1 7 9 10 4 2 0 6 8 0 1 2 3 4 5 6 7 8 9 10 12 11 15 21 19 17 41 13 14 20 18 16 40 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 1 16 7 1 13 15 11 5 9 3 6 0 12 14 10 4 8 2 0 1 2 3 4 5 6 7 8 9 10 11 12 14 13 17 23 51 21 49 19 43 15 16 22 50 20 48 18 42 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 46 47 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 2 14 11 3 1 13 9 5 7 10 2 12 8 4 6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 15 19 25 23 59 21 41 17 18 24 22 58 20 40 26 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 3 18 17 15 13 9 11 5 7 1 3 16 14 12 8 10 4 6 0 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 17 21 53 27 51 25 47 23 43 19 20 52 26 50 24 46 22 42 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 48 49 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 4 18 5 17 15 11 13 9 3 7 1 4 16 14 10 12 8 2 6 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 19 23 53 29 49 27 47 25 45 21 22 52 28 48 26 46 24 44 30 31 32 33 34 35 36 37 38 39 40 41 42 43 50 51 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 5 18 11 9 17 15 7 13 5 1 3 10 8 16 14 6 12 4 0 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 21 25 55 31 53 29 51 27 41 23 24 54 30 52 28 50 26 40 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
    [표 2]
    i Ki Qi Pi 0 12 11 5 3 1 7 9 10 4 2 0 6 8 0 1 2 3 4 5 6 7 8 9 10 12 13 15 21 19 17 41 11 14 20 18 16 40 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 1 16 7 1 13 15 11 5 9 3 6 0 12 14 10 4 8 2 0 1 2 3 4 5 6 7 8 9 10 11 12 14 15 17 23 51 21 49 19 43 13 16 22 50 20 48 18 42 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 46 47 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 2 14 11 3 1 13 9 5 7 10 2 12 8 4 6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 19 25 23 59 21 41 15 18 24 22 58 20 40 26 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 3 18 17 15 13 9 11 5 7 1 3 16 14 12 8 10 4 6 0 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 21 53 27 51 25 47 23 43 17 20 52 26 50 24 46 22 42 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 48 49 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 4 18 5 17 15 11 13 9 3 7 1 4 16 14 10 12 8 2 6 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 23 53 29 49 27 47 25 45 19 22 52 28 48 26 46 24 44 30 31 32 33 34 35 36 37 38 39 40 41 42 43 50 51 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 5 18 11 9 17 15 7 13 5 1 3 10 8 16 14 6 12 4 0 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 25 55 31 53 29 51 27 41 21 24 54 30 52 28 50 26 40 32 33 34 35 36 37 38 39 42 43 44 45 46 47 48 49 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
  8. 제1항에 있어서,
    상기 제 1 기본 행렬에 포함된 복수개의 인덱스들의 각각은 제 1 서브 행렬을 지시하고,
    상기 제 2 기본 행렬에 포함된 복수개의 인덱스들의 각각은 제 2 서브 행렬을 지시하며,
    상기 제 3 기본 행렬에 포함된 복수개의 인덱스들의 각각은 제 3 서브 행렬을 지시하는, 부호화 방법.
KR1020070063353A 2007-03-27 2007-06-26 Ldpc 부호를 이용한 부호화 방법 KR101455978B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2008/001725 WO2008117994A1 (en) 2007-03-27 2008-03-27 Method of encoding data using a low density parity check code
US12/593,171 US8689088B2 (en) 2007-03-27 2008-03-27 Method of encoding data using a low density parity check code
GB0917001A GB2459828B (en) 2007-03-27 2008-03-27 Method of encoding data using a low density parity check code
GB1011308A GB2469236B (en) 2007-03-27 2008-03-27 Method of encoding data using a low density parity check code

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US90837907P 2007-03-27 2007-03-27
US60/908,379 2007-03-27
US91019007P 2007-04-04 2007-04-04
US60/910,190 2007-04-04
US91063007P 2007-04-06 2007-04-06
US60/910,630 2007-04-06
US91786707P 2007-05-14 2007-05-14
US60/917,867 2007-05-14

Publications (2)

Publication Number Publication Date
KR20080087615A KR20080087615A (ko) 2008-10-01
KR101455978B1 true KR101455978B1 (ko) 2014-11-04

Family

ID=40150233

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070063353A KR101455978B1 (ko) 2007-03-27 2007-06-26 Ldpc 부호를 이용한 부호화 방법

Country Status (3)

Country Link
US (1) US8689088B2 (ko)
KR (1) KR101455978B1 (ko)
GB (2) GB2469236B (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI390856B (zh) * 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
KR101430470B1 (ko) * 2008-01-04 2014-08-19 엘지전자 주식회사 Harq 방식을 이용하는 다중 안테나 시스템에서 신호재전송 방법
US8832518B2 (en) * 2008-02-21 2014-09-09 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US8705575B2 (en) * 2008-07-03 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements in a wireless communication system using multi-codeword transmission and ACK/NACK compression
JP5601182B2 (ja) * 2010-12-07 2014-10-08 ソニー株式会社 データ処理装置、及びデータ処理方法
US9380032B2 (en) * 2012-04-25 2016-06-28 International Business Machines Corporation Encrypting data for storage in a dispersed storage network
US10795766B2 (en) 2012-04-25 2020-10-06 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US10621044B2 (en) 2012-04-25 2020-04-14 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US10009175B2 (en) * 2012-05-23 2018-06-26 The University Of Leeds Secure communication
US9553608B2 (en) * 2013-12-20 2017-01-24 Sandisk Technologies Llc Data storage device decoder and method of operation
CN105207680B (zh) * 2014-06-20 2018-11-27 北京邮电大学 一种基于有限域本原元的准循环ldpc码的构造方法
US10164655B2 (en) * 2015-09-25 2018-12-25 Western Digital Technologies, Inc. Cache oblivious algorithm for butterfly code
EP3902142A1 (en) 2016-05-12 2021-10-27 MediaTek Inc. Qc-ldpc coding methods and apparatus
US10270466B2 (en) * 2016-08-15 2019-04-23 Hughes Network Systems, Llc LDPC performance improvement using SBE-LBD decoding method and LBD collision reduction
US10581457B2 (en) 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
US10432227B2 (en) 2017-01-24 2019-10-01 Mediatek Inc. Location of interleaver with LDPC code
US10630319B2 (en) 2017-01-24 2020-04-21 Mediatek Inc. Structure of interleaver with LDPC code
CN108429553B (zh) * 2017-02-15 2022-11-29 中兴通讯股份有限公司 极化码的编码方法、编码装置及设备
CN110535474B (zh) * 2017-05-05 2023-06-06 华为技术有限公司 信息处理的方法、通信装置
US10567116B2 (en) 2017-05-12 2020-02-18 Mediatek Inc. Wireless communication using codebooks from a QC-LDPC code for shorter processing latency and improved decoder throughput efficiency
US10484013B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for smaller code block sizes in mobile communications
US10484011B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for larger code block sizes in mobile communications
TWI690169B (zh) * 2017-06-28 2020-04-01 聯發科技股份有限公司 在移動通信中用於大碼塊尺寸的qc-ldpc碼的移位係數表設計方法
KR102395537B1 (ko) * 2017-08-18 2022-05-10 에스케이하이닉스 주식회사 H 행렬 생성 회로, 그것의 동작 방법 및 그것에 의해 생성된 h 행렬을 사용하는 에러 정정 회로
CN111404554B (zh) * 2019-09-29 2023-09-01 杭州海康威视系统技术有限公司 一种纠删码的编码矩阵生成方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289437A1 (en) * 2004-06-24 2005-12-29 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
KR20060010068A (ko) * 2004-07-27 2006-02-02 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 방법 및 부호화를 위한컴퓨터로 읽을 수 있는 기록 매체
KR20070022569A (ko) * 2005-08-22 2007-02-27 엘지전자 주식회사 Ldpc 부호화된 데이터의 송수신 장치 및 그를 이용하는변복조 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020829B2 (en) 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US6785863B2 (en) * 2002-09-18 2004-08-31 Motorola, Inc. Method and apparatus for generating parity-check bits from a symbol set
KR100936022B1 (ko) * 2002-12-21 2010-01-11 삼성전자주식회사 에러 정정을 위한 부가정보 생성 방법 및 그 장치
KR100906474B1 (ko) * 2003-01-29 2009-07-08 삼성전자주식회사 저밀도 부가정보 발생용 매트릭스를 이용한 에러 정정방법 및그 장치
US7395494B2 (en) * 2003-12-22 2008-07-01 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
JP4534128B2 (ja) * 2004-03-05 2010-09-01 ソニー株式会社 符号化方法および装置
US7260763B2 (en) * 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
KR100594818B1 (ko) 2004-04-13 2006-07-03 한국전자통신연구원 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법
KR20060032807A (ko) * 2004-10-13 2006-04-18 삼성전자주식회사 저밀도 패리티 체크 행렬 생성 방법 및 장치
KR100913876B1 (ko) 2004-12-01 2009-08-26 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치
US7343548B2 (en) * 2004-12-15 2008-03-11 Motorola, Inc. Method and apparatus for encoding and decoding data
US7793190B1 (en) * 2005-08-10 2010-09-07 Trellisware Technologies, Inc. Reduced clash GRA interleavers
US20080028271A1 (en) * 2006-07-25 2008-01-31 Legend Silicon Method for generating ldpc code for a ldpc based tds-ofdm system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289437A1 (en) * 2004-06-24 2005-12-29 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
KR20060010068A (ko) * 2004-07-27 2006-02-02 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 방법 및 부호화를 위한컴퓨터로 읽을 수 있는 기록 매체
KR20070022569A (ko) * 2005-08-22 2007-02-27 엘지전자 주식회사 Ldpc 부호화된 데이터의 송수신 장치 및 그를 이용하는변복조 방법

Also Published As

Publication number Publication date
KR20080087615A (ko) 2008-10-01
US8689088B2 (en) 2014-04-01
GB2459828B (en) 2010-11-24
GB0917001D0 (en) 2009-11-11
US20100138719A1 (en) 2010-06-03
GB2459828A (en) 2009-11-11
GB2469236A (en) 2010-10-06
GB201011308D0 (en) 2010-08-18
GB2469236B (en) 2011-02-16

Similar Documents

Publication Publication Date Title
KR101455978B1 (ko) Ldpc 부호를 이용한 부호화 방법
KR101119111B1 (ko) Ldpc 부호를 이용한 데이터 재전송 방법
KR101191196B1 (ko) 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
KR101102396B1 (ko) 이동통신 시스템에서의 코드워드 크기 정합 방법 및 송신장치
KR101154995B1 (ko) Ldpc 부호화를 수행하는 방법
US8086929B2 (en) Method of executing LDPC coding using parity check matrix
KR101253184B1 (ko) 모델 행렬을 이용하여 ldpc 부호화를 수행한 데이터를천공하는 방법
KR101265636B1 (ko) 모델 행렬을 이용하여 ldpc 복호화를 수행하는 방법
KR101128804B1 (ko) 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법
KR101276845B1 (ko) 복수의 레이어들을 이용하여 ldpc 복호화를 수행하는방법
WO2008117994A1 (en) Method of encoding data using a low density parity check code
KR101227514B1 (ko) Ldpc 부호화 및 복호화를 위한 모델 행렬을 구성하는방법
KR101162217B1 (ko) 패리티 검사 행렬을 이용하여 ldpc 부호화를 수행하는방법
KR101191197B1 (ko) 복수의 패리티 검사 행렬을 이용하여 복호화하는 방법
KR101187070B1 (ko) 패리티 검사 행렬을 이용하여 부호화하는 방법
KR101221911B1 (ko) Ldpc 부호를 이용하여 재전송을 수행하는 방법
KR101137349B1 (ko) 복수의 패리티 검사 행렬을 이용하여 부호화하는 방법
KR101187072B1 (ko) 패리티 검사 행렬을 이용한 부호화 방법
KR101319891B1 (ko) 블록 코드를 이용한 부호화가 수행된 신호를 데이터처리하는 방법
KR101221897B1 (ko) Ldpc 부호화 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
E801 Decision on dismissal of amendment
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee