KR102240736B1 - 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 - Google Patents

길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 Download PDF

Info

Publication number
KR102240736B1
KR102240736B1 KR1020150012879A KR20150012879A KR102240736B1 KR 102240736 B1 KR102240736 B1 KR 102240736B1 KR 1020150012879 A KR1020150012879 A KR 1020150012879A KR 20150012879 A KR20150012879 A KR 20150012879A KR 102240736 B1 KR102240736 B1 KR 102240736B1
Authority
KR
South Korea
Prior art keywords
line
bit
codeword
ldpc
interleaving
Prior art date
Application number
KR1020150012879A
Other languages
English (en)
Other versions
KR20160092353A (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 KR1020150012879A priority Critical patent/KR102240736B1/ko
Priority to US14/625,563 priority patent/US9553606B2/en
Priority to CA2882456A priority patent/CA2882456C/en
Publication of KR20160092353A publication Critical patent/KR20160092353A/ko
Priority to US15/374,609 priority patent/US9806744B2/en
Priority to US15/706,469 priority patent/US10284229B2/en
Priority to US16/363,778 priority patent/US10778254B2/en
Priority to KR1020210046038A priority patent/KR102371687B1/ko
Application granted granted Critical
Publication of KR102240736B1 publication Critical patent/KR102240736B1/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/27Coding, 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 using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-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/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/27Coding, 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 using interleaving techniques
    • H03M13/2739Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6552DVB-T2

Abstract

비트 인터리버, BICM 장치 및 비트 인터리빙 방법이 개시된다. 본 발명의 일실시예에 따른 비트 인터리버는 길이가 64800이고 부호율이 3/15인 LDPC 부호어를 저장하는 제1 메모리; 상기 LDPC 부호어를, 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 사이즈의 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성하는 프로세서; 및 상기 인터리빙된 부호어를 64-심볼 맵핑을 위한 변조기로 제공하는 제2 메모리를 포함한다.

Description

길이가 64800이며, 부호율이 3/15인 LDPC 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 {BIT INTERLEAVER FOR 64-SYMBOL MAPPING AND LOW DENSITY PARITY CHECK CODEWORD WITH 64800 LENGTH, 3/15 RATE, AND METHOD USING THE SAME}
본 발명은 인터리버(interleaver)에 관한 것으로, 특히 디지털 방송 채널에서 발생한 군집오류(burst error)를 분산시키기 위한 비트 인터리버에 관한 것이다.
BICM(Bit-Interleaved Coded Modulation)은 대역-효율적인(bandwidth-efficient) 전송기술로 오류정정부호기(error-correction coder), 비트단위 인터리버(bit-by-bit interleaver) 및 높은 차수의 변조기(modulator)가 결합된 형태이다.
BICM은 오류정정부호기로 LDPC(Low-Density Parity Check) 부호기 또는 터보 부호기를 이용함으로써, 간단한 구조로 뛰어난 성능을 제공할 수 있다. 또한, BICM은 변조 차수(modulation order)와 오류정정부호의 길이 및 부호율 등을 다양하게 선택할 수 있기 때문에, 높은 수준의 플렉서빌러티(flexibility)를 제공한다. 이와 같은 장점 때문에, BICM은 DVB-T2나 DVB-NGH 와 같은 방송표준에서 사용되고 있을 뿐만 아니라 다른 차세대 방송시스템에서도 사용될 가능성이 높다.
이와 같은 장점에도 불구하고, BICM은 채널에서 발생한 군집오류(burst errors)를 비트 단위 인터리버를 통해 적절히 분산시키지 못하면, 그 성능이 급격하게 열화된다. 따라서, BICM에 사용되는 비트단위 인터리버는 변조차수나 오류정정부호의 길이 및 부호율 등에 최적화되어 설계되어야 한다.
본 발명의 목적은 방송 시스템 채널에서 발생한 군집오류(burst errors)를 효과적으로 분산시킬 수 있는 BICM 내부의 비트 인터리버를 제공하는 것이다.
또한, 본 발명의 목적은 길이가 64800이고 부호율이 3/15인 LDPC 부호기 및 64-심볼 맵핑(symbol mapping)을 수행하는 변조기에 최적화되어 ATSC 3.0 등 차세대 방송시스템에 적용될 수 있는 비트 인터리버를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 비트 인터리버는 길이가 64800이고 부호율이 3/15인 LDPC 부호어를 저장하는 제1 메모리; 상기 LDPC 부호어를, 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 사이즈의 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성하는 프로세서; 및 상기 인터리빙된 부호어를 64-심볼 맵핑을 위한 변조기로 제공하는 제2 메모리를 포함한다.
이 때, 64-심볼 맵핑은 64개의 컨스틸레이션들을 가지는 NUC(Non-Uniform Constellation) 심볼 맵핑일 수 있다.
이 때, 패러럴 팩터는 360이고, 상기 비트그룹은 360비트들을 포함할 수 있다.
이 때, LDPC 부호어는 부호어는
Figure 112015008914721-pat00001
(N ldpc 는 64800)와 같이 표현되고, 하기 수학식 9와 같이 각각 360개의 비트들로 구성된 180개의 비트그룹들로 분할될 수 있다.
[수학식 9]
Figure 112015008914721-pat00002
(X j 는 j번째 비트그룹, N ldpc 는 64800, N group 은 180)
이 때, 인터리빙은 퍼뮤테이션 오더(permutation order)를 이용한 하기 수학식 10을 이용하여 수행될 수 있다.
[수학식 10]
Figure 112015008914721-pat00003
(X j 는 j번째 비트그룹, Y j 는 인터리빙된 j번째 비트그룹, π(j)는 비트그룹 단위 인터리빙을 위한 퍼뮤테이션 오더)
이 때, 퍼뮤테이션 오더는 하기 수학식 11에 의하여 표현되는 인터리빙 시퀀스에 상응하는 것일 수 있다.
[수학식 11]
인터리빙 시퀀스
={74 72 104 62 122 35 130 0 95 150 139 151 133 109 31 59 18 148 9 105 57 132 102 100 115 101 7 21 141 30 8 1 93 92 163 108 52 159 24 89 117 88 178 113 98 179 144 156 54 164 12 63 39 22 25 137 13 41 44 80 87 111 145 23 85 166 83 55 154 20 84 58 26 126 170 103 11 33 172 155 116 169 142 70 161 47 3 162 77 19 28 97 124 6 168 107 60 76 143 121 42 157 65 43 173 56 171 90 131 119 94 5 68 138 149 73 67 53 61 4 86 99 75 36 15 48 177 167 174 51 176 81 120 158 123 34 49 128 10 134 147 96 160 50 146 16 38 78 91 152 46 127 27 175 135 79 125 82 2 129 153 14 40 32 114 106 17 110 140 71 136 112 45 64 29 69 118 66 37 165}
또한, 본 발명에 따른 비트 인터리빙 방법은 길이가 64800이고 부호율이 3/15인 LDPC 부호어를 저장하는 단계; 상기 LDPC 부호어를 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 사이즈의 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성하는 단계; 및 상기 인터리빙된 부호어를 64-심볼 맵핑을 위한 변조기로 출력하는 단계를 포함한다.
또한, 본 발명에 따른 BICM 장치는 길이가 64800이고 부호율이 3/15인 LDPC 부호어를 출력하는 오류정정 부호화기; 상기 LDPC 부호어를 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 사이즈의 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 출력하는 비트 인터리버; 및 상기 인터리빙된 부호어를 64-심볼 맵핑하는 변조기를 포함한다.
본 발명에 따르면, 방송 시스템 채널에서 발생한 군집오류(burst errors)를 효과적으로 분산시킬 수 있는 BICM 내부의 비트 인터리버가 제공된다.
또한, 본 발명은 길이가 64800이고 부효율이 3/15인 LDPC 부호기 및 64-심볼 맵핑을 수행하는 변조기에 최적화되어 ATSC 3.0 등 차세대 방송시스템에 적용될 수 있는 비트 인터리버가 제공된다.
도 1은 본 발명의 일실시예에 따른 방송 신호 송/수신 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 방송 신호 송/수신 방법을 나타낸 동작 흐름도이다.
도 3은 본 발명의 일실시예에 따른 LDPC 부호에 상응하는 패러티 검사 행렬의 구조를 나타낸 도면이다.
도 4는 길이가 64800인 LDPC 부호어의 비트그룹들을 나타낸 도면이다.
도 5는 길이가 16200인 LDPC 부호어의 비트그룹들을 나타낸 도면이다.
도 6은 인터리빙 시퀀스에 따른 비트 그룹들 단위의 인터리빙을 나타낸 도면이다.
도 7은 본 발명의 일실시예에 따른 비트 인터리버를 나타낸 블록도이다.
도 8은 본 발명의 일실시예에 따른 비트 인터리빙 방법을 나타낸 동작 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 방송 신호 송/수신 시스템을 나타낸 블록도이다.
도 1을 참조하면, BICM 장치(10)와 BICM 수신 장치(30)가 무선 채널(20)을 매개로 통신을 수행하는 것을 알 수 있다.
BICM 장치(10)는 k비트의 정보 비트들(information bits; 11)을 오류정정 부호화기(13)에서 부호화(encoding)하여 n비트의 부호어(codeword)를 생성한다. 이 때, 오류정정 부호화기(13)는 LDPC 부호화기 또는 터보 부호화기 등일 수 있다.
부호어는 비트 인터리버(14)에 의하여 인터리빙되어 인터리빙된 부호어가 생성된다.
이 때, 인터리빙은 비트그룹 단위로 수행될 수 있다. 이 때, 오류정정 부호화기(13)는 길이가 64800이고 부호율이 3/15인 LDPC 부호화기일 수 있고, 길이 64800의 부호어는 총 180개의 비트그룹들로 구분될 수 있고, 비트그룹들 각각은 LDPC 부호어의 패러럴 팩터(parallel factor)인 360개의 비트들을 포함할 수 있다.
이 때, 인터리빙은 후술할 인터리빙 시퀀스에 상응하여 비트그룹 단위로 수행될 수 있다.
이 때, 비트 인터리버(14)는 채널에서 발생한 군집오류를 효과적으로 분산시켜서 오류정정부호의 성능열화를 방지한다. 이 때, 비트 인터리버(14)는 오류정정부호의 길이 및 부호율, 그리고 변조차수에 따라서 개별적으로 설계될 수 있다.
인터리빙된 부호어는 변조기(15)에 의해 변조되어 안테나(17)를 통해 전송된다.
이 때, 변조기(15)는 심볼 맵핑장치를 포함하는 개념이다. 이 때, 변조기(15)는 64개의 컨스틸레이션(constellation)들에 코드들을 맵핑하는 64-심볼 맵핑을 수행하는 심볼 맵핑 장치일 수 있다.
이 때, 변조기(15)는 QAM(Quadrature Amplitude Modulation) 변조기 등의 균등(uniform) 변조기일 수도 있고, 비균등(non-uniform) 변조기일 수도 있다.
특히, 변조기(15)는 64개의 컨스틸레이션(constellation)들을 가지는 NUC(Non-Uniform Constellation) 심볼맵핑을 수행하는 심볼 맵핑 장치일 수 있다.
무선 채널(20)을 통해 전송된 신호는 BICM 수신 장치(30)의 안테나(31)를 통해 수신되고, BICM 수신 장치(30)에서는 BICM 장치(10)에서 일어났던 과정의 역과정을 거친다. 즉, 수신된 데이터가 복조기(33)에 의해 복조되고, 비트 디인터리버(34)에 의해 디인터리빙되고, 오류정정 복호화기(35)에 의해 복호되어 최종적으로 정보 비트들을 복원할 수 있다.
전술한 바와 같은 송/수신 과정은 본 발명의 특징을 설명하기 위해 필요한 최소한의 범위 내에서 설명된 것으로 이외에도 데이터 전송을 위해 필요한 많은 과정이 추가될 수 있음은 당업자에게 자명하다.
도 2는 본 발명의 일실시예에 따른 방송 신호 송/수신 방법을 나타낸 동작 흐름도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 방송 신호 송/수신 방법은 먼저 입력 비트들(information bits)을 오류정정 부호화한다(S210).
즉, 단계(S210)는 k비트의 정보 비트들(information bits)을 오류정정 부호화기에서 부호화하여 n비트의 부호어(codeword)를 생성한다.
이 때, 단계(S210)는 후술할 LDPC 부호화 방법과 같이 수행될 수 있다.
또한, 방송 신호 송/수신 방법은 n비트의 부호어를 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성한다(S220).
이 때, n비트의 부호어는 길이가 64800이고 부호율이 3/15인 LDPC 부호어일 수 있고, 길이 64800의 부호어는 총 180개의 비트그룹들로 구분될 수 있고, 비트그룹들 각각은 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 360개의 비트들을 포함할 수 있다.
이 때, 인터리빙은 후술할 인터리빙 시퀀스에 상응하여 비트그룹 단위로 수행될 수 있다.
또한, 방송 신호 송/수신 방법은 부호화된 데이터를 변조한다(S230).
즉, 단계(S230)는 인터리빙된 부호어를 변조기에 의해 변조한다.
이 때, 변조기는 심볼 맵핑장치를 포함하는 개념이다. 이 때, 변조기는 64개의 컨스틸레이션(constellation)들에 코드들을 맵핑하는 64-심볼 맵핑을 수행하는 심볼 맵핑 장치일 수 있다.
이 때, 변조기는 QAM(Quadrature Amplitude Modulation) 변조기 등의 균등(uniform) 변조기일 수도 있고, 비균등(non-uniform) 변조기일 수도 있다.
특히, 변조기는 64개의 컨스틸레이션(constellation)들을 가지는 NUC(Non-Uniform Constellation) 심볼맵핑을 수행하는 심볼 맵핑 장치일 수 있다.
또한, 방송 신호 송/수신 방법은 변조된 데이터를 송신한다(S240).
즉, 단계(S240)는 변조된 부호어를 안테나를 통해 무선 채널로 전송한다.
또한, 방송 신호 송/수신 방법은 수신된 데이터를 복조(demodulation)한다(S250).
즉, 단계(S250)는 수신기의 안테나를 통해 무선 채널을 통해 전송된 신호를 수신하고 수신된 데이터를 복조기에 의하여 복조한다.
또한, 방송 신호 송/수신 방법은 복조된 데이터를 디인터리빙한다(S260). 이 때, 단계(S260)의 디인터리빙은 단계(S220)의 역과정에 해당하는 것일 수 있다.
또한, 방송 신호 송/수신 방법은 디인터리빙된 부호어를 오류정정 복호화한다(S270).
즉, 단계(S270)는 수신기의 오류정정 복호기를 통해 오류정정 복호화를 수행하여 최종적으로 정보 비트들을 복원한다.
이 때, 단계(S270)는 후술할 LDPC 부호화 방법의 역과정에 해당하는 것일 수 있다.
LDPC(Low Density Parity Check) 부호는 AWGN(Additive White Gaussian Noise) 채널에서 쉐넌(Shannon) 한계에 근접하는 부호로 알려져 있으며, 터보부호보다 근사적으로(asymptotically) 우수한 성능, 병렬복호(parallelizable decoding) 등의 장점이 있다.
일반적으로, LDPC 부호는 랜덤하게 생성된 낮은 밀도의 PCM(Parity Check Matrix)에 의해 정의된다. 그러나, 랜덤하게 생성된 LDPC 부호는 PCM을 저장하기 위해 많은 메모리가 필요할 뿐만 아니라, 메모리를 액세스하는데 많은 시간이 소요된다. 이와 같은 문제를 해결하기 위해 쿼시-사이클릭(Quasi-cyclic) LDPC(QC-LDPC) 부호가 제안되었으며, 제로 메트릭스(zero matrix) 또는 CPM(Circulant Permutation Matrix)으로 구성된 QC-LDPC 부호는 하기 수학식 1에 의해 표현되는 PCM에 의해 정의된다.
[수학식 1]
Figure 112015008914721-pat00004
여기서, J는 크기가 L x L인 CPM이며 하기 수학식 2와 같이 주어진다. 이하에서, L은 360일 수 있다.
[수학식 2]
Figure 112015008914721-pat00005
또한, Ji는 L x L 항등행렬(identity matrix) I(=J0)를 오른쪽으로 i(0=i<L)번 이동시킨 것이며, J는 L x L 영행렬(zero matrix)이다. 따라서, QC-LDPC 부호에서는 Ji를 저장하기 위해 지수(exponent) i만 저장하면 되기 때문에, PCM를 저장하기 위해 요구되는 메모리가 크게 줄어든다.
도 3은 본 발명의 일실시예에 따른 LDPC 부호에 상응하는 패러티 검사 행렬의 구조를 나타낸 도면이다.
도 3을 참조하면, 행렬 A와 C의 크기는 각각 g x K와 (N-K-g) x (K+g)이며, 크기가 L x L인 영행렬과 CPM으로 구성된다. 또한, 행렬 z는 크기가 g x (N-K-g)인 영행렬이고, 행렬 D는 크기가 (N-K-g) x (N-K-g)인 항등행렬(identity matrix)이며, 행렬 B는 크기가 g x g인 이중 대각행렬(dual diagonal matrix)이다. 이 때, 행렬 B는 대각선의 원소와 대각선의 아래쪽에 이웃하는 원소들 이외의 모든 원소들이 모두 0인 행렬일 수도 있고, 하기 수학식 3과 같이 정의될 수도 있다.
[수학식 3]
Figure 112015008914721-pat00006
여기서, ILxL는 크기가 L x L인 항등행렬이다.
즉, 행렬 B는 일반적인(bit-wise) 이중 대각행렬일 수도 있고, 상기 수학식 3에 표기된 바와 같이 항등행렬을 블록으로 하는 블럭와이즈(block-wise) 이중 대각행렬일 수도 있다. 일반적인(bit-wise) 이중 대각행렬에 대해서는 한국공개특허 2007-0058438호 등에 상세히 개시되어 있다.
특히, 행렬 B가 일반적인(bit-wise) 이중 대각행렬인 경우, 이러한 행렬 B를 포함하는 도 3에 도시된 구조의 PCM에 행 퍼뮤테이션(row permutation) 또는 열 퍼뮤테이션(column permutation)을 적용하여 쿼시 사이클릭으로 변환할 수 있음은 당업자에게 자명하다.
이 때, N은 부호어(codeword)의 길이이며, K는 정보(information)의 길이를 각각 나타낸다.
본 발명에서는 아래 표 1과 같이 부호율(code rate)이 3/15이며, 부호어의 길이가 64800인 새롭게 설계된 QC-LDPC 부호를 제안한다. 즉, 길이가 12960인 정보를 입력 받아, 길이가 64800인 LDPC 부호어를 생성하는 LDPC 부호를 제안한다.
표 1은 본 발명의 QC-LDPC 부호의 A, B, C, D, Z 행렬의 크기를 나타낸다.
[표 1]
Figure 112015008914721-pat00007
새롭게 설계된 LDPC 부호는 수열 형태로 표시될 수 있으며, 수열과 행렬(패러티 비트 체크 행렬)은 등가(equivalent) 관계가 성립하고, 수열은 하기 테이블과 같이 표현될 수 있다.
[테이블]
제1행: 920 963 1307 2648 6529 17455 18883 19848 19909 24149 24249 38395 41589 48032 50313
제2행: 297 736 744 5951 8438 9881 15522 16462 23036 25071 34915 41193 42975 43412 49612
제3행: 10 223 879 4662 6400 8691 14561 16626 17408 22810 31795 32580 43639 45223 47511
제4행: 629 842 1666 3150 7596 9465 12327 18649 19052 19279 29743 30197 40106 48371 51155
제5행: 857 953 1116 8725 8726 10508 17112 21007 30649 32113 36962 39254 46636 49599 50099
제6행: 700 894 1128 5527 6216 15123 21510 24584 29026 31416 37158 38460 42511 46932 51832
제7행: 430 592 1521 3018 10430 18090 18092 18388 20017 34383 35006 38255 41700 42158 45211
제8행: 91 1485 1733 11624 12969 17531 21324 23657 27148 27509 28753 35093 43352 48104 51648
제9행: 18 34 117 6739 8679 11018 12163 16733 24113 25906 30605 32700 36465 40799 43359
제10행: 481 1545 1644 4216 4606 6015 6609 14659 16966 18056 19137 26670 28001 30668 49061
제11행: 174 1208 1387 10580 11507 13751 16344 22735 23559 26492 27672 33399 44787 44842 45992
제12행: 1151 1185 1472 6727 10701 14755 15688 17441 21281 23692 23994 31366 35854 37301 43148
제13행: 200 799 1583 3451 5880 7604 8194 13428 16109 18584 20463 22373 31977 47073 50087
제14행: 346 843 1352 13409 17376 18233 19119 19382 20578 24183 32052 32912 43204 48539 49893
제15행: 76 457 1169 13516 14520 14638 22391 25294 31067 31325 36711 44072 44854 49274 51624
제16행: 759 798 1420 6661 12101 12573 13796 15510 18384 26649 30875 36856 38994 43634 49281
제17행: 551 797 1000 3999 10040 11246 15793 23298 23822 38480 39209 45334 46603 46625 47633
제18행: 441 875 1554 5336 25948 28842 30329 31503 39203 39673 46250 47021 48555 49229 51421
제19행: 963 1470 1642 3180 3943 6513 9125 15641 17083 18876 28499 32764 42420 43922 45762
제20행: 293 324 867 8803 10582 17926 19830 22497 24848 30034 34659 37721 41523 42534 47806
제21행: 687 975 1356 2721 3002 3874 4119 12336 17119 21251 22482 22833 24681 26225 48514
제22행: 549 951 1268 9144 11710 12623 18949 19362 22769 32603 34559 34683 36338 47140 51069
제23행: 52 890 1669 3905 5670 14712 18314 22297 30328 33389 35447 35512 35516 40587 41918
제24행: 656 1063 1694 3338 3793 4513 6009 7441 13393 20920 26501 27576 29623 31261 42093
제25행: 425 1018 1086 9226 10024 17552 24714 24877 25853 28918 30945 31205 33103 42564 47214
제26행: 32 1145 1438 4916 4945 14830 17505 19919 24118 28506 30173 31754 34230 48608 50291
제27행: 559 1216 1272 2856 8703 9371 9708 16180 19127 24337 26390 36649 41105 42988 44096
제28행: 362 658 1191 7769 8998 14068 15921 18471 18780 31995 32798 32864 37293 39468 44308
제29행: 1136 1389 1785 8800 12541 14723 15210 15859 26569 30127 31357 32898 38760 50523 51715
제30행: 44 80 1368 2010 2228 6614 6767 9275 25237 30208 39537 42041 49906 50701 51199
제31행: 1522 1536 1765 3914 5350 10869 12278 12886 16379 22743 23987 26306 30966 33854 41356
제32행: 212 648 709 3443 7007 7545 12484 13358 17008 20433 25862 31945 39207 39752 40313
제33행: 789 1062 1431 12280 17415 18098 23729 37278 38454 38763 41039 44600 50700 51139 51696
제34행: 825 1298 1391 4882 12738 17569 19177 19896 27401 37041 39181 39199 41832 43636 45775
제35행: 992 1053 1485 3806 16929 18596 22017 23435 23932 30211 30390 34469 37213 46220 49646
제36행: 771 850 1039 5180 7653 13547 17980 23365 25318 34374 36115 38753 42993 49696 51031
제37행: 7383 14780 15959 18921 22579 28612 32038 36727 40851 41947 42707 50480
제38행: 8733 9464 13148 13899 19396 22933 23039 25047 29938 33588 33796 48930
제39행: 2493 12555 16706 23905 35400 36330 37065 38866 40305 43807 43917 50621
제40행: 6437 11927 14542 16617 17317 17755 18832 24772 29273 31136 36925 46663
제41행: 2191 3431 6288 6430 9908 13069 23014 24822 29818 39914 46010 47246
수열형태로 표기된 LDPC 부호는 DVB 표준에서 널리 사용되고 있다.
본 발명의 일실시예에 따르면, 수열형태로 표기된 LDPC 부호는 다음과 같이 부호화(encoding)된다. 정보크기(information size)가 K인 정보블록(information block) S=(s0, s1, ..., sK - 1)를 가정하자. LDPC 부호화기(encoder)는 크기가 K인 정보블록 S를 이용하여 크기가 N=K+M1+M2인 부호어(codeword)
Figure 112015008914721-pat00008
를 생성한다. 여기서, M1=g, M2=N-K-g이다. 또한, M1은 이중 대각행렬(dual diagonal matrix) B에 대응하는 패러티(parity)의 크기이며, M2는 항등행렬 D에 대응하는 패러티의 크기이다. 부호화 과정은 다음과 같다.
-초기화(initialization):
[수학식 4]
Figure 112015008914721-pat00009
-첫 번째
Figure 112015008914721-pat00010
를 상기 테이블의 수열의 제1행에 명시된 패러티 비트 주소들(parity bit addresses)에서 누적(accumulate)한다. 예를 들어, 길이가 64800이며, 부호율이 3/15인 LDPC 부호에서의 누적 과정은 다음과 같다.
Figure 112015008914721-pat00011
여기서 덧셈(
Figure 112015008914721-pat00012
)은 GF(2)에서 일어난다.
-다음 L-1개의 정보비트, 즉
Figure 112015008914721-pat00013
들에 대해서는, 하기 수학식 5에서 계산된 패러티 비트 주소들에서 누적한다.
[수학식 5]
Figure 112015008914721-pat00014
여기서, x는 첫 번째 비트
Figure 112015008914721-pat00015
에 대응되는 패러티 비트 주소들, 즉 상기 테이블의 수열의 제1행에 표기된 패러티 비트 주소들을 나타내며, Q1 = M1/L, Q2 = M2/L, L = 360이다. 또한, Q1과 Q2는 하기 표 2에 정의된다. 예를 들어, 길이가 64800이며, 부호율이 3/15인 LDPC 부호는 M1 = 1800, Q1 = 5, M2 = 50040, Q2 = 139, L = 360이므로, 두 번째 비트
Figure 112015008914721-pat00016
에 대해서는 상기 수학식 5를 이용하면 다음과 같은 연산이 수행된다.
Figure 112015008914721-pat00017
표 2는 설계된 QC-LDPC 부호의 M1, M2, Q1, Q2의 크기를 나타낸다.
[표 2]
Figure 112015008914721-pat00018
-다음의
Figure 112015008914721-pat00019
부터
Figure 112015008914721-pat00020
까지의 새로운 360개의 정보비트들은 상기 수열의 제2행을 이용하여, 상기 수학식 5로부터 패러티 비트 누적기들의 주소를 계산하고, 누적한다.
-비슷한 방법으로, 새로운 L개의 정보비트들로 구성된 모든 그룹(group)들에 대해서, 상기 수열들의 새로운 행을 이용하여, 상기 수학식 5로부터 패러티 비트 누적기들의 주소를 계산하고, 누적한다.
-
Figure 112015008914721-pat00021
에서
Figure 112015008914721-pat00022
까지의 모든 정보비트들이 사용된 후, i = 1부터 시작하여 하기 수학식 6의 연산을 순차적으로 수행한다.
[수학식 6]
Figure 112015008914721-pat00023
-다음으로, 하기 수학식 7과 같은 패러티 인터리빙(interleaving)을 수행하면, 이중 대각행렬 B에 대응하는 패러티 생성이 완료된다.
[수학식 7]
Figure 112015008914721-pat00024
K개의 정보비트(
Figure 112015008914721-pat00025
)를 이용하여 이중 대각행렬 B에 대응하는 패러티 생성이 완료되면, M1개의 생성된 패러티(
Figure 112015008914721-pat00026
)을 이용하여, 항등행렬 D에 대응하는 패러티를 생성한다.
-
Figure 112015008914721-pat00027
에서
Figure 112015008914721-pat00028
까지의 L개의 비트들로 구성된 모든 그룹(group)들에 대해서, 상기 수열들의 새로운 행(이중 대각행렬 B에 대응하는 패러티를 생성할 때 이용한 마지막 행의 바로 다음 행부터 시작)과 상기 수학식 5를 이용하여 패러티 비트 누적기들의 주소를 계산하고, 관련 연산을 수행한다.
-
Figure 112015008914721-pat00029
에서
Figure 112015008914721-pat00030
까지의 모든 비트들이 사용된 후, 하기 수학식 8과 같은 패러티 인터리빙을 수행하면, 항등행렬 D에 대응하는 패러티 생성이 완료된다.
[수학식 8]
Figure 112015008914721-pat00031
도 4는 길이가 64800인 LDPC 부호어의 비트그룹들을 나타낸 도면이다.
도 4를 참조하면, 길이가 64800인 LDPC 부호어가 180개의 비트그룹들(0th group ~ 179th group)로 구분되는 것을 알 수 있다.
이 때, 360은 LDPC 부호어의 패러럴 팩터(Parallel Factor; PF)일수 있다. 즉, PF가 360이기 때문에, 길이가 64800인 LDPC 부호어는 도 4에 도시된 바와 같이 180개의 비트그룹들로 구분되고, 각각의 비트그룹들은 360비트들을 포함한다.
도 5는 길이가 16200인 LDPC 부호어의 비트그룹들을 나타낸 도면이다.
도 5를 참조하면, 길이가 16200인 LDPC 부호어가 45개의 비트그룹들(0th group ~ 44th group)으로 구분되는 것을 알 수 있다.
이 때, 360은 LDPC 부호어의 패러럴 팩터(Parallel Factor; PF)일수 있다. 즉, PF가 360이기 때문에, 길이가 16200인 LDPC 부호어는 도 5에 도시된 바와 같이 45개의 비트그룹들로 구분되고, 각각의 비트그룹들은 360비트들을 포함한다.
도 6은 인터리빙 시퀀스에 따른 비트 그룹들 단위의 인터리빙을 나타낸 도면이다.
도 6을 참조하면, 설계된 인터리빙 시퀀스에 의해 비트그룹의 순서를 바꿈으로써 인터리빙이 수행되는 것을 알 수 있다.
예를 들어, 길이가 16200인 LDPC 부호어에 대한 인터리빙 시퀀스가 아래와 같다고 가정하자.
인터리빙 시퀀스 = {24 34 15 11 2 28 17 25 5 38 19 13 6 39 1 14 33 37 29 12 42 31 30 32 36 40 26 35 44 4 16 8 20 43 21 7 0 18 23 3 10 41 9 27 22}
그러면, 도 4에 도시된 것과 같은 LDPC 부호어의 비트그룹들의 순서는 인터리빙 시퀀스에 의해 도 6에 도시된 것처럼 바뀐다.
즉, LDPC 부호어(610) 및 인터리빙된 부호어(620)가 각각 45개의 비트그룹들을 포함하고, 인터리빙 시퀀스에 의해 LDPC 부호어(610)의 24번째 비트그룹이 인터리빙된 LDPC 부호어(620)의 0번째 비트그룹이 되고, LDPC 부호어(610)의 34번째 비트그룹이 인터리빙된 LDPC 부호어(620)의 1번째 비트그룹이 되고, LDPC 부호어(610)의 15번째 비트그룹이 인터리빙된 LDPC 부호어(620)의 2번째 비트그룹이 되고, LDPC 부호어(610)의 11번째 비트그룹이 인터리빙된 LDPC 부호어(620)의 3번째 비트그룹이 되고, LDPC 부호어(610)의 2번째 비트그룹이 인터리빙된 LDPC 부호어(620)의 4번째 비트그룹이 되는 것을 알 수 있다.
길이가 N ldpc 인 LDPC 부호어
Figure 112015008914721-pat00032
N group = N ldpc / 360 개의 비트그룹들로 쪼개어진다.
[수학식 9]
Figure 112015008914721-pat00033
여기서, X j 는 j번째 비트그룹을 나타내며, 각각의 X j 는 360 비트들로 구성된다.
비트그룹들로 분할된 LDPC 부호어는 하기 수학식 10과 같이 인터리빙된다.
[수학식 10]
Figure 112015008914721-pat00034
여기서, Y j 는 인터리빙된 j번째 비트그룹을 나타내며, π(j)는 비트그룹 단위 인터리빙을 위한 퍼뮤테이션 오더(permutation order)이다. 퍼뮤테이션 오더는 하기 수학식 11의 인터리빙 시퀀스에 대응한다.
[수학식 11]
인터리빙 시퀀스
={74 72 104 62 122 35 130 0 95 150 139 151 133 109 31 59 18 148 9 105 57 132 102 100 115 101 7 21 141 30 8 1 93 92 163 108 52 159 24 89 117 88 178 113 98 179 144 156 54 164 12 63 39 22 25 137 13 41 44 80 87 111 145 23 85 166 83 55 154 20 84 58 26 126 170 103 11 33 172 155 116 169 142 70 161 47 3 162 77 19 28 97 124 6 168 107 60 76 143 121 42 157 65 43 173 56 171 90 131 119 94 5 68 138 149 73 67 53 61 4 86 99 75 36 15 48 177 167 174 51 176 81 120 158 123 34 49 128 10 134 147 96 160 50 146 16 38 78 91 152 46 127 27 175 135 79 125 82 2 129 153 14 40 32 114 106 17 110 140 71 136 112 45 64 29 69 118 66 37 165}
즉, 부호어 및 인터리빙된 부호어 각각이 0번째 비트그룹부터 179번째 비트그룹까지 180개의 비트그룹들을 포함한다고 할 때, 수학식 11의 인터리빙 시퀀스는 부호어의 74번째 비트그룹이 인터리빙된 부호어의 0번째 비트그룹이 되고, 부호어의 72번째 비트그룹이 인터리빙된 부호어의 1번째 비트그룹이 되고, 부호어의 104번째 비트그룹이 인터리빙된 부호어의 2번째 비트그룹이 되고, 부호어의 62번째 비트그룹이 인터리빙된 부호어의 3번째 비트그룹이 되고, ..., 부호어의 37번째 비트그룹이 인터리빙된 부호어의 178번째 비트그룹이 되고, 부호어의 165번째 비트그룹이 인터리빙된 부호어의 179번째 비트그룹이 됨을 의미한다.
특히, 수학식 11에 나타내어진 인터리빙 시퀀스는 64-심볼 맵핑(특히, NUC 심볼 맵핑)이 사용되고, 길이가 64800이고 부호율이 3/15인 LDPC 부호기가 사용되는 경우에 최적화된 것이다.
도 7은 본 발명의 일실시예에 따른 비트 인터리버를 나타낸 블록도이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 비트 인터리버는 메모리들(710, 730) 및 프로세서(720)를 포함한다.
메모리(710)는 길이가 64800이고 부호율이 3/15인 LDPC 부호어를 저장한다.
프로세서(720)는 상기 LDPC 부호어를, 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성한다.
이 때, 패러럴 팩터는 360일 수 있다. 이 때, 비트그룹은 360 비트들을 포함할 수 있다.
이 때, LDPC 부호어는 상기 수학식 9와 같이 180개의 비트그룹들로 분할될 수 있다.
이 때, 인터리빙은 퍼뮤테이션 오더(permutation order)를 이용한 상기 수학식 10을 이용하여 수행될 수 있다.
이 때, 퍼뮤테이션 오더는 상기 수학식 11에 의하여 표현되는 인터리빙 시퀀스에 상응하는 것일 수 있다.
메모리(730)는 상기 인터리빙된 부호어를 64-심볼 맵핑을 위한 변조기로 제공한다.
이 때, 변조기는 NUC(Non-Uniform Constellation) 심볼 맵핑을 수행하는 심볼 맵핑 장치일 수 있다.
메모리(710) 및 메모리(730)는 비트들의 집합을 저장하기 위한 다양한 하드웨어에 상응하는 것일 수도 있고, 어레이(array), 리스트(list), 스택(stack), 큐(queue) 등의 자료구조(data structure)에 상응하는 것일 수도 있다.
이 때, 메모리(710) 및 메모리(730)는 물리적으로 별개의 장치가 아니라, 물리적으로는 하나의 장치의 서로 다른 주소에 상응하는 것일 수 있다. 즉, 메모리(710) 및 메모리(730)는 물리적으로는 구분되지 않고, 논리적으로만 구분되는 것일 수 있다.
도 1에 도시된 오류정정 부호화기(13)는 도 7과 같은 구조로 구현될 수도 있다.
즉, 오류정정 부호화기는 메모리들 및 프로세서를 포함할 수 있다. 이 때, 제1 메모리는 길이가 64800이고 부호율이 3/15인 LDPC 부호어(codeword)를 저장하기 위한 메모리이고, 제2 메모리는 0으로 초기화되는 메모리일 수 있다.
메모리들은 각각 λi(i=0, 1, ..., N-1) 및 Pj(j=0, 1, ..., M1+M2-1)에 상응하는 것일 수 있다.
프로세서는 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 상기 메모리에 대한 누적(accumulation)을 수행하여, 정보 비트들(information bits)에 상응하는 상기 LDPC 부호어를 생성할 수 있다.
이 때, 누적은 상기 테이블의 수열을 이용하여 갱신되는 패러티 비트 주소들(parity bit addresses)에서 수행될 수 있다.
이 때, LDPC 부호어는 상기 정보 비트들에 상응하고 길이가 12960(=K)인 시스터매틱(systematic) 파트(λ0, λ1, ..., λK -1), 패러티 검사 행렬에 포함된 이중 대각행렬에 상응하고 길이가 1800(=M1=g)인 제1 패러티 파트(λK, λK + 1, ..., λK +M1-1) 및 상기 패러티 검사 행렬에 포함된 항등행렬에 상응하고 길이가 50040(=M2)인 제2 패러티 파트(λK +M1, λK +M1+ 1, ..., λK +M1+M2- 1)를 포함할 수 있다.
이 때, 수열은 상기 시스터매틱 파트의 길이인 12960을 상기 패러티 검사 행렬에 상응하는 CPM 사이즈(L)인 360으로 나눈 값에 제1 패러티 파트의 길이(M1)인 1800을 360으로 나눈 값을 더한 수(12960/360+1800/360=41)만큼의 행들(rows)을 가질 수 있다.
전술한 바와 같이, 수열은 상기 테이블로 표현될 수 있다.
이 때, 제2 메모리는 제1 패러티 파트의 길이(M1) 및 제2 패러티 파트의 길이(M2)의 합(M1+M2)에 상응하는 사이즈를 가질 수 있다.
이 때, 패러티 비트 주소들은 상기 수열의 각각의 행에 나타내진 이전 패러티 비트 주소들 각각(x)과 제1 패러티 파트의 길이(M1)를 비교한 결과에 기반하여 갱신될 수 있다.
즉, 패러티 비트 주소들은 상기 수학식 5에 의하여 갱신될 수 있다. 이 때, x는 이전 패러티 비트 주소, m은 정보 비트 인덱스로 0보다 크고 L보다 작은 정수, L은 상기 패러티 검사 행렬의 CPM 사이즈, Q1은 M1/L, M1은 상기 제1 패러티 파트의 사이즈, Q2는 M2/L, M2는 상기 제2 패러티 파트의 사이즈일 수 있다.
이 때, 상기 누적은 전술한 바와 같이 상기 패러티 검사 행렬의 CPM 사이즈 L=360 단위로 수열의 행을 바꿔가면서 수행될 수 있다.
이 때, 제1 패러티 파트(λK, λK+1, ..., λK+M1-1)는 상기 수학식 7을 통하여 설명한 바와 같이, 제1 메모리 및 제2 메모리를 이용한, 패러티 인터리빙(parity interleaving)을 수행하여 생성될 수 있다.
이 때, 제2 패러티 파트(λK +M1, λK +M1+ 1, ..., λK +M1+M2- 1)는 상기 수학식 8을 통하여 설명한 바와 같이 제1 패러티 파트(λK, λK+1, ..., λK+M1-1)의 생성이 완료된 후 상기 제1 패러티 파트(λK, λK+1, ..., λK+M1-1)와 상기 수열을 이용하여 수행되는 상기 누적이 완료된 후, 제1 메모리 및 제2 메모리를 이용한 패러티 인터리빙(parity interleaving)을 수행하여 생성될 수 있다.
도 8은 본 발명의 일실시예에 따른 비트 인터리빙 방법을 나타낸 동작 흐름도이다.
도 8을 참조하면, 본 발명의 일실시예에 따른 비트 인터리빙 방법은 길이가 64800이고 부호율이 3/15인 LDPC 부호어를 저장한다(S810).
이 때, LDPC 부호어는
Figure 112015008914721-pat00035
(N ldpc 는 64800)와 같이 표현되고, 상기 수학식 9와 같이 각각 360개의 비트들로 구성된 180개의 비트그룹들로 분할될 수 있다.
또한, 본 발명의 일실시예에 따른 비트 인터리빙 방법은 상기 LDPC 부호어를 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 사이즈의 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성한다(S820).
이 때, 인터리빙은 퍼뮤테이션 오더(permutation order)를 이용한 상기 수학식 10을 이용하여 수행될 수 있다.
이 때, 퍼뮤테이션 오더는 상기 수학식 11에 의하여 표현되는 인터리빙 시퀀스에 상응하는 것일 수 있다.
이 때, 패러럴 팩터는 360이고, 비트그룹은 360 비트들을 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 비트 인터리빙 방법은 상기 인터리빙된 부호어를 64-심볼 맵핑을 위한 변조기로 출력한다(S830).
이상에서와 같이 본 발명에 따른 비트 인터리버, BICM 장치 및 비트 인터리빙 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
710, 730: 메모리
720: 프로세서

Claims (6)

  1. 길이가 64800이고 부호율이 3/15인 LDPC 부호어를 저장하는 제1 메모리;
    상기 LDPC 부호어를, 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성하는 프로세서; 및
    상기 인터리빙된 부호어를, 64-심볼 맵핑이 수행되기 전에 저장하는 제2 메모리를 포함하고,
    상기 인터리빙은
    퍼뮤테이션 오더(permutation order)를 이용한 하기 수학식을 이용하여 수행되고,
    [수학식]
    Figure 112020100702174-pat00047

    (Xj 는 j번째 비트그룹, Yj 는 인터리빙된 j번째 비트그룹, π(j)는 비트그룹 단위 인터리빙을 위한 퍼뮤테이션 오더)
    상기 퍼뮤테이션 오더는
    하기 인터리빙 시퀀스에 상응하는 것을 특징으로 하는 비트 인터리버.
    인터리빙 시퀀스
    ={74 72 104 62 122 35 130 0 95 150 139 151 133 109 31 59 18 148 9 105 57 132 102 100 115 101 7 21 141 30 8 1 93 92 163 108 52 159 24 89 117 88 178 113 98 179 144 156 54 164 12 63 39 22 25 137 13 41 44 80 87 111 145 23 85 166 83 55 154 20 84 58 26 126 170 103 11 33 172 155 116 169 142 70 161 47 3 162 77 19 28 97 124 6 168 107 60 76 143 121 42 157 65 43 173 56 171 90 131 119 94 5 68 138 149 73 67 53 61 4 86 99 75 36 15 48 177 167 174 51 176 81 120 158 123 34 49 128 10 134 147 96 160 50 146 16 38 78 91 152 46 127 27 175 135 79 125 82 2 129 153 14 40 32 114 106 17 110 140 71 136 112 45 64 29 69 118 66 37 165}
  2. 청구항 1에 있어서,
    상기 64-심볼 맵핑은 64개의 컨스틸레이션들을 가지는 NUC(Non-Uniform Constellation) 심볼 맵핑인 것을 특징으로 하는 비트 인터리버.
  3. 청구항 2에 있어서,
    상기 비트그룹은 360비트들을 포함하는 것을 특징으로 하는 비트 인터리버.
  4. 청구항 3에 있어서,
    상기 LDPC 부호어는
    Figure 112015008914721-pat00036
    (N ldpc 는 64800)와 같이 표현되고, 하기 수학식과 같이 각각 360개의 비트들로 구성된 180개의 비트그룹들로 분할되는 것을 특징으로 하는 비트 인터리버.
    [수학식]
    Figure 112015008914721-pat00037

    (X j 는 j번째 비트그룹, N ldpc 는 64800, N group 은 180)
  5. 청구항 1에 있어서,
    상기 LDPC 부호어는 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 생성되고, 상기 수열은 하기 테이블로 표현되는 것을 특징으로 하는 비트 인터리버.
    [테이블]
    제1행: 920 963 1307 2648 6529 17455 18883 19848 19909 24149 24249 38395 41589 48032 50313
    제2행: 297 736 744 5951 8438 9881 15522 16462 23036 25071 34915 41193 42975 43412 49612
    제3행: 10 223 879 4662 6400 8691 14561 16626 17408 22810 31795 32580 43639 45223 47511
    제4행: 629 842 1666 3150 7596 9465 12327 18649 19052 19279 29743 30197 40106 48371 51155
    제5행: 857 953 1116 8725 8726 10508 17112 21007 30649 32113 36962 39254 46636 49599 50099
    제6행: 700 894 1128 5527 6216 15123 21510 24584 29026 31416 37158 38460 42511 46932 51832
    제7행: 430 592 1521 3018 10430 18090 18092 18388 20017 34383 35006 38255 41700 42158 45211
    제8행: 91 1485 1733 11624 12969 17531 21324 23657 27148 27509 28753 35093 43352 48104 51648
    제9행: 18 34 117 6739 8679 11018 12163 16733 24113 25906 30605 32700 36465 40799 43359
    제10행: 481 1545 1644 4216 4606 6015 6609 14659 16966 18056 19137 26670 28001 30668 49061
    제11행: 174 1208 1387 10580 11507 13751 16344 22735 23559 26492 27672 33399 44787 44842 45992
    제12행: 1151 1185 1472 6727 10701 14755 15688 17441 21281 23692 23994 31366 35854 37301 43148
    제13행: 200 799 1583 3451 5880 7604 8194 13428 16109 18584 20463 22373 31977 47073 50087
    제14행: 346 843 1352 13409 17376 18233 19119 19382 20578 24183 32052 32912 43204 48539 49893
    제15행: 76 457 1169 13516 14520 14638 22391 25294 31067 31325 36711 44072 44854 49274 51624
    제16행: 759 798 1420 6661 12101 12573 13796 15510 18384 26649 30875 36856 38994 43634 49281
    제17행: 551 797 1000 3999 10040 11246 15793 23298 23822 38480 39209 45334 46603 46625 47633
    제18행: 441 875 1554 5336 25948 28842 30329 31503 39203 39673 46250 47021 48555 49229 51421
    제19행: 963 1470 1642 3180 3943 6513 9125 15641 17083 18876 28499 32764 42420 43922 45762
    제20행: 293 324 867 8803 10582 17926 19830 22497 24848 30034 34659 37721 41523 42534 47806
    제21행: 687 975 1356 2721 3002 3874 4119 12336 17119 21251 22482 22833 24681 26225 48514
    제22행: 549 951 1268 9144 11710 12623 18949 19362 22769 32603 34559 34683 36338 47140 51069
    제23행: 52 890 1669 3905 5670 14712 18314 22297 30328 33389 35447 35512 35516 40587 41918
    제24행: 656 1063 1694 3338 3793 4513 6009 7441 13393 20920 26501 27576 29623 31261 42093
    제25행: 425 1018 1086 9226 10024 17552 24714 24877 25853 28918 30945 31205 33103 42564 47214
    제26행: 32 1145 1438 4916 4945 14830 17505 19919 24118 28506 30173 31754 34230 48608 50291
    제27행: 559 1216 1272 2856 8703 9371 9708 16180 19127 24337 26390 36649 41105 42988 44096
    제28행: 362 658 1191 7769 8998 14068 15921 18471 18780 31995 32798 32864 37293 39468 44308
    제29행: 1136 1389 1785 8800 12541 14723 15210 15859 26569 30127 31357 32898 38760 50523 51715
    제30행: 44 80 1368 2010 2228 6614 6767 9275 25237 30208 39537 42041 49906 50701 51199
    제31행: 1522 1536 1765 3914 5350 10869 12278 12886 16379 22743 23987 26306 30966 33854 41356
    제32행: 212 648 709 3443 7007 7545 12484 13358 17008 20433 25862 31945 39207 39752 40313
    제33행: 789 1062 1431 12280 17415 18098 23729 37278 38454 38763 41039 44600 50700 51139 51696
    제34행: 825 1298 1391 4882 12738 17569 19177 19896 27401 37041 39181 39199 41832 43636 45775
    제35행: 992 1053 1485 3806 16929 18596 22017 23435 23932 30211 30390 34469 37213 46220 49646
    제36행: 771 850 1039 5180 7653 13547 17980 23365 25318 34374 36115 38753 42993 49696 51031
    제37행: 7383 14780 15959 18921 22579 28612 32038 36727 40851 41947 42707 50480
    제38행: 8733 9464 13148 13899 19396 22933 23039 25047 29938 33588 33796 48930
    제39행: 2493 12555 16706 23905 35400 36330 37065 38866 40305 43807 43917 50621
    제40행: 6437 11927 14542 16617 17317 17755 18832 24772 29273 31136 36925 46663
    제41행: 2191 3431 6288 6430 9908 13069 23014 24822 29818 39914 46010 47246
  6. 삭제
KR1020150012879A 2015-01-27 2015-01-27 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 KR102240736B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020150012879A KR102240736B1 (ko) 2015-01-27 2015-01-27 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
US14/625,563 US9553606B2 (en) 2015-01-27 2015-02-18 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 3/15 and 64-symbol mapping, and bit interleaving method using same
CA2882456A CA2882456C (en) 2015-01-27 2015-02-19 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 3/15 and 64-symbol mapping, and bit interleaving method using same
US15/374,609 US9806744B2 (en) 2015-01-27 2016-12-09 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 3/15 and 64-symbol mapping, and bit interleaving method using same
US15/706,469 US10284229B2 (en) 2015-01-27 2017-09-15 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 3/15 and 64-symbol mapping, and bit interleaving method using same
US16/363,778 US10778254B2 (en) 2015-01-27 2019-03-25 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 3/15 and 64-symbol mapping, and bit interleaving method using same
KR1020210046038A KR102371687B1 (ko) 2015-01-27 2021-04-08 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150012879A KR102240736B1 (ko) 2015-01-27 2015-01-27 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210046038A Division KR102371687B1 (ko) 2015-01-27 2021-04-08 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법

Publications (2)

Publication Number Publication Date
KR20160092353A KR20160092353A (ko) 2016-08-04
KR102240736B1 true KR102240736B1 (ko) 2021-04-16

Family

ID=56434285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150012879A KR102240736B1 (ko) 2015-01-27 2015-01-27 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법

Country Status (3)

Country Link
US (4) US9553606B2 (ko)
KR (1) KR102240736B1 (ko)
CA (1) CA2882456C (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102240748B1 (ko) * 2015-01-20 2021-04-16 한국전자통신연구원 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102240744B1 (ko) * 2015-01-27 2021-04-16 한국전자통신연구원 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102287635B1 (ko) * 2015-02-17 2021-08-10 한국전자통신연구원 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102287639B1 (ko) * 2015-02-17 2021-08-10 한국전자통신연구원 길이가 16200이며, 부호율이 4/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100683600B1 (ko) 2002-07-03 2007-02-16 휴우즈 일렉트로닉스 코오포레이션 구조화된 패리티 검사 행렬을 사용하여 저밀도 패리티검사(ldpc) 코드를 인코딩하는 방법
EP2299704B1 (en) 2008-05-29 2019-11-27 Electronics and Telecommunications Research Institute Method and apparatus for transmitting broadcasting-communication data
EP2134051A1 (en) 2008-06-13 2009-12-16 THOMSON Licensing An adaptive QAM transmission scheme for improving performance on an AWGN channel
KR20090130808A (ko) 2008-06-16 2009-12-24 한국전자통신연구원 디지털 케이블 송수신 시스템에서 적응/가변형 변복조 장치
JP5500379B2 (ja) 2010-09-03 2014-05-21 ソニー株式会社 データ処理装置、及びデータ処理方法
EP2525495A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
US9806742B2 (en) * 2013-05-02 2017-10-31 Sony Corporation Data processing device and data processing method
KR20150005426A (ko) * 2013-07-05 2015-01-14 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
KR20150005853A (ko) * 2013-07-05 2015-01-15 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
US9735809B2 (en) * 2013-09-26 2017-08-15 Samsung Electronics Co., Ltd. Transmitting apparatus and signal processing method thereof
US9602137B2 (en) * 2014-02-19 2017-03-21 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9143375B1 (en) * 2014-03-09 2015-09-22 Allen LeRoy Limberg Iterative-diversity COFDM broadcasting with improved shaping gain
US20150358648A1 (en) * 2014-06-09 2015-12-10 Allen LeRoy Limberg Digital television broadcasting system using coded orthogonal frequency-division modulation and multilevel LDPC convolutional coding
US20160204804A1 (en) 2015-01-13 2016-07-14 Sony Corporation Data processing apparatus and method

Also Published As

Publication number Publication date
CA2882456A1 (en) 2016-07-27
US10778254B2 (en) 2020-09-15
CA2882456C (en) 2021-04-27
KR20160092353A (ko) 2016-08-04
US10284229B2 (en) 2019-05-07
US20190222232A1 (en) 2019-07-18
US20170126250A1 (en) 2017-05-04
US9553606B2 (en) 2017-01-24
US9806744B2 (en) 2017-10-31
US20160218741A1 (en) 2016-07-28
US20180006665A1 (en) 2018-01-04

Similar Documents

Publication Publication Date Title
KR102395201B1 (ko) 길이가 16200이며, 부호율이 10/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429464B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102240745B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102557439B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102554694B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 1024-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102546122B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 64-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102240728B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102546120B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102240741B1 (ko) 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102240748B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102240744B1 (ko) 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102546119B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 256-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102546125B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102536693B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법
KR102240750B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102240736B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102240740B1 (ko) 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102546121B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102536692B1 (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법
KR102554678B1 (ko) 길이가 64800이며, 부호율이 5/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102371687B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102538291B1 (ko) 길이가 64800이며, 부호율이 5/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법
KR102546124B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 1024-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102538292B1 (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 qpsk를 위한 bicm 수신 장치 및 이를 이용한 방법
KR102429517B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right