KR101191196B1 - 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법 - Google Patents

패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법 Download PDF

Info

Publication number
KR101191196B1
KR101191196B1 KR1020060051166A KR20060051166A KR101191196B1 KR 101191196 B1 KR101191196 B1 KR 101191196B1 KR 1020060051166 A KR1020060051166 A KR 1020060051166A KR 20060051166 A KR20060051166 A KR 20060051166A KR 101191196 B1 KR101191196 B1 KR 101191196B1
Authority
KR
South Korea
Prior art keywords
matrix
parity
encoding
parity check
specific
Prior art date
Application number
KR1020060051166A
Other languages
English (en)
Other versions
KR20070117221A (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 KR1020060051166A priority Critical patent/KR101191196B1/ko
Priority to EP07746850.2A priority patent/EP2025063B1/en
Priority to US12/303,245 priority patent/US8151157B2/en
Priority to CN2007800145314A priority patent/CN101427473B/zh
Priority to PCT/KR2007/002758 priority patent/WO2007142476A2/en
Publication of KR20070117221A publication Critical patent/KR20070117221A/ko
Application granted granted Critical
Publication of KR101191196B1 publication Critical patent/KR101191196B1/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
    • 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
    • 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/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system

Abstract

본 발명은 LDPC(Low Density Parity Check) 부호화 방법에 관한 것으로서, 보다 상세하게는, 간단한 처리과정을 통해 정보어를 부호어로 변환시키는 패리티 검사 행렬을 사용하는 데이터의 송수신 장치 및 그를 이용하는 변복조 방법에 관한 것이다. 본원 발명은 수신 측에 전송할 정보 비트열을 패리티 검사 행렬의 특정한 제1 영역을 이용하여 부호화하는 단계; 상기 부호화된 결과에 상응하는 전송 신호를 수신 측으로 전송하는 단계; 상기 수신 측으로부터 NACK을 수신하는 경우 상기 정보 비트열을 상기 패리티 검사 행렬의 특정한 제2 영역을 이용하여 부호화하는 단계; 및 상기 제2 영역에 의한 부호화에 의하여 추가적으로 생성된 패리티 비트열에 상응하는 전송 신호를 재전송하는 단계를 포함하여 이루어지되, 상기 패리티 검사 행렬은, 하위 삼각형(lower triangle) 타입에 따라 설계된 것을 특징으로 한다.
LDPC, HARQ, 재전송, NACK, 부호율, 정보어 부분

Description

패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법{Method of encoding and decoding using a parity check matrix}
도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다.
도 2 내지 도 4는 종래 기술에 따른 재전송 기법을 나타내는 도면이다.
도 5 내지 도 6은 종래 및 본 발명에 따른 재전송 기법을 나타내는 도면이다.
도 7은 패리티 검사 행렬 상의 서브 블록의 개념을 나타내는 도면이다.
도 8은 종래에 제안된 모델 행렬의 일례이다.
도 9는 모델 행렬이 패리티 검사 행렬로 확장되는 개념을 나타내는 도면이다.
도 10은 종래 기술 및 본 발명에 따른 LDPC 복호화 방법을 나타내는 도면이다.
도 11a 내지 도 11i는 하위 삼각형 타입에 따른 다양한 모델 행렬을 나타낸다.
도 12a는 제1 실시예에서 제안하는 패리티 검사 행렬의 일례이다.
도 12b는 제1 실시예에 따라 특정한 구역으로 구분되는 패리티 검사 행렬을 나타내는 도면이다.
도 13은 모 행렬의 특정한 제1 영역을 이용하여 부호화를 수행하는 방법을 설명하는 도면이다.
도 14는 제1 실시예에 따른 송신 측이 NACK을 수신한 경우에 수행하는 부호화를 설명하는 도면이다.
도 15는 제1 실시예에서 사용하는 패리티 검사 행렬의 특징을 설명하는 도면이다.
도 16 내지 도 17은 제1 실시예에 따른 송신 측이 NACK을 수신한 경우에 수행하는 부호화를 설명하는 또 다른 도면이다.
도 18은 제1 실시예에 따른 재전송 방법의 효과를 나타내는 도면이다.
도 19a는 제1 실시예에 따른 모델 행렬의 패리티 부분을 나타내는 도면이다.
도 19b는 도 19a의 1901 영역의 패리티 부분을 나타낸 도면이다.
도 20은 제2 실시예에 따른 모델 행렬의 일례를 나타내는 도면이다.
도 21은 제2 실시예에 따라 2개의 부호율을 지원하는 모델 행렬의 일례를 나타내는 도면이다.
도 22a는 마지막 열의 무게가 짝수인 패리티 검사 행렬의 일례이다.
도 22b는 마지막 열의 무게가 짝수인 패리티 검사 행렬의 일례이다.
도 23은 제2 실시예에 따라 t개의 부호율을 지원하는 모델 행렬의 일례를 나타낸 도면이다.
도 24는 제2 실시예에 따른 성능향상을 나타내는 도면이다.
도 25는 제2 실시예에 따른 모델 행렬의 일례이다.
본 발명은 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) 한다.
이하, 본 발명과 함께 사용될 수 있는 데이터 재전송 기법에 관하여 설명한다. 상기 데이터 재전송 기법의 종류는 다양한바, 이하 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 부호의 개념을 설명하면 다음과 같다.
선형 부호는 생성행렬 G 또는 패리티 체크 행렬 H로 기술될 수 있다. 선형 부호의 특징은 모든 부호어 c 에 대하여,
Figure 112006040090430-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 행렬의 원소들을 도 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과 같다.
도 8에 도시된 바와 같이, IEEE802.16e의 구조화된 LDPC 행렬은 -1, 0 과 양의 정수의 원소들로 이루어진다. -1은 원소가 모두 0인 영 행렬(zero matrix)이며 0은 단위 행렬(identity matrix)을 나타낸다. -1과 0을 제외한 양의 정수 원소들은 양의 정수만큼 상기 단위 행렬(identity matrix)이 오른쪽으로 쉬프트(shift)된 형태의 퍼뮤테이션 행렬(permutation matrix)이다. 즉, 행렬의 구성 원소가 3이면 상기 단위 행렬을 오른쪽으로 3번 쉬프트(shift)시킨 형태의 퍼뮤테이션 행렬을 표현하는 것이다.
도 9는 상술한 양의 정수, 즉 쉬프트 넘버에 따른 행렬의 표현 방법을 나타낸 도면이다. 특정한 H 행렬을 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 112006040090430-pat00002
상기 수식에서, x는 정보어 부분(systematic part)을 나타내고, xP는 패리티 부분(parity part)을 나타낸다.
한편, 위와 같이 가우스 소거(Gaussian Reduction) 방법으로 부호화하는 경 우에는 계산량이 많아, 상기 H 행렬의 형태를 특수한 구조로 디자인(design)하여 상기 G 행렬을 유도하지 않고, 상기 H 행렬에서 직접 부호화하는 방법을 사용한다. 즉, 상기 G 행렬과 상기 H 행렬에 대한 전치(Transpose) 형태의 HT 간의 곱이 0 이라는 성질(즉,
Figure 112006040090430-pat00003
)을 이용하여, 상기 수학식 1에서 HT을 곱하면, 하기 수학식 2 같은 수학식을 얻을 수 있다. 하기 수학식 2에 부합하는 패리티 비트를 정보 비트(x) 뒤에 추가하여 코드워드 c를 얻을 수 있다.
Figure 112006040090430-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일 때 다음과 같다.
R = k/n
LDPC 부호화 및 복호화에 필요한 상기 H 행렬의 행의 크기가 m, 열의 크기가 n인 경우, 부호율은 다음과 같다.
R = 1 - m/n
상술한 바와 같이, 종래의 LDPC 부호는 상기 H 행렬에 의해 부호화 및 복호화를 수행하는바 상기 H 행렬의 구조가 매우 중요하다. 즉, 부호화 및 복호화의 성능이 상기 H 행렬의 구조에 크게 영향을 받기 때문에, 상기 H 행렬의 설계가 무엇보다 중요하다.
이하 종래 기술에 따른 문제점을 설명한다.
종래의 기술, 예를 들어 IEEE 802.16e의 LDPC 부호화 방법은 다양한 부호율(code rate)을 지원하였다. 이를 위해 종래 기술은, 각각의 부호율에 대응하는 패리티 검사 행렬 또는 모델 행렬을 부호화 장치에 저장하였다. 예를 들어, IEEE 802.16e의 경우, 1/2, 2/3A, 2/3B, 3/4A, 3/4B, 5/6의 부호율을 지원하는바, 각각의 부호율에 따른 모델 행렬을 메모리에 저장하였다.
Code rate Total nonzero weight at model matrix
1/2 76
2/3A 80
2/3B 81
3/4A 85
3/4B 88
5/6 80
종래 기술은 다수의 모델 행렬을 사용하기 때문에 상기 IR 기법에 따라 데이터를 재전송할 수 없었다. 상기 IR 기법에 따라 재전송하는 경우에는, 최초 전송시와 재전송시의 부호율이 달라져야 하는데, 서로 다른 부호율을 적용하기 위해서는 서로 다른 모델 행렬을 통해 부호화를 수행하여야 한다. 즉, 최초 전송시에 사용했던 제1 모델 행렬과 NACK 신호를 수신한 이후에 사용하는 제2 모델 행렬이 서로 상이하기 때문에, 상기 제1 모델 행렬에 의해 생성된 패리티 비트와 상기 제2 모델 행렬에 의해 생성된 패리티 비트가 상이하여 수신 단에서의 결합 수신이 불가능한 문제가 있다.
본 발명의 상술한 종래 기술의 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은, HARQ 등의 다양한 재전송 기법을 적용할 수 있는 LDPC 부호화/복호화 방법을 제공하는 것이다.
본 발명의 다른 목적은, 서로 다른 부호율을 지원하는 LDPC 부호화/복호화 방법을 제공하는 것이다.
본원 발명은 수신 측에 전송할 정보 비트열을 패리티 검사 행렬의 특정한 제1 영역을 이용하여 부호화하는 단계; 상기 부호화된 결과에 상응하는 전송 신호를 수신 측으로 전송하는 단계; 상기 수신 측으로부터 NACK을 수신하는 경우 상기 정보 비트열을 상기 패리티 검사 행렬의 특정한 제2 영역을 이용하여 부호화하는 단계; 및 상기 제2 영역에 의한 부호화에 의하여 추가적으로 생성된 패리티 비트열에 상응하는 전송 신호를 재전송하는 단계를 포함하여 이루어지되, 상기 패리티 검사 행렬은, 하위 삼각형(lower triangle) 타입에 따라 설계된 것을 특징으로 한다.
본 발명의 다른 특징은, 송신 측으로부터 수신되는 제1 수신 신호를 패리티 검사 행렬의 특정한 제1 영역을 이용하여 복호화하는 단계; 상기 복호화된 비트 열에 오류가 존재하는지 여부에 따라 상기 송신 측으로 ACK 또는 NACK 신호를 전송하는 단계; 및 상기 NACK 신호를 전송한 경우 상기 제1 수신 신호에 상기 송신 측으로부터 재전송되는 제2 수신 신호를 결합하고, 상기 결합된 신호를 상기 패리티 검사 행렬의 특정한 제2 영역을 이용하여 복호화하는 단계를 포함하여 이루어지되, 상기 패리티 검사 행렬은, 하위 삼각형(lower triangle) 타입에 따라 설계된 것을 특징으로 한다.
상술한 종래 기술의 문제점을 해결하기 위하여, 본원 발명에 따른 송신 단은, 하나의 모 행렬(mother matrix)의 특정한 제1 영역을 이용하여 부호화를 수행한다. 상기 송신 단으로부터 LDPC 부호화된 전송 신호를 수신한 본원 발명에 따른 수신 단은, 상기 제1 영역을 이용하여 복호화를 수행한다. 상기 수신 단은 복호화 결과 수신 단에 수신된 신호에 에러가 있는 경우, 상기 송신 단에 재전송을 요청한 다. 상기 송신 단은 재전송을 요청 받은 후, 상기 하나의 모 행렬(mother matrix)의 특정한 제2 영역을 이용하여 부호화를 수행하고 재전송한다. 수신 단은 최초 전송된 신호와 재전송된 신호를 결합하여 수신한후 에러여부를 판정한다.
본원 발명에 따른 송신단은, 하나의 모 행렬에 포함된 복수의 영역 중 어느 하나를 이용하여 부호화를 수행한다. 상기 특정한 영역은, 상기 특정한 영역에 의해 구현되는 채널 코딩의 부호율에 따라 결정된다.
상기 모 행렬은, 특정한 크기(z*z)의 서브 블록으로 이루어진 모델 행렬 또는 상기 모델 행렬로부터 확장되어 생성되는 패리티 검사 행렬이다. 상기 모 행렬은 하위 삼각형(Lower triangle) 타입에 따르는 것이 바람직하다. 또한, 본원 발명은 하나의 모 행렬을 통해 다양한 부호율을 지원하기 위해 종래의 패리티 검사 행렬의 구조를 변경할 것은 제안한다. 보다 구체적으로, 본원 발명에 따른 패리티 검사 행렬의 정보어 부분(systematic part)의 행(row) 또는 열(column)에 대한 무게(weight)는 특정한 영역에 따라 결정된다. 상기 특정한 영역은, 상기 패리티 검사 행렬에 따른 채널 부호의 부호율에 따라 결정되는 것이 더욱 바람직하다. 또한, 높은 부호율에 상응하는 데이터 영역에 속하는 행 또는 열에 대한 무게의 밀도는, 낮은 부호율에 상응하는 데이터 영역에 속하는 행 또는 열에 대한 무게의 밀도에 비해 더 큰 것이 바람직하다.
본 발명의 구성, 동작 및 효과는 이하에서 설명되는 본 발명의 일 실시예에 의해 구체화될 것이다. 이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 설명한다.
이하, 상술한 구조화된(structured) LDPC에 따라 특정한 z * z 크기의 서브 블록으로 패리티 검사 행렬을 나타내는 행렬을 모델 행렬(model matrix)이라 한다. 상기 모델 행렬의 각 서브 블록은 특정한 인덱스에 의해 다양한 종류의 행렬로 확장될 수 있는바, 상기 모델 행렬은 상기 인덱스를 상기 모델 행렬의 성분으로 한다. 상기 모델 행렬의 각 서브 블록은 상기 인덱스에 따라 다양한 방식으로 결정될 수 있는바, 이하에서 상기 인덱스는 특정한 크기(z*z)의 단위 행렬에 대한 쉬프트 수(shift number)인 경우를 가정한다. 또한, 상기 인덱스가 -1인 경우에는, 상기 -1의 인덱스를 갖는 서브 블록은 특정한 크기(z*z)의 영 행렬(zero matrix)이다.
상기 모델 행렬은 상기 인덱스에 따라 특정한 패리티 검사 행렬로 확장되는바, 상기 모델 행렬에 의해 부호화 및 복호화가 수행된다는 것은, 상기 모델 행렬에 의해 생성되는 특정한 패리티 검사 행렬에 의해 부호화 및 복호화가 수행되는 것을 의미한다.
제1 실시예
상술한 종래 기술에 따르면, 복수의 부호율을 지원하는 부호화/복호화 장치를 구현하기 위해서는, 상기 지원하는 부호율의 개수 만큼의 모델 행렬이 필요하다. 그러나, 본 실시예는, 하나의 모 행렬(mother matrix)을 이용하여 부호화 및 복호화를 수행한다.
상기 모 행렬은 모델 행렬 또는 패리티 검사 행렬일 수 있다. 또한, 상기 패리티 검사 행렬은 특정한 모델 행렬로부터 확장되어 생성된 것일 수 있다. 이하, 특정한 모델 행렬을 모 행렬로 하여 부호화를 수행하는 방법을 설명한다.
도 12a는 본 실시예에 따라 HARQ 기법이 적용될 수 있는 모 행렬을 나타내는 도면이다. 이하, 도 12a를 참조하여 본 실시예에 따른 모 행렬을 설명한다. 도 12a의 모 행렬을 Hb라 하는 경우, 상기 모 행렬은 정보비트(information bit)와 일대일 대응되는 정보어 부분 Hd과, 패리티 부분 Hp로 구성된다. 상기 모 행렬을 수식으로 정리하면 다음과 같다.
Figure 112006040090430-pat00005
상기 mb는 도 12a의 모 행렬에서 열 방향으로 위치하는 서브 블록의 개수를 나타낸다. 또한, 상기 kb는 상기 모 행렬의 행 방향으로 위치하는 서브 블록의 개수 nb에서 상기 mb를 뺀 값이다. 즉, 상기 모 행렬의 정보어 부분은, 서브 블록의 단위로 표현할 때, mb * kb의 크기를 갖는다. 또한, 상기 모 행렬의 패리티 부분은, 서브 블록의 단위로 표현할 때, mb * mb의 크기를 갖는다. 상기 모 행렬의 크기에 의해 부호율은 결정되는바, 부호율(R)은 R = kb/(kb+mb)에 의해 결정된다.
본 발명에서 제안하는 모 행렬(mother matrix)은 하위 삼각형(lower triangle) 타입에 따라 설계되는 것이 바람직하다. 이하, 상기 하위 삼각형 타입에 대하여 설명한다. 본 발명이 제안하는 다양한 모델 행렬은 패리티 부분에 이중 대각(dual diagonal) 성분을 갖는다. 다만, 본 발명에 따른 이중 대각 성분은 도시된 바와 같이, 하나의 대각(diagonal) 성분과 상기 대각 성분에 인접한 성분으로 이루어진다. 또한, 상기 인접한 성분은, 상기 대각 성분의 하단(lower)에 위치한다. 즉, 상기 인접한 성분은 상기 대각 성분의 좌측에 위치한다. 행렬의 성분에 대한 상하 좌우는 행렬을 보는 방향에 따라 가변적인바, 본 발명에 따른 모 행렬을 다른 방법으로 설명하면 다음과 같다.
특정한 모델 행렬을 [Hd : Hp]라 하고, 상기 모델 행렬의 패리티 부분 내에서 서브 블록의 행을 r이라 하고, 열을 c로 인덱싱하고, 특정한 서브 블록에 대한 쉬프트 수를 Ar,c라 하는 경우, 상기 인덱스 Ar,c는 r=c인 경우와 r=c+1인 경우에 '-1'이 아닌 임의의 정수를 갖는다. 즉, 특정한 모델 행렬의 패리티 부분이 16개의 서브 블록을 갖는 경우, 상기 패리티 부분은 하기 수학식 6과 같이 결정된다.
Figure 112006040090430-pat00006
상기 수식에서 xi와 yi는 임의의 정수를 나타낸다. 모델 행렬 또는 패리티 검사 행렬의 패리티 부분은, 이중 대각 성분의 설계 방법에 따라 여러 가지로 구분될 수 있으므로, 도 12a의 모 행렬은 '하위 삼각형(lower triangle) 타입'에 따라 설계되었다고 표현할 수 있다.
도 11a 내지 도 11i는 하위 삼각형 타입에 따른 다양한 모델 행렬을 나타낸다. 도 11a 내지 도 11i의 모델 행렬에서 x_1 내지 x_21, y_1 내지 y45, z1 내지 z55는 임의의 쉬프트 수(shift number)를 나타낸다. 상기 x_1 내지 x_21은 이중 대각 성분이므로 영 행렬을 의미하는 '-1'을 제외한 다양한 쉬프트 수를 가질 수 있다. 또한, 도 11a 내지 도 11i의 모델 행렬의 정보어 부분(hd-part)는 다양한 쉬프트 수를 갖을 수 있기 때문에, 구체적인 쉬프트 수에 대한 표시를 생략한다.
도 11a에 도시된 바와 같이, 모델 행렬의 이중 대각 성분과 상기 이중 대각 성분을 제외한 나머지 성분들은 서로 동일하거나 상이한 다양한 값을 갖을 수 있다. 또한, 도 11b에 도시된 바와 같이, 상기 하위 삼각형 타입에 따라 설계된 모델 행렬의 이중 대각 성분은 '0'의 쉬프트 수(shift number)일 수 있다. 도 11c 및 도 11d에 도시된 바와 같이, 상기 하위 삼각형 타입에 따라 설계된 모델 행렬의 이중 대각 성분의 상부에 위치하는 성분들은, 영 행렬(zero matrix)에 상응하는 '-1'의 쉬프트 수일 수 있다. 다만, 도 11d와 같이, 상기 하위 삼각형 타입에 따라 설계되는 모델 행렬에는, 특정한 개수의 '-1'이 아닌 성분(z1, z2, z3)이 포함될 수 있다. 도 11e는 상기 하위 삼각형 타입에 따라 설계된 모델 행렬의 또 다른 일례를 나타낸다. 도시된 바와 같이, 모델 행렬의 하부에 위치하는 성분들은, 영 행렬(zero matrix)에 상응하는 '-1'의 쉬프트 수일 수 있다. 또한, 도 11f 및 도 11g에 도시된 바와 같이, 모델 행렬의 하부에 위치하는 성분들 중 일부는, '-1'이 아닌 성분(y_1)일 수 있다. 도 11h 및 도 11i는 상기 하위 삼각형 타입에 따라 설계된 모델 행렬의 또 다른 일례를 나타낸다. 도시된 바와 같이, 상기 하위 삼각형 타 입에 따라 설계된 모델 행렬의 x_1 성분은 '0'과 '-1'이 아닌 임의의 성분일 수 있으며, 상기 임의의 성분과 동일한 열(column)에 위치하는 특정한 개수의 성분은 '-1'이 아닌 임의의 성분일 수 있다. '0'이 아닌 이중 대각 성분과 동일한 열에 위치하는 '-1'이 아닌 성분의 위치와 개수는 다양하게 정해질 수 있다. 즉, 패리티 비트를 생성하는 부호화 장치 또는 상기 모델 행렬의 정보어 부분의 구조 등에 따라 다양한 값을 갖을 수 있다.
본 발명에서 제안하는 모 행렬(mother matrix)은 복수의 구역에 따라 구분되며, 상기 각 구역의 정보어 부분은 서로 다른 무게 밀도를 갖는 것이 바람직하다.
우선, 상기 모 행렬에 구비되는 복수의 구역에 대하여 설명한다.
도 12b의 일례에서, 상기 모 행렬(1204)에 의한 부호율은 1/3이며, 상기 모 행렬(1204)의 부분 행렬들은, 1201 영역, 1202 영역, 1203 영역에 위치한다. 상기 부분 행렬은 상기 모 행렬의 일부 영역을 의미하며, 도 12b의 일례와 같이 구성된다. 즉, 상기 일부 영역(1201, 1202, 1203)에 의해 부호화되는 정보 비트의 길이와 상기 모 행렬(1204)에 의해 부호화되는 정보 비트는 동일하다. 상기 부분 행렬들은 그 크기가 상이한바, 크기에 따라 고유의 부호율을 갖는다. 예를 들어, 제1 부분 행렬(1201)은 약 3/4(정확하게는 20/27)의 부호율을 갖고, 제2 부분 행렬(1202)은 2/3의 부호율을 갖고, 제3 부분 행렬(1203)은 1/2의 부호율을 갖는다. 또한, 더 낮은 부호율을 갖는 코드워드를 생성하는 부분 행렬은, 더 높은 부호율을 갖는 코드워드를 생성하는 부분 행렬을 포함한다. 본 실시예에 따른 모 행렬은 적어도 하나 이상의 부분 행렬을 포함하는 것을 특징으로 한다. 본 실시예에서는 설명의 편의를 위해 모 행렬을 4개의 영역으로 구분하였으나, 구분되는 개수에는 제한이 없다.
본 실시예는 상술한 모 행렬을 이용하여 부호화/복호화를 수행하되, 상기 모 행렬의 전부 또는 일부 영역에 의한 부호화/복호화를 수행한다. 즉, 모 행렬 또는 적어도 하나 이상의 부분 행렬에 의하여 복수의 부호율을 지원하는 부호화/복호화를 수행한다. 예를 들어, 송신 단에 구비되는 부호화 장치는 상기 모 행렬을 메모리에 저장하고, 원하는 부호율에 따라 상기 모 행렬의 전부 또는 일부 영역을 읽어들여 부호화를 수행할 수 있다. 또한, 수신 단에 구비되는 복호화 장치는, 상기 모 행렬을 메모리에 저장하고, 송신 단에서 사용하는 부호율에 따라 상기 모 행렬의 전부 또는 일부 영역을 읽어들여 복호화를 수행할 수 있다. 즉, 종래에는 각각의 부호율에 따라 서로 다른 모델 행렬을 메모리에 저장하여 사용하였으나, 본 실시예에서 제안하는 모 행렬을 사용하여 부호화 및 복호화를 수행하는 경우, 하나의 모 행렬의 전부 또는 일부를 사용하여 부호화를 수행한다. 이러한 동작을 통해, 적은 양의 메모리를 사용하면서 다양한 종류의 부호율을 지원할 수 있다.
상술한 바와 같이, 본 실시예에 따른 모 행렬의 각 구역의 정보어 부분은 서로 다른 무게 밀도를 갖는 것이 바람직하다. 이하, 각 구역에 따라 구분되는 부분 행렬의 정보어 부분의 무게에 관하여 설명한다.
본 실시예에 따른 모 행렬의 부분 행렬의 정보어 부분의 행(row) 또는 열(column)에 대한 무게(weight)의 밀도는, 상기 각 부분 행렬에 따라 정해지는 것이 바람직하다. 상기 무게(weight)는, 특정한 행 또는 열의 0이 아닌 성분(Non-Zero) 성분의 개수를 나타낸다. 또한, 상기 무게(weight)의 밀도(density)는, 특정 한 행 또는 열에 있어서 0이 아닌 성분과 전체 성분과의 비율을 나타낸 것이다. 보다 구체적으로, 상기 제1 부분 행렬(1201)의 정보어 부분에 대한 행 또는 열의 무게의 밀도가 가장 큰 것이 바람직하고, 상기 제2 부분 행렬(1202)의 정보어 부분에 대한 행 또는 열의 무게의 밀도가 2번째로 큰 것이 바람직하고, 상기 제3 부분 행렬(1203)의 정보어 부분에 대한 행 또는 열의 무게의 밀도가 3번째로 큰 것이 바람직하고, 상기 모 행렬(1204)의 정보어 부분에 대한 행 또는 열의 무게의 밀도가 가장 작은 것이 바람직하다.
다시 말하면, 상기 모 행렬(1204)의 정보어 부분에 대한 행 또는 열의 무게의 밀도는, 부호율에 따라 결정되는 정보어 부분에 따라 상이하게 결정되는 것이 바람직하다. 또한, 높은 부호율을 지원하는 정보어 부분에 대한 행 또는 열의 무게의 밀도는, 낮은 부호율을 지원하는 정보어 부분에 대한 행 또는 열의 무게의 밀도에 비해 큰 것이 더욱 바람직하다.
이하 제1 실시예에 따른 모 행렬을 이용하여 부호화를 수행하고, 상기 부호화된 데이터를 HARQ 기법에 따라 재전송하는 방법을 설명한다.
도 13은 모 행렬의 특정한 제1 영역(1301)을 이용하여 부호화를 수행하는 방법을 설명하는 도면이다. 이하 상기 모 행렬을, 4개의 영역으로 구분하여 설명하며, 상기 4개의 영역은 도 12의 부분 행렬과 동일할 수 있다. 즉, 상기 각 영역의 정보어 부분에 대한 무게 밀도는 서로 상이한 것이 바람직하다.
우선, 송신 단은 제1 실시예에 따른 모 행렬의 제1 영역(1301)을 이용하여 부호화를 수행한다. LDPC 부호화는 체계적인(systematic) 부호화 방법이므로, 모 행렬의 정보어 부분에 상응하는 정보 비트(information bits)(Hd)들은 그대로 정보어에 포함된다. 다만, 제1 영역의 정보어 부분의 구조에 따라 산출되는 패리티 비트 p1이 정보어에 추가적으로 포함된다.
정리하면, 송신 단은 상기 제1 영역(1301)에 따라 부호화를 수행하여, 정보비트(Hd)와 패리티 비트 p1으로 이루어진 정보어를 수신 단으로 전송한다. 상기 부호화에 따른 부호율은 상기 제1 영역의 행과 열의 비율에 따라 결정되므로, 송신 단은 약 3/4 부호율(정확하게는 20/27의 부호율)로 데이터를 전송한다. 수신 단은 상기 송신 단에서 사용한 모 행렬을 이용하여 복호화를 수행한다. 상기 수신 단은 HARQ 기법에 따라 수신 데이터에 에러가 발생하지 않는 경우에는 재전송을 요구하지 않지만, 에러가 발생하는 경우에는 재전송을 요구한다. 즉, 상기 수신 단은 상기 송신 단에서 사용한 상기 제1 영역(1301)을 이용하여 복호화를 수행하며, 만약 신드롬(syndrome) 검사가 성공하는 경우에는 상기 송신 단에 재전송을 요구하지 않은 ACK 신호를 보내지만, 신드롬 검사에 실패하는 경우에는 상기 송신 단에 NACK 신호를 보내서 재전송을 요구한다.
만약, 상기 송신 단이 NACK을 수신하는 경우, 도 14와 같은 모 행렬을 이용하여 부호화를 수행한다. 상기 송신 단은 실제 부호율을 3/4에서 2/3으로 낮추기 위해, 제1 실시예에 따른 모 행렬의 제2 영역(1401)을 이용하여 부호화를 수행한다. 다만, 제1 실시예에 따른 모 행렬은 하위 삼각형 타입으로 설계되어 있으므로, 상기 제2 영역 전체(1401)를 이용하여 부호화를 수행할 필요가 없다. 즉, 상기 제2 영역 중 패리티 비트 p2에 상응하는 영역(1402)에 대한 연산을 수행하여 p2를 산출하고, 수신 단에 상기 p2 만을 전송할 수 있다.
일반적인 모델 행렬을 사용하여 부호화를 수행하는 경우에는, 1401 영역 전체에 해당하는 부호화를 다시 수행하여야 한다. 일반적인 모델 행렬의 경우, 특정한 패리티 비트를 산출하려면 정보어 부분 전체에 대한 부호화를 수행하여야 하기 때문이다. 즉, 도 13의 1301 영역 전체에 대한 계산을 수행하고 도 14의 1401 영역 전체에 대한 계산을 차례로 수행하여야 한다. 또한, 일반적인 모델 행렬을 사용하는 송신 단은 도 13의 부호화를 수행하여, Hd와 p1이 포함된 정보어를 전송하고, 도 14의 부호화를 다시 수행하여 Hd와 p1 및 p2가 모두 포함된 정보어를 전송한다. 즉, 송신단은 NACK 신호를 받기 이전에 이미 전송한 패리티 비트를 재전송하여야 한다.
그러나, 제1 실시예에 따른 모 행렬은 하위 삼각형 타입에 따라 설계된 모델 행렬이므로 추가적인 패리티 비트에 상응하는 영역(1402)만을 계산하여 추가적인 패리티 비트(p2)를 산출하고, 추가적인 패리티 비트 만을 수신단에 전송할 수 있다.
제1 실시예에 따른 모 행렬을 이용하면 부분적인 연산이 가능한 이유를 도 15를 참조하여 설명한다.
도 15는 제1 실시예에 따른 하위 삼각형 타입의 패리티 검사 행렬에 의해 부호화가 수행되는 일례를 나타낸다. 도 15의 일례는, 설명의 편의를 위해 비트 단위로 동작하는 패리티 검사 행렬을 기초로 부호화 단계를 설명하나, 본 발명에 따른 부호화 방법은 모델 행렬 및 패리티 검사 행렬에 모두 적용할 수 있고, 부호화 동작 역시 비트 단위 또는 서브 블록 단위로 수행될 수 있다.
도 15의 정보 비트는 a0, a1, a2, a3이며, 도 15의 패리티 검사 행렬에 의해 패리티 비트 p0, p1, p2, p3가 추가될 수 있다. 패리티 비트 중 첫 번째 패리티 비트 p0는 도 15의 정보어 부분 중 일부에 대한 연산을 통해 산출된다. 즉, p0는 도 15의 첫 번째 행(row)에 대한 연산(
Figure 112006040090430-pat00007
) 만을 통해 계산될 수 있다. 또한, p1은 도 15의 두 번째 행에 대한 연산(
Figure 112006040090430-pat00008
) 만을 통해 계산될 수 있다. 상기 p1을 구하는 도중에 p0 값이 필요하지만, 이미 p0는 산출되어 있는바 새롭게 구할 필요가 없다. 동일한 방법으로, p2, p3를 구할 수 있는다. 정리하면, 상기 p0를 구하기 위하여 a0, a1, a2, a3, p0를 포함하는 부호어를 생성하는 경우에는 도 15의 첫 번째 행에 대한 부호화만을 수행하면 충분하다. 만약 p0를 구한 이후에, 추가로 p1을 계산할 필요가 있는 경우에는 도 15의 첫 번째 행에 대한 부호화를 수행하지 않고 두 번째 행에 대한 부호화 만을 수행할 수 있다. 결론적으로, 제1 실시예에 따른 하위 삼각형 타입의 모 행렬을 이용하는 경우, 추가되는 패리티 비트에 상응하는 영역에 대한 연산을 수행하며, 추가되는 패리티 비트 만을 전송할 수 있다.
상기 수신 단은 상기 송신 단에서 사용한 도 14의 1401 영역을 이용하여 복 호화를 수행한다. 보다 구체적으로 상기 수신 단은 HARQ 기법 중에서 IR 기법을 사용하기 때문에, 3/4 부호율로 수신한 전송 데이터(Hd,p1)과 처음 전송에 사용되지 않았던 부호화된 데이터의 일부(p2)를 결합 수신하여 복호화를 수행한다. 만약 신드롬(syndrome) 검사가 성공하는 경우에는 상기 송신 단에 재전송을 요구하지 않은 ACK 신호를 보내지만, 신드롬 검사에 실패하는 경우에는 상기 송신 단에 NACK 신호를 보내서 재전송을 요구한다.
만약, 상기 송신 단이 2/3 부호율의 신호를 보낸 후 NACK을 수신하는 경우, 도 16과 같은 모 행렬을 이용하여 부호화를 수행한다. 즉, 상기 송신 단은 실제 부호율을 2/3에서 1/2으로 낮추기 위해, 도 16의 제3 영역(1601)을 이용하여 부호화를 수행한다. 다만, 제1 실시예에 따른 모 행렬은 하위 삼각형 타입으로 설계되어 있으므로, 상기 제3 영역 전체(1601)를 이용하여 부호화를 수행할 필요가 없다. 즉, 상기 제3 영역 중 패리티 비트 p3에 상응하는 영역(1602)에 대한 연산을 수행하여 p3를 산출하고, 수신 단에 상기 p3 만을 전송할 수 있다.
상기 수신 단은 상기 송신 단에서 사용한 도 16의 1601 영역을 이용하여 복호화를 수행한다. 보다 구체적으로 상기 수신 단은 HARQ 기법 중에서 IR 기법을 사용하기 때문에, 3/4 부호율로 수신한 전송 데이터(Hd, p1)와 최초 전송시 전송되지 않았던 패리티 비트 p2 패리티 비트 p3를 결합 수신하여 복호화를 수행한다. 만약 신드롬(syndrome) 검사가 성공하는 경우에는 상기 송신 단에 재전송을 요구하지 않 은 ACK 신호를 보내지만, 신드롬 검사에 실패하는 경우에는 상기 송신 단에 NACK 신호를 보내서 재전송을 요구한다.
만약, 상기 송신 단이 1/2 부호율의 신호를 보낸 후 NACK을 수신하는 경우, 도 17과 같은 모 행렬을 이용하여 부호화를 수행한다. 즉, 상기 송신 단은 실제 부호율을 1/2에서 1/3으로 낮추기 위해, 제1 실시예에 따른 모 행렬의 제4 영역(1701), 즉 전체 영역을 이용하여 부호화를 수행한다. 다만, 제1 실시예에 따른 모 행렬은 하위 삼각형 타입으로 설계되어 있으므로, 상기 제4 영역 전체(1701)를 이용하여 부호화를 수행할 필요가 없다. 즉, 상기 제4 영역 중 패리티 비트 p4에 상응하는 영역(1702)에 대한 연산을 수행하여 p4를 산출하고, 수신 단에 상기 p4 만을 전송할 수 있다.
상기 수신 단은 상기 송신 단에서 사용한 도 17의 1701 영역을 이용하여 복호화를 수행한다. 상기 수신 단은 HARQ 기법 중에서 IR 기법을 사용하기 때문에, 3/4 부호율로 수신한 전송 데이터(Hd,p1)과 최초 전송시 전송되지 않았던 패리티 비트 p2 패리티 비트 p3 및 패리티 비트 p4를 결합 수신하여 복호화를 수행한다. 만약 신드롬(syndrome) 검사가 성공하는 경우에는 상기 송신 단에 재전송을 요구하지 않은 ACK 신호를 보내지만, 신드롬 검사에 실패하는 경우에는 상기 송신 단에 NACK 신호를 보낸다.
제1 실시예에 따른 모 행렬은 하위 삼각형 타입에 따라 설계되었고, 복수의 구역에 따라 구분되며, 상기 각 구역의 정보어 부분은 서로 다른 무게 밀도를 갖는 것이 바람직하다. 각 구역의 정보어 부분에 대한 무게 밀도가 서로 상이하며, 높은 부호율에 상응하는 정보어 부분의 무게 밀도가 크기 때문에, 적은 양의 메모리를 통해서도 다양한 부호율을 효율적으로 지원할 수 있다.
제1 실시예의 특징은 IR 기법을 사용하여 재전송을 수행하되, 하나의 패리티 검사 행렬을 사용하여 목표 부호율을 자유롭게 선택할 수 있다는 것이다. 제1 실시예처럼 목표 부호율을 자유롭게 선택하는 통신 방법으로는 터보 부호(Turbo Code)에서 사용하는 천공(Puncturing) 기법이 있다. 상기 천공 기법과 제1 실시예를 비교하면 다음과 같다. 상기 천공 기법은 전체 모 부호에서 특정 부분을 전송하지 않는 기법이다. 상기 천공 기법에 따른 수신 단은 전송 받지 못한 부분을 불안정한 심볼 또는 비트로 취급하고 모 행렬 전체를 사용하여 복호한다. 이에 반해 제1 실시예는, 모 행렬의 일부만을 이용하여 부호화를 수행하고, 수신 단에서도 모 행렬의 일부만을 이용하여 복호화를 수행한다. 양자의 차이를 복호화의 복잡도의 관점에서 설명하면 이하와 같다. 만일, 모 행렬과 모 부호의 복호 복잡도가 100이라 하는 경우(3/4 부호율), 상기 천공 기법을 적용한 IR 기법은 100의 복호 복잡도를 갖는다. 그러나, 재1 실시예는 부호율에 따라 정해지는 모 행렬의 일부 구역에 따라 복호 복잡도가 감소한다. 예를 들어 목표 부호율이 3/4인 경우, 복호 복잡도는 32정도에 불과하다. 즉, 복호화를 위해 연산을 수행하여야 하는 모 행렬의 영역이 전체 모 행렬의 영역의 32% 이하에 불과하다. 상기 복호 복잡도가 감소하는 경우, 실제 복호장치를 구현하는 경우 구현에 따른 비용을 감소시킬 수 있다. 복호 복잡도의 감소 이외에도, 제1 실시예는 상기 천공 기법에 비해 유리한 효과를 갖는다. 상 기 천공 기법은 특정 데이터를 보내지 않았음에도, 상기 특정한 데이터를 불안정한 비트 또는 심볼로 취급하여 복호를 수행하는 바, 복호화 성능이 감소한다. 그러나 제1 실시예는 다양한 부호율을 지원하면서도, 우수한 복호 성능을 갖는다.
가령 부호율이 1/2이고 이때의 복호 복잡도를 100으로 하는 경우, 각각의 부호율에 따른 복호 복잡도는 하기 표 2와 같다.
부호율 부호화 복잡도 복호화 복잡도
Scheme 천공 기법 제1 실시예 천공 기법 제1 실시예
3/4 100% 52% 100% 52%
2/3 100% 64% 100% 64%
1/2 100% 100% 100% 100%
표 2와 같이, 종래의 천공 기법은 부호율의 높고 낮음에 상관없이 모 행렬의 부호율에 따라 부호화 복잡도와 복호화 복잡도가 결정된다. 그러나 제1 실시예는 부호율에 따라 부호화 복잡도와 복호화 복잡도가 결정되어 실제 하드웨어 구현시 비용을 줄일 수 있는 유리한 효과가 있다.
도 18은 제1 실시예에 따른 하나의 모 행렬을 사용하여 다양한 부호율을 지원하는 성능곡선을 보여주고 있다. 도시된 바와 같이, 종래의 다양한 부호화 방법에 비하여, 본 발명에 따른 부호화 방법은 대등하거나 우수한 성능을 보인다. 본 발명에 따른 부호화 방법이 더 적은 메모리를 사용함을 고려할 때 기존의 IEEE 802.16e의 저밀도 패리티 검사 부호에 비해 본원 발명이 더 우수한 성능을 보인다고 할 수 있다.
제2 실시예
상술한 제1 실시예를 개선하기 위해 제2 실시예를 제안한다. 제2 실시예는 제1 실시예를 개선하기 위해 패리티 검사 행렬의 패리티 부분의 구조를 변경할 것을 제안한다. 상기 제2 실시예는 구조화된 LDPC 부호를 이용한다. 즉, 제2 실시예에서 제안하는 패리티 검사 행렬은 특정한 크기(예를 들어, z*z)의 서브 블록들로부터 확장되어 생성된다. 제2 실시예에서 제안하는 패리티 검사 행렬에 상응하는 모델 행렬의 패리티 부분은 상술한 하위 삼각형(lower triangle) 타입에 따라 설계된다. 또한, 제2 실시예에서 제안하는 패리티 검사 행렬에 상응하는 모델 행렬의 패리티 부분의 마지막 열(column)은 복수의 0이 아닌 성분(nonzero element)을 포함하는 것을 특징으로 한다.
제2 실시예에서 제안하는 모델 행렬과 그에 상응하는 패리티 검사 행렬은 하위 삼각형 타입에 따라 설계되므로, 상술한 하위 삼각형 타입의 장점을 그대로 갖는다.
상술한 바와 같이 제2 실시예에서 제안하는 모델 행렬의 패리티 부분의 마지막 열(column)은 복수의 무게를 갖는 성분을 포함한다. 이하, 제1 실시예에 따른 모델 행렬의 특징을 설명하고, 제2 실시예에 따른 모델 행렬의 특징을 비교하여 설명한다.
도 19a는 제1 실시예에 따른 모델 행렬의 패리티 부분을 나타내는 도면이다. 도 19a의 정보어 부분은 임의의 성분을 갖는다. 또한, 제1 실시예에 따른 모델 행렬은 복수의 부호율을 지원한다. 예를 들어, 1901 영역이 특정한 제1 부호율을 지원하고, 1903 영역이 특정한 제2 부호율을 지원할 수 있다. 본 발명에서 제안하는 패리티 검사 행렬 또는 모델 행렬은 LDPC 복호화 장치에서도 사용되므로, 특정한 제1 부호율에 대하여 상기 1901 영역을 이용하여 복호화를 수행할 수 있다. 이 경우 1902 영역은 복호화 성능에 나쁜 영향을 미칠 수 있다. 1902 영역이 복호화에 미치는 영향을 도 19b를 참조하여 설명한다. 도 19b는 도 19a의 1901 영역의 패리티 부분을 나타낸 도면이다. 도 19b의 왼쪽 행렬은 패리티 부분을 모델 행렬로 나타낸 것이고, 19b의 오른쪽 행렬은 상기 모델 행렬을 확장하여 패리티 검사 행렬로 나타낸 것이다. 도 19b의 경우 특정한 서브 블록의 크기는 4*4이다. 도 19a의 1902 영역은, 도 19b의 C21 내지 C24 노드와 V21 내지 V24 노드의 영역에 상응한다. 도 19b에서 상기 C1 내지 C24 노드는 패리티 검사 행렬의 검사 노드(check node)이고, 상기 V1 내지 V24 노드는 패리티 검사 행렬의 비트 노드(variable node)이다. 도 19b에서 C1 내지 C20 노드는 적어도 두 개 이상의 비트 노드와 연결되어 있고, V1 내지 V20의 노드 역시 적어도 두 개 이상의 검사 노드와 연결되어 있다. 도 19b의 패리티 검사 행렬을 통해 복호화를 수행하는 경우, 무선 채널로부터 수신되는 수신 신호에 상응하는 확률 값은 패리티 검사 행렬의 비트 노드에 입력된다. 이 경우, 상기 V1 내지 V20 노드는 복수의 검사 노드에 연결되어 있고 상기 C1 내지 C20 노드는 복수의 비트 노드에 연결되어 있으므로, 상기 V1 내지 V20 노드에 의한 영역 내에서 오류가 발생하더라도 오류에 의한 나쁜 영향이 행렬 전체에 골고루 분산되는 유리한 점이 있다. 그러나 C21 내지 C24 노드와 V21 내지 V24 노드는 하나의 노드에만 연결되므로, 오류에 의한 나쁜 영향이 분산되지 못한다. 즉, 도 19a의 1902 영역의 구조 때문에 복호화 성능에 열화가 발생할 수 있다. 도 19a의 1902 영역과 1904 영역은 동일한 구조를 갖기 때문에, 1903 영역에 의한 복호화가 수행되는 경우, 복호화에 성능 저하를 발생시킬 수 있다.
정리하면 도 19a의 1902 및 1904 영역은 열(column)의 무게가 1이 되며, 이는 복호화 수행시에 원활한 메시지 전달의 방해가 되는 이유가 될 수 있다. 즉 제 1 실시예에 따른 패리티 검사 행렬(또는 모델 행렬)의 패리티 부분의 구조 때문에 복호화 성능이 저하될 수 있다.
제2 실시예는 이러한 제1 실시예의 특징을 개선하기 위해 제안된다. 이하, 제2 실시예에 따른 패리티 검사 행렬 및 모델 행렬을 설명한다.
도 20은 제2 실시예에 따른 모델 행렬의 일례를 나타내는 도면이다. 도 20을 참조하여 제2 실시예에 따른 모델 행렬을 설명하면 다음과 같다.
제2 실시예에 따른 모델 행렬의 패리티 부분은 이중 대각 성분을 포함하되, 하위 삼각형 타입에 따라 설계된다. 또한, 제2 실시예에 따른 모델 행렬의 패리티 부분의 마지막 열(column)은 복수의 무게를 갖는 성분(모델 행렬 상에서는 0 이상의 인덱스이고, 패리티 검사 행렬 상에서는 1이 된다.)을 포함한다. 즉, 제2 실시예에 따른 모델 행렬의 마지막 열에 대한 열 무게(column weight)는 2 이상이다. 도 20에 도시된 바와 같이 제2 실시예에 따른 모델 행렬의 마지막 열은 복수의 무게를 갖는 성분을 포함하므로, 열 무게가 2 이상이 된다. 도 20의 y1 내지 y10는 특정한 서브 행렬(또는 서브 블록)을 나타내기 위한 인덱스(즉, 쉬프트 수)이다. 상기 y1 내지 y10 중 적어도 어느 하나가 0 이상의 정수이면, 열 무게가 2 이상이 된다.
제1 실시예에 따른 모델 행렬의 패리티 부분의 마지막 열에 대한 열 무게는 1이었기 때문에 복호화를 수행하는 경우 메시지 전달에 문제가 발생하였다. 그러나 제2 실시예는 모델 행렬의 패리티 부분의 마지막 열에 복수의 무게를 갖는 성분을 포함하므로 복호화의 성능을 개선할 수 있다.
도 20의 일례는 하나의 부호율을 지원하는 모델 행렬 또는 패리티 검사 행렬에 사용될 수 있다. 다만, 제2 실시에 따른 모델 행렬 또는 패리티 검사 행렬은 복수의 부호율을 지원할 수 있다. 이하 도 21을 참조하여, 복수의 부호율을 지원하는 모델 행렬을 설명한다.
도 21은 제2 실시예에 따라 2개의 부호율을 지원하는 모델 행렬의 일례를 나타내는 도면이다. 도 21의 2101 영역은 상대적으로 높은 제1 부호율을 지원하고, 도 21의 2102 영역은 상대적으로 낮은 제2 부호율을 지원할 수 있다.
상기 제1 부호율을 위한 2101 영역에서의 마지막 열은 2103 영역에 해당하는 열이다. 따라서, 도 21의 2103 영역에는 복수의 무게를 갖는 성분이 존재한다. 즉, y1 내지 y5 중 적어도 어느 하나는 0 이상의 인덱스(즉, 쉬프트 수)에 해당한다. 도 21의 2101 영역을 이용하여 복호화를 수행하는 경우 패리티 부분의 모든 열에 대한 열 무게(column weight)가 2 이상이 되므로 복호화 성능을 향상시킬 수 있다.
상기 제2 부호율을 위한 2102 영역에서의 마지막 열은 2104 및 2105 영역에 해당하는 열이다. 따라서, 2102 영역을 이용하여 복호화를 수행하는 경우 상기 2104 및 2105 영역이 복수의 무게를 갖는 성분이 존재하는 것이 바람직하다.
정리하면 도 21의 행렬은 두 개의 영역으로 구분되고, 각 영역의 마지막 열은 복수의 무게를 갖는 성분을 포함하는 것이 바람직하다. 이러한 패리티 부분의 구조에 의하여 복호화 성능이 개선된다. 또한, 복수의 부호율을 지원하는 경우, 부호율을 변화시켜면서 H-ARQ 등의 다양한 재전송 기법을 적용할 수 있다.
다만, 제1 실시예와 같이 IR 기법을 적용하는 경우에는 패리티 부분의 마지막 열이 이하와 같이 설계되는 것이 바람직하다.
도 21에서 상기 제2 부호율에 해당하는 2102 영역에서 마지막 열은 2104 및 2105 영역에 해당하는 열이다. IR 기법이 문제되지 않는 경우에는 2104 및 2105 영역에 복수의 무게를 갖는 성분이 포함될 수 있다. 그러나, IR 기법이 적용되는 경우에는 2104 영역은 무게를 갖지 않고, 2105 영역 만이 무게를 갖는 것이 매우 바람직하다. 만약 2104 영역이 무게를 갖는 경우에는 다음과 같은 문제가 발생할 수 있다. IR 기법이 적용되는 경우에는 우선 2101 영역을 이용하여 부호화를 수행하고 2101 영역에 상응하는 정보어 비트들과 패리티 비트들을 수신 단에 전송한다. 상기 전송이 수행된 이후, 수신 단으로부터 NACK 신호가 전송되는 경우 2102 영역을 이용하여 부호화를 수행하고 추가적인 패리티 비트만을 수신 단에 전송한다. 상기 추가적인 패리티 비트 만을 전송하는 이유는, 도 21의 패리티 1(Parity 1)에 상응하는 패리티 비트들(이하 '제1 패리티 비트'라 칭함)이 부호화를 수행하는 영역에 상관없이 고정적이기 때문이다. 그러나, 2104 영역이 무게를 갖는 경우에는 패리티 비트를 생성하는 다항식에 변화가 발생하여 2101 영역에 의한 상기 제1 패리티 비트와 2102 영역에 의한 상기 제1 패리티 비트가 달라진다. 따라서, 2104 영역은 무게를 갖는 성분을 포함하지 않는 것이 바람직하고, 2105 영역은 복수의 무게를 갖는 성분을 포함하는 것이 바람직하다. 즉, 복수의 부호율을 지원하기 위해 패리티 부분이 복수의 구역으로 구분되는 경우, 낮은 부호율에 상응하는 패리티 부분의 마지막 열에 포함되는 무게를 갖는 성분은 높은 부호율에 상응하는 패리티 부분의 무게를 갖는 성분과 행(row) 방향으로 중첩되지 않는 것이 바람직하다. 즉, 무게를 갖는 성분의 행(row)이 서로 다른 것이 바람직하다.
정리하면, 복수의 부호율을 지원하기 위하여 모델 행렬 상에 복수의 구역이 존재한다. 또한, 상기 모델 행렬의 패리티 부분은 이중 대각 성분을 포함하고, 상술한 하위 삼각형 타입에 따라 설계된다. 또한, 효율적인 복호화를 위해 상기 복수의 구역 각각은 마지막 열에 복수의 무게를 갖는 성분을 포함한다. 한편, IR 기법을 적용하는 경우에는, 낮은 부호율에 상응하는 패리티 부분의 마지막 열에 포함되는 무게를 갖는 성분은 높은 부호율에 상응하는 패리티 부분의 무게를 갖는 성분과 행(row) 방향으로 중첩되지 않는(non-overlapped) 것이 바람직하다.
제2 실시예에 따른 모델 행렬의 마지막 열은 복수의 무게를 갖는 성분을 포함하기 때문에 복호화에 유리하다. 다만, 마지막 열에 포함되는 무게를 갖는 성분의 개수가 짝수인 경우에 부호화가 복잡해지는 문제가 발생할 수 있다. 즉 모델 행렬의 마지막 열에 대한 열 무게(column weight)가 짝수인 경우에 부호화 과정에 문제가 발생할 수 있다. 이하, 즉 모델 행렬의 마지막 열에 대한 열 무게(column weight)가 짝수인 경우와 홀수인 경우를 구분하여 설명한다.
도 22a는 마지막 열의 무게가 짝수인 패리티 검사 행렬의 일례이다. 도 22a 및 도 22b와 관련하여 설명의 편의를 위해 마지막 열의 무게가 짝수인 패리티 검사 행렬의 일례를 설명하지만, 본 발명은 패리티 검사 행렬과 모델 행렬 모두에 적용된다. 도 22a의 행렬을 이용하여 부호화를 수행하는 경우, 패리티 검사 행렬의 구조에 따라 패리티 비트 p1 내지 p6를 산출한다. 즉, 도 22a의 행렬에 따라 상기 p1 내지 p6 비트를 미지수로 정하여 6개의 다항식의 해를 구하면 부호화를 완성할 수 있다. 도 22a는 하위 삼각형 구조에 따라 설계된 행렬이므로 p1이 곧바로 산출되고, 이후 순차적으로 p2, p3가 산출된다. 그러나, 도 22a의 4번째 행(row)에 상응하는 다항식의 경우, 미지수 p4와 p6를 구해야 하므로, 상기 4번째 행에 상응하는 다항식의 연산만으로 p4와 p6를 구할 수 없다. 따라서, p4 내지 p6는 각 행(row)에 대한 연산에 의해 순차적으로 생성되지 못한다. 즉, 부호화 과정이 복잡해진다.
도 22b는 마지막 열의 무게가 짝수인 패리티 검사 행렬의 일례이다. 도 22b의 행렬을 이용하여 부호화를 수행하는 경우, 패리티 검사 행렬의 구조에 따라 패리티 비트 p1 내지 p6를 산출한다. 즉, 도 22b의 행렬에 따라 상기 p1 내지 p6 비트를 미지수로 정하여 6개의 다항식의 해를 구하면 부호화를 완성할 수 있다. 도 22b는 하위 삼각형 구조에 따라 설계된 행렬이므로 p1이 곧바로 산출되고, 이후 순차적으로 p2가 산출된다. 한편 도 22a의 3번째 행(row)에 상응하는 다항식의 경우, 미지수 p3와 p6를 구해야한다. 그러나, 도 22a의 3번째 행 내지 6번째 행에 상응하는 다항식들을 더하면 모든 p6 비트를 제외한 모든 패리티 비트가 소거된다. 즉 마지막 열의 무게가 홀수 이므로 마지막 열에 상응하는 패리티 비트만이 소거되지 않는다. p6가 소거되지 않으므로, p6를 용이하게 산출하고 나머지 패리티 비트 p3 내지 p5를 산출할 수 있다. 도 22b에 따른 부호화 과정을 도 22a에 따른 과정과 비교하면 부호화 과정이 간단해지는 것을 알 수 있다.
상술한 내용을 정리하면 다음과 같다. 모델 행렬의 패리티 부분을 하위 삼각형 타입에 따라 설계할때 얻을 수 있는 장점은, 모델 행렬의 정보어 부분의 일부만을 계산하여도 패리티 부분을 산출할 수 있다는 점이다. 즉, 고속의 부호화가 가능하다는 장점이 있다. 그런데 제2 실시예에 따라, 패리티 부분의 마지막 열이 복수의 무게(weight)를 갖는 경우에는 부호화 과정이 복잡해질 수 있다. 따라서, 패리티 부분의 마지막 열은 홀수 개의 무게를 포함하는 것이 더욱 바람직하다. 즉, 패리티 부분의 마지막 열은 3, 5, 7 등의 무게를 갖는 것이 바람직하다.
이하, 제2 실시예에서 제안하는 행렬에 의한 부호화를 수식을 이용하여 설명한다. 제2 실시예에서 제안하는 패리티 검사 행렬은 하기 수학식 7 및 8과 같이 정보어 비트와 일대일 대응되는 정보어 부분 Hb1 및 패리티 부분 Hb2로 표현될 수 있다.
Figure 112006040090430-pat00009
Figure 112006040090430-pat00010
부호어(codeword) x=[sp]=[s0, s1, ..., sk-1, p0, p1,..., pm-1] 에 대하여, 부호화 과정은 주어진 정보어 s를 이용하여 패리티 p를 결정하는 것이다. 부호화를 위해서 정보어 s를 z비트씩 묶어서 kb개의 그룹으로 분리할 수 있다. 즉 모델 행렬에서 하나의 서브 블록의 크기(z*z)에 따라 그룹핑을 할 수 있다. kb 개의 그룹으로 분리된 정보어 s는 다음과 같이 표현될 수 있다.
Figure 112006040090430-pat00011
여기서
Figure 112006040090430-pat00012
는 크기가 z*1인 열 벡터(column vector)이다.
정보어 비트 s를 그룹핑한 방법을 패리티 비트 v에 적용하면 다음과 같다. 패리티 비트 p는 다음과 같다.
Figure 112006040090430-pat00013
여기서
Figure 112006040090430-pat00014
는 크기가 z*1인 열 벡터(column vector)이다.
하나의 패리티 검사 행렬을 사용하여 t개의 부호어로 나누어 전송하는 경우, 패리티 p를 t개의 그룹으로 나눈다면 다음과 같이 표현할 수 있다.
Figure 112006040090430-pat00015
Figure 112006040090430-pat00016
즉, i 번째 패리티 그룹 g(i)의 Hb2 상에서의 인덱스는 도 23과 같이 나타낼 수 있다. Hb2 에서 v(mbi+1-1) 열 중에서 v(mbi)번째 행과 v(mbi+1-2)번째 행 사이에 무게를 갖는 성분을 추가한다. 이때, 추가하는 무게를 갖는 성분이 짝수 개이고, 같은 쉬프트 수를 갖는 경우 부호화 과정이 보다 간단해진다.
도 23은 제2 실시예에 따라 t개의 부호율을 지원하는 모델 행렬의 일례를 나타낸 도면이다. 상술한 바와 같이, 도 23의 일례는 하위 삼각형 타입에 따라 설계된다. 도 23의 일례는 t개의 부호율을 지원하기 위해 t개의 구역으로 구분된다. 또한, 복호화 시의 메시지 전달(message passing)을 위해 각 구역의 마지막 열은 복수개의 무게를 갖는 성분을 갖는 것이 바람직하다. 즉, 도 23의 y1 내지 y7은 0 이상의 정수를 갖는 인덱스인 것이 바람직하다.
도 23에서 t개의 구역의 마지막 열(mb1-1, mb2-1, ..., mbt-1-1, mbt-1)은 모두 복수 개의 무게를 갖는다. 또한, 상술한 바와 같이 부호화를 간단하게 하기 위해서는 각 구역의 마지막 열은 홀수개의 무게를 갖는 것이 바람직하다. 그러나, 상술한 바와 같이 IR 기법을 적용하기 위해서는, 낮은 부호율에 상응하는 패리티 부분의 마지막 열에 포함되는 무게를 갖는 성분은 높은 부호율에 상응하는 패리티 부분의 무게를 갖는 성분과 행(row) 방향으로 중첩되지 않는 것이 바람직하다. 따라서, 도 23의 mb2-1 번째 열은 IR 기법의 지원을 위해 짝수 개의 무게를 갖는 성분을 갖는다.
도 24는 제2 실시예에 따른 성능향상을 나타내는 도면이다. 제1 실시예에 따른 패리티 검사 행렬은 가변적인 부호율을 지원하기 용이하다는 장점에도 불구하고, 열 무게(column weight)가 1인 부분이 존재하여 성능을 저해하는 요인으로 작용했다. 그러나, 제2 실시예에서 제안하는 패리티 검사 행렬은 제1 실시예의 성능을 보완하여 보다 향상된 성능을 제공한다. 특히 높은 SNR 영역에서 기존의 방법에 비해 오류 마루(error floor)를 낮추는 효과를 얻을 수 있다.
도 25는 제2 실시예에 따른 모델 행렬의 일례이다. 도 25의 행렬은 2개의 부호율을 지원할 수 있으며, 상기 IR 기법을 적용할 수 있다. 또한, 복호화 시 종래 기술에 비해 향상된 성능을 갖는다.
상술한 구체적인 부호율(code rate)와 행렬의 크기 및 무게의 특성은 본 발명을 설명하기 위한 일례에 불과한바, 본 발명이 상술한 구체적인 수치에 제한되지 아니한다. 즉, 상기 부호율 등의 조건은 자유롭게 변경될 수 있다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
이하, 본 발명에 따른 효과를 설명한다.
본원 발명은, 부호율에 따라 별개의 패리티 검사 행렬을 사용하는 종래 기술에 비해서, 메모리 효율을 향상시키고, 스케줄러를 단순화시키는 유리한 효과가 있다. 본원 발명은 성능 면에서도 종래 기술과 동일하거나 향상된 성능을 보인다.
예를 들어, 종래의 IEEE 802.16e LDPC 부호가 부호율 1/3~3/4를 지원하기 위해서는 321개의 메모리가 필요하였다. 그러나, 하나의 모 행렬을 사용하고 정보어 부분을 본 발명에 따라 설계하면, 오직 155개의 메모리만으로 종래 기술에 상응하는 효과를 보인다.
도 18에 도시된 바와 같이, 종래의 다양한 부호화 방법에 비하여, 본 발명에 따른 부호화 방법은 대등하거나 우수한 성능을 보인다. 본 발명에 따른 부호화 방법이 더 적은 메모리를 사용함을 고려할 때 기존의 IEEE 802.16e의 저밀도 패리티 검사 부호에 비해 본원 발명이 더 우수한 성능을 보인다고 할 수 있다.
도 24를 보면 기존 방법에 비해 성능이 크게 개선 됨을 알 수 있다. 부호율 r=3/4, 정보어 길이(k)= 480 및 1120 일 때, 본 발명에서 제안한 방법을 적용했을 때의 성능 향상을 알 수 있다. 즉, 높은 SNR 영역에서 기존 방법에 비해 성능이 많이 개선 되었음을 알 수 있다 (k=1120, Eb/No=3.5dB 부근에서 약 0.2dB 이상의 성능향상). 도 24에서, 본 발명을 통해 높은 SNR 영역에서 발생하던 오류 마루(error floor를 낮출 수 있다.

Claims (9)

  1. 특정한 정보어 부분 및 패리티 부분을 포함하는 모델 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 있어서,
    상기 모델 행렬을 이용하여 특정한 크기의 정보 비트에 대한 부호화를 수행하는 단계; 및
    상기 부호화된 코드워드를 전송하는 단계
    를 포함하여 이루어지되,
    상기 패리티 부분은, 하위 삼각형(lower triangle) 타입에 따라 설계된 것을 특징으로 하고,
    상기 패리티 부분의 마지막 열(column)은, 무게를 갖는 성분을 홀수개(>1) 포함하는 것을 특징으로 하는,
    패리티 검사 행렬을 이용한 부호화 방법.
  2. 제1항에 있어서,
    상기 패리티 부분은, 제1 부호율에 상응하는 제1 특정 구역과 상기 제1 부호율보다 낮은 제2 부호율에 상응하는 제2 특정 구역을 포함하고, 상기 부호화 방법은:
    상기 제1 특정 구역을 이용하여 상기 정보 비트의 부호화를 수행하는 단계; 및
    상기 제2 특정 구역을 이용하여 상기 정보 비트의 부호화를 수행하는 단계를 포함하며,
    상기 제1 특정 구역은 상기 제2 특정 구역의 부분행렬인 것을 특징으로 하는,
    패리티 검사 행렬을 이용한 부호화 방법.
  3. 제2항에 있어서,
    상기 제1 특정 구역의 마지막 열과 상기 제2 특정 구역의 마지막 열 각각은, 무게를 갖는 성분을 복수 포함하는 것을 특징으로 하는,
    패리티 검사 행렬을 이용한 부호화 방법.
  4. 제3항에 있어서,
    상기 제1 특정 구역의 마지막 열과 상기 제2 특정 구역의 마지막 열 각각은, 무게를 갖는 성분을 홀수개 포함하는 것을 특징으로 하는,
    패리티 검사 행렬을 이용한 부호화 방법.
  5. 제3항에 있어서,
    상기 제1 특정 구역의 마지막 열과 상기 제2 특정 구역의 마지막 열에 위치하는 무게를 갖는 성분은, 상기 패리티 부분의 마지막 열에 위치하는 무게를 갖는 성분과 서로 상이한 행(row)에 위치하는 것을 특징으로 하는,
    패리티 검사 행렬을 이용한 부호화 방법.
  6. 제2항부터 제5항 중 어느 한 항에 있어서,
    상기 부호화된 코드워드를 전송하는 단계는,
    상기 제1 부호율에 상응하는 상기 제1 특정 구역을 이용하여 생성된 코드워드를 수신 측으로 전송하는 단계와,
    상기 수신 측으로부터 재전송 요구가 수신되는 경우, 상기 제2 부호율에 상응하는 상기 제2 특정 구역을 이용하여, 상기 제1 특정 구역을 이용하여 생성된 비트에 비해, 추가로 생성된 적어도 하나의 패리티 비트를 상기 수신 측으로 전송하는 단계를 더 포함하는 것을 특징으로 하는,
    패리티 검사 행렬을 이용한 부호화 방법.
  7. 제1항에 있어서,
    상기 패리티 부분은 이중 대각(dual diagonal) 성분을 포함하고, 상기 이중 대각 성분은 단위 행렬(identity matrix)에 상응하는 서브 블록인 것을 특징으로 하는,
    패리티 검사 행렬을 이용한 부호화 방법.
  8. 특정한 정보어 부분 및 패리티 부분을 포함하는 모델 행렬을 이용하여 LDPC 복호화를 수행하는 방법에 있어서,
    상기 부호화된 코드워드를 수신하는 단계; 및
    상기 모델 행렬을 이용하여 상기 코드워드에 대한 복호화를 수행하는 단계
    를 포함하여 이루어지되,
    상기 패리티 부분은, 하위 삼각형(lower triangle) 타입에 따라 설계된 것을 특징으로 하고,
    상기 패리티 부분의 마지막 열(column)은, 무게를 갖는 성분을 홀수개(>1) 포함하는 것을 특징으로 하는,
    패리티 검사 행렬을 이용한 복호화 방법.
  9. 제8항에 있어서,
    상기 패리트 부분은, 제1 부호율에 상응하는 제1 특정 구역과 상기 제1 부호율보다 낮은 제2 부호율에 상응하는 제2 특정 구역을 포함하고, 상기 부호화된 코드워드를 수신하는 단계는:
    상기 제1 특정 구역을 이용하여 부호화된 코드워드를 송신측으로부터 수신하는 단계;
    상기 코드워드의 복호화가 실패하는 경우, 재전송 요구를 상기 송신측으로 전송하는 단계;
    상기 제2 특정 구역을 이용하여, 상기 제1 특정 구역을 이용하여 생성된 비트에 비해, 추가로 생성된 적어도 하나의 패리티 비트를 상기 송신측으로부터 수신하는 단계를 포함하며,
    상기 제1 특정 구역은 상기 제2 특정 구역의 부분행렬이고, 상기 제1 특정 구역의 마지막 열과 상기 제2 특정 구역의 마지막 열 각각은, 무게를 갖는 성분을 복수 포함하는 것을 특징으로 하는,
    패리티 검사 행렬을 이용한 복호화 방법.
KR1020060051166A 2006-06-07 2006-06-07 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법 KR101191196B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020060051166A KR101191196B1 (ko) 2006-06-07 2006-06-07 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
EP07746850.2A EP2025063B1 (en) 2006-06-07 2007-06-07 Method of encoding/decoding using low density check code matrix
US12/303,245 US8151157B2 (en) 2006-06-07 2007-06-07 Method of encoding/decoding using low density check code matrix
CN2007800145314A CN101427473B (zh) 2006-06-07 2007-06-07 使用低密度校验码矩阵进行编码/解码的方法
PCT/KR2007/002758 WO2007142476A2 (en) 2006-06-07 2007-06-07 Method of encoding/decoding using low density check code matrix

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060051166A KR101191196B1 (ko) 2006-06-07 2006-06-07 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법

Publications (2)

Publication Number Publication Date
KR20070117221A KR20070117221A (ko) 2007-12-12
KR101191196B1 true KR101191196B1 (ko) 2012-10-15

Family

ID=38801915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060051166A KR101191196B1 (ko) 2006-06-07 2006-06-07 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법

Country Status (5)

Country Link
US (1) US8151157B2 (ko)
EP (1) EP2025063B1 (ko)
KR (1) KR101191196B1 (ko)
CN (1) CN101427473B (ko)
WO (1) WO2007142476A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210032007A (ko) * 2016-05-13 2021-03-23 지티이 코포레이션 구조화된 ldpc의 부호화 및 복호화 방법 및 장치

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ585421A (en) * 2007-11-26 2013-03-28 Sony Corp An apparatus for encoding using a low-density parity check code
KR101445080B1 (ko) * 2008-02-12 2014-09-29 삼성전자 주식회사 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치
US8788918B2 (en) 2008-03-20 2014-07-22 Marvell World Trade Ltd. Block encoding with a variable rate block code
US20110113312A1 (en) * 2008-06-09 2011-05-12 Hideki Kobayashi Check matrix generating method, check matrix, decoding apparatus, and decoding method
EP2424143A1 (en) * 2009-04-24 2012-02-29 Panasonic Corporation Wireless communication device and wireless communication method
KR101702358B1 (ko) 2011-01-06 2017-02-03 삼성전자주식회사 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR20120088369A (ko) * 2011-01-31 2012-08-08 삼성전자주식회사 방송 및 통신시스템에서 송?수신 방법 및 장치
US8839069B2 (en) * 2011-04-08 2014-09-16 Micron Technology, Inc. Encoding and decoding techniques using low-density parity check codes
CN105075128B (zh) * 2013-02-13 2018-07-17 高通股份有限公司 用于经提升ldpc码的方法、计算机可读存储介质和设备
CN103391163B (zh) * 2013-07-15 2016-08-24 北京交大微联科技有限公司 一种采用分布式喷泉码的cbtc数据发送与接收方法及系统
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
KR20170083432A (ko) * 2016-01-08 2017-07-18 삼성전자주식회사 레이트 호환 가능 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 송신 및 수신하는 장치 및 방법
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
CN109792254B (zh) * 2016-08-10 2023-09-15 交互数字专利控股公司 Harq及高级信道码
WO2018058295A1 (en) * 2016-09-27 2018-04-05 Qualcomm Incorporated Hybrid automatic repeat request for block codes
CN112187403B (zh) 2017-02-04 2022-01-14 华为技术有限公司 信息处理的方法、装置、通信设备和通信系统
US10608665B2 (en) * 2017-03-24 2020-03-31 Mediatek Inc. Method and apparatus for error correction coding in communication
CN117768059A (zh) 2017-03-30 2024-03-26 三星电子株式会社 用于通信或广播系统中的信道编码/解码的装置和方法
RU2719688C1 (ru) * 2017-03-30 2020-04-21 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ для выполнения кодирования на основе матрицы контроля по четности кода разреженного контроля по четности (ldpc) в системе беспроводной связи и терминал с его использованием
WO2018218466A1 (zh) * 2017-05-28 2018-12-06 华为技术有限公司 信息处理的方法和通信装置
CN108988870B (zh) * 2017-05-31 2021-08-31 大唐移动通信设备有限公司 Ldpc码校验矩阵的构造方法
EP3624350A4 (en) 2017-06-03 2020-06-17 Huawei Technologies Co., Ltd. INFORMATION PROCESSING PROCESS AND COMMUNICATION DEVICE
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
CN109150194B (zh) * 2017-06-27 2022-01-14 华为技术有限公司 信息处理的方法、装置和通信设备
KR102113450B1 (ko) * 2017-07-07 2020-05-20 퀄컴 인코포레이티드 저밀도 패리티 체크 코드 베이스 그래프 선택을 적용한 통신 기술
US10680764B2 (en) * 2018-02-09 2020-06-09 Qualcomm Incorporated Low-density parity check (LDPC) parity bit storage for redundancy versions
CN109298967A (zh) * 2018-10-24 2019-02-01 江苏华存电子科技有限公司 一种闪存组件错误率调变核编译码速率节省耗电量的方法
CN112751571A (zh) 2019-10-30 2021-05-04 华为技术有限公司 一种ldpc的编码方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019845A1 (en) 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100996029B1 (ko) 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
CN1771684B (zh) * 2003-05-28 2011-01-26 三菱电机株式会社 再送控制方法和通信装置
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
CN100364237C (zh) * 2004-02-09 2008-01-23 清华大学 非规则低密度奇偶校验码的系统码设计方法及其通信系统
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
WO2006039801A1 (en) 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
KR101351140B1 (ko) * 2005-11-22 2014-01-15 조지아 테크 리서치 코오포레이션 통신 시스템에서 신호 송수신 장치 및 방법
KR101119111B1 (ko) * 2006-05-04 2012-03-16 엘지전자 주식회사 Ldpc 부호를 이용한 데이터 재전송 방법
US8464120B2 (en) * 2006-10-18 2013-06-11 Panasonic Corporation Method and system for data transmission in a multiple input multiple output (MIMO) system including unbalanced lifting of a parity check matrix prior to encoding input data streams
US8196014B2 (en) * 2007-06-29 2012-06-05 Mitsubishi Electric Corporation Check matrix generating device, check matrix generating method, encoder, transmitter, decoder, and receiver
NZ585421A (en) * 2007-11-26 2013-03-28 Sony Corp An apparatus for encoding using a low-density parity check code
EP2293453B1 (en) * 2008-07-02 2015-09-23 Panasonic Intellectual Property Corporation of America Packet communication using interleaved low-density parity-check convolutional codes (LDPC-CC)

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019845A1 (en) 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210032007A (ko) * 2016-05-13 2021-03-23 지티이 코포레이션 구조화된 ldpc의 부호화 및 복호화 방법 및 장치
KR102347823B1 (ko) 2016-05-13 2022-01-05 지티이 코포레이션 구조화된 ldpc의 부호화 및 복호화 방법 및 장치

Also Published As

Publication number Publication date
EP2025063B1 (en) 2018-09-26
CN101427473A (zh) 2009-05-06
WO2007142476A3 (en) 2008-03-06
EP2025063A2 (en) 2009-02-18
WO2007142476A2 (en) 2007-12-13
US20090249157A1 (en) 2009-10-01
CN101427473B (zh) 2012-12-19
KR20070117221A (ko) 2007-12-12
US8151157B2 (en) 2012-04-03

Similar Documents

Publication Publication Date Title
KR101191196B1 (ko) 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
KR101119111B1 (ko) Ldpc 부호를 이용한 데이터 재전송 방법
KR101154995B1 (ko) Ldpc 부호화를 수행하는 방법
KR101455978B1 (ko) Ldpc 부호를 이용한 부호화 방법
US8086929B2 (en) Method of executing LDPC coding using parity check matrix
KR101265636B1 (ko) 모델 행렬을 이용하여 ldpc 복호화를 수행하는 방법
KR101128804B1 (ko) 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법
KR101227514B1 (ko) Ldpc 부호화 및 복호화를 위한 모델 행렬을 구성하는방법
KR101191197B1 (ko) 복수의 패리티 검사 행렬을 이용하여 복호화하는 방법
KR101162217B1 (ko) 패리티 검사 행렬을 이용하여 ldpc 부호화를 수행하는방법
KR20080084178A (ko) 복수의 레이어들을 이용하여 ldpc 복호화를 수행하는방법
KR101137349B1 (ko) 복수의 패리티 검사 행렬을 이용하여 부호화하는 방법
KR101221911B1 (ko) Ldpc 부호를 이용하여 재전송을 수행하는 방법
KR101187070B1 (ko) 패리티 검사 행렬을 이용하여 부호화하는 방법
KR101187072B1 (ko) 패리티 검사 행렬을 이용한 부호화 방법
KR101319891B1 (ko) 블록 코드를 이용한 부호화가 수행된 신호를 데이터처리하는 방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160923

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee