dh_0e

[NR] DL/UL Scheduling & Link Adaptation (MCS/DCI/HARQ ..) 본문

5G 통신

[NR] DL/UL Scheduling & Link Adaptation (MCS/DCI/HARQ ..)

dh_0e 2026. 7. 12. 22:21

5G NR Scheduling & Link Adaption Process

 

1. 무선 신호 품질 지표 (RSRP, RSSI, SINR)

  • 기지국과 단말의 통신 품질을 나타내는 대표적인 지표
  • RSRP (Reference Signal Received Power): 단말과 연결된 기지국의 순수 신호 세기만 측정 (수신 파워)
  • RSSI (Received Signal Strength Indicator): 기지국 신호뿐만 아니라 주변 노이즈, 다른 셀의 간섭까지 모두 합친 전체 수신 전력량
  • SINR (Signal-to-Interference-plus-Noise Ratio): 노이즈와 간섭 대비 내가 원하는 '유효 신호'의 비율
    • 통신 품질(속도)을 결정하는 가장 핵심적인 지표
    • SINR이 높아야 고차 변조(256QAM 등)를 사용 가능

  • Interference, Noise를 계산할 때 CSI-IM을 사용함
    • 기지국이 주파수 대역 중 일부를 텅 비워서 단말에게 보냄 (이 빈 자원 공간을 CSI-IM이라 함)
    • CSI-IM 부분에 파워가 잡히면 이를 통해 간섭(I), 노이즈(N)를 계산

 

2. CSI(Channel State Information) 및 피드백

  • 단말은 DL 채널 상태를 측정하여 기지국에 보고해야 함
  • 기준이 되는 신호
    • CSI-RS(CSI Reference Signal): 단말이 채널 상태를 측정하기 위해 기지국이 쏘아주는 기준 신호
    • CSI-IM(CSI Interference Measurement): 신호 품질(SINR)을 정확히 계산하기 위해, 현재 주변으로부터 간섭이 얼마나 들어오는지 측정하는 자원
    • A-CSI(Aperiodic CSI): 기지국이 DCI를 통해 지금 즉시 채널 상태를 보고하게끔 하는 비주기적 트리거링(요청) 방식
  • 주요 보고 지표
    • CQI(Channel Quality Indicator): 현재 채널 상태에서 에러율 10% 미만을 유지할 수 있는 가장 높은 MCS Index를 추천하는 값
    • RI(Rank Indicator): 안테나 경로의 독립성. 즉, 겹치지 않고 보낼 수 있는 공간 레이어(Spatial Layer)의 수

 

3. MCS(Modulation and Coding Scheme): 변조 및 코딩 기법

  • 기지국과 단말은 무선 채널의 상태(Quality)에 따라 데이터를 변환하는 방식을 동적으로 바꾸며 이를 적응형 변조 및 코딩(AMC)이라 함
 

5G | ShareTechnote

MCS / TBS / Code Rate  in a Nutshell MCS ranges from 0 through 28 Qm can be 2, 4, 6 (64QAM) and 8 (256QAM) Three different tables are defined in 3GPP. Table 1 for 64QAM max, Table 2 for 256QAM max, Table 3 for Low Data Rate TBS calculation is not as simpl

www.sharetechnote.com

< MCS Table >

  • Modulation Order(변조 차수): 한 번의 신호(Symbol)에 몇 bit를 담을 것인가를 결정
    • QPSK: 2bit/symbol
    • 16QAM: 4bit/symbol
    • 64QAM: 6bit/symbol
    • 256QAM: 8bit/symbo
    • 채널 상태가 좋을수록 고차 변조(64QAM, 256QAM)를 사용하여 전송 속도를 높임
  • Target Code Rate x(목표 부호화율): 전체 전송되는 데이터 중 실제 유효 데이터의 비율 (정보 bit / 전체 bit 비율)
    • 통신에서는 오류 복구를 위해 원본 데이터에 중복(Redundancy) 비트를 붙여 전송
    • Code Rate가 낮으면 중복 비트가 많아 오류 복구 능력(안정성)이 올라가지만 속도가 떨어짐
      • x가 낮음 = 복구력↑ 효율↓
      • x가 높음 = 복구력↓ 효율↑

단말의 256QAM 활성화 절차

  1. 초기 상태: 기지국은 단말의 최대 능력을 모르므로 안전하게 64QAM까지만 사용
  2. Capa (Capability) 보고: 통신이 연결된 후(RACH 절차 및 보안 설정 이후), 단말이 기지국에 자신의 최고 하드웨어 스펙(256QAM 지원 여부 등)을 보고함
  3. RRC Reconfiguration: 기지국이 단말의 능력을 확인한 후, 256QAM 전용 MCS 테이블 등을 사용하도록 설정을 재구성(Reconf)하는 명령을 내림
  4. 고속 통신 시작: 설정이 완료된 이후부터, 채널 상태가 좋을 때 256QAM을 본격적으로 사용하여 전송 속도를 극대화함

 

4. TDD 슬롯 포맷 및 타이밍 (K0, K1, K2)

  • TDD 방식에서는 동일한 주파수 대역을 시간 단위로 나누어 DL, UL을 수행함
  • 슬롯 포맷(ex: DDDD U DDDD U)
    • D(Downlink), U(Uplink)
  • 완충 지대: DL에서 UL로 방향을 바꿀 때 반드시 필요한 구간
    • F(Flexible): 5G NR에서 유연하게 쓸 수 있는 구간
    • S(Special): LTE 시절에 부르던 명칭
  • 타이밍 변수(K 파라미터): 스케줄링부터 실제 동작까지의 시간차 (슬롯 단위)
    • K0: DCI 수신(PDCCH) ~ DL 데이터 수신(PDSCH) 간격
      • 5G에서는 Latency 최소화를 위해 "K0 = 0"을 기본으로 사용하는 경우가 많음
      • 하나의 슬롯 안에서 앞부분(1~3)에 DCI(PDCCH)가 들어오고, 그 직후 같은 슬롯의 나머지 공간에 실제 데이터(PDSCH)가 밀려 들어옴
    • K1: DL 데이터 수신(PDSCH) ~ 이에 대한 ACK/NACK 응답(PUCCH) 간격
      • TDD 환경에선 데이터를 수신했다고 해서, 아무 때나 UL을 쏠 수 없음
      • 기지국은 단말이 만나는 가장 가까운 U 슬롯의 위치를 계산하여 DCI에 K1 값을 담아 알려줌
    • K2: DCI 수신(PDCCH) ~ UL 데이터 전송(PUSCH) 간격
      • 기지국이 단말에게 UL 데이터를 쏴도 좋다고 허가증(UL Grant)을 내린 시점부터, 단말이 실제로 데이터(PUSCH)를 쏘아 올리기까지의 간격
      • 단말 입장에서는 보낼 데이터를 준비하고 신호로 변환(인코딩)할 준비 시간이 필요
        • 이 준비 시간과 TDD의 U 슬롯 타이밍을 고려하여 기지국이 K2 값을 지정해줌
    • 결국 K0, k1은 하향링크(DL) 데이터 처리를 위한 세트이고, K2는 상향링크(UL) 데이터 전송을 위한 변수임
      • [하향링크(DL) 데이터 흐름]
        기지국 명령(DCI) ➡️ (K0 간격) ➡️ 단말 데이터 수신(PDSCH) ➡️ (K1 간격) ➡️ 단말 피드백 전송(ACK/NACK) 
      • [상향링크(UL) 데이터 흐름]
        기지국 허가(DCI) ➡️ (K2 간격) ➡️ 단말 데이터 송신(PUSCH)

DL vs UL 전파 구조

하향링크(DL) 전파 구조
[주파수 축: RB]
 ^
 | +-----------+-------------------------------------------+
 | |           |                                           |
 | |   PDCCH   |       PDSCH (실제 하향링크 데이터)        |
 | | (DCI 포함)|                                           |
 | |           |                                           |
 | +-----------+-------------------------------------------+
 | | PDCCH     | PDSCH                                     |
 | +-----------+-------------------------------------------+
 +----------------------------------------------------------> [시간 축: Symbol]
   <-- 1~3 --> <------------- 나머지 기호 ----------------->
상향링크(UL) 전파 구조
[주파수 축: RB]
 ^
 | +--------+-------------------------------------+--------+
 | | PRACH  |                                     | PUCCH  |
 | |(예약석)|       PUSCH (실제 상향링크 데이터)  | (피드백)|
 | +--------+                                     +--------+
 | |        |                                     |        |
 | | PUSCH  |       PUSCH                         | PUCCH  |
 | +--------+-------------------------------------+--------+
 +----------------------------------------------------------> [시간 축: Symbol]
            <--------- 기지국이 할당한 공간 --------> <-끝부분->

 

5. CORESET 할당 원리

  • CORESET과 CCE의 관계
    • PDCCH(물리 DL 제어 체널): DCI가 전송되는 실제 물리적인 길
    • CORESET: DCI를 찾기 위해 뒤져야 하는 주파수 영역
    • CCE(Control Chanel Element): PDCCH를 구성하는 기본 블록 단위
      • 표준에 따라 1 CCE = 6 RB로 구성됨
  • 비트맵 할당 방식
    • 기지국은 CORESET의 주파수 크기를 단말에게 알려줄 때, 주파수 자원 낭비를 막기 위해 주파수 대역을 6RB 단위로 쪼개어 비트맵 방식으로 알려줌
    • RRC 설정 메시지에 frequencyDomainResources라는 45자리 비트맵의 1자리(1bit)가 6RB를 의미
      • ex) 11111111000000... 이면 앞에서부터 8개의 비트가 켜져있으므로 6RB x 8 = 48RB의 대역폭을 가진다는 의미 

 

6. DCI(Downlink Control Information): DL 제어 정보

  • 기지국이 단말에게 "너에게 자원을 언제/어디에/어떻게 할당해 주겠다"고 알려주는 스케줄링 메시지
  • DCI Format 종류 (x_y)
    • Format 0_x(상향링크 스케줄링): 단말이 기지국으로 보낼 데이터(PUSCH)의 자원 할당 정보
      • 목적: 기지국이 단말에게 "상향링크 데이터(PUSCH) 전송을 허가함" 
      • 단말은 기지국의 허락(스케줄링) 없이는 단 1bit의 UL 데이터도 마음대로 쏠 수 없음
        • 단말이 함부로 전파를 쏘면 다른 단말의 통신을 방해하는 심각한 간섭(Coollision)이 발생하기 때문
    • Format 1_x(하향링크 스케줄링): 기지국이 단말에게 보낼 데이터(PDSCH)의 자원 할당 정보
      • 목적: 기지국이 단말에게 "하향링크 데이터(PDSCH)를 보낼테니 받을 준비하라"

    • _0(Fallback) vs _1(Non-fallback)
      • Fallback 포맷(0_0, 1_0): 가장 필수적인 정보만 담은 가벼운(생존용) 포맷
        • 통신 환경이 갑자기 너무 안 좋아졌을 때, 기지국과 단말 사이에 설정을 변경하고 있어서 서로 상태가 약간 어긋날 위험이 있을 때(핸드오버 중) 같이 작고 가벼워서 웬만한 악조건에서도 단말이 안정적으로 수신하고 디코딩할 수 있어야 하는 상황에서 사용
        • ex) DCI 0_0(기지국→단말): "지금 상태 안 좋으니까, 다 빼고 그냥 이 주파수로 UL 데이터 쏴!"
      • Non-fallback 포맷(0_1, 1_1): 안테나 설정, 전력 제어 옵션 등 상세한 제어가 들어간 무거운 포맷
        • 기지국과 단말의 연결이 안정적이고 채널 상태가 좋을 때, 기지국이 단말을 아주 세밀하게 컨트롤하여 전송 속도를 한계치까지 끌어올리기 위해 사용
        • ex) DCI 0_1(단말→기지국): "상태 좋으니 1번 안테나 켜고, 파워는 이만큼 올리고, MCS는 이거 써서 UL 데이터 쏴!"

 

7. UL 자원 요청 (SR vs PRACH)

  • 단말이 기지국으로 보낼 데이터가 생겼을 때 자원을 요청하는 방식
    • PRACH(Random Access Preamble): 단말이 PUCCH 자원조차 없거나, 기지국과 동기가 맞지 않을 때(초기 접속) 사용하는 방식
      • 초기 접속을 마치면, 기지국과 단말 간에 동기화(Sync)가 맞춰지고 단말 전용의 제어 채널(PUCCH)이 할당 됨
    • SR(Scheduling Request): 단말이 제어 채널(PUCCH)을 사용할 수 있는 상태일 때, "보낼 데이터가 있으니 PUSCH 자원을 할당해달라"고 1bit 플래그를 올리는 과정
      1. SR을 받은 기지국은 "조금만 줄 테니까 얼마나 보낼지 말해봐"라며 작은 크기의 UL 링크 자원(PUSCH)을 할당해 줌
      2. 단말은 이 자원을 이용해 BSR(Buffer Status Report)이라는 제어 메시지를 보냄 (구체적인 송신 양 보고)
      3. BSR을 확인한 기지국은 남는 자원(RB)을 계산한 뒤, DCI Format 0_x(상향링크 스케줄링)를 단말에게 내려보냄
        • 이 DCI 안에 어떤 주파수(RB)를 써서, 어떤 변조 방식(MCS)으로, 지금부터 K2 슬롯 뒤에 있는 U 슬롯에 데이터를 쏘라는 상세한 명령이 들어있음
      4. 단말은 DCI를 참고하여 지정된 U 슬롯에 지정된 방식, 주파수로 자신의 데이터(PUSCH)를 쏘아 올림

 

8. 자원 할당 알고리즘 (Resource Allocation)

  • 주파수 축(RB)을 단말에게 어떻게 나누어 줄 것인지에 대한 방식
할당 방식 특징 설명
Type 0 (RBG 방식) 불연속 할당 가능 여러 개의 RB를 묶은 RBG(RB Group) 단위로 비트맵(Bitmap)을 이용해 징검다리처럼 듬성듬성 할당
Type 1 (RIV 방식) 연속 할당만 가능 시작 RB 위치와 길이를 RIV(Resource Indicator Value)라는 하나의 수식 값으로 압축하여 연속된 구간만 할당
[ 기지국의 할당 신호 Type 0 (비트맵): 1 0 1 1 0 ]

주파수 대역 ------------------------------------------------------>
|  RBG #0  |  RBG #1  |  RBG #2  |  RBG #3  |  RBG #4  | (RBG = 4개의 RB 묶음)
|----------|----------|----------|----------|----------|
|  [할당]  |  [비어  |  [할당]  |  [할당]  |  [비어  |
|          |   있음]  |          |          |   있음]  |
------------------------------------------------------------------
  (사용O)     (사용X)    (사용O)    (사용O)    (사용X)

💡 특징: 중간에 간섭이 심한 구역(RBG #1, #4)을 피해서 유연하게 할당할 수 있음.
[ 기지국의 할당 신호 Type 1: RIV (시작점 = RB 5, 길이 = 8개) ]

주파수 대역 (RB 단위) ------------------------------------------------>
|0|1|2|3|4| 5| 6| 7| 8| 9|10|11|12 |13|14|15|16|
| | | | | |[             할당 구간             ]|  |  |  |  |
| | | | | |<---------- 총 8개의 RB ---------->|  |  |  |  |
------------------------------------------------------------------
 (사용 안 함)            (연속해서 사용)             (사용 안 함)

💡 특징: 중간에 끊어질 수 없지만, 신호(DCI)의 크기를 아주 작게 압축(RIV)해서 보낼 수 있음.

 

9. DMRS와 전력 제어 (Power Boosting)

  • DMRS (DeModulation Reference Signal): 수신기가 채널을 추정ㅇ하기 위해 사용하는 기준 신호
    • DMRS 포트(Port): DMRS가 어느 Layer에 해당하는지를 구분하는 번호
      • 에 따라 공간적 레이어(Layer)를 분리할 수 있어 다중 안테나(MIMO) 전송이 가능해짐
      • DMRS 포트를 파악하여 Layer 정보를 알 수 있음
    • + DMRS가 배치된 RE의 위치를 통해 Frequency(어느 서브캐리어에 있는지)와 Time(몇 번째 OFDM Symbol 인지)정보도 함께 알 수 있음
  • 전력 제어 (Power Boosting)
    • 기지국이나 단말이 낼 수 있는 최대 출력 파워(Total Power)는 제한되어 있음
    • 만약 주파수 대역(RB)을 100개 다 쓰지 않고 절반(50개)만 할당한다면, 남는 잉여 파워를 사용 중인 RB에 집중(Power Spectral Density 증가)시킬 수 있음
      • 이를 통해 신호가 약한 셀 가장자리 단말의 수신 품질을 끌어올릴 수 있음

 

10. HARQ 피드백 (ACK / NACK / DTX)

  • HARQ(Hybrid Automatic Repeat reQuest, 혼합 자동 재전송 요청)
    • 기존 통신에서 쓰던 두 가지 에러 복구 기술(FEC, ARQ)의 장점을 섞은 기술
      • FEC(Forward Error Correction, 전진 에러 수정)
        • 기지국이 데이터를 보낼 때, 데이터가 깨질 것을 대비해 미리 복구용 힌트(잉여 bit)를 잔뜩 붙여서 보내는 기술
        • 수신 측은 에러가 나도 이 힌트를 보고 스스로 데이터를 수정함
        • 재전송을 요청할 필요가 없어 빠르지만, 데이터 크기가 무거워짐
      • ARQ(Automatic Repeat reQuest, 자동 재전송 요청)
        • 데이터를 받아보고 깨져있으면, NACK을 보내 데이터 재전송을 요청하는 기술
        • 데이터는 가볍게 보낼 수 있지만, 통신 지연이 심해질 수 있음
    • 평소에는 적당한 힌트(FEC)만 붙여서 보내다가, 도저히 복구가 안 될 정도로 깨지면 재전송(ARQ)을 요청하는 메커니즘
      • 이때, 기지국이 보낸 데이터가 파손되어 있어도 버리지 않고 버퍼에 보관한 뒤,
        재전송한 데이터 조각이 도착하면 새로 받은 데이터와 퍼즐 맞추듯 결합하여 원본 데이터 복구
  • 단말은 데이터 수신 성공 여부에 따라 다음 3가지 상태를 가지고 기지국에 신호를 보냄
상태 설명 원인
DTX 피드백 없음 (무응답) 제어 신호(PDCCH) 자체를 수신하지 못해 자신에게 데이터가 오는 줄도 모름
NACK 수신 실패 제어 신호는 받았으나, 실제 데이터(PDSCH) 복조 과정에서 오류 발생
ACK 수신 성공 제어 신호와 데이터 모두 성공적으로 수신 및 복조 완료