KR102198773B1 - 송신 장치 및 그의 펑처링 방법 - Google Patents

송신 장치 및 그의 펑처링 방법 Download PDF

Info

Publication number
KR102198773B1
KR102198773B1 KR1020140123669A KR20140123669A KR102198773B1 KR 102198773 B1 KR102198773 B1 KR 102198773B1 KR 1020140123669 A KR1020140123669 A KR 1020140123669A KR 20140123669 A KR20140123669 A KR 20140123669A KR 102198773 B1 KR102198773 B1 KR 102198773B1
Authority
KR
South Korea
Prior art keywords
parity
punctured
bits
puncturing
group
Prior art date
Application number
KR1020140123669A
Other languages
English (en)
Other versions
KR20150032228A (ko
Inventor
명세호
정홍실
김경중
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2014/008675 priority Critical patent/WO2015041475A1/ko
Priority to US14/488,689 priority patent/US9774352B2/en
Publication of KR20150032228A publication Critical patent/KR20150032228A/ko
Application granted granted Critical
Publication of KR102198773B1 publication Critical patent/KR102198773B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Abstract

송신 장치가 개시된다. 본 송신 장치는 패리티 검사 행렬에 기초하여, 입력되는 데이터에 대해 LDPC 부호화를 수행하는 부호화부, LDPC 부호화에 의해 생성된 LDPC 코드워드 중에서 패리티 비트들을 인터리빙하는 패리티 인터리버 및 인터리빙된 패리티 비트들 중에서 적어도 일부를 펑처링하는 펑처링부를 포함하며, 펑처링부는 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격에 기초하여 패리티 비트들을 그룹핑하고, 펑처링되는 패티비 비트 수 및 그룹핑된 패리티 비트 그룹 중 펑처링되는 패리티 비트 그룹의 위치에 기초하여, 펑처링을 수행한다.

Description

송신 장치 및 그의 펑처링 방법 { TRANSMITTER AND PUNCTURING METHOD THEREOF }
본 발명은 송신 장치 및, 그의 펑처링 방법에 관한 것으로, 더욱 상세하게는 패리티 비트들 중 적어도 일부를 펑처링하여 송신하는 송신 장치 및, 그의 펑처링 방법에 관한 것이다.
21세기 정보화 사회에서 방송 통신 서비스는 본격적인 디지털화, 다채널화, 광대역화, 고품질화의 시대를 맞이하고 있다. 특히, 최근에 고화질 디지털 TV 및 PMP, 휴대방송 기기 보급이 확대됨에 따라 디지털 방송 서비스도 다양한 수신방식 지원에 대한 요구가 증대되고 있다.
이러한 요구에 따라 표준 그룹에서는 다양한 표준을 제정하여, 사용자의 니즈를 만족시킬 수 있는 다양한 서비스를 제공하고 있다. 이에 따라, 보다 우수한 성능을 통해 보다 나은 서비스를 사용자에게 제공하기 위한 방안의 모색이 요청된다.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은 수신 측에서 복호화 성능을 향상시킬 수 있도록 특정한 펑처링 패턴에 기초하여 패리티 비트들 중 적어도 일부를 펑처링하여 전송하는 송신 장치 및 그의 펑처링 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 송신 장치는 패리티 검사 행렬에 기초하여, 입력되는 데이터에 대해 LDPC 부호화를 수행하는 부호화부, 상기 LDPC 부호화에 의해 생성된 LDPC 코드워드 중에서 패리티 비트들을 인터리빙하는 패리티 인터리버 및, 상기 인터리빙된 패리티 비트들 중에서 적어도 일부를 펑처링하는 펑처링부를 포함하며, 상기 펑처링부는 상기 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격에 기초하여 상기 패리티 비트들을 그룹핑하고, 펑처링되는 패티비 비트 수 및 상기 그룹핑된 패리티 비트 그룹 중 펑처링되는 패리티 비트 그룹의 위치에 기초하여, 상기 펑처링을 수행한다.
여기에서, 상기 펑처링부는 기정의된 펑처링 패턴 및 상기 펑처링되는 패리티 비트 수에 기초하여 상기 펑처링되는 패리티 비트 그룹의 위치를 결정할 수 있다.
또한, 상기 펑처링부는 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 값에 기초하여 상기 펑처링되는 패리티 비트 그룹의 개수를 결정하고, 상기 결정된 패리티 그룹의 개수 및 상기 기정의된 펑처링 패턴에 따라 상기 펑처링되는 패리티 비트 그룹의 위치를 결정할 수 있다.
여기에서, 상기 펑처링부는 상기 펑처링되는 패리티 비트 수가 상기 열의 패턴이 반복되는 간격으로 나누어 떨어지는 경우, 나눈 몫을 펑처링되는 패리티 비트 그룹의 개수로 결정하고 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹을 그룹 단위로 펑처링할 수 있다.
또한, 상기 펑처링부는 상기 펑처링되는 패리티 비트 수가 상기 열의 패턴이 반복되는 간격으로 나누어 떨어지지 않는 경우, 나눈 몫에 1을 더한 값을 펑처링되는 패리티 비트 그룹의 개수로 결정하고, 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹의 적어도 일부를 펑처링할 수 있다.
여기에서, 상기 펑처링부는 상기 나눈 몫이 0인 경우, 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹에서 펑처링할 수 있다.
또한, 상기 펑처링부는 상기 나눈 몫이 1 이상인 경우, 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹 중 마지막 패리티 그룹에서 펑처링하고, 나머지 패리티 비트 그룹을 그룹 단위로 펑처링할 수 있다.
한편, 상기 기정의된 펑처링 패턴은, 하기의 표 6에 의해 결정될 수 있다.
또한, 상기 열의 패턴이 반복되는 간격은 360일 수 있다.
한편, 본 발명의 일 실시 예에 따른 송신 장치의 펑처링 방법은 패리티 검사 행렬에 기초하여, 입력되는 데이터에 대해 LDPC 부호화를 수행하는 단계, 상기 LDPC 부호화에 의해 생성된 LDPC 코드워드 중에서 패리티 비트들을 인터리빙하는 단계 및, 상기 인터리빙된 패리티 비트들 중에서 적어도 일부를 펑처링하는 단계를 포함하며, 상기 펑처링하는 단계는 상기 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격에 기초하여 상기 패리티 비트들을 그룹핑하고, 펑처링되는 패티비 비트 수 및 상기 그룹핑된 패리티 비트 그룹 중 펑처링되는 패리티 비트 그룹의 위치에 기초하여, 상기 펑처링을 수행할 수 있다.
여기에서, 상기 펑처링하는 단계는 기정의된 펑처링 패턴 및 상기 펑처링되는 패리티 비트 수에 기초하여 상기 펑처링되는 패리티 비트 그룹의 위치를 결정할 수 있다.
또한, 상기 펑처링하는 단계는 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 값에 기초하여 상기 펑처링되는 패리티 비트 그룹의 개수를 결정하고, 상기 결정된 패리티 그룹의 개수 및 상기 기정의된 펑처링 패턴에 따라 상기 펑처링되는 패리티 비트 그룹의 위치를 결정할 수 있다.
여기에서, 상기 펑처링하는 단계는 상기 펑처링되는 패리티 비트 수가 상기 열의 패턴이 반복되는 간격으로 나누어 떨어지는 경우, 나눈 몫을 펑처링되는 패리티 비트 그룹의 개수로 결정하고 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹을 그룹 단위로 펑처링할 수 있다.
또한, 상기 펑처링하는 단계는 상기 펑처링되는 패리티 비트 수가 상기 열의 패턴이 반복되는 간격으로 나누어 떨어지지 않는 경우, 나눈 몫에 1을 더한 값을 펑처링되는 패리티 비트 그룹의 개수로 결정하고, 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹의 적어도 일부를 펑처링할 수 있다.
여기에서, 상기 펑처링하는 단계는 상기 나눈 몫이 0인 경우, 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹에서 펑처링할 수 있다.
또한, 상기 펑처링하는 단계는 상기 나눈 몫이 1 이상인 경우, 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹 중 마지막 패리티 그룹에서 펑처링하고, 나머지 패리티 비트 그룹을 그룹 단위로 펑처링할 수 있다.
한편, 상기 기정의된 펑처링 패턴은, 하기의 표 6에 의해 결정될 수 있다.
또한, 상기 열의 패턴이 반복되는 간격은, 360일 수 있다.
본 발명의 다양한 실시 예에 따르면, 수신 측에서 복호화 성능이 향상될 수 있도록 특정한 펑처링 패턴에 기초하여 LDPC 패리티 비트들 중 적어도 일부를 펑처링할 수 있다. 이에 따라, 수신 측에서 복호화 성능이 향상될 수 있다.
도 1은 일반적인 방송/통신 시스템에서 사용되는 프레임 구조를 설명하기 위한 도면,
도 2는 본 발명의 일 실시 예에 따른 송신 장치의 구성을 설명하기 위한 블록도,
도 3은 본 발명의 일 실시 예에 따른 부호화부의 구성을 설명하기 위한 블록도,
도 4는 본 발명의 일 실시 예에 따라 LDPC 부호화 시 이용되는 패리티 검사 행렬의 구조를 설명하기 위한 도면,
도 5 내지 도 8은 본 발명의 일 실시 예에 따른 제로 비트를 패딩하는 방법을 설명하기 위한 도면들,
도 9는 본 발명의 일 실시 예에 따른 송신 장치의 구성을 설명하기 위한 블록도,
도 10 내지 도 12는 본 발명의 일 실시 예에 따른 펑처링 방법을 설명하기 위한 도면들,
도 13은 본 발명의 일 실시 예에 따른 송신 장치의 세부 구성을 설명하기 위한 블록도,
도 14는 본 발명의 일 실시 예에 따른 쇼트닝 방법을 설명하기 위한 도면,
도 15는 본 발명의 일 실시 예에 따른 수신 장치의 구성을 설명하기 위한 블록도,
도 16은 본 발명의 일 실시 예에 따른 복호화부의 구성을 설명하기 위한 블록도,
도 17은 본 발명의 일 실시 예에 따른 수신 장치의 구성을 설명하기 위한 블록도,
도 18은 본 발명의 일 실시 예에 따른 수신 장치의 세부 구성을 설명하기 위한 블록도,
도 19는 본 발명의 일 실시 예에 따른 송신 장치의 펑처링 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다.
도 1은 일반적인 방송/통신 시스템에서 사용되는 프레임 구조를 설명하기 위한 도면이다. 도 1을 참조하면, 프레임(100)은 프리앰블(110)과 데이터 심볼(120)을 포함한다.
프리앰블(110)은 L1 시그널이 전송되는 부분으로, 도 1에 도시된 바와 같이 L1 프리 시그널링(111)(즉, L1 프리 시그널링 정보)과 L1 포스트 시그널링(112)(즉, L1 포스트 시그널링 정보)으로 구성될 수 있다.
여기에서, L1 프리 시그널링(111)은 수신 장치(미도시)가 L1 포스트 시그널링(112)을 수신하여 액세스하는데 필요한 정보를 포함하고, L1 포스트 시그널링(112)은 수신 장치(미도시)가 PLP에 액세스하는데 필요한 정보를 포함한다.
데이터 심볼(120)은 실제 방송 데이터가 전송되는 부분으로, 하나 이상의 물리 계층 파이프(Physical Layer Pipe, PLP)로 구성될 수 있다. 이 경우, 각 PLP에 대해서는 독립적으로 서로 다른 신호 처리가 수행될 수 있다. 예를 들어, 각 PLP 별로 서로 다른 변조 방식과 부호율(code rate)이 사용될 수 있다.
이와 같이, 일반적인 방송/통신 시스템에서 송신 측은 도 1과 같은 프레임 구조로 방송 데이터를 전송하게 되며 수신 측은 L1 시그널링을 통해 데이터가 전송되는 방식, 프레임 길이 등에 대한 정보를 획득하여 PLP를 통해 방송 데이터를 수신할 수 있게 된다.
이하에서는, 본 발명의 일 실시 예에 따라 L1 시그널링 중 L1 프리 시그널링을 처리하는 방법을 설명하도록 한다. 다만, 이는 일 예일 뿐, L1 프리 시그널링 뿐만 아니라, L1 포스트 시그널링 또는 방송 데이터에 이하에서 설명하는 처리 방식이 적용될 수 있음은 물론이다.
한편, 이하에서 코드워드, 정보어, 패리티 비트, L1 시그널링 등의 길이는 그들 각각에 포함된 비트들의 개수를 의미한다.
도 2는 본 발명의 일 실시 예에 따른 송신 장치의 구성을 설명하기 위한 블록도이다. 도 2에 따르면, 송신 장치(200)는 제로 패딩부(210) 및 부호화부(220)를 포함한다.
제로 패딩부(210)는 입력되는 데이터에 적어도 하나의 제로 비트(zero bit)(또는, 제로 패딩 비트(zero-padded bit))를 패딩(또는, 삽입)한다. 그리고, 제로 패딩부(210)는 적어도 하나의 제로 비트가 패딩된 데이터를 부호화부(220)로 출력한다.
여기에서, 데이터는 L1 프리 시그널링일 수 있다. 여기에서, L1 프리 시그널링은 고정된 개수의 비트로 구성되며, 일 예로, 200 개의 비트로 구성될 수 있다. 다만, 이에 한정되는 것은 아니고, 데이터는 L1 포스트 시그널링 또는 방송 데이터가 될 수도 있다.
구체적으로, 부호화부(220)에서 수행되는 BCH 및 LDPC 부호의 경우 부호율에 따라 일정한 길이의 정보어가 요구된다는 점에서, 제로 패딩부(210)는 부호화부(220)에서 부호화 가능한 길이를 갖도록 데이터에 적어도 하나의 제로 비트를 패딩할 수 있다.
예들 들어, 데이터가 L1 프리 시그널링인 경우, L1 프리 시그널링은 200 개의 비트로 구성된다는 점에서, L1 프리 시그널링은 부호율에 따라 정의되는 BCH 부호의 정보어의 길이보다 작을 수 있다. 따라서, 제로 패딩부(210)는 L1 프리 시그널링이 부호화 가능한 길이를 갖도록 BCH 부호의 정보어 길이와 L1 프리 시그널링의 길이의 차이만큼의 제로 비트를 L1 프리 시그널링에 패딩할 수 있다.
이 경우, 제로 패딩부(210)는 LDPC 부호화 시 이용되는 패리티 검사 행렬에 기초하여 적어도 하나의 제로 비트가 패딩되는 위치를 결정할 수 있다. 구체적으로, 제로 패딩부(210)는 데이터가 정보어 부분 행렬을 구성하는 복수의 열 그룹 중에서 가장 높은 차수를 갖는 열 그룹에 할당되도록 데이터에 적어도 하나의 제로 비트를 패딩할 수 있으며, 구체적인 내용은 후술하기로 한다.
부호화부(220)는 적어도 하나의 제로 비트가 패딩된 데이터에 대해 BCH(Bose, Chaudhuri, Hocquenghem) 및 LDPC(Low Density Parity Check) 부호화를 수행하여 LDPC 코드워드를 생성한다.
이를 위해, 부호화부(220)는 도 3과 같이 BCH 인코더(221)와 LDPC 인코더(222)를 포함할 수 있다.
BCH 인코더(221)는 적어도 하나의 제로 비트가 패딩된 데이터에 대해 BCH 부호화를 수행한다. 그리고, BCH 인코더(221)는 BCH 부호화에 의해 생성된 BCH 코드워드(또는, BCH 부호화 비트들)를 LDPC 인코더(222)로 출력한다.
여기에서, BCH 부호는 시스테메틱 코드(systematic code)라는 점에서, 정보어가 BCH 코드워드에 그대로 포함될 수 있다. 즉, BCH 인코더(221)는 일정한 길이를 갖는 입력 비트들을 BCH 정보어로 BCH 부호화를 수행하고, 그에 따라 생성된 BCH 코드워드는 BCH 정보어인 입력 비트들을 그대로 포함하고 BCH 정보어에 BCH 패리티 비트들이 부가된 형태가 될 수 있다.
이 경우, 예를 들어, 입력 비트들은 적어도 하나의 제로 비트가 패딩된 L1 프리 시그널링이며, 입력 비트들의 비트 수는 BCH 부호의 정보어 비트 수(가령, Kbch)와 동일한 값이 될 수 있다. 그리고, BCH 부호화에 의해 생성된 BCH 패리티 비트는 168 개의 비트로 구성될 수 있다.
LDPC 인코더(222)는 BCH 코드워드에 대해 LDPC 부호화를 수행하여 LDPC 코드워드(또는, LDPC 부호화 비트들)를 생성한다.
여기에서, LDPC 부호는 시스테메틱 코드라는 점에서, 정보어가 LDPC 코드워드에 그대로 포함될 수 있다. 즉, LDPC 인코더(222)는 일정한 길이를 갖는 입력 비트들을 LDPC 정보어로 LDPC 부호화를 수행하고, 그에 따라 생성된 LDPC 코드워드는 LDPC 정보어인 입력 비트들을 그대로 포함하고 LDPC 정보어에 LDPC 패리티 비트들이 부가된 형태가 될 수 있다.
여기에서, 입력 비트들은 BCH 코드워드가 될 수 있다. 이 경우, BCH 인코더(221)는 부호율에 따라 LDPC 인코더(222)에서 LDPC 부호화 가능한 정보어의 길이를 갖는 BCH 코드워드를 생성한다는 점에서, 입력 비트들의 비트 수는 LDPC 부호의 정보어 비트 수(가령, Kldpc)와 동일한 값이 될 수 있다.
이 경우, LDPC 인코더(222)는 입력 비트들을 정보어로 LDPC 부호화를 수행하여 Nldpc 개의 비트로 이루어진 LDPC 코드워드를 생성할 수 있다. 여기에서, LDPC 코드워드는 Kldpc 개의 비트로 구성된 정보어와 Nparity(=Nldpc-Kldpc) 개의 비트로 구성된 LDPC 패리티 비트들을 포함할 수 있다.
한편, LDPC 인코더(222)는 HㆍCT=0을 만족하는 LDPC 코드워드를 생성한다. 여기에서, H는 패리티 검사 행렬을 나타내고, C는 LDPC 코드워드를 나타낸다. 즉, LDPC 인코더(222)는 패리티 검사 행렬과 곱하여 0이 되는 LDPC 코드워드를 생성할 수 있다.
그리고, LDPC 인코더(222)는 다양한 부호율에 따라 LDPC 부호화를 수행하여 다양한 길이를 갖는 LDPC 코드워드를 생성할 수 있다. 예를 들어, LDPC 인코더(222)는 11/15, 13/15 등의 부호율로 LDPC 부호화를 수행하여 16200 개의 비트로 구성된 LDPC 코드워드를 생성할 수 있다.
이 경우, LDPC 인코더(222)는 부호율에 따라 서로 다른 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 부호화를 수행할 수 있다. 이하에서 패리티 검사 행렬에 대해 구체적으로 살펴보도록 한다.
도 4는 본 발명의 일 실시 예에 따라 LDPC 부호화 시 이용되는 패리티 검사 행렬의 구조를 설명하기 위한 도면이다.
도 4를 참조하면, 패리티 검사 행렬(400)은 정보어에 대응되는 부분 행렬인 정보어 부분 행렬(410)과 패리티 비트에 대응되는 부분 행렬인 패리티 부분 행렬(420)로 구성된다.
정보어 부분 행렬(410)은 Kldpc 개의 열(column)을 포함하고, 패리티 부분 행렬(420)은 Nparity=Nldpc-Kldpc 개의 열을 포함한다. 한편, 패리티 검사 행렬(400)의 행(row)의 개수는 패리티 부분 행렬(420)의 열의 개수 Nparity=Nldpc-Kldpc와 동일하다.
또한, 패리티 검사 행렬(400)에서 Nldpc는 LDPC 코드워드의 길이, Kldpc는 정보어의 길이, Nparity=Nldpc-Kldpc는 패리티의 길이를 나타낸다.
한편, 이하에서는 정보어 부분 행렬(410)과 패리티 부분 행렬(420)의 구조에 대해 구체적으로 살펴보도록 한다. 한편, 정보어 부분 행렬(410)과 패리티 부분 행렬(420)에서 1을 제외한 부분의 원소는 0이다.
정보어 부분 행렬(410)은 Kldpc 개의 열(즉, 0 번째 열부터 Kldpc-1 번째 열)을 포함하는 행렬로, 다음과 같은 규칙을 따른다.
첫째, 정보어 부분 행렬(410)을 구성하는 Kldpc 개의 열들은 M 개씩 동일한 그룹에 속하며, 총 Kldpc/M 개의 열 그룹(column group)들로 구분된다. 동일한 열 그룹 내에 속한 열들은 서로 Qldpc 만큼 시클릭 쉬프트(cyclic shift) 된 관계를 가진다.
여기에서, M은 정보어 부분 행렬(410)에서 열의 패턴이 반복되는 간격(일 예로, M= 360), Qldpc는 정보어 부분 행렬(410)에서 각 열이 시클릭 쉬프트되는 크기이다. M 및 Qldpc은 정수로, Qldpc=(Nldpc-Kldpc)/M이 성립하도록 결정된다. 이때, Kldpc/M도 정수가 된다. M 및 Qldpc의 구체적인 값은 LDPC 코드워드의 길이와 부호율에 따라 달라질 수 있다.
둘째, i 번째(i=0,1,...,Kldpc/M) 열 그룹의 0 번째 열의 차수(degree)(여기에서, 차수는 열에 존재하는 1 값의 개수로, 동일한 열 그룹에 속하는 모든 열들의 차수는 동일하다)를 Di라 하고, 1이 있는 각 행의 위치를
Figure 112014088173635-pat00001
이라 하면, i 번째 열 그룹 내의 j 번째 열에서 무게-1(weight-1)이 위치한 행의 인덱스
Figure 112014088173635-pat00002
(즉, i 번째 열 그룹 내의 j 번째 열에서 k 번째 1이 위치한 행의 인덱스)는 하기의 수학식 1과 같이 결정된다.
Figure 112014088173635-pat00003
여기에서, k=0,1,2,...,Di-1, i=0,1,...,Kldpc/M, j=1,2,...,M-1이다.
한편, 수학식 1은 하기의 수학식 2와 같이 동일하게 표현될 수 있다
Figure 112014088173635-pat00004
여기에서, k=0,1,2,...,Di-1, i=0,1,...,Kldpc/M, j=1,2,...,M-1이다.
이들 수학식에서,
Figure 112014088173635-pat00005
는 i 번째 열 그룹 내의 j 번째 열에서 k 번째 무게-1이 있는 행의 인덱스, Nldpc는 LDPC 코드워드의 길이, Kldpc는 정보어의 길이, Di는 i 번째 열 그룹에 속하는 열들의 차수, M은 하나의 열 그룹에 속하는 열의 개수, Qldpc는 각 열이 시클릭 쉬프트되는 크기를 의미한다.
이들 수학식에 의하면,
Figure 112014088173635-pat00006
값만을 알면 i 번째 열 그룹 내의 k 번째 무게-1이 있는 행의 인덱스
Figure 112014088173635-pat00007
를 알 수 있음을 나타난다. 그러므로, 각각의 열 그룹 내의 첫 번째 열에서 k 번째 무게-1이 있는 행의 인덱스 값을 저장하면, 도 4의 구조를 갖는 패리티 검사 행렬(400)(즉, 패리티 검사 행렬(400)의 정보어 부분 행렬(410))에서 무게-1이 있는 열과 행의 위치가 파악될 수 있다.
상술한 규칙들에 따르면, i 번째 열 그룹에 속하는 열들의 차수는 모두 Di로 동일하다. 따라서, 상술한 규칙들에 따라 패리티 검사 행렬에 대한 정보를 저장하고 있는 LDPC 부호는 다음과 같이 간략하게 표현될 수 있다.
예를 들어, Nldoc가 30, Kldpc가 15, Qldpc가 3인 경우, 3 개의 열 그룹의 0 번째 열에서 무게-1이 위치한 행의 위치 정보는 하기 수학식 3과 같은 수열들로 표현될 수 있으며, 이는 '무게-1 위치 수열(weight-1 position sequence)'이라 지칭될 수 있다.
Figure 112014088173635-pat00008
여기에서,
Figure 112014088173635-pat00009
는 i 번째 열 그룹 내의 j번째 열에서 k번째 무게-1이 있는 행의 인덱스를 의미한다.
각 열 그룹의 0 번째 열에서 1이 위치한 행의 인덱스를 나타내는 수학식 3과 같은 무게-1 위치 수열들은 하기의 표 1과 같이 보다 간략하게 표현될 수 있다.
Figure 112014088173635-pat00010
표 1은 패리티 검사 행렬에서 무게-1, 다시 말해, 1 값을 가지는 원소의 위치를 나타낸 것으로서, i 번째 무게-1 위치 수열은 i 번째 열 그룹에 속한 0 번째 열에서 무게-1이 있는 행의 인덱스들로 표현된다.
한편, 패리티 부분 행렬(420)은 Nldpc-Kldpc 개의 열(즉, Kldpc 번째 열부터 Nldpc-1 번째 열)을 포함하는 부분 행렬로, 이중 대각(dual diagoanl) 구조를 갖는다. 따라서, 패리티 부분 행렬(420)에 포함되는 열 중에서 마지막 열(즉, Nldpc-1 번째 열)을 제외한 나머지 열들의 차수는 모두 2이며, 마지막 열(즉, Nldpc-1 번째 열)의 차수는 1이 된다.
이하에서는 본 발명의 일 실시 예에 따라 LDPC 부호화 시 이용되는 패리티 검사 행렬의 구체적인 구조를 설명하도록 한다.
구체적으로, LDPC 코드워드의 길이 Nldpc가 16200, 정보어의 길이 Kldpc가 14040, 부호율이 13/15, M이 360인 경우, 패리티 검사 행렬은 하기의 표 2와 같이 정의될 수 있다.
Figure 112014088173635-pat00011
표 2는 패리티 검사 행렬의 정보어 부분 행렬의 i 번째 열 그룹의 0 번째 열에서 1이 위치한 행의 인덱스를 나타낸다.
즉, 정보어 부분 행렬은 각각 360 개의 열을 포함하는 39 개의 열 그룹으로 구성되며, 상술한 표 2에 의해 각 열 그룹의 0 번째 열에서 1 값의 위치가 정의될 수 있다. 예를 들어, 0 번째 열 그룹의 0 번째 열의 경우 37 번째 행, 144 번째 행, 161 번째 행,...에 1이 존재할 수 있다.
그리고, 각 열 그룹의 0 번째 열에서 1 이 존재하는 행을 Qldpc만큼 시클릭 쉬프트하여 해당 열 그룹의 다른 열에서 1이 위치한 행이 정의될 수 있다.
구체적으로, 표 2의 경우 Qldpc=(Nldpc-Kldpc)/M=(16200-14040)/360=6이고, 0 번째 열 그룹의 0 번째 열에서 1 이 위치한 행의 인덱스는 37, 144, 161,...이므로, 0 번째 열 그룹의 1 번째 열에서 1이 위치한 행의 인덱스는 43(=37+6), 150(=144+6), 167(=161+6),...이고, 0 번째 열 그룹의 2 번째 열에서 1이 위치한 행의 인덱스는 49(=43+6), 156(=150+6), 173(=167+6),...이 될 수 있다.
다른 예로, LDPC 코드워드의 길이 Nldpc가 16200, 정보어의 길이 Kldpc가 14040, 부호율이 13/15, M이 360인 경우, 패리티 검사 행렬은 하기의 표 3과 같이 정의될 수 있다.
Figure 112014088173635-pat00012
표 3은 패리티 검사 행렬의 정보어 부분 행렬의 i 번째 열 그룹의 0 번째 열에서 1이 위치한 행의 인덱스를 나타낸다.
즉, 정보어 부분 행렬은 각각 360 개의 열을 포함하는 39 개의 열 그룹으로 구성되며, 상술한 표 3에 의해 각 열 그룹의 0 번째 열에서 1 값의 위치가 정의될 수 있다. 예를 들어, 0 번째 열 그룹의 0 번째 열의 경우 237 번째 행, 638 번째 행, 1607 번째 행,...에 1이 존재할 수 있다.
그리고, 각 열 그룹의 0 번째 열에서 1 이 존재하는 행을 Qldpc만큼 시클릭 쉬프트하여 해당 열 그룹의 다른 열에서 1이 위치한 행이 정의될 수 있다.
구체적으로, 표 3의 경우 Qldpc=(Nldpc-Kldpc)/M=(16200-14040)/360=6이고 0 번째 열 그룹의 0 번째 열에서 1 이 위치한 행의 인덱스는 237, 638, 1607이므로, 0 번째 열 그룹의 1 번째 열에서 1이 위치한 행의 인덱스는 243(=237+6), 644(=638+6), 1613(=1607+6)이고, 0 번째 열 그룹의 2 번째 열에서 1이 위치한 행의 인덱스는 249(=243+6), 650(=644+6), 1619(=1613+6)가 될 수 있다.
또 다른 예로, LDPC 코드워드의 길이 Nldpc가 16200, 정보어의 길이 Kldpc가 11880, 부호율이 11/15, M이 360인 경우, 패리티 검사 행렬은 하기의 표 4와 같이 정의될 수 있다.
Figure 112014088173635-pat00013
표 4는 패리티 검사 행렬의 정보어 부분 행렬의 i 번째 열 그룹의 0 번째 열에서 1이 위치한 행의 인덱스를 나타낸다.
즉, 정보어 부분 행렬은 각각 360 개의 열을 포함하는 33 개의 열 그룹으로 구성되며, 상술한 표 4에 의해 각 열 그룹의 0 번째 열에서 1 값의 위치가 정의될 수 있다. 예를 들어, 0 번째 열 그룹의 0 번째 열의 경우 108 번째 행, 297 번째 행, 703 번째 행,...에 1이 존재할 수 있다.
그리고, 각 열 그룹의 0 번째 열에서 1 이 존재하는 행을 Qldpc만큼 시클릭 쉬프트하여 해당 열 그룹의 다른 열에서 1이 위치한 행이 정의될 수 있다.
구체적으로, 표 4의 경우 Qldpc=(Nldpc-Kldpc)/M=(16200-11880)/360=12이고 0 번째 열 그룹의 0 번째 열에서 1 이 위치한 행의 인덱스는 108, 297, 703,...이므로, 0 번째 열 그룹의 1 번째 열에서 1이 위치한 행의 인덱스는 120(=108+12), 309(=297+12), 715(=703+12),...이고, 0 번째 열 그룹의 2 번째 열에서 1이 위치한 행의 인덱스는 132(=120+12), 321(=309+12, 727(=715+12),...이 될 수 있다.
한편, 표 2 내지 표 4에서 정의되는 패리티 검사 행렬은 도 4와 같은 구조를 갖는다는 점에서, 패리티 부분 행렬은 이중 대각 구조를 가질 수 있다.
결국, 상술한 방식에 의해 패리티 검사 행렬(400)의 구조가 정의될 수 있으며, 패리티 검사 행렬에 대한 정보는 기저장되어 있을 수 있다.
한편, 상술한 바와 같이 적어도 하나의 제로 비트가 패딩되는 위치는 LDPC 부호화 시 이용되는 패리티 검사 행렬에 의해 결정될 수 있다.
구체적으로, 제로 패딩부(210)는 데이터가 정보어 부분 행렬을 구성하는 복수의 열 그룹 중에서 가장 높은 차수를 갖는 열 그룹에 할당되도록 BCH 정보어에 데이터를 위치시키고 BCH 정보어를 구성하는 나머지 비트들에 제로 비트들이 위치시켜, 데이터에 제로 비트를 패딩할 수 있다.
여기에서, 데이터를 열 그룹에 할당한다는 것은 HㆍCT=0에 의해 LDPC 코드워드 생성 시 가장 높은 차수를 갖는 열 그룹과 곱해질 수 있는 위치에 데이터를 위치시키는 것을 의미한다.
예를 들어, 데이터가 L1 프리 시그널링인 경우를 가정한다. 이 경우, 0 번째 열 그룹이 가장 높은 차수를 갖으며 BCH 정보어 I=(i0, i1, ...,
Figure 112014088173635-pat00014
)인 경우를 가정한다. 이 경우, BCH 정보어를 구성하는 비트들 중에서 i0, i1,..., i359가 LDPC 부호화 시 정보어 부분 행렬의 0 번째 열 그룹과 곱해지므로, 해당 비트들에 L1 프리 시그널링이 위치될 수 있으며, BCH 정보어를 구성하는 나머지 비트들 즉, i360, i361,...,
Figure 112014088173635-pat00015
에 제로 비트가 패딩될 수 있다.
이하에서는, 패리티 검사 행렬의 구조에 따라 제로 비트가 패딩되는 방법을 구체적으로 설명하도록 한다.
먼저, 제로 패딩부(210)는 BCH 정보어를 복수의 그룹으로 구분한다. 여기에서, BCH 정보어는 데이터에 적어도 하나의 제로 비트가 패딩되어 생성될 수 있다.
구체적으로, 제로 패딩부(210)는 하기의 수학식 4에 기초하여 Kbch 개의 비트로 구성된 BCH 정보어 I=(i0, i1,...,
Figure 112014088173635-pat00016
)를 Ngroup 개의 그룹으로 구분한다.
Figure 112014088173635-pat00017
여기에서, Zj는 j 번째 그룹을 나타낸다. 그리고,
Figure 112014088173635-pat00018
는 x보다 작은 최대 정수를 의미하며, 일 예로,
Figure 112014088173635-pat00019
이다.
한편, BCH 인코더(221)는 BCH 정보어를 BCH 부호화하여 BCH 코드워드를 생성하고, LDPC 인코더(222)는 BCH 코드워드를 BCH 코드워드를 LDPC 정보어로 LDPC 부호화를 수행하여 LDPC 코드워드를 생성할 수 있다. 여기에서, BCH 코드워드는 BCH 정보어에 BCH 패리티 비트가 부가된 형태이고, LDPC 코드워드는 BCH 코드워드에 LDPC 패리티 비트가 부가된 형태가 될 수 있다.
이와 같이, BCH 부호와 LDPC 부호가 연접(concatenation)하여 생성된 LDPC 코드워드는 도 5와 같이 나타낼 수 있다. 도 5를 참조하면, BCH 정보어는 Ngroup 개의 그룹으로 구분되고, BCH 정보어 이후에 BCH 패리티 비트와 LDPC 패리티 비트가 순차적으로 부가된 것을 확인할 수 있다.
한편, 변조 방식에 따라 하기의 표 5와 같은 서로 다른 코딩 파라미터 (Kbch, Kldpc)가 적용되어 LDPC 코드워드가 생성될 수 있다.
Figure 112014088173635-pat00020
구체적으로, 변조 방식이 BPSK(binary phase shift keying)인 경우, BCH 부호화 시 요구되는 BCH 정보어의 길이 Kbch는 13872이고, BCH 부호화에 의해 168 개의 비트로 구성된 BCH 패리티 비트가 생성된다는 점에서, LDPC 정보어의 길이 Kldpc는 14040가 될 수 있다.
이 경우, LDPC 인코더(220)는 표 2 또는 표 3에 기초하여 13/15의 부호율로 LDPC 정보어에 대해 LDPC 부호화를 수행하여 LDPC 코드워드를 생성할 수 있다. 이에 따라 생성된 LDPC 코드워드의 길이 Nldpc는 16200이 될 수 있다.
또한, 변조 방식이 QPSK(quadrature phase shift keying)인 경우, BCH 부호화 시 요구되는 BCH 정보어의 길이 Kbch는 11712이고, BCH 부호화에 의해 168 개의 비트로 구성된 BCH 패리티 비트가 생성된다는 점에서, LDPC 정보어의 길이 Kldpc는 11180이 될 수 있다.
이 경우, LDPC 인코더(220)는 표 4에 기초하여 11/15의 부호율로 LDPC 정보어에 대해 LDPC 부호화를 수행하여 LDPC 코드워드를 생성할 수 있다. 이때, LDPC 코드워드의 길이 Nldpc는 16200이 될 수 있다.
한편, 도 5를 참조하면, 변조 방식이 BPSK인 경우 BCH 정보어의 길이 Kbch가 13872라는 점에서, BCH 정보어를 구성하는 그룹의 개수 Ngroup은 39가 될 수 있다. 이 경우, 0 번째 그룹부터 Ngroup-2 번째 그룹까지 각 그룹은 360 개의 비트로 구성되며 Ngroup-1 번째 그룹 즉, 마지막 그룹은 360-(Kldpc-Kbch)=360-(14040-13872)=192 개의 비트로 구성된다.
또한, 변조 방식이 QPSK인 경우 BCH 정보어의 길이 Kbch가 11712라는 점에서, BCH 정보어를 구성하는 그룹의 개수 Ngroup은 33이 될 수 있다. 이 경우, 0 번째 그룹부터 Ngroup-2 번째 그룹까지 각 그룹은 360 개의 비트로 구성되며 Ngroup-1 번째 그룹 즉, 마지막 그룹은 360-(Kldpc-Kbch)=360-(11880-11712)=192 개의 비트로 구성된다.
즉, 이들 경우에서 0≤j≤Ngroup-2를 만족하는 그룹 Zj는 360 개의 비트로 구성되고, 그룹
Figure 112014088173635-pat00021
은 192 개의 비트로 구성된다.
한편, LDPC 코드워드의 길이 Nldpc가 16200, 정보어의 길이 Kldpc가 14040, 부호율이 13/15인 경우, LDPC 인코더(222)는 표 2 또는 표 3에 의해 정의되는 패리티 검사 행렬에 기초하여 LDPC 부호화를 수행할 수 있다.
이 경우, 제로 패딩부(210)는 표 2 또는 표 3에 의해 정의되는 패리티 검사 행렬에서 가장 높은 차수를 갖는 열 그룹을 판단하고, 해당 열 그룹에 데이터가 할당되도록 적어도 하나의 제로 비트를 패딩할 수 있다.
이하에서는, 도 6을 참조하여 표 2에 의해 정의되는 패리티 검사 행렬에 의해 LDPC 부호화가 수행되는 경우 제로 비트를 패딩하는 방법에 대해 살펴보도록 한다. 한편, 설명의 편의를 위해 도 6에서 제로 비트가 패딩되는 데이터는 L1 프리 시그널링인 것으로 가정하도록 한다.
L1 프리 시그널링의 길이는 200으로 고정된 값을 가지므로, 제로 패딩부(210)는 BCH 정보어의 길이 Kbch에서 L1 프리 시그널링의 길이 Ksig를 뺀 값만큼의 제로 비트를 L1 프리 시그널링에 패딩할 수 있다(여기에서, 제로 패딩부(210)는 L1 프리 시그널링을 입력받아 제로 비트를 패딩한다는 점에서, Ksig는 제로 패딩부(210)로 입력되는 정보어 비트의 개수로 볼 수도 있다). 즉, 제로 패딩부(210)는 도 6과 같이 Kbch-Ksig=13872-200=13672 개의 제로 비트를 L1 프리 시그널링에 패딩하여 13872 개의 비트로 구성된 BCH 정보어가 생성할 수 있다.
한편, 표 2를 참조하면, 정보어 부분 행렬을 구성하는 39 개의 열 그룹 중 0 번째 열 그룹, 1 번째 열 그룹, 2 번째 열 그룹, 3 번째 열 그룹 및 4 번째 열 그룹의 차수가 다른 열 그룹보다 높다는 점을 확인할 수 있다.
따라서, 제로 패딩부(210)는 L1 프리 시그널링이 5 개의 열 그룹 중 하나에 할당되도록 제로 비트를 패딩할 수 있다. 이하에서는 L1 프리 시그널링이 0 번째 열 그룹에 할당되는 경우를 가정한다.
BCH 정보어는 정보어 부분 행렬의 열 그룹의 개수와 동일한 39 개의 그룹으로 구분되고 BCH 정보어의 각 그룹은 정보어 부분 행렬의 열 그룹 각각에 대응된다는 점에서(이 경우, 마지막 그룹은 192 비트로 구성되고 BCH 패리티 비트는 168 비트로 구성된다는 점에서, 마지막 그룹은 BCH 패리티 비트와 함께 정보어 부분 행렬의 마지막 열 그룹에 대응될 수 있다), 제로 패딩부(210)는 도 6과 같이 BCH 정보어의 0 번째 그룹을 구성하는 0 번째 비트부터 199 번째 비트까지 L1 프리 시그널링을 순차적으로 위치시킬 수 있다. 이에 따라, L1 프리 시그널링은 패리티 검사 행렬의 0 번째 열 그룹의 200 개의 열(즉, 정보어 부분 행렬의 0 번째 열 그룹의 0 번째 열부터 199 번째 열)에 할당될 수 있다.
그리고, 제로 패딩부(210)는 BCH 정보어의 0 번째 그룹의 나머지 비트들 즉, 200 번째 비트부터 359 번째 비트까지 제로 비트를 패딩하고, BCH 정보어의 1 번째 그룹부터 38 번째 그룹을 구성하는 비트들에 제로 비트를 패딩할 수 있다. 즉, 제로 패딩부(210)는 도 6과 같이 0 번째 그룹에 160 개의 제로 비트를 패딩하고 1 번째 그룹부터 38 번째 그룹에 13512 개의 제로 비트를 패딩하여, 총 13672 개의 제로 비트를 패딩할 수 있다.
결국, L1 프리 시그널링을 구성하는 각 비트를 (s0, s1,..., s199)라 할 때, BCH 정보어는 I=(i0, i1,..., i199, i200, i201,...,
Figure 112014088173635-pat00022
)=(s0, s1,..., s199, 0, 0,..., 0)와 같이 구성될 수 있다.
이와 같이, 제로 패딩부(210)는 정보어 부분 행렬의 복수의 열 그룹에서 1이 존재하는 위치가 표 2와 같이 정의되는 경우 L1 프리 시그널링이 복수의 열 그룹 중 0 번째 열 그룹에 할당되도록 L1 프리 시그널링에 적어도 하나의 제로 비트를 패딩할 수 있다. 이 경우, 부호화부(220)는 13/15의 부호율로 LDPC 부호화를 수행하여 16200 개의 비트로 구성된 LDPC 코드워드를 생성할 수 있다.
한편, 상술한 예에서는 L1 프리 시그널링이 BCH 정보어의 0 번째 그룹의 0 번째 비트부터 199 번째 비트까지 위치하는 것으로 설명하였으나 이는 일 예에 불과하며, L1 프리 시그널링은 0 번째 열 그룹의 다른 200 개의 비트에 위치할 수도 있다.
또한, 상술한 예에서 L1 프리 시그널링이 정보어 부분 행렬을 구성하는 39 개의 열 그룹 중 0 번째 열 그룹에 할당되는 것으로 설명하였으나 이 역시 일 예에 불과하다. 즉, L1 프리 시그널링은 0 번째 열 그룹과 동일한 차수를 갖는 다른 열 그룹 즉, 1 번째 열 그룹, 2 번째 열 그룹, 3 번째 열 그룹 및 4 번째 열 그룹에 할당될 수도 있다.
한편, LDPC 코드워드의 길이 Nldpc가 16200, 정보어의 길이 Kldpc가 14040, 부호율이 13/15인 경우, LDPC 인코더(222)는 표 3에 의해 정의되는 패리티 검사 행렬에 기초하여 LDPC 부호화를 수행할 수도 있다.
이 경우, 제로 패딩부(210)는 표 3에 의해 정의되는 패리티 검사 행렬에서 가장 높은 차수를 갖는 열 그룹을 판단하고, 해당 열 그룹에 데이터가 할당되도록 적어도 하나의 제로 비트를 패딩할 수 있다.
이하에서는, 도 7을 참조하여 표 3에 의해 정의되는 패리티 검사 행렬에 의해 LDPC 부호화가 수행되는 경우 제로 비트를 패딩하는 방법에 대해 살펴보도록 한다. 한편, 설명의 편의를 위해 도 7에서 제로 비트가 패딩되는 데이터는 L1 프리 시그널링인 것으로 가정하도록 한다.
L1 프리 시그널링의 길이는 200으로 고정된 값을 가지므로, 제로 패딩부(210)는 BCH 정보어의 길이 Kbch에서 L1 프리 시그널링의 길이 Ksig를 뺀 값만큼의 제로 비트를 L1 프리 시그널링에 패딩할 수 있다. 즉, 제로 패딩부(210)는 도 7과 같이 Kbch-Ksig=13872-200=13672 개의 제로 비트를 L1 프리 시그널링에 패딩하여 13872 개의 비트로 구성된 BCH 정보어를 생성할 수 있다.
한편, 표 3을 참조하면, 정보어 부분 행렬을 구성하는 39 개의 열 그룹 중 34 번째 열 그룹, 35 번째 열 그룹, 36 번째 열 그룹, 37 번째 열 그룹 및 38 번째 열 그룹의 차수가 다른 열 그룹보다 높다는 점을 확인할 수 있다.
따라서, 제로 패딩부(210)는 L1 프리 시그널링이 5 개의 열 그룹 중 하나에 할당되도록 제로 비트를 패딩할 수 있다.
이하에서는 38 번째 열 그룹에 L1 프리 시그널링이 할당되는 경우를 가정한다.
BCH 정보어는 정보어 부분 행렬의 열 그룹의 개수와 동일한 39 개의 그룹으로 구분되고 BCH 정보어의 각 그룹은 정보어 부분 행렬의 열 그룹 각각에 대응된다는 점에서(이 경우, 마지막 그룹은 192 비트로 구성되고 BCH 패리티 비트는 168 비트로 구성된다는 점에서, 마지막 그룹은 BCH 패리티 비트와 함께 정보어 부분 행렬의 마지막 열 그룹에 대응될 수 있다), 제로 패딩부(210)는 도 7과 같이 BCH 정보어의 마지막 그룹인 38 번째 그룹을 구성하는 비트들에 L1 프리 시그널링을 위치시킬 수 있다.
여기에서, 38 번째 그룹은 192 개의 비트로 구성된다는 점에서, 제로 패딩부(210)는 38 번째 그룹을 구성하는 모든 비트들에 L1 프리 시그널링을 위치시킬 수 있다. 그리고, 나머지 8 비트의 L1 프리 시그널링을 37 번째 그룹을 구성하는 비트들에 위치시킬 수 있다.
구체적으로, 제로 패딩부(210)는 37 번째 그룹의 352 번째 비트부터 359 번째 비트까지 L1 프리 시그널링을 구성하는 최초 8 개의 비트를 순차적으로 위치시키고, 나머지 192 비트의 L1 프리 시그널링을 38 번째 그룹의 0 번째 비트부터 359 번째 비트까지 순차적으로 위치시킬 수 있다. 이에 따라, L1 프리 시그널링은 패리티 검사 행렬의 37 번째 열 그룹의 352 번째 열부터 359 번째 열(즉, 정보어 부분 행렬의 37 번째 열 그룹의 352 번째 열부터 359 번째 열)과 38 번째 열 그룹의 0 번째 열부터 199 번째 열(즉, 정보어 부분 행렬의 38 번째 열 그룹의 0 번째 열부터 199 번째 열)에 할당될 수 있다.
그리고, 제로 패딩부(210)는 BCH 정보어의 37 번째 그룹의 나머지 비트들 즉, 37 번째 그룹을 구성하는 0 번째 비트부터 351 번째 비트까지 제로 비트를 패딩하고, BCH 정보어의 0 번째 그룹부터 36 번째 그룹 각각을 구성하는 비트들에 제로 비트를 패딩할 수 있다. 즉, 제로 패딩부(210)는 도 7과 같이 37 번째 그룹에 352 개의 제로 비트를 패딩하고 0 번째 열 그룹부터 36 번째 열 그룹에 13320 개의 제로 비트를 패딩하여, 총 13672 개의 제로 비트를 패딩할 수 있다.
결국, L1 프리 시그널링을 구성하는 각 비트를 (s0, s1,..., s199)라 할 때, BCH 정보어는 I=(i0, i1,..., i13670, i13671, i13672, i13673,...,
Figure 112014088173635-pat00023
)= (0, 0,..., 0, 0, s0, s1,..., s199)와 같이 구성될 수 있다.
이와 같이, 제로 패딩부(210)는 정보어 부분 행렬의 복수의 열 그룹에서 1이 존재하는 위치가 표 3과 같이 정의되는 경우 L1 프리 시그널링이 복수의 열 그룹 중 38 번째 열 그룹에 할당되도록 L1 프리 시그널링에 적어도 하나의 제로 비트를 패딩할 수 있다. 이 경우, 부호화부(220)는 13/15의 부호율로 LDPC 부호화를 수행하여 16200 개의 비트로 구성된 LDPC 코드워드를 생성할 수 있다.
한편, 상술한 예에서는 L1 프리 시그널링이 BCH 정보어의 37 번째 그룹의 352 번째 비트부터 위치하는 것으로 설명하였으나 이는 일 예에 불과하며, L1 프리 시그널링은 37 번째 그룹의 다른 8 개의 비트에 위치할 수도 있다.
또한, 상술한 예에서 L1 프리 시그널링이 정보어 부분 행렬을 구성하는 39 개의 열 그룹 중 38 번째 열 그룹에 할당되는 것으로 설명하였으나 이 역시 일 예에 불과하다. 즉, L1 시그널링은 38 번째 열 그룹과 동일한 차수를 갖는 다른 열 그룹 즉, 34 번째 열 그룹, 35 번째 열 그룹, 36 번째 열 그룹 및 37 번째 열 그룹에 할당될 수도 있다.
한편, LDPC 코드워드의 길이 Nldpc가 16200, 정보어의 길이 Kldpc가 11880, 부호율이 11/15인 경우, LDPC 인코더(222)는 표 4에 의해 정의되는 패리티 검사 행렬에 기초하여 LDPC 부호화를 수행할 수 있다.
이 경우, 제로 패딩부(210)는 표 4에 의해 정의되는 패리티 검사 행렬에서 가장 높은 차수를 갖는 열 그룹을 판단하고, 해당 열 그룹에 데이터가 할당되도록 적어도 하나의 제로 비트를 패딩할 수 있다.
이하에서는 도 8을 참조하여 표 4에 의해 정의되는 패리티 검사 행렬에 의해 LDPC 부호화가 수행되는 경우 제로 비트를 패딩하는 방법을 살펴보도록 한다. 한편, 설명의 편의를 위해 도 8에서 제로 비트가 패딩되는 데이터는 L1 프리 시그널링인 것으로 가정하도록 한다.
L1 프리 시그널링의 길이는 200으로 고정된 값을 가지므로, 제로 패딩부(210)는 BCH 정보어의 길이 Kbch에서 L1 프리 시그널링의 길이 Ksig를 뺀 값만큼의 제로 비트를 L1 프리 시그널링에 패딩할 수 있다. 즉, 제로 패딩부(210)는 도 8과 같이 Kbch-Ksig=11712-200=11512 개의 제로 비트를 L1 프리 시그널링에 패딩하여 11712 개의 비트로 구성된 BCH 정보어를 생성할 수 있다.
한편, 표 4를 참조하면, 정보어 부분 행렬을 구성하는 33 개의 열 그룹 중 0 번째 열 그룹, 1 번째 열 그룹, 2 번째 열 그룹, 3 번째 열 그룹, 4 번째 열 그룹 및 5 번째 열 그룹의 차수가 다른 열 그룹보다 높은 점을 확인할 수 있다.
따라서, 제로 패딩부(210)는 L1 프리 시그널링이 6 개의 열 그룹 중 하나에 할당되도록 제로 비트를 패딩할 수 있다. 이하에서는 0 번째 열 그룹에 L1 프리 시그널링이 할당되는 경우를 가정한다.
BCH 정보어는 정보어 부분 행렬의 열 그룹의 개수와 동일한 33 개의 그룹으로 구분되고 BCH 정보어의 각 그룹은 정보어 부분 행렬의 열 그룹 각각에 대응된다는 점에서(이 경우, 마지막 그룹은 192 비트로 구성되고 BCH 패리티 비트는 168 비트로 구성된다는 점에서, 마지막 그룹은 BCH 패리티 비트와 함께 정보어 부분 행렬의 마지막 열 그룹에 대응될 수 있다), 제로 패딩부(210)는 도 8과 같이 BCH 정보어의 0 번째 그룹을 구성하는 0 번째 비트부터 199 번째 비트까지 L1 프리 시그널링을 순차적으로 위치시킬 수 있다. 이에 따라, L1 프리 시그널링은 패리티 검사 행렬의 0 번째 열 그룹의 200 개의 열(즉, 정보어 부분 행렬의 0 번째 열 그룹의 0 번째 열부터 199 번째 열)에 할당될 수 있다.
그리고, 제로 패딩부(210)는 BCH 정보어의 0 번째 그룹의 나머지 비트들 즉, 200 번째 비트부터 359 번째 비트까지 제로 비트를 패딩하고, BCH 정보어의 1 번째 그룹부터 32 번째 그룹의 비트들에 제로 비트를 패딩할 수 있다. 즉, 제로 패딩부(210)는 도 8과 같이 0 번째 그룹에 160 개의 제로 비트를 패딩하고 1 번째 그룹부터 32 번째 그룹에 13512 개의 제로 비트를 패딩하여, 총 13672 개의 제로 비트를 패딩할 수 있다.
결국, L1 프리 시그널링을 구성하는 각 비트를 (s0, s1,..., s199)라 할 때, BCH 정보어는 I=(i0, i1,..., i199, i200,...,
Figure 112014088173635-pat00024
)=(s0, s1,..., s199, 0, 0,..., 0)와 같이 구성될 수 있다.
이와 같이, 제로 패딩부(210)는 정보어 부분 행렬의 복수의 열 그룹에서 1이 존재하는 위치가 표 4와 같이 정의되는 경우 L1 프리 시그널링이 복수의 열 그룹 중 0 번째 열 그룹에 할당되도록 L1 프리 시그널링에 적어도 하나의 제로 비트를 패딩할 수 있다. 이 경우, 부호화부(220)는 11/15의 부호율로 LDPC 부호화를 수행하여 16200 개의 비트로 구성된 LDPC 코드워드를 생성할 수 있다.
한편, 상술한 예에서는 L1 프리 시그널링이 BCH 정보어의 0 번째 그룹의 0 번째 비트부터 199 번째 비트까지 위치하는 것으로 설명하였으나 이는 일 예에 불과하며, L1 프리 시그널링은 0 번째 열 그룹의 다른 200 개의 비트에 위치할 수도 있다.
또한, 상술한 예에서 L1 프리 시그널링이 정보어 부분 행렬을 구성하는 33 개의 열 그룹 중 0 번째 열 그룹에 할당되는 것으로 설명하였으나 이 역시 일 예에 불과하다. 즉, L1 프리 시그널링은 0 번째 열 그룹과 동일한 차수를 갖는 다른 열 그룹 즉, 1 번째 열 그룹, 2 번째 열 그룹, 3 번째 열 그룹, 4 번째 열 그룹 및 5 번째 열 그룹에 할당될 수도 있다.
이와 같이, 본 발명에서는 데이터가 정보어 부분 행렬을 구성하는 복수의 열 그룹 중에서 가장 높은 차수를 갖는 열 그룹에 할당되도록 데이터에 제로 비트가 패딩될 수 있다. 이에 따라, LDPC 부호화 시 데이터는 차수가 높은 열 그룹과 곱해진다는 점에서, 수신 측에서 데이터에 대한 복호화 성능이 향상될 수 있게 된다.
한편, 송신 장치(200)는 부호화부(220)에서 출력되는 LDPC 코드워드를 변조하여 수신 장치(도 15의 15000)로 전송할 수 있다. 구체적으로, 송신 장치(200)는 LDPC 코드워드 비트들을 성성점에 맵핑하여 변조하여 변조 심볼을 생성하고, OFDM 방식을 이용하여 변조 심볼을 OFDM 프레임에 맵핑하여 수신 장치(1500)로 전송할 수 있다.
이때, 제로 패딩부(210)에 의해 패딩된 적어도 하나의 제로 비트는 제거되어 수신 장치(1500)로 전송되지 않게 된다. 이를 쇼트닝이라 하며 이와 관련된 구체적인 내용은 후술하기로 한다.
한편, 쇼트닝된 비트들의 위치에 대한 정보는 송신 장치(200)와 수신 장치(1500) 사이에 기정의되어 있을 수 있다. 또는, 송신 장치(200)는 쇼트닝된 비트들의 위치에 대한 정보를 시그널링 정보로서 수신 장치(1500)로 전송하거나, 수신 장치(1500)는 LDPC 부호화에 이용된 패리티 검사 행렬에 기초하여, 쇼트닝된 비트들의 위치를 결정할 수도 있다.
도 9는 본 발명의 다른 실시 예에 따른 송신 장치의 구성을 설명하기 위한 블록도이다. 도 9에 따르면, 송신 장치(900)는 부호화부(910), 패리티 인터리버(920) 및 펑처링부(930)를 포함한다.
부호화부(910)는 패리티 검사 행렬에 기초하여 입력되는 데이터에 대해 LDPC 부호화를 수행한다. 여기에서, 데이터는 L1 프리 시그널링일 수 있다. 다만, 이에 한정되는 것은 아니고, 데이터는 L1 포스트 시그널링 또는 방송 데이터가 될 수도 있다.
이를 위해, 부호화부(910)는 LDPC 인코더(미도시)를 포함할 수 있다.
한편, LDPC 부호화 시 이용되는 패리티 검사 행렬 및 LDPC 부호화를 수행하는 방법 등은 도 2 내지 도 4에서 부호화부(220)와 함께 설명한 바와 동일하다는 점에서, 구체적인 설명은 생략하도록 한다.
한편, 상술한 예에서 부호화부(910)로 입력되는 데이터는 적어도 하나의 제로 비트가 패딩된 L1 프리 시그널링일 수 있으며, 부호화부(910)는 BCH 인코더(미도시)를 포함하여 BCH 및 LDPC 부호를 순차적으로 수행할 수도 있다. 이 역시, 도 2 내지 도 4에서 부호화부(220)와 함께 설명한 바와 동일하다는 점에서, 구체적인 설명은 생략하도록 한다.
이와 같이, 부호화부(910)는 입력되는 데이터에 대해 LDPC 부호화를 수행하여 LDPC 코드워드를 생성할 수 있다.
예를 들어, Kldpc 개의 비트가 부호화부(910)로 입력되면, 부호화부(910)는 입력되는 비트들을 정보어로 LDPC 부호화를 수행하여 Nldpc 개의 비트로 구성된 LDPC 코드워드를 생성할 수 있다. 이 경우, LDPC 코드워드는 Kldpc 개의 비트로 구성된 정보어와 Nparity(=Nldpc-Kldpc) 개의 비트로 구성된 LDPC 패리티 비트들을 포함할 수 있다.
패리티 인터리버(920)는 LDPC 부호화에 의해 생성된 LDPC 코드워드 중에서 패리티 비트들을 인터리빙한다. 즉, 패리티 인터리버(920)는 부호화부(910)로부터 LDPC 코드워드를 입?뭐騁?, LDPC 코드워드를 구성하는 정보어와 LDPC 패리티 비트들 중 LDPC 패리티 비트들에 대해 인터리빙을 수행한다.
구체적으로, 패리티 인터리버(920)는 하기의 수학식 5에 기초하여 부호화부(310)에서 출력되는 LDPC 코드워드 C=(c0, c1,...,
Figure 112014088173635-pat00025
) 중에서 LDPC 패리티 비트만을 인터리빙하고, 패리티 인터리빙된 LDPC 코드워드 U=(u0, u1,...,
Figure 112014088173635-pat00026
)를 펑처링부(930)로 출력할 수 있다.
Figure 112014088173635-pat00027
여기에서, M은 정보어 부분 행렬에서 열의 패턴이 반복되는 간격(일 예로, 360)이고, Qldpc는 정보어 부분 행렬에서 각 열이 시클릭 쉬프트되는 크기이고, Kldpc는 LDPC 정보어의 비트 수이다.
예를 들어, 13/15의 부호율로 LDPC 부호화를 수행한 경우 Qldpc=6, Kldpc=14040이고, 11/15의 부호율로 LDPC 부호화를 수행한 경우 Qldpc=12, Kldpc=11880이다.
펑처링부(930)는 인터리빙된 패리티 비트들 중에서 적어도 일부를 펑처링할 수 있다. 즉, 펑처링부(930)는 패리티 인터리버(920)로부터 LDPC 패리티 비트들이 인터리빙된 LDPC 코드워드를 입력받고, LDPC 코드워드를 구성하는 LDPC 패리티 비트들 중에서 적어도 일부를 펑처링할 수 있다.
여기에서, 펑처링은 패리티 비트들 중 일부를 제거하여 전송하지 않는 것을 의미한다.
구체적으로, 펑처링부(930)는 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격에 기초하여 패리티 비트들을 그룹핑하고, 펑처링되는 패리티 비트 수 및 그룹핑된 패리티 비트 그룹 중 펑처링되는 패리티 비트 그룹의 위치에 기초하여, 펑처링을 수행할 수 있다.
여기에서, 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격은 정보어 부분 행렬에서 동일한 열 그룹에 속하는 열의 개수를 의미한다. 이는 도 4에서 설명한 바와 같이 M으로 표기될 수 있으며 구체적인 일 예로 M=360이 될 수 있다.
이를 위해, 펑처링부(930)는 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격에 기초하여 LDPC 패리티 비트들을 그룹핑하여, LDPC 패리티 비트들을 복수의 패리티 비트 그룹으로 구분할 수 있다.
구체적으로, 펑처링부(930)는 각 패리티 비트 그룹이 정보어 부분 행렬에서 열의 패턴이 반복되는 간격만큼의 비트 수로 구성되도록, 패리티 비트들을 복수의 패리티 그룹으로 구분할 수 있다.
예를 들어, 펑처링부(930)는 하기의 수학식 6에 기초하여 Nldpc-Kldpc 개의 비트로 구성된 LDPC 패리티 비트들 (
Figure 112014088173635-pat00028
,
Figure 112014088173635-pat00029
,...,
Figure 112014088173635-pat00030
)를 Qldpc 개의 패리티 비트 그룹으로 구분할 수 있다. 이 경우, 각 패리티 비트 그룹은 인터리빙된 LDPC 패리티 비트들의 서브 셋을 형성할 수 있다.
Figure 112014088173635-pat00031
여기에서, Pj는 j 번째 패리티 비트 그룹을 나타낸다.
그리고, Nldpc는 LDPC 코드워드의 길이, Kldpc는 정보어의 길이를 나타낸다. 그리고,
Figure 112014088173635-pat00032
는 x보다 작은 최대 정수를 의미하며, 일 예로,
Figure 112014088173635-pat00033
이다.
또한, 360(또는, M)은 정보어 부분 행렬에서 열의 패턴이 반복되는 간격을 나타내고, Qldpc는 정보어 부분 행렬에서 각 열이 시클릭 쉬프트되는 크기이다.
한편, 도 10은 본 발명의 일 실시 예에 따라 LDPC 패리티 비트들이 그룹핑된 결과를 나타낸다. 도 10과 같이, LDPC 패리티 비트들은 Qldpc 개의 패리티 비트 그룹으로 구분되며, 각 패리티 비트 그룹은 360=(Nldpc-Kldpc)/Qldpc 개의 비트로 구성될 수 있다.
그리고, 펑처링부(930)는 펑처링되는 패리티 비트 수를 결정할 수 있다. 여기에서, 펑처링되는 패리티 비트 수 Npunc는 LDPC 패리티 비트들 중에서 제거되어 전송되지 않는 LDPC 패리티 비트들의 수를 의미한다.
이 경우, 펑처링되는 패리티 비트 수는 송신 장치(900)와 수신 장치(도 17의 1700) 사이에 기정의되어 있을 수 있다. 이에 따라, 송신 장치(900)는 펑처링되는 패리티 비트 수에 대한 정보를 기저장하고 있을 수 있으며, 펑처링부(930)는 이를 이용하여 펑처링되는 패리티 비트 수를 결정할 수 있다. 한편, 송신 장치(900)는 펑처링된 패리티 비트 수에 대한 정보를 시그널링 정보로서 수신 장치(1700)로 전송할 수도 있다.
그리고, 펑처링부(930)는 기정의된 펑처링 패턴 및 펑처링되는 패리티 비트 수에 기초하여 펑처링되는 패리티 비트 그룹의 위치를 결정할 수 있다.
여기에서, 기정의된 펑처링 패턴은 펑처링되는 패리티 비트 그룹의 순서를 나타내며, 일 예로, 11/15의 부호율로 LDPC 부호화가 수행된 경우, 펑처링 패턴은 하기의 표 6과 같이 정의될 수 있다.
Figure 112014088173635-pat00034
여기에서, πp(j)는 j 번째로 펑처링되는 패리티 비트 그룹의 인덱스를 나타낸다.
즉, 펑처링부(930)는 펑처링되는 패리티 비트 그룹의 개수를 고려하여, 12 개의 패리티 비트 그룹(P0, P1, P2,..., P10, P11) 중에서 2(=πp(0)) 번째 패리티 비트 그룹(=P2), 7(=πp(1)) 번째 패리티 비트 그룹(=P7),..., 1(=πp(10)) 번째 패리티 비트 그룹(=P1) 및 6(=πp(11)) 번째 패리티 비트 그룹(=P6) 순으로 펑처링을 수행할 수 있다.
예를 들어, 펑처링부(930)는 2 개의 패리티 비트 그룹을 펑처링하는 경우, 12 개의 패리티 비트 그룹 중 2 번째 패리티 비트 그룹과 7 번째 패리티 비트 그룹을 펑처링할 수 있다.
한편, 펑처링부(930)는 펑처링되는 패리티 비트 수를 정보어 부분 행렬에서 열의 패턴이 반복되는 간격으로 나눈 값에 기초하여 펑처링되는 패리티 비트 그룹의 개수를 결정하고, 결정된 패리티 그룹의 개수 및 기정의된 펑처링 패턴에 따라 펑처링되는 패리티 비트 그룹의 위치를 결정할 수 있다.
이를 위해, 펑처링부(930)는 하기의 수학식 7에 기초하여 Npunc _ group을 산출할 수 있다. 여기에서, Npunc _ group는 그룹 단위로 펑처링되는 패리티 비트 그룹의 개수 즉, 해당 패리티 비트 그룹 내의 모든 비트들이 펑처링되는 패리티 비트 그룹의 개수를 의미한다.
Figure 112014088173635-pat00035
여기에서, Npunc는 펑처링되는 패리티 비트 수, Nldpc는 LDPC 코드워드의 길이, Kldpc는 정보어의 길이를 나타낸다. 그리고, 360은 정보어 부분 행렬에서 열의 패턴이 반복되는 간격의 일 예가 될 수 있다. 그리고,
Figure 112014088173635-pat00036
는 x보다 작은 최대 정수를 의미하며, 일 예로,
Figure 112014088173635-pat00037
이다.
그리고, 펑처링부(930)는 펑처링되는 패리티 비트 수가 열의 패턴이 반복되는 간격으로 나누어 떨어지는 경우, 나눈 몫을 펑처링되는 패리티 비트 그룹의 개수로 결정하고 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹을 그룹 단위로 펑처링할 수 있다.
즉, 펑처링부(930)는 펑처링되는 패리티 비트 수가 열의 패턴이 반복되는 간격을 나누어 떨어지는 경우, Npunc _ group를 펑처링되는 패리티 비트 그룹의 개수로 결정하고, 기정의된 펑처링 패턴에 기초하여 패리티 비트 그룹 중에서 πp(0) 번째 그룹(=
Figure 112014088173635-pat00038
), πp(1) 번째 그룹(=
Figure 112014088173635-pat00039
),..., πp(Npunc _ group-1) 번째 그룹(=
Figure 112014088173635-pat00040
)을 펑처링되는 패리티 비트 그룹으로 결정할 수 있다.
그리고, 펑처링부(930)는 πp(0) 번째 패리티 비트 그룹, πp(1) 번째 패리티 비트 그룹,..., πp(Npunc _ group-1) 번째 패리티 비트 그룹을 그룹 단위로 펑처링할 수 있다. 즉, 펑처링부(930)는 πp(0) 번째 패리티 비트 그룹, πp(1) 번째 패리티 비트 그룹,..., πp(Npunc _ group-1) 번째 패리티 비트 그룹 각각에 포함된 패리티 비트들 모두를 펑처링할 수 있다.
예를 들어, Npunc=720이고, 펑처링 패턴이 표 6과 같이 정의되는 경우를 가정한다. 이 경우, 펑처링되는 패리티 비트 수는 열의 패턴이 반복되는 간격으로 나누어 떨어지며, 나눈 몫은 2가 된다.
이에 따라, 펑처링부(930)는 2 개의 패리티 비트 그룹이 펑처링되는 것으로 결정하고, 표 6과 같은 펑처링 패턴에 기초하여 12 개의 패리티 비트 그룹 (P0, P1,..., P10, P11) 중 2 번째 패리티 비트 그룹(=P2) 및 7 번째 패리티 비트 그룹(=P7)이 펑처링되는 패리티 비트 그룹인 것으로 결정할 수 있다. 그리고, 펑처링부(930)는 2 번째 패리티 비트 그룹 및 7 번째 패리티 비트 그룹에 존재하는 LDPC 패리티 비트들을 모두 펑처링할 수 있다.
한편, 펑처링부(930)는 펑처링되는 패리티 비트 수가 열의 패턴이 반복되는 간격으로 나누어 떨어지지 않는 경우, 나눈 몫에 1을 더한 값을 펑처링되는 패리티 비트 그룹의 개수로 결정하고, 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹의 적어도 일부를 펑처링할 수 있다.
이 경우, 펑처링부(930)는 나눈 몫이 0인 경우, 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹에서 펑처링할 수 있다.
즉, 펑처링부(930)는 펑처링되는 패리티 비트 수가 열의 패턴이 반복되는 간격을 나누어 떨어지지 않고 나눈 몫이 0인 경우, Npunc _ group+1을 펑처링되는 패리티 비트 그룹의 개수로 결정하고, 기정의된 펑처링 패턴에 기초하여 패리티 비트 그룹 중에서 πp(Npunc _ group) 번째 그룹(=
Figure 112014088173635-pat00041
)의 일부를 펑처링할 수 있다.
이 경우, 펑처링부(930)는 펑처링되는 패리티 비트 수를 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 πp(Npunc _ group) 번째 그룹(=
Figure 112014088173635-pat00042
)에서 펑처링할 수 있다.
예를 들어, Npunc=200이고, 펑처링 패턴이 표 6과 같이 정의되는 경우를 가정한다. 이 경우, 펑처링되는 패리티 비트 수는 열의 패턴이 반복되는 간격으로 나누어 떨어지지 않으며, 나눈 몫은 0이고 나머지 값은 200이 된다.
이에 따라, 펑처링부(930)는 1 개의 패리티 비트 그룹 중 일부가 펑처링되는 것으로 결정하고, 표 6과 같은 펑처링 패턴에 기초하여 12 개의 패리티 비트 그룹 (P0, P1,..., P10, P11) 중 2 번째 패리티 비트 그룹(=P2)에서 나머지 값만큼의 패리티 비트 즉, 200 비트를 펑처링할 수 있다.
한편, 펑처링부(930)는 나눈 몫이 1 이상인 경우, 펑처링되는 패리티 비트 수를 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹 중 마지막 패리티 그룹에서 펑처링하고, 나머지 패리티 비트 그룹을 그룹 단위로 펑처링할 수 있다.
즉, 펑처링부(930)는 펑처링되는 패리티 비트 수가 열의 패턴이 반복되는 간격을 나누어 떨어지지 않고 나눈 몫이 1 이상인 경우, Npunc _ group+1을 펑처링되는 패리티 비트 그룹의 개수로 결정하고, 기정의된 펑처링 패턴에 기초하여 패리티 비트 그룹 중에서 πp(0) 번째 그룹(=
Figure 112014088173635-pat00043
), πp(1) 번째 그룹(=
Figure 112014088173635-pat00044
),..., πp(Npunc_group-1) 번째 그룹(=
Figure 112014088173635-pat00045
), πp(Npunc _ group) 번째 그룹(=
Figure 112014088173635-pat00046
)을 펑처링되는 패리티 비트 그룹으로 결정할 수 있다.
이 경우, 펑처링부(930)는 πp(0) 번째 그룹, πp(1) 번째 그룹,..., πp(Npunc_group-1) 번째 그룹에 대해서는 그룹 단위로 펑처링을 수행하고, πp(Npunc _ group) 번째 그룹에 대해서는 나머지 값만큼의 패리티 비트를 펑처링할 수 있다.
예를 들어, Npunc=800이고, 펑처링 패턴이 표 6과 같이 정의되는 경우를 가정한다.
이 경우, 펑처링되는 패리티 비트 수는 열의 패턴이 반복되는 간격으로 나누어 떨어지지 않으며, 나눈 몫은 2이고 나머지 값은 80이 된다.
이에 따라, 펑처링부(930)는 3 개의 패리티 비트 그룹이 펑처링되는 것으로 결정하고, 표 6과 같은 펑처링 패턴에 기초하여 12 개의 패리티 비트 그룹 (P0, P1,..., P10, P11) 중 2번째 패리티 비트 그룹(=P2), 7 번째 패리티 비트 그룹(=P7), 11 번째 패리티 비트 그룹(=P11)을 펑처링되는 패리티 비트 그룹인 것으로 결정할 수 있다.
이 경우, 펑처링부(930)는 2 번째 패리티 비트 그룹 및 7 번째 패리티 비트 그룹에 대해서는 해당 패리티 비트 그룹들에 포함된 모든 LDPC 패리티 비트들을 펑처링하고, 펑처링되는 것으로 결정된 패리티 비트 그룹 중 마지막 패리티 비트 그룹인 11 번째 패리티 비트 그룹에서는 80 비트를 펑처링할 수 있다.
이와 같이, 펑처링되는 패리티 비트 수가 열의 패턴이 반복되는 간격으로 나누어 떨어지지 않는 경우, πp(Npunc _ group) 번째 그룹(=
Figure 112014088173635-pat00047
)에서 Npunc-360×Npu nc_ group 만큼의 패리티 비트를 펑처링하게 된다.
한편, 펑처링되는 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링되는 비트 수는 송신 장치(900)와 수신 장치(1700) 사이에 기정의되어 있을 수 있다. 또는, 송신 장치(900)는 해당 정보를 시그널링 정보로서 수신 장치(1700)로 전송할 수도 있으며, 수신 장치(1700)는 수신된 정보를 이용하여 펑처링되는 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링되는 비트 수를 결정할 수 있다. 또는, 수신 장치(1700)는 기정의된 패리티 패턴과 펑처링되는 패리티 비트 수에 대한 정보를 기저장하고, 이를 이용하여 펑처링되는 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링되는 비트 수를 결정할 수도 있다.
한편, 도 11 및 도 12는 본 발명의 일 실시 예에 따른 펑처링 방법을 설명하기 위한 도면이다.
도 11의 경우, 변조 방식이 BPSK인 경우, 부호화부(910)는 13/15의 부호율로 LDPC 부호화를 수행하여, 16200 개의 비트로 구성된 LDPC 코드워드를 생성한다. 이 경우, LDPC 패리티 비트는 2160 개의 비트로 구성되며, 6 개의 패리티 비트 그룹으로 구분될 수 있다.
이 경우, 펑처링되는 패리티 비트의 수 Npunc=400인 경우, 펑처링부(930)는 기정의된 펑처링 패턴에 기초하여 2 번째 패리티 비트 그룹(=P2)과 5 번째 패리티 비트 그룹(=P5)을 펑처링되는 패리티 비트 그룹으로 결정할 수 있다.
그리고, 펑처링부(930)는 2 번째 패리티 비트 그룹(=P2)을 구성하는 360 비트들과 5 번째 패리티 비트 그룹(=P5)을 구성하는 360 비트들 중 40 비트들을 펑처링할 수 있다. 이 경우, 펑처링부(930)는 5 번째 패리티 비트 그룹(=P5)의 전단에 배치된 40 비트들을 펑처링할 수 있다.
도 12의 경우, 변조 방식이 QPSK인 경우, 부호화부(910)는 11/15의 부호율로 LDPC 부호화를 수행하여, 16200 개의 비트로 구성된 LDPC 코드워드를 생성한다. 이 경우, LDPC 패리티 비트는 4320 개의 비트로 구성되며, 12 개의 패리티 비트 그룹으로 구분될 수 있다.
이 경우, 펑처링되는 패리티 비트의 수 Npunc=264인 경우, 펑처링부(930)는 기정의된 펑처링 패턴에 기초하여 x 번째 패리티 비트 그룹(=Px)을 펑처링되는 패리티 비트 그룹으로 결정할 수 있다.
그리고, 펑처링부(930)는 x 번째 패리티 비트 그룹(=Px)을 구성하는 360 비트들 중 264 비트들을 펑처링할 수 있다. 이 경우, 펑처링부(930)는 x 번째 패리티 비트 그룹(=Px)의 전단에 배치된 264 비트들을 펑처링할 수 있다.
한편, 송신 장치(900)는 펑처링부(930)에서 출력되는 LDPC 코드워드를 변조하여 수신 장치(1700)로 전송할 수 있다. 구체적으로, 송신 장치(900)는 LDPC 코드워드 비트들을 성성점에 맵핑하여 변조하여 변조 심볼을 생성하고, OFDM 방식을 이용하여 변조 심볼을 OFDM 프레임에 맵핑하여 수신 장치(1700)로 전송할 수 있다.
이때, 펑처링부(930)에 의해 펑처링된 패리티 비트들은 수신 장치(1700)로 전송되지 않게 된다.
도 13은 본 발명의 일 실시 예에 따른 송신 장치의 세부 구성을 설명하기 위한 블록도이다. 도 13을 참조하면, 송신 장치(1300)는 제로 패딩부(1310), 부호화부(1320), 패리티 인터리버(1330), 펑처링부(1340) 및 변조부(1350)를 포함한다.
여기에서, 제로 패딩부(1310) 및 부호화부(1320)는 도 2에서 설명한 제로 패딩부(210) 및 부호화부(220)에서 설명한 바와 동일한 기능을 수행하고, 부호화부(1320), 패리티 인터리버(1330) 및 펑처링부(1340)는 도 9에서 설명한 부호화부(910), 패리티 인터리버(920) 및 펑처링부(930)와 동일한 기능을 수행할 수 있다. 따라서, 중복되는 부분에 대한 구체적인 설명은 생략하도록 한다.
제로 패딩부(1310)는 입력되는 데이터에 적어도 하나의 제로 비트를 패딩하고, 적어도 하나의 제로 비트가 패딩된 데이터를 부호화부(1320)로 출력할 수 있다. 여기에서, 데이터는 L1 프리 시그널링일 수 있다. 다만, 이에 한정되는 것은 아니고, 데이터는 L1 포스트 시그널링 또는 방송 데이터가 될 수도 있다.
이 경우, 제로 패딩부(1310)는 패리티 검사 행렬에 기초하여 제로 비트가 패딩되는 위치를 결정할 수 있으며, 이에 대해서는 상술한 바 있다.
부호화부(1320)는 적어도 하나의 제로 비트가 패딩된 데이터에 대해 BCH 및 LDPC 부호화를 수행하여 LDPC 코드워드를 생성하고, 생성된 LDPC 코드워드를 패리티 인터리버(1330)로 출력한다.
이 경우, 부호화부(1320)는 패리티 검사 행렬에 기초하여 다양한 부호율로 LDPC 부호화를 수행할 수 있으며, 이에 대해서는 상술한바 있다.
패리티 인터리버(1330)는 부호화부(1320)로부터 LDPC 코드워드를 입력받아, LDPC 코드워드를 구성하는 LDPC 패리티 비트들에 대해 인터리빙을 수행하고, 패리티 인터리빙된 LDPC 코드워드를 펑처링부(1340)로 출력한다.
이 경우, 패리티 인터리버(1330)는 일정한 룰에 기초하여 LDPC 패리티 비트들에 대해 인터리빙을 수행할 수 있으며, 이에 대해서는 상술한바 있다.
펑처링부(1340)는 LDPC 코드워드를 구성하는 LDPC 패리티 비트들 중에서 적어도 일부를 펑처링할 수 있다.
구체적으로, 펑처링부(1340)는 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격에 기초하여 패리티 비트들을 그룹핑하고, 펑처링되는 패티비 비트 수 및 그룹핑된 패리티 비트 그룹 중 펑처링되는 패리티 비트 그룹의 위치에 기초하여 펑처링을 수행할 수 있으며, 이에 대해서는 상술한바 있다.
한편, 펑처링부(1340)는 제로 패딩부(1310)에 의해 패딩된 적어도 하나의 제로 비트를 제거할 수 있다. 이와 같이, 부호화 전에 패딩된 제로 비트가 부호화 이후 제거되는 것을 쇼트닝(shortening)이라 하며, 쇼트닝에 의해 패딩되었던 제로 비트는 전송되지 않게 된다.
구체적으로, 펑처링부(1340)는 제로 패딩부(1310)에 의해 패딩된 Kbch-Ksig 개의 제로 비트를 제거할 수 있다.
예를 들어, 도 6에서 설명한 것과 같은 방식으로 제로 비트가 패딩된 경우, 펑처링부(1340)는 도 14와 같이 L1 프리 시그널링과 BCH 패리티 비트 사이에 패딩된 13672 개의 제로 비트를 제거할 수 있다. 이에 따라, Ksig 개의 비트로 구성된 정보어(즉, Ksig 개의 비트로 구성된 L1 프리 시그널링), 168 개의 비트로 구성된 BCH 패리티 비트, (Nldpc-Kldpc-Npunc) 개의 비트로 구성된 LDPC 패리티 비트만이 남게 된다. 여기에서, Npunc는 펑처링되는 패리티 비트의 수를 의미한다.
한편, 쇼트닝된 비트들의 위치에 대한 정보는 송신 장치(1300)와 수신 장치(도 18의 1800) 사이에 기정의되어 있을 수 있다. 또는, 송신 장치(1300)는 쇼트닝된 비트들의 위치에 대한 정보를 시그널링 정보로서 수신 장치(1800)로 전송하거나, 수신 장치(1800)는 LDPC 부호화에 이용된 패리티 검사 행렬에 기초하여, 쇼트닝된 비트들의 위치를 결정할 수도 있다.
이와 같이, 펑처링부(1340)는 LDPC 패리티 비트의 적어도 일부를 펑처링하고, 제로 패딩부(1310)에 의해 패딩된 적어도 하나의 제로 비트를 제거한 후, 이를 변조부(1350)로 출력할 수 있다.
변조부(1350)는 펑처링부(1340)에서 출력되는 LDPC 코드워드를 변조할 수 있다.
구체적으로, 변조부(1350)는 펑처링부(1340)에서 출력되는 LDPC 코드워드에 대해 비트-투-셀(bit-to-cell) 변환을 수행하여, LDPC 코드워드를 일정한 개수의 비트를 갖는 셀(cell)(또는, 데이터 셀(data cell)로 디멀티플렉싱할 수 있다.
예를 들어, 변조부(1350)는 펑처링부(1340)에서 출력되는 LDPC 코드워드 비트들을 순차적으로 복수의 서브 스트림 중 하나에 출력하여 LDPC 코드워드 비트들을 셀로 변환하여 출력할 수 있다. 이 경우, 복수의 서브 스트림 각각에서 동일한 인덱스를 갖는 비트들이 동일한 셀을 구성할 수 있다.
여기에서, 서브 스트림의 개수는 셀을 구성하는 비트의 수와 동일하다. 예를 들어, 변조 방식이 QPSK인 경우, 서브 스트림의 개수는 각각 2가 될 수 있으며 셀의 개수는 각각 NL1data/2이 될 수 있다. 여기에서, NL1data는 LDPC 코드워드의 비트 수 즉, 펑처링 및 쇼트닝된 후의 LDPC 코드워드 비트 수이다.
다만, 변조부(1350)는 변조 방식이 BPSK인 경우 디멀티플렉싱 동작을 수행하지 않을 수 있다. 이는 변조 방식이 BPSK인 경우 셀은 1 개의 비트로 구성되기 때문이다.
그리고, 변조부(1350)는 셀들을 변조할 수 있다. 구체적으로, 셀들을 BPSK, QPSK 등의 다양한 변조 방식을 이용하여 성상점에 맵핑하여 변조할 수 있다. 여기에서, 변조 방식이 각각 BPSK, QPSK인 경우, 변조 심볼(즉, 변조된 셀)을 구성하는 비트 수는 각각 1,2가 될 수 있다.
한편, 송신 장치(1300)는 변조 심볼을 수신 장치(1800)로 전송할 수 있다. 예를 들어, 송신 장치(1300)는 OFDM 방식을 이용하여 변조 심볼을 OFDM 프레임에 맵핑하고, 이를 할당된 채널을 통해 수신 장치(1800)로 전송할 수 있다. 이 경우, 데이터가 L1 프리 시그너릴인 경우, L1 프리 시그널링의 변조 심볼은 OFDM 프레임 내의 프리앰블에 맵핑될 수 있다.
도 15는 본 발명의 일 실시 예에 따른 수신 장치의 구성을 설명하기 위한 블록도이다. 도 15에 따르면, 수신 장치(1500)는 복조부(1510), 디쇼트닝부(1520), 복호화부(1530) 및 디패딩부(1540)를 포함한다.
복조부(1510)는 송신 장치(200)에서 전송한 신호를 수신하여 복조한다. 구체적으로, 복조부(1510)는 수신된 신호를 복조하여 LDPC 코드워드에 대응되는 값을 생성하고, 이를 디쇼트닝부(1520)로 출력할 수 있다.
여기에서, LDPC 코드워드에 대응되는 값은 채널 값으로 표현될 수 있다. 채널 값을 결정하는 방법은 다양하게 존재할 수 있으며, 일 예로 LLR 값을 결정하는 방법에 될 수 있다.
여기에서, LLR 값은 송신 장치(200)에서 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또는, LLR 값은 경판정(hard decision)에 따라 결정된 비트 값 자체가 될 수 있으며, 또한, LLR 값은 송신 장치(200)에서 전송한 비트가 0 또는 1일 확률이 속하는 구간에 따라 결정된 대표 값이 될 수도 있다.
한편, LDPC 코드워드는 송신 장치(200)에서 LDPC 부호화 시 이용되는 패리티 검사 행렬에 따라 기설정된 위치에 배치된 데이터가 부호화되어 생성된 것일 수 있다.
여기에서, 패리티 검사 행렬은 정보어 부분 행렬과 패리티 부분 행렬을 포함하며, 정보어 부분 행렬은 각각 360 개의 열을 포함하는 복수의 열 그룹으로 구성될 수 있다. 예를 들어, 패리티 검사 행렬은 도 4와 같은 구조를 가지며, 정보어 부분 행렬은 표 2 내지 표 4와 같이 정의되고 패리티 부분 행렬은 이중 대각 구조를 가질 수 있다.
구체적으로, LDPC 코드워드는 데이터가 정보어 부분 행렬을 구성하는 복수의 열 그룹 중에서 가장 높은 차수를 갖는 열 그룹에 할당되도록 데이터에 적어도 하나의 제로 비트가 패딩되고, 적어도 하나의 제로 비트가 패딩된 데이터가 부호화되어 생성된 것일 수 있다.
예를 들어, 정보어 부분 행렬의 복수의 열 그룹에서 1이 존재하는 위치가 표 2와 같이 정의되는 경우, LDPC 코드워드는 데이터가 복수의 열 그룹 중 0 번째 열 그룹에 할당되도록 데이터에 적어도 하나의 제로 비트가 패딩되고, 적어도 하나의 제로 비트가 패딩된 데이터가 부호화되어 생성된 것일 수 있다. 이 경우, LDPC 코드워드는 16200 개의 비트로 구성되며 13/15의 부호율로 부호화되어 생성될 수 있다.
다른 예로, 정보어 부분 행렬의 복수의 열 그룹에서 1이 존재하는 위치가 표 3과 같이 정의되는 경우, LDPC 코드워드는 데이터가 복수의 열 그룹 중 38 번째 열 그룹에 할당되도록 데이터에 적어도 하나의 제로 비트가 패딩되고, 적어도 하나의 제로 비트가 패딩된 데이터가 부호화되어 생성된 것일 수 있다. 이 경우, LDPC 코드워드는 16200 개의 비트로 구성되며 13/15의 부호율로 부호화되어 생성될 수 있다.
또 다른 예로, 정보어 부분 행렬의 복수의 열 그룹에서 1이 존재하는 위치가 표 4와 같이 정의되는 경우, LDPC 코드워드는 데이터가 복수의 열 그룹 중 0 번째 열 그룹에 할당되도록 데이터에 적어도 하나의 제로 비트가 패딩되고, 적어도 하나의 제로 비트가 패딩된 데이터가 부호화되어 생성된 것일 수 있다. 이 경우, LDPC 코드워드는 16200 개의 비트로 구성되며 11/15의 부호율로 부호화되어 생성될 수 있다.
한편, 데이터가 기설정된 위치에 배치되어 LDPC 코드워드를 생성하는 방법에 대해서는 송신 장치(200)와 관련하여 상술한 바 있다.
디쇼트닝부(1520)는 복조부(1510)의 출력 값을 디쇼트닝하여 복호화부(1530)으로 출력한다.
구체적으로, 디쇼트닝부(1520)는 LDPC 코드워드에 대응되는 값에 송신 장치(200)에서 제거되었던 적어도 하나의 제로 비트에 대응되는 값을 부가할 수 있다.
즉, 디쇼트닝부(1520)는 쇼트닝된 제로 비트들의 위치 및 비트 수 등에 대한 정보에 기초하여 쇼트닝되었던 제로 비트들에 대응되는 LLR 값을 복조부(1510)에서 출력되는 LLR 값에 부가할 수 있다. 여기에서, 쇼트닝되었던 제로 비트들에 대응되는 LLR 값은 +∞, -∞가 될 수 있다. 다만, +∞, -∞는 일 예이며, 쇼트닝되었던 제로 비트들에 대응되는 LLR 값은 수신 시스템에서 허용되는 LLR의 최대값 또는 최소값이 될 수 있다.
한편, 쇼트닝된 제로 비트들의 위치 및 비트 수에 대한 정보는 송신 장치(200)로부터 제공되거나, 수신 장치(1500)에 기저장되어 있을 수 있다. 또는, 디쇼트닝부(1520)는 제로 패딩부(210)에서 제로 패딩을 위해 사용하였던 룰을 적용하여 부호율 및 패리티 검사 행렬에 따라 제로 비트가 패딩되었던 위치 및 비트 수를 결정할 수도 있다.
복호화부(1530)는 디쇼트닝부(1520)의 출력 값을 이용하여 복호화를 수행한다. 즉, 복호화부(1530)는 적어도 하나의 제로 비트에 대응되는 값이 부가된 LDPC 코드워드에 대응되는 값에 기초하여 LDPC 및 BCH 복호화를 수행할 수 있다.
이를 위해, 복호화부(1530)는 도 16과 같이 LDPC 디코더(1531) 및 BCH 디코더(1532)를 포함할 수 있다.
구체적으로, LDPC 디코더(1531)는 디쇼트닝부(1520)에서 출력되는 LLR 값을 이용하여 LDPC 복호화를 수행할 수 있다.
예를 들어, LDPC 디코더(1531)는 합곱 알고리즘(sum-product algorithm)에 기반한 반복 복호 방식(iterative decoding)으로 LDPC 복호화를 수행할 수 있다. 여기에서, 합곱 알고리즘은 메시지 패싱 알고리즘(message passing algorithm)의 일종이며, 메시지 패싱 알고리즘이라 함은 패리티 검사 행렬에 기초하여 생성된 bipartite 그래프 상에서 에지를 통해 메시지들(가령, LLR 값)을 교환하고, 변수 노드들 혹은 검사 노드들로 입력되는 메시지들로부터 출력 메시지를 계산하여 업데이트하는 알고리즘을 나타낸다.
한편, LDPC 복호화 시 이용되는 패리티 검사 행렬은 상술한 도 4와 같은 구조를 가질 수 있다. 예를 들어, 패리티 검사 행렬의 정보어 부분 행렬은 표 2 내지 표 4와 같이 정의되고 패리티 부분 행렬은 이중 대각 구조를 가질 수 있다. 수신 장치(1500)는 패리티 검사 행렬에 대한 정보를 기저장하고 있을 수 있다.
이후, BCH 디코더(1532)는 LDPC 디코더(1531)의 출력 값에 대해 BCH 복호화를 수행한다.
여기에서, LDPC 디코더(1531)의 출력 값은 데이터, 데이터에 패딩된 제로 비트 및 BCH 패리티 비트들로 구성된다는 점에서, BCH 디코더(1532)는 BCH 패리티 비트들을 이용하여 에러를 정정하고, 데이터와 데이터에 패딩된 제로 비트들을 디패딩부(1540)로 출력할 수 있다.
한편, 복호화 시 이용되는 코딩 파라미터에 대한 정보는 수신 장치(1500)에 기저장되어 있거나, 송신 장치(200)로부터 제공될 수 있다.
디패딩부(1540)는 데이터에 패딩된 제로 비트를 디패딩할 수 있다. 이에 따라, 제로 비트는 제거되어 송신 장치(200)에서 전송한 데이터가 복원될 수 있게 된다.
즉, 송신 장치(200)는 패리티 검사 행렬이 표 2 내지 표 4와 같이 정의되는 경우, 데이터가 정보어 부분 행렬을 구성하는 복수의 열 그룹 중에서 가장 높은 차수를 갖는 열 그룹에 할당되도록 제로 비트들을 패딩한다.
이에 따라, 디패딩부(1540)는 송신 장치(200)에서 제로 비트가 패딩된 위치 및 비트 수에 기초하여 데이터에 패딩된 적어도 하나의 제로 비트를 제거할 수 있다.
이 경우, 제로 비트가 패딩된 위치 및 비트 수 등에 대한 정보는 수신 장치(1500)에 기저장되어 있거나 송신 장치(200)로부터 제공될 수 있다. 또한, 디패딩부(1540)는 제로 패딩부(210)에서 제로 패딩을 위해 사용하였던 룰을 적용하여 부호율 및 패리티 검사 행렬에 따라 제로 비트가 패딩되었던 위치 및 비트 수를 결정할 수도 있다.
도 17은 본 발명의 일 실시 예에 따른 수신 장치의 구성을 설명하기 위한 블록도이다. 도 17을 참조하면, 수신 장치(1700)는 복조부(1710), 디펑처링부(1720), 패리티 디인터리버(1730) 및 복호화부(1740)를 포함한다.
복조부(1710)는 송신 장치(900)에서 전송한 신호를 수신하여 복조한다. 구체적으로, 복조부(1710)는 수신된 신호를 복조하여 LDPC 코드워드에 대응되는 값을 생성하고, 이를 디펑처링부(1720)로 출력할 수 있다.
여기에서, LDPC 코드워드에 대응되는 값은 채널 값으로 표현될 수 있다. 채널 값을 결정하는 방법은 다양하게 존재할 수 있으며, 일 예로 LLR 값을 결정하는 방법에 될 수 있다.
여기에서, LLR 값은 송신 장치(900)에서 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또는, LLR 값은 경판정(hard decision)에 따라 결정된 비트 값 자체가 될 수 있으며, 또한, LLR 값은 송신 장치(900)에서 전송한 비트가 0 또는 1일 확률이 속하는 구간에 따라 결정된 대표 값이 될 수도 있다.
디펑처링부(1720)는 복조부(1710)의 출력 값에 특정 값을 부가하고, 이를 패리티 디인터리버(1730)로 출력한다.
구체적으로, 디펑처링부(1720)는 송신 장치(900)의 펑처링부(930)에 대응되는 구성요소로, 펑처링부(930)에 대응되는 동작을 수행한다.
이를 위해, 디펑처링부(1720)는 펑처링부(930)에 의해 펑처링된 패리티 비트 수를 결정할 수 있다.
이 경우, 펑처링되는 패리티 비트 수는 송신 장치(900)와 수신 장치(1700) 사이에 기정의되어 있을 수 있다. 이에 따라, 송신 장치(1700)는 펑처링되는 패리티 비트 수에 대한 정보를 기저장하고 있을 수 있으며, 디펑처링부(1720)는 이를 이용하여 펑처링부(930)에 의해 펑처링된 패리티 비트 수를 결정할 수 있다. 한편, 송신 장치(900)는 펑처링된 패리티 비트 수에 대한 정보를 시그널링 정보로서 수신 장치(1700)로 전송할 수도 있으며, 이 경우, 디펑처링부(1720)는 수신된 정보를 이용하여 펑처링부(930)에 의해 펑처링된 패리티 비트 수를 결정할 수 있다.
그리고, 디펑처링부(1720)는 기정의된 펑처링 패턴 및 펑처링된 패리티 비트 수에 기초하여 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수를 결정할 수 있다.
즉, 디펑처링부(1720)는 펑처링부(930)에서 이용된 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수를 결정하는 방법을 이용하여, 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수를 결정할 수 있다. 이에 대해서는 송신 장치(900)와 관련하여 구체적으로 설명한 바 있다.
이후, 디펑처링부(1720)는 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수에 기초하여, 복조부(1710)의 출력 값에 특정 값을 부가할 수 있다.
즉, 디펑처링부(1720)는 펑처링된 패리티 비트 그룹의 위치에 해당 패리티 비트 그룹에서 펑처링된 비트 수만큼의 LLR 값을 삽입할 수 있다. 여기에서, 펑처링되었던 비트들에 대응되는 LLR 값은 0이 될 수 있다.
한편, 상술한 예에서는 디펑처링부(1720)가 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수를 산출하는 것으로 설명하였으나, 이는 일 예에 불과하고 해당 정보는 수신 장치(1700)에 기저장되어 있거나 송신 장치(900)로부터 제공될 수도 있다.
패리티 디인터리버(1730)는 디펑처링부(1720)의 출력 값에 대해 패리티 디인터리빙을 수행하고, 이를 복호화부(1740)로 출력한다.
구체적으로, 패리티 디인터리버(1730)는 송신 장치(900)의 패리티 인터리버(920)에 대응되는 구성요소로, 패리티 인터리버(920)에 대응되는 동작을 수행한다.
즉, 패리티 디인터리버(1730)는 패리티 인터리버(920)에서 수행되는 인터리빙 동작을 역으로 수행하여, 디펑처링부(1720)에서 출력되는 LLR 값들 중 LDPC 패리티 비트들에 대응되는 LLR 값을 디인터리빙할 수 있다. 한편, 패리티 디인터리버(1730)는 복호화부(1740)의 복호 방법 및 구현 등에 따라 생략될 수도 있다.
복호화부(1740)는 패리티 디인터리버(1730)의 출력 값을 이용하여 복호화를 수행한다.
이를 위해, 복호화부(1740)는 LDPC 디코더(미도시)를 포함할 수 있으며, 경우에 따라 BCH 디코더(1532)를 더 포함할 수 있다.
구체적으로, 복호화부(1740)는 패리티 디인터리버(1730)에서 출력되는 LLR 값을 이용하여 LDPC 복호화를 수행할 수 있다. 예를 들어, 복호화부(1740)는 합곱 알고리즘에 기반한 반복 복호 방식으로 LDPC 복호화를 수행하여, 송신 장치(900)에서 전송한 데이터를 복원할 수 있다.
한편, LDPC 복호화 시 이용되는 패리티 검사 행렬은 상술한 도 4와 같은 구조를 가질 수 있다. 예를 들어, 패리티 검사 행렬의 정보어 부분 행렬은 표 2 내지 표 4와 같이 정의되고 패리티 부분 행렬은 이중 대각 구조를 가질 수 있다. 수신 장치(1700)는 패리티 검사 행렬에 대한 정보를 기저장하고 있을 수 있다.
도 18은 본 발명의 일 실시 예에 따른 수신 장치의 세부 구성을 설명하기 위한 블록도이다. 도 18을 참조하면, 수신 장치(1800)는 복조부(1810), 디펑처링부(1820), 디쇼트닝부(1830), 패리티 디인터리버(1840), 복호화부(1850) 및 디패딩부(1860)를 포함한다.
여기에서, 복조부(1810), 디쇼트닝부(1830), 복호화부(1850) 및 디패딩부(1860)는 도 15에서 설명한 복조부(1510), 디쇼트닝부(1520), 복호화부(1530) 및 디패딩부(1540)와 동일한 기능을 수행하고, 복조부(1810), 디펑처링부(1820), 패리티 디인터리버(1840) 및 복호화부(1850)는 도 17에서 설명한 복조부(1710), 디펑처링부(1720), 패리티 디인터리버(1730) 및 복호화부(1740)와 동일한 기능을 수행할 수 있다. 따라서, 중복되는 부분에 대한 구체적인 설명은 생략하도록 한다.
복조부(1810)는 송신 장치(1300)에서 전송한 신호를 수신하여 복조하여 LDPC 코드워드에 대응되는 값을 생성하고, 이를 디펑처링부(1820)로 출력할 수 있다.
디펑처링부(1820)는 복조부(1810)의 출력 값을 디펑처링하여 디쇼트닝부(1830)로 출력한다.
구체적으로, 디펑처링부(1820)는 송신 장치(1300)의 펑처링부(1340)에 대응되는 구성요소로, 펑처링부(1340)에 대응되는 동작을 수행한다.
이를 위해, 디펑처링부(1820)는 펑처링부(1340)에 의해 펑처링된 패리티 비트 수를 결정할 수 있다.
이 경우, 펑처링되는 패리티 비트 수는 송신 장치(1300)와 수신 장치(1800) 사이에 기정의되어 있을 수 있다. 이에 따라, 수신 장치(1800)는 펑처링되는 패리티 비트 수에 대한 정보를 기저장하고 있을 수 있으며, 디펑처링부(1820)는 이를 이용하여 펑처링부(1340)에 의해 펑처링된 패리티 비트 수를 결정할 수 있다. 한편, 송신 장치(1300)는 펑처링된 패리티 비트 수에 대한 정보를 시그널링 정보로서 수신 장치(1800)로 전송할 수도 있으며, 이 경우, 디펑처링부(1820)는 수신된 정보를 이용하여 펑처링부(1340)에 의해 펑처링된 패리티 비트 수를 결정할 수 있다.
그리고, 디펑처링부(1820)는 기정의된 펑처링 패턴 및 펑처링된 패리티 비트 수에 기초하여 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수를 결정할 수 있다.
즉, 디펑처링부(1820)는 펑처링부(1340)에서 이용된 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수를 결정하는 방법을 이용하여, 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수를 결정할 수 있다. 이에 대해서는 구체적으로 상술한 바 있다.
이후, 디펑처링부(1820)는 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수에 기초하여, 복조부(1810)의 출력 값에 특정 값을 부가할 수 있다.
즉, 디펑처링부(1820)는 펑처링된 패리티 비트 그룹의 위치에 해당 패리티 비트 그룹에서 펑처링된 비트 수만큼의 LLR 값을 삽입할 수 있다. 여기에서, 펑처링되었던 비트들에 대응되는 LLR 값은 0이 될 수 있다.
한편, 상술한 예에서는 디펑처링부(1820)가 펑처링된 패리티 비트 그룹의 위치 및 해당 패리티 비트 그룹에서 펑처링된 비트 수를 산출하는 것으로 설명하였으나, 이는 일 예에 불과하고 해당 정보는 수신 장치(1800)에 기저장되어 있거나 송신 장치(1300)로부터 제공될 수도 있다.
디쇼트닝부(1830)는 디펑처링부(1820)의 출력 값을 디쇼트닝하여 패리티 디인터리버(1840)으로 출력한다.
구체적으로, 디쇼트닝부(1830)는 LDPC 코드워드에 대응되는 값에 송신 장치(1300)에서 제거되었던 적어도 하나의 제로 비트에 대응되는 값을 부가할 수 있다.
즉, 디쇼트닝부(1830)는 쇼트닝된 제로 비트들의 위치 및 비트 수 등에 대한 정보에 기초하여 쇼트닝되었던 제로 비트들에 대응되는 LLR 값을 디펑처링부(1820)에서 출력되는 LLR 값에 부가할 수 있다. 여기에서, 쇼트닝되었던 제로 비트들에 대응되는 LLR 값은 +∞, -∞가 될 수 있다. 다만, +∞, -∞는 일 예이며, 쇼트닝되었던 제로 비트들에 대응되는 LLR 값은 수신 시스템에서 허용되는 LLR의 최대값 또는 최소값이 될 수 있다.
한편, 쇼트닝된 제로 비트들의 위치 및 비트 수에 대한 정보는 송신 장치(1300)로부터 제공되거나, 수신 장치(1800)에 기저장되어 있을 수 있다. 또는, 디쇼트닝부(1830)는 제로 패딩부(1310)에서 제로 패딩을 위해 사용하였던 룰을 적용하여 부호율 및 패리티 검사 행렬에 따라 제로 비트가 패딩되었던 위치 및 비트 수를 결정할 수도 있다.
패리티 디인터리버(1840)는 디쇼트닝부(1830)의 출력 값에 대해 패리티 디인터리빙을 수행하고, 이를 복호화부(1850)로 출력한다.
구체적으로, 패리티 디인터리버(1840)는 송신 장치(1300)의 패리티 인터리버(1330)에 대응되는 구성요소로, 패리티 인터리버(1330)에 대응되는 동작을 수행한다.
즉, 패리티 디인터리버(1840)는 패리티 인터리버(1330)에서 수행되는 인터리빙 동작을 역으로 수행하여, 디쇼트닝부(1830)에서 출력되는 LLR 값들 중 LDPC 패리티 비트들에 대응되는 LLR 값을 디인터리빙할 수 있다. 한편, 패리티 디인터리버(1840)는 복호화부(1850)의 복호 방법 및 구현 등에 따라 생략될 수도 있다.
복호화부(1850)는 패리티 디인터리버(1840)의 출력 값을 이용하여 복호화를 수행한다.
이를 위해, 복호화부(1850)는 LDPC 디코더(미도시) 및 BCH 디코더(미도시)를 포함할 수 있다.
즉, LDPC 디코더(미도시)는 패리티 디인터리버(1840)에서 출력되는 LLR 값을 이용하여 LDPC 복호화를 수행할 수 있다. 예를 들어, LDPC 디코더(미도시)는 합곱 알고리즘에 기반한 반복 복호 방식으로 LDPC 복호화를 수행할 수 있다.
한편, LDPC 복호화 시 이용되는 패리티 검사 행렬은 상술한 도 4와 같은 구조를 가질 수 있다. 예를 들어, 패리티 검사 행렬의 정보어 부분 행렬은 표 2 내지 표 4와 같이 정의되고 패리티 부분 행렬은 이중 대각 구조를 가질 수 있다. 수신 장치(1800)는 패리티 검사 행렬에 대한 정보를 기저장하고 있을 수 있다.
이후, BCH 디코더(미도시)는 LDPC 디코더(미도시)의 출력 값에 대해 BCH 복호화를 수행한다.
여기에서, LDPC 디코더(미도시)의 출력 값은 데이터, 데이터에 패딩된 제로 비트 및 BCH 패리티 비트들로 구성된다는 점에서, BCH 디코더(미도시)는 BCH 패리티 비트들을 이용하여 에러를 정정하고, 데이터와 데이터에 패딩된 제로 비트들을 디패딩부(1860)로 출력할 수 있다.
한편, 복호화 시 이용되는 코딩 파라미터에 대한 정보는 수신 장치(1800)에 기저장되어 있거나, 송신 장치(1300)로부터 제공될 수 있다.
디패딩부(1860)는 데이터에 패딩된 제로 비트를 디패딩할 수 있다. 이에 따라, 제로 비트는 제거되어 송신 장치(1300)에서 전송한 데이터가 복원될 수 있게 된다.
즉, 송신 장치(1300)는 패리티 검사 행렬이 표 2 내지 표 4와 같이 정의되는 경우, 데이터가 정보어 부분 행렬을 구성하는 복수의 열 그룹 중에서 가장 높은 차수를 갖는 열 그룹에 할당되도록 제로 비트들을 패딩한다.
이에 따라, 디패딩부(1860)는 송신 장치(1300)에서 제로 비트가 패딩된 위치 및 비트 수에 기초하여 데이터에 패딩된 적어도 하나의 제로 비트를 제거할 수 있다.
이 경우, 제로 비트가 패딩된 위치 및 비트 수 등에 대한 정보는 수신 장치(1800)에 기저장되어 있거나 송신 장치(1300)로부터 제공될 수 있다. 또한, 디패딩부(1860)는 제로 패딩부(1310)에서 제로 패딩을 위해 사용하였던 룰을 적용하여 부호율 및 패리티 검사 행렬에 따라 제로 비트가 패딩되었던 위치 및 비트 수를 결정할 수도 있다.
도 19는 본 발명의 일 실시 예에 따른 송신 장치의 제로 펑처링 방법을 설명하기 위한 흐름도이다.
먼저, 패리티 검사 행렬에 기초하여, 입력되는 데이터에 대해 LDPC 부호화를 수행하고(S1910), LDPC 부호화에 의해 생성된 LDPC 코드워드 중에서 패리티 비트들을 인터리빙한다(S1920).
그리고, 인터리빙된 패리티 비트들 중에서 적어도 일부를 펑처링한다(S1930).
구체적으로, 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격에 기초하여 패리티 비트들을 그룹핑하고, 펑처링되는 패티비 비트 수 및 그룹핑된 패리티 비트 그룹 중 펑처링되는 패리티 비트 그룹의 위치에 기초하여, 펑처링을 수행한다.
이 경우, S1930 단계는 기정의된 펑처링 패턴 및 상기 펑처링되는 패리티 비트 수에 기초하여 상기 펑처링되는 패리티 비트 그룹의 위치를 결정할 수 있다.
구체적으로, 펑처링되는 패리티 비트 수를 열의 패턴이 반복되는 간격으로 나눈 값에 기초하여 펑처링되는 패리티 비트 그룹의 개수를 결정하고, 결정된 패리티 그룹의 개수 및 상기 기정의된 펑처링 패턴에 따라 펑처링되는 패리티 비트 그룹의 위치를 결정할 수 있다.
이 경우, 펑처링되는 패리티 비트 수가 열의 패턴이 반복되는 간격으로 나누어 떨어지는 경우, 나눈 몫을 펑처링되는 패리티 비트 그룹의 개수로 결정하고 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹을 그룹 단위로 펑처링할 수 있다.
또한, 펑처링되는 패리티 비트 수가 열의 패턴이 반복되는 간격으로 나누어 떨어지지 않는 경우, 나눈 몫에 1을 더한 값을 펑처링되는 패리티 비트 그룹의 개수로 결정하고, 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹의 적어도 일부를 펑처링할 수 있다.
이 경우, 나눈 몫이 0인 경우, 펑처링되는 패리티 비트 수를 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹에서 펑처링할 수 있다.
한편, 나눈 몫이 1 이상인 경우, 펑처링되는 패리티 비트 수를 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹 중 마지막 패리티 그룹에서 펑처링하고, 나머지 패리티 비트 그룹을 그룹 단위로 펑처링할 수 있다.
한편, 기정의된 펑처링 패턴은, 표 6과 같이 정의될 수 있으며, 열의 패턴이 반복되는 간격은, 360일 수 있다.
한편, 패리티 비트를 펑처링하는 구체적인 방법에 대해서는 상술한바 있다.
한편, 본 발명에 따른 펑처링 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 송신 장치 및 수신 장치에 대해 도시한 상술한 블록도에서는 버스(bus)를 미도시하였으나, 송신 장치 및 수신 장치에서 각 구성요소 간의 통신은 버스를 통해 이루어질 수도 있다. 또한, 각 장치에는 상술한 다양한 단계를 수행하는 CPU, 마이크로 프로세서 등과 같은 프로세서가 더 포함될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
900 : 송신 장치 910 : 부호화부
920 : 패리티 인터리버 930 : 펑처링부

Claims (18)

  1. 송신 장치에 있어서,
    패리티 검사 행렬에 기초하여, 입력되는 데이터에 대해 LDPC 부호화를 수행하는 부호화부;
    상기 LDPC 부호화에 의해 생성된 LDPC 코드워드 중에서 패리티 비트들을 인터리빙하는 패리티 인터리버; 및
    상기 인터리빙된 패리티 비트들 중에서 적어도 일부를 펑처링하는 펑처링부;를 포함하며,
    상기 펑처링부는,
    상기 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격에 기초하여 상기 패리티 비트들을 그룹핑하고, 기정의된 펑처링 패턴 및 펑처링되는 패리티 비트 수에 기초하여 상기 그룹핑된 패리티 비트 그룹 중 펑처링되는 패리티 비트 그룹의 위치를 결정하고, 상기 결정된 위치에 기초하여, 상기 펑처링을 수행하며,
    상기 기정의된 펑처링 패턴은, 하기의 표에 의해 결정되는 것을 특징으로 하는 송신 장치:
    Figure 112020088021443-pat00069

    여기에서, πp(j)는 j 번째로 펑처링되는 패리티 비트 그룹의 인덱스를 나타낸다.
  2. 삭제
  3. 제1항에 있어서,
    상기 펑처링부는,
    상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 값에 기초하여 상기 펑처링되는 패리티 비트 그룹의 개수를 결정하고, 상기 결정된 패리티 그룹의 개수 및 상기 기정의된 펑처링 패턴에 따라 상기 펑처링되는 패리티 비트 그룹의 위치를 결정하는 것을 특징으로 하는 송신 장치.
  4. 제3항에 있어서,
    상기 펑처링부는,
    상기 펑처링되는 패리티 비트 수가 상기 열의 패턴이 반복되는 간격으로 나누어 떨어지는 경우, 나눈 몫을 펑처링되는 패리티 비트 그룹의 개수로 결정하고 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹을 그룹 단위로 펑처링하는 것을 특징으로 하는 송신 장치.
  5. 제3항에 있어서,
    상기 펑처링부는,
    상기 펑처링되는 패리티 비트 수가 상기 열의 패턴이 반복되는 간격으로 나누어 떨어지지 않는 경우, 나눈 몫에 1을 더한 값을 펑처링되는 패리티 비트 그룹의 개수로 결정하고, 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹의 적어도 일부를 펑처링하는 것을 특징으로 하는 송신 장치.
  6. 제5항에 있어서,
    상기 펑처링부는,
    상기 나눈 몫이 0인 경우, 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹에서 펑처링하는 것을 특징으로 하는 송신 장치.
  7. 제5항에 있어서,
    상기 펑처링부는,
    상기 나눈 몫이 1 이상인 경우, 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹 중 마지막 패리티 그룹에서 펑처링하고, 나머지 패리티 비트 그룹을 그룹 단위로 펑처링하는 것을 특징으로 하는 송신 장치.
  8. 삭제
  9. 제1항에 있어서,
    상기 열의 패턴이 반복되는 간격은, 360인 것을 특징으로 하는 송신 장치.
  10. 송신 장치의 펑처링 방법에 있어서,
    패리티 검사 행렬에 기초하여, 입력되는 데이터에 대해 LDPC 부호화를 수행하는 단계;
    상기 LDPC 부호화에 의해 생성된 LDPC 코드워드 중에서 패리티 비트들을 인터리빙하는 단계; 및
    상기 인터리빙된 패리티 비트들 중에서 적어도 일부를 펑처링하는 단계;를 포함하며,
    상기 펑처링하는 단계는,
    상기 패리티 검사 행렬을 구성하는 정보어 부분 행렬에서 열의 패턴이 반복되는 간격에 기초하여 상기 패리티 비트들을 그룹핑하고, 기정의된 펑처링 패턴 및 펑처링되는 패리티 비트 수에 기초하여 상기 그룹핑된 패리티 비트 그룹 중 펑처링되는 패리티 비트 그룹의 위치를 결정하고, 상기 결정된 위치에 기초하여, 상기 펑처링을 수행하며, 상기 기정의된 펑처링 패턴은, 하기의 표에 의해 결정되는 것을 특징으로 하는 펑처링 방법:
    Figure 112020088021443-pat00070

    여기에서, πp(j)는 j 번째로 펑처링되는 패리티 비트 그룹의 인덱스를 나타낸다.
  11. 삭제
  12. 제10항에 있어서,
    상기 펑처링하는 단계는,
    상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 값에 기초하여 상기 펑처링되는 패리티 비트 그룹의 개수를 결정하고, 상기 결정된 패리티 그룹의 개수 및 상기 기정의된 펑처링 패턴에 따라 상기 펑처링되는 패리티 비트 그룹의 위치를 결정하는 것을 특징으로 하는 펑처링 방법.
  13. 제12항에 있어서,
    상기 펑처링하는 단계는,
    상기 펑처링되는 패리티 비트 수가 상기 열의 패턴이 반복되는 간격으로 나누어 떨어지는 경우, 나눈 몫을 펑처링되는 패리티 비트 그룹의 개수로 결정하고 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹을 그룹 단위로 펑처링하는 것을 특징으로 하는 펑처링 방법.
  14. 제12항에 있어서,
    상기 펑처링하는 단계는,
    상기 펑처링되는 패리티 비트 수가 상기 열의 패턴이 반복되는 간격으로 나누어 떨어지지 않는 경우, 나눈 몫에 1을 더한 값을 펑처링되는 패리티 비트 그룹의 개수로 결정하고, 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹의 적어도 일부를 펑처링하는 것을 특징으로 하는 펑처링 방법.
  15. 제14항에 있어서,
    상기 펑처링하는 단계는,
    상기 나눈 몫이 0인 경우, 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹에서 펑처링하는 것을 특징으로 하는 펑처링 방법.
  16. 제14항에 있어서,
    상기 펑처링하는 단계는,
    상기 나눈 몫이 1 이상인 경우, 상기 펑처링되는 패리티 비트 수를 상기 열의 패턴이 반복되는 간격으로 나눈 나머지 값만큼의 패리티 비트를 상기 기정의된 펑처링 패턴에 따라 결정된 위치의 패리티 비트 그룹 중 마지막 패리티 그룹에서 펑처링하고, 나머지 패리티 비트 그룹을 그룹 단위로 펑처링하는 것을 특징으로 하는 펑처링 방법.
  17. 삭제
  18. 제10항에 있어서,
    상기 열의 패턴이 반복되는 간격은, 360인 것을 특징으로 하는 펑처링 방법.
KR1020140123669A 2013-09-17 2014-09-17 송신 장치 및 그의 펑처링 방법 KR102198773B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2014/008675 WO2015041475A1 (ko) 2013-09-17 2014-09-17 송신 장치 및 그의 펑처링 방법
US14/488,689 US9774352B2 (en) 2013-09-17 2014-09-17 Transmitting apparatus, and puncturing method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361878786P 2013-09-17 2013-09-17
US61/878,786 2013-09-17
US201361883260P 2013-09-27 2013-09-27
US61/883,260 2013-09-27

Publications (2)

Publication Number Publication Date
KR20150032228A KR20150032228A (ko) 2015-03-25
KR102198773B1 true KR102198773B1 (ko) 2021-01-05

Family

ID=53025507

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140123669A KR102198773B1 (ko) 2013-09-17 2014-09-17 송신 장치 및 그의 펑처링 방법

Country Status (1)

Country Link
KR (1) KR102198773B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060156199A1 (en) 2004-12-22 2006-07-13 Qualcomm Incorporated Pruned bit-reversal interleaver
US20110119568A1 (en) * 2009-11-18 2011-05-19 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data in a communication system
US20120185757A1 (en) * 2011-01-18 2012-07-19 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving data in communication/broadcasting system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060156199A1 (en) 2004-12-22 2006-07-13 Qualcomm Incorporated Pruned bit-reversal interleaver
US20110119568A1 (en) * 2009-11-18 2011-05-19 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data in a communication system
US20120185757A1 (en) * 2011-01-18 2012-07-19 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving data in communication/broadcasting system

Also Published As

Publication number Publication date
KR20150032228A (ko) 2015-03-25

Similar Documents

Publication Publication Date Title
US20150082118A1 (en) Transmitting apparatus and puncturing method thereof
KR101776273B1 (ko) 송신 장치 및 그의 부가 패리티 생성 방법
US11705985B2 (en) Transmitter and shortening method thereof
US10862510B2 (en) Transmitter and shortening method thereof
US10581459B2 (en) Transmitter and shortening method thereof
US11757470B2 (en) Transmitter and puncturing method thereof
KR101970812B1 (ko) 송신 장치 및 그의 부가 패리티 생성 방법
US11824557B2 (en) Transmitter and shortening method thereof
US10382165B2 (en) Transmitter and shortening method thereof
KR20160070556A (ko) 송신 장치 및 그의 신호 처리 방법
KR102198773B1 (ko) 송신 장치 및 그의 펑처링 방법
KR102166412B1 (ko) 송신 장치 및 그의 제로 비트 패딩 방법
KR102114470B1 (ko) 송신 장치 및 그의 쇼트닝 방법
KR101898713B1 (ko) 송신 장치 및 그의 펑처링 방법
KR20150032509A (ko) 송신 장치 및 그의 펑처링 방법
KR102202385B1 (ko) 송신 장치 및 그의 신호 처리 방법

Legal Events

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