1
A Framework for Simultaneous Message Broadcasting Using CDMA-based Visible Light Communications Yan-Ann Chen, Yi-Ting Chang, Yu-Chee Tseng, Fellow, IEEE, and Wen-Tsuen Chen, Fellow, IEEE
Abstract—IoT applications are fast growing recently. One of the “things” that has a lot of potential is the lighting equipment since it is widely used in our daily life. Recently, the technology of visible light communication (VLC) has been widely discussed. VLC has several advantages, such as freedom of license, line-of-sight security, and less health concern compared to radio-based systems. In addition, the rapid progress of light emitting diode (LED) technology by solid-state lighting allows VLC to be easily deployed and integrated with existing lighting infrastructure at low costs. However, VLC, when integrated with lighting infrastructure, is usually for one-way communication and is highly sensitive to external interfering light. Thus, transmitting or broadcasting multiple messages simultaneously over a visible light channel without any preprocessing may result in serious collisions. In this paper, we propose a framework to tackle these problems by optical code division multiple access (CDMA) for VLC. With our approach, a VLC receiver can enter an environment without any prior configuration and can be designed with simple hardware. Even a mobile device with a high-resolution photodiode sensor can be used as a receiver. We demonstrate an application of indoor positioning by querying the location service provider on Internet with the IDs decoded from the received light signals. The prototyping results reveal some communication properties of CDMA-based VLC and its potential for indoor positioning applications. Index Terms—broadcast, CDMA, IEEE 802.15.7, localization, pervasive computing, visible light communication.
I. I NTRODUCTION Among the many “things” in the IoT world, lighting equipments have a lot of potential because they widely exist in our daily life. Recent developments of the light emitting diode (LED) technology by solid-state lighting (SSL) have led to lots of interests in visible light communication (VLC). VLC is also a kind of wireless communications with great convenience. A transmitter sends data through an optical source, e.g., LED, by modulating light intensities or colors. A receiver interprets the received signals through an optical sensor, e.g., photodiode, by demodulating the signals. If the modulation of light intensities is fast enough, no flicks of light will be perceived by human eyes during transmissions. More recently, SSL is considered Y.-C. Tseng’s research is co-sponsored by MoE ATU Plan, MOST 1042221-E-009-113-MY3, MOST 104-2218-E-009-009, Academia Sinica AS102-TP-A06, ITRI, Delta, and D-Link. This work was also supported by MOST, NTU, and Intel under Grants MOST 103-2911-I-002-001, NTU-ICRP104R7501, and NTU-ICRP-104R7501-1. Y.-A. Chen, Y.-T. Chang, and Y.-C. Tseng are with the Department of Computer Science, National Chiao Tung University, Hsinchu, 30010, Taiwan (e-mail: {chenya, yitchang, yctseng}@cs.nctu.edu.tw) W.-T. Chen is with the Institute of Information Science, Academia Sinica, Taipei, 11529, Taiwan (e-mail:
[email protected])
Lighting Range D1
Intersection Region D2
Control Host Lighting Device User Device
Fig. 1. The networking scenario of our system.
the main choice for indoor lighting due to its advantages of energy efficiency, longer lifetime, smaller size, and robustness compared to incandescent and fluorescent lighting. Since SSL has fast switching time, a VLC system can be easily embedded into an LED lighting source. Message broadcasting is an important function for indoor VLC applications including positioning, navigation, and advertisement. For example, in a shopping mall, the lighting devices of a region can periodically broadcast advertisements of nearby stores. So customers can get localized advertisements. The main challenge of message broadcasting in indoor VLC is the interference problem. Although the interference caused by ambient light may be eliminated by real-time calibration, the interference caused by other lighting devices is hard to eliminate. This is particularly true because these may not exist return channels for mobile devices to report collisions. So simultaneous broadcast from multiple lighting sources over a common VLC channel without any preprocessing may result in serious collisions. Recently, several solutions have been proposed. Reference [1] presents a TDMA-like mechanism to prevent interference among VLC networks. References [2], [3] exploit frequency shift keying and rolling shutter mechanism of CMOS camera to achieve small data transmission via smartphones. Reference [4] utilizes OFDM modulation to achieve broadcasting at a high data rate in an indoor environment. References [5], [6] use optical code division multiple access (CDMA) to design VLC networks for the access of multiple users. However, these works may need complex hardware or heavy computation for signal and image processing.
2
We propose a framework for optical CDMA-based VLC, which may incur lower hardware and computation costs, to achieve interference-free message broadcasting. In this framework, we design a frame structure to coordinate broadcasting messages from different light sources while carrying essential information for receivers. By exploiting the information, the receiver can realize how to decode broadcast messages with almost no pre-configured knowledge when entering a VLC network. It makes our system very easy to use. In VLC, the modulation and demodulation is usually achieved through intensity modulation with direct detection. Since the light intensity is non-negative, the VLC system is unipolar. However, the traditional CDMA for radio communications, which is bipolar, cannot be directly used. Although there are some unipolar encoding schemes such as optical orthogonal code [7], the code sequence of unipolar schemes is usually larger and the cross-correlation of those schemes may not perform better. In this work, thus, we consider the bipolar encoding scheme and utilize unipolar-bipolar sequencing [8] for conversion. Fig. 1 shows our networking scenario. Multiple lighting devices cover an indoor environment. Each user in the environment should carry a mobile device with an optical sensor. We consider white light LEDs to be the lighting devices. These lighting devices can be arbitrarily deployed in this environment according to illumination requirements. The common scenario which deploys the lighting devices in a grid manner [9], [10] is also supported. Modulation is done through adjusting light intensity. All lighting devices are connected to a control host, which can allocate CDMA codes to lighting devices according to their overlapping regions. For example, in Fig. 1, the range of device D1 intersects with that of device D2 , so the control host must allocate different codes to them to avoid the inter-device interference. Broadcasting messages are issued by the control host and can vary from devices to devices due to CDMA. For instance, to support location-based services (LBS), each device can simply broadcast its geographic information or its unique identification. Since lighting devices normally cover almost everywhere in a building, this achieves indoor localization at low costs. The contributions of this work are as follows. First, we consider a approach with lightweight computation and simple hardware for achieving simultaneous broadcasting because IoT devices may only have limited capabilities. Second, we design the frame structure to carry system information for receivers to join the network without pre-configured knowledge. Third, we introduce the implementation details of our prototyping for fulfilling the simultaneous VLC broadcasting system. Finally, we validate our results by extensive experiments through our prototyping system. The rest of this paper is organized as follows. Related works are surveyed in Section II. Section III introduces our framework design. Section IV presents our prototyping results. Finally, Section V concludes this paper. II. R ELATED W ORKS In this section, we first survey related works on VLC. Then we review works on VLC-based indoor localization since it is
an important application of VLC. Visible Light Communication. Reference [11] provides an overview of VLC and discusses some interference issues. It also points out some potential applications. Reference [12] describes various VLC modulation methods, flicker mitigation, and dimming support. References [13], [14], [15] consider turning VLC into commercialized products. However, these works only focus on data transmission, and the interference issue is not well addressed. In a VLC system, the transmitter could be the LED light and the display screen. Then, the receiver could be the photodiode and the image sensor. Several works [2], [3], [13], [14], [16], [17], [18] utilize the image sensor, i.e., digital camera, as the receiver for constructing VLC. However, the image processing is more complex than handling the received light intensity. Since our goal is to focus on the approach with lightweight computation and low cost for IoT devices, we consider the photodiode as the receiver in this work. For dealing with the interference problem of communications, VLC system may exploit multiple access techniques such as TDMA, FDMA, and CDMA. By applying TDMAlike mechanism, reference [1] schedules the transmissions by tuning the beam width and beam angle. However, this approach cannot achieve simultaneous broadcasting. By exploiting OFDM, reference [4] implements a data broadcasting system of VLC. The usage of OFDM does increase the data rate, but more complex hardware, such as dedicated DSP, is needed. Note that different from our goal, their broadcasting system is designed to achieve high-speed transmission. By utilizing CDMA mechanism, references [5], [6] design VLC networks with OCDMA for multi-user access. In their systems, an individual OCDMA code is assigned to one user for multiple access. However, they are not designed for broadcasting and cannot support location-based services. Our work assigns CDMA codes to lighting sources for achieving simultaneous message broadcasting. Besides, in our application, the code length is determined by the number of intersected lighting sources, which may be much less than the case for multiple access. Indoor Localization with Visible Light. Indoor localization is an potential application for VLC. Several works compute the fine-grained location by analyzing the signal strength of the received light through a specific method such as the correlation method based on the Lambertian law [10], [19], [20], frequency division multiplexing [21], and time differences of arrival [22]. However, the digital communications capability, which comes naturally with VLC, is either lost or not addressed. Our work will cover both issues. For integrating the positioning system with VLC, references [2], [3] exploit the rolling shutter effect of CMOS camera on smartphones to decode modulated beacons from multiple light sources. However, the demodulation is computationintensive when processing captured images. In contrast, our work adopts a lightweight OCDMA mechanism. Reference [23] utilizes bipolar and unipolar OCDMA codes to evaluate the positioning performance. In their work, however, the codes used by lighting sources should be known by the receiver in advance. Our work utilizes a frame structure where the receiver
3
RADIO COMMUNICATIONS X1
1
1
Senders s1,s2,…,sn
VLC X1
1
1
Receiver rix
VLC channel
s1 uses c1
0
c1
Code Conversion
c′1
ri xuses ci
ci
-1 Signal x
Data1
1
X2
-1
1
0
0
2
X1+X2
0
Datai
si uses ci
-1
ci X1+X2
Signal Conversion
…
X2
2
1
Code Conversion
0
c′i
Datai
…
-2
sn uses cn
cn
Code Conversion
c′n
Datan
Fig. 2. Comparison of signals in radio communications and VLC.
Fig. 3. Workflow of our optical CDMA for VLC.
can extract the code assignment and system parameters to generate orthogonal codes in an online manner. Senders s1 and s2 s1 uses c1=(1,1)
III. S YSTEM D ESIGN This section proposes a framework to achieve interferencefree message broadcasting over a CDMA-based VLC network. Our networking scenario is as shown in Fig. 1, where light sources are fixed and controllable, but their illumination regions may intersect. In our system, we use on-off keying (OOK) to modulate the visual signals. For avoiding flicker problem [24], OOK with Manchester encoding could be used to limit the off period of modulated signals. Then, the lighting devices and the receiver follow our proposed frame format to transmit the encoded messages and decode the received signals, respectively. Below, we describe optical CDMA mechanism in Section III-A. The proposed frame structure is discussed in Section III-B. A. Optical CDMA for VLC VLC is a positive system where it uses ‘light on’ and ‘light off’ for modulating symbols 1 and 0, respectively. Binary CDMA used in radio communication systems cannot be directly applied to VLC because a code in CDMA is a sequence of 1s and −1s. Consequently, we exploit unipolarbipolar sequencing to ensure the cross-correlation property, i.e., orthogonality. Fig. 2 illustrates the concept. Since VLC has no negative component (i.e., ‘-1’), the crosscorrelation property in bipolar CDMA needs to be redesigned for VLC. More specifically, we need to redefine the negative components in VLC to regenerate the orthogonality in bipolar CDMA. Observe the combination of x1 and x2 in Fig. 2. These relationships suggest a way to transform the received signal x to a proper form. Here, we describe a generic transformation method that works for any n sources. Note that in our system, the number of lighting sources can be directly inferred from a received frame (refer to Section III-B). Fig. 3 presents the workflow. Each sender si has a CDMA code ci , i = 1, 2, . . . , n. Here, we assume that these codes are mutually orthogonal. To transmit Datai , si first converts code ci to another code,
c1
Code Conversion
c′1
ࢉ ᇱ =(1,1) ࢉഥᇱ =(0,0)
(1,0,0,0) s2 uses c2=(1,-1) Code Conversion
x uses 1
r (1,2,1,0,0,1,1,0)
c′2
Data2
(0,1,0,1)
(0,1,1,0,0,1,1,0)
c1
Signal Conversion
(1,1,0,0,0,0,0,0) ࢉ ᇱ =(1,0) ࢉഥᇱ =(0,1)
c1=(1,1)
(0,2,0,-2,-2,0,0,-2)
Signal x
Data1
c2
Receivers r1x and r2x
VLC channel
VLC
(1,2,1,0,0,1,1,0)
2
Data1
(1,0,0,0)
CDMA 2
1
0
0
-2
Mapping table
r2x uses c2=(1,-1) (0,2,0,-2,-2,0,0,-2) Signal Conversion VLC
(1,2,1,0,0,1,1,0)
2
CDMA
c2 Data2
(0,1,0,1)
2
1
0
0
-2
Mapping table
Fig. 4. An encoding and decoding example of our optical CDMA for VLC.
c′i , by replacing each ‘-1’ in ci by ‘0’ and keeping each ‘1’ unchanged. This conversion introduces the unipolar property to VLC. For example, a code (1, −1) will become (1, 0), but a code (1, 1) will remain unchanged. Then, Datai is encoded using c′i . So signal x is the sum of these modified coded data. At the receiver side rix , the same code ci is used if it wants to decode the data transmitted by si . However, the received sequence x should go through a conversion process before it can be decoded. The conversion is done by replacing each value k in the sequence x by a new value 2k − n. This process actually transforms x back to the bipolar system. Fig. 4 illustrates the workflow using an example. In the signal conversion block, a VLC-to-CDMA mapping table is used, which translates 2, 1, and 0 in VLC to 2, 0, and −2 in CDMA, respectively. Below, we explain the signal conversion process. The basic observation is that when we combine m ‘1’s and (n − m) ‘0’s in VLC, the result will be m · 1 + (n − m) · 0 = m. In the case of CDMA, these (n − m) ‘0’s are (n − m) ‘-1’s, making the combined result m·1+(n−m)·(−1) = (2m−n). This is why we translate each k in x by 2k − n in our conversion. In fact, it is not hard to see that the mapping is one-to-one (i.e., from
4
Header
Code Window
SF=1
SF=2
SF=4
Data Payload
SF=8 11111111
1111 1 1 1 1-1-1-1-1 11
PRE
LSF
Darkness
DEL
Brightness
CNM
CWD
PRE LSF DEL CNM CWD DPL Darkness/Brightness END
DPL : : : : : : :
END
Preamble Log of spreading factor Delimiter Code notification map Code window delimiter Data Payload End of frame
1 1-1-1 1 1-1-1 1 1-1-1 1 1-1-1-1-1 1 1 1 1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1-1 1-1 1 1-1 1-1-1 1 1-1-1 1
Fig. 5. The proposed frame structure. 1-1-1 1
1-1-1 1-1 1 1-1
SF=16 1111111111111111 1 1 1 1 1 1 1 1-1-1-1-1-1-1-1-1 1 1 1 1-1-1-1-1 1 1 1 1-1-1-1-1 1 1 1 1-1-1-1-1-1-1-1-1 1 1 1 1 1 1-1-1 1 1-1-1 1 1-1-1 1 1-1-1 1 1-1-1 1 1-1-1-1-1 1 1-1-1 1 1 1 1-1-1-1-1 1 1 1 1-1-1-1-1 1 1 1 1-1-1-1-1 1 1-1-1 1 1 1 1-1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1-1 1-1 1-1 1-1 1 1-1 1-1-1 1-1 1 1-1 1-1-1 1-1 1 1-1 1-1-1 1-1 1-1 1-1 1 1-1 1-1 1-1-1 1 1-1-1 1 1-1-1 1 1-1-1 1 1-1-1 1 1-1-1 1-1 1 1-1-1 1 1-1 1-1-1 1-1 1 1-1 1-1-1 1-1 1 1-1 1-1-1 1-1 1 1-1-1 1 1-1 1-1-1 1
{−n, −n+2, · · · , 0, 2, · · · , n} in CDMA to {0, 1, 2, · · · , n} in VLC). This also proves the correctness of our optical CDMA system.
Fig. 6. Orthogonal code generation with spreading factor 2, 4, 8 and 16.
Theorem 1. The code conversion and signal conversion procedures ensure that it is a 1-to-1 mapping between the VLC-coded data and the CDMA-coded data.
in CDMA). |LSF | represents the number of slots in the LSF field. Here, we assume that spreading factor is no less than the maximum number of lighting devices that intersect in an illumination region. Thus, through monitoring the length of LSF, the receiver can compute the spreading factor of this network. The 2|LSF | orthogonal codes can be generated by the Walsh-Hadamard coding method [25]. An example of code generation is illustrated in Fig. 6. DEL (delimiter) is simply a darkness slot followed by a brightness slot to specify the end of the previous LSF field. The code window has 2|LSF | + 1 slots from which a recipient can find the CDMA code being used by each transmitter that it can see. The size of CNM is 2|LSF |. For a transmitter that uses the i-th orthogonal code, it simply sets the i-th slot to brightness and sets the rest of the slots to darkness in its CNM (code notification map). Since multiple transmitters may send their code windows at the same time, the receiver may actually see multiple brightness slots indicating the codes of these transmitters. Therefore, it should decode the data payload by the i-th CDMA code for each i-th slot that is bright. This potentially generates multiple messages from the frame. The CWD (code window delimiter) is a brightness slot to specify the end of the code window. Finally, the data payload field contains DPL and END. DPL (data payload) is the broadcasting message of the transmitter encoded by optical CDMA scheme as discussed in Section III-A. The length of data payload can be fixed or specified by a payload length field. END is also a brightness slot to terminate the frame. With the existence of END, we would expect that the preamble PRE will always be the longest continuous darkness slots, which periodically appear in the beginning of each frame. When a receiver enters the network, it should monitor the longest darkness slots that it ever saw. Once the receiver recognizes PRE, it can easily decode frames. This is why our scheme does not need to configure a receiver a priori before it enters the network. It remains to choose a proper length of PRE. We recommend to set |P RE| = 2|LSF | + 1 (i.e., the spreading factor plus 1) where | · | means length. Clearly, there are no more than 2|LSF | consecutive darkness slots in CNM. However, in OOK, we should avoid using CDMA code that are all 1s and all -1s for its complement because they will generate
Note that the above derivation assumes that all CDMA codes are orthogonal. When being applied, we only need to ensure that lighting sources with intersected regions use orthogonal codes. B. Frame Structure for Message Broadcasting Below, we propose a frame structure to support message broadcasting by LED sources. Time is slotted and a receiver can enter the system without any pre-configuration except for the slot length information. All needed system parameters, such as the number of orthogonal codes and the codes that are being used by the transmitters, can be automatically computed by the receiver after it monitors the channel for a while. Moreover, the receiver can eliminate external lighting noises by measuring the designed period in the frame structure. The control host should assign codes to lighting devices such that no two transmitters with overlapping coverage will use the same code. Lighting devices should be synchronized so that their frames are aligned over time. The synchronization could be achieved by the control of the centralized control host. Fig. 5 shows the proposed frame structure. For simplicity, we assume that OOK modulation is used. Here, darkness means that the slot is transmitting a symbol ‘0’ and brightness means that the slot is transmitting a symbol ‘1’. If OOK with Manchester encoding is adopted, “darkness” and “brightness” here are mapped to light pulses from “brightness” to “darkness” and “darkness” to “brightness” respectively. Each frame has three parts: header, code window, and data payload. The header has three fields: PRE, LSF, and DEL. Its main purpose is to indicate the beginning of a frame and the spreading factor used in the network. PRE (preamble) is a sequence of darkness slots long enough to distinguish the beginning of a frame (i.e., all continuous darkness slots in the rest of the frame should be shorter than PRE). Later on, we will discuss how to set the length of PRE. LSF (log of spreading factor) is a sequence of brightness slots such that 2|LSF | is the CDMA code length (i.e., the spreading factor
5
2|LSF | consecutive darkness slots in DPL when transmitting data bit 0. When such data bits are put together with other data bits, there may exist consecutive darkness slots that are longer than 2|LSF |. In the Walsh-Hadamard codes, as long as we avoid using all-1 code, the longest darkness slots generated by any two consecutive data bits cannot be larger than 2|LSF | (We omit the proof here). With this modification, the spreading factor of the system should be chosen such that 2|LSF | − 1 is no less than the maximum number of lighting devices that intersect in an illumination region. For example, if there are 4 lighting devices co-existing in a region, the spreading factor should be 8 since 4 cannot satisfy the above constraint. Finally, we remark some designs of our proposed frame structure. First, the existence of ambient light in an indoor environment may interfere data decoding. One possibility is to measure the ambient light intensity during the PRE period and then compensate this value when processing signals. Second, one usage of the CNM field is that the brightness slot can be utilized by the receiver as reference to measure each transmitter’s reference light intensity of symbol ‘1’. The receiver then converts the received light intensity to the combined values mentioned in Section III-A according to the combination of these references.
•
•
•
IV. P ROTOTYPING R ESULTS This section presents our implementation of a VLC prototyping system to verify the proposed concept. Fig. 7 shows our demonstration scenario, which is built inside a model room of dimensions 1.2×0.8×0.3 (length × width × height) in meters. Fig. 8 shows a demonstration scenario, where a user device is under two lighting sources, and the snapshot on the right shows the decoded IDs of lighting sources. Fig. 9 shows our system architecture, including hardware and software components. The system can be divided into three parts: control host, actuator and LEDs, and user devices. Below, we describe each part in details. A. Control Host The control host is implemented by NXP Jennic JN5148 [26]. JN5148 contains a 32-bit RISC CPU with clock speeds 4 ∼ 32MHz. In addition, there are up to 21 digital input output (DIO) ports, 4 12-bit ADCs, and 2 12-bit DACs in a JN5148. The control host contains five components: broadcasting handler, code handler, message encoding handler, frame configuration handler, and frame filling handler. • Broadcasting handler: This component is responsible for preparing broadcasting messages to lighting devices. The broadcasting messages for different devices can be set by the system administrator or an external application server. When a message is ready, this handler forwards it to the message encoding handler. • Code handler: The two main tasks are (i) assigning CDMA codes to lighting devices according to their interference relationships and (ii) translating the codes according to the code conversion algorithm discussed in Section III-A. For (i), the handler classifies each lighting
device to a coding set by applying an independent set algorithm according to devices’ interference relationships. The lighting devices of the same coding set are then assigned the same CDMA code. The code assignment guarantees no interference among lighting devices in the same coding set. Note that the code assignment problem has been proved to NP-complete (by reducing to the graph coloring problem) [27]. So a heuristic has to be used here. Many heuristics have been proposed in the literatures [28][29]. For (ii), the bipolar codes are converted to unipolar VLC codes. After this conversion, it sends these converted codes to the message encoding handler. Message encoding handler: The main task of this component is to conduct the encoding process, by spreading each data bit to multiple chips according to their VLC codes. The encoded messages are then sent to the frame handler. Frame configuration handler: The code settings determined by the code handler are used by this component to decide some important frame parameters, such as length of PRE, length of LSF, and content of CNM. Then, it provides these settings to the frame filling handler. Frame filling handler: This component serves as the interface between the control host and the light devices. It is also responsible for frame construction. A frame is constructed by combining the encoded messages received from the message encoding handler and the information received from the frame configuration handler. These frames are then transmitted to their corresponding lighting devices.
B. Actuator and LEDs An actuator controls one lighting device according to the frames received from the control host. In our prototype, the actuators are also implemented by NXP Jennic JN5148. The modulation handler of an actuator modulates its broadcasting frames by OOK modulation and propagates control signals to the optical transmitter. The connection between an actuator and its LEDs is through DIOs of JN5148. The optical transmitters of a lighting source are a set of white light LEDs as shown in Fig. 7(b). The optical transmitters generate white light according to the commands from the actuator. C. User Device The user device, which is shown in Fig. 7(c), is an NXP Jennic JN5148 with a Si photodiode [30] as its optical receiver. It converts received VLC signals into broadcasting messages and can forward the messages to any mobile applications. It contains five components: optical receiver, frame structure analyzer, code handler, signal conversion handler, and message decoding handler. • Optical receiver: This component is made of Si photodiode. Si photodiode can perceive the received light intensity and convert it to an analog signal. We utilize an ADC converter in Jennic JN5148 to convert the analog signal to a digital signal. Then the stream of perceived
6
Actuator Jennic module
Actuator
White Light LEDs
User device
White Light LEDs
(a)
USB interface
Si photodiode
(b)
(c)
Fig. 7. (a) The prototype of our VLC broadcasting system inside a model room. (b) An actuator connected to LEDs. (c) The user device.
LEDs
Mobile device
IDs of the two LEDs are decoded User device
(a)
(b)
Fig. 8. A demonstration scenario: (a) The user device is under two lighting devices. (b) The decoded IDs of the two lighting devices.
•
•
•
•
digital signals is sent to the frame structure analyzer for further processing. Frame structure analyzer: Its main task is to extract frames from the digital signals by searching the PRE field of each frame header and to retrieve the fields of a frame according to our frame format. For each frame, its LSF and CNM are sent to the code handler. Then, the signals of the data payload DPL are sent to the signal conversion handler. Code handler: From LSF, it first calculates the spreading factor. Then, from CNM, the user device can further calculate the number of sources that it can see and the set of CDMA codes used by these sources. The set of codes that are being used by these sources is sent to the message decoding handler to decode the broadcast messages. Signal conversion handler: This component implements the signal conversion algorithm in Section III-A. It reconstructs the bipolar signals, which can be processed by the original CDMA decoding procedure. Then the converted signal of DPL is sent to the message decoding handler for further processing. Message decoding handler: This handler takes the converted signal of DPL and decodes it by each CDMA code in the code set provided by the code handler. The decoded messages can be sent through USB or Bluetooth interface to any external applications.
D. Performance Verification We conducted some experiments to understand the transmission errors under different conditions in our prototyping
Control Host Broadcasting handler Broadcast messages
Code handler Converted VLC codes
Message encoding handler
Code settings
Frame configuration handler
Encoded messages
Network settings
Frame filling handler External application
User Device Actuator & LEDs
Broadcast messages
Broadcasting frames
Modulation handler
Message decoding handler
Optical transmitters
Converted signal of DPL
Code set
Control commands
n
Code handler
Signal conversion handler
LSF and CNM
Frame structure analyzer
Signal of DPL
Optical receiver VLC signals
Fig. 9. The architecture of our VLC broadcasting system.
room model. The system parameters for our experiments are listed in Table I. We define four types of errors (i.e., non-DPL, chip, symbol, and frame) for realizing the influence of noises to the proposed frame format. The non-DPL error means that at least one bit in the PRE and CNM fields which are not CDMA-encoded of a frame is incorrect The chip and symbol errors are for evaluating errors in the DPL field. As discussed in Section III-A, a data bit is spread by a code sequence. We call the bits in the spreading code sequence chips. The chip error means that some decoded bits in DPL field are different from the corresponding bits in the combined signals.
7
TABLE I PARAMETERS USED IN OUR EXPERIMENTS .
Parameter Frequency of LEDs Slot length of each frame Sampling rate of user device Spreading factor Position of user device Maximum lighting devices Data bits for lighting devices
Transmitted frames
D4
D3
Setting 1kHz 1ms 5kHz 4 (except for experiment 4) p1 in Fig. 10(a) (except for experiment 2) 4 D1 :{10101010} D2 :{01000010} D3 :{01000110} D4 :{01000111} more than 10, 000
D4 P4
P2
D2
D1
(a)
D3 P3
P1
D1
D2
(b)
Fig. 10. Positions of the user device in our experiments. (a) p1 is at the center of intersected region of the four LEDs and p2 is near the boundary of two LEDs’ lighting range. (b) p3 is at the center of intersected region of the three LEDs and p4 is near the boundary of one LED’s lighting range.
The symbol error means that some bits in the chip sequence are incorrect such that the original data bit cannot be recovered. The frame error means that there is at least one error bit in a received frame. Below, we use the correctness ratio, which is the percentage of correct data in the corresponding context, to make comparison under different conditions. 1) Varying the number of lighting devices: We measure the decoding errors of a static user device while increasing the number of lighting devices in an illumination region. The user device is placed at p1 of Fig. 10(a). Fig. 11 shows the experiment result. The result indicates that the correctness ratio of the non-DPL fields are all 100%. The reason is that there is no simultaneous transmission among lighting devices in the PRE and CNM fields. As we expect, the correctness ratios of other schemes decrease while the number of lighting devices increases. Since all lighting devices broadcast their messages in the data payload field, errors may occur when recovering the combined signals from the sensed light intensity. However, the correctness ratios are all above 96%. 2) Placing user device at different positions: We place the user device at different positions, p1 , p2 , p3 , and p4 in Fig. 10 to measure these errors. Fig. 12 shows the experiment result at these positions. The result indicates that the correctness ratio decreases when the user device moves to the boundary of lighting range. Thus, decoding the combined signals may become more difficult at boundary
of a lighting range than at center of a lighting range. Note that the correctness ratios of non-DPL are still 100% since signals of PRE and CNM fields can be easily recognized. 3) Varying the moving speed of user device: We measure the correctness ratio while the user device is moved slowly in our model room. Fig. 13 shows the experiment result. The result indicates that the correctness ratios of data payload (i.e., chip and symbol) will degrade as users are in movement. The main reason may be due to the fact that the reference of ‘light on’ for each LED is unstable when decoding the combined signals. Moreover, the non-DPL field has also a few errors in this experiment. 4) Varying the CDMA code length: We choose different CDMA code lengths (i.e., spreading factors) for evaluation. In this experiment, there are only two lighting devices in the code length ‘2’ scenario and there are four lighting sources in code length ‘4’, ‘8’, and ‘16’ scenarios. Fig. 14 shows the experiment result. We do not plot the correctness ratios of non-DPL since spreading code mechanism is not used in the header and code window fields. The result indicates that correctness ratios of symbols and frames will slightly decrease as we increase the code length by the definitions of the errors previously defined. We may consider to apply error detection or correction code to the frame structure in the future. 5) Varying the distance and toggle frequency of ambient light: We conduct an experiment to evaluate the influence of ambient light. As we discussed in Section III-B, we utilize PRE period to measure the ambient light for compensation of signal processing. Fig. 15(a) and Fig. 15(b) show experiment results with and without ambient light processing, respectively. The ambient light is an LED light source without carrying any data and is fixed above the rooftop. The rooftop of the room model is a clear acrylic sheet, where the ambient light can penetrate. Then, we vary the distance between the ambient light and the rooftop. As shown in Fig. 15(b), a closer ambient light would heavily affect the correctness ratios when there is no ambient light processing. Furthermore, we also toggle the ambient light with a fixed frequency for evaluating the influence of the flickering light. Fig. 15(c) shows that the ambient light processing is hard to handle the flickering light since light noises vary in a frame frequently. However, the flickering light is seldom in our daily life and the sunlight is the major ambient light which can be handled. V. C ONCLUSIONS In this paper, we have presented a framework which exploits CDMA-based VLC technique to tackle the interference problem among lighting sources. We consider using white light LEDs as the optical transmitters and photodiode as optical receivers. So the cost to build such a VLC network should be quite low and, even better, the network can coexist with our illumination system. By using the CDMA technique, we have shown that VLC transmitters and receivers can be designed with simple hardware and lightweight computation.
8
Non-DPL
Chip
Symbol
Frame
Non-DPL
99 98 97 96 95 2 3 Number of lighting devices
Non-DPL
85 80
Chip
Symbol
p2 p3 Position of user device
p4
Fig. 12. Comparison of correctness ratios when the user device is placed at different positions. Chip
Frame
Symbol
Frame
100 Correctness ratio (%)
Correctness ratio (%)
90
p1
100
90
80
98 96 94 92 90
70 2
2
4 Movement speed (cm/sec)
Symbol
Frame
Non-DPL
90
90
Correctness ratio (%)
100
80 70 60 50 40 30 20
Chip
Symbol
Frame
9cm
12cm
16
Non-DPL
Chip
Symbol
100
80 70 60 50 40 30 20
Distance of ambient light above the roof
8 Code length
Correctness ratio (%)
Chip
100
4
Fig. 14. Comparison of correctness ratios by varying the applied CDMA code length.
Fig. 13. Comparison of correctness ratios by varying the moving speed of the user device.
Correctness ratio (%)
95
4
Fig. 11. Comparison of correctness ratios by increasing the lighting devices in an illumination region.
6cm
Frame
75 1
Non-DPL
Symbol
100 Correctness ratio (%)
Correctness ratio (%)
100
Chip
80 60 40 20 0
6cm
9cm
12cm
Distance of ambient light above the roof
(a)
5kHz6cm
5kHz9cm
0.1kHz6cm
0.1kHz9cm
Toggle frequency and distance of ambient light
(b)
(c)
Fig. 15. Comparison of correctness ratios by varying the distance of ambient light (a) with and (b) without ambient light processing and varying the toggle frequency of ambient light (c).
The unipolar-bipolar sequencing for optical CDMA allows the CDMA technique to be used in unipolar systems. We proceed further by designing a frame structure that allows multiple LED sources to broadcast their (distinct) messages simultaneously while avoiding collisions. The frame structure is designed in such a way to allow a user device to enter the network without requiring any pre-configurations. The key idea is to embed the CDMA codes used by lighting sources inside their frames. With this zero-configuration property, we believe that our approach has a great potential to be used by future smart phones and IoT devices, for example, for the purpose of indoor localization with meter-level accuracy. We have demonstrated a prototype and conducted various experiments to understand the technique barriers. Although our prototyping can be realized at low cost, the current communication range, which is less than a meter, is still not
practical enough for real usage and deserves further studies. R EFERENCES [1] Y. Li, L. Wang, J. Ning, K. Pelechrinis, S. Krishnamurthy, and X. Zhengyuan, “VICO: A framework for configuring indoor visible light communication networks,” in Proc. of IEEE Int’l Conference on Mobile Ad hoc and Sensor Systems (MASS), 2012. [2] Y.-S. Kuo, P. Pannuto, K.-J. Hsiao, and P. Dutta, “Luxapose: Indoor positioning with mobile phones and visible light,” in Proc. of ACM Int’l Conference on Mobile Computing and Networking (MobiCom). [3] N. Rajagopal, P. Lazik, and A. Rowe, “Visual light landmarks for mobile devices,” in Proc. of Int’l Conference on Information Processing in Sensor Networks (IPSN), 2014. [4] H. Elgala, R. Mesleh, and H. Haas, “Indoor broadcasting via white LEDs and OFDM,” IEEE Transactions on Consumer Electronics, vol. 55, no. 3, pp. 1127–1134, 2009. [5] M. F. Guerra-Medina, B. Rojas-Guillama, O. Gonzalez, J. Mart´ınGonz´alez, E. Poves, and F. J. L´opez-Hern´andez, “Experimental optical code-division multiple access system for visible light communications,” in Proc. of Wireless Telecommunications Symposium (WTS), 2011.
9
[6] M. Noshad and M. Brandt-Pearce, “High-speed visible light indoor networks based on optical orthogonal codes and combinatorial designs,” in Proc. of IEEE Global Telecommunications Conference (Globecom), 2013. [7] J. A. Salehi, “Code division multiple-access techniques in optical fiber networks. i. fundamental principles,” IEEE Trans. on Communications, vol. 37, no. 8, pp. 824–833, 1989. [8] K. Wong and T. O’Farrell, “Spread spectrum techniques for indoor wireless IR communications,” IEEE Wireless Communications, vol. 10, no. 2, pp. 54–63, 2003. [9] M.-S. Pan, L.-W. Yeh, Y.-A. Chen, Y.-H. Lin, and Y.-C. Tseng, “A wsn-based intelligent light control system considering user activities and profiles,” IEEE Sensors Journal, vol. 8, no. 10, pp. 1710–1721, 2008. [10] L.-W. Yeh, C.-Y. Lu, C.-W. Kou, Y.-C. Tseng, and C.-W. Yi, “Autonomous light control by wireless sensor and actuator networks,” IEEE Sensors Journal, vol. 10, no. 6, pp. 1029–1041, 2010. [11] H. Elgala, R. Mesleh, and H. Haas, “Indoor optical wireless communication: potential and state-of-the-art,” IEEE Communications Magazine, vol. 49, no. 9, pp. 56–62, 2011. [12] S. Rajagopal, R. D. Roberts, and S.-K. Lim, “IEEE 802.15.7 visible light communication: modulation schemes and dimming support,” IEEE Communications Magazine, vol. 50, no. 3, pp. 72–82, 2012. [13] “ByteLight,” http://www.bytelight.com/. [14] “Picapicamera,” http://www.casio-isc.com/. [15] “pureLiFi,” http://purelifi.co.uk/. [16] T. Hao, R. Zhou, and G. Xing, “COBRA: color barcode streaming for smartphone systems,” in Proc. of Int’l Conference on Mobile Systems, Applications, and Services (MobiSys), 2012. [17] Z. Yang, Z. Wang, J. Zhang, C. Huang, and Q. Zhang, “Wearables can afford: Light-weight indoor positioning with visible light,” in Proc. of Int’l Conference on Mobile Systems, Applications, and Services (MobiSys), 2015. [18] H.-Y. Lee, H.-M. Lin, Y.-L. Wei, H.-I. Wu, H.-M. Tsai, and K. C.-J. Lin, “RollingLight: Enabling line-of-sight light-to-camera communications,” in Proc. of Int’l Conference on Mobile Systems, Applications, and Services (MobiSys), 2015. [19] S. Hann, J.-H. Kim, S.-Y. Jung, and C.-S. Park, “White LED ceiling lights positioning systems for optical wireless indoor applications,” in Proc. of European Conference and Exhibition on Optical Communication (ECOC), 2010. [20] W. Zhang and M. Kavehra, “A 2-d indoor localization system based on visible light LED,” in Proc. of IEEE Photonics Society Summer Topical Meeting Series, 2012. [21] H.-S. Kim, D.-R. Kim, S.-H. Yang, Y.-H. Son, and S.-K. Han, “An indoor visible light communication positioning system using a RF carrier allocation technique,” IEEE/OSA Journal of Lightwave Technology, vol. 31, no. 1, pp. 134–144, 2013. [22] K. Panta and J. Armstrong, “Indoor localisation using white LEDs,” Electronics Letters, vol. 48, no. 4, pp. 228–230, 2012. [23] S. De Lausnay, L. De Strycker, J.-P. Goemaere, N. Stevens, and B. Nauwelaers, “Optical cdma codes for an indoor localization system using vlc,” in Proc. of International Workshop in Optical Wireless Communications (IWOW), 2014. [24] J. Bullough, K. S. Hickcox, T. Klein, and N. Narendran, “Effects of flicker characteristics from solid-state lighting on detection, acceptability and comfort,” Lighting Research and Technology, vol. 43, no. 3, pp. 337–348, 2011. [25] J. H. van Lint, Introduction to coding theory. Springer, 1999, vol. 86. [26] “Jennic jn5148 wireless microcontroller modules,” http://www.jennic. com/products/modules/jn5148 modules. [27] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Third Edition, 3rd ed. The MIT Press, 2009. [28] D. Br´elaz, “New methods to color the vertices of a graph,” Communications of the ACM, vol. 22, no. 4, pp. 251–256, 1979. [29] D. J. Welsh and M. B. Powell, “An upper bound for the chromatic number of a graph and its application to timetabling problems,” The Computer Journal, vol. 10, no. 1, pp. 85–86, 1967. [30] “Hamamatsu Si PIN photodiode S5971,” http://www.hamamatsu.com/ us/en/product/application/1508/4379/S5971/index.html.
Yan-Ann Chen Yan-Ann Chen received his B.S. and M.S. degrees from the National Dong Hwa University and National Chiao Tung University, Taiwan, in 2005 and 2007, respectively. He is currently pursuing Ph.D. in the Department of Computer Science, National Chiao Tung University, Taiwan. His research interests include pervasive computing and internet of things.
Yi-Ting Chang Yi-Ting Chang received his B.S. and M.S. degrees from the Tamkang University and National Chiao Tung University, Taiwan, in 2011 and 2013, respectively. His research interests include wireless sensor networks and visible light communications.
Yu-Chee Tseng Yu-Chee Tseng got his Ph.D. in Computer and Information Science from the Ohio State University in January of 1994. He was/is Chairman (2005-2009) and Dean (2011-present), College of Computer Science, National Chiao-Tung University, Taiwan. Dr. Tseng has been awarded as NCTU Chair Professor (2011-present) and Y. Z. Hsu Scientific Chair Professor (2012-2013). He received Outstanding Research Award (National Science Council, 2001, 2003, and 2009), Best Paper Award (Int’l Conf. on Parallel Processing, 2003), Elite I. T. Award (2004), and Distinguished Alumnus Award (Ohio State University, 2005), and Y. Z. Hsu Scientific Paper Award (2009). His research interests include mobile computing, wireless communication, and sensor networks. Dr. Tseng is an IEEE Fellow. He served/serves on the editorial boards of IEEE Trans. on Vehicular Technology, IEEE Trans. on Mobile Computing, IEEE Trans. on Parallel and Distributed Systems, and IEEE Internet of Things Journal. His h-index is more than 50.
Wen-Tsuen Chen Wen-Tsuen Chen (M’87-SM’90F’94) received the B.S. degree in nuclear engineering from the National Tsing Hua University, Hsinchu, Taiwan, in 1970 and the M.S. and Ph.D. degrees in electrical engineering and computer sciences from the University of California Berkeley, Berkeley, CA, USA, in 1973 and 1976, respectively. Since 1976, he has been with the National Tsing Hua University, where he is currently a Distinguished Chair Professor with the Department of Computer Science, College of Electrical Engineering and Computer Science. He has served as the Chairman of the Department, as the Dean of the College of Electrical Engineering and Computer Science, and as the President of the National Tsing Hua University. Since March 2012, he has been with Academia Sinica, Taipei, Taiwan, as a Distinguished Research Fellow with the Institute of Information Science. His research interests include computer networks, wireless sensor networks, mobile computing, and parallel computing. Dr. Chen is a Fellow of the Chinese Technology Management Association. He is the Founding General Chair of the IEEE International Conference on Parallel and Distributed Systems and the General Chair of the 2000 IEEE International Conference on Distributed Computing Systems, among others. He is currently a lifelong National Chair of the Ministry of Education of Taiwan. He was a recipient of numerous awards for his academic accomplishments in computer networking and parallel processing, including the Outstanding Research Award of the National Science Council, the Academic Award in Engineering from the Ministry of Education, and the Technical Achievement Award and the Taylor L. Booth Education Award of the IEEE Computer Society.