UBC Faculty Research and Publications

Undersampled differential phase shift on-off keying for optical camera communications with phase error… Liu, Niu; Cheng, Julian; Holzman, Jonathan F. Mar 21, 2018

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata


52383-Liu_N_et_al_Undersampled_Differential_Phase_Shift_2017.pdf [ 328.1kB ]
JSON: 52383-1.0364412.json
JSON-LD: 52383-1.0364412-ld.json
RDF/XML (Pretty): 52383-1.0364412-rdf.xml
RDF/JSON: 52383-1.0364412-rdf.json
Turtle: 52383-1.0364412-turtle.txt
N-Triples: 52383-1.0364412-rdf-ntriples.txt
Original Record: 52383-1.0364412-source.json
Full Text

Full Text

Undersampled Differential Phase Shift On-OffKeying for Optical Camera Communications withPhase Error DetectionNiu Liu∗, Julian Cheng† and Jonathan F. Holzman‡School of Engineering, The University of British ColumbiaKelowna, BC, Canada V1V 1V7Email: ∗niu.liu@alumni.ubc.ca, †julian.cheng@ubc.ca, ‡jonathan.holzman@ubc.caAbstract—This paper introduces the design and implementa-tion of an optical camera communication (OCC) system. Phaseuncertainty and phase slipping caused by camera sampling arethe two major challenges for OCC. In this paper, we proposea novel modulation scheme to overcome these problems. Theundersampled differential phase shift on-off keying is capableof encoding binary data bits without exhibiting any flickerto human eyes. The phase difference between two consecutivesamples conveys one-bit information which can be decoded bya low frame rate camera receiver. Error detection techniquesare also introduced to enhance the reliability of the system.Furthermore, we present the hardware and software design of theproposed system. This low-cost communication system has beenimplemented with a Xilinx FPGA and a Logitech commercialcamera. Experimental results demonstrate that a bit-error rateof 10−5 can be achieved with 7.15 microwatts received signalpower over a link distance of 15 centimeters.I. INTRODUCTIONIn recent years, with the increasing concerns regardingenergy consumption and environmental protection, the lightemitting diode (LED) has become the choice for sustainableillumination. LEDs are now gradually taking the place ofincandescent lamps. This green technology offers more bright-ness, lower energy consumption, and longer lifespan, making itwell-suited for architectural decoration, traffic control, generallighting etc. The development of illumination technology alsooffers great opportunities for transmitting data by LEDs. Rele-vant research of visible light communication (VLC) originatedin Japan around 2003 with the establishment of the VisualLight Communication Consortium (VLCC). After that, VLChas been attracting growing interest worldwide.Initiated in 2008 and completed in 2011, IEEE 802.15.7was the first VLC standard. After years of waiting, thereare few commercialized VLC products on the market. Dueto the increasing popularity of portable smart devices, someresearchers [1] believed that camera communication is muchcloser to the market than photodiodes. More interest has beenattracted to utilize embedded commercial cameras as VLCreceivers [2]. Considering camera data reception is a necessaryand significant amendment to the VLC standard, a revision to802.15.7 is currently being undertaken by IEEE 802.15.7r1OWC task group. This revision is expected to be publishedby 2018. Engineers are looking forward to extending OCCtechnology to billions of existing smart devices with the newVLC standard, without requiring any hardware modification.However, challenges and technical problems still exist forOCC. Firstly, the sample rate of a commercial camera istypically 30 frames per second (fps). As LED lighting flickermay induce biological human response, it is suggested thatflickering in the 3 Hz to 70 Hz range should be avoided [3].So a flicker-free OCC transmitter has to blink at frequenciesthat exceed the camera’s frame rate, and the receiver has toundersample the transmitted signals. In addition, the transmit-ters and the receivers are not strictly synchronized, and it isdifficult to know the phase difference between the transmittedsignal and the camera receiver, so the received on-off keying(OOK) waveform slowly slips with respect to the samplingpoint [4]. The phase slipping problem can cause more errorbits and degenerate the system performance. For these reasons,demodulation of OCC is more challenging than that of non-imaging VLC systems. Several modulation techniques havebeen proposed for OCC in recent years [5]–[9].Undersampled frequency shift on-off keying (UFSOOK) [6]uses a pair of discrete OOK frequencies to transmit logic onesand zeros respectively. Different symbols present differentpatterns to the camera. The demodulator uses two imageframes to decode one-bit information. Because of this, thebit rate could not exceed half of the camera sample rate. Tobe more specific, if UFSOOK is applied to a 30 fps camerareceiver, the data rate was limited to 15 bits per second (bps).The authors in [7] and [8] introduced pulse amplitude mo-dulation (PAM) and quadrature amplitude modulation (QAM)into OCC. Image sensors are not linear devices. The operationof encoding and decoding luminance values, which is knownas gamma correction, is nonlinear [10]. As more than twoamplitude levels are used in [7] and [8], the nonlinearity intro-duced by gamma correction had to be taken into consideration.Received images need to be compensated before demodulationin order to mitigate the non-linear effect. A special frame headsequence was introduced to detect the camera sample phaseand obtain the gamma curve.Undersampled phase shift on-off keying (UPSOOK) [9]is a dual-LED modulation technique that can reach a hig-her transmission speed. The modulation relies on differentcombinations of the ON/OFF status of two LEDs. Thus, the(c) 2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other users, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works for resale or redistribution to servers or lists, or reuse of any copyrighted components of this work in other works.demodulator is required to know the exact sample phase of thecamera. To do so, the authors designed a special frame headwhich is examined before every frame is demodulated. If anincorrect sample phase is detected, all sampled values in thesame data frame have to be inverted.OCC is sensitive to ambient light. Sunlight or other back-ground noise can degrade the system performance. In addition,a disturbing problem that can increase the system bit-errorrate (BER) is that the transmitters and receivers are at asyn-chronous frequencies. To the best of our knowledge, only asmall number of error detection techniques have been proposedfor OCC. The authors in [4] proposed a space-time forwarderror correction scheme based on USFOOK when dimmingcontrol was required. Multiple-phase sampling was employedto detect and correct the erroneous sample phase. This requiresthe transmitter to repeat the same data frame three times, eitherspatially or temporally, which will reduce the communicationefficiency.In this paper, a novel modulation scheme undersampleddifferential phase shift on-off keying (UDPSOOK) is proposedto overcome the phase uncertainty problem and increase thedata rate. The UDPSOOK demodulator is not required to knowthe sampling phase of the camera. Furthermore, a new errordetection mechanism is proposed to help reduce the error bitscaused by phase slipping. In addition, the experimental setupand results are introduced in Section V.II. MODULATION/DEMODULATIONTo prevent human eyes from photobiological hazard, OCCsystems are required to exhibit no flicker to users with differentdimming requirements. The ideal blinking frequency of anOCC transmitter is between 90 Hz and 1,000 Hz. Assumingthe frame rate of a commercial camera is fs and the frequencyof the OOK square wave carrier is fc, we can always find aninteger n for UDPSOOK to ensurefc = n× fs, 90Hz < fc < 1000Hz. (1)The transmitted UDPSOOK signal s(t, θ) can be expressed ass(t, θ) = sgn[sin(fct+ θ)] (2)where fc is chosen by (1), θ is the phase of the OOK carrier,and sign function is defined as follows:sgn(x) ={1 x≥00 x<0(3)Every 1/fs seconds the modulator changes the value of θdepending on the binary bit to be transmitted. A bit “1” istransmitted by adding 180◦ phase shift to the current signal,while a “0” is transmitted by adding 0◦ to θ. In other words,one bit of information is represented by a change of phasebetween two consecutive frames.Figure 1 illustrates the modulated waveform of binarysequence “110”. In the figure, we assume fs is the camerasample rate and n = 4 so that fc = 4fs. Every frame consistsof 4 cycles of the OOK carrier. Dashed lines represent 1/fsFig. 1. Modulated UDPSOOK symbols.seconds interval. The phase of the square waveform has beentoggled twice in the first two 1/fs seconds in order to transmittwo logic ones. Similarly, the phase stays unchanged for thelast frame to send a logic zero.The red lines represent the sampling moments of the re-ceiver. At the demodulator, received bits are determined bycomparing the phase between two consecutive samples. Thedemodulation rule can be simply expressed asθk − θk−1 = θ∆ ={0 “0”pi “1”(4)where θk is the carrier phase of the kth sampling. This rulecan be implemented by using an exclusive OR operation asbk−1 = sk ⊕ sk−1 (5)where sk is the kth sampled value of the camera. We mapsk to “1” when the LED is on and sk to “0” when the LEDis off. The structure of the demodulator can be simplified asshown in Fig. 2.Fig. 2. UDPSOOK demodulation.Fig. 3. Different sampling timing for UDPSOOK.UDPSOOK transmits signals by controlling the phase dif-ference of two consecutive samples, so that n camera framescarry n − 1 bits information. The theoretical maximum datarate Rmax can be obtained byRmax = fs × limn→∞n− 1n= fs (6)which has been doubled compared to the maximum achieveddata rate in [6].On the other hand, in a practical OCC system, it is difficultto predict the sampling phase of a camera as the sampling canoccur at any position regarding the timeline. But UDPSOOKdoes not need to know the relationship between the camerasampling points and the received signal waveforms since thedemodulation is solely based on the phase difference betweentwo frames. Fig. 3 illustrates how UDPSOOK is immune fromthe camera phase uncertainty. In the figure, the time differencebetween two consecutive arrows with the same colour is1/fs. Different colour indicates different sampling phase. InFig. 3, red arrows indicate one set of possible samples forthe bit sequence “110”. If the sampling takes place at thegreen positions, which have a pi phase shift from the redarrows, the sampled values will be fully inverted. However,the UDPSOOK demodulator obtains the same bit sequence“110” from the green samples because the phase differencebetween two consecutive frames does not change.(a) non-50% duty cycle decoding for UFSOOK(b) non-50% duty cycle decoding for UDPSOOKFig. 4. Non-50% duty cycle demodulationUDPSOOK also supports dimming control. The LED brig-htness can be changed by increasing or decreasing the dutycycle of the OOK signal. A fixed 50% duty cycle is notpracticable in reality. Assuming a logic one is transmitted byUFSOOK (Fig. 4a) and UDPSOOK (Fig. 4b) respectively, itis shown that UFSOOK is more likely to have an erroneoussampling result (green arrows) when the duty cycle is greaterthan 50%, but UDPSOOK can adapt to any different dutycycle.Another problem introduced by image sensors is phaseslipping. For a typical OCC system, as the receiver andthe transmitter are not strictly synchronized, the samplingpoints are gradually slipping regarding the OOK waveforms.A sampling phase error occurs when a pi phase shift comes. Inour experiment, phase slipping is a major source of error bits,so we propose an error detection technique for UDPSOOKto reduce the system BER. In this proposed system, twoLEDs are employed. We use one LED to accomplish datatransmission and an extra LED to carry out error detection.The data transmission LED is a UDPSOOK transmitter, andthe error detection LED keeps sending bit “0”s during thedata transmission. As a “0” UDPSOOK bit sequence triggersno phase toggling on the LED, the demodulator expects tosee no phase difference on received image samples. Since thisLED suffers from the same channel noise and phase slippingproblem, if any sampling error occurs, it can precisely indicatethe incorrect samples by looking for a sudden phase change.Then the demodulator corrects the sampling errors by simplyflipping the erroneous sampled values.As shown in Fig. 5, the red arrows indicate a correctsampled sequence [ON, OFF], which is decoded as a bit “1”.When a phase error occurs, the second red sampling pointslips to the green arrow position and gives rise to an incorrectsampled sequence [ON, ON], which will be decoded as a bit“0”. This error can be observed by the receiver due to thephase change of the error detection LED. The demodulatorwill invert the second sampled value to get the correct decodedbit.Fig. 5. UDPSOOKED sampling.III. FRAMING STRUCTUREIn order to detect the start of a transmission, the UDPSOOKdata is preceded by a start frame delimiter (SFD). An extra bitis added to the end of the payload for parity check to furtherenhance the system reliability. A data frame is shown in Fig.6.Fig. 6. Frame structure of the proposed OCC system.An SFD consists of two parts. The first part is a high-frequency OOK symbol that lasts for two frames. This highfrequency is required to be greater than the cutoff frequencyof the receiver so that this status can be recognized neitheras fully ON nor as fully OFF. Instead, the camera extractsthe average intensity [6] and interprets this status as half ONassuming a 50% duty cycle is used.The second part of SFD for a data transmission LED isa UDPSOOK bit “1” (Fig. 6). If a logic “1” is not observedduring the decoding of an SFD, the data frame might have beencorrupted and should be discarded. The error detection LEDhas a different second part of SFD. After the first 2/fs seconds,it starts to transmit a bit “0”, i.e. two frames of OOK signalswhich have identical phase. In this way, an SFD not only startsa frame but also helps the receiver distinguish between the twodifferent functional LEDs. If a receiver observes a logic “0”after the 2/fs seconds half ON, it will recognize this LED asan error detection transmitter.Following the SFD is the payload of the data frame. Thedata frame ends when the receiver detects another SFD. Thelast bit of a data frame is a parity bit used to detect the possibletransmission errors. The receiver calculates the number of “1”swhen a full data frame is received. When parity check fails,all the data in the current frame will be discarded.IV. EXPERIMENTAL SETUPThe modulation algorithm is implemented on a XilinxVirtex-7 FPGA. A finite state machine (FSM) is shown inFig. 7 to describe the transmission process. When transmissionstarts, the modulator first sends a high frequency signal as partof the SFD. Followed is a UDPSOOK bit “1”, i.e. two framesof OOK with pi phase difference. The modulator then changesthe phase of the carrier every 1/fs seconds according to thenext input bit. At the end of the transmission, a parity bitwill be calculated and added to the end of the frame. Thismodulation FSM is implemented in Verilog hardware descrip-tion language (HDL). Xilinx Vivado Design Suite performsregister-transfer level (RTL) synthesis and timing analysisetc., and the in-built simulator provides reliable behavioralverification before testing on hardware. The simulation resultis shown in Fig. 8. An enRead pulse reads one bit fromthe memory and LED En enables the I/O ports on and offaccording to the modulation rules. Note that the time scale hasbeen shrunk by 1000 times to improve simulation efficiencyand the figure only demonstrates the initial 300 us after reset.An LED driver circuit can supply sufficient power to matchthe electrical characteristics of the LEDs. We select the Digi-lent PmodLED LED module as our solution for transmitters.The PmodLED LED module integrates four high-bright mo-nochrome red LEDs with the necessary driver circuits. Thoselow power consumption LEDs can be driven by less than 1mA current.At the receiver, videos are recorded by a Logitech Pro900 camera. The camera is then connected to a PC wherecaptured images are processed via MATLAB. Demodulationis performed off-line after frames being captured. It starts withFig. 7. The transmission control finite state machine.monitoring the first SFD, which indicates the beginning ofa new data frame. After an SFD is found, the demodulatorbegins to compare two consecutive samples to determine thetransmitted bit. This process repeats until the next SFD isdetected. We have to check the parity bit before procee-ding to the next data frame. For UDPSOOKED, assumingthe decoded bit sequences on two LEDs are respectively{Rd0, Rd1, Rd2, ......Rdk} and {Re0, Re1, Re2, ......Rek}, thefinal decoded sequence is given byBk = Rdk ⊕Rek. (7)V. EXPERIMENTAL RESULTSA. Received Optical PowerAs the LED electrical power consumption is only on theorder of mW, one of our central concerns is how much opticalpower has reached the camera. Fig. 9 shows the experimentalsetup used to measure the optical power at the receiver. Inthe figure, d is the transmission distance and f is the focallength of the one-inch-diameter lens. We employ a high-speed photodetector (Thorlabs DET36A) for the measurement.The voltage difference across the load resistor RL is directlymeasured in the experiment. We select a 10 MΩ resistor sincea low generated photocurrent can be expected. Table I givesthe voltage results over three different transmission distances.TABLE IRECEIVED OPTICAL INTENSITY FOR THE PROPOSED OCC SYSTEMDistance Voltage Current Incident power Intensity15 cm 2.36 V 2.36 µA 7.15 µW 1.41 µW/cm250 cm 220 mV 22 nA 66.67 nW 13.16 nW/cm2100 cm 60.8 mV 6.08 nA 18.42 nW 3.64 nW/cm2The responsivity curves of the selected photodetector can beobtained from the product specification [11]. The PmodLEDmodule only emits red light (wavelength in the vicinity of650 nm), and accordingly, we select a responsivity of R =0.33A/W . As the responsivity of a photodiode is defined as aratio of the photocurrent to the incident light power at a givenwavelength, to calculate the received optical power, we useFig. 8. The simulation results in Xilinx Vivado simulator.Fig. 9. Optical power measurement setup.Pinc =IPDR(8)where Pinc is the incident power and IPD is the photocurrent,which can be calculated fromIPD =VLRL(9)where VL is the voltage across the load resistor RL. Theresult is also shown in Table I. As expected, the receivedpower dramatically drops when we increase the transmissiondistance.Using the area of a one-inch-diameter lens as pi ×(25.4mm/2)2, the signal intensity at the receiver can be esti-mated. Over the distance of 1 meter we have signal intensityofIntd=1m =(Pinc)d=1mA=18.42 nWpi × (25.4mm/2)2 ≈ 3.64 nW/cm2.(10)Similarly, we can calculate the signal intensity for 15 cm and50 cm, which is shown in Table I. Experiment shows that theambient intensity is on the order of 0.1 nW/cm2, so we haveapproximately 10 dB of dynamic range.B. BER and Bit RateThe modulator has been implemented on a Xilinx VC707Evaluation board. We use a logic analyzer to verify themodulated signals. The captured waveforms are shown in Fig.10. The blue waveform represents the data transmission chan-nel and the yellow waveform represents the error detectionchannel. In the figure, a new data frame starts at 296 ms witha 66 ms 12 kHz high frequency. A bit “1” has been transmittedbetween 362 ms and 429 ms on the blue channel as part ofthe SFD, which is followed by UDPSOOK payloads. As wecan see from the figure, there is no phase change on the errordetection channel.Then we use the modulated electrical signals to drive theLED circuits. Digilent PmodLED offers high-brightness LEDswith low power requirements. In our experiment, for eachLED the electrical power consumption is 3.30V × 2.45mA =8.10mW .At the receiver, videos have been recorded. The camera hasbeen set up in a normal indoor environment with noise fromsunlight outside the room. We set the frame rate as 30 fpsand all collected images are processed by MATLAB. In theexperiment, auto white balance and other optimization optionshave been disabled. With proper configurations, the influenceof ambient light can be reduced, so that the camera can identifythe transmitted image with lower error rate. Key experimentalparameters are shown in Table II. We collect approximate20,000 frames for each measurement.TABLE IIKEY EXPERIMENTAL PARAMETERSParameter ValueCamera frame rate 30 fpsResolution 640×480Saturation 0LED DC offset 1.65 VLED peak-to-peak voltage 3.3 VWe have tested three different communication distances forboth UDPSOOK and UDPSOOKED. The BER results areshown in Table III. It is suggested that UDPSOOK providesacceptable BER performance under all three distances con-sidered, and UDPSOOKED can lower the BER efficiently,especially for the distances of 15 cm and 50 cm. The result alsoshows that when transmission distance increases, the systemBER increases.We have also implemented UFSOOK in the same experi-mental environment. The data rate comparison is shown in Ta-Fig. 10. Captured waveforms from the logic analyzer.TABLE IIIEXPERIMENTAL RESULTS IDistance Modulation BER15 cm UDPSOOK 2.48×10−415 cm UDPSOOKED 4.96×10−550 cm UDPSOOK 4.25×10−450 cm UDPSOOKED 6.08×10−51 m UDPSOOK 8.15×10−31 m UDPSOOKED 1.88×10−3ble IV. The experimental results demonstrate that UDPSOOKhas indeed doubled the data rate of UFSOOK as expected.TABLE IVEXPERIMENTAL RESULTS IIDistance Modulation Data Rate (bps)15 cm UFSOOK 11.0615 cm UDPSOOK 23.02VI. CONCLUSIONIn this paper, we have proposed a novel non-flicker modu-lation technique called UDPSOOK for OCC. We have alsodesigned an error detection scheme for UDPSOOK, usinga second LED as a detector of phase slipping errors. Thismethod mitigates the asynchronization problem of OCC thatother researchers are concerned with. An experimental com-munication link has been established by using monochromeLEDs and an inexpensive commercial camera. Experimentshave demonstrated that a BER of 10−5 has been achieved withlow overheads. Experimental work shows that UDPSOOKEDcan provide excellent robustness and reliability for OCCsystems.REFERENCES[1] R. D. Roberts, “Kick-starting the VLC market via optical cameracommunications,” in Proc. International Conference and Exhibition onVisible Light Communications, Yokohama, Japan, Oct. 2015.[2] G. Corbellini, K. Aksit, S. Schmid, S. Mangold, and T. R. Gross,“Connecting networks of toys and smartphones with visible light com-munication,” IEEE Communications Magazine, vol. 52, pp. 72–78, Jul.2014.[3] A. Wilkins, J. Veitch, and B. Lehman, “LED lighting flicker and potentialhealth concerns: IEEE standard PAR1789 update,” in 2010 IEEE EnergyConversion Congress and Exposition, Atlanta, GA, Sep. 2010, pp. 171–178.[4] R. D. Roberts, “Space-time forward error correction for dimmableundersampled frequency shift ON-OFF keying camera communications(CamCom),” in Proc. International Conference on Ubiquitous andFuture Networks (ICUFN), Da Nang, Vietnam, July 2013, pp. 459–464.[5] C. Danakis, M. Afgani, G. Povey, I. Underwood, and H. Haas, “Using aCMOS camera sensor for visible light communication,” in Proc. IEEEGlobecom Workshops, Anaheim, CA, Dec. 2012, pp. 1244–1248.[6] R. D. Roberts, “Undersampled frequency shift ON-OFF keying (UF-SOOK) for camera communications (CamCom),” in Proc. Wireless andOptical Communication Conference, Chongqing, China, May 2013, pp.645–648.[7] P. Luo, Z. Ghassemlooy, H. L. Minh, H.-M. Tsai, and X. Tang,“Undersampled-PAM with subcarrier modulation for camera commu-nications,” in Proc. Opto-Electronics and Communications Conference(OECC), 2015, Shanghai, China, Jun. 2015, pp. 1–3.[8] P. Luo, M. Zhang, Z. Ghassemlooy, H. L. Minh, H. M. Tsai, X. Tang, andD. Han, “Experimental demonstration of a 1024-QAM optical cameracommunication system,” IEEE Photon. Technol. Lett., vol. 28, no. 2, pp.139–142, Jan. 2016.[9] P. Luo, Z. Ghassemlooy, H. Le Minh, X. Tang, and H.-M. Tsai,“Undersampled phase shift ON-OFF keying for camera communication,”in Proc. International Conference on Wireless Communications andSignal Processing (WCSP), Hefei, China, Oct. 2014, pp. 1–6.[10] C. Poynton, Digital Video and HDTV Algorithms and Interfaces. SanFrancisco: Morgan Kaufmann, 2002.[11] Thorlabs Inc., “DET36A Si biased detector user guide,” Newton, NJ,Mar. 2015.[12] M. H. Bergen, A. Arafa, X. Jin, R. Klukas, and J. F. Holzman,“Characteristics of angular precision and dilution of precision for opticalwireless positioning,” Journal of Lightwave Technology, vol. 33, pp.4253–4260, Oct. 2015.


Citation Scheme:


Citations by CSL (citeproc-js)

Usage Statistics



Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            async >
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:


Related Items