Sei sulla pagina 1di 32

SimuLTE Tutorial

Antonio Virdis
University of Pisa - Italy

Simulating device-to-device communications in OMNeT++ with


SimuLTE: scenarios and configurations
Giovanni Nardini, Antonio Virdis, Giovanni Stea
University of Pisa - Italy

Antonio Virdis - SimuLTE 2016 1


Outline

• LTE Context

• Simulator structure

• Examples
• LTE

• LTE-Advanced

• Towards 5G: D2D

Antonio Virdis - SimuLTE 2016 2


Data Req
LTE Channel Quality

Scheduling

UE 1

UE 2
eNb

1ms
UE 3

Antonio Virdis - SimuLTE 2016 3


LTE

eNb

Antonio Virdis - SimuLTE 2016 4


SimuLTE

• OMNeT-based system-level simulator of LTE networks

• Focused on testing algorithms for resource scheduling at large scale

• INET based

• Built as an additional NIC interface

• Follow the evolution of cellular communications

Antonio Virdis - SimuLTE 2016 5


UE
Nodes UDP
apps
TCP
apps

UE UDP TCP

IP
eNB

LTE
NIC
Standard
Hosts

Antonio Virdis - SimuLTE 2016 6


UE

Layering UDP
apps
TCP
apps

UDP TCP

SimuLTE IP

LTE
LTE NIC NIC

PDCP PDCP

RLC
RLC

MAC
MAC 1ms

PHY
PHY

Antonio Virdis - SimuLTE 2016 7


Common Structure: Inheritance
Base NIC

eNB NIC UE NIC

Base MAC
Base RLC Base PHY

eNB MAC UE MAC


eNB RLC UE RLC eNB PHY UE PHY

Antonio Virdis - SimuLTE 2016 8


Goal: algorithms

• Aim at implementing and testing resource-scheduling algorithms

• Model resources.

• Model resource management

• Provide an API to users

Antonio Virdis - SimuLTE 2016 9


Tx/Rx modeling
eNB
UE
OFDM RB

frequency
K bit

1 ms

CQI

Antonio Virdis - SimuLTE 2016 10


Scheduling
Available Data

Scheduling N bit User Tx


Allocator Pilot
Policy Params
M bit
Scheduler AMC

Schedule List UE Reports

Antonio Virdis - SimuLTE 2016 11


Scheduling Hierarchy
• Scheduler Type and eNB
Scheduler

eNB eNB
Scheduler UL Scheduler DL

• Scheduling Policy
Scheduling
Policy

MAX C/I PF DRR

Antonio Virdis - SimuLTE 2016 12


Example 1: ~2010 rel 8-9
• Simple network

• Common parameters
• Mobility
• Application type

• SimuLTE Parameters
• Number of RBs
• Scheduler type

Antonio Virdis - SimuLTE 2016 13


Example 1: ~2010 rel 8-9
# connect each UE to the eNB
**.ue[*].macCellId = 1 Association
**.ue[*].masterId = 1

**.deployer.numRbDl = 6
# Resources
**.deployer.numRbUl = 6

**.nic.phy.channelModel = xmldoc("config_channel.xml")

**.mac.schedulingDisciplineDl = "MAXCI"

Antonio Virdis - SimuLTE 2016 14


Custom Scheduling
Scheduling
Policy

• Inherit a scheduling policy (LteScheduler Class)


• Two stages scheduling
MAX C/I PF DRR

• Prepare schedule list


• Commit schedule list

Policy 1 Policy 2 Policy 3

Schedule
list
Antonio Virdis - SimuLTE 2016 15
Example 2: ~2013 rel 10-11
• LTE-advanced
• Multiple cells
• CoMP techniques
• X2 Communication

• Heterogeneous Networks

• Dense Networks

Antonio Virdis - SimuLTE 2016 16


Example 2: ~2013 rel 10-11
**.ue1*.macCellId = 1
**.ue1*.masterId = 1
**.ue2*.macCellId = 2 Association
**.ue2*.masterId = 2
**.ue3*.macCellId = 3
**.ue3*.masterId = 3
Transmission
**.eNodeBTxPower = 40
Power

In config_channel.xml
<parameter name="multiCell-interference" type="bool" value="true"/>

Interference? Coordination! (CoMP)


Antonio Virdis - SimuLTE 2016 17
Allocation Flexibility
Scheduling
getBlocks(n) Allocator
FLEXIBILITY Policy

USER FRIENDLY
Scheduling
getBlocks(n,limit) Allocator
Policy

Joint
Scheduler / Allocator

Antonio Virdis - SimuLTE 2016 18


External Cells: lightweight eNBs
*.numExtCells = 2

#============= Configuration ============


*.extCell[*].txPower = 20
*.extCell[*].txDirection = "ANISOTROPIC"
*.extCell[*].bandAllocationType = "RANDOM_ALLOC"
*.extCell[*].bandUtilization = 0.5

#============= Positioning ============


*.extCell[0].position_x = 100m
*.extCell[0].position_y = 600m
*.extCell[0].txAngle = 315
*.extCell[1].position_x = 600m
*.extCell[1].position_y = 600m
*.extCell[1].txAngle = 225

Antonio Virdis - SimuLTE 2016 19


Example 2: ~2013 rel 10-11
to/from to/from X2
IP LteX2App[]

PDCP

RLC X2
Manager
MAC

PHY
X2 User ... X2 User

LTE NIC

**.x2Enabled = true

*.eNodeB*.numX2Apps = 2
*.eNodeB*.x2App[*].server.localPort = 5000 + ancestorIndex(1)

Antonio Virdis - SimuLTE 2016 20


Example 3: NOW towards 5G
Internet

• Infrastructure vs D2D
• Multicast or Unicast

UL DL • Scheduling remains under control


eNodeB
eNodeB of the eNB
• UEs still need to request resources
to the eNB

UE1 UE2
• Enables frequency reuse
UE3
UE4 Antonio Virdis - SimuLTE 2016 21
UL
Data Flow
UL D2D
PDCP
• Data in the UL direction travels
the whole stack
• Segmentation/concatenation
RLC
• Error control
• It follows a reverse path during MAC
HARQ HARQ HARQ
reception
• D2D is given a separated path
PHY Channel Model

Antonio Virdis - SimuLTE 2016 22


D2D: one-2-one 1
2
# enable D2D capabilities
*.eNodeB.d2dCapable = true
3 *.ueD2D*[*].d2dCapable = true

• Enabling D2D
4 # select the AMC mode
• AMC mode: D2D 5 *.eNodeB.nic.mac.amcMode = "D2D"

• Peering relation
6 # set peering relationship
• Static peering 7 *.ueD2DTx[0].nic.d2dPeerAddresses= "ueD2DRx[0]"
• Dynamic peering not available
8 # select the CQI for D2D transmissions
• Channel measurement 9 *.eNodeB.nic.phy.enableD2DCqiReporting = true
10 **.usePreconfiguredTxParams = false
• Dynamic
• Static 11 # set Tx Power
12 *.ueD2DTx[0].nic.phy.ueTxPower = 26 # in dB
13 *.ueD2DTx[0].nic.phy.d2dTxPower = 20 # in dB
Antonio Virdis - SimuLTE 2016 23
Simultaneous Transmissions
• Transmitting UE can reuse the
same frequencies
• Interference between pairs can
3
occur
eNodeB
• Infra or D2D? [Switch?]
2
4 • Decide if 2 pairs can transmit
simultaneously
5
6

7 9
Algorithms
8
Resource Scheduling Mode Selection

Antonio Virdis - SimuLTE 2016 ? 24


Data TX/RX
1
• Data is sent in unicast 4
• Interference is broadcast 3
5
2
• Infra: each used RBs is tagged with
the ID of a UE RBs

UE1
• D2D: each RB has a list of the UEs’
IDs
UE1 UE1 UE2
• SINR is computed taking
interference into account UE4 UE5 UE3

UE5

Antonio Virdis - SimuLTE 2016 25


Mode selection: custom algorithms
D2DModeSelection

doModeSelection()=0
...

D2DModeSelectionBestCqi ...

doModeSelection() { … }
... …
doModeSelection() { … }
... ...

• Read status
• Decides whether to switch or not

Antonio Virdis - SimuLTE 2016 26


D2D: multicast <multicast-group hosts="ueD2D[*]"
interfaces="wlan" address="224.0.0.10"/>
• Predefined CQIs only
*.ueD2D[0].udpApp[*].destAddress = "224.0.0.10"

# select the CQI for D2D transmissions


*.eNodeB.nic.phy.enableD2DCqiReporting = false
**.usePreconfiguredTxParams = true
**.d2dCqi = 7

# set Tx Power
eNB *.ueD2DTx[0].nic.phy.ueTxPower = 26 # in dB
*.ueD2DTx[0].nic.phy.d2dTxPower = 20 # in dB

Antonio Virdis - SimuLTE 2016 27


Controlling the TX Range
Larger range
Lower data rate
**.d2dCqi = 7
Smaller range
Higher data rate

# set Tx Power
*.ueD2DTx[0].nic.phy.ueTxPower = 26 # in dB
*.ueD2DTx[0].nic.phy.d2dTxPower = 20 # in dB
UE3
UE4

Antonio Virdis - SimuLTE 2016 28


D2D: layering and new modules
• An additional data path
D2D PDCP
UL D2D MULTI
• No HARQ RLC

MAC
• Send Broadcast HARQ

PHY
ChannelModel

sendUnicast() sendBroadcast()

Antonio Virdis - SimuLTE 2016 29


Further Developments

• Handover (actually released)

• Native support to Veins

• Moving towards 5G
• CRAN deployments

• Mobile Edge Computing applications

Antonio Virdis - SimuLTE 2016 30


Conclusions
• SimuLTE: focused on resource scheduling
• Modeling
• Layering
• Resources
• Scheduling
• Case studies
• Simple LTE network
• LTE Advanced
• D2D communications towards 5G

Antonio Virdis - SimuLTE 2016 31


Thanks for your attention

32

Potrebbero piacerti anche