KR102260748B1 - 길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 - Google Patents

길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 Download PDF

Info

Publication number
KR102260748B1
KR102260748B1 KR1020150002166A KR20150002166A KR102260748B1 KR 102260748 B1 KR102260748 B1 KR 102260748B1 KR 1020150002166 A KR1020150002166 A KR 1020150002166A KR 20150002166 A KR20150002166 A KR 20150002166A KR 102260748 B1 KR102260748 B1 KR 102260748B1
Authority
KR
South Korea
Prior art keywords
line
bit
codeword
ldpc
interleaving
Prior art date
Application number
KR1020150002166A
Other languages
English (en)
Other versions
KR20150090832A (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 US14/606,949 priority Critical patent/US9577678B2/en
Priority to CA2997251A priority patent/CA2997251C/en
Priority to CA2880594A priority patent/CA2880594C/en
Priority to MX2015001342A priority patent/MX345597B/es
Publication of KR20150090832A publication Critical patent/KR20150090832A/ko
Priority to US15/402,107 priority patent/US10419031B2/en
Priority to US16/542,035 priority patent/US11038534B2/en
Priority to US17/323,949 priority patent/US11398839B2/en
Priority to KR1020210067597A priority patent/KR102395220B1/ko
Application granted granted Critical
Publication of KR102260748B1 publication Critical patent/KR102260748B1/ko
Priority to US17/845,614 priority patent/US11677421B2/en
Priority to US18/309,278 priority patent/US11923872B2/en

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/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/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/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/1105Decoding
    • 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]
    • 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
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • H04L27/22Demodulator circuits; Receiver circuits

Abstract

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

Description

길이가 64800이며, 부호율이 7/15인 LDPC 부호어 및 QPSK를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 {BIT INTERLEAVER FOR QPSK AND LOW DENSITY PARITY CHECK CODEWORD WITH 64800 LENGTH, 7/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이고 부호율이 7/15인 LDPC 부호기 및 QPSK 변조를 수행하는 QPSK 변조기에 최적화되어 ATSC 3.0 등 차세대 방송시스템에 적용될 수 있는 비트 인터리버를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 비트 인터리버는 길이가 64800이고 부호율이 7/15인 LDPC 부호어를 저장하는 제1 메모리; 상기 LDPC 부호어를, 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 사이즈의 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성하는 프로세서; 및 상기 인터리빙된 부호어를 QPSK 변조를 위한 변조기로 제공하는 제2 메모리를 포함한다 한다.
이 때, 패러럴 팩터는 360이고, 상기 비트그룹은 360비트들을 포함할 수 있다.
이 때, LDPC 부호어는 부호어는
Figure 112015001590184-pat00001
(N ldpc 는 64800)와 같이 표현되고, 하기 수학식 9와 같이 각각 360개의 비트들로 구성된 180개의 비트그룹들로 분할될 수 있다.
[수학식 9]
Figure 112015001590184-pat00002
(X j 는 j번째 비트그룹, N ldpc 는 64800, N group 은 180)
이 때, 인터리빙은 퍼뮤테이션 오더(permutation order)를 이용한 하기 수학식 10을 이용하여 수행될 수 있다.
[수학식 10]
Figure 112015001590184-pat00003
(X j 는 j번째 비트그룹, Y j 는 인터리빙된 j번째 비트그룹, π(j)는 비트그룹 단위 인터리빙을 위한 퍼뮤테이션 오더)
이 때, 퍼뮤테이션 오더는 하기 수학식 11에 의하여 표현되는 인터리빙 시퀀스에 상응하는 것일 수 있다.
[수학식 11]
인터리빙 시퀀스
={152 172 113 167 100 163 159 144 114 47 161 125 99 89 179 123 149 177 1 132 37 26 16 57 166 81 133 112 33 151 117 83 52 178 85 124 143 28 59 130 31 157 170 44 61 102 155 111 153 55 54 176 17 68 169 20 104 38 147 7 174 6 90 15 56 120 13 34 48 122 110 154 76 64 75 84 162 77 103 156 128 150 87 27 42 3 23 96 171 145 91 24 78 5 69 175 8 29 106 137 131 43 93 160 108 164 12 140 71 63 141 109 129 82 80 173 105 9 66 65 92 32 41 72 74 4 36 94 67 158 10 88 142 45 126 2 86 118 73 79 121 148 95 70 51 53 21 115 135 25 168 11 136 18 138 134 119 146 0 97 22 165 40 19 60 46 14 49 139 58 101 39 116 127 30 98 50 107 35 62}
또한, 본 발명에 따른 비트 인터리빙 방법은 길이가 64800이고 부호율이 7/15인 LDPC 부호어를 저장하는 단계; 상기 LDPC 부호어를 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 사이즈의 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성하는 단계; 및 상기 인터리빙된 부호어를 QPSK 변조를 위한 변조기로 출력하는 단계를 포함한다.
또한, 본 발명에 따른 BICM 장치는 길이가 64800이고 부호율이 7/15인 LDPC 부호어를 출력하는 오류정정 부호화기; 상기 LDPC 부호어를 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 사이즈의 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 출력하는 비트 인터리버; 및 상기 인터리빙된 부호어를 QPSK 변조하는 변조기를 포함한다.
본 발명에 따르면, 방송 시스템 채널에서 발생한 군집오류(burst errors)를 효과적으로 분산시킬 수 있는 BICM 내부의 비트 인터리버가 제공된다.
또한, 본 발명은 길이가 64800이고 부효율이 7/15인 LDPC 부호기 및 QPSK 변조를 수행하는 QPSK 변조기에 최적화되어 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이고 부호율이 7/15인 LDPC 부호화기일 수 있고, 길이 64800의 부호어는 총 180개의 비트그룹들로 구분될 수 있고, 비트그룹들 각각은 LDPC 부호어의 패러럴 팩터(parallel factor)인 360개의 비트들을 포함할 수 있다.
이 때, 인터리빙은 후술할 인터리빙 시퀀스에 상응하여 비트그룹 단위로 수행될 수 있다.
이 때, 비트 인터리버(14)는 채널에서 발생한 군집오류를 효과적으로 분산시켜서 오류정정부호의 성능열화를 방지한다. 이 때, 비트 인터리버(14)는 오류정정부호의 길이 및 부호율, 그리고 변조차수에 따라서 개별적으로 설계될 수 있다.
인터리빙된 부호어는 변조기(15)에 의해 변조되어 안테나(17)를 통해 전송된다. 이 때, 변조기(15)는 QPSK(Quadrature Phase Shift Keying) 변조기일 수 있다. 이 때, 변조기(15)는 심볼매핑장치를 포함하는 개념이다. 이 때, 변조기(15)는 QAM(Quadrature Amplitude Modulation) 변조기 등의 균등(uniform) 변조기일 수도 있고, 비균등(non-uniform) 변조기일 수도 있다.
무선 채널(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이고 부호율이 7/15인 LDPC 부호어일 수 있고, 길이 64800의 부호어는 총 180개의 비트그룹들로 구분될 수 있고, 비트그룹들 각각은 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 360개의 비트들을 포함할 수 있다.
이 때, 인터리빙은 후술할 인터리빙 시퀀스에 상응하여 비트그룹 단위로 수행될 수 있다.
또한, 방송 신호 송/수신 방법은 부호화된 데이터를 변조한다(S230).
즉, 단계(S220)는 인터리빙된 부호어를 변조기에 의해 변조한다.
이 때, 변조기는 QPSK(Quadrature Phase Shift Keying) 변조기일 수 있다. 이 때, 변조기는 심볼매핑장치를 포함하는 개념이다. 이 때, 변조기는 QAM(Quadrature Amplitude Modulation) 변조기 등의 균등(uniform) 변조기일 수도 있고, 비균등(non-uniform) 변조기일 수도 있다.
또한, 방송 신호 송/수신 방법은 변조된 데이터를 송신한다(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 112015001590184-pat00004
여기서, J는 크기가 L x L인 CPM이며 하기 수학식 2와 같이 주어진다. 이하에서, L은 360일 수 있다.
[수학식 2]
Figure 112015001590184-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 112015001590184-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)이 7/15이며, 부호어의 길이가 64800인 새롭게 설계된 QC-LDPC 부호를 제안한다. 즉, 길이가 30240인 정보를 입력 받아, 길이가 64800인 LDPC 부호어를 생성하는 LDPC 부호를 제안한다.
표 1은 본 발명의 QC-LDPC 부호의 A, B, C, D, Z 행렬의 크기를 나타낸다.
[표 1]
Figure 112015001590184-pat00007
새롭게 설계된 LDPC 부호는 수열 형태로 표시될 수 있으며, 수열과 행렬(패러티 비트 체크 행렬)은 등가(equivalent) 관계가 성립하고, 수열은 하기 테이블과 같이 표현될 수 있다.
[테이블]
제1행: 460 792 1007 4580 11452 13130 26882 27020 32439
제2행: 35 472 1056 7154 12700 13326 13414 16828 19102
제3행: 45 440 772 4854 7863 26945 27684 28651 31875
제4행: 744 812 892 1509 9018 12925 14140 21357 25106
제5행: 271 474 761 4268 6706 9609 19701 19707 24870
제6행: 223 477 662 1987 9247 18376 22148 24948 27694
제7행: 44 379 786 8823 12322 14666 16377 28688 29924
제8행: 104 219 562 5832 19665 20615 21043 22759 32180
제9행: 41 43 870 7963 13718 14136 17216 30470 33428
제10행: 592 744 887 4513 6192 18116 19482 25032 34095
제11행: 456 821 1078 7162 7443 8774 15567 17243 33085
제12행: 151 666 977 6946 10358 11172 18129 19777 32234
제13행: 236 793 870 2001 6805 9047 13877 30131 34252
제14행: 297 698 772 3449 4204 11608 22950 26071 27512
제15행: 202 428 474 3205 3726 6223 7708 20214 25283
제16행: 139 719 915 1447 2938 11864 15932 21748 28598
제17행: 135 853 902 3239 18590 20579 30578 33374 34045
제18행: 9 13 971 11834 13642 17628 21669 24741 30965
제19행: 344 531 730 1880 16895 17587 21901 28620 31957
제20행: 7 192 380 3168 3729 5518 6827 20372 34168
제21행: 28 521 681 4313 7465 14209 21501 23364 25980
제22행: 269 393 898 3561 11066 11985 17311 26127 30309
제23행: 42 82 707 4880 4890 9818 23340 25959 31695
제24행: 189 262 707 6573 14082 22259 24230 24390 24664
제25행: 383 568 573 5498 13449 13990 16904 22629 34203
제26행: 585 596 820 2440 2488 21956 28261 28703 29591
제27행: 755 763 795 5636 16433 21714 23452 31150 34545
제28행: 23 343 669 1159 3507 13096 17978 24241 34321
제29행: 316 384 944 4872 8491 18913 21085 23198 24798
제30행: 64 314 765 3706 7136 8634 14227 17127 23437
제31행: 220 693 899 8791 12417 13487 18335 22126 27428
제32행: 285 794 1045 8624 8801 9547 19167 21894 32657
제33행: 386 621 1045 1634 1882 3172 13686 16027 22448
제34행: 95 622 693 2827 7098 11452 14112 18831 31308
제35행: 446 813 928 7976 8935 13146 27117 27766 33111
제36행: 89 138 241 3218 9283 20458 31484 31538 34216
제37행: 277 420 704 9281 12576 12788 14496 15357 20585
제38행: 141 643 758 4894 10264 15144 16357 22478 26461
제39행: 17 108 160 13183 15424 17939 19276 23714 26655
제40행: 109 285 608 1682 20223 21791 24615 29622 31983
제41행: 123 515 622 7037 13946 15292 15606 16262 23742
제42행: 264 565 923 6460 13622 13934 23181 25475 26134
제43행: 202 548 789 8003 10993 12478 16051 25114 27579
제44행: 121 450 575 5972 10062 18693 21852 23874 28031
제45행: 507 560 889 12064 13316 19629 21547 25461 28732
제46행: 664 786 1043 9137 9294 10163 23389 31436 34297
제47행: 45 830 907 10730 16541 21232 30354 30605 31847
제48행: 203 507 1060 6971 12216 13321 17861 22671 29825
제49행: 369 881 952 3035 12279 12775 17682 17805 34281
제50행: 683 709 1032 3787 17623 24138 26775 31432 33626
제51행: 524 792 1042 12249 14765 18601 25811 32422 33163
제52행: 137 639 688 7182 8169 10443 22530 24597 29039
제53행: 159 643 749 16386 17401 24135 28429 33468 33469
제54행: 107 481 555 7322 13234 19344 23498 26581 31378
제55행: 249 389 523 3421 10150 17616 19085 20545 32069
제56행: 395 738 1045 2415 3005 3820 19541 23543 31068
제57행: 27 293 703 1717 3460 8326 8501 10290 32625
제58행: 126 247 515 6031 9549 10643 22067 29490 34450
제59행: 331 471 1007 3020 3922 7580 23358 28620 30946
제60행: 222 542 1021 3291 3652 13130 16349 33009 34348
제61행: 532 719 1038 5891 7528 23252 25472 31395 31774
제62행: 145 398 774 7816 13887 14936 23708 31712 33160
제63행: 88 536 600 1239 1887 12195 13782 16726 27998
제64행: 151 269 585 1445 3178 3970 15568 20358 21051
제65행: 650 819 865 15567 18546 25571 32038 33350 33620
제66행: 93 469 800 6059 10405 12296 17515 21354 22231
제67행: 97 206 951 6161 16376 27022 29192 30190 30665
제68행: 412 549 986 5833 10583 10766 24946 28878 31937
제69행: 72 604 659 5267 12227 21714 32120 33472 33974
제70행: 25 902 912 1137 2975 9642 11598 25919 28278
제71행: 420 976 1055 8473 11512 20198 21662 25443 30119
제72행: 1 24 932 6426 11899 13217 13935 16548 29737
제73행: 53 618 988 6280 7267 11676 13575 15532 25787
제74행: 111 739 809 8133 12717 12741 20253 20608 27850
제75행: 120 683 943 14496 15162 15440 18660 27543 32404
제76행: 600 754 1055 7873 9679 17351 27268 33508
제77행: 344 756 1054 7102 7193 22903 24720 27883
제78행: 582 1003 1046 11344 23756 27497 27977 32853
제79행: 28 429 509 11106 11767 12729 13100 31792
제80행: 131 555 907 5113 10259 10300 20580 23029
제81행: 406 915 977 12244 20259 26616 27899 32228
제82행: 46 195 224 1229 4116 10263 13608 17830
제83행: 19 819 953 7965 9998 13959 30580 30754
제84행: 164 1003 1032 12920 15975 16582 22624 27357
제85행: 8433 11894 13531 17675 25889 31384
제86행: 3166 3813 8596 10368 25104 29584
제87행: 2466 8241 12424 13376 24837 32711
수열형태로 표기된 LDPC 부호는 DVB 표준에서 널리 사용되고 있다.
본 발명의 일실시예에 따르면, 수열형태로 표기된 LDPC 부호는 다음과 같이 부호화(encoding)된다. 정보크기(information size)가 K인 정보블록(information block) S=(s0, s1, ..., sK - 1)를 가정하자. LDPC 부호화기(encoder)는 크기가 K인 정보블록 S를 이용하여 크기가 N=K+M1+M2인 부호어(codeword)
Figure 112015001590184-pat00008
를 생성한다. 여기서, M1=g, M2=N-K-g이다. 또한, M1은 이중 대각행렬(dual diagonal matrix) B에 대응하는 패러티(parity)의 크기이며, M2는 항등행렬 D에 대응하는 패러티의 크기이다. 부호화 과정은 다음과 같다.
-초기화(initialization):
[수학식 4]
Figure 112015001590184-pat00009
-첫 번째
Figure 112015001590184-pat00010
를 상기 테이블의 수열의 제1행에 명시된 패러티 비트 주소들(parity bit addresses)에서 누적(accumulate)한다. 예를 들어, 길이가 64800이며, 부호율이 7/15인 LDPC 부호에서의 누적 과정은 다음과 같다.
Figure 112015001590184-pat00011
여기서 덧셈(
Figure 112015001590184-pat00012
)은 GF(2)에서 일어난다.
-다음 L-1개의 정보비트, 즉
Figure 112015001590184-pat00013
들에 대해서는, 하기 수학식 5에서 계산된 패러티 비트 주소들에서 누적한다.
[수학식 5]
Figure 112015001590184-pat00014
여기서, x는 첫 번째 비트
Figure 112015001590184-pat00015
에 대응되는 패러티 비트 주소들, 즉 상기 테이블의 수열의 제1행에 표기된 패러티 비트 주소들을 나타내며, Q1 = M1/L, Q2 = M2/L, L = 360이다. 또한, Q1과 Q2는 하기 표 2에 정의된다. 예를 들어, 길이가 64800이며, 부호율이 7/15인 LDPC 부호는 M1 = 1080, Q1 = 3, M2 = 33480, Q2 = 93, L = 360이므로, 두 번째 비트
Figure 112015001590184-pat00016
에 대해서는 상기 수학식 5를 이용하면 다음과 같은 연산이 수행된다.
Figure 112015001590184-pat00017
표 2는 설계된 QC-LDPC 부호의 M1, M2, Q1, Q2의 크기를 나타낸다.
[표 2]
Figure 112015001590184-pat00018
-다음의
Figure 112015001590184-pat00019
부터
Figure 112015001590184-pat00020
까지의 새로운 360개의 정보비트들은 상기 수열의 제2행을 이용하여, 상기 수학식 5로부터 패러티 비트 누적기들의 주소를 계산하고, 누적한다.
-비슷한 방법으로, 새로운 L개의 정보비트들로 구성된 모든 그룹(group)들에 대해서, 상기 수열들의 새로운 행을 이용하여, 상기 수학식 5로부터 패러티 비트 누적기들의 주소를 계산하고, 누적한다.
-
Figure 112015001590184-pat00021
에서
Figure 112015001590184-pat00022
까지의 모든 정보비트들이 사용된 후, i = 1부터 시작하여 하기 수학식 6의 연산을 순차적으로 수행한다.
[수학식 6]
Figure 112015001590184-pat00023
-다음으로, 하기 수학식 7과 같은 패러티 인터리빙(interleaving)을 수행하면, 이중 대각행렬 B에 대응하는 패러티 생성이 완료된다.
[수학식 7]
Figure 112015001590184-pat00024
K개의 정보비트(
Figure 112015001590184-pat00025
)를 이용하여 이중 대각행렬 B에 대응하는 패러티 생성이 완료되면, M1개의 생성된 패러티(
Figure 112015001590184-pat00026
)을 이용하여, 항등행렬 D에 대응하는 패러티를 생성한다.
-
Figure 112015001590184-pat00027
에서
Figure 112015001590184-pat00028
까지의 L개의 비트들로 구성된 모든 그룹(group)들에 대해서, 상기 수열들의 새로운 행(이중 대각행렬 B에 대응하는 패러티를 생성할 때 이용한 마지막 행의 바로 다음 행부터 시작)과 상기 수학식 5를 이용하여 패러티 비트 누적기들의 주소를 계산하고, 관련 연산을 수행한다.
-
Figure 112015001590184-pat00029
에서
Figure 112015001590184-pat00030
까지의 모든 비트들이 사용된 후, 하기 수학식 8과 같은 패러티 인터리빙을 수행하면, 항등행렬 D에 대응하는 패러티 생성이 완료된다.
[수학식 8]
Figure 112015001590184-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 112015001590184-pat00032
N group = N ldpc / 360 개의 비트그룹들로 쪼개어진다.
[수학식 9]
Figure 112015001590184-pat00033
여기서, X j 는 j번째 비트그룹을 나타내며, 각각의 X j 는 360 비트들로 구성된다.
비트그룹들로 분할된 LDPC 부호어는 하기 수학식 10과 같이 인터리빙된다.
[수학식 10]
Figure 112015001590184-pat00034
여기서, Y j 는 인터리빙된 j번째 비트그룹을 나타내며, π(j)는 비트그룹 단위 인터리빙을 위한 퍼뮤테이션 오더(permutation order)이다. 퍼뮤테이션 오더는 하기 수학식 11의 인터리빙 시퀀스에 대응한다.
[수학식 11]
인터리빙 시퀀스
={152 172 113 167 100 163 159 144 114 47 161 125 99 89 179 123 149 177 1 132 37 26 16 57 166 81 133 112 33 151 117 83 52 178 85 124 143 28 59 130 31 157 170 44 61 102 155 111 153 55 54 176 17 68 169 20 104 38 147 7 174 6 90 15 56 120 13 34 48 122 110 154 76 64 75 84 162 77 103 156 128 150 87 27 42 3 23 96 171 145 91 24 78 5 69 175 8 29 106 137 131 43 93 160 108 164 12 140 71 63 141 109 129 82 80 173 105 9 66 65 92 32 41 72 74 4 36 94 67 158 10 88 142 45 126 2 86 118 73 79 121 148 95 70 51 53 21 115 135 25 168 11 136 18 138 134 119 146 0 97 22 165 40 19 60 46 14 49 139 58 101 39 116 127 30 98 50 107 35 62}
즉, 부호어 및 인터리빙된 부호어 각각이 0번째 비트그룹부터 179번째 비트그룹까지 180개의 비트그룹들을 포함한다고 할 때, 수학식 11의 인터리빙 시퀀스는 부호어의 152번째 비트그룹이 인터리빙된 부호어의 0번째 비트그룹이 되고, 부호어의 172번째 비트그룹이 인터리빙된 부호어의 1번째 비트그룹이 되고, 부호어의 113번째 비트그룹이 인터리빙된 부호어의 2번째 비트그룹이 되고, 부호어의 167번째 비트그룹이 인터리빙된 부호어의 3번째 비트그룹이 되고, ..., 부호어의 35번째 비트그룹이 인터리빙된 부호어의 178번째 비트그룹이 되고, 부호어의 62번째 비트그룹이 인터리빙된 부호어의 179번째 비트그룹이 됨을 의미한다.
특히, 수학식 11에 나타내어진 인터리빙 시퀀스는 QPSK 변조가 사용되고, 길이가 64800이고 부호율이 7/15인 LDPC 부호기가 사용되는 경우에 최적화된 것이다.
도 7은 본 발명의 일실시예에 따른 비트 인터리버를 나타낸 블록도이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 비트 인터리버는 메모리들(710, 730) 및 프로세서(720)를 포함한다.
메모리(710)는 길이가 64800이고 부호율이 7/15인 LDPC 부호어를 저장한다.
프로세서(720)는 상기 LDPC 부호어를, 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성한다.
이 때, 패러럴 팩터는 360일 수 있다. 이 때, 비트그룹은 360 비트들을 포함할 수 있다.
이 때, LDPC 부호어는 상기 수학식 9와 같이 180개의 비트그룹들로 분할될 수 있다.
이 때, 인터리빙은 퍼뮤테이션 오더(permutation order)를 이용한 상기 수학식 10을 이용하여 수행될 수 있다.
이 때, 퍼뮤테이션 오더는 상기 수학식 11에 의하여 표현되는 인터리빙 시퀀스에 상응하는 것일 수 있다.
메모리(730)는 상기 인터리빙된 부호어를 QPSK 변조를 위한 변조기로 제공한다.
메모리(710) 및 메모리(730)는 비트들의 집합을 저장하기 위한 다양한 하드웨어에 상응하는 것일 수도 있고, 어레이(array), 리스트(list), 스택(stack), 큐(queue) 등의 자료구조(data structure)에 상응하는 것일 수도 있다.
이 때, 메모리(710) 및 메모리(730)는 물리적으로 별개의 장치가 아니라, 물리적으로는 하나의 장치의 서로 다른 주소에 상응하는 것일 수 있다. 즉, 메모리(710) 및 메모리(730)는 물리적으로는 구분되지 않고, 논리적으로만 구분되는 것일 수 있다.
도 1에 도시된 오류정정 부호화기(13)는 도 7과 같은 구조로 구현될 수도 있다.
즉, 오류정정 부호화기는 메모리들 및 프로세서를 포함할 수 있다. 이 때, 제1 메모리는 길이가 64800이고 부호율이 7/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 부호어는 상기 정보 비트들에 상응하고 길이가 30240(=K)인 시스터매틱(systematic) 파트(λ0, λ1, ..., λK -1), 패러티 검사 행렬에 포함된 이중 대각행렬에 상응하고 길이가 1080(=M1=g)인 제1 패러티 파트(λK, λK + 1, ..., λK +M1-1) 및 상기 패러티 검사 행렬에 포함된 항등행렬에 상응하고 길이가 33480(=M2)인 제2 패러티 파트(λK +M1, λK +M1+ 1, ..., λK +M1+M2- 1)를 포함할 수 있다.
이 때, 수열은 상기 시스터매틱 파트의 길이인 30240을 상기 패러티 검사 행렬에 상응하는 CPM 사이즈(L)인 360으로 나눈 값에 제1 패러티 파트의 길이(M1)인 1080을 360으로 나눈 값을 더한 수(30240/360+1080/360=87)만큼의 행들(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이고 부호율이 7/15인 LDPC 부호어를 저장한다(S810).
이 때, LDPC 부호어는
Figure 112015001590184-pat00035
(N ldpc 는 64800)와 같이 표현되고, 상기 수학식 9와 같이 각각 360개의 비트들로 구성된 180개의 비트그룹들로 분할될 수 있다.
또한, 본 발명의 일실시예에 따른 비트 인터리빙 방법은 상기 LDPC 부호어를 상기 LDPC 부호어의 패러럴 팩터(parallel factor)에 상응하는 사이즈의 비트그룹 단위로 인터리빙하여 인터리빙된 부호어를 생성한다(S820).
이 때, 인터리빙은 퍼뮤테이션 오더(permutation order)를 이용한 상기 수학식 10을 이용하여 수행될 수 있다.
이 때, 퍼뮤테이션 오더는 상기 수학식 11에 의하여 표현되는 인터리빙 시퀀스에 상응하는 것일 수 있다.
이 때, 패러럴 팩터는 360이고, 비트그룹은 360 비트들을 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 비트 인터리빙 방법은 상기 인터리빙된 부호어를 QPSK 변조를 위한 변조기로 출력한다(S830).
이상에서와 같이 본 발명에 따른 비트 인터리버, BICM 장치 및 비트 인터리빙 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
710, 730: 메모리
720: 프로세서

Claims (5)

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

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

    (X j 는 j번째 비트그룹, N ldpc 는 64800, N group 은 180)
  4. 청구항 1에 있어서,
    상기 LDPC 부호어는 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 생성되고, 상기 수열은 하기 테이블로 표현되는 것을 특징으로 하는 비트 인터리버.
    [테이블]
    제1행: 460 792 1007 4580 11452 13130 26882 27020 32439
    제2행: 35 472 1056 7154 12700 13326 13414 16828 19102
    제3행: 45 440 772 4854 7863 26945 27684 28651 31875
    제4행: 744 812 892 1509 9018 12925 14140 21357 25106
    제5행: 271 474 761 4268 6706 9609 19701 19707 24870
    제6행: 223 477 662 1987 9247 18376 22148 24948 27694
    제7행: 44 379 786 8823 12322 14666 16377 28688 29924
    제8행: 104 219 562 5832 19665 20615 21043 22759 32180
    제9행: 41 43 870 7963 13718 14136 17216 30470 33428
    제10행: 592 744 887 4513 6192 18116 19482 25032 34095
    제11행: 456 821 1078 7162 7443 8774 15567 17243 33085
    제12행: 151 666 977 6946 10358 11172 18129 19777 32234
    제13행: 236 793 870 2001 6805 9047 13877 30131 34252
    제14행: 297 698 772 3449 4204 11608 22950 26071 27512
    제15행: 202 428 474 3205 3726 6223 7708 20214 25283
    제16행: 139 719 915 1447 2938 11864 15932 21748 28598
    제17행: 135 853 902 3239 18590 20579 30578 33374 34045
    제18행: 9 13 971 11834 13642 17628 21669 24741 30965
    제19행: 344 531 730 1880 16895 17587 21901 28620 31957
    제20행: 7 192 380 3168 3729 5518 6827 20372 34168
    제21행: 28 521 681 4313 7465 14209 21501 23364 25980
    제22행: 269 393 898 3561 11066 11985 17311 26127 30309
    제23행: 42 82 707 4880 4890 9818 23340 25959 31695
    제24행: 189 262 707 6573 14082 22259 24230 24390 24664
    제25행: 383 568 573 5498 13449 13990 16904 22629 34203
    제26행: 585 596 820 2440 2488 21956 28261 28703 29591
    제27행: 755 763 795 5636 16433 21714 23452 31150 34545
    제28행: 23 343 669 1159 3507 13096 17978 24241 34321
    제29행: 316 384 944 4872 8491 18913 21085 23198 24798
    제30행: 64 314 765 3706 7136 8634 14227 17127 23437
    제31행: 220 693 899 8791 12417 13487 18335 22126 27428
    제32행: 285 794 1045 8624 8801 9547 19167 21894 32657
    제33행: 386 621 1045 1634 1882 3172 13686 16027 22448
    제34행: 95 622 693 2827 7098 11452 14112 18831 31308
    제35행: 446 813 928 7976 8935 13146 27117 27766 33111
    제36행: 89 138 241 3218 9283 20458 31484 31538 34216
    제37행: 277 420 704 9281 12576 12788 14496 15357 20585
    제38행: 141 643 758 4894 10264 15144 16357 22478 26461
    제39행: 17 108 160 13183 15424 17939 19276 23714 26655
    제40행: 109 285 608 1682 20223 21791 24615 29622 31983
    제41행: 123 515 622 7037 13946 15292 15606 16262 23742
    제42행: 264 565 923 6460 13622 13934 23181 25475 26134
    제43행: 202 548 789 8003 10993 12478 16051 25114 27579
    제44행: 121 450 575 5972 10062 18693 21852 23874 28031
    제45행: 507 560 889 12064 13316 19629 21547 25461 28732
    제46행: 664 786 1043 9137 9294 10163 23389 31436 34297
    제47행: 45 830 907 10730 16541 21232 30354 30605 31847
    제48행: 203 507 1060 6971 12216 13321 17861 22671 29825
    제49행: 369 881 952 3035 12279 12775 17682 17805 34281
    제50행: 683 709 1032 3787 17623 24138 26775 31432 33626
    제51행: 524 792 1042 12249 14765 18601 25811 32422 33163
    제52행: 137 639 688 7182 8169 10443 22530 24597 29039
    제53행: 159 643 749 16386 17401 24135 28429 33468 33469
    제54행: 107 481 555 7322 13234 19344 23498 26581 31378
    제55행: 249 389 523 3421 10150 17616 19085 20545 32069
    제56행: 395 738 1045 2415 3005 3820 19541 23543 31068
    제57행: 27 293 703 1717 3460 8326 8501 10290 32625
    제58행: 126 247 515 6031 9549 10643 22067 29490 34450
    제59행: 331 471 1007 3020 3922 7580 23358 28620 30946
    제60행: 222 542 1021 3291 3652 13130 16349 33009 34348
    제61행: 532 719 1038 5891 7528 23252 25472 31395 31774
    제62행: 145 398 774 7816 13887 14936 23708 31712 33160
    제63행: 88 536 600 1239 1887 12195 13782 16726 27998
    제64행: 151 269 585 1445 3178 3970 15568 20358 21051
    제65행: 650 819 865 15567 18546 25571 32038 33350 33620
    제66행: 93 469 800 6059 10405 12296 17515 21354 22231
    제67행: 97 206 951 6161 16376 27022 29192 30190 30665
    제68행: 412 549 986 5833 10583 10766 24946 28878 31937
    제69행: 72 604 659 5267 12227 21714 32120 33472 33974
    제70행: 25 902 912 1137 2975 9642 11598 25919 28278
    제71행: 420 976 1055 8473 11512 20198 21662 25443 30119
    제72행: 1 24 932 6426 11899 13217 13935 16548 29737
    제73행: 53 618 988 6280 7267 11676 13575 15532 25787
    제74행: 111 739 809 8133 12717 12741 20253 20608 27850
    제75행: 120 683 943 14496 15162 15440 18660 27543 32404
    제76행: 600 754 1055 7873 9679 17351 27268 33508
    제77행: 344 756 1054 7102 7193 22903 24720 27883
    제78행: 582 1003 1046 11344 23756 27497 27977 32853
    제79행: 28 429 509 11106 11767 12729 13100 31792
    제80행: 131 555 907 5113 10259 10300 20580 23029
    제81행: 406 915 977 12244 20259 26616 27899 32228
    제82행: 46 195 224 1229 4116 10263 13608 17830

    *제83행: 19 819 953 7965 9998 13959 30580 30754
    제84행: 164 1003 1032 12920 15975 16582 22624 27357
    제85행: 8433 11894 13531 17675 25889 31384
    제86행: 3166 3813 8596 10368 25104 29584
    제87행: 2466 8241 12424 13376 24837 32711
  5. 삭제
KR1020150002166A 2014-01-29 2015-01-07 길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 KR102260748B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
US14/606,949 US9577678B2 (en) 2014-01-29 2015-01-27 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 7/15 and quadrature phase shift keying, and bit interleaving method using same
CA2997251A CA2997251C (en) 2014-01-29 2015-01-28 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 7/15 and quadrature phase shift keying, and bit interleaving method using same
CA2880594A CA2880594C (en) 2014-01-29 2015-01-28 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 7/15 and quadrature phase shift keying, and bit interleaving method using same
MX2015001342A MX345597B (es) 2014-01-29 2015-01-28 Entrelazador de bits para palabra código de revisión de paridad de baja densidad que tiene una longitud de 64800 y un índice de código 7/15 y manipulación por desplazamiento de fase en cuadratura, y método para entrelazar bits que utiliza el mismo.
US15/402,107 US10419031B2 (en) 2014-01-29 2017-01-09 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 7/15 and quadrature phase shift keying, and bit interleaving method using same
US16/542,035 US11038534B2 (en) 2014-01-29 2019-08-15 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 7/15 and quadrature phase shift keying, and bit interleaving method using same
US17/323,949 US11398839B2 (en) 2014-01-29 2021-05-18 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 7/15 and quadrature phase shift keying, and bit interleaving method using same
KR1020210067597A KR102395220B1 (ko) 2014-01-29 2021-05-26 길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
US17/845,614 US11677421B2 (en) 2014-01-29 2022-06-21 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 7/15 and quadrature phase shift keying, and bit interleaving method using same
US18/309,278 US11923872B2 (en) 2014-01-29 2023-04-28 Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 7/15 and quadrature phase shift keying, and bit interleaving method using same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20140011492 2014-01-29
KR1020140011492 2014-01-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210067597A Division KR102395220B1 (ko) 2014-01-29 2021-05-26 길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법

Publications (2)

Publication Number Publication Date
KR20150090832A KR20150090832A (ko) 2015-08-06
KR102260748B1 true KR102260748B1 (ko) 2021-06-07

Family

ID=53885454

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020150002166A KR102260748B1 (ko) 2014-01-29 2015-01-07 길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR1020220053795A KR102524274B1 (ko) 2014-01-29 2022-04-29 길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 bicm 수신 장치 및 이를 이용한 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220053795A KR102524274B1 (ko) 2014-01-29 2022-04-29 길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 bicm 수신 장치 및 이를 이용한 방법

Country Status (2)

Country Link
KR (2) KR102260748B1 (ko)
MX (1) MX345597B (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290816A1 (en) * 2011-01-19 2013-10-31 Sony Corporation Data-processing device and data-processing method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101785726B1 (ko) * 2010-08-26 2017-10-16 삼성전자주식회사 선형 블록 부호를 사용하는 통신 또는 방송 시스템에서 데이터 송수신 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290816A1 (en) * 2011-01-19 2013-10-31 Sony Corporation Data-processing device and data-processing method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Digital Video Broadcasting (DVB document A160, november 2012)*

Also Published As

Publication number Publication date
KR20220063133A (ko) 2022-05-17
MX345597B (es) 2017-02-07
KR20150090832A (ko) 2015-08-06
MX2015001342A (es) 2015-07-28
KR102524274B1 (ko) 2023-04-24

Similar Documents

Publication Publication Date Title
KR102395210B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102395220B1 (ko) 길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102395204B1 (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102395224B1 (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102395208B1 (ko) 길이가 64800이며, 부호율이 5/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102395207B1 (ko) 길이가 16200이며, 부호율이 4/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429464B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429513B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429511B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 1024-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429462B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429459B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429450B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 1024-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429519B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429467B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102260758B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429522B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102260767B1 (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102371702B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102371696B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102371707B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102371688B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429465B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 1024-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102371687B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429477B1 (ko) 길이가 64800이며, 부호율이 5/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102429517B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant