KR102248750B1 - 비트 인터리버 및 비트 디-인터리버 - Google Patents

비트 인터리버 및 비트 디-인터리버 Download PDF

Info

Publication number
KR102248750B1
KR102248750B1 KR1020150008107A KR20150008107A KR102248750B1 KR 102248750 B1 KR102248750 B1 KR 102248750B1 KR 1020150008107 A KR1020150008107 A KR 1020150008107A KR 20150008107 A KR20150008107 A KR 20150008107A KR 102248750 B1 KR102248750 B1 KR 102248750B1
Authority
KR
South Korea
Prior art keywords
bits
bit
array
permutation
value
Prior art date
Application number
KR1020150008107A
Other languages
English (en)
Other versions
KR20150099396A (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 CN201580009823.3A priority Critical patent/CN106063254B/zh
Priority to PCT/KR2015/001419 priority patent/WO2015126096A1/en
Priority to US14/628,456 priority patent/US10236919B2/en
Publication of KR20150099396A publication Critical patent/KR20150099396A/ko
Application granted granted Critical
Publication of KR102248750B1 publication Critical patent/KR102248750B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/0803Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division using frequency interleaving, e.g. with precision offset
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • 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/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044Arrangements for allocating sub-channels of the transmission path allocation of payload
    • H04L5/0046Determination of how many bits are transmitted on different sub-channels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

비트 인터리빙 방법이 개시된다. 본 비트 인터리빙 방법은, 비트 ak
Figure 112015004863078-pat00015
에 매핑되도록 비트의 세트 a ≡{ak: k= 0, 1, 2,...Npost-1}를 어레이 B={Bi ,j:i=0, 1, 2,...M-1; j=0, 1, 2,...N-1}에 매핑하는 단계, 여기서 mod는 모듈로 연산자(modulo operator),
Figure 112015004863078-pat00016
는 플로어 연산자(floor operator), M과 N은 정수이고, 다음 중 적어도 하나를 수행하는 단계, ㅇ 적어도 하나의 제1 비트의 그룹 내의 적어도 두 개의 비트를 치환하는 단계를 포함하는 제1 퍼뮤테이션(permutation) 동작, 여기서 각각의 제1 비트의 그룹은 G (1) p={Bi ,p: i=0, 1, 2,...M-1;p∈{0, 1, 2,...N-1}}로 정의되고, ㅇ 적어도 하나의 제2 비트의 그룹 내의 적어도 두 개의 비트를 퍼뮤팅하는 단계를 포함하는 제2 퍼뮤테이션(permutation) 동작, 여기서 각각의 제2 비트의 그룹은 G (2) q={Bq ,j: j=0, 1, 2,...N-1;q∈{0, 1, 2,...M-1}}로 정의되며, 비트 Bi ,j가 bNi +j에 디-매핑되도록 인터리빙된 비트의 세트 b ≡{bk: k= 0, 1, 2,...Npost-1}를 획득하기 위하여 B로부터 비트를 디-매핑하는 단계를 포함한다.

Description

비트 인터리버 및 비트 디-인터리버 { BIT INTERLEAVER AND BIT DE-INTERLEAVER }
본 발명은 비트 인터리빙 및 비트 디-인터리빙 중 적어도 하나를 위한 장치, 시스템 및 방법에 관한 것이다. 예를 들어, 본 발명의 실시 예들은 Digital Video Broadcasting (DVB) Project 및 the Advanced Television Systems Committee (ATSC) 중 적어도 하나에 의해 개발되는 시스템과 같은 현 세대 및 차 세대의 디지털 방송 시스템을 위한 비트 인터리빙 물리층(physical layer, L1) 시그널링 장치, 시스템 및 방법을 제공한다.
디지털 방송 기술은 비디오, 오디오 데이터와 같은 다양한 타입의 디지털 컨텐츠를 사용자에게 제공한다. ATSC 협회가 개발한 일련의 ATSC 1.0 및 ATSC 2.0 표준 등을 포함하는 다수의 표준들이 이러한 목적으로 개발되어 왔다. http://www.atsc.org/에서 입수가능한 A/52 및 A/53을 포함하여 여러 문헌에서 소개되는 ATSC 디지털 텔레비젼(이하, "DTV"라고도 함) 표준을 미국, 캐나다 및 한국을 포함하는 다양한 국가에서 지상파 방송용으로 채택하여 왔다.
최근, ATSC는 고정형 디바이스 및 이동형 디바이스에 실시간 및 비실시간 텔레비전 콘텐츠와 데이터 전달 방법용으로 ATSC 3.0이라 알려진 새로운 표준을 개발하는 것에 착수하고 있다. 이러한 개발의 일부로서, ATSC는 CFP(Call for Proposals) 문헌(TG3-S2 Doc #023r20, "Call for Proposals For ATSC-3.0 PHYSICAL LAYER, A Terrestrial Broadcast Standard", ATSC Technology Group 3(ATSC 3.0), 2013년 3월 26일)을 공개하였는데, 여기에서는, ATSC 3.0 표준의 새로운 물리층을 생성하기 위해 조합될 수 있는 기술들을 식별하는 것을 목적으로 한다. ATSC 3.0 시스템은 계층적 아키텍쳐로 설계될 것이며, ATSC 3.0용 일반화된 계층 모델이 제안되어 왔다는 것이 파악된다. 상술한 CFP의 범위는 이러한 모델의 기초 계층(base layer), 즉 ISO/IEC 7498-1 모델의 Layer 1 및 2에 대응하는 ATSC 3.0 물리층으로 제한된다.
ATSC 3.0은 ATSC 1.0 및 ATSC 2.0을 포함하는 현재 방송 시스템과의 역행 호환성을 요구하지 않아야 될 것이다. 그러나, CFP는, 실행가능한 곳 어디에서든지, 이 표준이 상기 요건들을 충족시키는데 효과적인 해결책이 되는 것으로 알려진 기존 표준들을 활용하고 참조할 것이라 한다.
디지털 콘텐츠 방송용으로 개발된 다른 기존 표준들은, DVB 프로젝트에 의해 개발되어 유지되고, 유럽 전기통신 표준 협회(European Telecommunications Standards Institute, 이하 "ETSI"라고도 함)에 의해 공개된 일련의 개방형 표준들을 포함한다. 이러한 표준의 하나로서는, ETSI EN 302 755 V1.3.1("Digital Video Broadcasting(DVB); Frame structure channel coding and modulation for a second generation digital terrestrial television broadcasting system(DVB-T2)") 및 Technical Specification ETSI TS 10 831 V1.2.1("Digital Video Broadcasting(DVB); Implementation guidelines for a second generation digital terrestrial television broadcasting system(DVB-T2)")를 포함하는 여러 문헌들에 개시되는 표준인 DVB-T2가 있다.
DVB-T2에서는 도 1에 도시된 바와 같이 데이터가 프레임 구조로 전송된다. 상위 레벨(top level)에서 프레임 구조(100)는 다수의 T2 프레임(T2-frame)(103a, 103b, 103c, 103d)으로 구분되는 슈퍼 프레임(Super frame)(101a, 101b, 101c)으로 구성된다. 각 T2 프레임(103a, 103b, 103c, 103d)은 다수의 프리앰블 심볼(105, 107a, 107b, 107c)과 그 이후에 다수의 데이터(Data) 심볼(109a 내지 109e)을 포함하는 OFDM(Orthogonal Frequency Division Multiplexing) 심볼(때때로 셀로서 언급된다)로 세분(sub-divide)된다. T2 프레임(103a, 103b, 103c, 103d)에서 프리앰블 심볼(105, 107a, 107b, 107c)은 하나의 P1 프리앰블 심볼(105)과 그 이후에 하나 또는 그 이상의 P2 프리앰블 심볼(107a, 107b, 107c)을 포함한다.
T2 프레임(103a, 103b, 103c, 103d)의 시작부에 위치되는 P1 심볼(105)은, P2 심볼(107a, 107b, 107c)의 포맷을 식별하는데 사용되는 S1 시그널링 및 특정 기본 송신 파라미터들을 신호로 알리는데 사용되는 S2 시그널링을 포함하는 시그널링용 7 비트를 운반한다. P1 심볼(105)을 바로 뒤따르는 P2 심볼(107a, 107b, 107c)은 미세 주파수 및 타이밍 동기화와 채널 추정을 위해 사용된다. P2 심볼(107a, 107b, 107c)은 L1 시그널링 정보를 운반하며, 데이터를 운반하기도 한다. L1 시그널링은 L1-프리 시그널링(L1-pre signalling)과 L1-포스트 시그널링(L1-post signalling)으로 나뉜다. L1-프리 시그널링은, T2 프레임 구조(100)에 관한 기본 정보를 포함하고, L1-포스트 시그널링의 수신 및 디코딩을 가능하게 한다. L1-포스트 시그널링은, 데이터를 운반하는 T2-프레임(103a, 103b, 103c, 103d) 내의 물리층 파이프(Physical Layer Pipes, 이하 "PLP"라고도 함)들을 수신기가 디코드하기에 충분한 정보를 제공한다.
비트 스트림(예를 들어, 시그널링 또는 데이터)은 비트가 심볼(셀)에 매핑되기 전에 일반적으로 다양한 유형의 프로세싱과 인코딩을 거친다. 다른 유형의 정보를 운반하는 비트 스트림(예를 들어, L1-프리 시그널링, L1-포스트 시그널링 및 데이터)은 일반적으로 다르게 처리된다.
도 2는 전송 장치에서 L1-포스트 시그널링을 운반하는 비트 스트림을 처리하기 위한 Bit Interleaved Coding and Modulation (BICM) 체인의 일 예를 나타낸다. BICM 체인(200)은 비트 스트림을 Ksig 사이즈의 블럭으로 구분하기 위한 세그멘터(Segmenter)(201), 세그멘터(201)로부터의 각각의 블럭 출력 내의 비트를 변환(예를 들어, 치환)하기 위한 스크램블러(Scrambler)(203), 및 Kbch 사이즈(예를 들어, Kbch=7032)의 패디드 블럭을 획득하기 위해 스크램블러(203)로부터의 각각의 블럭 출력을 zeros로 패딩하기 위한 제로 패더(Zero padder)(205)를 포함한다.
BICM 체인(200)은 Kldcp 로도 표시되는 Nbch 사이즈(예를 들어, Nbch=Kldpc=7200)의 BCH 인코딩된 블럭을 획득하기 위해 제로 패더(205)로부터의 각각의 블럭 출력을 BCH 인코딩하기 위한 BCH 인코더(BCH encoder)(207), 및 Nldpc 사이즈(예를 들어, Nldcp=16200)의 LDPC 인코딩된 블럭을 획득하기 위해 BCH 인코더(207)로부터의 각각의 블럭 출력을 LDPC 인코딩하기 위한 LDPC 인코더(LDPC encoder)(209)를 더 포함한다.
BICM 체인(200)은 LDPC 인코더(209)로부터의 각각의 블럭 출력의 LDPC 패리티 비트를 인터리빙하기 위한 패리티 인터리버(Parity interleaver)(211), 및 LDPC 패리티 비트의 Npunc을 펑처링하기 위한 펑처러(puncturer)(213)를 더 포함한다. BICM 체인(200)에서, 제로 패디드 비트 또한 제거되고, Npost 사이즈의 블록이 남게된다.
BICM 체인(200)은 Npost 사이즈의 비트 인터리빙 블럭을 획득하기 위해 펑처러(213)로부터의 각각의 블럭 출력을 비트 인터리빙하기 위한 비트 인터리버(Bit interleaver)(215)를 더 포함한다.
마지막으로, BICM 체인(200)은 비트 인터리버(215)로부터의 각각의 인터리빙 블럭 출력을 디멀티플렉싱하기 위한 디멀티플렉서(Demuxer)(217), 및 디멀티플렉서(217)로부터의 디멀티플렉싱된 비트 출력을 전송을 위해 OFDM 심볼(셀)을 생성하는데 이용되는 QAM 심볼로 매핑하기 위한 QAM 매퍼(QAM mapper)(219)를 더 포함한다.
수신 장치에서 대응되는 체인은 L1-포스트 시그널링 비트를 회복하기 위해 수신된 심볼을 처리한다.
또 다른 가능한 프리앰블 구조는 오직 L1-프리 및 L1-포스트 시그널링을 위해 남겨진 특정 길이(예를 들어, 8K)를 갖는 하나의 심볼(예를 들어, OFDM 심볼)을 포함한다. 이 경우, L1-포스트 시그널링을 위해 이용되는 코딩과 펑처링 패턴은 다양할 수 있고, 예를 들어, L1-포스트 정보(예를 들어, L1-포스트 정보 비트의 수)의 길이에 의할 수 있다. 코딩률과 펑처링 스킴은 입력 데이터의 어떠한 길이에 대하여도 전체 싱글 심볼을 채우기 위해 적용될 수 있다.
도 2에 도시된 비트 인터리버(215)의 동작은 도 3에 도시되어 있다. 비트 인터리버(215)는 Nc 열과 Npost/Nc 행으로 구성된 블럭 인터리버의 형태로 제공된다. 도 3에 도시된 바와 같이, 비트는 인터리빙된 시퀀스를 획득하기 위해 비트 인터리버(215) 열 방향으로 입력되고, 비트 인터리버(215) 행 방향으로부터 출력된다. Nc의 값은 다양할 수 있으며, 예를 들어, 이용된 변조 스킴과 코드율에 따를 수 있다. 가령, 16-QAM과 1/2의 코드율을 이용하면 Nc=8이고, 64-QAM과 1/2의 코드율을 이용하면 Nc=12이다.
도 2에 도시된 구조는 상대적으로 간단한 이점이 있다. 그러나, 이 구조는 또한 특정 상황에 있어 상대적으로 떨어지는 퍼포먼스를 갖는 단점이 있다. 예를 들어, 3dB의 동작 시 특정 상황에서 손실이 발생할 수 있다.
이에 따라, 상대적으로 간단한 구조를 유지하면서 퍼포먼스가 개선된 비트 인터리빙 및 비트 디-인터리빙하는 방법, 장치 및 시스템이 요구된다.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은 상대적으로 간단한 구조를 유지하면서 퍼포먼스가 개선된 비트 인터리빙 및 비트 디-인터리빙하는 방법, 장치 및 시스템을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 비트 인터리빙 방법은, 비트 ak
Figure 112015004863078-pat00001
에 매핑되도록 비트의 세트 a ≡{ak: k= 0, 1, 2,...Npost-1}를 어레이 B={Bi ,j:i=0, 1, 2,...M-1; j=0, 1, 2,...N-1}에 매핑하는 단계, 여기서 상기 mod는 모듈로 연산자(modulo operator), 상기
Figure 112015004863078-pat00002
는 플로어 연산자(floor operator), 상기 M과 상기 N은 정수이고, 다음 중 적어도 하나를 수행하는 단계, ㅇ 적어도 하나의 제1 비트의 그룹 내의 적어도 두 개의 비트를 치환하는 단계를 포함하는 제1 퍼뮤테이션(permutation) 동작, 여기서 각각의 제1 비트의 그룹은 G (1) p={Bi ,p: i=0, 1, 2,...M-1;p∈{0, 1, 2,...N-1}}로 정의되고, ㅇ 적어도 하나의 제2 비트의 그룹 내의 적어도 두 개의 비트를 퍼뮤팅하는 단계를 포함하는 제2 퍼뮤테이션(permutation) 동작, 여기서 각각의 제2 비트의 그룹은 G (2) q={Bq ,j: j=0, 1, 2,...N-1;q∈{0, 1, 2,...M-1}}로 정의되며, 비트 Bi ,j가 bNi +j에 디-매핑되도록 인터리빙된 비트의 세트 b ≡{bk: k= 0, 1, 2,...Npost-1}를 획득하기 위하여 B로부터 비트를 디-매핑하는 단계를 포함할 수 있다.
또한, 상기 적어도 하나의 제1 비트의 그룹은 제1 그룹 { G (1) p: p mod g=h; g∈{1, 2, 3,...; h∈{0, 1, 2,...g-1}}의 세트일 수 있다.
그리고, g=2이고, h=0 또는 1일 수 있다.
또한, 상기 제1 퍼뮤테이션 동작은 위치 Bi ,p의 비트를 위치 Bπ1(i),p에 치환하는 단계를 포함하고, 여기서 π1(i)는 제1 퍼뮤테이션 함수를 포함할 수 있다.
그리고, π1(i)=M-i-1일 수 있다.
또한, 상기 제2 퍼뮤테이션 동작은 위치 Bq ,j의 비트를 위치 Bq ,π2(j)에 치환하는 단계를 포함하고, 여기서 π2(j)는 제2 퍼뮤테이션 함수를 포함할 수 있다.
그리고, π2(j)=(j+s(q)) mod N이고, 여기서 s(q)는 시프트(shift) 기능을 포함할 수 있다.
또한, s(q)=q 또는 s(q)=-q일 수 있다.
그리고, 상기 매핑하는 단계는, 상기 비트의 세트 a 를 M 행과 N 열로 이루어진 블럭 인터리버에 열 방향으로 쓰는 단계를 포함하고, 상기 제1 퍼뮤테이션 동작은 상기 블럭 인터리버의 적어도 하나의 열 내의 적어도 두 개의 비트를 치환하는 단계를 포함하며, 상기 제2 퍼뮤테이션 동작은 상기 블럭 인터리버의 적어도 하나의 행 내의 적어도 두 개의 비트를 치환하는 단계를 포함하고, 상기 디-매핑하는 단계는, 상기 인터리빙된 비트의 세트 b 를 상기 블럭 인터리버로부터 행 방향으로 읽는 단계를 포함할 수 있다.
또한, 상기 제1 퍼뮤테이션 동작은 모든 g번째 열 내의 비트를 치환하는 단계를 포함할 수 있다.
그리고, 상기 제1 퍼뮤테이션 동작은 각각의 홀수 열 또는 각각의 짝수 열 내의 비트를 치환하는 단계를 포함할 수 있다.
또한, 상기 제1 퍼뮤테이션 동작은 제1 퍼뮤테이션 함수에 따라 적어도 하나의 열 내의 비트를 치환하는 단계를 포함할 수 있다.
그리고, 상기 제1 퍼뮤테이션 함수는 적어도 하나의 열 내의 비트를 거꾸로 플립(flip)하는 단계를 포함할 수 있다.
또한, 상기 제2 퍼뮤테이션 동작은 제2 퍼뮤테이션 함수에 따라 적어도 하나의 행 내의 비트를 치환하는 단계를 포함할 수 있다.
그리고, 상기 제2 퍼뮤테이션 함수는 적어도 하나의 행을 시프트(shift)하는 단계를 포함할 수 있다.
또한, 상기 제2 퍼뮤테이션 함수는 p 번째 행을 특정 방향으로 p 만큼 시프트(shift)하는 단계를 포함할 수 있다.
그리고, N의 값을 선택하는 단계를 더 포함할 수 있다.
또한, 상기 N의 값은 상기 Npost의 값에 기초하여 선택될 수 있다.
그리고, 상기 Npost의 값이 임계값을 초과하면 상기 N의 값은 Nmod로서 선택되고, 상기 Npost의 값이 임계값을 초과하지 못하면 상기 N의 값은 Nmod/2로서 선택되며, 상기 Nmod는 인터리빙된 비트의 세트를 전송하기 위해 이용되는 복조 스킴의 차수에 관계될 수 있다.
또한, 상기 N의 값을 선택하는 단계는, Npost의 값 또는 Npost의 값의 범위와 관계된 N의 값을 나타내는 정보를 저장하고 있는 표를 이용하여 상기 N의 값을 획득하는 단계를 포함할 수 있다.
그리고, 상기 선택된 N의 값을 시그널링(signalling)하는 단계를 더 포함할 수 있다.
또한, 상기 제1 퍼뮤테이션 동작 및 상기 제2 퍼뮤테이션 동작 중 적어도 하나를 선택하여 상기 비트 인터리빙 방법에 적용하는 단계를 더 포함할 수 있다.
그리고, 상기 비트 인터리빙 방법에 적용되는 상기 제1 퍼뮤테이션 동작 및 상기 제2 퍼뮤테이션 동작 중 하나를 시그널링(signalling)하는 단계를 더 포함할 수 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 비트 인터리버는, 비트 ak
Figure 112015004863078-pat00003
에 매핑되도록 비트의 세트 a ≡{ak: k= 0, 1, 2,...Npost-1}를 어레이 B={Bi ,j:i=0, 1, 2,...M-1; j=0, 1, 2,...N-1}에 매핑하는 매퍼(mapper), 여기서 상기 mod는 모듈로 연산자(modulo operator), 상기
Figure 112015004863078-pat00004
는 플로어 연산자(floor operator), 상기 M과 상기 N은 정수이고, 다음 중 적어도 하나를 수행하는 퍼뮤터(permuter), ㅇ 적어도 하나의 제1 비트의 그룹 내의 적어도 두 개의 비트를 치환하는 제1 퍼뮤테이션(permutation) 동작, 여기서 각각의 제1 비트의 그룹은 G (1) p={Bi ,p: i=0, 1, 2,...M-1;p∈{0, 1, 2,...N-1}}로 정의되고, ㅇ 적어도 하나의 제2 비트의 그룹 내의 적어도 두 개의 비트를 퍼뮤팅하는 제2 퍼뮤테이션(permutation) 동작, 여기서 각각의 제2 비트의 그룹은 G (2) q={Bq ,j: j=0, 1, 2,...N-1;q∈{0, 1, 2,...M-1}}로 정의되며, 비트 Bi ,j가 bNi +j에 디-매핑되도록 인터리빙된 비트의 세트 b ≡{bk: k= 0, 1, 2,...Npost-1}를 획득하기 위하여 B로부터 비트를 디-매핑하는 디-매퍼(de-mapper)를 포함할 수 있다.
또한, 상기 적어도 하나의 제1 비트의 그룹은 제1 그룹 { G (1) p: p mod g=h; g∈{1, 2, 3,...; h∈{0, 1, 2,...g-1}}의 세트일 수 있다.
그리고, g=2이고, h=0 또는 1일 수 있다.
또한, 상기 제1 퍼뮤테이션 동작은 위치 Bi ,p의 비트를 위치 Bπ1(i),p에 치환하고, 여기서 π1(i)는 제1 퍼뮤테이션 함수를 포함할 수 있다.
그리고, π1(i)=M-i-1일 수 있다.
또한, 상기 제2 퍼뮤테이션 동작은 위치 Bq ,j의 비트를 위치 Bq ,π2(j)에 치환하고, 여기서 π2(j)는 제2 퍼뮤테이션 함수를 포함할 수 있다.
그리고, π2(j)=(j+s(q)) mod N이고, 여기서 s(q)는 시프트(shift) 기능을 포함할 수 있다.
또한, s(q)=q 또는 s(q)=-q일 수 있다.
그리고, 상기 매퍼는, 상기 비트의 세트 a 를 M 행과 N 열로 이루어진 블럭 인터리버에 열 방향으로 쓰고, 상기 제1 퍼뮤테이션 동작은 상기 블럭 인터리버의 적어도 하나의 열 내의 적어도 두 개의 비트를 치환하며, 상기 제2 퍼뮤테이션 동작은 상기 블럭 인터리버의 적어도 하나의 행 내의 적어도 두 개의 비트를 치환하고, 상기 디-매퍼는, 상기 인터리빙된 비트의 세트 b 를 상기 블럭 인터리버로부터 행 방향으로 읽을 수 있다.
또한, 상기 제1 퍼뮤테이션 동작은 모든 g번째 열 내의 비트를 치환할 수 있다.
그리고, 상기 제1 퍼뮤테이션 동작은 각각의 홀수 열 또는 각각의 짝수 열 내의 비트를 치환할 수 있다.
또한, 상기 제1 퍼뮤테이션 동작은 제1 퍼뮤테이션 함수에 따라 적어도 하나의 열 내의 비트를 치환할 수 있다.
그리고, 상기 제1 퍼뮤테이션 함수는 적어도 하나의 열 내의 비트를 거꾸로 플립(flip)할 수 있다.
또한, 상기 제2 퍼뮤테이션 동작은 제2 퍼뮤테이션 함수에 따라 적어도 하나의 행 내의 비트를 치환할 수 있다.
그리고, 상기 제2 퍼뮤테이션 함수는 적어도 하나의 행을 시프트(shift)할 수 있다.
또한, 상기 제2 퍼뮤테이션 함수는 p 번째 행을 특정 방향으로 p 만큼 시프트(shift)할 수 있다.
그리고, N의 값을 선택하는 제어부(controller)를 더 포함할 수 있다.
또한, 상기 N의 값은 상기 Npost의 값에 기초하여 선택될 수 있다.
그리고, 상기 Npost의 값이 임계값을 초과하면 상기 N의 값은 Nmod로서 선택되고, 상기 Npost의 값이 임계값을 초과하지 못하면 상기 N의 값은 Nmod/2로서 선택되며, 상기 Nmod는 인터리빙된 비트의 세트를 전송하기 위해 이용되는 복조 스킴의 차수에 관계될 수 있다.
또한, 상기 제어부는, Npost의 값 또는 Npost의 값의 범위와 관계된 N의 값을 나타내는 정보를 저장하고 있는 표를 이용하여 상기 N의 값을 획득할 수 있다.
그리고, 상기 제어부는, 상기 선택된 N의 값을 시그널링(signalling)할 수 있다.
또한, 상기 제어부는, 상기 제1 퍼뮤테이션 동작 및 상기 제2 퍼뮤테이션 동작 중 적어도 하나를 선택하여 상기 비트 인터리빙 방법에 적용할 수 있다.
그리고, 상기 제어부는, 상기 비트 인터리빙 방법에 적용되는 상기 제1 퍼뮤테이션 동작 및 상기 제2 퍼뮤테이션 동작 중 하나를 시그널링(signalling)할 수 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 비트 인터리빙 방법은, 비트 Bi ,j가 비트 bNi +j로부터 매핑되도록 비트의 세트 b ≡{bk: k= 0, 1, 2,...Npost-1}를 어레이 B={Bi ,j:i=0, 1, 2,...M-1; j=0, 1, 2,...N-1}에 매핑하는 단계, 여기서 상기 M과 상기 N은 정수이고, 다음 중 적어도 하나를 수행하는 단계, ㅇ 적어도 하나의 제1 비트의 그룹 내의 적어도 두 개의 비트를 치환하는 단계를 포함하는 제1 퍼뮤테이션(permutation) 동작, 여기서 각각의 제1 비트의 그룹은 G (1) p={Bi,p: i=0, 1, 2,...M-1;p∈{0, 1, 2,...N-1}}로 정의되고, ㅇ 적어도 하나의 제2 비트의 그룹 내의 적어도 두 개의 비트를 퍼뮤팅하는 단계를 포함하는 제2 퍼뮤테이션(permutation) 동작, 여기서 각각의 제2 비트의 그룹은 G (2) q={Bq ,j: j=0, 1, 2,...N-1;q∈{0, 1, 2,...M-1}}로 정의되며, 비트 ak
Figure 112015004863078-pat00005
로부터 디-매핑되도록 디-인터리빙된 비트의 세트 a ≡{ak: k= 0, 1, 2,...Npost-1}를 획득하기 위하여 B로부터 비트를 디-매핑하는 단계, 여기서 상기 mod는 모듈로 연산자(modulo operator), 상기
Figure 112015004863078-pat00006
는 플로어 연산자(floor operator)를 포함할 수 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 비트 인터리버는, 비트 Bi ,j가 비트 bNi +j로부터 매핑되도록 비트의 세트 b ≡{bk: k= 0, 1, 2,...Npost-1}를 어레이 B={Bi ,j:i=0, 1, 2,...M-1; j=0, 1, 2,...N-1}에 매핑하는 매퍼(mapper), 여기서 상기 M과 상기 N은 정수이고, 다음 중 적어도 하나를 수행하는 퍼뮤터(permuter), ㅇ 적어도 하나의 제1 비트의 그룹 내의 적어도 두 개의 비트를 치환하는 제1 퍼뮤테이션(permutation) 동작, 여기서 각각의 제1 비트의 그룹은 G (1) p={Bi,p: i=0, 1, 2,...M-1;p∈{0, 1, 2,...N-1}}로 정의되고, ㅇ 적어도 하나의 제2 비트의 그룹 내의 적어도 두 개의 비트를 퍼뮤팅하는 제2 퍼뮤테이션(permutation) 동작, 여기서 각각의 제2 비트의 그룹은 G (2) q={Bq ,j: j=0, 1, 2,...N-1;q∈{0, 1, 2,...M-1}}로 정의되며, 비트 ak
Figure 112015004863078-pat00007
로부터 디-매핑되도록 인터리빙된 비트의 세트 a ≡{ak: k= 0, 1, 2,...Npost-1}를 획득하기 위하여 B로부터 비트를 디-매핑하는 디-매퍼(de-mapper), 여기서 상기 mod는 모듈로 연산자(modulo operator), 상기
Figure 112015004863078-pat00008
는 플로어 연산자(floor operator)를 포함할 수 있다.
도 1은 데이터 전송을 위한 DVB-T2에서 이용되는 프레임 구조를 나타낸다.
도 2는 본 발명의 일 실시 예에 따른 비트 스트림을 처리하기 위한 BICM 체인을 나타낸다.
도 3은 도 2에 도시된 비트 인터리버의 동작을 나타낸다.
도 4는 그레이 매핑 스킴을 사용하여 64-QAM을 위한 성상도를 나타낸다.
도 5는 본 발명의 일 실시 예에 따른 비트 인터리버의 기능적 구조를 나타낸다.
도 6a 내지 6d는 도 5에 도시된 비트 인터리버의 동작을 나타낸다.
도 7은 본 발명의 일 실시 예에 따른 비트 디-인터리버의 기능적인 구조를 나타낸다.
도 8은 본 발명의 일 실시 예에 따른 시스템을 나타낸다.
도 9a는 본 발명의 일 실시 예에 따른 비트 인터리빙을 위한 방법에 대한 흐름도이다.
도 9b는 본 발명의 일 실시 예에 따른 비트 디-인터리빙을 위한 방법에 대한 흐름도이다.
이하에서는, 본 발명의 다양한 실시 예들이 첨부된 도면과 함께 기술되어 청구항에 의해 정의된 본 발명의 이해를 돕고, 본 발명의 청구범위는 청구항에 의해 정의된다. 상세한 설명에는 구체적인 세부 사항들이 이해를 돕기 위해 포함되나 단지 실시 예일 뿐이다. 따라서, 동일 기술 분야의 통상의 기술자는 본 발명의 범위를 벗어나지 않고 실시 예의 다양한 수정 및 변형을 할 수 있다.
동일하거나 유사한 구성요소는 비록 서로 다른 도면들에 도시되어 있더라도 동일하거나 유사한 참조번호에 의해 표기될 것이다.
당해 기술분야에서 알려진 기술, 특성, 요소, 구조, 구성, 기능, 작동 또는 프로세스의 상세한 기술은 본 발명의 명확성, 간결성 및 중요 사항과의 모호성 방지를 위해 생략될 수 있다.
이하에서 사용되는 용어 및 단어는 참고문헌적 의미 또는 표준적 의미(bibliographical or standard meanings)로 제한되는 것은 아니며, 본 발명의 명확하고 일관된 이해를 가능하도록 사용될 수 있다.
본 발명의 상세한 설명과 청구항을 통하여, "구성하다", "포함하다" 및 "들어 있다"와 그 변형, 예를 들어, "구성하는" 및 "포함하는"은 "포함하지만 그에 한정되지 않는"을 의미하고, 다른 특징, 요소, 성분, 정수, 단계, 프로세스, 운영, 기능, 특성 및 속성 중 적어도 하나를 제외하려는 의도는 아니다.
본 발명의 상세한 설명과 청구항을 통하여, "상당히"는 인용된 특성, 매개 변수 또는 값은 정확히 이루어질 필요는 없지만, 예를 들어, 허용 오차, 측정 오차, 측정 정확성의 한계 및 통상의 기술자에게 알려진 기타 요인을 포함하는 편차 또는 변형이 결국 특성을 제공하기 위해 의도된 효과를 배제하지 않는 것으로 발생할 수 있음을 의미한다.
본 발명의 상세한 설명과 청구항을 통하여, "Y를 위한 X"(Y는 특정 동작, 공정, 작동, 기능, 행위 또는 단계이고, X는 동작, 공정, 작동, 기능, 행위 또는 단계를 수행하는 특정 수단)의 일반적인 형태의 문장은 Y를 위해 필수적이나 배타적인 것은 아닌 특별히 채택, 구성 또는 배열된 수단 X를 포함한다.
본 발명의 특정 측면, 실시 예, 보기 또는 청구항과 관련하여 기술되고 개시된 특징, 요소, 구성, 정수, 단계, 공정, 동작, 기능, 특질 및 특성 중 적어도 하나는 양립 불가능하지 않은 한 기술된 다른 측면, 실시 예, 보기 또는 청구항에 적용될 수 있음이 이해되어져야 한다.
본 발명의 실시 예들은 비트 인터리빙 및 비트 디-인터리빙 중 적어도 하나를 위한 다양한 기술(예를 들어, 방법, 장치 및 시스템)을 제공한다. 본 발명의 실시 예들은 적어도 하나의 현재 및 차 세대의 디지털 방송 시스템, 예를 들어, DVB(Digital Video Broadcasting) 프로젝트 및 ATSC(Advanced Television Systems Committee)(예를 들어, ATSC 3.0 표준)에 의해 개발되는 시스템을 포함하여 디지털 방송 시스템 내에서 구현될 수 있다. 그러나, 통상의 기술자는 본 발명이 특정 시스템 또는 표준과 연계되어 이용되는 것으로 한정되지 않고, 다양한 실시 예들이 디지털 방송 시스템에 적합한 형태로 이용될 수 있는 비트 인터리빙 및 비트 디-인터리빙 중 적어도 하나를 위한 기술을 제공하는 것을 인정할 것이다.
본 발명의 실시 예에 따르면 기술되는 기술은 L1-포스트 시그널링(L1-post signalling) 또는 유사한 형태의 시그널링과 같은 시그널링 데이터를 비트 인터리빙 및 비트 디-인터리빙 중 적어도 하나를 수행하는데 이용될 수 있다. 그러나, 통상의 기술자는 본 발명이 특정 타입의 데이터와 연계되어 이용되는 것으로 한정되지 않고, 다양한 실시 예들이 데이터의 적합한 형태로 이용될 수 있는 비트 인터리빙 및 비트 디-인터리빙 중 적어도 하나를 위한 기술을 제공하는 것을 인정할 것이다.
게다가, 본 발명은 특정 타입의 데이터 구조 또는 프리앰블 구조로 이용되는 것에 한정되지 않는다. 예를 들어, 프리앰블 구조가 이용되는 경우, 적합한 타입의 싱글 심볼 또는 멀티-심볼 구조를 포함하여 적합한 타입의 프리앰블 구조가 본 발명의 실시 예에서 이용될 수 있다.
본 발명의 실시 예는 디지털 방송을 이용하기 위해 적합한 방법, 시스템 및 장치 중 적어도 하나의 형태로 구현될 수 있다. 예를 들어, 본 발명의 실시 예는 모바일/휴대용 단말기(예를 들어, 모바일 전화기), 핸드헬드(hand-held) 디바이스, 개인 컴퓨터, 디지털 텔레비전 또는 디지털 라디오 방송 전송 장치 또는 수신 장치, 셋탑박스 등의 형태로 구현될 수 있다. 이러한 방법, 시스템 및 장치 중 적어도 하나는 현재 또는 미래의 디지털 방송 시스템 및 표준, 예를 들어, 상술한 디지털 방송 시스템 및 표준 중 적어도 하나에 호환될 수 있다.
본 발명의 실시 예는 전송 장치와 수신 장치를 포함하는 시스템의 형태로 구현될 수 있다. 전송 장치는 데이터의 비트 인터리빙(또한, 기타 필요한 처리 및 인코딩)을 수행하고 비트 인터리빙된 데이터에 대응되는 신호를 수신 장치로 전송하도록 구현될 수 있다. 수신 장치는 신호를 수신하고, 비트 디-인터리빙(또한, 기타 필요한 처리 및 디코딩)을 수행하도록 구현될 수 있다. 본 발명의 실시 예는 전송 장치, 수신 장치 또는 그 둘을 포함하는 시스템을 포함할 수 있다.
상술한 바와 같이, 도 2에서 도시한 구조는 특정한 상황에서 상대적으로 낮은 퍼포먼스를 보인다는 단점이 있다. 그 이유 중 하나에 대해 설명한다.
도 4는 그레이 매핑(Gray mapping) 스킴에 따라 6-bit 값이 각각의 성상점(Constellation point)에 매핑되는 64-QAM을 위한 성상 다이어그램을 나타낸다. 도 4에 도시된 매핑을 이용하여, 6-bit 값(0과 1 비트)의 두 개의 most significant bits(MSBs)가 대응되는 성상점이 어느 성상의 사분면(Quadrant)에 위치할지를 결정하는 것을 볼 수 있다. 다음 두 개의 MSBs(2와 3 비트)는 대응되는 성상점이 위치할 사분면의 서브-사분면(Sub-quadrant)을 결정한다. 마지막으로, 마지막 두 개의 MSBs(4와 5 비트)는 서브-사분면을 형성하는 4개의 성상점 중 어느 성상점이 대응되는 성상점에 일치하는지를 결정한다.
따라서, 처음 두 개의 MSBs(0와 1 비트) 중 하나의 변화는 해당하는 성상점의 위치에 있어서 상대적으로 큰 변화(예를 들어, 사분면의 변화)를 유발한다. 반대로, 이 비트 중 하나에 에러를 유발하기 위해서는 상대적으로 큰 정도의 노이즈가 요구된다. 이와 비교하여, 다음 두 개의 MSBs(2와 3 비트) 중 하나의 변화는 해당하는 성상점의 위치에 있어서 더 작은 변화(예를 들어, 사분면의 서브-사분면의 변화)를 유발하고, 반대로, 더 작은 정도의 노이즈로 이 비트에 에러를 유발할 수 있다. 마지막으로, 마지막 두 개의 MSBs(4와 5 비트) 중 하나의 변화는 해당하는 성상점의 위치에 있어서 상대적으로 작은 변화(예를 들어, 서브-사분면의 성상점의 변화)를 유발하고, 반대로, 상대적으로 낮은 정도의 노이즈로 이 비트에 에러를 유발할 수 있다.
상술한 원칙은 또한 다른 차수의 QAM, 예를 들어, 16-QAM, 64-QAM, 256-QAM…, 또는 22m-QAM (m=2, 3, 4, …)을 포함하는 다른 변조 스킴에도 적용된다.
2n-QAM 성상도의 성상점에 매핑된 n-bit 값의 각각의 비트는 각각 n개의 1-bit 채널들을 통과하는 것으로 간주될 수 있다. 각각의 1-bit 채널들은 다른 정도로 노이즈를 허용할 수 있고, 예를 들어, 상술한 이유로, 노이즈의 주어진 레벨에 따른 에러율 및 그에 따른 체널 용량은 채널마다(예를 들어, 비트마다) 다를 수 있다. 특히, 덜 중요한 비트에 대응되는 채널을 위한 채널 용량은 일반적으로 더 중요한 비트에 대응되는 채널을 위한 경우보다 작다. 예를 들어, 22m-QAM와 같은 특정 변조 스킴을 위해, 채널 쌍은 동일하거나 유사한 채널 용량을 가질 수 있고, 예를 들어, 상술한 64-QAM 예에서 비트 {0,1}, {2,3} 및 {4,5}의 쌍에 대응되는 채널들이다.
다시 도 3을 언급하면, 하나의 성상점에 매핑된 비트는 일반적으로 비트 인터리버(215)의 동일한 행(예를 들어, 도 3에서 점선으로 표시된 비트)으로부터 출력된다. 예를 들어, 도 3에서 도시된 256-QAM과 8열 비트 인터리버의 경우, 비트 인터리버(215)의 하나의 행으로부터 출력되는 8 비트는 일반적으로 하나의 256-QAM 성상점에 매핑된다. 이는 동일한 열에 위치하는 비트는 동일한 1-bit 채널을 통해 전송될 것을 의미한다. 게다가, 비트는 열 방향으로 비트 인터리버(215)에 입력되기 때문에, 입력 비트 스트림의 많은 연속되는 비트가 동일한 열을 차지할 것이다. 따라서, 입력 비트 스트림의 많은 연속되는 비트는 모두 동일한 채널을 통해 전송될 것이다. 이것은 많은 연속되는 비트가 부족한 용량을 갖는 채널을 통해 전송되게 하고, 이는 바람직하지 않다.
본 발명의 일 실시 예는 상술한 문제를 회피하거나 경감시킬 수 있는 비트 인터리버를 제공하고, 그에 따라, 상대적으로 간단한 구조를 유지하면서 퍼포먼스를 향상시킨다.
도 5는 본 발명의 일 실시 예에 따른 비트 인터리버의 기능적 구조를 나타낸다. 도 6a 내지 6d는 도 5에 도시된 비트 인터리버의 동작을 나타낸다. 본 발명의 실시 예에 따르면, 비트 인터리버는 BICM 체인, 예를 들어, 도 2에 도시된 BICM 체인의 일부를 형성할 수 있다. 도 5에 도시된 비트 인터리버(500)를 포함하는 본 발명의 일 실시 예에 따른 시스템이 도 8에 도시되어 있다. 도 5에 도시된 비트 인터리버(500)에 의해 수행되는 본 발명의 일 실시 예에 따른 방법이 도 9a에 도시되어 있다.
다음의 실시 예에서는, 비트 인터리버는 블럭 인터리버로 기술된다. 그러나, 본 발명의 실시 예는 블럭 인터리버의 형태로 구현되는 것에 제한되지 않는다. 예를 들어, 본 발명의 일 실시 예에 따라, 비트 인터리버는 여기서 기술된 블럭 인터리버에 의해 적용되는 것과 동일한 전체 인터리빙 패턴에 따라 비트 인터리빙을 수행하는 다른 형태로 제공될 수 있다. 게다가, 기술된 비트 인터리버의 행과 열 및 그에 따라 수행하는 동작은 다른 실시 예로 변형될 수 있다.
본 발명의 일 실시 예에 따라, 입력 비트 시퀀스는 첫 번째 방향(예를 들어, 열 방향)으로 블럭 인터리버로 처음으로 기록된다. 다음으로, 비트 인터리버의 하나 이상의 열(예를 들어, 홀수의 열)은 하나 이상의 첫 번째 퍼뮤테이션 패턴(예를 들어, 열이 거꾸로 뒤집어진다)에 따라 치환되고, 비트 인터리버의 하나 이상의 행은 하나 이상의 두 번째 퍼뮤테이션 패턴(예를 들어, 행이 주기적으로 이동된다)에 따라 치환된다. 마지막으로, 출력 비트 시퀀스는 두 번째 방향(예를 들어, 행 방향)으로 비트 인터리버로부터의 비트를 읽음으로써 생성된다.
도 5에 도시된 바와 같이, 전송 장치에서의 비트 인터리버(500)는 인터리버 어레이(Interleaver array)(501), 매퍼(Mapper)(503), 열 퍼뮤터(Column permuter)(505), 행 퍼뮤터(Row permuter)(507) 및 디-매퍼(De-mapper)(509)를 포함한다. 비트 인터리버(500)는 또한 인터리버 어레이(501), 매퍼(503), 열 퍼뮤터(505), 행 퍼뮤터(507) 및 디-매퍼(509)를 제어하기 위한 제어부(Controller)(511)를 포함한다.
실시 예에 따르면, 열 퍼뮤터(505)와 행 퍼뮤터(507)는 분리되어 있으나, 다른 실시 예에 의하면, 열 퍼뮤터(505)와 행 퍼뮤터(507)는 하나의 퍼뮤터 블럭으로 구현될 수도 있다.
게다가, 본 발명의 일 실시 예는 도 5에 도시된 구성에 한정되지 않는다. 예를 들어, 다른 실시 예에 따르면, 비트 인터리버는 비트 시퀀스가 각각의 매핑, 열 퍼뮤팅, 행 퍼뮤팅 및 디-매핑의 동작을 수행하기 위하여 체인 내의 다양한 블럭을 순차적으로 통과될 수 있도록 체인 구조의 형태로 구현될 수 있다.
게다가, 본 발명의 어레이는 물리적인 어레이에 한정되지 않고, 수학적인 어레이를 언급하는 것일 수 있다. 즉, 예를 들어, 퍼뮤테이션 작업을 좀더 분명하거나 편하게 정의하기 위한 목적으로 두 개의 변수가 정의될 수 있다. 그러나, 실시 예에 따르면, 본 발명에서 기술하는 퍼뮤테이션 작업과 동일한 퍼뮤테이션 작업(예를 들어, 주어진 특정 인풋에 대한 동일한 아웃풋을 발생하는)은 오로지 하나의 방법으로 저장되거나 처리된 비트에 적용될 수 있다.
인터리버 어레이(501)는 M 개의 행과 N 개의 열로 구성되어 있고, 따라서, 셀들의 M×N 어레이를 형성하며, 어레이의 i번째 행과 j번째 열(i=0, 1, 2, ..., M-1 및 j=0, 1, 2, ..., N-1)의 셀은 Bi ,j로 표기될 수 있다. 매퍼(503)는 입력 비트 시퀀스 {ak} (k=0, 1, 2, ...)를 수신하고, 입력 비트 시퀀스의 비트를 인터리버 어레이(501)의 셀에 매핑한다. 예를 들어, 매퍼(503)는 비트 ak를 셀 Bi ,j에 매핑되도록 입력 비트 시퀀스 {ak}를 인터리버 어레이(501)의 열 방향으로 기록하며, 여기서, i=k mod M and
Figure 112015004863078-pat00009
이고, mod는 모듈로 연산자(modulo operator),
Figure 112015004863078-pat00010
는 플로어 연산자(floor operator)를 나타낸다. 이러한 매핑은 도 6a에 도시되어 있다.
열 퍼뮤터(505)는 하나 이상의 퍼뮤테이션 패턴에 따라 인터리버 어레이(501)의 하나 이상의 열의 복수의 셀들을 치환하기 위해 구성된다. 예를 들어, 열 퍼뮤터(505)는 모든 p번째 열, 예를 들어 j mod p=q인 열 {j}의 세트를 치환하도록 구성될 수 있으며, 여기서, p=1, 2, 3, ... 및 q=0, 1, 2, ..., p-1는 고정된 값이다. 본 발명의 일 실시 예에서, 열 퍼뮤터(505)는 홀수의 열, 예를 들어 j mod 2=1인 열 {j}의 세트를 치환하도록 구성된다. p번째 열(p=0, 1, 2, ..., N-1) 내의 퍼뮤팅 셀은 G (1) p={Bi ,p}로 표기되는 셀 그룹 내의 퍼뮤팅 셀로서 간주될 수 있으며, 여기서 i=0, 1, 2, ..., M-1이다.
열 퍼뮤터(505)는 동일한 퍼뮤테이션 패턴 또는 다른 퍼뮤테이션 패턴을 이용하여 열들의 일부 또는 전부를 치환할 수 있다. 본 발명의 실시 예에서는, 홀수 열이 각각 동일한 퍼뮤테이션 패턴을 이용하여 치환되었다.
열 퍼뮤터(505)는 적절한 퍼뮤테이션 패턴을 이용하여 열을 치환할 수 있다. 예를 들어, 위치 Bi ,j의 비트는 위치 Bπ1(i),j에 치환될 수 있고, 여기서 π1(i)는 첫 번째 퍼뮤테이션 함수를 나타낸다. 예를 들어, 도 6b에 도시된 본 발명의 실시 예에서, 열 퍼뮤터(505)는 열 퍼뮤테이션 전의 위치 Bi ,j의 비트가 열 퍼뮤테이션 후의 새로운 위치 B'i ,j=BM -i-1,j에 치환되도록, 예를 들어, π1(i)=M-i-1 하도록 인터리버 어레이(501)의 j번째 열을 상하로 뒤집도록 구성된다.
열을 구성하는 셀들은 기타 다른 적당한 방법으로 치환될 수 있다. 예를 들어, 열을 구성하는 셀들은 반랜덤하게 치환될 수 있다. 또 다른 예를 들어, 하나의 열은 둘 이상의 서브 열로 나누어질 수 있고(예를 들어 동일하게), 각 서브 열의 셀들은 특정 퍼뮤테이션 패턴(예를 들어, 각 서브 열을 상하로 뒤집음으로써)에 따라 독립적으로 치환될 수 있다.
행 퍼뮤터(507)는 하나 이상의 퍼뮤테이션 패턴에 따라 인터리버 어레이(501)의 하나 이상의 행의 복수의 셀들을 치환하기 위해 구성된다. 예를 들어, 위치 Bi ,j의 비트는 위치 Bi ,π2(j)에 치환될 수 있고, 여기서 π2(j)는 두 번째 퍼뮤테이션 함수를 나타낸다. q번째 열(q=0, 1, 2, ..., M-1) 내의 퍼뮤팅 셀은 G (2) q={Bq,j}로 표기되는 셀 그룹 내의 퍼뮤팅 셀로서 간주될 수 있으며, 여기서 j=0, 1, 2, ..., N-1이다. 행 퍼뮤터(507)는 동일한 퍼뮤테이션 패턴 또는 다른 퍼뮤테이션 패턴을 이용하여 열들의 일부 또는 전부를 치환할 수 있다.
본 발명의 일 실시 예에 따르면, 퍼뮤테이션 패턴은 시프트(shift)를 포함할 수 있다. 예를 들어, 열 퍼뮤터(507)는 특정 열의 모든 셀을 특정 방향으로 셀의 특정 수까지 시프트하도록 구성될 수 있다. 도 6c에 도시된 본 발명의 실시 예에서, 행들은 1행은 시프트되지 않고, 그 다음 행은 하나의 셀만큼 오른쪽으로 시프트되고, 그 다음 행은 두 개의 셀만큼 오른쪽으로 시프트되는 방식으로 순환하여 시프트된다. 좀더 일반적으로, 퍼뮤테이션 패턴으로서 시프트를 이용하는 경우에, 행 퍼뮤터(507)는 행 퍼뮤테이션 전의 위치 Bi ,j의 비트가 행 퍼뮤테이션 후의 새로운 위치 B'i ,j=Bi ,(j+s(i)) modN(예를 들어, p2(j)=(j+s(i)) mod N)에 치환될 수 있게 행을 시프트하도록 구성되며, 여기서, s(i)는 행의 변수 i의 함수로서 정의되는 시프트 개수(예를 들어, 셀의 단위로)를 나타낸다. 예를 들어, 실시 예에 따라, s(i)=i이다. 또 다른 예에 따르면, 시프트 개수는 다른 방법으로 정의될 수 있고, 예를 들어, s(i)=2i 또는 s(i)=-i이다.
상술한 바와 같이 인터리버 어레이(501)에 열 또는 행 퍼뮤테이션을 적용함으로써, 퍼포먼스가 개선될 수 있다. 예를 들어, 다른 퍼뮤테이션 패턴을 이용하여 인터리버 어레이(501)의 다른 행들을 치환함으로써(예를 들어, 다른 개수만큼 인터리버 어레이(501)의 다른 행들을 치환함으로써), 인터리버 어레이(501)의 동일한 열로 읽혀지는 원래의 입력 비트 시퀀스 {ak}의 연속적인 비트들이 행들의 퍼뮤테이션을 따르는 다른 열들로 확산되는 경향을 볼 수 있다. 결과적으로, 비트 인터리버(500)으로부터의 비트 출력이 성상점에 매핑될 때, 입력 비트 시퀀스 {ak}의 연속적인 비트들은 다른 비트 위치를 차지하는 경향을 보인다. 따라서, 연속적인 비트들은 다른 채널 용량을 갖는 1 비트 채널을 통해 전송되는 경향을 보이고, 그로 인해 연속적인 비트들이 상대적으로 낮은 채널 용량을 갖는 채널을 통해 전송될 가능성이 감소한다.
게다가, 인터리버 어레이(501)의 특정 열을 치환함으로써(예를 들어, 홀수의 열을 뒤집음으로써), 퍼포먼스가 예를 들어, 다음과 같은 이유로 향상된다.
인터리버 어레이(501)의 열이 치환됨이 없이 인터리버 어레이(501)의 행이 시프트되는 경우, 도 6d에 도시된 바와 같이, 행들이 시프트된 후 특정 열의 비트 값이 원래의 비트 시퀀스 {ak}에 N-1만큼 떨어진 위치의 값에 대응되는 상대적으로 큰 수의 값들의 쌍(Pairs of values)을 포함하는 것을 볼 수 있다. 게다가, 행들이 시프트된 후, 주변 열의 비트 값이 원래의 비트 시퀀스 {ak}의 연속적인 값에 대응되는 상대적으로 큰 수의 값들과 원래의 비트 시퀀스 {ak}에 N, N-2만큼 떨어진 위치의 값에 대응되는 많은 값들의 쌍을 포함한다.
상술한 이유로, 동일한 열을 차지하는 비트들은 특정 채널 용량을 갖는 동일한 1 비트 채널을 통하여 전송될 수 있다. 게다가, 상술한 이유로, 특정한 경우에 주변의 열들을 차지하는 비트들은 동일하거나 유사한 채널 용량을 갖는 다른 1 비트 채널을 통해 전송될 수 있다. 따라서, 특정 주기(예를 들어, 주기 N)를 갖고 반복하는 원래의 비트 시퀀스 {ak} 내에 생성되는 데이터는 동일하거나 유사한 채널 용량을 갖는 다른 1 비트 채널을 통해 전송되는 경향이 있다. 이는 상대적으로 낮은 채널 용량을 갖는 채널을 통해 전송되는 데이터를 발생시키며, 이는 바람직하지 않다.
그러나, 특정 열들을 치환함으로써, 예를 들어 도 6c에 도시된 바와 같이, 특정 열의 비트 값과 주변 열들의 비트 값은 원래의 비트 시퀀스 {ak}에서 인접한 값에 대응되는 더 적은 수의 값들의 쌍 및 원래의 비트 시퀀스 {ak}에서 N, N-1, N-2만큼 떨어진 위치의 값에 대응되는 더 적은 수의 값들의 쌍을 포함한다. 따라서, 원래의 비트 시퀀스 {ak}에서 발생하는 주기적인 데이터는 동일하거나 유사한 비트 용량을 갖는 채널을 통해 전송될 가능성이 낮고, 그에 따라, 이러한 데이터는 상대적으로 낮은 채널 용량을 갖는 채널을 통해 전송될 가능성이 감소한다. 도 6c 및 도 6d를 비교함으로써 볼 수 있듯이, 열들이 치환되지 않은 도 6d의 경우 원래의 비트 시퀀스 {ak}에서 N만큼 떨어진 위치의 값에 대응되는 더 많은 값들의 쌍(도 6d에서 점선의 계란형으로 표시된)을 동일하거나 유사한 채널 용량을 갖는 채널을 통해 전송되도록 야기한다.
디-매퍼(509)는 출력 인터리빙된 비트 시퀀스 {bk}를 생성하기 위해 인터리버 어레이로부터의 비트들을 디-매핑하도록 구성된다. 예를 들어, 디-매퍼(509)는 출력 비트 시퀀스의 비트 bk가 인터리버 어레이(501)의 셀 Bi ,j로부터 디-매핑되도록 인터리버 어레이(501)로부터의 비트들을 행 방향으로 읽도록 구성될 수 있으며, 여기서, k=Ni+j이다.
열 퍼뮤터(505)와 행 퍼뮤터(507)는 특정 순서에 따라 인터리버 어레이(501)에서 작동하도록 구성될 수 있다. 예를 들어, 일 실시 예에서, 열 퍼뮤터(505)는 행 퍼뮤터(507)가 인터리버 어레이(501)의 행들을 치환하기 전에 일터리버 어레이(501)의 열들을 치환할 수 있다. 또는, 행 퍼뮤터(507)는 열 퍼뮤터(505)가 인터리버 어레이(501)의 열들을 치환하기 전에 인터리버 어레이(501)의 행들을 치환할 수 있다. 일 실시 예에 따르면, 열 퍼뮤터(505)와 행 퍼뮤터(507)의 인터리버 어레이(501) 상에서의 작동의 순서는 예를 들어, 제어부(511)에 의해 제어될 수 있다.
이하, 본 발명의 일 실시 예에 따른 비트 인터리빙의 특정 예를 기술한다. 실시 예에 따르면, 입력 데이터는 L-1의 길이를 갖고, 열들의 개수는 C이다. 사이즈 (R(행), C(열))의 행렬이 정의되고, 여기서 R=ceil(L-1/C)이다. 첫 번째 행렬 출력 M은 M(r,c)=input(c*R+(r-1))로서 정의된다. 첫 번째 행렬 출력의 일 예가 도 6a에 도시되어 있다. 두 번째 행렬 A는 M으로부터 A(r,c)=M((R-r) mod R,c)에 따라 계산되며, (c mod 2≠0)이다. 두 번째 행렬 출력의 일 예가 도 6b에 도시되어 있다. 세 번째 행렬 B는 A로부터 B(r,c)=A(r, (c+r) mod C)에 따라 계산된다. 세 번째 행렬 출력의 일 예가 도 6c에 도시되어 있다.
일 실시 예에 따라, 열 퍼뮤터(505)와 행 퍼뮤터(507) 중 오직 하나 만이 제공될 수 있고, 그에 따라 열들과 행들 중 오직 하나만이 치환될 수 있다. 다른 실시 예에 따르면, 열 퍼뮤터(505)와 행 퍼뮤터(507) 모두 제공될 수 있고, 열 퍼뮤터(505)와 행 퍼뮤터(507) 중 적어도 하나는 선택적으로 활성화되거나 비활성화될 수 있다. 이러한 구성은 비트 인터리버를 (i) 오직 행들만 치환되는 모드, (ii) 오직 열들만 치환되는 모드, (iii) 행들과 열들 모두 치환되는 모드, (iv) 행들과 열들 모두 치환되지 않는 모드를 포함하는 다수의 다른 모드로 동작하도록 할 수 있다. 적당한 조건 또는 기준에 따라 특정 모드가, 예를 들어, 제어부(501)에 의해 선택될 수 있다. 예를 들어, 일 실시 예에 따라, 모드는 비트 시퀀스 {ak}의 길이에 기초하여 선택될 수 있고, Npost로 표기될 수 있다.
비트 인터리버(500)는 인터리버 어레이(501)의 동작 동안 이용되는 열들의 수 N이 변화되도록 구성될 수 있다. 예를 들어, 매퍼(503)와 디-매퍼(509)는 인터리버 어레이(501)의 특정 수의 열들에 또는 열들로부터 비트들을 매핑 및 디-매핑하도록 구성될 수 있고, 여기서 열들은 모든 이용 가능한 열들 또는 이용 가능한 열들의 일부일 수 있다.
인터리버 어레이(501)의 동작 동안 이용되는 열들의 수 N은 적당한 조건 또는 기준에 따라, 예를 들어, 제어부(511)에 의해 선택될 수 있다. 예를 들어, 일 실시 예에 따라, 열들의 수는 비트 시퀀스 {ak}의 길이 Npost에 기초하여 선택될 수 있다. 예를 들어, Npost가 상대적으로 큰 값인 경우, 열들의 수는 각 성상점(예를 들어, 2Nmod-QAM에서 Nmod로 표시되는)에 매핑되는 비트의 수와 동일할 수 있고, Npost가 상대적으로 작은 값인 경우, 열들의 수는 각 성상점(예를 들어, 2Nmod-QAM에서 Nmod/2로 표시되는)에 매핑되는 비트의 수의 절반 값과 동일할 수 있다. 특정 실시 예에 따르면, 열들의 수는 특정 성상점의 차수에서 Npost값에 독립적일 수 있다. 예를 들어, 16-QAM(Nmod=4)에서 열들의 수는 Npost의 모든 값 동안 Nmod(=4)에 동일할 수 있다.
상술하였듯이, 열 퍼뮤터(505)와 행 퍼뮤터(507)의 선택적인 활성화 및 비활성화, 그리고 인터리버 어레이(501)의 동작 동안 이용되는 열들의 수의 선택은 적어도 부분적으로, 비트 시퀀스 {ak}의 길이 Npost에 기초하여 수행될 수 있다. 일 실시 예에서, 비트 인터리버(500)는 Npost의 각각의 값에 따른 적당한 환경 설정(예를 들어, 열 퍼뮤터(505) 및 행 퍼뮤터(507) 중 적어도 하나의 활성화 및 비활성화, 그리고 인터리버 어레이(501)의 열의 수)을 나타내는 정보를 포함하는 표를 저장할 수 있다. 일 실시 예에 따라 동일한 환경 설정이 Npost 값의 범위에서 이용될 수 있고, 이 경우 표는 개별 값보다는 각각의 값들의 범위에서 환경 설정을 저장함으로써 간소화될 수 있다. 다른 실시 예에 따르면, 적당한 환경 설정이 예를 들어, 각각 열 퍼뮤터(505) 및 행 퍼뮤터(507)에 대응되는 활성화 플래그(flag) 쌍과 인터리버 어레이(501)의 열의 수를 나타내는 필드(feild)를 이용하여 전송 장치에서 수신 장치로 전송될 수 있다.
수신 장치에는, 전송 장치의 비트 인터리버에 대응되는 비트 디-인터리버가 제공된다. 비트 디-인터리버는 수신된 심볼 열을 복조함으로써 생성되는 비트 시퀀스를 디-인터리빙하도록 구성된다. 도 7은 본 발명의 일 실시 예에 따른 비트 디-인터리버의 기능적인 구조를 나타낸다. 도 7의 비트 디-인터리버(700)를 포함하는 본 발명의 실시 예에 따른 시스템이 도 8에 도시되어 있다. 도 5의 비트 디-인터리버(700)에 의해 수행되는 본 발명의 실시 예에 따른 방법이 도 9b에 도시되어 있다.
도 7에 도시하였듯이, 비트 디-인터리버(700)는 디-인터리버 어레이(De-interleaver array)(701), 매퍼(Mapper)(703), 열 퍼뮤터(Column permuter)(705), 행 퍼뮤터(Row permuter)(707) 및 디-매퍼(De-mapper)(709)를 포함한다. 또한, 비트 디-인터리버(700)는 디-인터리버 어레이(701), 매퍼(703), 열 퍼뮤터(705), 행 퍼뮤터(707) 및 디-매퍼(709)를 제어하기 위한 제어부(Controller)(711)를 포함한다.
디-인터리버 어레이(701)는 전송 장치의 인터리버 어레이(501)와 유사한 형상을 갖고, 또한, 셀들의 M×N 어레이를 형성하는 M 개의 행과 N 개의 열을 포함한다. 매퍼(703)는 전송 장치의 디-매퍼(509)에 의해 수행되는 동작의 역 동작을 수행한다. 예를 들어, 매퍼(703)는 디-인터리버 어레이(701)의 행 방향으로 비트 시퀀스 bk를 기록한다.
열 퍼뮤터(705)는 전송 장치의 열 퍼뮤터(505)에 의해 수행되는 동작의 역 동작을 수행하도록 구성된다. 예를 들어, 열 퍼뮤터(705)는 적어도 하나의 퍼뮤테이션 패턴에 따라 디-인터리버 어레이(701)의 적어도 하나의 열의 셀들을 치환하도록 구성되며, 여기서 열 퍼뮤터(705)에 의해 이용되는 퍼뮤테이션 패턴은 전송 장치의 열 퍼뮤터(505)에 의해 이용되는 퍼뮤테이션 패턴의 역이다. 예를 들어, 전송 장치의 열 퍼뮤터(505)가 홀수 열을 플립(flip)한 경우, 수신 장치의 열 퍼뮤터(705)는 홀수 열을 플립할 수 있다.
유사하게, 행 퍼뮤터(707)는 전송 장치의 행 퍼뮤터(507)에 의해 수행되는 동작의 역 동작을 수행하도록 구성된다. 예를 들어, 행 퍼뮤터(707)는 적어도 하나의 퍼뮤테이션 패턴에 따라 디-인터리버 어레이(701)의 적어도 하나의 열의 셀들을 치환하도록 구성되며, 여기서 행 퍼뮤터(707)에 의해 이용되는 퍼뮤테이션 패턴은 전송 장치의 행 퍼뮤터(507)에 의해 이용되는 퍼뮤테이션 패턴의 역이다. 예를 들어, 전송 장치의 행 퍼뮤터(507)가 행을 순환하여 시프트하는 경우, 수신 장치의 행 퍼뮤터(707)는 전송 장치의 행 퍼뮤터(507)에 의해 수행되는 순환 시프트에 반대 방향으로 행을 순환하여 시프트할 수 있다.
수신 장치의 열 퍼뮤터(705)와 행 퍼뮤터(707)는 디-인터리버 어레이(701) 상에서 전송 장치의 열 퍼뮤터(505)와 행 퍼뮤터(507)에 반대로 동작한다.
디-매퍼(709)는 전송 장치의 매퍼(503)에 의해 수행되는 동작의 반대 동작을 수행한다. 예를 들어, 디-매퍼(709)는 디-인터리버 비트 시퀀스를 구하기 위해 디-인터리버 어레이(701)로부터 열 방향으로 비트 시퀀스 ak를 읽는다.
전송 장치와 관련하여 상술한 바와 유사하게, 수신 장치의 열 퍼뮤터(705)와 행 퍼뮤터(707)는 선택적으로 활성화되거나 비활성화되도록 구성될 수 있고, 디-인터리버 어레이(701)는 특정 수의 열들을 이용하여 동작하는 것으로 구성될 수 있다. 예를 들어, 열 퍼뮤터(705), 행 퍼뮤터(707) 및 디-인터리버 어레이(701)를 구성하기 위한 환경 설정은 상술한 방법에 의한 표를 이용하여 결정되거나 전송 장치에 의해 신호 처리될 수 있다.
한편, 본 발명에 따른 인터리빙 및 디-인터리빙에 대한 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 장치에 대해 도시한 상술한 블록도에서는 버스(bus)를 미도시하였으나, 전자 장치에서 각 구성요소 간의 통신은 버스를 통해 이루어질 수도 있다. 또한, 각 디바이스에는 상술한 다양한 단계를 수행하는 CPU, 마이크로 프로세서 등과 같은 프로세서가 더 포함될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
500 : 비트 인터리버 501 : 인터리버 어레이
503 : 매퍼 505 : 열 퍼뮤터
507 : 행 퍼뮤터 509 : 디-매퍼
511 : 제어부 700 : 비트 디-인터리버
701 : 디-인터리버 어레이 703 : 매퍼
705 : 열 퍼뮤터 707 : 행 퍼뮤터
709 : 디-매퍼 711 : 제어부

Claims (20)

  1. 비트 ak
    Figure 112021003422132-pat00011
    에 매핑되도록 비트의 세트 a ≡{ak: k= 0, 1, 2,...Npost-1}를 M 행과 N 열로 이루어진 블럭 인터리버를 포함하는 어레이 B={Bi,j:i=0, 1, 2,...M-1; j=0, 1, 2,...N-1}에 열 방향으로 매핑하는 단계, 여기서 상기 mod는 모듈로 연산자(modulo operator), 상기
    Figure 112021003422132-pat00012
    는 플로어 연산자(floor operator), 상기 M과 상기 N은 정수이고;
    다음 중 적어도 하나를 수행하는 단계;
    ㅇ 적어도 하나의 제1 비트의 그룹 내의 적어도 두 개의 비트를 치환하는 단계를 포함하는 제1 퍼뮤테이션(permutation) 동작, 여기서 각각의 제1 비트의 그룹은 G (1) p={Bi,p: i=0, 1, 2,...M-1;p∈{0, 1, 2,...N-1}}로 정의되고,
    ㅇ 적어도 하나의 제2 비트의 그룹 내의 적어도 두 개의 비트를 퍼뮤팅하는 단계를 포함하는 제2 퍼뮤테이션(permutation) 동작, 여기서 각각의 제2 비트의 그룹은 G (2) q={Bq,j: j=0, 1, 2,...N-1;q∈{0, 1, 2,...M-1}}로 정의되며,
    비트 Bi,j가 bNi+j에 디-매핑되도록 인터리빙된 비트의 세트 b ≡{bk: k= 0, 1, 2,...Npost-1}를 획득하기 위하여 상기 어레이로부터 비트들을 행 방향으로 읽어, 상기 어레이로부터 상기 비트들을 디-매핑하는 단계;를 포함하며,
    상기 제1 퍼뮤테이션 동작은, 상기 어레이의 기설정된 열들 각각에 매핑된 비트들을 상기 각 열 내에서 상기 열 방향과 반대의 방향으로 플립(flip)하는 동작을 포함하고,
    상기 기설정된 열들은, 상기 어레이의 홀수 번째 열들 또는 상기 어레이의 짝수 번째 열들을 포함하며,
    상기 제2 퍼뮤테이션 동작은, 상기 어레이의 p 번째 행에 매핑된 비트들을 상기 행 방향으로 p 만큼 시프트(shift)하는 동작을 포함하는 비트 인터리빙 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 제1 비트의 그룹은 제1 그룹 { G (1) p: p mod g=h; g∈{1, 2, 3,...; h∈{0, 1, 2,...g-1}}의 세트인 것을 특징으로 하는 비트 인터리빙 방법.
  3. 제2항에 있어서,
    g=2이고, h=0 또는 1인 것을 특징으로 하는 비트 인터리빙 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 퍼뮤테이션 동작은 위치 Bi ,p의 비트를 위치 Bπ1(i),p에 치환하는 단계를 포함하고, 여기서 π1(i)는 제1 퍼뮤테이션 함수를 포함하며,
    π1(i)=M-i-1인 것을 특징으로 하는 비트 인터리빙 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제2 퍼뮤테이션 동작은 위치 Bq,j의 비트를 위치 Bq,π2(j)에 치환하는 단계를 포함하고, 여기서 π2(j)는 제2 퍼뮤테이션 함수를 포함하는 것을 특징으로 하는 비트 인터리빙 방법.
  6. 제5항에 있어서,
    π2(j)=(j+s(q)) mod N이고, 여기서 s(q)는 시프트(shift) 기능을 포함하며,
    s(q)=q 또는 s(q)=-q인 것을 특징으로 하는 비트 인터리빙 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 제1 퍼뮤테이션 동작은 모든 g번째 열 내의 비트를 치환하는 단계;를 포함하는 것을 특징으로 하는 비트 인터리빙 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 제1항 내지 제3항 중 어느 한 항에 있어서,
    N의 값을 선택하는 단계;를 더 포함하며,
    상기 N의 값은 상기 Npost의 값에 기초하여 선택되는 것을 특징으로 하는 비트 인터리빙 방법.
  16. 제15항에 있어서,
    상기 Npost의 값이 임계값을 초과하면 상기 N의 값은 Nmod로서 선택되고, 상기 Npost의 값이 임계값을 초과하지 못하면 상기 N의 값은 Nmod/2로서 선택되며,
    상기 Nmod는 인터리빙된 비트의 세트를 전송하기 위해 이용되는 복조 스킴의 차수에 관계되는 것을 특징으로 하는 비트 인터리빙 방법.
  17. 제15항에 있어서,
    상기 N의 값을 선택하는 단계는, Npost의 값 또는 Npost의 값의 범위와 관계된 N의 값을 나타내는 정보를 저장하고 있는 표를 이용하여 상기 N의 값을 획득하는 단계;를 포함하는 것을 특징으로 하는 비트 인터리빙 방법.
  18. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 퍼뮤테이션 동작 및 상기 제2 퍼뮤테이션 동작 중 적어도 하나를 선택하여 상기 비트 인터리빙 방법에 적용하는 단계;를 더 포함하는 것을 특징으로 하는 비트 인터리빙 방법.
  19. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 비트 인터리빙 방법에 적용되는 상기 제1 퍼뮤테이션 동작 및 상기 제2 퍼뮤테이션 동작 중 하나를 시그널링(signalling)하는 단계;를 더 포함하는 것을 특징으로 하는 비트 인터리빙 방법.
  20. 비트 ak
    Figure 112021003422132-pat00013
    에 매핑되도록 비트의 세트 a ≡{ak: k= 0, 1, 2,...Npost-1}를 M 행과 N 열로 이루어진 블럭 인터리버를 포함하는 어레이 B={Bi,j:i=0, 1, 2,...M-1; j=0, 1, 2,...N-1}에 열 방향으로 매핑하는 매퍼(mapper), 여기서 상기 mod는 모듈로 연산자(modulo operator), 상기
    Figure 112021003422132-pat00014
    는 플로어 연산자(floor operator), 상기 M과 상기 N은 정수이고;
    다음 중 적어도 하나를 수행하는 퍼뮤터(permuter);
    ㅇ 적어도 하나의 제1 비트의 그룹 내의 적어도 두 개의 비트를 치환하는 제1 퍼뮤테이션(permutation) 동작, 여기서 각각의 제1 비트의 그룹은 G (1) p={Bi,p: i=0, 1, 2,...M-1;p∈{0, 1, 2,...N-1}}로 정의되고,
    ㅇ 적어도 하나의 제2 비트의 그룹 내의 적어도 두 개의 비트를 퍼뮤팅하는 제2 퍼뮤테이션(permutation) 동작, 여기서 각각의 제2 비트의 그룹은 G (2) q={Bq,j: j=0, 1, 2,...N-1;q∈{0, 1, 2,...M-1}}로 정의되며,
    비트 Bi,j가 bNi+j에 디-매핑되도록 인터리빙된 비트의 세트 b ≡{bk: k= 0, 1, 2,...Npost-1}를 획득하기 위하여 상기 어레이로부터 비트들을 행 방향으로 읽어, 상기 어레이로부터 상기 비트들을 디-매핑하는 디-매퍼(de-mapper);를 포함하며,
    상기 제1 퍼뮤테이션 동작은, 상기 어레이의 기설정된 열들 각각에 매핑된 비트들을 상기 각 열 내에서 상기 열 방향과 반대의 방향으로 플립(flip)하는 동작을 포함하고,
    상기 기설정된 열들은, 상기 어레이의 홀수 번째 열들 또는 상기 어레이의 짝수 번째 열들을 포함하며,
    상기 제2 퍼뮤테이션 동작은, 상기 어레이의 p 번째 행에 매핑된 비트들을 상기 행 방향으로 p 만큼 시프트(shift)하는 동작을 포함하는 비트 인터리버.
KR1020150008107A 2014-02-21 2015-01-16 비트 인터리버 및 비트 디-인터리버 KR102248750B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201580009823.3A CN106063254B (zh) 2014-02-21 2015-02-12 比特交织器和比特解交织器
PCT/KR2015/001419 WO2015126096A1 (en) 2014-02-21 2015-02-12 Bit interleaver and bit de-interleaver
US14/628,456 US10236919B2 (en) 2014-02-21 2015-02-23 Bit interleaver and bit de-interleaver

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1403121.5A GB2523363B (en) 2014-02-21 2014-02-21 Bit interleaver and bit de-interleaver
GB1403121.5 2014-02-21

Publications (2)

Publication Number Publication Date
KR20150099396A KR20150099396A (ko) 2015-08-31
KR102248750B1 true KR102248750B1 (ko) 2021-05-07

Family

ID=50482617

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150008107A KR102248750B1 (ko) 2014-02-21 2015-01-16 비트 인터리버 및 비트 디-인터리버

Country Status (3)

Country Link
KR (1) KR102248750B1 (ko)
CN (1) CN106063254B (ko)
GB (1) GB2523363B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102325951B1 (ko) * 2015-03-02 2021-11-12 삼성전자주식회사 송신 장치 및 그의 쇼트닝 방법
KR102322497B1 (ko) 2016-05-31 2021-11-09 한국전자통신연구원 비-직교 기반의 상향링크 전송 방법 및 장치
WO2017209418A2 (ko) * 2016-05-31 2017-12-07 한국전자통신연구원 비-직교 기반의 상향링크 전송 방법 및 장치
CN108023663B (zh) * 2016-11-01 2021-04-13 武汉芯泰科技有限公司 一种基于可配置删余表的删余方法及装置
WO2018231026A1 (ko) * 2017-06-16 2018-12-20 엘지전자 주식회사 정보 전송 방법 및 전송 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130028238A1 (en) * 2007-04-27 2013-01-31 So Yeon Kim Method for transmitting downlink control channel in a mobile communication system and a method for mapping the control channel to physical resource using block interleaver in a mobile communication system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4547887A (en) * 1983-11-30 1985-10-15 The United States Of America As Represented By The Secretary Of The Army Pseudo-random convolutional interleaving
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
JP3880964B2 (ja) * 2002-02-06 2007-02-14 サムスン エレクトロニクス カンパニー リミテッド 通信システムにおけるインターリーバー及びインターリービング方法
KR100905350B1 (ko) * 2004-07-29 2009-07-01 콸콤 인코포레이티드 인터리빙을 위한 시스템 및 방법
US8391410B2 (en) * 2004-07-29 2013-03-05 Qualcomm Incorporated Methods and apparatus for configuring a pilot symbol in a wireless communication system
CN1773896B (zh) * 2004-11-10 2011-01-19 北京三星通信技术研究有限公司 适应自适应调制系统的信道交织器及方法
US20070067696A1 (en) * 2005-09-08 2007-03-22 Nokia Corporation System, transmitter, receiver, method, and computer program product for structured interleaved Zigzag coding
US7729438B2 (en) * 2005-12-01 2010-06-01 Samsung Electronics Co., Ltd. Interleaver design for IEEE 802.11n standard
CN101034951A (zh) * 2007-04-10 2007-09-12 中兴通讯股份有限公司 一种Turbo码内交织器的实现方法
KR101435830B1 (ko) * 2007-06-20 2014-08-29 엘지전자 주식회사 인터리빙 수행 방법
KR101613893B1 (ko) * 2007-10-04 2016-04-20 삼성전자주식회사 이동통신 시스템에서 데이터 인터리빙 방법 및 장치
TWI459724B (zh) * 2007-11-26 2014-11-01 Sony Corp Data processing device and data processing method
CN101867441A (zh) * 2009-04-14 2010-10-20 中兴通讯股份有限公司 星座图映射方法
CN102387105B (zh) * 2010-08-30 2014-11-05 华为技术有限公司 调制方法和装置
US10257520B2 (en) * 2012-06-26 2019-04-09 Velos Media, Llc Modified coding for transform skipping
CN103580807B (zh) * 2013-11-05 2017-01-18 上海数字电视国家工程研究中心有限公司 针对特定度分布ldpc码字的bicm传输方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130028238A1 (en) * 2007-04-27 2013-01-31 So Yeon Kim Method for transmitting downlink control channel in a mobile communication system and a method for mapping the control channel to physical resource using block interleaver in a mobile communication system

Also Published As

Publication number Publication date
CN106063254B (zh) 2019-11-12
GB2523363B (en) 2017-06-28
KR20150099396A (ko) 2015-08-31
CN106063254A (zh) 2016-10-26
GB2523363A (en) 2015-08-26
GB201403121D0 (en) 2014-04-09

Similar Documents

Publication Publication Date Title
CN110932735B (zh) 发送设备及其交织方法
US8856612B2 (en) Method and apparatus for interleaving data in a mobile communication system
CN105812107B (zh) Ofdma系统中数据包处理方法及装置
JP5739546B2 (ja) 送信方法、受信方法、送信機、及び受信機
KR102248750B1 (ko) 비트 인터리버 및 비트 디-인터리버
US10924314B2 (en) Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method
JP6437548B2 (ja) 放送信号送信装置、放送信号受信装置、放送信号送信方法及び放送信号受信方法
WO2015178694A1 (en) Transmitting apparatus and interleaving method thereof
JP2010516151A (ja) データビット又はシンボルをインタリーブするためのシステム、装置及び方法
US20150263825A1 (en) Method and apparatus for interleaving data in a mobile communication system
US10382059B2 (en) Transmitting apparatus, encoding method thereof, receiving apparatus, and decoding method thereof
KR102466523B1 (ko) 송신 장치 및 그의 신호 처리 방법
WO2016074226A1 (zh) 基于ofmda的wlan系统中的交织处理方法和设备
EP3146635A1 (en) Transmitting apparatus and interleaving method thereof
US10236919B2 (en) Bit interleaver and bit de-interleaver
KR102531733B1 (ko) 송신 장치 및 그의 신호 처리 방법
JP6363882B2 (ja) 送信装置、受信装置及び伝送システム
US9432153B2 (en) Mapping cells to symbols
KR20140145052A (ko) 셀을 심볼에 맵핑하는 장치 및 셀을 심볼에 맵핑하는 방법
KR102202385B1 (ko) 송신 장치 및 그의 신호 처리 방법
KR102115895B1 (ko) 송신 장치, 그의 인코딩 방법, 수신 장치 및 그의 디코딩 방법
CN105450344A (zh) Ldpc码字的交织和映射方法及解交织解映射方法
CN105450340A (zh) Ldpc码字的交织和映射方法及解交织解映射方法
CN105450353A (zh) Ldpc码字的交织和映射方法及解交织解映射方法

Legal Events

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