Sense Wide
article thumbnail

이번 포스팅에서는 downlink data의 동적 자원할당을 위해 설정되는 K0값과 K0값 확인을 위한 DCI, RRC 설정 확인등을 설명하도록 한다. 본 글은 Naveen Chelikani의 글[1]을 기반으로하여 한국어로 번역 후 부가적인 설명을 붙인 글이다. 원문을 확인하고 싶다면 링크에서 확인할 수 있다.

 


<5G 시간 축 자원할당 시리즈>
1. 시간 축 자원할당 개요
2. K0에 의한 PDSCH 자원 할당
3. K1에 의한 HARQ-ACK 자원 할당 (1) - HARQ-ACK timing
4. K1에 의한 HARQ-ACK 자원 할당 (2) - codebook


K0값과 PDSCH 할당

K0값은 뭔가 엄청난 자원할당의 비밀을 갖고있는 것처럼 표현되지만, 사실 그냥 '현재 수신 받은 DCI'에 해당하는 'PDSCH'가 지금으로 부터 몇 슬롯 떨어져 있는가를 의미한다. (실제로 K0 값은 대부분 0으로 할당된다. 즉, DCI와 같은 슬롯에서 PDSCH가 수신된다는 의미)

 

하지만, K0값 만으로는 실제 자원할당을 할 수 없다. 추가적인 중요한 정보가 빠졌기 때문이다. 그것은 1) 슬롯 내 어느 심볼부터 수신할 지, 2) 얼마나 긴 기간동안 수신할 지 이다. 이 각각은 Starting symbol (S), Allocation length (L)값이라고 부른다. 따라서 K0값과 SLIV (S and L Indicator Value) 값으로 PDSCH가 할당된다.

 

 

3GPP에서는 이 값을 완전히 flexible하게 설정하게 두지 않았다. 설정 가능한 값을 TS 38.214에 정의해두었고, 3가지 Value는 하나의 index를 구성해 총 16개의 설정값을 가질 수 있다. 따라서 이를 지정하기 위해서 PDCCH의 DCI는 Time domain resorce allocation (TDRA)는 4개의 비트가 할당되고, 16개의 숫자 중 하나를 지정한다. 다음챕터에서 테이블 예시를 살펴보자.

 

더보기

K0값은 PDCCH의 DCI에, 그리고 할당되는 채널은 PDSCH이므로 두 채널이 참조하는 Subcarrier spacing index가 다를 수 있다. 따라서, 이를 보정해줘야하는데 표준에서는 아래와 같은 수식으로 보정해주고 있다. 별다르게 어려운 수식은 아니고 slot index를 스캐일링 해주는 과정이다.

 

Slot index 스케일링 예제, K0=4일 때,

 

K0이 4라면, 슬롯 인덱스 기준으로 5가 아닌 10으로 PDSCH가 할당되어야 한다. 그림을 통해 확인할 수 있을 것이다.

 

 

Resource Allocation Table

본격적인 내용에 앞서 Time domain resource allocation 테이블을 훅 살펴보자면, 다음과 같다.

그림 1. TS 38.214 Table 5.1.2.1.1-2 TDRA default table A

앞에서 설명한 대로 1번을 보면, K0, S, L 값들이 정의되어 있는 것을 확인할 수있다. 2번을 보면, PDSCH 매핑타입은 Type A Type B가 있는데, Type A slot기반 전송, Type B non-slot 기반 전송 (mini-slot)을 의미한다. Release 15까지는 downlink mini-slot의 길이는 2, 4, 7로만 가능했기 때문에 L을 보면 세가지 길이로만 할당되는 것을 알 수 있다.

 

또한, 3번을 보면 인덱스들은 총 16개까지 있다는 것을 알 수 있다. DCI의 TDRA 필드가 4개의 비트로 16개 까지 설정할 수 있다는 것을 재확인 할 수 있다.

 

Resource allocation을 할 때 참고하는 테이블은 크게 두 종류가 있다. Default 테이블과 RRC 테이블 (RRC Allocation List)이다. 각 테이블은 쓰이는 상황이 따로 있다.

그림 2. TS 38.214 Table 5.1.2.1-1 Applicable TDRA table

어떤 테이블을 사용할 지는, 일반적으로 Common search space의 DL 할당인지와 User specific search space의 DL할당인지에 따라 달라진다. 즉 유저데이터인지 셀데이터인지에 따라 다르다는 말이다.

 

유저데이터라도 즉, pdsch-ConfigCommon list를 참고하는 경우라도 설정이 되어있지 않다면 Default 테이블을 참고할 수 있음을 알 수 있다.

 

구분

RNTI

Search space

참조 위치

Default table

(Default A,B,C)

SI-RNTI, RA-RNTI, P-RNTI

Common search space

표준에 정의

(TS 38.214)

RRC 테이블

(RRC Allocation List)

C-RNTI

User specific search space

pdsch-TimeDomainAllocationList

(pdsch-ConfigSetup of   RRC Reconfiguration (TS 38.331 참고))

 

PDSCH 할당 예제

 

이번에는 두 테이블을 사용하는 PDSCH 할당 예제를 각각 살펴볼 것이다. PDSCH 할당에 대한 정보는 DCI에 있으므로, DCI 예제를 가지고 알아본다. 이 예제에 사용되는 DCI는 originiator의 글 [1]에서 가져왔음을 미리 밝힌다.

 

1. Default 테이블을 참조하는 PDSCH 자원할당

 

RA-RNTI를 쓰는 PDSCH 할당 예제

 

1) ⑤에서 DCI에서 RNTI 타입 확인: RA-RNTI

2) 적용가능한 PDSCH 테이블 (그림 2) 확인: RA-RNTI Default A를 참조함

3) 다시 DCI ⑥에서 TDRA index 확인: 1

4) Default A 테이블 (그림 1)에서 K0 SLIV 참조: K0=0, S=2, L=12

5) 할당 slot 계산: K0=0이므로, 같은 슬롯에 할당 (Slot # 62)

6) 할당된 슬롯 및 symbol 확인

3번째부터 13번째까지 PDSCH 할당

S = 2, L = 2므로, 원래 2번부터 14번까지 할당이 맞으나, 2번에 DMRS 심볼이 들어있는 관계로 PDSCH는 3벌째부터 할당된다.

 

2. RRC 테이블을 참조하는 PDSCH 자원할당

 

RRC 설정을 이용하는 PDSCH 자원 할당

 

1) DCI ①에서 RNTI 타입 확인: C-RNTI

2) 적용가능한 PDSCH테이블 확인: pdsch-AllocationList in RRC 설정

3) DCI ③에서 TDRA index 확인: 각각 5/0/5/7/5/0/5

4) UE가 갖고있는 RRC 테이블의 index 확인: SLIV로 주어짐

5) 할당 슬롯 계산: SLIV만 주어진 경우 K0=0으로 간주 (TS 38.214, 5.1.2.1)

6) 할당된 슬롯 및 symbol 확인: SLIV 계산식으로 부터 계산

 


<5G 시간 축 자원할당 시리즈>
1. 시간 축 자원할당 개요
2. K0에 의한 PDSCH 자원 할당
3. K1에 의한 HARQ-ACK 자원 할당 (1) - HARQ-ACK timing
4. K1에 의한 HARQ-ACK 자원 할당 (2) - codebook


 

포스팅이 유용하셨다면
아래 하트를 눌러주세요
로그인이 필요하지 않습니다.

공감은 포스팅에 큰 힘이 됩니다.

profile

Sense Wide

@June_Kim

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!