Welcome to VLCsim’s documentation!
VLCSim is an Event-Oriented simulator package for Visible Light Communication.
Note
This project is under active development.
Features
Dynamic Environment with in/out connections
Flexible resource allocation algorithm
Flexible VLC/room parameters
Events
The simulator has 5 Type of events:
ARRIVE: Every time when a connection arrives to the system
RESUME: When a connection begin the transmission
PAUSE: When a Connection PAUSES the transmission
DEPARTURE: When a connectin ends its transmission
RETRYING: WHen a connection is not allocated, and uses a WAIT status, it makes a new attepmt to connect.
Contents
- Usage
- API
- vlcsim
- vlcsim.controller
- vlcsim.controller.Connection
Connection
Connection.__init__()
Connection.AP
Connection.allocated
Connection.assignFrameSlice()
Connection.capacityRequired
Connection.frameSlice
Connection.getNextTime()
Connection.goalTime
Connection.id
Connection.insertTime()
Connection.nextSliceInAPWhenArriving()
Connection.numberOfSlicesNeeded()
Connection.receiver
Connection.snr
Connection.time
- vlcsim.controller.Controller
Controller
Controller.__init__()
Controller.APPosition()
Controller.activeConnections
Controller.allocationStatus
Controller.allocator
Controller.assignConnection()
Controller.assignSlice()
Controller.framesState()
Controller.init()
Controller.nextStatus
Controller.numberOfActiveConnections()
Controller.pauseConnection()
Controller.resumeConnection()
Controller.scenario
Controller.status
Controller.unassignConnection()
- vlcsim.controller.Connection
- vlcsim.scene
- vlcsim.scene.AccessPoint
- vlcsim.scene.RF
- vlcsim.scene.Receiver
Receiver
Receiver.__init__()
Receiver.ID
Receiver.a
Receiver.aDet
Receiver.b
Receiver.capacityFromAP
Receiver.cb
Receiver.fov
Receiver.fr
Receiver.gm
Receiver.goalTime
Receiver.gv
Receiver.i1
Receiver.i2
Receiver.ibg
Receiver.index
Receiver.n
Receiver.position
Receiver.q
Receiver.receiversCreated
Receiver.s
Receiver.timeActive
Receiver.timeFinished
Receiver.timeFirstConnected
Receiver.ts
Receiver.x
Receiver.y
Receiver.z
- vlcsim.scene.Scenario
Scenario
Scenario.__init__()
Scenario.addRF()
Scenario.addVLed()
Scenario.capacityRf()
Scenario.capacityVled()
Scenario.end_x
Scenario.end_y
Scenario.getPowerInPointFromVled()
Scenario.getPowerInPointFromWalls()
Scenario.height
Scenario.length
Scenario.numberOfAPs
Scenario.numberOfRFs
Scenario.numberOfVLeds
Scenario.rfs
Scenario.rfsPositions
Scenario.snrRf()
Scenario.snrVled()
Scenario.start_x
Scenario.start_y
Scenario.vleds
Scenario.vledsPositions
Scenario.width
- vlcsim.scene.VLed
- vlcsim.simulator
- vlcsim.simulator.Event
- vlcsim.simulator.Simulator
Simulator
Simulator.__init__()
Simulator.aggregated_metrics()
Simulator.default_values()
Simulator.event_routine()
Simulator.get_Blocking_Probability()
Simulator.goalConnections
Simulator.init()
Simulator.lambdaS
Simulator.lower_capacity_required
Simulator.lower_random_wait
Simulator.mu
Simulator.print_initial_info()
Simulator.print_row()
Simulator.run()
Simulator.scenario
Simulator.seedCapacityRequired
Simulator.seedRandomWait
Simulator.seedX
Simulator.seedY
Simulator.seedZ
Simulator.set_allocation_algorithm()
Simulator.time_duration()
Simulator.upper_capacity_required
Simulator.upper_random_wait
- vlcsim.controller
- vlcsim