이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시예에서 '~부'는 하나 이상의 프로세서를 포함할 수 있다.
무선 통신 시스템은 초기의 음성 위주의 서비스를 제공하던 것에서 벗어나 예를 들어, 3GPP의 HSPA(High Speed Packet Access), LTE(Long Term Evolution 또는 E-UTRA (Evolved Universal Terrestrial Radio Access)), LTE-Advanced(LTE-A), 3GPP2의 HRPD(High Rate Packet Data), UMB(Ultra Mobile Broadband), 및 IEEE의 802.16e 등의 통신 표준과 같이 고속, 고품질의 패킷 데이터 서비스를 제공하는 광대역 무선 통신 시스템으로 발전하고 있다. 또한 5세대 무선통신 시스템으로 5G 또는 NR (new radio)의 통신표준이 만들어지고 있다.
이하 본 발명의 실시예를 첨부한 도면과 함께 상세히 설명한다. 또한 본 발명을 설명함에 있어서 관련된 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 기지국은 단말의 자원 할당을 수행하는 주체로서, gNode B, eNode B, Node B, BS(Base Station), 무선 접속 유닛, 기지국 제어기, 또는 네트워크 상의 노드 중 적어도 하나일 수 있다. 단말은 사용자 장치(User Equipment, UE), 이동국(Mobile Station, MS), 셀룰러폰, 스마트폰, 컴퓨터, 또는 통신 기능을 수행할 수 있는 멀티미디어시스템을 포함할 수 있다. 본 발명에서 하향링크(Downlink, DL)는 기지국이 단말에게 전송하는 신호의 무선 전송 경로이고, 상향링크는(Uplink, UL)는 단말이 기국에게 전송하는 신호의 무선 전송 경로를 의미한다.
또한, 이하에서 LTE 또는 LTE-A 시스템(이하 LTE 시스템)을 일례로서 본 발명의 실시예를 설명하지만, 유사한 기술적 배경 또는 채널형태를 갖는 여타의 통신시스템에도 본 발명의 실시예가 적용될 수 있다. 예를 들어 LTE-A 이후에 개발되는 5세대 이동통신 기술(5G, new radio, NR)이 이에 포함될 수 있을 것이다. 또한, 본 발명의 실시예는 숙련된 기술적 지식을 가진 자의 판단으로써 본 발명의 범위를 크게 벗어나지 아니하는 범위에서 일부 변형을 통해 다른 통신 시스템에도 적용될 수 있다.
상기 광대역 무선 통신 시스템의 대표적인 예인 LTE 시스템에서는 하향링크에서는 OFDM(Orthogonal Frequency Division Multiplexing) 방식을 채용하고 있고, 상향링크에서는 SC-FDMA(Single Carrier Frequency Division Multiple Access) 방식을 채용하고 있다. 상기와 같은 다중 접속 방식은, 통상 각 사용자 별로 데이터 또는 제어정보를 실어 보낼 시간-주파수 자원을 서로 겹치지 않도록, 즉 직교성 (Orthogonality)이 성립하도록 할당 및 운용함으로써 각 사용자의 데이터 또는 제어 정보가 구분되도록 한다.
LTE 시스템은 초기 전송에서 복호 실패가 발생된 경우, 물리 계층에서 해당 데이터를 재전송하는 HARQ(Hybrid Automatic Repeat reQuest) 방식을 채용하고 있다. HARQ 방식이란 수신기가 데이터를 정확하게 복호화(decoding)하지 못한 경우, 수신기가 송신기에게 디코딩 실패를 알리는 정보(Negative Acknowledgement, NACK)를 전송하여 송신기가 물리 계층에서 해당 데이터를 재전송할 수 있게 하는 방식이다. 수신기는 송신기가 재전송한 데이터를 이전에 디코딩 실패한 데이터와 결합하여 데이터 수신 성능을 높이게 된다. 또한 수신기가 데이터를 정확하게 복호한 경우 송신기에게 디코딩 성공을 알리는 정보(Acknowledgement, ACK)를 전송하여 송신기가 새로운 데이터를 전송할 수 있도록 할 수 있다.
도 1은 LTE 시스템의 하향링크의 무선 자원 영역인 시간-주파수 영역의 기본 구조를 도시한 도면이다.
도 1에서 가로축은 시간 영역을, 세로축은 주파수 영역을 나타낸다. 시간 영역에서의 최소 전송 단위는 OFDM 심볼(symbol)로서, Nsymb 개의 OFDM 심볼(102)이 모여 하나의 슬롯(slot, 106)을 구성하고, 2개의 슬롯이 모여 하나의 서브프레임(subframe, 105)을 구성한다. 상기 슬롯의 길이는 0.5ms이고, 서브프레임의 길이는 1.0ms이다. 그리고 라디오 프레임(radio frame, 114)은 10개의 서브프레임으로 구성되는 시간 영역 구간이다. 주파수 영역에서의 최소 전송 단위는 서브캐리어(subcarrier)로서, 전체 시스템 전송 대역(Transmission bandwidth)의 대역폭은 총 NBW개의 서브캐리어(104)로 구성된다.
시간-주파수 영역에서 자원의 기본 단위는 자원 요소(Resource Element, RE, 112)로서 OFDM 심볼 인덱스 및 서브캐리어 인덱스로 나타낼 수 있다. 자원 블록(Resource Block, RB 또는 Physical Resource Block, PRB, 108)은 시간 영역에서 Nsymb개의 연속된 OFDM 심볼(102)과 주파수 영역에서 NRB개의 연속된 서브캐리어(110)로 정의된다. 따라서, 하나의 RB(108)는 Nsymb x NRB개의 RE(112)로 구성된다. 일반적으로 데이터의 최소 전송 단위는 상기 RB 단위이다. LTE 시스템에서 일반적으로 상기 Nsymb = 7, NRB=12 이고, NRB 는 시스템 전송 대역의 대역폭에 비례한다. 단말에게 스케줄링되는 RB 개수에 비례하여 데이터 레이트(data rate)가 증가하게 된다.
LTE 시스템에서는 6개의 전송 대역폭이 정의하여 운영된다. 하향링크와 상향링크를 주파수로 구분하여 운영하는 FDD(frequency division duplex) 시스템의 경우, 하향링크 전송 대역폭과 상향링크 전송 대역폭이 서로 다를 수 있다. 채널 대역폭은 시스템 전송 대역폭에 대응되는 RF 대역폭을 나타낸다. 표 1은 LTE 시스템에 정의된 시스템 전송 대역폭과 채널 대역폭(Channel bandwidth)의 대응관계를 나타낸다. 예를 들어 10MHz 채널 대역폭을 갖는 LTE 시스템은 전송 대역폭이 50개의 RB로 구성된다.
Channel bandwidth BWchannel [MHz] |
1.4 |
3 |
5 |
10 |
15 |
20 |
Transmission bandwidth configuration NRB
|
6 |
15 |
25 |
50 |
75 |
100 |
하향링크 제어 정보(downlink control information, DCI)의 경우 상기 서브프레임 내의 최초 N개의 OFDM 심볼 이내에 전송된다. 일반적으로 N = {1, 2, 3}이다. 따라서 현재 서브프레임에 전송해야 할 제어 정보의 양에 따라 상기 N 값이 서브프레임마다 가변하게 된다. 상기 제어 정보로는 제어 정보가 OFDM 심볼 몇 개에 걸쳐 전송되는지를 나타내는 제어 채널 전송 구간 지시자, 하향링크 데이터 또는 상향링크 데이터에 대한 스케줄링 정보, HARQ ACK/NACK 신호 등을 포함한다.
LTE 시스템에서 하향링크 데이터 또는 상향링크 데이터에 대한 스케줄링 정보는 하향링크 제어 정보를 통해 기지국으로부터 단말에게 전달된다. DCI는 여러 가지 포맷(format)으로 정의되며, 상향링크 데이터에 대한 스케줄링 정보(UL grant)인지 하향링크 데이터에 대한 스케줄링 정보(DL grant)인지 여부, 제어 정보의 크기가 작은 컴팩트 DCI 인지 여부, 다중 안테나를 사용한 공간 다중화(spatial multiplexing)을 적용하는지 여부, 전력 제어용 DCI인지 여부 등에 따라 정해진 DCI 포맷이 적용되어 운용된다. 예컨대, 하향링크 데이터에 대한 스케줄링 제어 정보(DL grant)인 DCI 포맷 1은 적어도 다음과 같은 제어 정보들을 포함하도록 구성된다.
- 자원 할당 유형 0/1 플래그(Resource allocation type 0/1 flag): 자원 할당 방식이 유형 0 인지 유형 1 인지 통지한다. 유형 0 은 비트맵 방식을 적용하여 RBG(resource block group) 단위로 자원을 할당한다. LTE 시스템에서 스케줄링의 기본 단위는 시간 및 주파수 영역 자원으로 표현되는 RB이고, RBG는 복수개의 RB로 구성되어 유형 0 방식에서의 스케줄링의 기본 단위가 된다. 유형 1 은 RBG 내에서 특정 RB를 할당하도록 한다.
- 자원 블록 할당(Resource block assignment): 데이터 전송에 할당된 RB를 통지한다. 시스템 대역폭 및 자원 할당 방식에 따라 표현하는 자원이 결정된다.
- 변조 및 코딩 방식(Modulation and coding scheme, MCS): 데이터 전송에 사용된 변조 방식과 전송하고자 하는 데이터인 전송 블록(transport block)의 크기를 통지한다.
- HARQ 프로세스 번호(HARQ process number): HARQ의 프로세스 번호를 통지한다.
- 새로운 데이터 지시자(New data indicator): HARQ 초기전송인지 재전송인지를 통지한다.
- 중복 버전(Redundancy version, RV): HARQ 의 중복 버전(redundancy version) 을 통지한다.
- PUCCH를 위한 전송 전력 제어 명령(TPC(Transmit Power Control) command for PUCCH(Physical Uplink Control Channel)): 상향링크 제어 채널인 PUCCH에 대한 전송 전력 제어 명령을 통지한다.
상기 DCI는 채널코딩 및 변조 과정을 거쳐 하향링크 물리 제어 채널인 PDCCH(Physical downlink control channel 또는 EPDCCH(Enhanced PDCCH)를 통해 전송된다. 이하 PDCCH 송수신 또는 EPDCCH 송수신은 PDCCH 또는 EPDCCH 상의 DCI 송수신으로 이해될 수 있다. 이하 다른 채널에도 이와 같은 기술이 적용될 수 있다.
일반적으로 상기 DCI는 각 단말에 대해 독립적으로 특정 RNTI(Radio Network Temporary Identifier, 또는 단말 식별자)로 스크램블링되어 CRC(cyclic redundancy check)가 추가되고 채널코딩된 후, 각각 독립적인 PDCCH로 구성되어 전송된다. 시간 영역에서 PDCCH는 상기 제어 채널 전송 구간 동안 매핑되어 전송된다. PDCCH 의 주파수 영역 매핑 위치는 각 단말의 식별자(ID)에 의해 결정되고, 전체 시스템 전송 대역에 퍼뜨려진다.
하향링크 데이터는 하향링크 데이터 전송용 물리채널인 PDSCH(Physical Downlink Shared Channel)를 통해 전송된다. PDSCH는 상기 제어 채널 전송 구간 이후부터 전송되는데, 주파수 영역에서의 구체적인 매핑 위치, 변조 방식 등의 스케줄링 정보는 상기 PDCCH를 통해 전송되는 DCI가 알려준다.
상기 DCI를 구성하는 제어 정보 중에서 5 비트로 구성되는 MCS를 통해서, 기지국은 단말에게 전송하고자 하는 PDSCH에 적용된 변조 방식과 전송하고자 하는 데이터의 크기(transport block size, TBS)를 통지한다. 상기 TBS는 기지국이 전송하고자 하는 데이터(즉 전송 블록)에 오류 정정을 위한 채널코딩이 적용되기 이전의 크기에 해당한다.
LTE 시스템에서 지원하는 변조 방식은 QPSK(Quadrature Phase Shift Keying), 16QAM(Quadrature Amplitude Modulation), 64QAM 으로서, 각각의 변조차수(Modulation order)는 2, 4, 6 에 해당한다. 즉 QPSK 변조의 경우 심볼당 2비트, 16QAM 변조의 경우 심볼당 4비트, 64QAM 변조의 경우 심볼당 6비트를 전송할 수 있다.
도 2는 LTE 시스템의 상향링크의 무선 자원 영역인 시간-주파수 영역의 기본 구조를 도시한 도면이다.
도 2를 참조하면, 가로축은 시간 영역을, 세로축은 주파수 영역을 나타낸다. 시간 영역에서의 최소 전송 단위는 SC-FDMA 심볼로서, Nsymb개의 SC-FDMA 심볼(202)이 모여 하나의 슬롯(206)을 구성한다. 그리고 2개의 슬롯이 모여 하나의 서브프레임(205)을 구성한다. 주파수 영역에서의 최소 전송 단위는 서브캐리어로서, 전체 시스템 전송 대역(transmission bandwidth)은 총 NBW개의 서브캐리어(204)로 구성된다. NBW는 시스템 전송 대역에 비례하는 값을 갖는다.
시간-주파수 영역에서 자원의 기본 단위는 자원 요소(Resource Element, RE, 212)로서 SC-FDMA 심볼 인덱스 및 서브캐리어 인덱스로 정의할 수 있다. 자원 블록(Resource Block, RB, 208)은 시간 영역에서 Nsymb개의 연속된 SC-FDMA 심볼과 주파수 영역에서 NRB개의 연속된 서브캐리어로 정의된다. 따라서 하나의 RB는 NsymbxNRB개의 RE로 구성된다. 일반적으로 데이터 또는 제어 정보의 최소 전송단위는 RB 단위이다. PUCCH의 경우 1 RB에 해당하는 주파수 영역에 매핑되어 1 서브프레임 동안 전송된다.
LTE 시스템에서는 하향링크 데이터 전송용 물리채널인 PDSCH 또는 반영구적 스케줄링 해제(semi-persistent scheduling release, SPS 해제)를 포함하는 PDCCH 또는 EPDDCH에 대응하는 HARQ ACK/NACK이 전송되는 상향링크 물리채널인 PUCCH 또는 PUSCH(physical uplink shared channel)의 타이밍 관계가 정의되어 있다. 일례로 FDD로 동작하는 LTE 시스템에서는 n-4번째 서브프레임에서 전송된 PDSCH 또는 SPS 해제를 포함하는 PDCCH/EPDCCH에 대응하는 HARQ ACK/NACK가 n번째 서브프레임에서 PUCCH 또는 PUSCH로 전송된다.
LTE 시스템에서 하향링크 HARQ는 데이터 재전송 시점이 고정되지 않은 비동기(asynchronous) HARQ 방식을 채택하고 있다. 즉 기지국이 전송한 초기전송 데이터에 대해 단말로부터 HARQ NACK을 피드백받은 경우, 기지국은 재전송 데이터의 전송 시점을 스케줄링 동작에 의해 자유롭게 결정한다. 단말은 HARQ 동작을 위해 수신 데이터에 대한 디코딩 결과 오류로 판단된 데이터에 대해 버퍼링을 한 후, 다음 재전송 데이터와 컴바이닝(combining)을 수행한다.
단말은 서브프레임 n에 기지국으로부터 전송된 하향링크 데이터를 포함하는 PDSCH를 수신하면, 서브프레임 n+k에 상기 하향링크 데이터의 HARQ ACK 또는 NACK를 포함하는 상향링크 제어 정보를 PUCCH 또는 PUSCH를 통해 기지국으로 전송한다. 이 때 상기 k는 LTE의 시스템의 FDD 또는 TDD(time division duplex)와 그 서브프레임 설정에 따라 다르게 정의되어 있다. 일례로 FDD LTE 시스템의 경우에는 상기 k가 4로 고정된다. 한편 TDD LTE 시스템의 경우에는 상기 k가 서브프레임 설정과 서브프레임 번호에 따라 바뀔 수 있다.
LTE 시스템에서 하향링크 HARQ와 달리 상향링크 HARQ는 데이터 전송시점이 고정된 동기(synchronous) HARQ 방식을 채택하고 있다. 즉 상향링크 데이터 전송용 물리 채널인 PUSCH와 이에 선행하는 하향링크 제어 채널인 PDCCH, 그리고 상기 PUSCH에 대응되는 하향링크 HARQ ACK/NACK이 전송되는 물리채널인 PHICH의 상/하향링크 타이밍 관계가 다음과 같은 규칙에 의해 고정되어 있다.
단말은 서브프레임 n에 기지국으로부터 전송된 상향링크 스케줄링 제어 정보를 포함하는 PDCCH 또는 하향링크 HARQ ACK/NACK이 전송되는 PHICH를 수신하면, 서브프레임 n+k에 상기 제어 정보에 대응되는 상향링크 데이터를 PUSCH를 통해 전송한다. 이 때 상기 k는 LTE의 시스템의 FDD 또는 TDD와 그 설정에 따라 다르게 정의되어 있다. 일례로 FDD LTE 시스템의 경우에는 상기 k가 4로 고정된다. 한편 TDD LTE 시스템의 경우에는 상기 k가 서브프레임 설정과 서브프레임 번호에 따라 바뀔 수 있다.
그리고 단말은 서브프레임 i에 기지국으로부터 하향링크 HARQ ACK/NACK을 운반하는 PHICH를 수신하면, 상기 PHICH는 서브프레임 i-k에 단말이 전송한 PUSCH에 대응된다. 이 때 상기 k는 LTE의 시스템의 FDD 또는 TDD와 그 설정에 따라 다르게 정의되어 있다. 일례로 FDD LTE 시스템의 경우에는 상기 k가 4로 고정된다. 한편 TDD LTE 시스템의 경우에는 상기 k가 서브프레임 설정과 서브프레임 번호에 따라 바뀔 수 있다.
또한 복수의 캐리어를 통한 데이터 전송 시에 각 캐리어의 TDD 설정에 따라 k의 값이 다르게 적용될 수 있다.
Transmission mode |
DCI format |
Search Space |
Transmission scheme of PDSCH corresponding to PDCCH |
Mode 1 |
DCI format 1A |
Common andUE specific by C-RNTI |
Single-antenna port, port 0 (see subclause 7.1.1) |
DCI format 1 |
UE specific by C-RNTI |
Single-antenna port, port 0 (see subclause 7.1.1) |
Mode 2 |
DCI format 1A |
Common andUE specific by C-RNTI |
Transmit diversity (see subclause 7.1.2) |
DCI format 1 |
UE specific by C-RNTI |
Transmit diversity (see subclause 7.1.2) |
Mode 3 |
DCI format 1A |
Common andUE specific by C-RNTI |
Transmit diversity (see subclause 7.1.2) |
DCI format 2A |
UE specific by C-RNTI |
Large delay CDD (see subclause 7.1.3) or Transmit diversity (see subclause 7.1.2) |
Mode 4 |
DCI format 1A |
Common andUE specific by C-RNTI |
Transmit diversity (see subclause 7.1.2) |
DCI format 2 |
UE specific by C-RNTI |
Closed-loop spatial multiplexing (see subclause 7.1.4)or Transmit diversity (see subclause 7.1.2) |
Mode 5 |
DCI format 1A |
Common andUE specific by C-RNTI |
Transmit diversity (see subclause 7.1.2) |
DCI format 1D |
UE specific by C-RNTI |
Multi-user MIMO (see subclause 7.1.5) |
Mode 6 |
DCI format 1A |
Common andUE specific by C-RNTI |
Transmit diversity (see subclause 7.1.2) |
DCI format 1B |
UE specific by C-RNTI |
Closed-loop spatial multiplexing (see subclause 7.1.4) using a single transmission layer |
Mode 7 |
DCI format 1A |
Common andUE specific by C-RNTI |
If the number of PBCH antenna ports is one, Single-antenna port, port 0 is used (see subclause 7.1.1), otherwise Transmit diversity (see subclause 7.1.2) |
DCI format 1 |
UE specific by C-RNTI |
Single-antenna port, port 5 (see subclause 7.1.1) |
Mode 8 |
DCI format 1A |
Common andUE specific by C-RNTI |
If the number of PBCH antenna ports is one, Single-antenna port, port 0 is used (see subclause 7.1.1), otherwise Transmit diversity (see subclause 7.1.2) |
DCI format 2B |
UE specific by C-RNTI |
Dual layer transmission, port 7 and 8 (see subclause 7.1.5A) or single-antenna port, port 7 or 8 (see subclause 7.1.1) |
상기 표 2는 3GPP TS 36.213에 있는 C-RNTI에 의해 설정된 조건에서 각 전송 모드에 따른 지원 가능한 DCI 포맷 유형을 보여준다. 단말은 기설정된 전송 모드에 따라 제어 영역 구간에서 해당 DCI 포맷이 존재함을 가정하고 탐색 및 디코딩을 수행하게 된다. 이를테면 단말이 전송모드 8을 지시받은 경우, 단말은 공통 탐색 영역(Common search space) 및 단말-특정 탐색 영역(UE-specific search space)에서 DCI 포맷 1A를 탐색하며, 단말-특정 탐색 영역에서만 DCI 포맷 2B를 탐색한다.
상기 무선 통신 시스템의 설명은 LTE 시스템을 기준으로 설명하였으며, 본 발명의 내용은 LTE 시스템에 국한되는 것이 아니라 NR, 5G 등 다양한 무선 통신 시스템에서 적용될 수 있다. 또한 본 실시예가 다른 무선 통신 시스템에 적용되는 경우 FDD와 대응되는 변조 방식을 사용하는 시스템에도 k값은 변경되어 적용될 수 있다.
본 발명은 다양한 입력 길이와 부호율을 지원 할 수 있는 부호화 비트 전송 방법 및 장치를 제공한다. 또한 본 발명은 데이터 채널 전송에 사용되는 LDPC 코드의 기저 그래프(Base graph) 설정 방법 및 LDPC 코드를 이용한 전송 블록(Transport Block, TB)의 분할(Segmentation) 방법 및 장치를 제공한다.
다음으로 LDPC(Low Density Parity Check) 코드(Code)에 대해 설명하도록 한다.
LDPC 부호는 선형 블록 부호(linear block code)의 일종으로 아래의 수학식 1과 같은 조건을 만족하는 부호어를 결정하는 과정을 포함한다.
[수학식 1]
수학식 1에서, H는 패리티 검사 행렬, C는 부호어, ci는 부호어의 i번째 비트, Nldpc는 부호어 길이를 의미한다. 여기서 hi는 패리티 검사 행렬(H)의 i번째 열(column)을 의미한다.
패리티 검사 행렬 H는 LDPC 부호어의 비트 개수와 동일한 Nldpc 개의 열(column)로 구성되어 있다. 수학식 1은 패리티 검사 행렬의 i번째 열(hi)과 i번째 부호어 비트 ci의 곱의 합이 '0'이 됨을 의미하므로, i번째 열(hi)은 i번째 부호어 비트 ci와 관계가 있음을 의미한다.
통신 및 방송 시스템에서 사용되는 패리티 검사 행렬은 구현의 용이성을 위해 통상적으로 준순환(quasi-cyclic) 형태의 패리티 검사 행렬을 사용하는 준순환 LDPC 부호(또는 QC-LDPC 부호, 이하 QC-LDPC 부호)가 많이 사용된다.
QC-LDPC 부호는 작은 정사각 행렬의 형태를 가지는 0-행렬(zero matrix)이나 순환 순열 행렬(circulant permutation matrices)로 구성된 패리티 검사 행렬을 가짐을 특징으로 한다.
다음 수학식 2와 같이 ZХZ크기의 순열 행렬(permutation matrix) P=(Pij)이 정의된다.
[수학식 2]
상기 수학식 2에서, Pij (0 ≤ i, j < Z)는 행렬 상기 행렬 P에서의 i번째 행(row), j번째 열(column)의 원소(entry)를 의미한다. 상기와 같이 정의된 순열 행렬 P에 대해서 0 ≤ i < Z에 따르면 P는 ZХZ 크기의 항등 행렬(identity matrix)의 각 원소들을 i번 만큼 오른쪽 방향으로 순환 이동(circular shift)시킨 형태의 순환 순열 행렬임을 알 수 있다.
가장 간단한 QC-LDPC 부호의 패리티 검사 행렬 H는 다음 수학식 3와 같은 형태로 나타낼 수 있다.
[수학식 3]
만일 P-1을 ZХZ 크기의 0-행렬이라 정의할 경우, 상기 수학식 3에서 순환 순열 행렬 또는 0-행렬의 각 지수 aij는 {-1, 0, 1, 2, ..., Z-1} 값 중에 하나를 가지게 된다. 또한 상기 수학식 3의 패리티 검사 행렬 H는 열 블록이 n개, 행 블록이 m개이므로, mZХnZ 크기를 가지게 됨을 알 수 있다.
통상적으로 상기 수학식 3의 패리티 검사 행렬에서 각 순환 순열 행렬 및 0-행렬을 각각 1과 0으로 치환(replace)하여 얻은 mХn 크기의 이진(binary) 행렬을 패리티 검사 행렬 H의 모행렬(mother matrix)(또는 기저 그래프) M(H)라 하고, 각 순환 순열 행렬 또는 0-행렬의 지수만을 선택하여 아래 수학식 4와 같이 얻은 mХn 크기의 정수 행렬을 패리티 검사 행렬 H의 지수 행렬 E(H)라 한다.
[수학식 4]
한편, 패리티 검사 행렬에 따라 LDPC 부호의 성능이 결정될 수 있다. 따라서 우수한 성능을 갖는 LDPC 부호를 위해 효율적인 패리티 검사 행렬을 설계하는 것이 필요하다. 또한 다양한 입력 길이와 부호율을 지원할 수 있는 LDPC 부호화 및 복호화 방법이 필요하다.
QC-LDPC 부호의 효율적인 설계를 위해서 리프팅(Lifting)이라 알려진 방법이 사용된다. 리프팅은 주어진 작은 모행렬로부터 순환 순열 행렬 또는 0-행렬의 크기를 결정하는 Z 값을 특정한 규칙에 따라 설정함으로써 효율적으로 매우 큰 패리티 검사 행렬을 설계하는 방법이다. 기존 리프팅 방법과 이렇게 리프팅을 통해 설계된 QC-LDPC 부호의 특징을 간단히 정리하면 다음과 같다.
먼저 LDPC 부호 C0가 주어져 있을 때 리프팅 방법을 통해 설계될 S개의 QC-LDPC 부호를 C1, C2, ... , Ck, ... , CS (동일하게 Ck for 1 ≤ k ≤ S) 이라 하고, QC-LDPC 부호 Ck의 패리티 검사 행렬을 Hk라 하고, 패리티 검사 행렬을 구성하는 순환 행렬의 행블록 및 열블록의 크기에 해당하는 값은 Zk라 한다. 여기서 C0는 C1, ..., CS 부호의 모행렬을 패리티 검사 행렬로 가지는 가장 작은 LDPC 부호에 해당하며 행블록 및 열블록의 크기에 해당하는 Z0 값은 1이고, 0 ≤ k ≤ S-1에 대하여, Zk<Zk+1 이다. 또, 편의상 각 부호 Ck의 패리티 검사 행렬 Hk는 mХn 크기의 지수 행렬 E(Hk)=ai,j
(k) 을 가지며 각 지수 ai,j
(k) 들은 {-1, 0, 1, 2, ..., Zk - 1} 값 중에 하나로 선택된다. 리프팅은 C0 → C1 → ... → CS와 같은 단계로 이루어지며 Zk+1 = qk+1Zk (qk+1은 양의 정수, k=0,1,..., S-1)와 같은 특징을 가진다. 또한 리프팅 과정의 특성에 의해 CS의 패리티 검사 행렬 HS만 저장하고 있으면 리프팅 방식에 따라 다음 수학식 5 또는 수학식 6을 이용하여 상기 QC-LDPC 부호 C0, C1, ..., CS를 모두 나타낼 수 있다.
[수학식 5]
[수학식 6]
상기 방식을 가장 일반화하여 표현하면 하기 수학식 7과 같이 표현할 수 있다.
[수학식 7]
Pi,j = f(Vi,j, Z)
상기 수학식 7에서 f(x,y)는 x와 y를 입력값으로 하는 임의의 함수를 의미한다. Vi,j는 가장 큰 크기를 갖는 LDPC 부호(예컨대 상기 설명에서 CS에 대응)에 해당하는 패리티 검사 행렬의 지수 행렬의 i번째 행, j번째 열에 해당하는 원소를 의미한다. Pij는 임의의 크기를 갖는 LDPC 부호(예컨대 상기 설명에서 Ck에 대응)에 대한 패리티 검사 행렬의 지수 행렬의 i번째 행, j번째 열에 해당하는 원소를 의미하고, Z는 해당 LDPC 부호의 패리티 검사 행렬을 구성하는 순환 행렬의 행블록 및 열불록의 크기를 의미한다. 따라서, Vi,j가 정의되어 있으면 임의의 크기를 갖는 LDPC 부호에 대한 패리티 검사 행렬을 정의할 수 있다.
추후 본 발명을 기술하는데 있어서, 상기에서 설명한 표기를 하기와 같이 명명하여 정의하고 이를 사용하도록 한다.
[정의 1]
E(HS): 최대 지수 행렬
Vi,j : 최대 지수 행렬 원소 (E(HS)의 (i,j) 번째 원소에 해당)
임의의 LDPC 부호에 대한 패리티 검사행렬은 상기에서 정의한 최대 지수 행렬 또는 최대 지수 행렬 원소를 이용하여 표현할 수 있다.
차세대 이동 통신 시스템에서는 다양한 길이를 갖는 코드 블록에 대한 최적의 성능을 보장하기 위하여, 상기에서 정의한 최대 지수 행렬이 다수개 존재할 수 있다. 예컨대 M개의 서로 다른 최대 지수 행렬이 존재할 수 있으며, 이를 하기와 같이 표현할 수 있다.
[수학식 8]
이에 해당하는 최대 지수 행렬 원소가 다수개 존재할 수 있으며, 이를 하기와 같이 표현할 수 있다.
[수학식 9]
상기 수학식 9에서 최대 지수 행렬 원소 (Vi,j)m은 최대 지수 행렬 E(HS)m의 (i, j)에 해당한다. 하기에서는 본 발명에서 LDPC 부호에 대한 패리티 검사 행렬을 정의하는데 있어서 상기에서 정의한 최대 지수 행렬을 이용하여 기술하도록 한다. 이는 최대 지수 행렬 원소를 이용하여 표현하는 것과 동일하게 적용될 수 있다.
다음은 LTE TS 36.213 문서에 있는 터보 코드 기반 코드 블록 분할(segmentation) 및 CRC 추가 방법이다.
5G 및 차세대 통신 시스템은 LTE 시스템과 달리 LDPC 코드를 데이터 채널에서 사용한다. 그리고 LDPC 코드를 적용하는 상황에서도 하나의 전송 블록을 여러 개의 코드 블록으로 분할하며, 그 중 일부 코드 블록들은 하나의 코드 블록 그룹을 형성할 수 있다. 또한 각 코드 블록 그룹들의 코드 블록 수는 모두 동일하거나 일부 다른 값을 가지는 것이 가능하다. 비트 단위 인터리빙(interleaving)은 개별 코드 블록 또는 코드 블록 그룹 또는 전송 블록에 적용될 수 있다.
도 3은 LDPC 코드의 모행렬(또는 기저 그래프)의 기본 구조를 도시하는 도면이다.
도 3에서 차세대 이동 통신 시스템에서 데이터 채널 코딩을 지원하는 LDPC 코드의 기저 그래프(300)의 기본 구조는 기본적으로 2개가 지원된다. 첫 번째 LDPC 코드의 기저 그래프 구조는 최대 세로 길이 46(320), 최대 가로 길이 68(318)의 행렬 구조를 가지며, 두 번째 LDPC 코드의 기저 그래프 구조는 최대 세로 길이 42(320), 최대 가로 길이 52(318)의 행렬 구조를 가진다. 첫 번째 LPDC 코드의 기저 그래프 구조는 최소 1/3 내지 최대 8/9 코드 레이트를 지원하며, 두 번째 LDPC 코드의 기저 그래프 구조는 최소 1/5 내지 최대 8/9 코드 레이트를 지원할 수 있다.
기본적으로 LDPC 코드는 6개의 서브 행렬 구조로 구성되어 있다. 첫 번째 서브 행렬 구조(302)는 시스템 비트들을 포함하고 있다. 두 번째 서브 행렬 구조(304)는 정사각 행렬이며 패리티 비트들을 포함하고 있다. 세 번째 서브 행렬 구조(306)은 제로 행렬이다. 네 번째 서브 행렬 구조(308)와 다섯 번째 서브 행렬 구조(310)는 패리티 비트들을 포함하고 있다. 여섯 번째 서브 행렬 구조(312)는 단위 행렬이다.
첫 번째 LDPC 코드의 기저 그래프 구조에서 첫 번째 서브 행렬(302)의 가로 길이(322)는 22의 값을 가지며 세로 길이(314)는 4 또는 5의 값을 가진다. 두 번째 서브 행렬(304)의 가로 길이(324)와 세로 길이(314)는 모두 4 또는 5의 값을 가진다. 세 번째 서브 행렬(306)의 가로 길이(326)는 42 또는 41의 값을 가지며, 세로 길이(314)는 4 또는 5의 값을 가진다. 네 번째 서브 행렬(308)의 세로 길이(316)는 42 또는 41의 값을 가지며, 가로 길이(322)는 22의 값을 가진다. 다섯 번째 서브 행렬(310)의 가로 길이(324)는 4 또는 5의 값을 가지며, 세로 길이(316)는 42 또는 41의 값을 가진다. 여섯 번째 서브 행렬(312)의 가로 길이(326)와 세로 길이(316)는 모두 42 또는 31의 값을 가진다.
두 번째 LDPC 코드의 기저 그래프 구조에서 첫 번째 서브 행렬(302)의 가로 길이(322)는 10의 값을 가지며 세로 길이(314)는 7의 값을 가진다. 두 번째 서브 행렬(304)의 가로 길이(324)와 세로 길이(314)는 모두 7의 값을 가진다. 세 번째 서브 행렬(306)의 가로 길이(326)는 35의 값을 가지며, 세로 길이(314)는 7의 값을 가진다. 네 번째 서브 행렬(308)의 세로 길이(316)는 35의 값을 가지며, 가로 길이(322)는 10의 값을 가진다. 다섯 번째 서브 행렬(310)의 가로 길이(324)는 7의 값을 가지며, 세로 길이(316)는 35의 값을 가진다. 여섯 번째 서브 행렬(312)의 가로 길이(326)와 세로 길이(316)는 모두 35의 값을 가진다.
첫 번째 LDPC 코드의 기저 그래프 구조에서 지원 가능한 하나의 코드 블록 크기는 22 Х Z (여기서 Z = a Х 2j이며, Z는 다음 표 3으로 구성되고 최대로 지원 가능한 하나의 코드 블록 크기는 8448이며, 최소로 지원 가능한 하나의 코드 블록 크기는 44이다. 참고로 표 3에서 Z 값의 후보로써 (272, 304, 336, 368) 중 일부 또는 전체가 추가로 반영될 수 있다)이다.
Z |
a |
2 |
3 |
5 |
7 |
9 |
11 |
13 |
15 |
j |
0 |
2 |
3 |
5 |
7 |
9 |
11 |
13 |
15 |
1 |
4 |
6 |
10 |
14 |
18 |
22 |
26 |
30 |
2 |
8 |
12 |
20 |
28 |
36 |
44 |
52 |
60 |
3 |
16 |
24 |
40 |
56 |
72 |
88 |
104 |
120 |
4 |
32 |
48 |
80 |
112 |
144 |
176 |
208 |
240 |
5 |
64 |
96 |
160 |
224 |
288 |
352 |
|
|
6 |
128 |
192 |
320 |
|
|
|
|
|
7 |
256 |
384 |
|
|
|
|
|
|
첫 번째 LDPC 코드의 기저 그래프 구조에서 지원 가능한 하나의 코드 블록 크기들은 다음과 같다.
44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286, 308, 330, 352, 296, 440, 484, 528, 572, 616, 660, 704, 792, 880, 968, 1056, 1144, 1232, 1320, 1408, 1584, 1760, 1936, 2112, 2288, 2464, 2640, 2816, 3168, 3520, 3872, 4224, 4576, 4928, 5280, 5632, 6336, 7040, 7744, 8448, (5984, 6688, 7392, 8096)
여기서 (5984, 6688, 7392, 8096)는 추가적으로 포함될 수 있다.
또한, 첫 번째 LDPC 코드의 기저 그래프(BG#1)을 기반으로 총 M개의 최대 지수 행렬
가 추가적으로 정의된다. 통상적으로 M는 8 또는 임의의 자연수 값을 가질 수 있으며, i는 1부터 M까지의 값을 가진다. 단말은 상기 행렬
들을 이용하여 하향링크 데이터 디코딩 또는 상향링크 데이터 인코딩(encoding, 부호화와 혼용 가능하다)을 수행한다. 상기 행렬
들은 첫 번째 LDPC 코드의 기저 그래프(BG#1)에서 특정 요소 값들이 이동(shift)된 형태를 가지고 있다. 즉,
행렬들은 서로 다른 이동(shift)값을 가질 수 있는 형태이다.
두 번째 LDPC 코드의 기저 그래프 구조에서 지원 가능한 하나의 코드 블록 크기는 10 Х Z (여기서, Z = a × 2j이며, Z는 다음 표 4로 구성되고 최대로 지원 가능한 하나의 코드 블록 크기는 2560(또는 3840)이며, 최소로 지원 가능한 하나의 코드 블록 크기는 20이다. 참고로 표 4에서 Z 값의 후보로써 (288, 272, 304, 320, 336, 352, 368, 384) 중 일부 또는 전체가 추가로 반영될 수 있다)이다.
Z |
a |
2 |
3 |
5 |
7 |
9 |
11 |
13 |
15 |
j |
0 |
2 |
3 |
5 |
7 |
9 |
11 |
13 |
15 |
1 |
4 |
6 |
10 |
14 |
18 |
22 |
26 |
30 |
2 |
8 |
12 |
20 |
28 |
36 |
44 |
52 |
60 |
3 |
16 |
24 |
40 |
56 |
72 |
88 |
104 |
120 |
4 |
32 |
48 |
80 |
112 |
144 |
176 |
208 |
240 |
5 |
64 |
96 |
160 |
224 |
|
|
|
|
6 |
128 |
192 |
|
|
|
|
|
|
7 |
256 |
|
|
|
|
|
|
|
두 번째 LDPC 코드의 기저 그래프 구조에서 지원 가능한 하나의 코드 블록 크기들은 다음과 같다. 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120,1200, 1280, 1440, 1600, 1760, 1920, 2080, 2240, 2400, 2560 (2880, 3200, 3520, 3840, 2720, 3040, 3360, 3680)
여기서 (2880, 3200, 3520, 3840, 2720, 3040, 3360, 3680)는 추가적으로 포함될 수 있는 값들이다.
또한, 두 번째 LDPC 코드의 기저 그래프(BG#2)을 기반으로 총 M개의 최대 지수 행렬
가 추가적으로 정의된다. 통상적으로 M는 8 또는 임의의 자연수 값을 가질 수 있으며, i는 1부터 M까지의 값을 가진다. 단말은 상기
행렬을 이용하여 하향 데이터 디코딩 또는 상향 데이터 인코딩을 수행한다. 상기
행렬들은 두 번째 LDPC 코드의 기저 그래프(BG#2)에서 특정 요소 값들이 이동(shift)된 형태를 가지고 있다. 즉,
행렬들은 서로 다른 이동(shift) 값을 가질 수 있는 형태이다.
상기 서술한 바와 같이 두 가지 종류의 기저 그래프들이 차세대 이동통신 시스템에서 제공된다. 이에 따라 특정 단말들은 첫 번째 기저 그래프만을 지원하거나 또는 두 번째 기저 그래프만을 지원할 수 있으며 또는 두 개의 기저 그래프 모두를 지원하는 단말들이 존재할 수 있다. 이를 정리하면 다음 표 5와 같다.
단말 유형 |
지원 가능한 동작 |
유형 1 |
첫 번째 기저 그래프만 지원 또는 최대 지수 행렬 E(HS)1
i 를 지원 |
유형 2 |
두 번째 기저 그래프만 지원 또는 최대 지수 행렬 E(HS)2
i 를 지원 |
유형 3 |
두 가지 기저 그래프를 모두 지원 또는 최대 지수 행렬 E(HS)1
i 및 E(HS)2
i 를 지원 |
유형 1를 지원하는 단말은 기지국으로부터 하향링크 제어 정보를 통해 하향링크 데이터 정보 수신시, 상기 하향링크 데이터 정보가 포함된 전송 블록에 적용된 기저 그래프는 항상 첫 번째 기저 그래프라고 판단하며 데이터 인코딩 또는 디코딩 시 최대 지수 행렬
를 적용한다. 유형 2를 지원하는 단말은 기지국으로부터 하향링크 제어 정보를 통해 하향링크 데이터 정보 수신시, 상기 하향링크 데이터 정보가 포함된 전송 블록에 적용된 기저 그래프는 항상 두 번째 기저 그래프라고 판단하며 데이터 인코딩 또는 디코딩 시 최대 지수 행렬
를 적용한다.유형 3을 지원하는 단말은 기지국으로부터 하향링크 제어 정보를 통해 하향링크 데이터 정보 수신시, 상기 하향링크 데이터 정보가 포함된 전송 블록에 적용된 기저 그래프를 기지국으로부터 SIB 또는 RRC 또는 MAC CE와 같이 상위 시그널링으로 사전에 설정받거나 또는 단말 그룹 공통 또는 단말(셀) 공통 또는 단말 특정 제어 채널로 전달되는 하향링크 제어 정보를 통해 설정받는다. 상기 하향링크 제어 정보에는 상기 전송 블록 스케줄링 정보가 같이 포함되어 있거나 또는 포함되지 않을 수 있다.
도 4는 본 발명의 일 실시예에 따른 단말의 수신 과정을 도시한 블록도이다.
도 4에서 단말은 단말(셀) 공통 하향링크 제어 채널 또는 단말 그룹 공통 하향링크 제어 채널 또는 단말 특정 하향링크 제어 채널을 통해 하향링크 제어 정보를 수신(400)한다.
단말은 상기 하향링크 제어 정보 수신을 통해 다음 조건들 중 하나 또는 2 개 이상의 조합에 해당하는지 판단(410)한다.
A. 상기 하향링크 제어 정보의 CRC에 스크램블링된 RNTI
B. 상기 하향링크 제어 정보에 포함된 전송 블록의 크기
C. 상기 하향링크 제어 정보에 포함된 기저 그래프 지시자
D. 상기 하향링크 제어 정보에 포함된 스케줄링 관련 값
A 조건인 상기 하향링크 제어 정보의 CRC에 스크램블링된 RNTI가 RA-RNTI(random access-RNTI) 또는 P-RNTI(paging-RNTI) 또는 SI-RNTI(system information-RNTI) 또는 SC-RNTI(single cell-RNTI) 또는 G-RNTI(group-RNTI)를 제외한 다른 RNTI(일례로 SPS-RNTI(semi-persistent scheduling-RNTI) 또는 C-RNTI(cell-RNTI))일 경우, 단말은 이를 조건 1에 해당한다고 판단하고 동작 1(420)을 수행한다.
A 조건인 상기 하향링크 제어 정보의 CRC에 스크램블링된 RNTI가 RA-RNTI 또는 P-RNTI 또는 SI-RNTI 또는 SC-RNTI 또는 G-RNTI일 경우, 단말은 이를 조건 2라고 판단하고 동작 2(430)를 수행한다.
B 조건인 상기 하향링크 제어 정보에 포함된 전송 블록 및 CRC를 포함한 크기가 일정 임계값(Δ1) 이상인 경우, 단말은 이를 조건 1에 해당한다고 판단하고 동작 1(420)을 수행한다.
B 조건인 상기 하향링크 제어 정보에 포함된 전송 블록 및 CRC를 포함한 크기가 일정 임계값(Δ2) 이하인 경우, 단말은 이를 조건 2에 해당한다고 판단하고 동작 2(430)를 수행한다.
상기 임계값(Δ1) 또는 임계값(Δ2)은 2560 (또는 3840 또는 960 또는 1040 또는 1120 또는 170 또는 640 또는 그 이외의 임의의 값)으로 고정된 값일 수 있다. 또한 상기 임계값(Δ1) 또는 임계값(Δ2)은 서로 같은 값이거나 서로 다른 값일 수 있다.
또는 상기 임계값(Δ1) 또는 임계값(Δ2)은 사전에 SIB 또는 RRC 또는 MAC CE와 같은 상위 시그널링으로 설정된 값이거나 또는 사전에 단말 그룹 공통 또는 단말 공통 또는 단말 특정 하향링크 제어 채널의 하향링크 제어 정보를 통해 설정된 값일 수 있다. 이 때 상기 임계값(Δ)이 설정되기 이전에는 디폴트 임계 값(Δ)으로 2560 (또는 3840 또는 960 또는 1040 또는 1120 또는 170 또는 640 또는 그 이외의 임의의 값)으로 고정된 값을 이용할 수 있다. 상기 임계값(Δ1) 또는 임계값(Δ2)이 설정되기 이전의 시점은 단말이 하향링크 제어 정보의 CRC가 RA-RNTI 또는 P-RNTI 또는 SI-RNTI 또는 SC-RNTI 또는 G-RNTI로 스크램블링이 되기 전을 의미한다.
또는 B 조건인 상기 하향링크 제어 정보에 포함된 전송 블록 및 CRC를 포함한 크기가, 2560 (또는 3840) 보다 작으면서 (또는 동시에 160 또는 640 보다 크면서), K > (전송 블록 크기 + CRC 크기)를 만족하는 첫 번째 기저 그래프에서 지원 가능한 코드 블록 길이(K)들과 두 번째 기저 그래프에서 지원 가능한 코드 블록 길이(K)들 중 가장 최소 코드 블록 길이(Kmin)가 첫 번째 기저 그래프에 속하면 단말은 이를 조건 1에 해당한다고 판단하고 동작 1(420)을 수행한다.
또는 B 조건인 상기 하향링크 제어 정보에 포함된 전송 블록 및 CRC를 포함한 크기가, 2560 (또는 3840) 보다 작으면서 (또는 동시에 160 또는 640 보다 크면서), K > (전송 블록 크기 + CRC 크기)를 만족하는 첫 번째 기저 그래프에서 지원 가능한 코드 블록 길이들과 두 번째 기저 그래프에서 지원 가능한 코드 블록 길이들 중 가장 최소 코드 블록 길이 K가 두 번째 기저 그래프에 속하면 단말은 이를 조건 2에 해당한다고 판단하고 동작 2(430)를 수행한다.
이를 다음의 식을 이용하여 표현할 수 있다.
(TB + CRC) ≤ K ≤ V2 where K ∈ K1 또는 K ∈ K2
K* = min(K)
If K* ∈ K1, 조건 1 만족 및 동작 1(420) 수행
If K* ∈ K2, 조건 2 만족 및 동작 2(430) 수행
여기서 K는 코드 블록의 길이, K*는 선택된 코드 블록의 길이, TB는 전송 블록의 크기를 의미한다. 또한 CRC는 CRC 크기, K1는 첫 번째 기저 그래프에서 지원 가능한 코드 블록 길이 집합, K2는 두 번째 기저 그래프에서 지원 가능한 코드 블록 길이 집합을 의미한다.
또는 다음 식을 이용하여 표현될 수 있다.
V1 ≤ (TB + CRC) ≤ K ≤ V2 where K ∈ K1 또는 K ∈ K2
K* = min(K)
If K* ∈ K1, 조건 1 만족 및 동작 1(420) 수행
If K* ∈ K2, 조건 2 만족 및 동작 2(430) 수행
여기서 K는 코드 블록의 길이, K*는 선택된 코드 블록의 길이, TB는 전송 블록의 크기를 의미한다. 또한 CRC는 CRC 크기, K1는 첫 번째 기저 그래프에서 지원 가능한 코드 블록 길이 집합, K2는 두 번째 기저 그래프에서 지원 가능한 코드 블록 길이 집합을 의미한다.
상기 K
1는 첫 번째 기저 그래프 (또는 최대 지수 행렬
)에서 지원 가능한 코드 블록 길이 집합이며, 그 집합들의 종류는 다음 중 하나 또는 2개 이상의 일부 조합이 될 수 있다. 상기 V
1은 160 또는 640이거나 그 이외의 다른 값이 될 수 있다. 상기 V
2는 2560 또는 3840 또는 960 또는 1040 또는 1120이거나 그 이외의 다른 값이 될 수 있다.
또는 상기 수학식에서 TB + CRC가 V
1보다 작은 경우, 최대 지수 행렬
중 하나를 적용하여 디코딩 또는 인코딩을 수행하며, 상기 수학식에서 TB + CRC가 V
2보다 큰 경우, 최대 지수 행렬
중 하나를 적용하여 디코딩 또는 인코딩을 수행하는 것이 가능하다.
상기 K
1은 첫 번째 기저 그래프 (또는 최대 지수 행렬
)에서 지원 가능한 코드 블록 길이 집합이며, 그 집합들의 종류는 다음 중 하나 또는 2개 이상의 일부 조합이 될 수 있다.
1. K가 2560보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792, 968, 1056, 1144, 1232, 1320, 1408, 1584, 1936, 2112, 2288, 2464
2. K가 3840보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792, 968, 1056, 1144, 1232, 1320, 1408, 1584, 1936, 2112, 2288, 2464, 2640, 2816, 3168, 3520
3. K가 960보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792
4. K가 1040보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792, 968
5. K가 1120보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792, 968, 1056
상기 표에 존재하는 값들은 그 값이 M보다 같거나 작은 경우는 그 값들 전체 또는 일부가 상기 표에서 생략되어 사용되는 것이 통상적으로 가능하다. 상기 M의 값은 160 또는 640 또는 그 이외의 값이 선택될 수 있다.
상기 K
2는 두 번째 기저 그래프 (또는 최대 지수 행렬
)에서 지원 가능한 코드 블록 길이 집합이며, 그 집합들의 종류는 다음 중 하나 또는 2개 이상의 일부 조합이 될 수 있다.
1. K가 2560보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120,1200, 1280, 1440, 1600, 1760, 1920, 2080, 2240, 2400, 2560
2. K가 3840보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120,1200, 1280, 1440, 1600, 1760, 1920, 2080, 2240, 2400, 2560, (2720, 2880, 3040, 3200, 3360, 3520, 3680, 3840)
3. K가 960보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960
4. K가 1040보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040
5. K가 1120보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120
C 조건인 상기 하향링크 제어 정보에 포함된 기저 그래프 지시자가 0 (또는 1)의 값을 지시하면 단말은 조건 1을 만족한다고 판단하고 동작 1(420)을 수행한다.
C 조건인 상기 하향링크 제어 정보에 포함된 기저 그래프 지시자가 1 (또는 0)의 값을 지시하면 단말은 조건 2를 만족한다고 판단하고 동작 2(430)를 수행한다.
D 조건인 상기 하향링크 제어 정보에 포함된 스케줄링 관련 값들 중 MCS 또는 RV 또는 NDI 또는 주파수 또는 시간 자원 할당 값들이 특정 정보를 지시할 경우, 단말은 조건 1을 만족한다고 판단하고 동작 1(420)을 수행한다.
D 조건인 상기 하향링크 제어 정보에 포함된 스케줄링 관련 값들 중 MCS 또는 RV 또는 NDI 또는 주파수 또는 시간 자원 할당 값들이 특정 정보를 지시할 경우, 단말은 조건 2를 만족한다고 판단하고 동작 2(430)를 수행한다.
단말은 동작 1을 수행하는 경우, 다음들 중 하나 또는 2 개 이상의 조의 동작을 수행한다.
1. 단말은 첫 번째 기저 그래프 (또는 최대 지수 행렬
)에서 지원 가능한 코드 블록 길이를 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
2. 단말은 다음 상기 지원 가능한 코드 블록 표를 참고하여 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286, 308, 330, 352, 296, 440, 484, 528, 572, 616, 660, 704, 792, 880, 968, 1056, 1144, 1232, 1320, 1408, 1584, 1760, 1936, 2112, 2288, 2464, 2640, 2816, 3168, 3520, 3872, 4224, 4576, 4928, 5280, 5632, 6336, 7040, 7744, 8448, (5984, 6688, 7392, 8096)
3. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 44, 88, 176, 352, 704, 1408, 2816, 5632
B. 44, 66, 110, 154, 198, 242, 286, 330
C. 44, 66, 154, 198, 242, 286, 330
4. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 기저 그래프 에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 66, 132, 264, 528, 1056, 2112, 4224, 8448
B. 88, 132, 220, 308, 396, 484, 572, 660
C. 88, 132, 308, 396, 484, 572, 660
5. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 기저 그래프 에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 110, 220, 440, 880, 1760, 3520, 7040
B. 176, 264, 440, 616, 792, 968, 1144, 1320
C. 1760, 3520, 7040
D. 3520, 7040
E. 7040
F. 176, 264, 616, 792, 968, 1144, 1320
6. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 154, 308, 616, 1232, 2464, 4928
B. 352, 528, 880, 1232, 1584, 1936, 2288, 2640
C. 352, 528, 1232, 1584, 1936, 2288, 2640
7. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 198, 396, 792, 1584, 3168, 6336
B. 704, 1056, 1760, 2464, 3168, 3872, 4576, 5280
C. 704, 1056, 2464, 3168, 3872, 4576, 5280
8. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 242, 484, 968, 1936, 3872
B. 1408, 2112, 3520, 4928, 6336, 7744
C. 1408, 2112, 4928, 6336, 7744
9. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 286, 572, 1144, 2288, 4576
B. 2816, 4224, 7040
10. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 330, 660, 1320, 2640, 5280
B. 5632, 8448
단말은 동작 2를 수행하는 경우, 다음들 중 하나 또는 2 개 이상의 조합의 동작을 수행한다.
1. 단말은 두 번째 기저 그래프에서 지원 가능한 코드 블록 길이를 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
2. 단말은 다음 상기 지원 가능한 코드 블록 표를 참고하여 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120,1200, 1280, 1440, 1600, 1760, 1920, 2080, 2240, 2400, 2560 (2880, 3200, 3520, 3840, 2720, 3040, 3360, 3680)
3. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 20, 40, 80, 160, 320, 640, 1280
B. 20, 30, 50, 70, 90, 110, 130, 150
4. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 30, 60, 120, 240, 480, 960, 1920, (3840)
B. 40, 60, 100, 140, 180, 220, 260, 300
5. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 50, 100, 200, 400, 800, 1600, (3200)
B. 80, 120, 200, 280, 360, 440, 520, 600
6. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 70, 140, 280, 560, 1120, 2240
B. 160, 240, 400, 560, 720, 880, 1040, 1200
7. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 90, 180, 360, 720, 1440, (2880)
B. 320, 480, 800, 1120, 1440, 1760, 2080, 2400
8. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 110, 220, 440, 880, 1760, (3520)
B. 640, 960, 1600, 2240, (2880), (3520)
9. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 130, 260, 520, 1040, 2080
B. 1280, 1920, (3200)
10. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은
를 이용하여 단말이 인코딩 또는 디코딩하는 코드 블록에 해당한다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 기저 그래프에서 지원하는
행렬을 기반으로 상기 하향링크 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 150, 300, 600, 1200, 2400
B. 2560, (3840)
상기 본 발명에서 괄호로 표현된 숫자는 해당 값은 포함되거나 포함되지 않을 수 있다는 것을 의미한다.
본 발명에서 정보 비트수라 함은 상위 계층으로부터 전달되는 전송해야 할 데이터의 양 또는 transport block (TB)의 크기 (transport block size; TBS)를 의미할 수 있다. 상기 TBS는 하나의 TTI 동안에 전송되는 것이 일반적이지만, 여러 TTI에 걸쳐서 전송되는 것도 가능할 수 있다. 본 발명에서 TBS는 N으로 표시될 수 있다.
본 발명에서 표로 설명된 것 중 괄호로 쓰여진 값들은 표에 모두 또는 일부 포함되거나 모두 또는 일부 포함되지 않을 수도 있는 값들이다.
도 5는 하나의 전송 블록이 하나 이상의 코드 블록(Code Block, CB)으로 분할(Segmentation)되는 방법을 도시한 도면이다. 도 5를 참조하면, 상향링크 또는 하향링크에서 전송하고자 하는 하나의 전송 블록(501)의 마지막 또는 맨 앞부분에 CRC(503)이 추가될 수 있다. 상기 CRC는 16비트 또는 24비트 또는 미리 고정된 비트 수를 가지거나 채널 상황 등에 따라 가변적인 비트 수를 가질 수 있으며, 상기 CRC는 채널코딩의 성공 여부를 판단할 수 있는데 사용될 수 있다. TB와 CRC가 추가된 블록(501, 503)은 여러 개의 코드 블록들(507, 509, 511, 513)로 나뉠 수 있다(505).
상기 코드 블록은 최대 크기가 미리 정해져서 나뉠 수 있으며, 이 경우 마지막 코드 블록(513)은 다른 코드 블록보다 크기가 작을 수 있거나, 또는 0, 랜덤 값 또는 1을 넣어 다른 코드 블록들과 길이를 같도록 맞춰질 수 있다. 상기 나뉜 코드 블록들에 각각 CRC들(517, 519, 521, 523)이 추가될 수 있다(515). 상기 CRC는 16비트 또는 24비트 또는 미리 고정된 비트 수를 가질 수 있으며, 상기 CRC는 채널코딩의 성공 여부를 판단할 수 있는데 사용될 수 있다. 하지만 상기 TB에 추가된 CRC(503)과 코드 블록에 추가된 CRC들(517, 519, 521, 523)은 코드 블록에 적용될 채널코드의 종류에 따라 길이가 달라질 수 있다. 또한 폴라 코드가 사용되는 경우에도 CRC가 추가되거나 생략될 수 있다. 상기의 분할 과정에서 CB가 한 개인 경우에는 CB에 추가로 더해지는 CRC(517)은 생략될 수 있다.
수신기에서 TB의 복호를 진행한 후 TB의 복호 성공 여부를 판단하기 위해 사용되는 TB에 삽입된 CRC는 길이 L로 적어도 두 가지 이상의 가능한 값을 가질 수 있다. 즉 전송 블록이 두 개 이상의 코드 블록으로 분할되어 전송되는 경우에는 긴 길이의 CRC가 사용되고, 반대로 전송 블록이 하나의 코드 블록으로 전송되는 경우에는 짧은 길이의 CRC가 사용될 수 있다. 이동 통신 시스템에서 부호화를 위해 LDPC 부호가 사용되면, LDPC 부호가 부호 자체로 패리티 체크 기능을 가지기 때문에 CRC 삽입이 없이도 어느 정도의 복호 성공 여부 판단 기능을 가진다.
특정 이동통신 시스템에서 LDPC 부호를 사용하고 추가의 복호 성공 판단 수준을 획득하고자 하는 경우에는 LDPC 부호의 패리티 체크 기능에 추가로 CRC를 삽입하여 최종 복호 성공 여부를 판단하는 기술을 사용할 수 있고, 이와 같은 방법으로 시스템에서 원하는 복호 성공 여부 판단의 오율 수준을 획득할 수 있다. 예를 들면 시스템에서 요구하는 복호 성공 여부 판단 오율이 10-6이고 LDPC 부호의 패리티 체크 기능으로 얻을 수 있는 판단 오율이 10-3이라면, 10-3의 판단 오율을 가지는 CRC를 추가로 삽입하여 최종 10-6의 시스템 판단 오율이 달성될 수 있도록 하는 것이다.
일반적으로 CRC의 길이가 길수록 복호 성공 여부 판단의 오율은 낮아진다. 전송 블록이 두 개 이상의 코드 블록으로 분할되어 전송되는 경우에는 TB 자체가 LDPC 부호의 연접으로 구성이 되어 LDPC 부호 자체의 패리티 체크 기능을 사용할 수 없다. 반면에 전송 블록이 하나의 코드 블록으로 구성된 경우에는 LDPC 부호의 패리티 체크 기능을 사용할 수 있다. 따라서 특정 시스템에서는 전송 블록 내의 코드 블록 개수에 따라 긴 길이 또는 짧은 길이의 CRC를 TB에 삽입하여 사용하는 것이 가능해 진다. 본 발명의 실시예들에서는 TB가 분할되어 두 개 이상의 코드 블록으로 분할되는지의 여부에 따라 상기 TB에 삽입되는 CRC의 길이 L이 긴 길이 L+ 또는 짧은 길이 L-인 것을 가정한다. 그리고 L+로 가능한 값의 예는 LTE의 경우에 사용되었던 24이며, L-의 예는 이보다 짧은 어떤 길이도 가능하나 LTE 제어 채널에서 사용한 16을 재활용하는 것이 가능하다. 하지만 본 발명의 실시예에서는 상기 L- 값의 예인 16에 한정하지는 않는다.
특정 TB가 다수의 코드 블록으로 분리되는지의 여부는 하나의 코드 블록으로 주어진 TB를 전송할 수 있느냐의 여부에 따라 결정되기 때문에 다음과 같이 판단될 수 있다:
- N+L-값이 가능한 최고 CB 길이보다 작거나 같으면 하나의 코드 블록으로 TB 전송; If (N + L-) <= Kmax, then one CB is used
- N+L-값이 가능한 최고 CB 길이보다 크면, TB를 분할하여 다수의 코드 블록으로 TB 전송; If (N + L-) > Kmax, then CB is segmented
여기서 Kmax는 가능한 코드 블록의 크기 중 가장 큰 코드 블록 크기를 나타낸다.
종래 LTE 시스템에서는 TBS를 결정하기 위해 DCI에서 전송되는 MCS 인덱스와 할당된 PRB 수를 이용한다. 하향링크 기준으로는 DCI에서는 5비트의 MCS 인덱스가 전송되어 하기 표 6으로부터 변조 차수 Qm과 TBS 인덱스를 알아낼 수 있다.
MCS Index IMCS
|
Modulation Order Qm
|
TBS Index ITBS
|
0 |
2 |
0 |
1 |
2 |
1 |
2 |
2 |
2 |
3 |
2 |
3 |
4 |
2 |
4 |
5 |
2 |
5 |
6 |
2 |
6 |
7 |
2 |
7 |
8 |
2 |
8 |
9 |
2 |
9 |
10 |
4 |
9 |
11 |
4 |
10 |
12 |
4 |
11 |
13 |
4 |
12 |
14 |
4 |
13 |
15 |
4 |
14 |
16 |
4 |
15 |
17 |
6 |
15 |
18 |
6 |
16 |
19 |
6 |
17 |
20 |
6 |
18 |
21 |
6 |
19 |
22 |
6 |
20 |
23 |
6 |
21 |
24 |
6 |
22 |
25 |
6 |
23 |
26 |
6 |
24 |
27 |
6 |
25 |
28 |
6 |
26 |
29 |
2 |
reserved |
30 |
4 |
31 |
6 |
DCI에서 전달되는 자원 할당 정보로부터 데이터 전송에 사용되는 PRB 수가 알려질 수 있고, 상기 표 6에서 알아낸 TBS 인덱스와 함께 하기 표 7로부터 TBS가 결정될 수 있다.
[표 7]
상기 표 7은 PRB가 1부터 10까지인 경우, 그리고 TBS 인덱스가 0부터 26까지인 경우의 TBS 표이나, 이는 PRB 가 110까지인 경우 및 추가적인 TBS 인덱스의 경우에도 상기와 같은 표가 사용된다. 상기 표에서 할당된 PRB 수와 TBS 인덱스를 이용하여 해당하는 칸의 숫자가 기지국과 단말이 이해하는 TBS가 된다.
본 발명에서 서술하는 단말의 하향링크 데이터 전송을 위한 TBS 결정 방법 및 장치는 상향링크 데이터 채널의 전송 블록 인코딩 과정에 충분히 적용될 수 있다. 또한 본 발명에서 서술하는 단말의 인코딩 및 디코딩 동작은 기지국 및 디코 및 디코딩 동작에 충분히 적용할 수 있다.
본 발명에서 전송 블록은 상위 계층에서 물리 계층으로 전송되는 데이터일 수 있으며, 물리 계층에서 초기 전송될 수 있는 단위가 될 수 있다.
본 발명에서 N1_max와 N2_max는 각각 LDPC 코드에서 BG#1이 사용될 때의 최대 코드 블록 길이와 BG#2가 사용될 때의 최대 코드 블록 길이를 가리킬 수 있다. 예컨대 N1_max = 8448, N2_max = 3840이 될 수 있다. 하지만 본 발명의 실시예는 상기 값에 한정되지 않는다. 본 발명에서 N1_max는 N1max 또는 N1,max와 혼용될 수 있고, N2_max는 N2max 또는 N2,max와 혼용될 수 있다.
본 발명에서 L_{TB,16}와 L_{TB,24}는 TB에 추가되는 CRC의 길이들일 수 있으며, L_{TB,16} < L_{TB,24}이다. 예컨대, L_{TB,16}는 16, L_{TB,24}는 24일 수 있다. 본 발명에서 L_{TB,16}는 LTB,16와 혼용될 수 있고, L_{TB,24}는 LTB,24와 혼용될 수 있다. 본 발명에서 L_{CB}는 CB에 추가되는 CRC의 길이일 수 있으며, LCB와 혼용될 수 있다.
[제1실시예]
제1실시예는 CB-CRC 및 기저 그래프(BG) 선택에 따른 TBS 결정 방법을 제공한다. 본 실시예는 특정 경우에서 TBS가 클 때에는 TB가 2개 이상의 여러 코드 블록으로 나뉘고 각각의 코드 블록이 BG#2를 이용하는 LDPC 코드로 채널코딩되어 전송되는 경우에 적용될 수 있다. 즉 TBS가 큰 경우에도 BG#2를 이용하여 데이터를 전송하는 것이 가능할 경우에 적용될 수 있다. 본 실시예에서 R_1 및 R_2는 LDPC의 BG#1 또는 BG#2를 선택하는 기준이 되는 코드 레이트(code rate)을 가리킬 수 있으며, 각각 R1과 R2와 혼용될 수 있다. 예컨대 R1=1/4 R2=2/3일 수 있지만, 본 발명에서 제공하는 방법은 이에 한정되지 않는다. 또한 본 발명에서 코드 레이트로 언급되는 R과 상기 R1과 R2은 분수 및 소수 등 다양한 방법으로 표현되어 정해질 수 있으며, 예를 들어 R은 0.28과 같은 값이 될 수도 있으나, 제시된 수치에 한정되지 않고 다양한 수치와 값이 사용될 수 있다. 데이터 전송시 BG#1과 BG#2 중에서 어떤 BG를 선택할 때에는 코드 레이트, 단말의 소프트 버퍼 등이 고려될 수 있다.
기지국은 단말에게 임의의 수의 PRB의 주파수 자원 및 임의 개수의 슬롯 또는 심볼의 시간 자원을 할당하여 데이터를 전송할 수 있으며, 상기와 관련된 스케줄링 정보는 하향링크 제어 정보(DCI) 또는 상위 시그널링에서 전송된 설정 또는 그 결합으로 단말에게 전달될 수 있다. 기지국과 단말이 스케줄링 정보가 주어져 있을 때, TBS는 하기의 순서로 결정될 수 있다.
- 단계 1-1: 임시 정보 비트 수(A) 결정
- 단계 1-2: 임시 CB 개수(C) 결정 및, 바이트 정렬(byte alignment, 8의 배수로 만드는 과정)와 임시 CB 개수의 배수(B)로 만드는 과정
- 단계 1-3: CRC 비트 수를 제외한 TBS 결정 과정 (TBS)
단계 1-1에서는 전송하고자 하는 데이터가 매핑될 수 있는 자원 영역의 양을 고려하여 임시 TBS 값을 결정한다. 이는 코드 레이트(R), 변조 차수(Qm), 데이터가 레이트 매칭(rate matching)되어 매핑되는 RE 수(NRE), 할당된 PRB 또는 RB 수(#PRB), 할당된 OFDM 심볼 수, 할당된 슬롯 수, 한 PRB 내에서 매핑되는 RE 수의 기준값 중 하나 이상의 조합으로 임시 정보 비트 수를 결정할 수 있다. 예컨대 A는 하기 수학식 10에 의해 결정될 수 있다.
[수학식 10]
상기에서 변조 차수인 Qm과 코드 레이트인 R은 DCI에 포함되어 단말에게 전달될 수 있다. 전송될 때 사용되는 레이어 수 v는 DCI 또는 상위 시그널링 또는 둘의 조합으로 단말에게 전달될 수 있다. 상기에서 NRE는 기지국이 데이터가 전송될 때 레이트 매칭을 이용해 데이터가 매핑되는 RE 수를 이용하여 결정될 수 있으며, 자원 할당 정보를 기지국과 단말이 서로 알고 있을 때 상기 NRE는 기지국과 단말이 동일하게 이해할 수 있다. NRE를 계산할 때, 레이트 매칭 방식으로 데이터가 매핑되기로 하였으나 채널 상태 정보 기준 신호(channel state information reference signal, CSI-RS) 또는 URLLC 또는 상향링크 제어 정보(UCI) 전송 등 특별한 이유로 데이터가 펑처링(puncturing)되어 실제로 데이터가 매핑되지 않는 RE도 NRE에 포함된다. 이는 기지국이 단말에게 알리지 않고 임의로 매핑하기로 했던 데이터의 일부를 펑처링 방식으로 전송하지 않았을 때에도 기지국과 단말이 TBS를 동일하게 이해할 수 있도록 하기 위함일 수 있다.
하기 표 8과 같은 MCS 표가 정의되고 기지국은 단말에게 MCS 인덱스를 전달하여 Qm과 R에 대한 정보를 전달할 수 있다. 상기에서 변조 차수는 QPSK, 16QAM, 64QAM, 256QAM, 1024QAM 등의 정보를 의미하며, QPSK의 경우 Qm=2, 16QAM의 경우 Qm=4, 64QAM의 경우 Qm=6, 256QAM의 경우 Qm=8, 1024QAM의 경우 Qm=10이 될 수 있다. 즉, Qm은 변조된 심볼에서 전달 가능한 비트 수를 의미할 수 있다.
MCS Index |
Modulation Order |
Code Rate |
0 |
2 |
0.1171875 |
1 |
2 |
0.15332031 |
2 |
2 |
0.18847656 |
3 |
2 |
0.24511719 |
4 |
2 |
0.30078125 |
5 |
2 |
0.37011719 |
6 |
2 |
0.43847656 |
7 |
2 |
0.51367188 |
8 |
2 |
0.58789063 |
9 |
2 |
0.66308594 |
10 |
4 |
0.33203125 |
11 |
4 |
0.36914063 |
12 |
4 |
0.42382813 |
13 |
4 |
0.47851563 |
14 |
4 |
0.54003906 |
15 |
4 |
0.6015625 |
16 |
4 |
0.64257813 |
17 |
6 |
0.42773438 |
18 |
6 |
0.45507813 |
19 |
6 |
0.50488281 |
20 |
6 |
0.55371094 |
21 |
6 |
0.6015625 |
22 |
6 |
0.65039063 |
23 |
6 |
0.70214844 |
24 |
6 |
0.75390625 |
25 |
6 |
0.80273438 |
26 |
6 |
0.85253906 |
27 |
6 |
0.88867188 |
28 |
6 |
0.92578125 |
29 |
2 |
N/A |
30 |
4 |
N/A |
31 |
6 |
N/A |
상기 표 8에서는 5비트의 MCS 인덱스로 Qm과 R이 함께 전달되었으나, 이는 6비트 MCS 인덱스로 DCI에서 전달될 수 있거나, 또는 3비트의 Qm과 3비트의 R이 각각 비트 필드를 이용해 전달되는 등 다양한 방법으로 단말에게 전달될 수 있다. 또는 A= (할당된 PRB 수) x (1 PRB당 기준 RE 수) x Qm x R x v 로 결정될 수 있다.
단계 1-2에서는 상기 결정된 A를 이용하여 임시 코드 블록 수 (임시 CB 수) C를 결정하고, 이를 바탕으로 A를 8의 배수와 동시에 임시 CB 수의 배수로 만들어주는 단계이다. 이는 최종적으로 결정되는 TBS와 TB에 더해지는 CRC의 길이가 바이트 정렬되는 동시에 CB의 배수가 되도록 하기 위함이다. 먼저 임시 CB 수는 하기의 수도 코드(pseudo-code) 1에 의해 정해질 수 있다.
[pseudo-code 1]
[시작]
End if of R
[끝]
상기에서 R는 코드 레이트로 상기에서 언급한 바와 같이 DCI에서 전달되는 값일 수 있다. 상기에서 언급한 바와 같이 R1은 1/4일 수 있으며, N1,max는 8448일 수 있고, N2,max는 3840일 수 있다. 이 경우에는 pseudo-code 2에 의해 정해질 수 있지만 이에 한정되지는 않을 수 있다. 이때, R1와 N1,max, N2,max는 각각 1/4, 8448, 3840을 예로 들어 설명하였지만, 이에 한정되지 않고 얼마든지 다른 값이 사용될 수 있다.
[pseudo-code 2]
[시작]
End if of R
[끝]
상기에서 구해진 C는 임시 CB의 수일 수 있다. 최종적으로 TB가 전송될 때에 CB 분할이 수행되며 임시 CB의 수는 이 때에 구해지는 실제 CB의 수와는 다를 수 있으나, 실제 CB의 수가 임시 CB의 수와 같도록 정해질 수 있다.
이제 단계 1-1에서 정해진 A 값을 8과 C의 배수로 만들어 B를 생성하는 과정을 거치게 되며, 이는 모든 코드 블록에 불필요한 비트들 또는 불필요한 제로 패딩(zero padding) 비트가 포함되어 전송되지 않도록 하기 위함일 수 있다. 하기 수학식 11과 같이 B이 계산될 수 있다.
[수학식 11]
상기에서 수학식 11은
또는
또는
로 변형되어 적용되는 것이 가능하다. 본 발명에서 mod(x,y)는 x를 y로 나눈 나머지이며,
로 변형되어 적용될 수 있다. 본 발명에서
는 x보다 큰 최소 정수를 의미하며, ceil(x)와 혼용될 수 있다.
는 x보다 작은 최대 정수를 의미하며, floor(x)와 혼용될 수 있다. 상기 수학식 11은 또한
로 변형되어 적용될 수 있으며, 이는 A에서 가장 가까운 8C의 배수를 B로 함을 의미할 수 있다. Round(x)는 x에서 가장 가까운 정수를 의미하거나 반올림을 의미할 수 있다.
상기 수학식 11은 A를 8C의 배수로 만들기 위함이지만, 8과 C의 공배수 또는 최소공배수로 만드는 것으로 변형되어 적용될 수 있다. 따라서 상기 수학식 11은
또는
또는
으로 변형되어 적용되는 것이 가능할 수 있다. 상기에서 LCM(a,b)는 a와 b의 최소 공배수를 의미한다.
상기에서 단계 1-2까지는 할당된 자원에서 전송되는 정보 비트들을 구한 것이며, 최종 단계 1-3에서는 앞서 구한 전송될 정보 비트들에서 CRC를 위해 추가되었던 비트들의 수를 제외하는 과정을 수행한다. 이는 하기 pseudo-code 3에 의해 수행될 수 있다.
[pseudo-code 3]
[시작]
If R ≤ R1,
If B ≤ N
2,max, then TBS = B - L
TB,16
Else TBS = B - L
TB,24 - C Х L
CB
Else
If B ≤ N
2,max, then TBS = B - L
TB,16
Else if B ≤ N
1,max, then TBS = B - L
TB,24
Else TBS = B - L
TB,24 - C Х L
CB
End if of R
[끝]
상기와 같이 각 변수들의 값이 정해져서 적용된다면 [pseudo-code 3]는 하기 [pseudo-code 4]로 적용되는 것이 가능하지만 이에 한정되지 않는다.
[pseudo-code 4]
[시작]
If R ≤ 1/4,
If B ≤ 3840, then TBS = B - 16
Else
If B ≤ 3840, then TBS = B - 16
Else if B ≤ 8448, then TBS = B - 24
End if of R
[끝]
상기는 TBS의 크기에 따라 TB에 적용되는 CRC 길이가 달라질 수 있기 때문에 LTB,16와 LTB,24가 고려되었으며, 코드 블록 수가 1개인 경우에는 CB에 더해지는 CRC가 생략될 수 있거나 CB에 더해지는 CRC길이가 0이 되는 경우가 될 수 있음을 고려한 것이다.
다른 일례로 상기 단계1-3은 하기와 같은 [pseudo-code 5] 또는 [pseudo-code 6]로 변형되어 수행되는 것이 가능하다.
[pseudo-code 5]
[시작]
If B ≤ N2,max, then TBS = B - LTB,16
Else TBS = B - LTB,24
End if of B
[끝]
[pseudo-code 6]
[시작]
If B ≤ 3840, then TBS = B - 16
Else TBS = B - 24
End if of B
[끝]
상기 [pseudo-code 5] 또는 [pseudo-code 6]에서는 최종 TBS를 계산함에 있어서 CB에 추가되는 CRC 길이를 제외하지 않음을 특징으로 한다. 따라서 나중에 실제 데이터가 매핑되어 전송될 때, 상기 계산된 TBS에 CB의 CRC 길이가 추가될 수 있으므로 실제의 코드 레이트는 R보다 커질 수 있다.
도 6은 하향링크 또는 상향링크 데이터 스케줄링 및 전송시 기지국과 단말이 TBS를 계산하여 데이터를 송수신하는 단계를 도시한 순서도이다. 스케줄링 및 데이터 전송 과정이 시작되면, 기지국은 스케줄링 정보를 결정하고(602), 상기 스케줄링 정보를 DCI, 시스템 정보(system information), MAC CE, RRC 시그널링 중 하나 이상의 결합으로 단말에게 전달한다(604). 단말과 기지국은 상기 정해진 스케줄링 정보로부터 TBS를 계산한다(606). 상기 606 단계에서는 상기에서 기술된 단계 1-1, 단계 1-2, 및 단계 1-3를 이용하여 TBS가 계산될 수 있다. 단계 1-1, 단계 1-2, 단계 1-3는 결합되어 동시에 수행될 수도 있고 또는 순서가 바뀌어 수행되는 것도 가능하다. 이후에 계산된 TBS를 이용하여, CB 분할 및 채널코딩, 디코딩, 재전송 동작 등이 수행되어(608) 데이터 스케줄링 및 전송이 완료된다.
상기 실시예에서 제공한 TBS 결정 방법은 기지국과 단말이 미리 약속한 MCS 인덱스 및 할당된 PRB 수의 특정 조합이 적용되지 않는 경우에 한정하여 적용되는 것이 가능하다. 예를 들어, MCS 인덱스 6로 스케줄링이 결정되고 이 때 PRB 수가 1이라면 TBS는 상기 방법이 아닌 328로 고정된 값으로 결정되어 데이터가 전송되는 것이 가능할 수 있다. 따라서 기지국과 단말은 {MCS 인덱스 또는 코드 레이트 인덱스 등, PRB 수}의 조합에 따라 사용될 TBS의 값들을 미리 정해 알고 있을 수 있고, 상기 조합 이외의 경우에만 상기 실시예에서 제공한 방법으로 TBS가 결정될 수 있다.
본 실시예의 TBS 결정 방법은 초기전송의 경우에만 해당되며, 재전송인 경우에는 해당 재전송의 초기전송에서 결정된 TBS를 가정하여 송수신을 수행할 수 있다.
[제2실시예]
제2실시예는 CB-CRC 및 BG 선택에 따른 TBS 결정 방법을 제공한다. 본 실시예는 특정 경우에서 TBS가 클 때에는 TB가 2개 이상의 여러 코드 블록으로 나뉘고 각각의 코드 블록이 BG#2를 이용하는 LDPC 코드로 채널코딩되어 전송되는 경우에 적용되는 것이 가능할 수 있다. 즉 TBS가 큰 경우에도 BG#2를 이용하여 데이터를 전송하는 것이 가능할 경우에 적용될 수 있다. 본 실시예에서 R_1 및 R_2는 LDPC의 BG#1 또는 BG#2를 선택하는 기준이 되는 코드 레이트를 가리킬 수 있으며, 각각 R1과 R2와 혼용될 수 있다. 예컨대 R1=1/4 R2=2/3일 수 있지만, 본 발명에서 제공하는 방법은 이에 한정되지 않는다. 또한 본 발명에서 코드 레이트로 언급되는 R과 상기 R1과 R2은 분수 및 소수 등 다양한 방법으로 표현되어 정해질 수 있다. 데이터 전송시 BG#1과 BG#2 중에서 어떤 BG를 선택할 때에는 코드 레이트, 단말의 소프트 버퍼 등이 고려될 수 있다. 본 실시예는 TBS를 8의 배수 또는 CB 수의 배수 또는 8과 CB 수의 공배수 또는 최소공배수로 맞추기 위한 과정을 TBS 계산의 마지막에 수행함을 특징으로 한다.
기지국은 단말에게 임의의 수의 PRB의 주파수 자원 및 임의 개수의 슬롯 또는 심볼의 시간 자원을 할당하여 데이터를 전송할 수 있으며, 상기와 관련된 스케줄링 정보는 하향링크 제어 정보(DCI) 또는 상위 시그널링에서 전송된 설정 또는 그 결합으로 단말에게 전달될 수 있다. 기지국과 단말이 스케줄링 정보가 주어져 있을 때, TBS는 하기의 순서로 결정될 수 있다.
- 단계 2-1: 임시 정보 비트 수(A) 결정
- 단계 2-2: 상기 결정된 A를 이용하여 임시 CB 개수(C)를 결정하고, 이에 따라 TBS에 TB-CRC의 길이를 더한 값이 바이트 정렬(8의 배수로 만드는 과정)되고 임시CB 개수의 배수가 되도록 A를 조정하여 TBS 결정
단계 2-1은 상기 제1 실시예의 단계 1-1의 과정과 동일할 수 있다. 단계 2-1에서는 보내고자 하는 데이터가 매핑될 수 있는 자원 영역의 양을 고려하여 임시 TBS 값을 결정한다. 이는 코드 레이트(R), 변조 차수(Qm), 데이터가 레이트 매칭 되어 매핑되는 RE 수(NRE), 할당된 PRB 또는 RB 수(#PRB), 할당된 OFDM 심볼 수, 할당된 슬롯 수, 한 PRB 내에서 매핑되는 RE 수의 기준값 중 하나 이상의 조합으로 임시 정보 비트 수를 결정할 수 있다.
예컨대 A는 상기 수학식 10인
에 의해 결정될 수 있다. 상기에서 변조 차수인 Q
m과 코드 레이트인 R은 DCI에서 포함되어 단말에게 전달될 수 있다. 전송될 때 사용되는 레이어 수 v는 DCI 또는 상위 시그널링 또는 둘의 조합으로 단말에게 전달될 수 있다. 상기에서 N
RE는 기지국이 데이터가 전송될 때 레이트 매칭을 이용해 데이터가 매핑되는 RE 수를 이용하여 결정될 수 있으며, 자원 할당 정보를 기지국과 단말이 서로 알고 있을 때 상기 N
RE는 기지국과 단말이 동일하게 이해할 수 있다. N
RE를 계산할 때, 레이트 매칭 방식으로 데이터가 매핑되기로 하였으나, CSI-RS 또는 URLLC 또는 UCI 전송 등 특별한 이유로 데이터가 펑처링되어 실제로 데이터가 매핑되지 않는 RE도 N
RE에 포함된다. 이는 기지국이 단말에게 알리지 않고 임의로 매핑하기로 했던 데이터의 일부를 펑처링 방식으로 전송하지 않았을 때에도 기지국과 단말이 TBS를 동일하게 이해할 수 있도록 하기 위함일 수 있다.
상기 표 8과 같은 MCS 표가 정의하고, 기지국은 단말에게 MCS 인덱스를 전달하여 Qm과 R에 대한 정보를 전달할 수 있다. 상기에서 변조 차수는 QPSK, 16QAM, 64QAM, 256QAM, 1024QAM 등의 정보를 의미하며, QPSK의 경우 Qm=2, 16QAM의 경우 Qm=4, 64QAM의 경우 Qm=6, 256QAM의 경우 Qm=8, 1024QAM의 경우 Qm=10이 될 수 있다. 즉, Qm은 변조된 심볼에서 전달 가능한 비트 수를 의미할 수 있다. 상기 표 8에서는 5비트의 MCS 인덱스로 Qm과 R을 함께 전달되었으나, 이는 6비트 MCS 인덱스로 DCI에서 전달될 수 있거나, 또는 3비트의 Qm과 3비트의 R이 각각 비트 필드를 이용해 전달되는 등 다양한 방법으로 단말에게 전달될 수 있다. 또는 A= (할당된 PRB 수) x (1 PRB당 기준 RE 수) x Qm x R x v 로 결정될 수 있다.
단계 2-2는 하기 [pseudo-code 7] 또는 [pseudo-code 8]과 같이 수행될 수 있다.
[pseudo-code 7]
[시작]
If R ≤ R1,
Else
End if of R
[끝]
상기에서 TBS =
는 TBS =
와 같이 변형되어 적용될 수 있다.
[pseudo-code 8]
[시작]
If R ≤ 1/4,
Else
End if of R
[끝]
상기 [pseudo-code 7]는 하기와 같이 [pseudo-code 7-A] 또는 [pseudo-code 7-B] 또는 [pseudo-code 7-C]로 변형되어 적용되는 것이 가능하다. 하기는 A에 이미 TB-CRC가 추가되었다고 가정한 방법일 수 있다.
[pseudo-code 7-A]
[시작]
If R ≤ R1,
Else
End if of R
[끝]
[pseudo-code 7-B]
[시작]
If IMCS ≤ IMCS,BG#2,
Else
End if of R
[끝]
상기에서 IMCS는 MCS 인덱스이거나 MCS 또는 코드 레이트와 관련있는 파라미터일 수 있다. IMCS,BG#2는 BG#2를 선택하기 위한 IMCS의 기준값일 수 있다.
[pseudo-code 7-C]
[시작]
If R ≤ R1,
Else
End if of R
[끝]
상기에서 α는 양자화 지수(quantization factor)로서, TBS의 입도(granularity)를 결정하는 값일 수 있다. 상기 α는 기지국과 단말이 약속하여 알고 있는 값일 수 있고, 또는 상위 시그널링으로 기지국이 단말에게 설정해주는 값일 수 있다. 또는, A 또는 C의 값에 따라서 결정되는 값일 수 있다.
상기 [pseudo-code 8]는 하기와 같이 [pseudo-code 8-A]로 변형되어 적용되는 것이 가능하다.
[pseudo-code 8-A]
[시작]
If R ≤ 1/4,
Else
End if of A
End if of R
[끝]
상기에서 "If R ≤ 1/4,"는 1/4 값에 한정되지 않으며 예컨대, "If R ≤ 0.28,"등 과 같은 값으로 변형되어 적용되는 것이 가능할 수 있다. 또한 이러한 조건문은 "If IMCS ≤3," 등과 같이 MCS 인덱스 값을 비교하는 형태로 적용될 수 있을 것이다.
상기 pseudo-code들에서 L
TB,16과 L
TB,24는 서로 다른 값이 될 수 있다. 또한 상기에서는 C를 구할 때 A를 나누는 값에 적용되는 CRC 비트의 수와 최종적으로 TBS를 계산하는 과정에서 제외해주는 CRC 비트의 값이 각각 코드 레이트 R과 계산된 A의 크기에 따라 달라질 수 있다. 상기에서
는 제1 실시예에서 기술한 바와 같이,
또는 A+(8-mod(A,8)) 또는 A-mod(A,8) 또는
로 변형되어 적용되는 것이 가능할 수 있다. 또한 상기에서
는 A-(C×8 - mod(A+24,C×8)) 또는 A-mod(A+24,C×8) 로 변형되어 적용되는 것이 가능할 수 있다. 또한 TBS =
는 TBS =
와 같이 변형되어 적용될 수 있다. 이에 따라 상기 pseudo-code는 하기 [pseudo-code 9]와 같이 변형되어 적용되는 것이 가능할 수 있다. 또한 같은 결과를 초래하는 다른 방정식 등을 이용하여 적용하는 것이 가능할 수 있다.
[pseudo-code 9]
[시작]
If R ≤ 1/4,
TBS = A-(C×8 - mod(A+24,C×8)) 또는 A-mod(A+24,C×8)
Else
TBS = A+(C×8 - mod(A+24,C×8)) 또는 A-mod(A+24,C×8)
End if of R
[끝]
상기 단계 2-2는 상기 결정된 A를 이용하여 임시 코드 블록 수 (임시 CB 수) C를 결정하고, 이를 바탕으로 TBS + TB의 CRC의 길이가 8과 C의 배수가 되도록 하는 과정일 수 있다.
본 발명에서 mod(x,y)는 x를 y로 나눈 나머지이며,
로 변형되어 적용될 수 있다. 본 발명에서
는 x보다 큰 최소 정수를 의미하며, ceil(x)와 혼용될 수 있다.
는 x보다 작은 최대 정수를 의미하며, floor(x)와 혼용될 수 있다. Round(x)는 x에서 가장 가까운 정수를 의미하거나 반올림을 의미할 수 있다.
본 실시예에서 제공한 상기 수식에서는 8과 C의 곱의 배수로 하기 위해 C×8가 사용되었지만, 상기 수식들에서 C×8가 LCM(8,C)로 변형되어 적용되는 것도 가능하다.
도 6은 하향링크 또는 상향링크 데이터 스케줄링 및 전송시 기지국과 단말이 TBS를 계산하여 데이터를 송수신하는 단계를 도시한 순서도이다. 스케줄링 및 데이터 전송 과정이 시작되면, 기지국은 스케줄링 정보를 결정하고(602), 상기 스케줄링 정보를 DCI, 시스템 정보(system information), MAC CE, RRC 시그널링 중 하나 이상의 결합으로 단말에게 전달한다(604). 단말과 기지국은 상기 정해진 스케줄링 정보로부터 TBS를 계산한다(606). 상기 606 단계에서는 상기에서 기술된 단계2-1 및 단계2-2를 이용하여 TBS가 계산될 수 있다. 단계2-1와 단계2-2는 결합되어 동시에 수행될 수도 있고 또는 순서가 바뀌어 수행되는 것도 가능하다. 이후에 계산된 TBS를 이용하여, CB 분할 및 채널코딩, 디코딩, 재전송 동작 등이 수행되어(608), 데이터 스케줄링 및 전송이 완료된다.
상기 실시예에서 제공한 TBS 결정 방법은 기지국과 단말이 미리 약속한 MCS 인덱스 및 할당된 PRB수의 특정 조합이 적용되지 않는 경우에 한정하여 적용되는 것이 가능하다. 예를 들어, MCS 인덱스 6로 스케줄링이 결정되고, 이 때 PRB 수가 1이라면 TBS는 상기 방법이 아닌 328로 고정된 값으로 결정되어 데이터가 전송되는 것이 가능할 수 있다. 따라서 기지국과 단말은 {MCS 인덱스 또는 코드 레이트 인덱스 등과, PRB 수}의 조합에 따라 사용될 TBS의 값들을 미리 정해 알고 있을 수 있고, 상기 조합 이외의 경우에만 상기 실시예에서 제공한 방법으로 TBS가 결정될 수 있다.
본 실시예의 TBS 결정 방법은 초기전송의 경우에만 해당되며, 재전송인 경우에는 해당 재전송의 초기전송에서 결정된 TBS를 가정하여 송수신을 수행할 수 있다.
상기 단계 2-1 및 단계 2-2는 하기의 단계 2-A, 2-B, 2-C, 2-D로 생각할 수 있다.
* 단계 2-A: 데이터 자원을 레이트 매칭할 수 있는 자원 수 결정(Step 2-A. Count the number of available REs for rate matching of PDSCH/PUSCH (NRE))
* 단계 2-B: 상기 계산된 NRE에 코딩 레이트, 레이어수, 변조 차수를 곱하여 TB-CRC가 포함된 임시 TBS를 계산 (Step 2-B: Calculate TBS plus TB-CRC by multiplying coding rate, modulation order, and number of layers to NRE)
* 단계 2-C: 상기 계산한 TB-CRC가 포함된 임시 TBS를 8과 CB 수의 공배수 또는 8곱하기 CB 수의 배수로 만들기 (Step 2-C: Make TBS plus TB-CRC as a common multiple of 8 and the number of CBs)
* 단계 2-D: 특정 패킷 사이즈 또는 특정 서비스들을 고려하여 최종적인 TBS를 계산. 특정 패킷 사이즈 및 특정 서비스가 아니라면 단계2-C에서 구해진 값에 TB-CRC 길이를 제외하여 최종 TBS 계산 (Step 2-D: Determine the final TBS, considering specific packet size and services (if applied))
[제3실시예]
제3실시예는 CB-CRC 및 BG 선택에 따른 TBS 결정 방법을 제공한다. 본 실시예는 특정 경우에서 TBS가 클 때에는 BG#2를 적용하지 않는 경우에 적용될 수 있다. 즉 본 실시예는 코드 블록이 BG#2를 이용하는 LDPC 코드로 채널코딩이 되는 경우는 여러 코드 블록으로 TB가 분할되지 않는 경우만으로 제한되는 상황에서 적용될 수 있다. 본 실시예에서 R_1 및 R_2는 LDPC의 BG#1 또는 BG#2를 선택하는 기준이 되는 코드 레이트를 가리킬 수 있으며, 각각 R1과 R2와 혼용될 수 있다. 예컨대 R1=1/4 R2=2/3일 수 있지만, 본 발명에서 제공하는 방법은 이에 한정되지 않는다. 또한 본 발명에서 코드 레이트로 언급되는 R과 상기 R1과 R2은 분수 및 소수 등 다양한 방법으로 표현되어 정해질 수 있다. 데이터 전송시 BG#1과 BG#2 중에서 어떤 BG를 선택할 때에는 코드 레이트, 단말의 소프트 버퍼 등이 고려될 수 있다.
기지국은 단말에게 임의의 수의 PRB의 주파수 자원 및 임의 개수의 슬롯 또는 심볼의 시간 자원을 할당하여 데이터를 전송할 수 있으며, 상기와 관련된 스케줄링 정보는 하향링크 제어 정보(DCI) 또는 상위 시그널링에서 전송된 설정 또는 그 결합으로 단말에게 전달될 수 있다. 기지국과 단말이 스케줄링 정보가 주어져 있을 때, TBS는 하기의 순서로 결정될 수 있다.
- 단계 3-1: 임시 정보 비트 수(A) 결정
- 단계 3-2: 임시 CB 개수(C) 결정 및 바이트 정렬(8의 배수로 만드는 과정)과 임시 CB 개수의 배수(B)로 만드는 과정
- 단계 3-3: CRC 비트 수를 제외한 TBS 결정 과정
단계 3-1은 상기 제1실시예의 단계 1-1의 과정과 동일할 수 있다. 단계 3-1에서는 보내고자 하는 데이터가 매핑될 수 있는 자원 영역의 양을 고려하여 임시 TBS 값을 결정한다. 이는 코드 레이트(R), 변조 차수(Qm), 데이터가 레이트 매칭되어 매핑되는 RE 수(NRE), 할당된 PRB 또는 RB 수(#PRB), 할당된 OFDM 심볼 수, 할당된 슬롯 수, 한 PRB 내에서 매핑되는 RE 수의 기준값 중 하나 이상의 조합으로 임시 정보 비트 수를 결정할 수 있다.
예컨대 A는 상기 수학식 10인
에 의해 결정될 수 있다. 상기에서 변조 차수인 Q
m과 코드 레이트인 R은 DCI에서 포함되어 단말에게 전달될 수 있다. 전송될 때 사용되는 레이어 수 v는 DCI 또는 상위 시그널링 또는 둘의 조합으로 단말에게 전달될 수 있다. 상기에서 N
RE는 기지국이 데이터가 전송될 때 레이트 매칭을 이용해 데이터가 매핑되는 RE 수를 이용하여 결정될 수 있으며, 자원 할당 정보를 기지국과 단말이 서로 알고 있을 때 상기 N
RE는 기지국과 단말이 동일하게 이해할 수 있다. N
RE를 계산할 때, 레이트 매칭 방식으로 데이터가 매핑되기로 하였으나, CSI-RS 또는 URLLC 또는 UCI 전송 등 특별한 이유로 데이터가 펑처링되어 실제로는 매핑되지 않는 RE도 N
RE에 포함된다. 이는 기지국이 단말에게 알리지 않고 임의로 매핑하기로 했던 데이터의 일부를 펑처링 방식으로 전송하지 않았을 때에도 기지국과 단말이 TBS를 동일하게 이해할 수 있도록 하기 위함일 수 있다.
상기 표 8과 같은 MCS 표가 정의되고, 기지국은 단말에게 MCS 인덱스를 전달하여 Qm과 R에 대한 정보를 전달할 수 있다. 상기에서 변조 차수는 QPSK, 16QAM, 64QAM, 256QAM, 1024QAM 등의 정보를 의미한다. 상기 표 8에서는 5비트의 MCS 인덱스로 Qm과 R을 함께 전달되었으나, 이는 6비트 MCS 인덱스로 DCI에서 전달될 수 있거나, 또는 3비트의 Qm과 3비트의 R이 각각 비트 필드에서 전달되는 등 다양한 방법으로 단말에게 전달될 수 있다. 또는 A= (할당된 PRB 수) x (1 PRB당 기준 RE 수) x Qm x R x v 로 결정될 수 있다.
단계 3-2에서는 상기 결정된 A를 이용하여 임시 코드 블록 수 (임시 CB 수) C를 결정하고, 이를 바탕으로 A를 8의 배수와 동시에 임시 CB 수의 배수(B)로 만들어주는 단계이다. 이는 최종적으로 결정되는 TBS와 TB에 더해지는 CRC의 길이가 바이트 정렬되는 동시에 CB의 배수가 되도록 하기 위함이다.
먼저 임시 CB수는
로 정해질 수 있다. 상기에서 N
1,max는 8448일 수 있다. 상기에서 구해진 C는 임시 CB의 수일 수 다. 최종적으로 TB가 전송될 때에 CB 분할이 수행되며 임시 CB의 수는 이 때에 구해지는 실제 CB의 수와는 다를 수 있으나 실제 CB의 수가 임시 CB의 수와 같도록 정해질 수 있다.
이제 단계 3-1에서 정해진 A 값을 8과 C의 배수로 만들어 B를 생성하는 과정을 거치게 되며, 이는 모든 코드 블록에 불필요한 비트들 또는 불필요한 제로 패딩 비트가 포함되어 전송되지 않도록 하기 위함일 수 있다. 상기 수학식 11인
와 같이 B이 계산될 수 있다. 상기에서 수학식 11은
또는
또는
로 변형되어 적용되는 것이 가능하다. 본 발명에서 mod(x,y)는 x를 y로 나눈 나머지이며,
로 변형되어 적용될 수 있다. 본 발명에서
는 x보다 큰 최소 정수를 의미하며, ceil(x)와 혼용될 수 있다.
는 x보다 작은 최대 정수를 의미하며, floor(x)와 혼용될 수 있다.
상기 수학식 11은 또한
로 변형되어 적용될 수 있으며, 이는 A에서 가장 가까운 8C의 배수를 B로 함을 의미할 수 있다. Round(x)는 x에서 가장 가까운 정수를 의미하거나 반올림을 의미할 수 있다. 상기 수학식 11은 A를 8C의 배수로 만들기 위함이지만, 8과 C의 공배수 또는 최소공배수로 만드는 것으로 변형되어 적용될 수 있다. 따라서 상기 수학식 11은
또는
또는
으로 변형되어 적용되는 것이 가능할 수 있다. 상기에서 LCM(a,b)는 a와 b의 최소 공배수를 의미한다.
상기에서 단계 3-2까지는 할당된 자원에서 전송되는 정보 비트들을 구한 것이며, 최종 단계 3-3에서는 앞서 구한 전송될 정보 비트들에서 CRC를 위해 추가되었던 비트들의 수를 제외하는 과정을 수행한다. 이는 하기 pseudo-code 10 또는 pseudo-code 11에 의해 정해질 수 있다.
[pseudo-code 10]
[시작]
If B ≤ N2,max, then TBS = B - LTB,16
Else if B ≤ N1,max, then TBS = B - LTB,24
Else TBS = B - LTB,24 - C× LCB
End if of B
[끝]
[pseudo-code 11]
[시작]
If B ≤ 3840, then TBS = B - 16
Else if B ≤ 8448, then TBS = B - 24
Else TBS = B - 24×(C+1)
End if of B
[끝]
상기는 TBS의 크기에 따라 TB에 적용되는 CRC길이가 달라질 수 있기 때문에 LTB,16와 LTB,24가 고려되었으며, 코드 블록 수가 1개인 경우에는 CB에 더해지는 CRC가 생략될 수 있거나 CB에 더해지는 CRC 길이가 0이 되는 경우가 될 수 있음을 고려한 것이다.
다른 일례로 상기 단계3-3은 상기와 같은 [pseudo-code 5] 또는 [pseudo-code 6]로 변형되어 적용되는 것이 가능하다. 상기 [pseudo-code 5] 또는 [pseudo-code 6]에서는 최종 TBS를 계산함에 있어서 CB에 추가되는 CRC 길이를 제외해주지 않음을 특징으로 한다. 따라서 나중에 실제 데이터가 매핑되어 전송될 때, 상기 계산된 TBS에 CB의 CRC 길이가 추가될 수 있으므로 실제의 코드 레이트는 R보다 커질 수 있다.
도 6은 하향링크 또는 상향링크 데이터 스케줄링 및 전송시에 기지국과 단말이 TBS를 계산하여 데이터를 송수신하는 단계를 도시한 순서도이다. 스케줄링 및 데이터 전송 과정이 시작되면, 기지국은 스케줄링 정보를 결정하고(602), 상기 스케줄링 정보를 DCI, 시스템 정보, MAC CE, RRC 시그널링 중 하나 이상의 결합으로 단말에게 전달한다(604). 단말과 기지국은 상기 정해진 스케줄링 정보로부터 TBS를 계산한다(606). 상기 606 단계에서는 상기에서 기술된 단계3-1, 단계3-2, 및 단계3-3를 이용하여 TBS가 계산될 수 있다. 단계3-1, 단계3-2, 단계3-3는 결합되어 동시에 수행될 수도 있고 또는 순서가 바뀌어 수행되는 것도 가능하다. 이후에 계산된 TBS를 이용하여, CB 분할 및 채널코딩, 디코딩, 재전송 동작 등이 수행되어(608), 데이터 스케줄링 및 전송이 완료된다.
상기 실시예에서 제공한 TBS 결정 방법은 기지국과 단말이 미리 약속한 MCS 인덱스 및 할당된 PRB 수의 특정 조합이 적용되지 않는 경우에 한정하여 적용되는 것이 가능하다. 예를 들어, MCS 인덱스 6로 스케줄링이 결정되고, 이 때 PRB 수가 1이라면 TBS는 상기 방법이 아닌 328로 고정된 값으로 결정되어 데이터가 전송되는 것이 가능할 수 있다. 따라서 기지국과 단말은 {MCS 인덱스 또는 코드 레이트 인덱스 등과, PRB 수}의 조합에 따라 사용될 TBS의 값들을 미리 정해 알고 있을 수 있고, 상기 조합 이외의 경우에만 상기 실시예에서 제공한 방법으로 TBS가 결정될 수 있다.
본 실시예의 TBS 결정 방법은 초기전송의 경우에만 해당되며, 재전송인 경우에는 해당 재전송의 초기전송에서 결정된 TBS를 가정하여 송수신을 수행할 수 있다.
[제4실시예]
제4실시예는 CB-CRC 및 BG 선택에 따른 TBS 결정 방법을 제공한다. 본 실시예는 특정 경우에서 TBS가 클 때에는 BG#2를 적용하지 않는 경우에 적용될 수 있다. 즉, 본 실시예는 코드 블록이 BG#2를 이용하는 LDPC 코드로 채널코딩이 되는 경우는 여러 코드 블록으로 TB가 분할되지 않는 경우만으로 제한되는 상황에서 적용될 수 있다. 본 실시예에서 R_1 및 R_2는 LDPC의 BG#1 또는 BG#2를 선택하는 기준이 되는 코드 레이트를 가리킬 수 있으며, 각각 R1과 R2와 혼용될 수 있다. 예컨대 R1=1/4 R2=2/3일 수 있지만, 본 발명에서 제공하는 방법은 이에 한정되지 않는다. 또한 본 발명에서 코드 레이트로 언급되는 R과 상기 R1과 R2은 분수 및 소수 등 다양한 방법으로 표현되어 정해질 수 있다. 데이터 전송시 BG#1과 BG#2 중에서 어떤 BG를 선택할 때에는 코드 레이트, 단말의 소프트 버퍼 등이 고려될 수 있다. 본 실시예에서는 TBS를 8의 배수 또는 CB 수의 배수 또는 8과 CB수의 공배수 또는 최소공배수로 맞추기 위한 과정을 TBS 계산의 마지막에 수행함을 특징으로 할 수 있다.
기지국은 단말에게 임의의 수의 PRB의 주파수 자원 및 임의 개수의 슬롯 또는 심볼의 시간 자원을 할당하여 데이터를 전송할 수 있으며, 상기와 관련된 스케줄링 정보는 하향링크 제어 정보(DCI) 또는 상위 시그널링에서 전송된 설정 또는 그 결합으로 단말에게 전달될 수 있다. 기지국과 단말이 스케줄링 정보가 주어져 있을 때, TBS는 하기의 순서로 결정될 수 있다.
- 단계 4-1: 임시 정보 비트 수(A) 결정
- 단계 4-2: 임시 CB 개수 결정 및 TBS에 TB-CRC의 길이를 더한 값이 바이트 정렬 및 임시 CB 개수의 배수로 만드는 과정
단계 4-1은 상기 제2실시예의 단계 2-1의 과정과 동일할 수 있다. 단계 4-1에서는 보내고자 하는 데이터가 매핑될 수 있는 자원 영역의 양을 고려하여 임시 TBS 값을 결정한다. 이는 코드 레이트(R), 변조 차수(Qm), 데이터가 레이트 매칭되어 매핑되는 RE 수(NRE), 할당된 PRB 또는 RB 수(#PRB), 할당된 OFDM 심볼 수, 할당된 슬롯 수, 한 PRB 내에서 매핑되는 RE 수의 기준값 중 하나 이상의 조합으로 임시 정보 비트 수를 결정할 수 있다. 예컨대 A는 상기 수학식 10에 의해 결정될 수 있다. 상기에서 변조 차수인 Qm과 코드 레이트인 R은 DCI에서 포함되어 단말에게 전달될 수 있다. 전송될 때 사용되는 레이어 수 v는 DCI 또는 상위 시그널링 또는 둘의 조합으로 단말에게 전달될 수 있다. 상기에서 NRE는 기지국이 데이터가 전송될 때 레이트 매칭을 이용해 데이터가 매핑되는 RE 수를 이용하여 결정될 수 있으며, 자원 할당 정보를 기지국과 단말이 서로 알고 있을 때 상기 NRE는 기지국과 단말이 동일하게 이해할 수 있다. NRE를 계산할 때, 레이트 매칭 방식으로 데이터가 매핑되기로 하였으나, CSI-RS 또는 URLLC 또는 UCI 전송 등 특별한 이유로 데이터가 펑처링되어 실제로는 매핑되지 않는 RE도 NRE에 포함된다. 이는 기지국이 단말에게 알리지 않고 임의로 매핑하기로 했던 데이터의 일부를 펑처링 방식으로 전송하지 않았을 때에도 기지국과 단말이 TBS를 동일하게 이해할 수 있도록 하기 위함일 수 있다.
상기 표 8과 같은 MCS 표가 정의되고, 기지국은 단말에게 MCS 인덱스를 전달하여 Qm과 R에 대한 정보를 전달할 수 있다. 상기에서 변조 차수는 QPSK, 16QAM, 64QAM, 256QAM, 1024QAM 등의 정보를 의미한다. 상기 표 8에서는 5비트의 MCS 인덱스로 Qm과 R을 함께 전달하였지만, 이는 6비트 MCS 인덱스로 DCI에서 전달될 수 있거나, 또는 3비트의 Qm과 3비트의 R이 각각 비트 필드에서 전달되는 등 다양한 방법으로 단말에게 전달될 수 있다. 또는 A= (할당된 PRB 수) x (1 PRB당 기준 RE 수) x Qm x R x v 로 결정될 수 있다.
단계 4-2는 하기 [pseudo-code 12] 또는 [pseudo-code 13]과 같이 수행될 수 있다.
[pseudo-code 12]
[시작]
If A ≤ N1,max - LTB,24,
Else
End if of A
[끝]
상기에서 TBS =
는 TBS =
와 같이 변형되어 적용될 수 있다.
[pseudo-code 13]
[시작]
If A ≤ 8424,
Else
End if of A
[끝]
또는 상기 [pseudo-code 12]는 하기 [pseudo-code 14]와 같이 변형되어 적용되는 것이 가능하다.
[pseudo-code 14]
[시작]
[끝]
상기에서
는 제1 실시예에서 기술한 바와 같이,
또는 A+(8-mod(A,8)) 또는 A-mod(A,8) 또는
로 변형되어 적용되는 것이 가능할 수 있다. 또한 상기에서
는 A+(C×8 - mod(A+24,C×8)) 또는 A-mod(A+24,C×8) 로 변형되어 적용되는 것이 가능할 수 있다. 예컨대 하기 [pseudo-code 14]와 같이 변형되어 적용되는 것이 가능할 수 있다.
[pseudo-code 14]
[시작]
If A ≤ 8424,
Else
TBS = A+(C×8 - mod(A+24,C×8)) 또는 A-mod(A+24,C×8)
End if of A
[끝]
상기 단계 4-2는 상기 결정된 A를 이용하여 임시 코드 블록 수 (임시CB수) C를 결정하고, 이를 바탕으로 TBS + TB의 CRC의 길이가 8과 C의 배수가 되도록 하는 과정일 수 있다. 상기 수학식들에서 C×8가 사용됨은 A를 8C의 배수로 만들기 위함이지만, 8과 C의 공배수 또는 최소공배수로 만드는 것으로 변형되어 적용될 수 있다. 따라서 상기 수학식들에서 C×8는 LCM(8,C)로 변형되어 적용되는 것이 가능할 수 있다. 상기에서 LCM(a,b)는 a와 b의 최소 공배수를 의미한다.
본 발명에서 mod(x,y)는 x를 y로 나눈 나머지이며,
로 변형되어 적용될 수 있다. 본 발명에서
는 x보다 큰 최소 정수를 의미하며, ceil(x)와 혼용될 수 있다.
는 x보다 작은 최대 정수를 의미하며, floor(x)와 혼용될 수 있다. Round(x)는 x에서 가장 가까운 정수를 의미하거나 반올림을 의미할 수 있다.
도 6은 하향링크 또는 상향링크 데이터 스케줄링 및 전송시에 기지국과 단말이 TBS를 계산하여 데이터를 송수신하는 단계를 도시한 순서도이다. 스케줄링 및 데이터 전송 과정이 시작되면, 기지국은 스케줄링 정보를 결정하고(602), 상기 스케줄링 정보를 DCI, 시스템 정보, MAC CE, RRC 시그널링 중 하나 이상의 결합으로 단말에게 전달한다(604). 단말과 기지국은 상기 정해진 스케줄링 정보로부터 TBS를 계산한다(606). 상기 606 단계에서는 상기에서 기술된 단계4-1 및 단계4-2를 이용하여 TBS가 계산될 수 있다. 단계4-1와 단계4-2는 결합되어 동시에 수행될 수도 있고 또는 순서가 바뀌어 수행되는 것도 가능하다. 이후에 계산된 TBS를 이용하여, CB 분할 및 채널코딩, 디코딩, 재전송 동작 등이 수행되고(608), 데이터 스케줄링 및 전송이 완료된다.
상기 실시예에서 제공한 TBS 결정 방법은 기지국과 단말이 미리 약속한 MCS 인덱스 및 할당된 PRB수의 특정 조합이 적용되지 않는 경우에 한정하여 적용되는 것이 가능하다. 예를 들어, MCS 인덱스 6로 스케줄링이 결정되고, 이 때 PRB 수가 1이라면 TBS는 상기 방법이 아닌 328로 고정된 값으로 결정되어 전송되는 것이 가능할 수 있다. 따라서 기지국과 단말은 {MCS 인덱스 또는 코드 레이트 인덱스 등과, PRB 수}의 조합에 따라 사용될 TBS의 값들을 미리 정해 알고 있을 수 있고, 상기 조합 이외의 경우에만 상기 실시예에서 제공한 방법으로 TBS가 결정될 수 있다.
본 실시예의 TBS 결정 방법은 초기전송의 경우에만 해당되며, 재전송인 경우에는 해당 재전송의 초기전송에서 결정된 TBS를 가정하여 송수신을 수행할 수 있다.
상기 제1실시예 또는 제2실시예 또는 제3실시예 또는 제4실시예에서 코드 레이트 R을 특정 값과 비교하여 TBS를 결정하는 부분은 코드 레이트를 직접적으로 비교하는 대신 IMCS 등의 MCS 인덱스, 또는 MCS나 코드 레이트와 관련된 파라미터를 특정 기준값과 비교하는 방법으로 변형되어 적용될 수 있다.
또한 상기 제1실시예 또는 제2실시예 또는 제3실시예 또는 제4실시예에서 NRE를 계산할 때 레이트 매칭을 이용해 데이터가 매핑되는 경우를 기술하였으나, 다양한 방법으로 NRE가 계산되도록 적용될 수 있을 것이다. 예를 들어 할당된 총 심볼 수, 할당된 PRB 수, 동기 신호 블록 자원, 기준 신호 자원, 예약된(reserved) 자원, 부반송파 너비(subcarrier spacing), 할당된 슬롯 수, 코드 레이트, 변조 차수, 특정 자원 내에서 기준 RE 수(예컨대 한 슬롯 또는 한 심볼의 1 PRB내에서 가용한 RE 수) 등에서 하나 이상을 고려하여 정해지는 방법으로 NRE가 계산되어 적용될 수 있다.
[제5실시예]
제5실시예는 제1실시예 또는 제2실시예 또는 제3실시예 또는 제4실시예를 적용함에 있어서 특정 TBS계산되어 도출될 경우에 기지국과 단말이 계산된 TBS를 변형하여 최종 TBS를 적용하는 방법을 제공한다.
일례로 어느 특정 범위의 TBS는 전송되지 않는다고 기지국과 단말이 약속할 수 있으며, 특정 범위의 TBS가 계산되었을 때는 적용될 TBS가 미리 정해질 수 있다. 예를 들어 상기 과정에서 R<1/4이고 A=3872에 따라 임시 CB 수는 2로 계산되었고, B=3872가 되면, 최종 계산된 TBS는 3800이 된다. 최종적으로 계산된 TBS가 3800인 경우에는 단말은 TBS를 3840으로 적용하도록 할 수 있다.
또 다른 일례로 TBS의 최소값 또는 최대값을 기지국과 단말이 서로 알고 있을 수 있는 경우에 계산된 TBS를 상기 미리 약속되거나 상위 시그널링으로 알려진 최소값 또는 최대값과 비교하여 최종 TBS를 적용하는 방법이 사용될 수 있다. 상기 TBS의 최소값을 TBSmin이라고 하고 TBS의 최대값을 TBSmax라고 할 수 있다.
[제6실시예]
제6실시예는 단말이 수신한 데이터에 대한 정보를 소프트 버퍼에 저장하는 방법을 제공한다.
기지국은 하향링크 데이터 전송시에 단말이 수신한 데이터의 정보를 소프트 버퍼에 저장할 때 단말이 데이터를 얼만큼 저장하게 될지 미리 알 수 있을 수 있으며, 이에 따라 저장하는 정보의 시작점을 단말에게 알려줄 수 있다. 상기와 같이 저장하는 정보의 범위를 단말에게 알려줌으로써 재전송시 제일 성공 확률이 높은 패리티부분을 전송해줄 수 있다.
이는 기지국이 RRC 시그널링, MAC CE, DCI 또는 SIB 등과 같은 L1 시그널링 중 하나 이상의 방법으로 단말에게 지시해줄 수 있다.
[제7실시예]
제7실시예는 제1실시예 또는 제2실시예 또는 제3실시예 또는 제4실시예를 적용함에 있어서, 임시 TBS를 계산할 때에 고려하는 데이터가 매핑될 수 있는 자원 영역의 수인 NRE를 계산하는 방법을 제공한다.
하향링크 데이터는 하향링크 데이터 전송용 물리채널인 PDSCH를 이용하여 전송되며 이 때 하기의 파라미터 중 하나 이상을 고려하여 NRE를 계산할 수 있다.
- 데이터 전송을 위하여 할당된 PRB 수 및 전송될 심볼 수
- 상위 시그널링된 하향링크 제어채널이 전송 가능한 영역(control resource set, CORESET)
- 스케줄링된 DCI가 매핑된 영역
- 데이터 전송을 위해 사용되는 기준 신호(reference signal, RS)가 전송되는 자원 영역
- 예약된 자원(Reserved resource)에 해당하는 자원 영역
- 채널 측정용 RS가 전송되는 자원 영역
- 동기 신호(synchronization signals)를 포함하는 동기 신호 블록(SS block) 등이 전송되는 영역
- 스케줄링용 제어정보(DCI)가 전송된 시점 및 실제 PDSCH가 전송될 시점(timing)
- 상향링크 및 하향링크 데이터 송수신을 위한 최소 프로세싱 시간
상향링크 데이터는 상향링크 데이터 전송용 물리채널인 PUSCH를 이용해 전송되며, 이 때 하기의 파라미터 중 하나 이상을 고려하여 NRE이 계산될 수 있다.
- 데이터 전송을 위하여 할당된 PRB 수 및 전송될 심볼 수
- 상위 시그널링된 하향링크 상향링크 제어 채널이 전송 가능한 영역
- 데이터 전송을 위해 사용되는 기준 신호가 전송되는 자원 영역
- 예약된 자원에 해당하는 자원 영역
- 채널 측정용 RS(sounding reference signal, SRS)가 전송되는 자원 영역
- 동기 신호를 포함하는 동기 신호 블록 등이 전송되는 영역
- 스케줄링용 제어 정보(uplink grant DCI)가 전송된 시점 및 실제 PUSCH가 전송될 시점(timing)
- 다른 PDSCH의 HARQ-ACK 정보를 포함하고 전송하는지 여부 및 해당 PDSCH가 전송된 시점 및 전송해야 할 HARQ-ACK 정보의 양
- 채널 상태 정보(channel state information, CSI) 보고를 위한 측정 및 보고 시점과 CSI 정보양
- 상향링크 및 하향링크 데이터 송수신을 위한 최소 프로세싱 시간
일례로 PUSCH 전송을 위해 계산하는 NRE에는 해당 PUSCH를 스케줄링하는 상향링크 스케줄링을 위한 그랜트(uplink grant)를 포함하는 DCI가 전달되는 시점 이전에 수신된 PDSCH의 HARQ-ACK가 특정 비트 수 이상일 경우 해당 HARQ-ACK 정보를 전송하기 위해 필요한 자원 영역이 제외될 수 있다. 반면 상기 해당 PUSCH를 스케줄링하는 상향링크 그랜트를 포함하는 DCI가 전달되는 시점과 같은 시점 또는 이후의 시점에 수신된 PDSCH의 HARQ-ACK 정보 전송은 PUSCH의 TBS 계산을 위한 상기 NRE의 계산에 고려되지 않거나 포함되지 않는다. HARQ-ACK을 고려하는 PDSCH의 기준 시점은 상기에서는 상향링크 그랜트를 수신한 시점으로 기술하였지만 이에 한정되지는 않을 수 있으며, 예컨대 상향링크 데이터 전송 및 하향링크 데이터 수신 및 HARQ-ACK 전송을 위한 최소 프로세싱 시간에 따라 결정될 수 있다. 이는 PUSCH의 TBS를 프로세싱하기 위한 충분한 프로세싱 시간을 확보하기 위함일 수 있다.
본 발명의 상기 실시예들을 수행하기 위해 단말과 기지국의 송신부, 수신부, 처리부가 각각 도 7와 도 8에 도시되어 있다. 상기 제1 실시예부터 제7 실시예를 수행하기 위해 기지국과 단말의 송수신 방법이 나타나 있으며, 이를 수행하기 위해 기지국과 단말의 수신부, 처리부, 송신부가 각각 실시예에 따라 동작하여야 한다.
구체적으로 도 7은 본 발명의 실시예에 따른 단말의 내부 구조를 도시하는 블록도이다. 도 7에서 도시되는 바와 같이, 본 발명의 단말은 단말기 수신부(700), 단말기 송신부(704), 단말기 처리부(702)를 포함할 수 있다. 단말기 수신부(700)와 단말이 송신부(704)를 통칭하여 본 발명의 실시예에서는 송수신부라 칭할 수 있다. 송수신부는 기지국과 신호를 송수신할 수 있다. 상기 신호는 제어 정보와, 데이터를 포함할 수 있다. 이를 위해, 송수신부는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 또한, 송수신부는 무선 채널을 통해 신호를 수신하여 단말기 처리부(702)로 출력하고, 단말기 처리부(702)로부터 출력된 신호를 무선 채널을 통해 전송할 수 있다. 단말기 처리부(702)는 상술한 본 발명의 실시예에 따라 단말이 동작할 수 있도록 일련의 과정을 제어할 수 있다.
도 8은 본 발명의 실시예에 따른 기지국의 내부 구조를 도시하는 블록도이다. 도 8에서 도시되는 바와 같이, 본 발명의 기지국은 기지국 수신부(801), 기지국 송신부(805), 기지국 처리부(803)를 포함할 수 있다. 기지국 수신부(801)와 기지국 송신부(805)를 통칭하여 본 발명의 실시예에서는 송수신부라 칭할 수 있다. 송수신부는 단말과 신호를 송수신할 수 있다. 상기 신호는 제어 정보와, 데이터를 포함할 수 있다. 이를 위해, 송수신부는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 또한, 송수신부는 무선 채널을 통해 신호를 수신하여 기지국 처리부(803)로 출력하고, 단말기 처리부(803)로부터 출력된 신호를 무선 채널을 통해 전송할 수 있다. 기지국 처리부(803)는 상술한 본 발명의 실시예에 따라 기지국이 동작할 수 있도록 일련의 과정을 제어할 수 있다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 실시예의 일부분들이 필요에 따라 하나 이상이 서로 조합되어 운용할 수 있다. 예컨대, 본 발명의 제1실시예와 실시예 3이 서로 조합되어 기지국과 단말이 운용될 수 있다.