simulte tutorial

32
SimuLTE Tutorial Antonio Virdis University of Pisa - Italy Antonio Virdis - SimuLTE 2016 1 Simulating device-to-device communications in OMNeT++ with SimuLTE: scenarios and configurations Giovanni Nardini, Antonio Virdis, Giovanni Stea University of Pisa - Italy

Upload: trinhdien

Post on 01-Jan-2017

223 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: SimuLTE Tutorial

SimuLTE TutorialAntonio Virdis

University of Pisa - Italy

Antonio Virdis - SimuLTE 2016 1

Simulating device-to-device communications in OMNeT++ with SimuLTE: scenarios and configurations

Giovanni Nardini, Antonio Virdis, Giovanni Stea

University of Pisa - Italy

Page 2: SimuLTE Tutorial

Outline

• LTE Context

• Simulator structure

• Examples

• LTE

• LTE-Advanced

• Towards 5G: D2D

Antonio Virdis - SimuLTE 2016 2

Page 3: SimuLTE Tutorial

LTE

Antonio Virdis - SimuLTE 2016 3

UE 1

UE 2

UE 3

eNb

Scheduling

Data ReqChannel Quality

1ms

Page 4: SimuLTE Tutorial

LTE

Antonio Virdis - SimuLTE 2016 4

eNb

Page 5: SimuLTE Tutorial

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

Page 6: SimuLTE Tutorial

Nodes

eNB

UE

UE

IP

UDP TCP

UDPapps

TCPapps

LTE NIC

Antonio Virdis - SimuLTE 2016 6

Standard Hosts

Page 7: SimuLTE Tutorial

Layering

PDCP

RLC

MAC

PHY

LTE NIC

PDCP

RLC

MAC

PHY

SimuLTE

Antonio Virdis - SimuLTE 2016 7

UE

IP

UDP TCP

UDPapps

TCPapps

LTE NIC

1ms

Page 8: SimuLTE Tutorial

Common Structure: Inheritance

Base NIC

eNB NIC UE NIC

Base RLC

eNB RLC UE RLC

Base MAC

eNB MAC UE MAC

Base PHY

eNB PHY UE PHY

Antonio Virdis - SimuLTE 2016 8

Page 9: SimuLTE Tutorial

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

Page 10: SimuLTE Tutorial

Tx/Rx modeling

Antonio Virdis - SimuLTE 2016 10

UEeNB

frequency

1 ms

OFDM

K bit

RB

CQI

Page 11: SimuLTE Tutorial

Scheduling

AMC

User Tx

ParamsPilot

Scheduler

AllocatorScheduling

Policy

Antonio Virdis - SimuLTE 2016 11

N bit

Available Data

UE ReportsSchedule List

M bit

Page 12: SimuLTE Tutorial

Scheduling Hierarchy

• Scheduler Type and

• Scheduling Policy

Antonio Virdis - SimuLTE 2016 12

eNB

Scheduler

eNB

Scheduler UL

eNB

Scheduler DL

Scheduling

Policy

MAX C/I PF DRR

Page 13: SimuLTE Tutorial

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

Page 14: SimuLTE Tutorial

Example 1: ~2010 rel 8-9

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

**.mac.schedulingDisciplineDl = "MAXCI"

Antonio Virdis - SimuLTE 2016 14

# connect each UE to the eNB

**.ue[*].macCellId = 1

**.ue[*].masterId = 1

Association

**.deployer.numRbDl = 6

**.deployer.numRbUl = 6# Resources

Page 15: SimuLTE Tutorial

Custom Scheduling

• Inherit a scheduling policy (LteScheduler Class)

• Two stages scheduling• Prepare schedule list

• Commit schedule list

Antonio Virdis - SimuLTE 2016 15

Policy 1 Policy 2 Policy 3

Schedule

list

Scheduling

Policy

MAX C/I PF DRR

Page 16: SimuLTE Tutorial

Example 2: ~2013 rel 10-11

• LTE-advanced• Multiple cells

• CoMP techniques

• X2 Communication

• Heterogeneous Networks

• Dense Networks

Antonio Virdis - SimuLTE 2016 16

Page 17: SimuLTE Tutorial

Example 2: ~2013 rel 10-11

<parameter name="multiCell-interference" type="bool" value="true"/>

In config_channel.xml

Antonio Virdis - SimuLTE 2016 17

**.ue1*.macCellId = 1

**.ue1*.masterId = 1

**.ue2*.macCellId = 2

**.ue2*.masterId = 2

**.ue3*.macCellId = 3

**.ue3*.masterId = 3

Association

**.eNodeBTxPower = 40Transmission Power

Interference? Coordination! (CoMP)

Page 18: SimuLTE Tutorial

Allocation Flexibility

Antonio Virdis - SimuLTE 2016 18

Scheduling

PolicyAllocatorgetBlocks(n)

Scheduling

PolicyAllocatorgetBlocks(n,limit)

Joint

Scheduler / Allocator

USER

FRIEN

DLY

FLEXIB

ILITY

Page 19: SimuLTE Tutorial

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

Page 20: SimuLTE Tutorial

Example 2: ~2013 rel 10-11

LTE NIC

PHY

MAC

RLC

PDCP

X2 Manager

X2 User X2 User...

to/fromIP

to/from LteX2App[]

**.x2Enabled = true

*.eNodeB*.numX2Apps = 2

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

Antonio Virdis - SimuLTE 2016 20

X2

Page 21: SimuLTE Tutorial

Example 3: NOW towards 5G

• Infrastructure vs D2D

• Multicast or Unicast

• Scheduling remains under control of the eNB

• UEs still need to request resources to the eNB

• Enables frequency reuse

eNodeB

Internet

UE1 UE2

eNodeBUL DL

UE3

UE4Antonio Virdis - SimuLTE 2016 21

Page 22: SimuLTE Tutorial

Data Flow

• Data in the UL direction travels the whole stack• Segmentation/concatenation

• Error control

• It follows a reverse path during reception

• D2D is given a separated pathChannel Model

PDCP

RLC

MAC

PHY

HARQ HARQHARQ

UL

UL D2D

Antonio Virdis - SimuLTE 2016 22

Page 23: SimuLTE Tutorial

D2D: one-2-one

• Enabling D2D

• AMC mode: D2D

• Peering relation• Static peering

• Dynamic peering not available

• Channel measurement• Dynamic

• Static

1 # enable D2D capabilities

2 *.eNodeB.d2dCapable = true

3 *.ueD2D*[*].d2dCapable = true

4 # select the AMC mode

5 *.eNodeB.nic.mac.amcMode = "D2D"

6 # set peering relationship

7 *.ueD2DTx[0].nic.d2dPeerAddresses= "ueD2DRx[0]"

8 # select the CQI for D2D transmissions

9 *.eNodeB.nic.phy.enableD2DCqiReporting = true

10 **.usePreconfiguredTxParams = false

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

Page 24: SimuLTE Tutorial

Simultaneous Transmissions• Transmitting UE can reuse the

same frequencies• Interference between pairs can

occur• Infra or D2D? [Switch?]• Decide if 2 pairs can transmit

simultaneously

2

3

4

56

7 9

8

eNodeB

Algorithms

Resource Scheduling Mode Selection

?Antonio Virdis - SimuLTE 2016 24

Page 25: SimuLTE Tutorial

Data TX/RX• Data is sent in unicast

• Interference is broadcast

• Infra: each used RBs is tagged with the ID of a UE

• D2D: each RB has a list of the UEs’ IDs

• SINR is computed taking interference into account

RBs

UE1

UE4

UE5

UE1

UE5

UE2

UE3

1

2

3

4

5

UE1

Antonio Virdis - SimuLTE 2016 25

Page 26: SimuLTE Tutorial

Mode selection: custom algorithms

• Read status

• Decides whether to switch or not

D2DModeSelection

…doModeSelection()=0...

D2DModeSelectionBestCqi

…doModeSelection() { … }...

...

…doModeSelection() { … }...

...

Antonio Virdis - SimuLTE 2016 26

Page 27: SimuLTE Tutorial

D2D: multicast

• Predefined CQIs only

<multicast-group hosts="ueD2D[*]"

interfaces="wlan" address="224.0.0.10"/>

*.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

*.ueD2DTx[0].nic.phy.ueTxPower = 26 # in dB

*.ueD2DTx[0].nic.phy.d2dTxPower = 20 # in dBeNB

Antonio Virdis - SimuLTE 2016 27

Page 28: SimuLTE Tutorial

Controlling the TX Range

UE3

UE4

Antonio Virdis - SimuLTE 2016 28

**.d2dCqi = 7

# set Tx Power

*.ueD2DTx[0].nic.phy.ueTxPower = 26 # in dB

*.ueD2DTx[0].nic.phy.d2dTxPower = 20 # in dB

Larger rangeLower data rate

Smaller rangeHigher data rate

Page 29: SimuLTE Tutorial

D2D: layering and new modules

• An additional data path

• No HARQ

• Send Broadcast

PDCP

RLC

MAC

PHY

UL D2D D2DMULTI

HARQ

ChannelModel

sendUnicast() sendBroadcast()

Antonio Virdis - SimuLTE 2016 29

Page 30: SimuLTE Tutorial

Further Developments

• Handover (actually released)

• Native support to Veins

• Moving towards 5G

• CRAN deployments

• Mobile Edge Computing applications

Antonio Virdis - SimuLTE 2016 30

Page 31: SimuLTE Tutorial

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

Page 32: SimuLTE Tutorial

Thanks for your attention

32