780 likes | 850 Views
LTE RRM introduction & ITRI uD -Cell demo. 顏鴻傑 資通所 2017/01/15. Outline. RRM concept and key functions Sample code for RRM development. RRM concept and key functions. What’s RRM. Definition:
E N D
LTE RRM introduction & ITRI uD-Cell demo 顏鴻傑 資通所 2017/01/15
Outline • RRM concept and key functions • Sample code for RRM development
What’s RRM • Definition: • to allocate and manage the limited radio resource to maximize the system performance and capacity. • Goal: • ensure planned QoS of traffic • ensure cell coverage • ensure spectrum utilization
LTE features (1/6) • RAN structure • Most of RRM functions are located in eNB due to lack of the RRM server (a node to do multi-cell RRM) in E-UTRAN.
LTE features (2/6) • System bandwidth allocation • E-UTRAN supports 1.4/3/5/10/20 MHz bandwidths, while UTRAN FDD supports only 5MHz bandwidth. • RRM is concerned that different bandwidths lead to different available resources and performance in frequency-selective scheduling.
LTE features (3/6) • Multiple access techniques • CDMA in UTRAN: both intra-cell and inter-cell UEs may generate interference. • OFDMA/SC-FDMA in downlink/uplink in E-UTRAN: only inter-cell interference.
LTE features (4/6) • Multiple antenna techniques • LTE supports many MIMO modes and can dynamical switching among them. • Physical resources in space dimension are different in the MIMO modes.
LTE features (5/6) • Optimization of PS domain • No CS domain in LTE. All traffic in PS domain are packets (i.e., variable length, bursty) and are defined by different parameters compared to CS domain. The parameters of each traffic are determined by many RRM processes.
LTE features (6/6) • Share channel • No dedicated channel in LTE. All traffic share the physical resources which are allocated by packet scheduler. • Specifically, eNB tells the UE the transmission resources (via control signaling) and takes back them when transmission completed. • Packet scheduler in UMTS is constrained by the dedicated channel design.
RRM key functions (Source: 3GPP TS 36.300)
Radio Admission Control • RAC purpose: to admit or reject establishment requests for new radio bearers. • RAC goal: to ensure high radio resource utilization by accepting radio bearer requests if radio resources are available. This simultaneously ensures proper QoS for in-progress sessions by rejecting radio bearer requests when they cannot be accommodated.
RAC process • RAC is triggered when • UE requests serving eNB to do RRC Connectionestablishment (i.e. add SRB configuration) • MME requests serving eNB to do ERAB setup/modification (i.e. add/change DRB configuration such as QoS info) • Source eNB requests target eNB to do handover preparation (i.e. add SRB and DRB configuration)
RAC process • Example: bearer setup (Source: LONG TERM EVOLUTION: 3GPP LTE Radio and Cellular Technology, Auerbach Publications, 2009)
RAC process (Source: LONG TERM EVOLUTION: 3GPP LTE Radio and Cellular Technology, Auerbach Publications, 2009)
Radio Bearer Control • RBC involves the establishment, maintenance and release of radio bearers. • RBC is also concerned with the maintenance of radio bearers of in-progress sessions at the change of the radio resource situation due to mobility and so on. • RBC is involved in the release of radio resources associated with radio bearers including at-session termination and handover.
RBC process • When?
Connection Mobility Control • CMC oversees the management of radio resources related to idle or connected mode mobility. • In connected mode, handover decisions may be based on UE/eNB measurements, neighbor cell load, traffic distribution, transport, hardware resources, and operator defined policies.
Cell Selection (1/2) • Initial Cell Selection • Scan all RF channels in the E-UTRA bands • Only search for the strongest cell on each carrier frequency • Once a suitable cell is found this cell shall be selected • Stored Information Cell Selection • Stored information of carrier frequencies & optionally also information on cell parameters • Cell Selection when leaving RRC_CONNECTED state • According to redirectedCarrierInfo in RRCConnectionRelease if present (left to Redirect topic discusses)
Cell Selection (2/2) TS 36.304 max((p-MAX – 23), 0) q-RxLevMinOffset receive level q-RxLevMin [dB] [dB] quality q-QaulMin-r9 q-QaulMinOffset-r9 From PHY after Layer 1 Filtering, -140 ~ -44 [dBm] From PHY after Layer 1 Filtering, -19.5 ~ -3 [dB] q-RxLevMin in cellSelectionInfo IE in RRC SIB1, -70 ~ -22 [dBM] q-QualMin-r9 in CellSelectionInfo-v920 IE in RRC SIB1, -34 ~ -3 [dB] Avoid “ping-pong” between different PLMNs q-RxLevMinOffset n cellSelectionInfo IE in RRC SIB1, 1 ~ 8 [dB] Avoid “ping-pong” between different PLMNs q-QualMinOffset-r9 in CellSelectionInfo-v920 IE in RRC SIB1, 1 ~ 8 [dB] p-MAX in RRC SIB1, -30 ~ 33 [dBm] Until now, only 1 UE power class defined, it specifies +23 dBm
Cell Re-selection Procedure TS 36.304
L3 Measurement • Measurements configuration • In RRC connection reconfiguration • Each UE may have different config
L3 Measurement • Trigger Type • Event • Event A1 • Event A2 • Event A3 • Event A4 • Event A5 • Event B1 (Inter RAT) • Event B2 (Inter RAT) • Periodical • ReportStrongestCells • ReportCGI Event Measurement Report #1 Measurement Report #2 Measurement Report #1 Measurement Report #2 Event condition matched Event condition matched reportInterval reportInterval timeToTrigger timeToTrigger reportAmount: r2 reportAmount: r2 Start point of measurement ReportStrongdestCells Measurement Report #1 Measurement Report #2 Measurement Report #3 Measurement Report #4 reportInterval reportInterval reportInterval reportInterval reportAmount: r4 Start point of measurement ReportCGI Measurement Report reportAmount: r1 (always set to r1) Start point of measurement
Dynamic Resource Allocation • DRA (or Packet Scheduling, PS) allocates and de-allocates resources including buffering and processing resources and resource blocks to user and control plane packets.
DRA jobs NRT: non real-time (a.k.a. non-GBR in LTE) • To determine the available radio resources for NRT bearers. • To share the available radio resources between NRT bearers. • To monitor the allocations for NRT bearers. • To monitor the system loading. • To perform load control actions for NRT bearers (optional).
Basic scheduling policy • Round Robin (RR): • Channel condition is not taken into account. • Max Carrier-to-Interference (C/I) • User with the best channel quality is scheduled. • Proportional Fair (PF) • Short-term channel variations are exploited while maintaining long-term average user data rate.
L2 Scheduler framework (per UE/bearer) • Protocolstack (DL process) (per TTI, per UE) (scrambled by RNTI) (per PRB, per TTI) Upper scheduler (UL process) (per TTI, per UE) Lower scheduler (scrambled by RNTI) (per PRB, per TTI) (MAC signaling) (Source: LONG TERM EVOLUTION: 3GPP LTE Radio and Cellular Technology, Auerbach Publications, 2009)
Load balancing • Task: to balance traffic load over multiple inter-frequency and inter-RAT cells. • Vertical v.s. horizontal LB: LB among (geographically) overlapped cells LB among neighborcells
Load balancing • 處理 eNBs 常規性的負載 • 保持無線資源的高度利用 • 保證已存在的連線的QoS • 維持較低的通話遺失率 RAC Overload indication CMC 調整 Handover ( Handover ) threshold LB 調整 Cell re - CMC 參數 selection ( Cell re - LB 的主要目的 selection ) 與其他 模組的關係 LB RRM
Load balancing • Intra-LTE considerations: resource utilization, hardware load, transport layer load. • Inter-RATconsiderations: available resource, maximum throughput, maximum UE number • otherconsiderations: UE capability, current traffic status, subscriber’s priority,…
Inter-Cell Interference Coordination • ICIC manages radio resource blocks to keep inter-cell interference under control, based on the feedback from multiple cells. • Multi-cell RRM approach: to takes into account resources and loads situation in multiple cells
ENBD module decomposition Config. & CLI RRM X2AP handler User data forwarding RRC handler S1AP handler Gateway/NAT (raw socket) MME Serving eNB (PDCP) Neighbor eNB Serving eNB (RRC) Control-plane data User-plane data
Software component (1/5) • RRM • Core RRM function development. • Source files: • enbd\src\rrm\ • RRC handler • Handle interaction of RRM with RRC about cell and UE control procedure. • Source files: • enbd\src\rrc\ • RRC interface files: • enbd\src\rrc\interface\
Software component (2/5) • S1AP handler • Handle interaction of RRM with S1AP about cell and UE control procedure. • Source files: • enbd\src\s1ap\ • X2AP handler • Handle interaction of RRM with X2AP about cell and UE control procedure. • Source files: • enbd\src\x2ap\
Software component (3/5) • User data forwarding • Route user data from PDCP to LAN gateway and vice versa (on a per bearer basis). • Source files: • enbd\src\gtpu\ • Connection database • Maintain UE and its bearer contexts (shared among all components). • Source files: • enbd\src\connection\
Software component (3/5) • Neighbor database • Maintain neighbor cell contexts (shared among all components). • Source files: • enbd\src\nbr\ • Config & CLI • Config: load software/cell/UE common parameters when ENBD software startup (called by main function). • CLI: implement user input command to dynamic configure parameters or trigger procedures. • Source files: • enbd\enbd\ *CLI: Command-line interface
Software component (5/5) • Other libraries: • Raw socket wrapper: • enbd\src\drv\ • Common & Sys lib: • enbd\src\
External interface • RRC interface: • Initialize socket • rrc_sock_init() • Send message to RRC • rrc_send() • Receive message from RRC • rrc_receive() • Process message from RRC • rrc_process_lower() • Encode message to be sent to RRC • Ex. rrc_cell_create_ConnSetup(), … RRC handler • via socket RRC
External interface • S1AP interface: • Initialize socket • s1ap_sock_init() • Send message to MME • s1ap_send() • Receive message from MME • s1ap_receive() • Process message from MME • s1ap_process_sctp() • Encode message to be sent to MME • Ex. s1ap_client_create_InitUeMsg(), … S1AP handler • via socket MME
External interface • X2AP interface: • Initialize socket • x2ap_sock_init() • Send message to MME • x2ap_send() • Receive message from other eNB • x2ap_receive() • Process message from other eNB • x2ap_process_sctp() • Encode message to be sent to other eNB • Ex. x2ap_peer_create_HoReqAck(), … X2AP handler • via socket Other eNB
Internal interface • RRC handler: • Send message to S1AP handler • rrc_ctx_send_s1prim() • Send message to X2AP handler • rrc_ctx_send_x2prim() • Receive internal message • rrc_receive_prim() • Process internal message • rrc_cell_process_rrm()
Internal interface • S1AP handler: • Send message to RRC handler • s1ap_ctx_send_prim() • Receive internal message • s1ap_receive_prim() • Process internal message • s1ap_client_process_rrm()