simulte tutorial
TRANSCRIPT
![Page 1: SimuLTE Tutorial](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/1.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/2.jpg)
Outline
• LTE Context
• Simulator structure
• Examples
• LTE
• LTE-Advanced
• Towards 5G: D2D
Antonio Virdis - SimuLTE 2016 2
![Page 3: SimuLTE Tutorial](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/3.jpg)
LTE
Antonio Virdis - SimuLTE 2016 3
UE 1
UE 2
UE 3
eNb
Scheduling
Data ReqChannel Quality
1ms
![Page 4: SimuLTE Tutorial](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/4.jpg)
LTE
Antonio Virdis - SimuLTE 2016 4
eNb
![Page 5: SimuLTE Tutorial](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/5.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/6.jpg)
Nodes
eNB
UE
UE
IP
UDP TCP
UDPapps
TCPapps
LTE NIC
Antonio Virdis - SimuLTE 2016 6
Standard Hosts
![Page 7: SimuLTE Tutorial](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/7.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/8.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/9.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/10.jpg)
Tx/Rx modeling
Antonio Virdis - SimuLTE 2016 10
UEeNB
frequency
1 ms
OFDM
K bit
RB
CQI
![Page 11: SimuLTE Tutorial](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/11.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/12.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/13.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/14.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/15.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/16.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/17.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/18.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/19.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/20.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/21.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/22.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/23.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/24.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/25.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/26.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/27.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/28.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/29.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/30.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/31.jpg)
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](https://reader038.vdocuments.net/reader038/viewer/2022103011/5868eb2a1a28ab52568be133/html5/thumbnails/32.jpg)
Thanks for your attention
32