SlideShare a Scribd company logo
Vinayagam Mariappan
OpenVLC PLATFORM
eSILICON LABS
(An Embedded Network and Multimedia Solutions Provider)
OpenVLC
• Linux based Open-source, software-defined, flexible, low-cost Visible
Light Communication platform
• Developed by IMDEA Networks Institute, and the project is co-led by
Prof. Domenico Giustiniano and by Dr. Qing Wang
OpenVLC…
• OpenVLC Mission
– The lack of an open-source reference platform for VLC networks is hindering the
progress of the research community
– A general-purpose platform would add momentum to VLC research and would open
up new avenues of VLC research and spark the interest of researchers and
engineers.
– IMDEA Networks Institute take an initial step toward the design of OpenVLC, an
open-source software-defined VLC platform for fast prototyping of new system
protocols to build a LiFi network
– Cost-effective yet powerful credit-card-sized embedded board.
VLC
• Visible Light Communication (VLC), sometimes also referred to as
“LiFi" uses standard off-the-shelf visible light LEDs to transmit data
using the visible light spectrum
• VLC is receiving strong attention from the designers of the 5G
networks and beyond
• VLC can enable new pervasive wireless systems in the context of
Internet of Things.
OpenVLC Components
• The software solution is implemented as a Linux driver that can communicate
directly with the cape and the Linux networking stack
• In OpenVLC, the VLC interface is set up as a new communication interface
that can take advantage of the vast range of Linux tools.
• OpenVLC Components are,
– BEAGLEBONE Black (BBB) Board (needs Rev C; to use the high-power LED in the cape,
you need to connect an external 5V power supply to the BBB): cost $ 45- $ 60; AM3359
1GHz CPU, 4 timers, 65 GPIOs
– OpenVLC1.1 cape: the VLC front-end
– OpenVLC1.1 driver: software defined PHY and MAC layer, implemented as a Linux driver
OpenVLC Components
BBB board OpenVLC1.1 cape Cape plugged into the BBB board
OpenVLC Design
• Flexible Design
• Software Defined Solution
OpenVLC Design Flexibility
• OpenVLC cape (front-end transceiver) includes
three optical components:
– a low-power LED
– a high-power LED,
– and a photodiode (PD)
• The low-power LED can be reused for both the
transmitting and receiving of light signals
• Design has been proved to be resilient to ambient
light interference without additional electronic
processing
• Another advantage of exploiting the low-power LED
for reception rather than adding a PD is the lower
cost of LEDs Compared to photodiodes.
OpenVLC Software Defined Solution
• The software-defined transmitter (TX) selector
can choose the TX between the low-power
LED and the high-power LED
• The software-defined receiver (RX) selector
can select the RX between the PD and the
low-power LED
• The low-power LED can be reused for both
the transmitting and receiving of light signals
• Primitives are implemented to build various
PHY and MAC layer protocols in the Linux
operating system.
OpenVLC Software Defined Solution…
• VLC can be a valuable component to RF
Communication
• Developed based on IEEE 802.15.7 standard
• IEEE 802.15.7 standard specifies three PHY layers,
which support data rate varying from 11:67 kb/s to
96 Mb/s short range communication
• Photodiodes used as a receiver or a reverse-biased
LED (rather than a photodiode) is used as a receiver
to implement a bidirectional LED-to-LED
communication
• Studied and designed with the fundamental issues
of the design of a low-complexity embedded
solution, such as efficient collision detection MAC
protocol and light flicker elimination.
VLC Communication Network
OpenVLC Software Defined Solution…
• Bidirectional Communication
– OpenVLC's front-end transceiver reuses the same
LED for both transmitting and receiving light signals
– An advantage of exploiting the LED for reception
rather than adding a photodiode is the lower cost of
LEDs compared to photodiodes
– Permits to reduce the design complexity and increase
the resilience to ambient (e.g., sun light) noise without
additional signal processing.
– OpenVLC Platform includes a TransConductance
Amplifier (TCA) for transmission, a TransImpedance
Amplifier (TIA) and an Analog-to-Digital Converter
(ADC) for reception, a tristate-output buffer, and
ancillary circuitry for transmission and reception.
Diagram of the OpenVLC platform
OpenVLC Software Defined Solution…
• A software-defined Transmitter (TX)/Receiver
(RX) switch is used to change the LED operation
mode between TX and RX through the GPIO pins:
– In TX Mode
▫ The buffer is enabled and encoded signals are first
amplified by the TCA and then fed to the forward-biased
LED
– In RX Mode
▫ In RX mode, the buffer is disabled to avoid current
leakages to the TCA circuitry, and the light signal is
received by the reverse-biased LED
▫ The small photocurrent is then amplified by the TIA
▫ Finally, an ADC converts the output analog signals to
digital signals, which are then sent to the decoder through
the Serial Peripheral Interface (SPI)
Diagram of the OpenVLC platform
OpenVLC Software Defined Solution…
• Software-Defined PHY Layer
– The software stack of OpenVLC is illustrated in
OpenVLC Network Stack
– Primitives are implemented to build various PHY and
MAC layer protocols in the Linux operating system.
– TX, RX and TX/RX switching
▫ In TX mode, the BBB outputs the signal to be
transmitted to the anode of LED for a symbol period of
T
▫ In RX mode, the small photo-current is amplified by
the TIA and then sampled by the ADC and converted
into a digital signal. The BBB samples the output of
the ADC at fixed intervals of T.
OpenVLC Network Stack
OpenVLC Software Defined Solution…
• Software-Defined PHY Layer
– The TX and RX mode through a software-
defined controller running on the BBB
▫ Implemented primitives write_to_led(symbol)
and read_from_adc() to transmit and receive
one symbol, respectively
– The LED switches between TX and RX mode
through a software-defined controller running
on the BBB
▫ Implemented prim-itives switch_to_tx() and
switch_to_rx() allow to switch the LED between
TX and RX mode.
OpenVLC Network Stack
OpenVLC Software Defined Solution…
• Modulation and Detection
– Adopt intensity modulation for data transmission
– Binary information is mapped to the presence
(symbol HIGH) or absence (symbol LOW) of the
visible light carrier
– At the transmitter, we use the On-OFF
Keying (OOK) modulation and the Manchester Run
Length Limited (RLL) code
– Therefore, bit 1 is mapped to symbol sequence
LOW-HIGH, and bit 0 is mapped to HIGH-LOW
– At the receiver, demodulation is performed with
direct detection. Based on received signal's
voltage, the receiver detects received signal as the
sequence of symbols HIGH and LOW that are then
converted to binary data.
OpenVLC Software Defined Solution…
• Preamble
– The PHY layer transmits each frame with a fixed-length preamble, consisting of an alternate
sequence of HIGH and LOW starting with a HIGH symbol
– The numbers of HIGH and LOW symbols in the preamble are the same
– To convert symbols into binary data, an adaptive symbol detection threshold is adopted
– The threshold has to be adaptive because the received light intensity is greatly affected by
the free path loss attenuation of light transmitted from the TX to the RX
– This detection threshold is obtained on a per-frame basis by averaging out the digital
samples of the preamble sequence
– The end of the preamble is marked by a Special Frame Delimiter (SFD).
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer
– The MAC layer generates two types of frames
▫ DATA frames and Acknowledgement (ACK) frames
– The frame contains the payload length (Length) of this frame.
If the frame has no payload (i.e., Length=0), it is inferred to
be an ACK. Otherwise, it is recognized as a DATA frame.
– The Length field takes 1 byte and each frame carries a
payload varying from 0 to 255 bytes
– The destination address (Dst) and source address (Src)
follow the Length field and each occupies 2 bytes
– The 2-byte field Protocol identifies the upper layer protocol
encapsulated in the frame payload
– Fields from the Length to the Protocol form the MAC header
– A two-byte Cyclic Redundancy Check (CRC) over the MAC
header and frame payload is appended to the end of each
frame.
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer – Carrier Sensing
– Wireless MAC protocols usually employ carrier sensing to
reduce collisions
– In OpenVLC platform, provides two type of carrier sensing
▫ Basic sensing and fast sensing
– Both are implemented in the PHY layer and can be invoked
by the MAC layer
– In basic sensing
▫ The platform reads a certain number of continuous symbols
▫ The channel is assessed to be busy if one or more symbols are
detected as HIGH symbols
▫ Otherwise it is assessed to be clear
– In fast sensing
▫ operates on per symbol basis
▫ The channel is assessed to be clear if the symbol is detected as LOW,
or else it is assessed to be busy
▫ Provides primitives basic_sensing() and fast_sensing() to perform basic
and fast sensing, respectively
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer – MAC Access Protocol
– Employed the contention-based Carrier Sensing Multiple
Access/Collision Detection (CSMA/CD) MAC protocol to ensure fair
channel access among all VLC nodes and reduce the impact of
collisions
– When a frame is available for transmission, the MAC first calls the
basic sensing of the PHY layer and then the frame is transmitted
immediately if the PHY layer reports the channel is clear
– When the channel is assessed to be busy, the MAC starts a backoff
counter
– The counter is initialized with an integer value randomly drawn from a
uniform distribution within the range (0, CW-1].
– The contention window CW is initialized as CWmin, where CWmin is the
smallest
– The PHY layer keeps sensing the channel and each time the channel is
assessed to be clear, the counter is decremented
– The frame is transmitted when the counter reaches zero.
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer – MAC Access Protocol
– Upon frame transmission, the transmitter can engage in fast sensing. This
occurs when the transmitter sends a LOW symbol of the Manchester code, as
it powers down the LED and is therefore able to switch the LED to RX mode to
receive a symbol
– The received symbol is sufficient for fast sensing and afterwards, the LED is
switched back to TX mode to carry on the transmission
– The transmitter alternates between TX and RX mode during data transmission
– If the transmitter detects a collision, i.e., the channel is assessed to be busy
through fast sensing for no less than Bfs times, the ongoing transmission is
immediately interrupted
– The illustration of the backoff mechanism, basic sensing, and fast sensing in
CSMA/CD
– After successfully receiving a frame, the receiver sends an ACK to the
transmitter
– If the transmitter has not received an ACK within the timeout, it retransmits the
frame and doubles the CW (until it reaches a pre-defined CWmax threshold
that denotes the maximal size of the contention window)
– The frame is dropped when a pre-defined number of retransmissions fail.
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer – Interfacing with the Internet Layer
– Implement the MAC protocol as well as part of the PHY layer as a new driver of the Linux
operating system
– The MAC protocol will become transparent to various applications if it can connect with
the Internet layer
– Implement two primitive functions vlc_mac_tx(skb) and vlc_mac_rx(vlc_pkt).
– The vlc_mac_tx(skb) is called by the Internet layer to move packets to the MAC layer,
where are enqueued and wait for transmission scheduling
– The vlc_mac_rx(vlc_pkt) receives packets from the PHY layer, checks their protocols,
and decides whether or not to send them to the Internet layer
– By invoking these two functions, any MAC protocols can easily interact with the Internet
layer.
OpenVLC Project Demo Video
https://www.youtube.com/watch?v=nslpUnDQMEU
Thank You

More Related Content

PDF
SDI to IP 2110 Transition Part 1
PDF
IP BASED MEDIA SERVICES
PPTX
Video cloud technology
PDF
Latest Technologies in Production & Broadcasting
PPTX
Transport methods in 3DTV--A Survey
PPTX
VIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN, OPPORTUNITIES & CHALLENGES
PDF
Video Compression, Part 2-Section 1, Video Coding Concepts
PDF
HEVC VIDEO CODEC By Vinayagam Mariappan
SDI to IP 2110 Transition Part 1
IP BASED MEDIA SERVICES
Video cloud technology
Latest Technologies in Production & Broadcasting
Transport methods in 3DTV--A Survey
VIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN, OPPORTUNITIES & CHALLENGES
Video Compression, Part 2-Section 1, Video Coding Concepts
HEVC VIDEO CODEC By Vinayagam Mariappan

What's hot (20)

PPTX
Ultra HD Forum NAB 2016 Press Conference
PDF
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
PDF
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
PDF
SDI to IP 2110 Transition Part 2
PPTX
15 selected topics for e-learning technologies (dtv)
PDF
Ultra high definition TV over IP networks
PPTX
Newtec DVB-S2 Calculator: Technical Training
PPTX
Analog TV Systems/Digital TV Systems/3DTV
PDF
An Introduction to Video Principles-Part 1
PDF
Introduction to DVB-H
PDF
Video Compression, Part 3-Section 1, Some Standard Video Codecs
PDF
Analog Video
PDF
H.264 nal and RTP
PDF
Video audio
PDF
DVB-H Seminar
PPTX
Newtec M6100 Broadcast Satellite Modulator Webinar Presentation
PDF
Video Compression, Part 3-Section 2, Some Standard Video Codecs
PDF
Newtec Dialog Info Session at IBC2015
PDF
An Introduction to HDTV Principles-Part 4
PDF
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
Ultra HD Forum NAB 2016 Press Conference
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
SDI to IP 2110 Transition Part 2
15 selected topics for e-learning technologies (dtv)
Ultra high definition TV over IP networks
Newtec DVB-S2 Calculator: Technical Training
Analog TV Systems/Digital TV Systems/3DTV
An Introduction to Video Principles-Part 1
Introduction to DVB-H
Video Compression, Part 3-Section 1, Some Standard Video Codecs
Analog Video
H.264 nal and RTP
Video audio
DVB-H Seminar
Newtec M6100 Broadcast Satellite Modulator Webinar Presentation
Video Compression, Part 3-Section 2, Some Standard Video Codecs
Newtec Dialog Info Session at IBC2015
An Introduction to HDTV Principles-Part 4
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
Ad

Similar to Open VLC Platform (20)

PPTX
Visible light communication
PDF
PC to PC Transfer of Text, Images Using Visible Light Communication (VLC)
PPT
Visible light communication (vlc) systems
PDF
VLC Technology
PPT
Visible light communication systems i
PDF
Ham radio-without-a-radio
PDF
C44081316
PDF
Performance improvements of a VLC system, in a V2X context, using a different...
PDF
An IDS for Secure Visible Light Communication on Android Devices
PPTX
Visible Light communication
PDF
Visible Light Communication Using LED's and LDR
PDF
Iaetsd arm based remote surveillance and motion detection
PPTX
Visible-Light-Communication-Illuminating-the-Future-of-Wireless.pptx
PPTX
Gl embedded starterkit_ethernet
PDF
Implementation of li_fi_using_arduino
PDF
K1102026568
PPTX
1570514051.pptx
PPTX
Presentation on vlc
DOCX
Visible light communication (sending data through light)
PDF
Performance Analysis of Visible Light Communication (Vlc) with and Without Co...
Visible light communication
PC to PC Transfer of Text, Images Using Visible Light Communication (VLC)
Visible light communication (vlc) systems
VLC Technology
Visible light communication systems i
Ham radio-without-a-radio
C44081316
Performance improvements of a VLC system, in a V2X context, using a different...
An IDS for Secure Visible Light Communication on Android Devices
Visible Light communication
Visible Light Communication Using LED's and LDR
Iaetsd arm based remote surveillance and motion detection
Visible-Light-Communication-Illuminating-the-Future-of-Wireless.pptx
Gl embedded starterkit_ethernet
Implementation of li_fi_using_arduino
K1102026568
1570514051.pptx
Presentation on vlc
Visible light communication (sending data through light)
Performance Analysis of Visible Light Communication (Vlc) with and Without Co...
Ad

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Machine Learning_overview_presentation.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Cloud computing and distributed systems.
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
MIND Revenue Release Quarter 2 2025 Press Release
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25-Week II
Machine Learning_overview_presentation.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Cloud computing and distributed systems.
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Per capita expenditure prediction using model stacking based on satellite ima...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
Encapsulation_ Review paper, used for researhc scholars
Chapter 3 Spatial Domain Image Processing.pdf
Spectroscopy.pptx food analysis technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Open VLC Platform

  • 1. Vinayagam Mariappan OpenVLC PLATFORM eSILICON LABS (An Embedded Network and Multimedia Solutions Provider)
  • 2. OpenVLC • Linux based Open-source, software-defined, flexible, low-cost Visible Light Communication platform • Developed by IMDEA Networks Institute, and the project is co-led by Prof. Domenico Giustiniano and by Dr. Qing Wang
  • 3. OpenVLC… • OpenVLC Mission – The lack of an open-source reference platform for VLC networks is hindering the progress of the research community – A general-purpose platform would add momentum to VLC research and would open up new avenues of VLC research and spark the interest of researchers and engineers. – IMDEA Networks Institute take an initial step toward the design of OpenVLC, an open-source software-defined VLC platform for fast prototyping of new system protocols to build a LiFi network – Cost-effective yet powerful credit-card-sized embedded board.
  • 4. VLC • Visible Light Communication (VLC), sometimes also referred to as “LiFi" uses standard off-the-shelf visible light LEDs to transmit data using the visible light spectrum • VLC is receiving strong attention from the designers of the 5G networks and beyond • VLC can enable new pervasive wireless systems in the context of Internet of Things.
  • 5. OpenVLC Components • The software solution is implemented as a Linux driver that can communicate directly with the cape and the Linux networking stack • In OpenVLC, the VLC interface is set up as a new communication interface that can take advantage of the vast range of Linux tools. • OpenVLC Components are, – BEAGLEBONE Black (BBB) Board (needs Rev C; to use the high-power LED in the cape, you need to connect an external 5V power supply to the BBB): cost $ 45- $ 60; AM3359 1GHz CPU, 4 timers, 65 GPIOs – OpenVLC1.1 cape: the VLC front-end – OpenVLC1.1 driver: software defined PHY and MAC layer, implemented as a Linux driver
  • 6. OpenVLC Components BBB board OpenVLC1.1 cape Cape plugged into the BBB board
  • 7. OpenVLC Design • Flexible Design • Software Defined Solution
  • 8. OpenVLC Design Flexibility • OpenVLC cape (front-end transceiver) includes three optical components: – a low-power LED – a high-power LED, – and a photodiode (PD) • The low-power LED can be reused for both the transmitting and receiving of light signals • Design has been proved to be resilient to ambient light interference without additional electronic processing • Another advantage of exploiting the low-power LED for reception rather than adding a PD is the lower cost of LEDs Compared to photodiodes.
  • 9. OpenVLC Software Defined Solution • The software-defined transmitter (TX) selector can choose the TX between the low-power LED and the high-power LED • The software-defined receiver (RX) selector can select the RX between the PD and the low-power LED • The low-power LED can be reused for both the transmitting and receiving of light signals • Primitives are implemented to build various PHY and MAC layer protocols in the Linux operating system.
  • 10. OpenVLC Software Defined Solution… • VLC can be a valuable component to RF Communication • Developed based on IEEE 802.15.7 standard • IEEE 802.15.7 standard specifies three PHY layers, which support data rate varying from 11:67 kb/s to 96 Mb/s short range communication • Photodiodes used as a receiver or a reverse-biased LED (rather than a photodiode) is used as a receiver to implement a bidirectional LED-to-LED communication • Studied and designed with the fundamental issues of the design of a low-complexity embedded solution, such as efficient collision detection MAC protocol and light flicker elimination. VLC Communication Network
  • 11. OpenVLC Software Defined Solution… • Bidirectional Communication – OpenVLC's front-end transceiver reuses the same LED for both transmitting and receiving light signals – An advantage of exploiting the LED for reception rather than adding a photodiode is the lower cost of LEDs compared to photodiodes – Permits to reduce the design complexity and increase the resilience to ambient (e.g., sun light) noise without additional signal processing. – OpenVLC Platform includes a TransConductance Amplifier (TCA) for transmission, a TransImpedance Amplifier (TIA) and an Analog-to-Digital Converter (ADC) for reception, a tristate-output buffer, and ancillary circuitry for transmission and reception. Diagram of the OpenVLC platform
  • 12. OpenVLC Software Defined Solution… • A software-defined Transmitter (TX)/Receiver (RX) switch is used to change the LED operation mode between TX and RX through the GPIO pins: – In TX Mode ▫ The buffer is enabled and encoded signals are first amplified by the TCA and then fed to the forward-biased LED – In RX Mode ▫ In RX mode, the buffer is disabled to avoid current leakages to the TCA circuitry, and the light signal is received by the reverse-biased LED ▫ The small photocurrent is then amplified by the TIA ▫ Finally, an ADC converts the output analog signals to digital signals, which are then sent to the decoder through the Serial Peripheral Interface (SPI) Diagram of the OpenVLC platform
  • 13. OpenVLC Software Defined Solution… • Software-Defined PHY Layer – The software stack of OpenVLC is illustrated in OpenVLC Network Stack – Primitives are implemented to build various PHY and MAC layer protocols in the Linux operating system. – TX, RX and TX/RX switching ▫ In TX mode, the BBB outputs the signal to be transmitted to the anode of LED for a symbol period of T ▫ In RX mode, the small photo-current is amplified by the TIA and then sampled by the ADC and converted into a digital signal. The BBB samples the output of the ADC at fixed intervals of T. OpenVLC Network Stack
  • 14. OpenVLC Software Defined Solution… • Software-Defined PHY Layer – The TX and RX mode through a software- defined controller running on the BBB ▫ Implemented primitives write_to_led(symbol) and read_from_adc() to transmit and receive one symbol, respectively – The LED switches between TX and RX mode through a software-defined controller running on the BBB ▫ Implemented prim-itives switch_to_tx() and switch_to_rx() allow to switch the LED between TX and RX mode. OpenVLC Network Stack
  • 15. OpenVLC Software Defined Solution… • Modulation and Detection – Adopt intensity modulation for data transmission – Binary information is mapped to the presence (symbol HIGH) or absence (symbol LOW) of the visible light carrier – At the transmitter, we use the On-OFF Keying (OOK) modulation and the Manchester Run Length Limited (RLL) code – Therefore, bit 1 is mapped to symbol sequence LOW-HIGH, and bit 0 is mapped to HIGH-LOW – At the receiver, demodulation is performed with direct detection. Based on received signal's voltage, the receiver detects received signal as the sequence of symbols HIGH and LOW that are then converted to binary data.
  • 16. OpenVLC Software Defined Solution… • Preamble – The PHY layer transmits each frame with a fixed-length preamble, consisting of an alternate sequence of HIGH and LOW starting with a HIGH symbol – The numbers of HIGH and LOW symbols in the preamble are the same – To convert symbols into binary data, an adaptive symbol detection threshold is adopted – The threshold has to be adaptive because the received light intensity is greatly affected by the free path loss attenuation of light transmitted from the TX to the RX – This detection threshold is obtained on a per-frame basis by averaging out the digital samples of the preamble sequence – The end of the preamble is marked by a Special Frame Delimiter (SFD).
  • 17. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – The MAC layer generates two types of frames ▫ DATA frames and Acknowledgement (ACK) frames – The frame contains the payload length (Length) of this frame. If the frame has no payload (i.e., Length=0), it is inferred to be an ACK. Otherwise, it is recognized as a DATA frame. – The Length field takes 1 byte and each frame carries a payload varying from 0 to 255 bytes – The destination address (Dst) and source address (Src) follow the Length field and each occupies 2 bytes – The 2-byte field Protocol identifies the upper layer protocol encapsulated in the frame payload – Fields from the Length to the Protocol form the MAC header – A two-byte Cyclic Redundancy Check (CRC) over the MAC header and frame payload is appended to the end of each frame.
  • 18. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – Carrier Sensing – Wireless MAC protocols usually employ carrier sensing to reduce collisions – In OpenVLC platform, provides two type of carrier sensing ▫ Basic sensing and fast sensing – Both are implemented in the PHY layer and can be invoked by the MAC layer – In basic sensing ▫ The platform reads a certain number of continuous symbols ▫ The channel is assessed to be busy if one or more symbols are detected as HIGH symbols ▫ Otherwise it is assessed to be clear – In fast sensing ▫ operates on per symbol basis ▫ The channel is assessed to be clear if the symbol is detected as LOW, or else it is assessed to be busy ▫ Provides primitives basic_sensing() and fast_sensing() to perform basic and fast sensing, respectively
  • 19. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – MAC Access Protocol – Employed the contention-based Carrier Sensing Multiple Access/Collision Detection (CSMA/CD) MAC protocol to ensure fair channel access among all VLC nodes and reduce the impact of collisions – When a frame is available for transmission, the MAC first calls the basic sensing of the PHY layer and then the frame is transmitted immediately if the PHY layer reports the channel is clear – When the channel is assessed to be busy, the MAC starts a backoff counter – The counter is initialized with an integer value randomly drawn from a uniform distribution within the range (0, CW-1]. – The contention window CW is initialized as CWmin, where CWmin is the smallest – The PHY layer keeps sensing the channel and each time the channel is assessed to be clear, the counter is decremented – The frame is transmitted when the counter reaches zero.
  • 20. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – MAC Access Protocol – Upon frame transmission, the transmitter can engage in fast sensing. This occurs when the transmitter sends a LOW symbol of the Manchester code, as it powers down the LED and is therefore able to switch the LED to RX mode to receive a symbol – The received symbol is sufficient for fast sensing and afterwards, the LED is switched back to TX mode to carry on the transmission – The transmitter alternates between TX and RX mode during data transmission – If the transmitter detects a collision, i.e., the channel is assessed to be busy through fast sensing for no less than Bfs times, the ongoing transmission is immediately interrupted – The illustration of the backoff mechanism, basic sensing, and fast sensing in CSMA/CD – After successfully receiving a frame, the receiver sends an ACK to the transmitter – If the transmitter has not received an ACK within the timeout, it retransmits the frame and doubles the CW (until it reaches a pre-defined CWmax threshold that denotes the maximal size of the contention window) – The frame is dropped when a pre-defined number of retransmissions fail.
  • 21. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – Interfacing with the Internet Layer – Implement the MAC protocol as well as part of the PHY layer as a new driver of the Linux operating system – The MAC protocol will become transparent to various applications if it can connect with the Internet layer – Implement two primitive functions vlc_mac_tx(skb) and vlc_mac_rx(vlc_pkt). – The vlc_mac_tx(skb) is called by the Internet layer to move packets to the MAC layer, where are enqueued and wait for transmission scheduling – The vlc_mac_rx(vlc_pkt) receives packets from the PHY layer, checks their protocols, and decides whether or not to send them to the Internet layer – By invoking these two functions, any MAC protocols can easily interact with the Internet layer.
  • 22. OpenVLC Project Demo Video https://www.youtube.com/watch?v=nslpUnDQMEU