KR102513136B1 - Low density parity check decoder with 16200 length and 3/15 rate, and method using the same - Google Patents
Low density parity check decoder with 16200 length and 3/15 rate, and method using the same Download PDFInfo
- Publication number
- KR102513136B1 KR102513136B1 KR1020210132563A KR20210132563A KR102513136B1 KR 102513136 B1 KR102513136 B1 KR 102513136B1 KR 1020210132563 A KR1020210132563 A KR 1020210132563A KR 20210132563 A KR20210132563 A KR 20210132563A KR 102513136 B1 KR102513136 B1 KR 102513136B1
- Authority
- KR
- South Korea
- Prior art keywords
- line
- ldpc
- parity check
- parity
- length
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1165—QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2703—Coding, 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
LDPC 부호화기, 복호화기 및 LDPC 부호화 방법이 개시된다. 본 발명의 일실시예에 따른 LDPC 부호화기는 길이가 16200이고 부호율이 3/15인, LDPC 부호어를 저장하기 위한 제1 메모리; 0으로 초기화되는 제2 메모리; 및 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 상기 제2 메모리에 대한 누적(accumulation)을 수행하여, 정보 비트들(information bits)에 상응하는 상기 LDPC 부호어를 생성하는 프로세서를 포함한다.An LDPC encoder, a decoder, and an LDPC encoding method are disclosed. An LDPC encoder according to an embodiment of the present invention includes a first memory for storing an LDPC codeword having a length of 16200 and a code rate of 3/15; a second memory initialized to 0; and a processor generating the LDPC codeword corresponding to information bits by performing accumulation on the second memory using a sequence corresponding to a parity check matrix. do.
Description
본 발명은 무선 채널에서 발생하는 오류를 정정하기 위한 LDPC(Low Density Parity Check) 부호에 관한 것으로, 특히 디지털 방송 시스템에 적용 가능한 LDPC 부호에 관한 것이다.The present invention relates to a Low Density Parity Check (LDPC) code for correcting an error occurring in a radio channel, and more particularly to an LDPC code applicable to a digital broadcasting system.
현재의 지상파 TV 방송은 서비스 변경의 3배에 해당하는 동일채널간섭(co-channel interference)을 발생시키기 때문에, 서비스 반경의 3배 이내 지역에서는 같은 주파수를 재사용할 수 없다. 이처럼, 같은 주파수를 재사용할 수 없는 지역을 화이트 스페이스(white space)라고 하는데, 화이트 스페이스의 발생으로 인하여 스펙트럼 효율이 매우 낮아진다.Since current terrestrial TV broadcasting generates co-channel interference corresponding to three times the service change, the same frequency cannot be reused in an area within three times the service radius. As such, an area in which the same frequency cannot be reused is called a white space, and spectral efficiency is very low due to the occurrence of the white space.
따라서, 스펙트럼 효율 향상을 위해 수신 강인성에 중점을 둔 화이트 스페이스 제거 및 주파수 재사용이 용이한 전송기술 개발의 필요성이 대두되었다.Therefore, there is a need to develop a transmission technology that can easily remove white space and reuse frequencies with an emphasis on reception robustness in order to improve spectral efficiency.
이에 따라 2012년 9월 IEEE Transactions on Broadcasting, vol. 58, no.3을 통해 공개된 학술 문헌 "Cloud Transmission: A New Spectrum-Reuse Friendly Digital Terrestrial Broadcasting Transmission System"에서는 재사용이 용이하고 화이트 스페이스를 발생시키지 않으며, 단일 주파수망 구축 및 운용이 용이한 지상파 클라우드 방송 기술이 제안되었다.Accordingly, in September 2012, IEEE Transactions on Broadcasting, vol. In the academic literature "Cloud Transmission: A New Spectrum-Reuse Friendly Digital Terrestrial Broadcasting Transmission System" published through 58, no.3, a terrestrial cloud that is easy to reuse, does not generate white space, and is easy to build and operate a single frequency network Broadcast technology is proposed.
이러한 지상파 클라우드 방송 기술을 이용하면, 방송사는 하나의 방송채널을 통해 전국적으로 동일하거나 또는 각 지역별로 서로 다른 방송 콘텐츠를 전송할 수 있다. 그러나, 이를 위해서는 수신기가 단일 주파수망에서 서로 다른 송신기로부터 송출된 신호가 겹치는 지역, 즉 중첩지역에서 하나 이상의 지상파 클라우드 방송 신호를 수신할 수 있어야 하며, 수신한 지상파 클라우드 방송 신호를 구분하여 복조할 수 있어야 한다. 즉, 동일채널간섭이 존재하고, 각 송신신호들의 타이밍 및 주파수 동기가 보장되지 않은 상황에서 수신기는 하나 이상의 클라우드 방송 신호를 복조할 수 있어야 한다.Using such a terrestrial cloud broadcasting technology, a broadcaster can transmit the same broadcasting content nationwide or different broadcasting contents for each region through one broadcasting channel. However, for this, the receiver must be able to receive one or more terrestrial cloud broadcasting signals in an area where signals transmitted from different transmitters overlap on a single frequency network, that is, in an overlapping area, and can distinguish and demodulate the received terrestrial cloud broadcasting signal. There should be. That is, a receiver must be able to demodulate one or more cloud broadcasting signals in a situation where co-channel interference exists and timing and frequency synchronization of each transmission signal are not guaranteed.
한편, 한국공개특허 2013-0135746호의 "지상파 클라우드 방송을 위한 LDPC 부호"는 지상파 클라우드 방송에 최적화되어, 낮은 부호율(<0.5)에서 우수한 성능을 보이는 LDPC 부호를 개시하고 있다.Meanwhile, Korean Patent Publication No. 2013-0135746 "LDPC code for terrestrial cloud broadcasting" discloses an LDPC code that is optimized for terrestrial cloud broadcasting and shows excellent performance at a low code rate (<0.5).
그러나, 한국공개특허 2013-0135746호는 DVB 방송 표준 등에서 사용되는 LDPC 부호 길이와 전혀 상이한 부호 길이에 관한 것이고, 구체적인 LDPC 부호 방법에 대해서는 침묵하고 있다.However, Korean Patent Publication No. 2013-0135746 relates to a code length completely different from the LDPC code length used in the DVB broadcasting standard, etc., and is silent about a specific LDPC code method.
본 발명의 목적은 범용적으로 사용될 수 있는 부호어 길이가 16200이며, 부호율이 3/15인 새로운 LDPC 부호어를 제공하는 것이다.An object of the present invention is to provide a new LDPC codeword with a codeword length of 16200 and a code rate of 3/15 that can be used universally.
또한, 본 발명의 목적은 LDPC 부호어의 시스터매틱 파트의 길이인 3240 및 제1 패러티 파트의 길이인 1080의 합을 360으로 나눈 값에 해당하는 수의 행들을 가지는 수열을 이용하여 효율적으로 LDPC 부호화를 수행할 수 있는 LDPC 부호화 기법을 제공하는 것이다.In addition, an object of the present invention is to efficiently perform LDPC encoding using a sequence having a number of rows corresponding to a value obtained by dividing the sum of 3240, the length of the systematic part of the LDPC codeword, and 1080, the length of the first parity part, by 360. It is to provide an LDPC encoding technique capable of performing
상기한 목적을 달성하기 위한 본 발명에 따른 LDPC 부호화기는, 길이가 16200이고 부호율이 3/15인, LDPC 부호어를 저장하기 위한 제1 메모리; 0으로 초기화되는 제2 메모리; 및 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 상기 제2 메모리에 대한 누적(accumulation)을 수행하여, 정보 비트들(information bits)에 상응하는 상기 LDPC 부호어를 생성하는 프로세서를 포함한다.An LDPC encoder according to the present invention for achieving the above object includes a first memory for storing an LDPC codeword having a length of 16200 and a code rate of 3/15; a second memory initialized to 0; and a processor generating the LDPC codeword corresponding to information bits by performing accumulation on the second memory using a sequence corresponding to a parity check matrix. do.
이 때, 누적은 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 갱신되는 패러티 비트 주소들(parity bit addresses)에서 수행될 수 있다.In this case, accumulation may be performed on parity bit addresses that are updated using a sequence corresponding to a parity check matrix.
이 때, LDPC 부호어는 상기 정보 비트들에 상응하고 길이가 3240인 시스터매틱(systematic) 파트, 상기 패러티 검사 행렬에 포함된 이중 대각행렬에 상응하고 길이가 1080인 제1 패러티 파트 및 상기 패러티 검사 행렬에 포함된 항등행렬에 상응하고 길이가 11880인 제2 패러티 파트를 포함할 수 있다.At this time, the LDPC codeword is a systematic part corresponding to the information bits and having a length of 3240, a first parity part corresponding to the double diagonal matrix included in the parity check matrix and having a length of 1080, and the parity check matrix It may include a second parity part corresponding to the identity matrix included in and having a length of 11880.
이 때, 수열은 상기 시스터매틱 파트의 길이인 3240을 상기 패러티 검사 행렬에 상응하는 CPM 사이즈인 360으로 나눈 값에 상기 제1 패러티 파트의 길이인 1080을 상기 CPM 사이즈로 나눈 값을 더한 수만큼의 행들(rows)을 가질 수 있다.At this time, the sequence is the number obtained by dividing 3240, the length of the systematic part, by 360, the CPM size corresponding to the parity check matrix, and adding the value obtained by dividing 1080, the length of the first parity part, by the CPM size. You can have rows.
이 때, 수열은 하기 테이블로 표현될 수 있다.At this time, the sequence can be expressed as the following table.
[테이블][table]
제1행: 8 372 841 4522 5253 7430 8542 9822 10550 11896 11988 Line 1: 8 372 841 4522 5253 7430 8542 9822 10550 11896 11988
제2행: 80 255 667 1511 3549 5239 5422 5497 7157 7854 11267 Line 2: 80 255 667 1511 3549 5239 5422 5497 7157 7854 11267
제3행: 257 406 792 2916 3072 3214 3638 4090 8175 8892 9003 Line 3: 257 406 792 2916 3072 3214 3638 4090 8175 8892 9003
제4행: 80 150 346 1883 6838 7818 9482 10366 10514 11468 12341 Line 4: 80 150 346 1883 6838 7818 9482 10366 10514 11468 12341
제5행: 32 100 978 3493 6751 7787 8496 10170 10318 10451 12561 Line 5: 32 100 978 3493 6751 7787 8496 10170 10318 10451 12561
제6행: 504 803 856 2048 6775 7631 8110 8221 8371 9443 10990 Line 6: 504 803 856 2048 6775 7631 8110 8221 8371 9443 10990
제7행: 152 283 696 1164 4514 4649 7260 7370 11925 11986 12092 Line 7: 152 283 696 1164 4514 4649 7260 7370 11925 11986 12092
제8행: 127 1034 1044 1842 3184 3397 5931 7577 11898 12339 12689 Line 8: 127 1034 1044 1842 3184 3397 5931 7577 11898 12339 12689
제9행: 107 513 979 3934 4374 4658 7286 7809 8830 10804 10893 Line 9: 107 513 979 3934 4374 4658 7286 7809 8830 10804 10893
제10행: 2045 2499 7197 8887 9420 9922 10132 10540 10816 11876 Line 10: 2045 2499 7197 8887 9420 9922 10132 10540 10816 11876
제11행: 2932 6241 7136 7835 8541 9403 9817 11679 12377 12810 Line 11: 2932 6241 7136 7835 8541 9403 9817 11679 12377 12810
제12행: 2211 2288 3937 4310 5952 6597 9692 10445 11064 11272Line 12: 2211 2288 3937 4310 5952 6597 9692 10445 11064 11272
이 때, 누적은 패러티 검사 행렬의 CPM 사이즈(L) 단위로 상기 수열의 행을 바꿔가면서, 수행될 수 있다.At this time, accumulation may be performed while changing rows of the sequence in units of CPM size (L) of the parity check matrix.
또한, 본 발명의 일실시예에 따른 LDPC 부호화 방법은, LDPC 부호어를 저장하기 위한 제1 메모리, 및 제2 메모리를 초기화하는 단계; 및 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 상기 제2 메모리에 대한 누적(accumulation)을 수행하여, 정보 비트들(information bits)에 상응하는 상기 LDPC 부호어를 생성하는 단계를 포함한다.Also, an LDPC encoding method according to an embodiment of the present invention includes initializing a first memory and a second memory for storing LDPC codewords; and performing accumulation on the second memory using a sequence corresponding to a parity check matrix to generate the LDPC codeword corresponding to information bits. do.
이 때, 상기 누적은 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 갱신되는 패러티 비트 주소들(parity bit addresses)에서 수행될 수 있다.In this case, the accumulation may be performed on parity bit addresses that are updated using a sequence corresponding to a parity check matrix.
이 때, LDPC 부호어는 상기 정보 비트들에 상응하는 길이가 3240인 시스터매틱(systematic) 파트, 상기 패러티 검사 행렬에 포함된 이중 대각행렬에 상응하고 길이가 1080인 제1 패러티 파트 및 상기 패러티 검사 행렬에 포함된 항등행렬에 상응하고 길이가 11880인 제2 패러티 파트를 포함할 수 있다.At this time, the LDPC codeword is a systematic part having a length of 3240 corresponding to the information bits, a first parity part having a length of 1080 corresponding to a double diagonal matrix included in the parity check matrix, and the parity check matrix It may include a second parity part corresponding to the identity matrix included in and having a length of 11880.
이 때, 수열은 상기 시스터매틱 파트의 길이인 3240을 상기 패러티 검사 행렬에 상응하는 CPM 사이즈인 360으로 나눈 값에 상기 제1 패러티 파트의 길이인 1080을 상기 CPM 사이즈로 나눈 값을 더한 수만큼의 행들(rows)을 가질 수 있다.At this time, the sequence is the number obtained by dividing 3240, the length of the systematic part, by 360, the CPM size corresponding to the parity check matrix, and adding the value obtained by dividing 1080, the length of the first parity part, by the CPM size. You can have rows.
이 때, 수열은 상기 테이블로 표현될 수 있다.In this case, the sequence may be expressed as the table.
또한, 본 발명의 일실시예에 따른 LDPC 복호화기는, 패러티 검사 행렬에 상응하고 상기 테이블로 표현되는 수열을 이용하여 부호화된, LDPC(Low Density Parity Check) 부호어(codeword)를 수신하는 수신부; 및 상기 패러티 검사 행렬에 상응하는 복호화를 수행하여 수신된 상기 LDPC 부호어에서 정보 비트들(information bits)을 복원하는 복호화부를 포함한다.In addition, the LDPC decoder according to an embodiment of the present invention includes a receiving unit that receives a Low Density Parity Check (LDPC) codeword that corresponds to a parity check matrix and is encoded using a sequence represented by the table; and a decoding unit that restores information bits from the received LDPC codeword by performing decoding corresponding to the parity check matrix.
본 발명에 따르면, 범용적으로 사용될 수 있는 부호어 길이가 16200이며, 부호율이 3/15인 새로운 LDPC 부호어가 제공된다.According to the present invention, a new LDPC codeword having a universally usable codeword length of 16200 and a code rate of 3/15 is provided.
또한, 본 발명은 LDPC 부호어의 시스터매틱 파트의 길이인 3240 및 제1 패러티 파트의 길이인 1080의 합을 360으로 나눈 값에 해당하는 수의 행들을 가지는 수열을 이용하여 효율적으로 LDPC 부호화를 수행할 수 있다.In addition, the present invention efficiently performs LDPC encoding using a sequence having a number of rows corresponding to a value obtained by dividing the sum of 3240, the length of the systematic part of the LDPC codeword, and 1080, the length of the first parity part, by 360 can do.
도 1은 본 발명의 일실시예에 따른 방송 신호 송/수신 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 방송 신호 송/수신 방법을 나타낸 동작 흐름도이다.
도 3은 본 발명의 일실시예에 따른 LDPC 부호에 상응하는 패러티 검사 행렬의 구조를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 LDPC 부호화기를 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 LDPC 복호화기를 나타낸 블록도이다.
도 6은 본 발명의 일실시예에 따른 LDPC 부호화 방법을 나타낸 동작 흐름도이다.
도 7은 본 발명의 일실시예에 따른 길이가 16200, 부호율이 3/15인 QC-LDPC 부호의 성능을 Eb/No에 대비하여 나타낸 그래프이다.1 is a block diagram showing a system for transmitting/receiving broadcast signals according to an embodiment of the present invention.
2 is an operational flowchart illustrating a broadcast signal transmission/reception method according to an embodiment of the present invention.
3 is a diagram showing the structure of a parity check matrix corresponding to an LDPC code according to an embodiment of the present invention.
4 is a block diagram illustrating an LDPC encoder according to an embodiment of the present invention.
5 is a block diagram showing an LDPC decoder according to an embodiment of the present invention.
6 is an operational flowchart illustrating an LDPC encoding method according to an embodiment of the present invention.
7 is a graph showing the performance of a QC-LDPC code having a length of 16200 and a code rate of 3/15 in comparison with E b /N o according to an embodiment of the present invention.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings. Here, repeated descriptions, well-known functions that may unnecessarily obscure the subject matter of the present invention, and detailed descriptions of configurations are omitted. Embodiments of the present invention are provided to more completely explain the present invention to those skilled in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clarity.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 방송 신호 송/수신 시스템을 나타낸 블록도이다.1 is a block diagram showing a system for transmitting/receiving broadcast signals according to an embodiment of the present invention.
도 1을 참조하면, 송신기(10)와 수신기(30)가 무선 채널(20)을 매개로 통신을 수행하는 것을 알 수 있다.Referring to FIG. 1 , it can be seen that a
송신기(10)는 k비트의 정보 비트들(information bits; 11)을 LDPC 부호화기(13)에서 부호화(encoding)하여 n비트의 코드워드(codeword)를 생성한다. 코드워드는 변조기(15)에 의해 변조되어 안테나(17)를 통해 전송된다. 무선 채널(20)을 통해 전송된 신호는 수신기(30)의 안테나(31)를 통해 수신되고, 수신기(30)에서는 송신기(10)에서 일어났던 과정의 역과정을 거친다. 즉, 수신된 데이터가 복조기(33)에 의해 복조되고, LDPC 복호화기(35)에 의해 복호되어 최종적으로 정보 비트들을 복원할 수 있다.The
전술한 바와 같은 송/수신 과정은 본 발명의 특징을 설명하기 위해 필요한 최소한의 범위 내에서 설명된 것으로 이외에도 데이터 전송을 위해 필요한 많은 과정이 추가될 수 있음은 당업자에게 자명하다.The transmission/reception process as described above has been described within the minimum range required to explain the characteristics of the present invention, and it is obvious to those skilled in the art that many processes necessary for data transmission may be added in addition to those described.
이하에서, LDPC 부호화기(13) 또는 LDPC 복호화기(35)에서의 LDPC 코드를 통한 부호화 또는 복호화의 구체적인 과정 및 LDPC 부호화기(13) 또는 LDPC 복호화기(35)와 같은 부호화 또는 복호화 장치의 구체적인 구성에 대해 설명한다. 도 1에 도시된 LDPC 부호화기(13)는 도 4에 도시된 구조를 가질 수 있고, LDPC 복호화기(35)는 도 5에 도시된 구조를 가질 수 있다.Hereinafter, a specific process of encoding or decoding through the LDPC code in the
도 2는 본 발명의 일실시예에 따른 방송 신호 송/수신 방법을 나타낸 동작 흐름도이다.2 is an operational flowchart illustrating a broadcast signal transmission/reception method according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일실시예에 따른 방송 신호 송/수신 방법은 먼저 입력 비트들(information bits)을 LDPC 부호화한다(S210).Referring to FIG. 2 , in the broadcast signal transmission/reception method according to an embodiment of the present invention, first, input bits (information bits) are LDPC-encoded (S210).
즉, 단계(S210)는 k비트의 정보 비트들(information bits)을 LDPC 부호화기에서 부호화하여 n비트의 코드워드(codeword)를 생성한다.That is, in step S210, an n-bit codeword is generated by encoding k-bit information bits in the LDPC encoder.
이 때, 단계(S210)는 도 6에 도시된 LDPC 부호화 방법과 같이 수행될 수 있다.At this time, step S210 may be performed in the same way as the LDPC encoding method shown in FIG. 6 .
또한, 방송 신호 송/수신 방법은 부호화된 데이터를 변조한다(S220).In addition, the broadcast signal transmission/reception method modulates coded data (S220).
즉, 단계(S220)는 부호화된 n비트의 코드워드를 변조기에 의해 변조한다.That is, in step S220, the encoded n-bit codeword is modulated by a modulator.
또한, 방송 신호 송/수신 방법은 변조된 데이터를 송신한다(S230).In addition, the broadcast signal transmission/reception method transmits modulated data (S230).
즉, 단계(S230)는 변조된 코드워드를 안테나를 통해 무선 채널로 전송한다.That is, in step S230, the modulated codeword is transmitted through an antenna through a radio channel.
또한, 방송 신호 송/수신 방법은 수신된 데이터를 복조(demodulation)한다(S240).In addition, the broadcast signal transmission/reception method demodulates received data (S240).
즉, 단계(S240)는 수신기의 안테나를 통해 무선 채널을 통해 전송된 신호를 수신하고 수신된 데이터를 복조기에 의하여 복조한다.That is, in step S240, a signal transmitted through a radio channel is received through an antenna of the receiver, and the received data is demodulated by a demodulator.
또한, 방송 신호 송/수신 방법은 복조된 데이터를 LDPC 복호화한다(S250).In addition, in the broadcast signal transmission/reception method, demodulated data is LDPC-decoded (S250).
즉, 단계(S250)는 수신기의 복조기를 통해 LDPC 복호화를 수행하여 최종적으로 정보 비트들을 복원한다.That is, in step S250, LDPC decoding is performed through the demodulator of the receiver to finally restore information bits.
*이 때, 단계(S250)는 도 6에 도시된 LDPC 부호화 방법의 역과정에 해당하는 것으로 도 5의 LDPC 복호화기에 상응하는 것일 수 있다.* At this time, step S250 corresponds to the reverse process of the LDPC encoding method shown in FIG. 6 and may correspond to the LDPC decoder of FIG. 5 .
LDPC(Low Density Parity Check) 부호는 AWGN(Additive White Gaussian Noise) 채널에서 쉐넌(Shannon) 한계에 근접하는 부호로 알려져 있으며, 터보부호보다 근사적으로(asymptotically) 우수한 성능, 병렬복호(parallelizable decoding) 등의 장점이 있다.LDPC (Low Density Parity Check) codes are known as codes that approach the Shannon limit in an Additive White Gaussian Noise (AWGN) channel, and have asymptotically superior performance to turbo codes, parallelizable decoding, etc. has the advantage of
일반적으로, LDPC 부호는 랜덤하게 생성된 낮은 밀도의 PCM(Parity Check Matrix)에 의해 정의된다. 그러나, 랜덤하게 생성된 LDPC 부호는 PCM을 저장하기 위해 많은 메모리가 필요할 뿐만 아니라, 메모리를 액세스하는데 많은 시간이 소요된다. 이와 같은 문제를 해결하기 위해 쿼시-사이클릭(Quasi-cyclic) LDPC(QC-LDPC) 부호가 제안되었으며, 제로 메트릭스(zero matrix) 또는 CPM(Circulant Permutation Matrix)으로 구성된 QC-LDPC 부호는 하기 수학식 1에 의해 표현되는 PCM에 의해 정의된다.In general, an LDPC code is defined by a randomly generated low-density Parity Check Matrix (PCM). However, randomly generated LDPC codes not only require a lot of memory to store the PCM, but also take a lot of time to access the memory. To solve this problem, a quasi-cyclic LDPC (QC-LDPC) code has been proposed, and the QC-LDPC code composed of a zero matrix or a Circulant Permutation Matrix (CPM) is It is defined by PCM represented by 1.
[수학식 1][Equation 1]
여기서, J는 크기가 L x L인 CPM이며 하기 수학식 2와 같이 주어진다. 이하에서, L은 360일 수 있다.Here, J is a CPM of size L x L and is given by Equation 2 below. Hereinafter, L may be 360.
[수학식 2][Equation 2]
또한, Ji는 L x L 항등행렬(identity matrix) I(=J0)를 오른쪽으로 i(0=i<L)번 이동시킨 것이며, J∞는 L x L 영행렬(zero matrix)이다. 따라서, QC-LDPC 부호에서는 Ji를 저장하기 위해 지수(exponent) i만 저장하면 되기 때문에, PCM를 저장하기 위해 요구되는 메모리가 크게 줄어든다.In addition, J i is an L x L identity matrix I(=J 0 ) shifted to the right i (0=i<L) times, and J ∞ is an L x L zero matrix. Therefore, in the QC-LDPC code, since only the exponent i needs to be stored to store J i , the memory required for storing the PCM is greatly reduced.
도 3은 본 발명의 일실시예에 따른 LDPC 부호에 상응하는 패러티 검사 행렬의 구조를 나타낸 도면이다.3 is a diagram showing the structure of a parity check matrix corresponding to an LDPC code according to an embodiment of the present invention.
도 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과 같이 정의될 수도 있다.Referring to FIG. 3, the sizes of matrices A and C are g x K and (N-K-g) x (K+g), respectively, and are composed of a zero matrix of L x L size and CPM. In addition, matrix z is a zero matrix of size g x (N-K-g), matrix D is an identity matrix of size (N-K-g) x (N-K-g), and matrix B is a dual diagonal matrix of size g x g. matrix). In this case, the matrix B may be a matrix in which all elements other than the elements on the diagonal and the elements adjacent to the bottom of the diagonal are all 0, or may be defined as in
[수학식 3][Equation 3]
여기서, ILxL는 크기가 L x L인 항등행렬이다. Here, I LxL is an identity matrix of size L x L.
즉, 행렬 B는 일반적인(bit-wise) 이중 대각행렬일 수도 있고, 상기 수학식 3에 표기된 바와 같이 항등행렬을 블록으로 하는 블럭와이즈(block-wise) 이중 대각행렬일 수도 있다. 일반적인(bit-wise) 이중 대각행렬에 대해서는 한국공개특허 2007-0058438호 등에 상세히 개시되어 있다.That is, the matrix B may be a general (bit-wise) double-diagonal matrix, or a block-wise double-diagonal matrix having an identity matrix as a block as indicated in
특히, 행렬 B가 일반적인(bit-wise) 이중 대각행렬인 경우, 이러한 행렬 B를 포함하는 도 3에 도시된 구조의 PCM에 행 퍼뮤테이션(row permutation) 또는 열 퍼뮤테이션(column permutation)을 적용하여 쿼시 사이클릭으로 변환할 수 있음은 당업자에게 자명하다. In particular, when matrix B is a general (bit-wise) double-diagonal matrix, row permutation or column permutation is applied to the PCM of the structure shown in FIG. It is obvious to those skilled in the art that it can be converted to quasi-cyclic.
이 때, N은 부호어(codeword)의 길이이며, K는 정보(information)의 길이를 각각 나타낸다.At this time, N is the length of a codeword, and K represents the length of information.
본 발명에서는 아래 표 1과 같이 부호율(code rate)이 3/15이며, 부호어의 길이가 16200인 새롭게 설계된 QC-LDPC 부호를 제안한다. 즉, 길이가 3240인 정보를 입력 받아, 길이가 16200인 LDPC 부호어를 생성하는 LDPC 부호를 제안한다.In the present invention, as shown in Table 1 below, a newly designed QC-LDPC code with a code rate of 3/15 and a codeword length of 16200 is proposed. That is, an LDPC code generating an LDPC codeword having a length of 16200 by receiving information having a length of 3240 is proposed.
표 1은 본 발명의 QC-LDPC 부호의 A, B, C, D, Z 행렬의 크기를 나타낸다.Table 1 shows the size of A, B, C, D, Z matrices of the QC-LDPC code of the present invention.
[표 1][Table 1]
새롭게 설계된 LDPC 부호는 수열 형태로 표시될 수 있으며, 수열과 행렬(패러티 비트 체크 행렬)은 등가(equivalent) 관계가 성립하고, 수열은 하기 테이블과 같이 표현될 수 있다.A newly designed LDPC code can be displayed in the form of a sequence, an equivalent relationship is established between a sequence and a matrix (a parity bit check matrix), and the sequence can be expressed as shown in the following table.
[테이블][table]
제1행: 8 372 841 4522 5253 7430 8542 9822 10550 11896 11988 Line 1: 8 372 841 4522 5253 7430 8542 9822 10550 11896 11988
제2행: 80 255 667 1511 3549 5239 5422 5497 7157 7854 11267 Line 2: 80 255 667 1511 3549 5239 5422 5497 7157 7854 11267
제3행: 257 406 792 2916 3072 3214 3638 4090 8175 8892 9003 Line 3: 257 406 792 2916 3072 3214 3638 4090 8175 8892 9003
제4행: 80 150 346 1883 6838 7818 9482 10366 10514 11468 12341 Line 4: 80 150 346 1883 6838 7818 9482 10366 10514 11468 12341
제5행: 32 100 978 3493 6751 7787 8496 10170 10318 10451 12561 Line 5: 32 100 978 3493 6751 7787 8496 10170 10318 10451 12561
제6행: 504 803 856 2048 6775 7631 8110 8221 8371 9443 10990 Line 6: 504 803 856 2048 6775 7631 8110 8221 8371 9443 10990
제7행: 152 283 696 1164 4514 4649 7260 7370 11925 11986 12092 Line 7: 152 283 696 1164 4514 4649 7260 7370 11925 11986 12092
제8행: 127 1034 1044 1842 3184 3397 5931 7577 11898 12339 12689 Line 8: 127 1034 1044 1842 3184 3397 5931 7577 11898 12339 12689
*제9행: 107 513 979 3934 4374 4658 7286 7809 8830 10804 10893 *Line 9: 107 513 979 3934 4374 4658 7286 7809 8830 10804 10893
제10행: 2045 2499 7197 8887 9420 9922 10132 10540 10816 11876 Line 10: 2045 2499 7197 8887 9420 9922 10132 10540 10816 11876
제11행: 2932 6241 7136 7835 8541 9403 9817 11679 12377 12810 Line 11: 2932 6241 7136 7835 8541 9403 9817 11679 12377 12810
제12행: 2211 2288 3937 4310 5952 6597 9692 10445 11064 11272Line 12: 2211 2288 3937 4310 5952 6597 9692 10445 11064 11272
수열형태로 표기된 LDPC 부호는 DVB 표준에서 널리 사용되고 있다.The LDPC code expressed in the form of a sequence is widely used in the DVB standard.
본 발명의 일실시예에 따르면, 수열형태로 표기된 LDPC 부호는 다음과 같이 부호화(encoding)된다. 정보크기(information size)가 K인 정보블록(information block) S=(s0, s1, ..., sK-1)를 가정하자. LDPC 부호화기(encoder)는 크기가 K인 정보블록 S를 이용하여 크기가 N=K+M1+M2인 부호어(codeword) 를 생성한다. 여기서, M1=g, M2=N-K-g이다. 또한, M1은 이중 대각행렬(dual diagonal matrix) B에 대응하는 패러티(parity)의 크기이며, M2는 항등행렬 D에 대응하는 패러티의 크기이다. 부호화 과정은 다음과 같다.According to one embodiment of the present invention, the LDPC code expressed in the form of a sequence is encoded as follows. Assume an information block S=(s 0 , s 1 , ..., s K-1 ) with an information size K. The LDPC encoder uses an information block S of size K to generate a codeword of size N=K+M 1 +M 2 generate Here, M 1 =g, M 2 =NKg. In addition, M 1 is the size of parity corresponding to the dual diagonal matrix B, and M 2 is the size of parity corresponding to the identity matrix D. The encoding process is as follows.
-초기화(initialization):-Initialization:
[수학식 4][Equation 4]
-첫 번째 를 상기 테이블의 수열의 제1행에 명시된 패러티 비트 주소들(parity bit addresses)에서 누적(accumulate)한다. 예를 들어, 길이가 16200이며, 부호율이 3/15인 LDPC 부호에서의 누적 과정은 다음과 같다.-first Accumulate at the parity bit addresses specified in the first row of the sequence of the table. For example, an accumulation process in an LDPC code having a length of 16200 and a code rate of 3/15 is as follows.
여기서 덧셈()은 GF(2)에서 일어난다.Add here ( ) occurs in GF(2).
-다음 L-1개의 정보비트, 즉 들에 대해서는, 하기 수학식 5에서 계산된 패러티 비트 주소들에서 누적한다.-the next L-1 information bits, i.e. For , the parity bit addresses calculated in Equation 5 below are accumulated.
[수학식 5][Equation 5]
여기서, x는 첫 번째 비트 에 대응되는 패러티 비트 주소들, 즉 상기 테이블의 수열의 제1행에 표기된 패러티 비트 주소들을 나타내며, Q1 = M1/L, Q2 = M2/L, L = 360이다. 또한, Q1과 Q2는 하기 표 2에 정의된다. 예를 들어, 길이가 16200이며, 부호율이 3/15인 LDPC 부호는 M1 = 1080, Q1 = 3, M2 = 11880, Q2 = 33, L = 360이므로, 두 번째 비트 에 대해서는 상기 수학식 5를 이용하면 다음과 같은 연산이 수행된다.where x is the first bit Indicates parity bit addresses corresponding to , that is, parity bit addresses indicated in the first row of the sequence of the table, Q 1 = M 1 /L, Q 2 = M 2 /L, L = 360. In addition, Q 1 and Q 2 are defined in Table 2 below. For example, an LDPC code with a length of 16200 and a code rate of 3/15 has M 1 = 1080, Q 1 = 3, M 2 = 11880, Q 2 = 33, L = 360, so the second bit For Equation 5, the following calculation is performed.
표 2는 설계된 QC-LDPC 부호의 M1, M2, Q1, Q2의 크기를 나타낸다.Table 2 shows the sizes of M 1 , M 2 , Q 1 , and Q 2 of the designed QC-LDPC code.
[표 2][Table 2]
-다음의 부터 까지의 새로운 360개의 정보비트들은 상기 수열의 제2행을 이용하여, 상기 수학식 5로부터 패러티 비트 누적기들의 주소를 계산하고, 누적한다.-the next from For the new 360 information bits up to , the addresses of the parity bit accumulators are calculated and accumulated from Equation 5 using the second row of the sequence.
-비슷한 방법으로, 새로운 L개의 정보비트들로 구성된 모든 그룹(group)들에 대해서, 상기 수열들의 새로운 행을 이용하여, 상기 수학식 5로부터 패러티 비트 누적기들의 주소를 계산하고, 누적한다.-Similarly, for all groups composed of L new information bits, addresses of parity bit accumulators are calculated and accumulated from Equation 5 using a new row of the sequence.
-에서 까지의 모든 정보비트들이 사용된 후, i = 1부터 시작하여 하기 수학식 6의 연산을 순차적으로 수행한다.- at After all information bits up to are used, operations of Equation 6 below are sequentially performed, starting from i = 1.
[수학식 6][Equation 6]
-다음으로, 하기 수학식 7과 같은 패러티 인터리빙(interleaving)을 수행하면, 이중 대각행렬 B에 대응하는 패러티 생성이 완료된다.-Next, if parity interleaving is performed as shown in Equation 7 below, parity generation corresponding to the double diagonal matrix B is completed.
[수학식 7][Equation 7]
K개의 정보비트()를 이용하여 이중 대각행렬 B에 대응하는 패러티 생성이 완료되면, M1개의 생성된 패러티()을 이용하여, 항등행렬 D에 대응하는 패러티를 생성한다.K information bits ( ), when parity generation corresponding to the double diagonal matrix B is completed, M 1 generated parity ( ) is used to generate a parity corresponding to the identity matrix D.
-에서 까지의 L개의 비트들로 구성된 모든 그룹(group)들에 대해서, 상기 수열들의 새로운 행(이중 대각행렬 B에 대응하는 패러티를 생성할 때 이용한 마지막 행의 바로 다음 행부터 시작)과 상기 수학식 5를 이용하여 패러티 비트 누적기들의 주소를 계산하고, 관련 연산을 수행한다.- at For all groups consisting of up to L bits, a new row of the sequences (starting from the row immediately following the last row used when generating the parity corresponding to the double diagonal matrix B) and Equation 5 Calculate the addresses of the parity bit accumulators using , and perform related operations.
-에서 까지의 모든 비트들이 사용된 후, 하기 수학식 8과 같은 패러티 인터리빙을 수행하면, 항등행렬 D에 대응하는 패러티 생성이 완료된다.- at After all bits up to are used, if parity interleaving is performed as shown in Equation 8 below, parity generation corresponding to the identity matrix D is completed.
[수학식 8][Equation 8]
도 4는 본 발명의 일실시예에 따른 LDPC 부호화기를 나타낸 블록도이다.4 is a block diagram illustrating an LDPC encoder according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 일실시예에 따른 LDPC 부호화기는 메모리들(310, 320) 및 프로세서(330)를 포함한다.Referring to FIG. 4 , the LDPC encoder according to an embodiment of the present invention includes
메모리(310)는 길이가 16200이고 부호율이 3/15인 LDPC 부호어(codeword)를 저장하기 위한 메모리이다.The
메모리(320)는 0으로 초기화되는 메모리이다.The
메모리(310) 및 메모리(320)는 각각 λi(i=0, 1, ..., N-1) 및 Pj(j=0, 1, ..., M1+M2-1)에 상응하는 것일 수 있다.The
메모리(310) 및 메모리(320)는 비트들의 집합을 저장하기 위한 다양한 하드웨어에 상응하는 것일 수도 있고, 어레이(array), 리스트(list), 스택(stack), 큐(queue) 등의 자료구조(data structure)에 상응하는 것일 수도 있다.The
프로세서(330)는 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 상기 메모리(320)에 대한 누적(accumulation)을 수행하여, 정보 비트들(information bits)에 상응하는 상기 LDPC 부호어를 생성한다.The
이 때, 누적은 상기 테이블의 수열을 이용하여 갱신되는 패러티 비트 주소들(parity bit addresses)에서 수행될 수 있다.In this case, accumulation may be performed on parity bit addresses that are updated using the sequence of the table.
이 때, LDPC 부호어는 상기 정보 비트들에 상응하고 길이가 3240(=K)인 시스터매틱(systematic) 파트(λ0, λ1, ..., λK-1), 패러티 검사 행렬에 포함된 이중 대각행렬에 상응하고 길이가 1080(=M1=g)인 제1 패러티 파트(λK, λK+1, ..., λK+M1-1) 및 상기 패러티 검사 행렬에 포함된 항등행렬에 상응하고 길이가 11880(=M2)인 제2 패러티 파트(λK+M1, λK+M1+1, ..., λK+M1+M2-1)를 포함할 수 있다.At this time, the LDPC codeword is a systematic part (λ 0 , λ 1 , ..., λ K-1 ) corresponding to the information bits and having a length of 3240 (=K), included in the parity check matrix The first parity part (λ K , λ K+1 , ..., λ K+M1-1 ) corresponding to the double diagonal matrix and having a length of 1080 (=M 1 =g) and the identity included in the parity check matrix It may include a second parity part (λ K+M1 , λ K+M1+1 , ..., λ K+M1+M2-1 ) corresponding to the matrix and having a length of 11880 (=M 2 ).
이 때, 수열은 상기 시스터매틱 파트의 길이인 3240을 상기 패러티 검사 행렬에 상응하는 CPM 사이즈(L)인 360으로 나눈 값에 제1 패러티 파트의 길이(M1)인 1080을 360으로 나눈 값을 더한 수(3240/360+1080/360=12)만큼의 행들(rows)을 가질 수 있다.At this time, the sequence is a value obtained by dividing 3240, which is the length of the systematic part, by 360, which is the CPM size (L) corresponding to the parity check matrix, and 1080, which is the length (M 1 ) of the first parity part, by 360. It can have as many rows as the added number (3240/360+1080/360=12).
전술한 바와 같이, 수열은 상기 테이블로 표현될 수 있다.As described above, a sequence can be represented by the table above.
이 때, 메모리(320)는 제1 패러티 파트의 길이(M1) 및 제2 패러티 파트의 길이(M2)의 합(M1+M2)에 상응하는 사이즈를 가질 수 있다.In this case, the
이 때, 패러티 비트 주소들은 상기 수열의 각각의 행에 나타내진 이전 패러티 비트 주소들 각각(x)과 제1 패러티 파트의 길이(M1)를 비교한 결과에 기반하여 갱신될 수 있다.In this case, the parity bit addresses may be updated based on a result of comparing each of the previous parity bit addresses (x) indicated in each row of the sequence with the length (M 1 ) of the first parity part.
즉, 패러티 비트 주소들은 상기 수학식 5에 의하여 갱신될 수 있다. 이 때, x는 이전 패러티 비트 주소, m은 정보 비트 인덱스로 0보다 크고 L보다 작은 정수, L은 상기 패러티 검사 행렬의 CPM 사이즈, Q1은 M1/L, M1은 상기 제1 패러티 파트의 사이즈, Q2는 M2/L, M2는 상기 제2 패러티 파트의 사이즈일 수 있다.That is, parity bit addresses can be updated by Equation 5 above. At this time, x is the previous parity bit address, m is an information bit index, an integer greater than 0 and less than L, L is the CPM size of the parity check matrix, Q 1 is M 1 /L, M 1 is the first parity part The size of Q 2 may be M 2 /L, and M 2 may be the size of the second parity part.
이 때, 상기 누적은 전술한 바와 같이 상기 패러티 검사 행렬의 CPM 사이즈 L=360 단위로 수열의 행을 바꿔가면서 수행될 수 있다.At this time, as described above, the accumulation may be performed while changing rows of the sequence in units of CPM size L = 360 of the parity check matrix.
이 때, 제1 패러티 파트(λK, λK+1, ..., λK+M1-1)는 상기 수학식 7을 통하여 설명한 바와 같이, 메모리(310) 및 메모리(320)를 이용한, 패러티 인터리빙(parity interleaving)을 수행하여 생성될 수 있다.At this time, the first parity part (λ K , λ K + 1 , ..., λ K + M1-1 ), as described through Equation 7, uses the
이 때, 제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)와 상기 수열을 이용하여 수행되는 상기 누적이 완료된 후, 메모리(310) 및 메모리(320)를 이용한 패러티 인터리빙(parity interleaving)을 수행하여 생성될 수 있다.In this case, the second parity part (λ K+M1 , λ K+M1+1 , ..., λ K+M1+M2-1 ) is the first parity part (λ K , λ K+1 , ..., λ K+M1-1 ), the first parity part (λ K , λ K+1 , ..., λ K+M1-1 ) and the sequence It may be generated by performing parity interleaving using the
도 5는 본 발명의 일실시예에 따른 LDPC 복호화기를 나타낸 블록도이다.5 is a block diagram showing an LDPC decoder according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 일실시예에 따른 LDPC 복호화기는 수신부(410) 및 복호화부(420)를 포함한다.Referring to FIG. 5 , the LDPC decoder according to an embodiment of the present invention includes a receiving
수신부(410)는 상기 패러티 검사 행렬에 상응하고 상기 테이블로 표현되는 수열을 이용하여 부호화된, LDPC(Low Density Parity Check) 부호어(codeword)를 수신한다.The receiving
복호화부(420)는 상기 패러티 검사 행렬에 상응하는 복호화를 수행하여 수신된 상기 LDPC 부호어에서 정보 비트들(information bits)을 복원한다.The
이 때, 상기 수열은 메모리의 패러티 비트 주소들(parity bit addresses)을 갱신하는데 사용되고, 상기 패러티 비트 주소들은 상기 LDPC 부호어에 상응하는 패러티 비트들을 생성하기 위한 누적(accumulation)에 사용될 수 있다.In this case, the sequence is used to update parity bit addresses of the memory, and the parity bit addresses may be used for accumulation to generate parity bits corresponding to the LDPC codeword.
이 때, LDPC 부호어는 상기 정보 비트들에 상응하는 시스터매틱(systematic) 파트(λ0, λ1, ..., λK-1), 패러티 검사 행렬에 포함된 이중 대각행렬에 상응하는 제1 패러티 파트(λK, λK+1, ..., λK+M1-1) 및 상기 패러티 검사 행렬에 포함된 항등행렬에 상응하는 제2 패러티 파트(λK+M1, λK+M1+1, ..., λK+M1+M2-1)를 포함할 수 있다.At this time, the LDPC codeword is a systematic part (λ 0 , λ 1 , ..., λ K-1 ) corresponding to the information bits, a first corresponding to a double diagonal matrix included in the parity check matrix The parity part (λ K , λ K+1 , ..., λ K+M1-1 ) and the second parity part (λ K+M1 , λ K+M1+ corresponding to the identity matrix included in the parity check matrix) 1 , ..., λ K+M1+M2-1 ).
이 때, 패러티 비트 주소들은 상기 수열의 각각의 행에 나타내진 이전 패러티 비트 주소들 각각(x)과 제1 패러티 파트의 길이(M1)를 비교한 결과에 기반하여 갱신될 수 있다.In this case, the parity bit addresses may be updated based on a result of comparing each of the previous parity bit addresses (x) indicated in each row of the sequence with the length (M 1 ) of the first parity part.
즉, 패러티 비트 주소들은 상기 수학식 5에 의하여 갱신될 수 있다. 이 때, x는 이전 패러티 비트 주소, m은 정보 비트 인덱스로 0보다 크고 L보다 작은 정수, L은 상기 패러티 검사 행렬의 CPM 사이즈, Q1은 M1/L, M1은 상기 제1 패러티 파트의 사이즈, Q2는 M2/L, M2는 상기 제2 패러티 파트의 사이즈일 수 있다.That is, parity bit addresses can be updated by Equation 5 above. At this time, x is the previous parity bit address, m is an information bit index, an integer greater than 0 and less than L, L is the CPM size of the parity check matrix, Q 1 is M 1 /L, M 1 is the first parity part The size of Q 2 may be M 2 /L, and M 2 may be the size of the second parity part.
도 6은 본 발명의 일실시예에 따른 LDPC 부호화 방법을 나타낸 동작 흐름도이다.6 is an operational flowchart illustrating an LDPC encoding method according to an embodiment of the present invention.
도 6을 참조하면, 본 발명의 일실시예에 따른 LDPC 부호화 방법은 LDPC 부호어를 저장하기 위한 제1 메모리, 및 제2 메모리를 초기화한다(S510).Referring to FIG. 6 , in the LDPC encoding method according to an embodiment of the present invention, a first memory and a second memory for storing LDPC codewords are initialized (S510).
이 때, 단계(S510)는 상기 수학식 4에 의하여 수행될 수 있다.At this time, step S510 may be performed by Equation 4 above.
또한, 본 발명의 일실시예에 따른 LDPC 부호화 방법은 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 상기 제2 메모리에 대한 누적(accumulation)을 수행하여, 정보 비트들(information bits)에 상응하는 상기 LDPC 부호어를 생성한다(S520).In addition, the LDPC encoding method according to an embodiment of the present invention performs accumulation on the second memory using a sequence corresponding to a parity check matrix, and information bits The LDPC codeword corresponding to is generated (S520).
이 때, 상기 누적은 패러티 검사 행렬(parity check matrix)에 상응하는 수열을 이용하여 갱신되는 패러티 비트 주소들(parity bit addresses)에서 수행될 수 있다.In this case, the accumulation may be performed on parity bit addresses that are updated using a sequence corresponding to a parity check matrix.
이 때, LDPC 부호어는 상기 정보 비트들에 상응하고 길이가 3240(=K)인 시스터매틱(systematic) 파트(λ0, λ1, ..., λK-1), 패러티 검사 행렬에 포함된 이중 대각행렬에 상응하고 길이가 1080(=M1=g)인 제1 패러티 파트(λK, λK+1, ..., λK+M1-1) 및 상기 패러티 검사 행렬에 포함된 항등행렬에 상응하고 길이가 11880(=M2)인 제2 패러티 파트(λK+M1, λK+M1+1, ..., λK+M1+M2-1)를 포함할 수 있다.At this time, the LDPC codeword is a systematic part (λ 0 , λ 1 , ..., λ K-1 ) corresponding to the information bits and having a length of 3240 (=K), included in the parity check matrix The first parity part (λ K , λ K+1 , ..., λ K+M1-1 ) corresponding to the double diagonal matrix and having a length of 1080 (=M 1 =g) and the identity included in the parity check matrix It may include a second parity part (λ K+M1 , λ K+M1+1 , ..., λ K+M1+M2-1 ) corresponding to the matrix and having a length of 11880 (=M 2 ).
이 때, 수열은 상기 시스터매틱 파트의 길이인 3240을 상기 패러티 검사 행렬에 상응하는 CPM 사이즈(L)인 360으로 나눈 값에 제1 패러티 파트의 길이(M1)인 1080을 360으로 나눈 값을 더한 수(3240/360+1080/360=12)만큼의 행들(rows)을 가질 수 있다.At this time, the sequence is a value obtained by dividing 3240, which is the length of the systematic part, by 360, which is the CPM size (L) corresponding to the parity check matrix, and 1080, which is the length (M 1 ) of the first parity part, by 360. It can have as many rows as the added number (3240/360+1080/360=12).
전술한 바와 같이, 수열은 상기 테이블로 표현될 수 있다.As described above, a sequence can be represented by the table above.
이 때, 패러티 비트 주소들은 상기 수열의 각각의 행에 나타내진 이전 패러티 비트 주소들 각각(x)과 제1 패러티 파트의 길이(M1)를 비교한 결과에 기반하여 갱신될 수 있다.In this case, the parity bit addresses may be updated based on a result of comparing each of the previous parity bit addresses (x) indicated in each row of the sequence with the length (M 1 ) of the first parity part.
즉, 패러티 비트 주소들은 상기 수학식 5에 의하여 갱신될 수 있다. 이 때, x는 이전 패러티 비트 주소, m은 정보 비트 인덱스로 0보다 크고 L보다 작은 정수, L은 상기 패러티 검사 행렬의 CPM 사이즈, Q1은 M1/L, M1은 상기 제1 패러티 파트의 사이즈, Q2는 M2/L, M2는 상기 제2 패러티 파트의 사이즈일 수 있다.That is, parity bit addresses can be updated by Equation 5 above. At this time, x is the previous parity bit address, m is an information bit index, an integer greater than 0 and less than L, L is the CPM size of the parity check matrix, Q 1 is M 1 /L, M 1 is the first parity part The size of Q 2 may be M 2 /L, and M 2 may be the size of the second parity part.
이 때, 상기 누적은 전술한 바와 같이 상기 패러티 검사 행렬의 CPM 사이즈 L=360 단위로 수열의 행을 바꿔가면서 수행될 수 있다.At this time, as described above, the accumulation may be performed while changing rows of the sequence in units of CPM size L = 360 of the parity check matrix.
이 때, 제1 패러티 파트(λK, λK+1, ..., λK+M1-1)는 상기 수학식 7을 통하여 설명한 바와 같이, 제1 메모리 및 제2 메모리를 이용한, 패러티 인터리빙(parity interleaving)을 수행하여 생성될 수 있다.In this case, the first parity part (λ K , λ K+1 , ..., λ K+M1-1 ) performs parity interleaving using the first memory and the second memory, as described through Equation 7 above. It can be created by performing 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 메모리(310) 및 제2 메모리(320)를 이용한 패러티 인터리빙(parity interleaving)을 수행하여 생성될 수 있다.In this case, the second parity part (λ K+M1 , λ K+M1+1 , ..., λ K+M1+M2-1 ) is the first parity part (λ K , λ K+1 , ..., λ K+M1-1 ), the first parity part (λ K , λ K+1 , ..., λ K+M1-1 ) and the sequence It may be generated by performing parity interleaving using the
도 7은 본 발명의 일실시예에 따른 길이가 16200, 부호율이 3/15인 QC-LDPC 부호의 성능을 Eb/No에 대비하여 나타낸 그래프이다.7 is a graph showing the performance of a QC-LDPC code having a length of 16200 and a code rate of 3/15 in comparison with E b /N o according to an embodiment of the present invention.
도 7에 도시된 그래프는 전산실험을 위해 BPSK (Binary Phase Shift Keying) 변조와 50번의 반복복호를 수행하는 LLR(Log-likelihood Ratio) 기반의 합곱(sum-product) 알고리즘을 가정한 결과이다. 도 7에 도시된 바와 같이, 설계된 부호는 BER=10-6에서 쉐넌(Shannon) 한계로부터 약 1.25 dB 떨어져 있는 것을 알 수 있다.The graph shown in FIG. 7 is a result of assuming a log-likelihood ratio (LLR)-based sum-product algorithm that performs BPSK (Binary Phase Shift Keying) modulation and 50 iterative decoding for computational experiments. As shown in Fig. 7, it can be seen that the designed code is about 1.25 dB away from the Shannon limit at BER=10 -6 .
이상에서와 같이 본 발명에 따른 LDPC 부호화기, 복호화기 및 LDPC 부호화 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the LDPC encoder, decoder, and LDPC encoding method according to the present invention are not limited to the configuration and method of the embodiments described above, but the embodiments are All or part of the embodiments may be configured by selectively combining them.
310, 320: 메모리
330: 프로세서310, 320: memory
330: processor
Claims (9)
수신된 상기 신호에 대하여, 상기 패러티 검사 행렬에 상응하는 복호화를 수행하는 복호화부를 포함하고,
상기 수열은 하기 테이블로 표현되는 것을 특징으로 하는 LDPC 복호화기.
[테이블]
제1행: 8 372 841 4522 5253 7430 8542 9822 10550 11896 11988
제2행: 80 255 667 1511 3549 5239 5422 5497 7157 7854 11267
제3행: 257 406 792 2916 3072 3214 3638 4090 8175 8892 9003
제4행: 80 150 346 1883 6838 7818 9482 10366 10514 11468 12341
제5행: 32 100 978 3493 6751 7787 8496 10170 10318 10451 12561
제6행: 504 803 856 2048 6775 7631 8110 8221 8371 9443 10990
제7행: 152 283 696 1164 4514 4649 7260 7370 11925 11986 12092
제8행: 127 1034 1044 1842 3184 3397 5931 7577 11898 12339 12689
제9행: 107 513 979 3934 4374 4658 7286 7809 8830 10804 10893
제10행: 2045 2499 7197 8887 9420 9922 10132 10540 10816 11876
제11행: 2932 6241 7136 7835 8541 9403 9817 11679 12377 12810
제12행: 2211 2288 3937 4310 5952 6597 9692 10445 11064 11272A receiving unit for receiving a signal corresponding to a low density parity check (LDPC) codeword having a length of 16200 and a code rate of 3/15, encoded using a sequence corresponding to a parity check matrix; and
A decoding unit that performs decoding corresponding to the parity check matrix on the received signal;
LDPC decoder, characterized in that the sequence is represented by the following table.
[table]
Line 1: 8 372 841 4522 5253 7430 8542 9822 10550 11896 11988
Line 2: 80 255 667 1511 3549 5239 5422 5497 7157 7854 11267
Line 3: 257 406 792 2916 3072 3214 3638 4090 8175 8892 9003
Line 4: 80 150 346 1883 6838 7818 9482 10366 10514 11468 12341
Line 5: 32 100 978 3493 6751 7787 8496 10170 10318 10451 12561
Line 6: 504 803 856 2048 6775 7631 8110 8221 8371 9443 10990
Line 7: 152 283 696 1164 4514 4649 7260 7370 11925 11986 12092
Line 8: 127 1034 1044 1842 3184 3397 5931 7577 11898 12339 12689
Line 9: 107 513 979 3934 4374 4658 7286 7809 8830 10804 10893
Line 10: 2045 2499 7197 8887 9420 9922 10132 10540 10816 11876
Line 11: 2932 6241 7136 7835 8541 9403 9817 11679 12377 12810
Line 12: 2211 2288 3937 4310 5952 6597 9692 10445 11064 11272
상기 LDPC 부호어는
상기 수열을 이용하여 수행되는 누적(accumulation)에 기반하여 생성되고,
상기 누적은 상기 LDPC 부호어에 상응하는 정보 비트들(information bits) 중 두 번째 비트 에 대해서는
(px(0≤x≤12959)는 상기 누적에 사용되는 메모리, 는 덧셈 연산자)
의 11개 수학식들을 이용하여 수행되는 것을 특징으로 하는 LDPC 복호화기.The method of claim 2,
The LDPC codeword is
It is generated based on accumulation performed using the sequence,
The accumulation is the second bit of information bits corresponding to the LDPC codeword As for
(p x (0≤x≤12959) is the memory used for the accumulation, is the addition operator)
An LDPC decoder characterized in that it is performed using 11 equations of
상기 LDPC 부호어는
정보 비트들에 상응하고 길이가 3240인 시스터매틱(systematic) 파트, 상기 패러티 검사 행렬에 포함된 이중 대각행렬에 상응하고 길이가 1080인 제1 패러티 파트 및 상기 패러티 검사 행렬에 포함된 항등행렬에 상응하고 길이가 11880인 제2 패러티 파트를 포함하는 것을 특징으로 하는 LDPC 복호화기.The method of claim 3,
The LDPC codeword is
A systematic part corresponding to information bits and having a length of 3240, a first parity part having a length of 1080 and corresponding to a double diagonal matrix included in the parity check matrix, and corresponding to an identity matrix included in the parity check matrix and a second parity part having a length of 11880.
상기 수열은 상기 시스터매틱 파트의 길이인 3240을 상기 패러티 검사 행렬에 상응하는 CPM(Circulant Permutation Matrix) 사이즈인 360으로 나눈 값에 상기 제1 패러티 파트의 길이인 1080을 상기 CPM 사이즈로 나눈 값을 더한 수만큼의 행들(rows)을 가지는 것을 특징으로 하는 LDPC 복호화기.The method of claim 4,
The sequence is obtained by dividing 3240, the length of the systematic part, by 360, the size of the Circulant Permutation Matrix (CPM) corresponding to the parity check matrix, and adding a value obtained by dividing 1080, the length of the first parity part, by the CPM size. An LDPC decoder characterized in that it has as many rows as the number of rows.
상기 누적은,
상기 수열을 이용하여 갱신되는 패러티 비트 주소들(parity bit addresses)에서 수행되는 것을 특징으로 하는 LDPC 복호화기.The method of claim 5,
The accumulation is
LDPC decoder, characterized in that it is performed in parity bit addresses updated using the sequence.
상기 누적은
상기 패러티 검사 행렬의 CPM 사이즈 단위로 상기 수열의 행을 바꿔가면서, 수행되는 것을 특징으로 하는 LDPC 복호화기.The method of claim 6,
The cumulative
LDPC decoder, characterized in that it is performed while changing rows of the sequence in units of CPM size of the parity check matrix.
수신된 상기 신호에 대하여, 상기 패러티 검사 행렬에 상응하는 복호화를 수행하는 단계를 포함하고,
상기 수열은 하기 테이블로 표현되는 것을 특징으로 하는 LDPC 복호화 방법.
[테이블]
제1행: 8 372 841 4522 5253 7430 8542 9822 10550 11896 11988
제2행: 80 255 667 1511 3549 5239 5422 5497 7157 7854 11267
제3행: 257 406 792 2916 3072 3214 3638 4090 8175 8892 9003
제4행: 80 150 346 1883 6838 7818 9482 10366 10514 11468 12341
제5행: 32 100 978 3493 6751 7787 8496 10170 10318 10451 12561
제6행: 504 803 856 2048 6775 7631 8110 8221 8371 9443 10990
제7행: 152 283 696 1164 4514 4649 7260 7370 11925 11986 12092
제8행: 127 1034 1044 1842 3184 3397 5931 7577 11898 12339 12689
제9행: 107 513 979 3934 4374 4658 7286 7809 8830 10804 10893
제10행: 2045 2499 7197 8887 9420 9922 10132 10540 10816 11876
제11행: 2932 6241 7136 7835 8541 9403 9817 11679 12377 12810
제12행: 2211 2288 3937 4310 5952 6597 9692 10445 11064 11272Receiving a signal corresponding to a Low Density Parity Check (LDPC) codeword having a length of 16200 and a code rate of 3/15, encoded using a sequence corresponding to a parity check matrix; and
performing decoding corresponding to the parity check matrix on the received signal;
LDPC decoding method, characterized in that the sequence is represented by the following table.
[table]
Line 1: 8 372 841 4522 5253 7430 8542 9822 10550 11896 11988
Line 2: 80 255 667 1511 3549 5239 5422 5497 7157 7854 11267
Line 3: 257 406 792 2916 3072 3214 3638 4090 8175 8892 9003
Line 4: 80 150 346 1883 6838 7818 9482 10366 10514 11468 12341
Line 5: 32 100 978 3493 6751 7787 8496 10170 10318 10451 12561
Line 6: 504 803 856 2048 6775 7631 8110 8221 8371 9443 10990
Line 7: 152 283 696 1164 4514 4649 7260 7370 11925 11986 12092
Line 8: 127 1034 1044 1842 3184 3397 5931 7577 11898 12339 12689
Line 9: 107 513 979 3934 4374 4658 7286 7809 8830 10804 10893
Line 10: 2045 2499 7197 8887 9420 9922 10132 10540 10816 11876
Line 11: 2932 6241 7136 7835 8541 9403 9817 11679 12377 12810
Line 12: 2211 2288 3937 4310 5952 6597 9692 10445 11064 11272
상기 LDPC 부호어는
상기 수열을 이용하여 수행되는 누적(accumulation)에 기반하여 생성되고,
상기 누적은 상기 LDPC 부호어에 상응하는 정보 비트들(information bits) 중 두 번째 비트 에 대해서는
(px(0≤x≤12959)는 상기 누적에 사용되는 메모리, 는 덧셈 연산자)
의 11개 수학식들을 이용하여 수행되는 것을 특징으로 하는 LDPC 복호화 방법.The method of claim 8,
The LDPC codeword is
It is generated based on accumulation performed using the sequence,
The accumulation is the second bit of information bits corresponding to the LDPC codeword As for
(p x (0≤x≤12959) is the memory used for the accumulation, is the addition operator)
LDPC decoding method characterized in that it is performed using 11 equations of.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140106174 | 2014-08-14 | ||
KR20140106174 | 2014-08-14 | ||
KR1020200159304A KR102312422B1 (en) | 2014-08-14 | 2020-11-24 | Low density parity check encoder with 16200 length and 3/15 rate, and method using the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200159304A Division KR102312422B1 (en) | 2014-08-14 | 2020-11-24 | Low density parity check encoder with 16200 length and 3/15 rate, and method using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210124162A KR20210124162A (en) | 2021-10-14 |
KR102513136B1 true KR102513136B1 (en) | 2023-03-24 |
Family
ID=55449740
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140120009A KR102184826B1 (en) | 2014-08-14 | 2014-09-11 | Low density parity check encoder with 16200 length and 3/15 rate, and method using the same |
KR1020200159304A KR102312422B1 (en) | 2014-08-14 | 2020-11-24 | Low density parity check encoder with 16200 length and 3/15 rate, and method using the same |
KR1020210132563A KR102513136B1 (en) | 2014-08-14 | 2021-10-06 | Low density parity check decoder with 16200 length and 3/15 rate, and method using the same |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140120009A KR102184826B1 (en) | 2014-08-14 | 2014-09-11 | Low density parity check encoder with 16200 length and 3/15 rate, and method using the same |
KR1020200159304A KR102312422B1 (en) | 2014-08-14 | 2020-11-24 | Low density parity check encoder with 16200 length and 3/15 rate, and method using the same |
Country Status (2)
Country | Link |
---|---|
KR (3) | KR102184826B1 (en) |
MX (1) | MX350606B (en) |
-
2014
- 2014-09-11 KR KR1020140120009A patent/KR102184826B1/en active IP Right Grant
- 2014-10-07 MX MX2014012113A patent/MX350606B/en active IP Right Grant
-
2020
- 2020-11-24 KR KR1020200159304A patent/KR102312422B1/en active Application Filing
-
2021
- 2021-10-06 KR KR1020210132563A patent/KR102513136B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
‘Digital video broadcasting (DVB): next generation broadcasting system to handheld, physical layer specification (DVB-NGH)’, DVB document A160, November 2012* |
Also Published As
Publication number | Publication date |
---|---|
KR102312422B1 (en) | 2021-10-15 |
MX350606B (en) | 2017-09-11 |
MX2014012113A (en) | 2016-02-15 |
KR20160020991A (en) | 2016-02-24 |
KR20210124162A (en) | 2021-10-14 |
KR102184826B1 (en) | 2020-12-01 |
KR20200136342A (en) | 2020-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102506682B1 (en) | Low density parity check decoder with 64800 length and 4/15 rate, and method using the same | |
KR102540338B1 (en) | Low density parity check decoder and method using the same | |
KR102506681B1 (en) | Low density parity check decoder with 64800 length and 7/15 rate, and method using the same | |
KR102513136B1 (en) | Low density parity check decoder with 16200 length and 3/15 rate, and method using the same | |
KR102506686B1 (en) | Low density parity check decoder with 64800 length and 2/15 rate, and method using the same | |
KR102513139B1 (en) | Low density parity check decoder with 16200 length and 4/15 rate, and method using the same | |
KR102500053B1 (en) | Low density parity check decoder with 16200 length and 2/15 rate, and method using the same | |
KR102500084B1 (en) | Low density parity check decoder with 16200 length and 5/15 rate, and method using the same | |
KR102506683B1 (en) | Low density parity check decoder with 64800 length and 3/15 rate, and method using the same | |
KR102506685B1 (en) | Low density parity check decoder with 64800 length and 5/15 rate, and method using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |