Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TWO-WAY COMMUNICATION USING LEDS
Document Type and Number:
WIPO Patent Application WO/2017/191010
Kind Code:
A1
Abstract:
An LED controller comprises: a modulator configured to transmit to a remote system a first data signal, in which a first data sequence is embedded as DC-balanced RLL- coded amplitude modulations, by causing one or more LEDs of an LED transceiver system to transition between an emitting and a non-emitting state; and a demodulator configured to use the one or more LEDs, when in the non-emitting state during the transmission of the first 5 signal, to partially receive from the remote system a second, simultaneously-transmitted data signal, and to determine a second data sequence, embedded in the second data signal as DC- balanced RLL-coded amplitude modulations, by comparing the partially received signal with the first data signal.

Inventors:
LI SHUAI (NL)
PANDHARIPANDE ASHISH VIJAY (NL)
Application Number:
PCT/EP2017/059946
Publication Date:
November 09, 2017
Filing Date:
April 26, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
PHILIPS LIGHTING HOLDING BV (NL)
International Classes:
H05B37/02
Foreign References:
KR20000001337A2000-01-15
CN105262598A2016-01-20
CN104052531A2014-09-17
US20060067707A12006-03-30
Other References:
QING WANG ET AL: "Communication Networks of Visible Light Emitting Diodes with Intra-Frame Bidirectional Transmission", PROCEEDINGS OF THE 10TH ACM INTERNATIONAL ON CONFERENCE ON EMERGING NETWORKING EXPERIMENTS AND TECHNOLOGIES, CONEXT '14, 1 January 2014 (2014-01-01), New York, New York, USA, pages 21 - 28, XP055314118, ISBN: 978-1-4503-3279-8, DOI: 10.1145/2674005.2675000
QING WANG ET AL: "Intra-Frame Bidirectional Transmission in Networks of Visible LEDs", IEEE / ACM TRANSACTIONS ON NETWORKING., 1 January 2016 (2016-01-01), US, pages 1 - 13, XP055313726, ISSN: 1063-6692, DOI: 10.1109/TNET.2016.2530874
STEFAN SCHMID ET AL: "An LED-to-LED Visible Light Communication system with software-based synchronization", 2012 IEEE GLOBECOM WORKSHOPS (GC WKSHPS 2012) : ANAHEIM, CALIFORNIA, USA, 3 - 7 DECEMBER 2012, IEEE, PISCATAWAY, NJ, 3 December 2012 (2012-12-03), pages 1264 - 1268, XP032341563, ISBN: 978-1-4673-4942-0, DOI: 10.1109/GLOCOMW.2012.6477763
SCHMID STEFAN ET AL: "Continuous synchronization for LED-to-LED visible light communication networks", 2014 3RD INTERNATIONAL WORKSHOP IN OPTICAL WIRELESS COMMUNICATIONS (IWOW), IEEE, 17 September 2014 (2014-09-17), pages 45 - 49, XP032678031, DOI: 10.1109/IWOW.2014.6950774
STEFAN SCHMID ET AL: "LED-to-LED visible light communication networks", PROCEEDINGS OF THE FOURTEENTH ACM INTERNATIONAL SYMPOSIUM ON MOBILE AD HOC NETWORKING AND COMPUTING, MOBIHOC '13, vol. 13, 29 August 2013 (2013-08-29), New York, New York, USA, pages 1, XP055313202, ISBN: 978-1-4503-2193-8, DOI: 10.1145/2491288.2491293
ADAM BÖCKER ET AL: "An implementation of a visible light communication system based on LED lights", 1 January 2015 (2015-01-01), XP055313218, Retrieved from the Internet [retrieved on 20161026]
S. SCHMID ET AL.: "LED-to-LED visible light communication networks", ACM MOBIHOC, 2013
Attorney, Agent or Firm:
TAKKEN, Robert, Martinus, Hendrikus et al. (NL)
Download PDF:
Claims:
CLAIMS:

1. An LED controller (6a) for an LED transceiver system (2(1)), the LED controller comprising:

a modulator (10) configured to transmit to a remote system (2(2)) a first data signal (3(1)), in which a first data sequence (bl) is embedded as DC-balanced RLL-coded amplitude modulations (wl), by causing one or more LEDs (4) of the LED transceiver system to transition between an emitting and a non-emitting state; and

a demodulator (12) configured to use the one or more LEDs (4) or a radiation sensor collocated with the one or more LEDs, when the one or more LEDs are in the non- emitting state during the transmission of the first data signal, to partially receive from the remote system a second, simultaneously-transmitted data signal (3(2)), and to determine a second data sequence (b2), embedded in the second data signal as DC-balanced RLL-coded amplitude modulations (w2), by comparing the partially received signal with the first data signal transmitted from the LED transceiver system to the remote system. 2. An LED controller according to claim 1 , wherein the amplitude modulations

(wl, w2) of the first and second data signals are Manchester-coded amplitude modulations.

3. An LED controller according to claim 1 or 2, which further comprises a synchronization module (11);

wherein the modulator is configured to cause the one or more LEDs to transmit, prior to the transmission of the first data signal, a first synchronization signal by causing the one or more LEDs to transition between the emitting and non-emitting states;

wherein the synchronization module is configured to use the one or more

LEDs or the radiation sensor, when the one or more LEDs are in the non-emitting state during the transmission of the first synchronization signal, to partially receive a second synchronization signal transmitted simultaneously from the remote system, and to determine from the second synchronization signal a phase offset (ΔΤ) between the first and second synchronization signals.

4. An LED controller according to claim 3, wherein the modulator is configured to use the determined phase offset to synchronize the transmission of the first data signal from the one or more LEDs with the transmission of the second data signal from the remote system.

5. An LED controller according to claim 4, wherein the modulator is configured to perform the synchronization by delaying the transmission of the first data signal relative to the transmission of the first synchronization signal by a delay interval. 6. An LED controller according to claim 5, wherein the modulator is configured to cause the one or more LEDs to transition between the emitting and non-emitting state at least once during the delay interval with a duty cycle that matches a duty cycle of the first data signal and/or the first synchronization signal. 7. An LED controller according to any preceding claim, wherein the modulator is configured to use the one or more LEDs to transmit, after the first data sequence, a stop symbol for the first data sequence, wherein the LED controller further comprises:

a scheduler configured, in response to the first data sequence being rendered available for transmission, to use the one or more LEDs or the radiation sensor when the one or more LEDs are in the non-emitting state to determine whether the remote system is currently transmitting another data sequence, and if so in to initiate said transmission of the first data sequence only when it receives from the remote system via the one or more LEDs or the radiation sensor a stop symbol for the other data sequence. 8. An LED controller according to claim 7, wherein the modulator is configured to use the one or more LEDs to transmit, before the first data sequence, a sequence of idle symbols;

wherein the scheduler is configured to initiate said transmission of the first data sequence independently of the remote system if it determines that the remote system is transmitting a sequence of idle symbols when the first sequence is rendered available for transmission.

9. An LED controller according to any preceding claim, wherein the demodulator is configured to quantize the partially received signal to generate a quantized data sequence (xl), the second data sequence being determined by comparing the quantized data sequence with the first data sequence embedded in the first data signal.

10. An LED controller according to claim 9, wherein the second data sequence is determined by applying an exclusive-or function to the quantized data sequence and the first data sequence.

11. An LED controller according to any preceding claim, comprising a signal amplifier, via which the demodulator is configured to connect to the one or more LEDs, configured to amplify the partially received signal for use by the demodulator in said comparison.

12 An LED transceiver system (2) comprising one or more LEDs (4) and an LED controller (6a) according to any preceding claim connected to the one or more LEDs of the LED transceiver system for controlling those one or more LEDs.

13. An LED communications system comprising at least two LED transceiver systems (2(1), 2(2)), each of which is configured according to claim 9. 14. A method of effecting two-way communications between an LED transceiver system (2(1)) and a remote system (2(2)), the method comprising implementing at the first LED transceiver system the following steps:

transmitting to the remote system (2(2)) a first data signal, in which a first data sequence (bl) is embedded as DC-balanced RLL-coded amplitude modulations (wl), by causing one or more LEDs of the LED transceiver system to transition between an emitting and a non-emitting state;

using the one or more LEDs (4) or a radiation sensor collocated with the one or more LEDs, when the one or more LEDs are in the non-emitting state during the transmission of the first data signal, to partially receive from the remote system a second, simultaneously-transmitted data signal; and

determining a second data sequence (b2) embedded in the second data signal as DC-balanced RLL-coded amplitude modulations (w2) by comparing the partially received signal with the first data signal transmitted from the LED transceiver system to the remote system.

15. A computer program product comprising code stored on a computer readable storage medium and configured when executed to implement the steps of claim 14.

Description:
Two- Way Communication Using LEDs

TECHNICAL FIELD

The present invention pertains to two-way communication using LEDs as communications transceivers i.e. the same LEDs function as both transmitters and receivers. BACKGROUND

Visible light communications (VLC), also referred to herein as "coded light", is drawing increasing interest as a means of communication, particularly with recent developments in solid-state lighting, e.g. using modern forms of light-emitting diodes (LEDs), such as semiconductor LEDs, organic LEDs or polymer LEDs. VLC refers to a scheme whereby information is embedded in visible light using suitable modulation, for example in the illumination output of a luminaire(s) of a lighting system whose primary function is one of illuminating all or part of an environment. The visible light from LEDs is modulated such that the information is embedded in a manner that is imperceptible to users. VLC enables a wide range of applications. For instance, it has applications for intelligent lighting systems, such as remote lighting control and lamp status monitoring, etc. Other applications based on light interaction and actuation are becoming viable as the technology develops.

Modern LED-based lighting systems are particularly suitable for coded light applications. Different forms of modulation and access schemes such as FDMA, CDMA etc. may be used to achieve this. For a low cost driver implementation, the fundamental frequency of communication may be restricted to around 2 kHz. This in turn limits the data rate that can be supported on a visible light communication link between two luminaires maximally to the order of a few kbps, which in turn limits the network throughput.

A coding scheme which may be used for coded light is Manchester coding, which means any coding scheme in which each bit of a sequence is encoded as either a high- to-low transition or a low-to-high transition of a modulated characteristic over a bit transmission interval having a duration Tb ("bit duration"). A clock signal having a period Tb may be used to this end. Manchester-coded data can be modulated into visible illumination in a number of different ways. For example it may be amplitude modulated where "high" and "low" are represented by different amplitudes, e.g. by transitioning an emitting state (denoted an "ON cycle" herein) and a non-emitting state ("OFF cycle") of the luminaire at a frequency that is sufficiently high that the transitions are imperceptible to a human eye. That is, in which the modulated characteristic is the intensity of the illumination.

Manchester coding has certain properties that make it particularly suitable for coded light applications. For example, for amplitude modulation based on Manchester coding, provided the frequency of the modulations is sufficiently high that they are imperceptible to the human eye, the perceived intensity of the illumination from a luminaire will be proportional to the DC component of the modulated illumination (as the human visual system effectively averages out the high-frequency AC components to zero). A benefit of Manchester coding is that the DC component is independent of the coded data, which in turn means the perceived intensity of the illumination is independent of the coded data. This is because Manchester coding is DC-balanced. As such, the primary illumination function of the system is not negatively affected by the addition of coded light capability. Moreover, the DC component and hence the perceived intensity of the illumination can be varied by varying the duty cycle of the modulation independently of the coded data, the duty cycle being the fraction f of each bit transmission interval for which the luminaire is in the emitting state, i.e. the duration of the ON cycle relative to Tb. This is a form of dimming, referred to as pulse width modulation, with which Manchester coding is compatible. The perceived intensity of the illumination will be f*I, where I is the (actual) intensity of the illumination when emitting during the ON cycle, and the duty cycle f constitutes a dimming level in this context.

The fact that the DC component is independent of the data may also be beneficial in contexts other than VLC. Another advantage of Manchester coding is that a Manchester-coded signal is self-clocking i.e. the clock signal used to encode the data can be recovered from the coded signal alone.

SUMMARY

The present invention exploits the fact that LEDs can be used not only as radiation emitters but also as radiation detectors: when an LED is itself in a non-emitting state, a small but detectable voltage is induced across the non-emitting LED when exposed to a certain type of radiation (visible light, non- visible electromagnetic radiation or a combination of both depending on the physical characteristics of the LED). In the present context, "non-emitting state" means that the LED is emitting no radiation or a negligible amount of radiation itself i.e. an amount that is sufficiently small for this small induced voltage to be detectable. The idea of exploiting this effect to use LEDs as both receivers and transmitters (i.e. as communication transceivers) to provide two-way communication to has been explored, for example, in S. Schmid et al., "LED-to-LED visible light communication networks" ACM MobiHoc 2013. However, to date, only the possibility of half-duplex communications using LEDs as communications transceivers has been explored i.e. wherein data cannot be transmitted and received simultaneously using the same LED(s).

A barrier to providing full duplex communications between an LED transceiver system and a remote system using one or more LEDs of the LED transceiver system as a communications transceiver is that the LEDs can only be used as a receiver when they are in the non-emitting state. Accordingly, if a first data signal is being transmitted from those LEDs to the remote system, at best a secondly data signal transmitted from the remote system can only be partially received using those LEDs. In general, it is not possible to recover data carried by the second data signal in full, if at all, from the partially received signal.

However, the inventors of the present invention have recognized specific circumstances in which it is possible to fully recover the data carried by the second signal even if it is only partially received, which in turn makes full-duplex communications using LEDs alone possible in these circumstances (i.e. without the need for additional radiation sensors, such as dedicated photosensors).

A first aspect of the present invention is directed to an LED controller for an

LED transceiver system, the LED controller comprising: a modulator configured to transmit to a remote system a first data signal, in which a first data sequence is embedded as DC- balanced RLL-coded amplitude modulations, by causing one or more LEDs of the LED transceiver system to transition between an emitting and a non-emitting state; and a demodulator configured to use the one or more LEDs or a radiation sensor collocated with the one or more LEDs, when the one or more LEDs are in the non-emitting state during the transmission of the first data signal, to partially receive from the remote system a second, simultaneously-transmitted data signal, and to determine a second data sequence, embedded in the second data signal as DC-balanced RLL-coded amplitude modulations, by comparing the partially received signal with the first data signal.

As is well known in the art, RLL (run-length limited) code is a line coding, wherein a maximum and a minimum on the number of 0s that can occur between consecutive Is in the coded data is imposed. A DC-balanced RLL code means a code defined for a set of data units (each data unit being one bit or a sequence of bits of pre-determined length), wherein each of the data units is coded as a respective code word having an equal number of Is and 0s - which in this context are represented by an on-state of the signal in question ("ON") and an off-state ("OFF") of that signal respectively. Here, ON means a non-zero intensity of the signal, corresponding to an emitting state of the emitter of the signal, and OFF, i.e. means substantially zero intensity corresponding to a non-emitting state of the signal emitter. The term "DC-balanced RLL-coded amplitude modulations" of a signal refers to any modulation and coding scheme, in which each data unit of a data sequence (i.e. each bit or sub-sequence of bits) is represented by an equal number of ON and OFF intervals in the signal. Note, although equal in number, these intervals need not have equal durations i.e. the signal need not have a duty cycle of 50%. Indeed, an advantage of using DC-balanced coding is that the duty cycle of the signal can be set, and varied if desired, independently of the coded data (for example, to provide pulse width modulation dimming in a coded light application).

A Manchester code is one example of a DC-balanced RLL code. For a "basic" Manchester code, the set of input data units is {0, 1 } (i.e. it is defined for single bits), one of which is coded as code word 10 (ON-OFF) and the other of which is coded as code word 01 (OFF-ON). Another example of Manchester coding is differential Manchester coding, which is a known variation of the basic Manchester code. The term "Manchester coding" also covers other variations of this basic Manchester coding, as will be apparent to the skilled person.

The second data signal is partially received in that only portions of the second data signal that arrive at the one or more LEDs (or the collocated radiation sensor) when they are in the non-emitting state are received using the one or more LEDs - portions arriving when the LEDs are in the emitting state cannot be received using those LEDs (or the collocated radiation sensor, due to its proximity to the emitting LED(s)). For example, when operating at a duty cycle of 50%, only about 50% of the second signal can be received. In general, it is not possible to determine the second data sequence from the partially received second signal alone.

However, the inventors of the present invention have recognized that, when both systems use amplitude modulation based on DC-balanced RLL coding (e.g. Manchester coding), it is possible to recover the second data sequence by comparing the partially received second signal with the first signal. That is, in that event, the combination of the partially received second signal and the first signal provides enough information to be able to fully recover the second data sequence. This is due to particular properties of DC-balanced RLL coding (e.g. Manchester coding), as explained in further detail below. Accordingly, full- duplex communication is provided using the LEDs alone as communications transceivers, whereby the second data sequence is received from the remote system simultaneously with the transmission of the first data sequence.

The advantage of using the one or more LEDs for receiving the second data signal is that there is no need for a separate radiation sensor. The advantage of using a separate radiation sensor is that there is no need to add a switching mechanism for switching the (illumination) LEDs from an illumination mode to a sensing mode. The latter not only is beneficial when the LEDs in question are high power LEDs, but also facilitates retrofits in modular LED illumination systems. E.g. by providing a new LED driver, comprising the claimed LED controller and a radiation sensor in the form of a photodiode or a

phototransistor, a modular LED illumination system may be upgraded with visible light communication functionality.

Preferably, the amplitude modulations of both signals are Manchester-coded amplitude modulations, as the highest data rates can be achieved with Manchester coding. As will be evident in view of the above, term "Manchester-coded amplitude modulations" a signal refers to any modulation and coding scheme, in which each bit is coded and modulated such that it is represented by a transition of the signal between ON and OFF, such that the modulated signal has a duty cycle that can be set independently of the coded data.

As noted above, Manchester coding is particularly well suited to VLC lighting systems - and, in fact, this is also true of other DC-balanced RLL coding schemes, as these have similar properties. As such, the present invention has particular applicability to VLC systems, wherein it can allow two luminaires of the lighting system to achieve full-duplex, two-way communication while also providing proper illumination.

Indeed, without the present invention, the application of full-duplex relay systems in VLC systems is not straightforward. In contrast the claimed LED controller provides a modulation scheme that allows the one or more LEDs themselves or a (dedicated) radiation sensor or photo sensor collocated with the one or more LEDs to realize a low- latency full-duplex communication scheme.

In embodiments of the present invention, the LED controller may further comprise a synchronization module configured to cause the one or more LEDs to transmit, prior to the transmission of the first data signal, a first synchronization signal by causing the one or more LEDs to transition between the emitting and non-emitting states. The synchronization module may be configured to use the one or more LEDs or the radiation sensor, when in the non-emitting state during the transmission of the first synchronization signal, to partially receive a second synchronization signal transmitted simultaneously from the remote system, and to determine from the second synchronization signal a phase offset between the first and second synchronization signals.

The modulator may be configured to use the determined phase offset to synchronize the transmission of the first data signal from the one or more LEDs with the transmission of the second data signal from the remote system.

The modulator may be configured to perform the synchronization by delaying the transmission of the first data signal relative to the transmission of the first

synchronization signal by a delay interval.

The modulator may be configured to cause the one or more LEDs to transition between the emitting and non-emitting state at least once during the delay interval with a duty cycle that matches a duty cycle of the first data signal and/or the first synchronization signal.

The modulator may be configured to use the one or more LEDs to transmit, after the first data sequence, a stop symbol for the first data sequence.

The LED controller may further comprise a scheduler configured, in response to the first data sequence being rendered available for transmission, to use the one or more LEDs or the radiation sensor when in the non-emitting state to determine whether the remote system is currently transmitting another data sequence, and if so in to initiate said

transmission of the first data sequence only when it receives from the remote system via the one or more LEDs or the radiation sensor a stop symbol for the other data sequence.

The modulator may be configured to use the one or more LEDs to transmit, before the first data sequence, a sequence of idle symbols.

The scheduler may be configured to initiate said transmission of the first data sequence independently of the remote system if it determines that the remote system is transmitting a sequence of idle symbols when the first sequence is rendered available for transmission.

The demodulator may be configured to quantize the partially received signal to generate a quantized data sequence, and the second data sequence may be determined by comparing the quantized data sequence with the first data sequence embedded in the first data signal. The second data sequence may be determined by applying an exclusive-or function to the quantized data sequence and the first data sequence.

The LED controller may comprise a signal amplifier, via which the demodulator is configured to connect to the one or more LEDs, configured to amplify the partially received signal for use by the demodulator in said comparison.

A second aspect of the present invention is directed to an LED transceiver system comprising one or more LEDs and an LED controller according to the first aspect or any embodiment thereof connected to the one or more LEDs of the LED transceiver system for controlling those one or more LEDs.

A third aspect of the present invention is directed to an LED communications system comprising at least two LED transceivers, each of which is configured according to the second aspect. In embodiments, the LED transceiver systems may have access to matching clock symbols, for use in embedding their respective data sequences in their respective signals.

A fourth aspect of the present invention is directed to a luminaire or LED lamp

(18), comprising the LED controller of any preceding claim (e.g. in which it is integrated or otherwise incorporated).

A fifth aspect of the present invention is directed to a method of effecting two- way communications between an LED transceiver system and a remote system, the method comprising implementing at the first LED transceiver system the following steps:

transmitting to the remote system a first data signal, in which a first data sequence is embedded as DC-balanced RLL-coded (e.g. Manchester-coded) amplitude modulations, by causing one or more LEDs of the LED transceiver system to transition between an emitting and a non-emitting state; using the one or more LEDs or a radiation sensor collocated with the one or more LEDs, when the one or more LEDs are in the non-emitting state during the transmission of the first data signal, to partially receive from the remote system a second, simultaneously-transmitted data signal; and determining a second data sequence embedded in the second data signal as DC-balanced RLL-coded (e.g. Manchester-coded) amplitude modulations by comparing the partially received signal with the first data signal.

In embodiments, any of the functionality of the first to fourth aspects or embodiments thereof may be implemented in the method of the fifth aspect.

A sixth aspect of the present invention is directed to a computer program product comprising code stored on a computer readable storage medium and configured when executed to implement the method of the first aspect or any embodiment thereof. BRIEF DESCRIPTION OF FIGURES

For a better understanding of the present invention, and to show how embodiments of the same may be carried into effect, reference is made to the following figures, in which:

Fig. 1 A shows a schematic block diagram of an LED transceiver system;

Fig. IB shows a pair of LED transceiver systems engaged in full duplex coded light communications using LEDs as communications transceivers;

Fig. 1C shows three different possible LED sensing modes for the LED transceiver system of figure 1A;

Fig. ID shows a schematic block diagram of an LED transceiver system comprising a dedicated sensor;

Fig. 2A illustrates a first example of full-duplex communications using LEDs as communications transceivers;

Figs. 2B and 2C illustrate a second example of full-duplex communications using LEDs as communications transceivers;

Fig. 3 A illustrates one method of accounting for a synchronization between a pair of communicating LED transceiver systems in embodiments of the present invention;

Fig. 3B illustrates a preferred method of accounting for a synchronization between a pair of communicating LED devices;

Fig. 4 shows an example of the preferred method of figure 3B in action;

Fig. 5 A shows an exemplary lighting system comprising a plurality of luminaires;

Fig. 5B-E illustrate various ways in which an LED transceiver system can be incorporated into a lighting system; and

Fig. 6 illustrates an exemplary frame-level synchronization technique;

Fig. 7A shows an RLL modulator;

Fig. 7B demonstrates a decoding operation for an exemplary 4B6B RLL coding and modulation scheme.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will now be described in the context of a VLC lighting system. An underlying requirement in VLC in lighting applications is to achieve reliable data communications without compromising the quality of the illumination. Two LED devices, such as luminaires, can achieve full-duplex, two-way communication while also providing illumination. No additional light sensors in the form of photosensors are needed as the LEDs themselves are used as communication transceivers. Full duplex communication is achieved by exploiting certain properties of Manchester coding.

Within the lighting system, each pair of LED luminaires is driven by a protocol wherein information encoded in the light output of one LED lamp, using Manchester coding, is detected at the other. The pair of lamps may be simultaneously communicating and illuminating, with the sensing and information decoding occurring during each OFF cycle provided by the Manchester coding. Decoding of the bit sequence transmitted by the second luminaire (b2, below) is performed by applying an XOR operation to a quantized bit sequence (xl, below) generated at the first device from a partially received signal transmitted by the second device during the OFF cycles and the transmitted bit sequence of first luminaire (bl, below). Equivalent operations are performed at the second LED device.

Figure 1A shows a function block diagram of an exemplary LED transceiver system 2. The LED transceiver system 2 comprises an LED controller 6a, an LED driver 6b connected to the LED controller 6a, and one or more LEDs 4 connected to the LED driver 6b. The controller 6a comprises a modulator 10 and a demodulator 12. The driver 6b comprises a switch 8 connected to the LEDs 4.

When the switch 8 is closed, electrical power is supplied to the LEDs 4 by the driver 6b so that the LEDs 4 emit radiation ("emitting state"), which may be visible light, non- visible electromagnetic radiation or a combination of both. In this example, the driver 6b is arranged provide a supply voltage Vcc across the LEDs 4 when the switch 8 is closed. The supply voltage Vcc is ultimately derived from a power source, such as a mains supply system or battery unit. When the switch 8 open, the LEDs 4 are disconnected from the power source, so that they emit substantially no radiation ("non-emitting state").

The modulator 10 is configured to receive an input bit sequence bl and a clock signal CLK, having a period Tb which may for example be of the order of 1 ms. The modulator 10 uses the clock signal CLK to encode the input bit sequence bl according to Manchester coding, whereby each bit of the input bit sequence bl is encoded as either a low- to-high square wave, or a high-to-low square wave over a bit transmission interval having a duration of Tb ("bit duration"). The encoded sequence is denoted w, and is outputted to the driver 6b as a control signal for controlling the switch 8. The switch 8 has a control input connected to receive the control signal, which causes the switch 8 to open and close according to the control signal. This in turn causes the LEDs 4 to transition between the emitting and non-emitting states, which is a form of amplitude modulation. Accordingly, for each bit of the input sequence bl, the LEDs 4 are emitting for part of the bit transmission interval and closed for the rest of it. In this manner, the modulator 10 causes the LEDs 4 to transmit a data signal, in which the input sequence bl is embedded as Manchester-coded amplitude modulations (wl, w2 in later figures - see below).

Although not shown explicitly in figure 1 A, the to-be coded input bit sequence bl may be derived from another form of input data. For example, the input data may be a character symbol or string of character symbols, (each of) which is translated into an 8-bit binary vector which corresponds to its ASCII code, thereby generating the to-be coded input bit sequence bl.

When the switch is open, such that the LEDs 4 are emitting substantially no radiation, the voltage VLED across the LEDs 4 varies depending on the intensity and frequency distribution of any radiation to which they are exposed, as described in further detail below, which means they can function as a receiver when in the non-emitting state.

The demodulator 12 comprises a quantizer 12a, which is connected to LEDs 4 (via the driver 6b in this example) such that it is able to detect the voltage VLED across the LEDs 4, and is thus able to detect whether or not the LEDs 4 are currently being exposed to such radiation from a remote LED transceiver system when (and only when) they are in the non-emitting state. Accordingly, another data signal transmitted from the remote system can be received using the LEDs 4, but only when they are in the non-emitting state, which means another data signal can only be partially received when the LEDs 4 are transmitting a signal themselves.

The demodulator 12 also comprises an analogue-to-digital converter (ADC) 13 via which the quantizer 12a is connected to the driver 6b. Alternatively, the ADC 13 may be part of the driver 6b itself. The ADC 13 samples the voltage VLED, at a sampling frequency f a , to generate a sequence of samples that constitutes a digital representation of the voltage VELD for use by the quantizer 12a. The quantizer 12a generates, based on the detected voltage VLED, a quantized bit sequence x, which it provides to an output sequence generator 12b of the demodulator 12.

In the following examples, the quantizer 12a generates one bit of the quantized sequence x for each OFF cycle, which is T if the voltage VLED is above a voltage threshold V0 - indicating that the remote LED transceiver system is emitting during that cycle - and '0' otherwise, indicating that the remote LED transceiver system is not emitting during that OFF cycles. In other words, x is a quantized representation of VLED as measured during OFF cycles of the LEDs 4. Above the threshold V6 means a suitably high proportion of the samples generated by the ADC 13 during that OFF cycle are above the threshold V6.

The output sequence generator 12b also receives the input bit sequence bl, which it compares with the quantized sequence x to generate an output bit sequence

where © denotes a suitable comparison function. As explained below, provided

amplitude modulation based on Manchester coding is also used by the remote system, there exists a comparison function such that the output bit sequence bO corresponds to a bit sequence transmitted from the remote LED transceiver system. In the examples below,

A scheduler 9 and a synchronization module 11 of the controller 6a are also shown, the respective functions of which are described below. The synchronization module 11 has an input connected to the output of the ADC 13, so that it can also detect the voltage VLED, and an output connected to the modulator 10. The scheduler 9 controls the timing of the transmission of the input sequence bl, and in this respect the input sequence bl is shown to be received by the modulator 10 from the scheduler 9. The scheduler 9 controls the transmission timing based to some extent on the output of the demodulator 12, and is shown having an input connected to receive the output sequence bO.

The LED driver 6b drives the LEDs 4, is configured to regulate the electrical power that is delivered to them when the switch 8 is closed. To this end, the driver 6b may comprise other components not shown in figure 1 A, e.g. capacitor(s), resistor(s), and/or voltage transformer(s) etc. For example, the driver 6b may function as a voltage source such that the supply voltage Vcc delivered to the LEDs 4 is substantially fixed. However, other forms of LED driver may be used, for example the LED driver may be configured to deliver a substantially fixed current (i.e. as a current source), or a substantially fixed electrical power instead of a fixed voltage, or to deliver electrical power to the LEDs 4 in any other suitable manner.

Note that the arrangement of the components in figure 1 A is exemplary, and any alternative arrangement can be used, provided the modulator 10 is able to cause the LEDs 4 to transition between emitting and non-emitting states (with or without an LED driver), and the demodulator 11 is connected to the LEDs 4 at least when they are in the non- emitting state such that it can receive signals (e.g. voltage and/or current signals) from them when in the non-emitting state. In figure 1 A, the switch 8 configures LEDs 4 to operate at open-circuit mode when in their non-emitting state. In this mode, a parallel load resistor may be connected to LEDs 4 at least when the switch 8 is closed for receiving signals from the LEDs 4.This is not shown explicitly in figure 1A, though it is shown in figure 1C.

Figure 1C illustrates three alternative arrangements of the transceiver system

2, corresponding to three different LED sensing modes. In short-circuit mode (III), In this mode of operation - when disconnected from Vcc - a closed circuit loop is formed, such that a current ILED flows through the LEDs 4 when they are receiving radiation from other LEDs. The amplifiers are connected to an amplifier 50 in this example, through which this current flows. Both the output of the amplifier 50 and the LEDs4 are connected to a ground terminal, to form the closed circuit. In order to use the LEDs as receivers when in their non- emitting state, the voltage VLED across them, the current ILED through them, or both the voltage VLED and current ILED may be measured and converted to a digital form by the ADC 13. The system 2 otherwise operates in the same manner as that of figure 1A, and the above description pertains equally to the arrangement of figure 2C. The short-circuit mode (II) is preferred, as it has benefits with regards to low implementation cost, better linear sensitivity and zero dark-current.

Mode (II) is an open-circuit mode, corresponding to figure 1 A, with the parallel load resistor R shown explicitly. Mode (i) is a reverse bias mode, in which the LEDs are connected to a reverse biasing voltage Vr when disconnected from Vcc.

Figure IB shows first and second LED transceiver systems 2(1), 2(2), each of which is configured in the manner of figure 1 A. From the perspective of the first LED transceiver system 2(1), the second LED transceiver system is a remote LED transceiver system and vice versa.

The first LED transceiver system 2( 1 ) codes a first data sequence b 1 , which is a bit sequence, and modulates the resulting coded sequence into the output of its one or more LEDs (collectively denoted "LED1" below) in the manner described above, according to a Manchester code. This causes LED1 to transmit a first data signal 3(1) to the second system 2(2), in which the first sequence bl is embedded as Manchester coded amplitude modulations (denoted wl in later figures). Similarly, the second LED transceiver system 2(2) codes a second data sequence b2, which is a bit sequence, and modulates it into the output of its one or more LEDs ("LED2") according to the Manchester code. This causes LED2 to transmit a second data signal 3(2) to the first system 2(1), in which the second sequence b2 is embedded as Manchester coded amplitude modulations (denoted w2 in later figures). The Manchester code is a set of rules which specifies how bits are represented as high-to-low or low-to-high transitions by each of the transceiver systems 2(1), 2(2) i.e. an agreed set of rules by which the systems 2(1), 2(2) communicate with each other. Table 1 shows one example of a suitable Manchester code, which dictates how each bit of bl and b2 is represented by transitions of LED1/LED2 respectively:

Table 1 : exemplary Manchester code

The demodulators of the first and second systems 2(1), 2(2) are able to partially receive each other's transmitted data signals - 3(2), 3(1) carrying b2, bl respectively - as follows. During the OFF cycles of LED 1, the quantizer of the first system 2(1) monitors the voltage VLED1 across LED1, from which it determines a first quantized sequence xl . The voltage VLED1, and hence the first quantized sequence xl, depends on the LED output of the second system 2(2), and hence on the second sequence b2. This dependence is such that bl ©xl=b2, which is determined at the first system 2(1). Likewise, during the OFF cycles of LED2, the quantizer of the second system 2(2) monitors the voltage VLED2 across LED2, from which it determines a second quantized sequence x2. The voltage VLED2, and hence the second quantized sequence x2, depends on the LED output of the first system 2(1), and hence on the first data sequence bl . This dependence is such that b20x2=bl, which is determined at the second system 2(2). Accordingly, each system 2(1), 2(2) is able to receive the other system's data sequence b2, bl even though it has not fully received the signal 3(2), 3(1) carrying it. At the first system 2(1), the first data sequence bl corresponds to bl in figure 1 A, the first quantized sequence xl to x, and the second data sequence b2 to bO. At the second system 2(2), the second data sequence b2 corresponds to bl in figure 1 A, the second quantized sequence x2 to x, and the first data sequence bl to bO.

When both system 2(1), 2(2) use the same form of Manchester coding (i.e. encode '0' and '1' using the same representations as one another), and assuming their respective clock signals (CLK1, CLK2 respectively) are synchronized, then for both systems, the combination function that will allow the recovery of b2/bl respectively is XOR i.e.

logical exclusive-or (as defined in table 2) applied in a bitwise fashion. That is, when both systems 2(1), 2(2) use the same form of Manchester coding and when the quantized sequences xl, x2 are generated as set out above, b2 XOR x2=bl and bl XOR xl=b2.

Table 2 - XOR function

Figure ID shows a schematic block diagram of an LED transceiver system comprising a dedicated radiation sensor 4a, structurally Figure ID is similar to Figure 1C with the exception of LEDs S and radiation sensor 4a. Figure ID shows a dedicated radiation sensor being used for sensing light when the LEDs are in the non-emitting state. Notably the radiation sensor need not necessarily be switched off during the emitting state of the LEDs as long as the sensed data resulting from the period that the LEDs are in the emitting state is properly gated. If necessary; e.g. for sensor life-time and/or sensor sensitivity the sensor may be temporally switched off, or physically occluded (e.g. using a fast switching (electronic) optical shutter, e.g. an LCD shutter). The dedicated radiation sensor could be aphotodiode, a phototransistor, or a photo-resistor, however other sensors such as solar panels, phototubes, charge-coupled devices (CCD), or hyper-spectrum image sensors are not excluded provided that their response times are adapt to the modulation frequency used.

Figure 2A shows exemplary signaling waveforms depicting a first example of this encoding and decoding scheme in use. First and second square waves wl and w2 represent Manchester encoded information transmitted from LED1 and LED2 respectively, as amplitude modulation of the signals 3(1), 3(2) respectively. The waves wl, w2 have a duty cycle of 50% in this example. Note that there are certain periods when both LED1 and LED2 are ON. In every OFF cycle of the signaling waveform wl/w2, a bit of xl/x2 respectively is determined as set out above using LED1/LED2 as a sensor respectively.

Consider LED measurements xl as an example. The decoding operations to retrieve, at the first system 2(1), the information bit sequence b2 sent from LED2 are as follows. Assuming wl and w2, and hence the transitions of LED 1 and LED2 are in phase, decoding is performed using the afore-mentioned XOR operation between bl and xl . Note that bl is known already at LED 1, and can be stored in memory of the first system 2(1) for use in the decoding operation. As can be seen, during each OFF cycle of LED 1, in which LED1 is not emitting but LED2 is emitting, the radiation emitted by LED2 induces a small but detectable voltage across LED1, which rises from zero to an asymptote voltage v, which is small compared to Vcc but nonetheless detectable. Note figure 2A is not necessarily to scale. In accordance with the scheme set out above, this non-zero voltage v generates a bit T of xl for that OFF cycle. By contrast, during each OFF cycle of LED2, in which neither LED1 nor LED2 is emitting, the voltage VLED1 is substantially zero, causing a bit '0' of xl to be generated for that OFF cycle.

Because Manchester coding is used, during each time bit transmission interval, both LED1 and LED2 transition between an OFF cycle and an ON cycle (the order depends on whether the bit transmitted in that interval is a '0' or a T). Accordingly, if VLEDKV0 for the OFF cycle of LED 1 in a given bit transmission interval, it can be inferred that LED2 has transitioned in the same way as LED1 in that transmission time interval i.e. if LED 1 as transitioned from OFF-to-ON in that interval, so too must have LED2, which in turn means that the corresponding bit of b2 must be '0' for the scheme set out above; likewise, if LED 1 has transitioned from ON-to-OFF in that interval, so too must have LED2, which in turn means that the corresponding bit of must be T for this scheme. Conversely, if VLED1>V0 for the OFF cycle of LED 1 in a given bit transmission interval, it can be inferred that LED2 has transitioned in the opposite way to LED2, and the corresponding bit of b2 determined accordingly. This is summarized in table 3 for convenience.

A corresponding scheme is applied at the second LED transceiver system 2(2), to infer transitions of LED1.

The fact that b2 is equal to the XOR of bl and xl when the above-noted conventions are adopted can be readily verified from table 3. Whilst this represents a convenient and computationally inexpensive way of recovering b2 from bl and xl, this is not essential. The fundamental point is that the ON/OFF transitions of LED2 can be inferred from (i) the ON/OFF transitions of LED 1 as determined by bl and (ii) information gained by monitoring signals generated by LED1 during its OFF cycles. How these ON/OFF cycles are mapped to individual bits of bl/b2 is purely a matter of design choice. Moreover, the comparison to determine the other system's data sequence can be effected in different ways. In the example of figure 2A, bl=l 1001010 and b2=l 1111111, hence as can be seen x 1=00110101 and x2=00110101, from which the relationships of figure 2B can be readily verified.

Figure 2B shows a second example, which also uses Manchester coding with ON-OFF keying at a duty cycle of 50% (50% dimmed). In the second example,

bl=01100001, which is the ASCII code for character symbol 'a'; b2 = 01000000, which is the ASCII code for character symbol '@'. Figure 2C shows a graph corresponding to the output of the ADC 13 in this example, in which more realistic variations in VLED1 and VLED2 are evident.

Herein, the term "symbol" refers to a sequence of N bits in general, where N is at least two. The term symbol Ts duration refers to the duration of one symbol - in the following examples Ts=N*Tb i.e. N times the bit duration Tb. For example, in the described examples, N=8.

During each bit duration Tb (1msec in this example), there is 0.5*Tb period during which LED1 and LED2 are OFF to sense, which may or may not coincide in time. The measurements xl and x2 are quantized with two representation levels, 0 and 1, as set out above. From the figure above, xl = 00100001 and x2 = 00100001.

Decoding at one LED is implemented by an exclusive OR operation between the transmitted bit sequence and measured bit sequence. Again, it can be seen that:

-

The above examples assume the respective clock signals CLK1, CLK2 of the two transceiver systems 2(1), 2(2) are synchronized. Whilst is some systems it is viable to provide sufficiently synchronized clock signals, this may not always be the case. However, any asynchronization can be accounted for in various ways, such as the following.

In the following, a two-levelled synchronization process is described, which provides both bit-level synchronization and frame-level synchronization.

One method of accounting for bit-level asynchronization between the first and second LED transceiver systems 2(1) and 2(2) will now be described with reference to Figure 3 A.

The method provides bit-level synchronization between the two systems 2(1), 2(2). In general, the clock signals CLK1, CLK2 may have a phase offset Δί€ [0, γ], i.e. anywhere between zero and one half of the bit duration Tb. The phase offset may be substantially constant, or it may vary over time if the two clock signals CLK1, CLK2 have slightly different periods.

Figure 3A shows an example in which CLK1 and CLK2 are initially out of phase by a phase offset AtX). Accordingly, the transitions of LED 1 and LED2 are out of phase by that same amount initially.

LED1 and LED2 are each shown to be transmitting symbol (i.e. bit) T during respective bit transmission intervals Wl(n) and W2(n), which is part of a respective synchronization sequence si, s2 formed of one or more synchronization symbols (see below). The synchronization sequence may for example be a sequence of only Ί; bits i.e.

111111111... emitted over a synchronization interval, or some other synchronization sequence (e.g. only '0' bits, or a predetermined pattern of T and 'Ο'). The synchronization sequence is predetermined and known to both LED transceiver system 2(1), 2(2). These symbols that constitute the synchronization sequence may for example be either idle symbols, i.e. emitted by default when there is no actual data to encode, or stop symbols, denoting the end of a transmitted sequence.

Because of the non-zero phase offset At, Wl(n) and W2(n) are not aligned in time initially - in this example, Wl(n) is ahead of W2(n) in time by At, as can be seen in Figure 3A.

With the form of Manchester coding set out above, there is a falling edge at each symbol duration Tb. From relative to Wl(n) and W2(n) respectively, both LED

transceivers are switched off and can thus be used as receivers. Because of the phase offset, these OFF cycles are not aligned in time, which causes a peak in VLED1 during Wl(n) of duration At, i.e. having a duration that matched the phase offset, even though the two systems 2(1), 2(2) are transmitting the same bit. This means that the phase offset can be detected automatically and measured by the synchronization module 11 of the first system 2(1). In practice, the phase offset may be determined by the synchronization module 11 as:

where are respectively a setup time of the ADC 13, the number of positive

samples that are above a threshold and the sampling frequency of the ADC 13. The setup time is the time taken by the ADC 16 to stabilize its internal reference voltage before sampling and quantization.

In accordance with the method of figure 3 A, phase correction is implemented by simply inserting a delay interval At before the start of the subsequent symbol. That is, by delaying a subsequent bit transmission interval Wl(n+1) of the first system 2(1) by At, such that it is synchronized with a corresponding transmission time interval W2(n+1) of 2(2).

For a VLC system, the introduced delay intervals lead to a small illumination loss that is proportional to the phase offset At. To compensate for this, preferably the method is adapted as illustrated in figure 3B. Instead of a complete OFF delay interval for At, a center-positioned pulse 22 with 50% duty cycle is used instead, such that the perceived illumination level is unchanged by the delay interval. In general, this same effect can be achieved by introducing one or more transitions between ON and OFF during this delay interval with a matching duty cycle, as it is the duty cycle that determines the perceived illumination level.

This pulse 22 will also be detectable at the second system 2(2) using LED2, as it coincides with an OFF cycle of LED2, as a small voltage pulse 24 in VLED2. This pulse is shorter than the duration of an ON cycle (Tb/4 at most, compared with Tb/2 for a 50% duty cycle), and is identifiable to the second system. The second system 2(2) is thus able to determine from the identifiable pulse 24 that a successful synchronization has taken place.

Figure 6 illustrates principles of the frame-level synchronization process. In figure 6, a synchronization sequence (corresponding to si or s2 above) is denoted by 'X...X', where 'X' is a predetermined symbol i.e. a predetermined sequence of bits e.g. a sequence of only T bits or only '0' bits. The bitwise complement of X is denoted by (e.g. if

X=l 1111111 , then - Here, X function as an idle symbol and also a stop symbol, whereas functions as a start symbol. A change from a sequence of idle symbols X,...X to the start symbol in the output of a transceiver system 2 means that system 2 has changed from an idle state to an active transmission state.

A frame structure is imposed, wherein each fram commences with one

start marker followed by N payload symbols 'Di, ... DN' and terminated with one stop marker X as is shown in figure 6. The notation F\i[k] denoted the kth frame transmitted by system M i.e. the system denoted 2(M) (2(l)/2(2)) in the various figures.

The aim of frame-level synchronization is to time-align the transmission frames by transceiver systems 2(1) and 2(2).

Initially, both systems 2(1) and 2(2) are in an idle state, in which each is emitting a continuous stream of idle symbols X. Whilst in this idle state, they execute bit- level synchronization as outlined above.

Subsequently, the input data sequence becomes available for transmission, e.g. it is input to the first system 2(1) from an external component, or the first system 2(1) generates it, or it is otherwise rendered available for transmission by the first system 2(1). The scheduler (9 in figure 1 A) of system 2(1) receives the newly-available input data to be transmitted in a data frame Fi[l]. In response, the scheduler of system 2(1) determines a current state of the second system 2(2) based on the output of the demodulator 12 - because system 2(2) is still in the idle state at this point, the output of the demodulator 12 is a constant stream of X symbols, from which the scheduler determines that system 2(2) is in the idle state. Because system 2(2) is idle at this point in time, its scheduler transmits the frame Fi[l] immediately, independently of the second system i.e. at a time chosen independently of the second system 2(2).

During the transmission of F i [ 1 ] , the scheduler of system 2(2) receives its own input data to be transmitted in another frame F 2 [l]. At this point in time, the scheduler of the second system 2(2) is able to see from the output of the demodulator of the second system 2(2) that the first system is in the active transmission state. In response, it delays the transmission of frame F 2 [l] until receiving the N payload symbols plus one stop symbol of frame Fi[l] from the first system 2(1). In this manner, the first and second systems 2(1), 2(2) first execute symbol-level synchronization, they then transmit frames Fi[2] and F2[l] simultaneously. Two-way communication is thus achieved and symbol-level synchronization is executed at the stop symbol of each frame.

The symbols X and X may be unique, though that is not essential provided X and X are such that the transceiver can identify the start and end of a packet.

The above assumes that the transceiver system 2(1), 2(2) have access to matching clock signals CLK1, CLK2 (which are matching in the sense that that each system 2(1), 2(2) is able to represent a symbol over substantially the same symbol duration Tb). An exact match is not essential - for example, even if the clock signals CLK1 and CLK2 only approximately match, this can be accounted for by repeating the bit-level synchronization process as often as is needed to account for this.

Figure 4 illustrates the synchronization performance of the two transceiver systems 2(1) and 2(2) using the preferred synchronization method in an illustrative scenario. Initially, both transceivers 2(1), 2(2) are asynchronous and stay at idle state, in which each is emitting a constant streams of ' Γ bits (ON-to-OFF) .

In this scenario, the line-of-light between LED1 and LED2 is blocked by a dark object such that synchronization will not start until that object is removed. At stage [A], around l~ms, the dark object starts to be slowly removed. In response, a positive square wave is observed during each sensing period. Its amplitude increases as the line-of-sight path is restored and its width determines the phase offset between transceiver systems 2(1) and 2(2). Compared to system 2(1), 2(2) is phase leading and will delay to compensate the phase offset in accordance with the method of figure 3B. At stage [B], the amplitude of the sensed pulse 20 exceeds a threshold voltage . In response, the synchronization module 11 of the second system 2(2) delays the next bit transmission interval by an amount matching the duration of the pulse 20, and inserts a narrower square wave 22 in front of the delayed symbol duration, as per the method of figure 3B. At beginning of stage [C], transceiver systems 2(1) and 2(2) are thus in-phase, i.e. synchronized.

Although the above examples assume a duty cycle of 50%, this is not essential. For example, assuming the two transceiver systems 2(1), 2(2) operate at the same duty cycle, denoted q, the above-described techniques work when

The upper bound is determined by

where are the sensing circuit response time, ADC setup time (during which

the ADC reference voltage becomes stable), the ADC sampling frequency and the symbol duration. The corresponding sensing interval is

which allows at least one ADC measurement for decoding.

The lower bound is determined by

where:

The sensing window is . The first constraint ensures that the

average of ADC measurements (when a Ί ' is received) is beyond a threshold voltage for correct decoding. The second constraint allows at least one ADC measurement by the other LED device.

Accordingly, the present invention works over a wide range of duty cycles. For a coded light implementation, by varying the dimming level q at for both transceiver systems 2(1), 2(2) between these bounds, the dimming level ca be varied. As noted, because Manchester coding is used, the dimming level q can be varied independently of the coded data. There are a number of LED device aspects that are beneficial to consider.

Firstly, the intrinsic wavelength selectivity of LEDs should allow for detection at reasonable ranges. Denoting the peak emitting light wavelength at two LED devices by and and assuming the peak sensing spectra is centered at (which may differ

from respectively, depending on the physical characteristics of the LEDs), then in order for the first LED device to receive a coded optical carrier from device the second LED device, should allow sufficient overlap between sensing and emitting spectra (likewise for The communications system can be optimized by

appropriate selection of LEDs, with suitable emission and sensing spectra.

Secondly, for phosphor-converted LED devices, the absorption ratio of phosphor materials attenuates the optical signal power received by LED. This can be accounted for by including a suitable signal amplifier in the LED transceiver system 2 (e.g. in the LED controller 6a), which amplifies signals received from the LEDs 4 during OFF cycles.

Thirdly, in some cases the LED driver 6a may comprise an output capacitor, which can have an impact on switching time of LEDs, and thus affect the off-time used in sensing i.e. limit the time for which the LEDs can be used as sensors. This can be accounted for by choosing a sufficiently long bit duration Tb. This can also be accounted for by including a dedicated discharge circuit on driver 6b.

Figure 5A illustrates an exemplary lighting system incorporating the techniques of the present invention. The lighting system comprises a plurality of luminaires 16 installed in an environment 15, arranged to emit illumination in order to illuminate that environment 15. In the illustrated example, the environment 15is an indoor space within a building, such as one or more rooms and/or corridors (or part thereof). The luminaires 16 are ceiling-mounted, so as to be able to illuminate a surface below them (e.g. the ground or floor, or a work surface). However, in other arrangements one or more of the luminaires 16 could be mounted on the wall, or embedded in the floor or items of furniture; and/or the luminaires 16 need not be arranged in a regular grid; and/or the environment 15 may comprise an outdoor space such as a garden or park, or a partially-covered space such as a stadium or gazebo (or part thereof), or a combination of such spaces. At least two of the luminaires 16 in the lighting system are configured as coded light transceivers in accordance with the above described techniques, such that they are able to modulate data into their illumination output whilst simultaneously receive such modulated data from one or more of the other luminaires. As shown, in figures 5B-5E, each of these luminaires 16 supports an LED lamp 18 in which the one or more LEDs 4 are integrated. The luminaire 16 comprises any associated socket, housing or support for the lamp 18. Usually, the lamp 18 is a replicable component, though modern LED lamps may have working lifetimes of several years and thus require only occasional replacement. The LED transceiver system 6 of the present invention may be integrated in the lamp 18 itself (figure 5B), which means that the present techniques can be incorporated into existing, non-specialized luminaires. Alternatively, the LED transceiver system 6 may be supported by the luminaire 16 itself (figure 5C), for example it may be integrated in the luminaire or it may be, say, a detachable module that can be incorporated in the luminaire 16 if the luminaire 16 has the necessary infrastructure. Alternatively, at least part of the LED transceiver system 6 may be external to the luminaire, and connect to it via a suitable external interface. For example, the controller 6a may be eternal to the luminaire 16, with the driver 6b integrated in or otherwise supported by the luminaire 16 (Figure 5D) or lamp 18 (Figure 4E).

Figure 5 A also shows a system controller 21, for controlling the transceiver systems 2(1), 2(2). The system controller 21 may, for example, set the dimming level q used by each of the transceiver systems 2(2), and allow q to be varied to change the dimming level. The system controller 21 may communicate with the transceiver systems 2(1), 2(2) in any suitable manner, e.g. using wireless technology, wired technology or a combination of both. The system controller 21 may for example comprise a user interface mechanism, such as a switch or wall panel, by which a user can set the dimming level q. Alternatively, the system controller may comprise an interface by which it can communicate with a separate user device (based on wired and/or wireless technology), such as a smartphone, tablet or other computer device, with which the use can set the dimming level q. The system controller 21 may be a single device, or it may be formed of multiple devices.

The described system has a (spatial)communication range, denoted, d which is related to LED luminaire scale by

where are the total number of LEDs, the number of LED strips that is

connected in parallel and a reference communication range achieved by a single LED.

respectively The system does not require a direct line of sight (LOS) between the LEDs of different transceiver systems (though the communication range may be reduced slightly for non-LOS channels).

The various components 10, 11, 12, 13 of the LED transceiver system 2 shown in figure 1 A can be implemented using any suitable configuration of software (e.g. firmware) and/or hardware (e.g. dedicated hardware, FPGAs etc.). For example, the modulator 10, synchronized module 11 and/or demodulator 12 may be implemented as software executed on one or more processors of the controller 6a (e.g. CPU(s), DSP(s) etc.) that is stored in memory of the controller 6a, or as one or more fixed or field-programmable integrated circuits.

Note the Manchester code of table 1 above is exemplary, and the choice of representation for Ό' and T is arbitrary - these could equally be represented as ON-to-OFF and OFF-to-ON respectively instead. Moreover, in the example of table 1, both systems 2(1) and 2(2) use the same form of Manchester coding i.e. both represent '0' and T in the same way, though this is not essential. Differences in the representation can be accounted for when the sequences bl, b2 are recovered.

As noted above, the present techniques can also be applied to differential Manchester coding. Differential Manchester coding effectively uses the same symbols as the basic Manchester of the above examples, but the manner in which the data is mapped to channel symbols is different. Basic Manchester encodes the level of the data in the symbol (such that swapping wires makes a difference); whereas differential Manchester encodes the data in the presence of a transition at the start of the symbol (such that swapping wires does not make a difference).

The decoding scheme for differential Manchester coding can, for example, be performed using two XOR operations (a first to establish the symbols; a second to decode the symbols). That is, the comparison implemented by the demodulator 12 to recover the original data may comprise two XOR operations. To aid illustration, the following example is considered. Using differential Manchester coding, the encoder 10 encodes each data bit by calculating a differential data sequence * as follows:

Then, basic Manchester coding is used to code this differential data sequence s, as described above, such that each bit of s is represented as ON-OFF or OFF-ON in the transmitted signal. The difference here is that each transition in the transmitted signal corresponds to a bit of s, rather than s directly. Viewed from another perspective, this can be seen as basic Manchester coding with s as the input sequence bl.

Accordingly, decoding by the decoder 12 comprises two steps:

A first XOR decoder of the decoder 10 decodes the received signal as a normal Manchester code word. The output of the first XOR decoder is the differential data sequence s. A second XOR decoder of the decoder 10 decodes the transmission data sequence S as follows:

The above has been described with reference to Manchester coding. As noted, the same techniques can also be applied to other forms of DC-balanced RLL coding, as explained in the following.

Figure 7A shows an RLL modulator 1 O RLL, which can be used as the modulator 10 of the LED transceiver system 2 of figure 1A.

For any RLL line code that is DC-balanced (having equal number of Is and 0s in a code word, as noted above), redundant bits are inserted in the following manner.

Consider any xByB RLL code, where x is the number of data bits in a data unit and y=2K is the code word length. The number of Is or 0s in a code word therefore equals K. The RLL modulator 10 RLL generates a coded word from an input data unit by transforming it as follows:

Here Si represents the ith bit of the data unit (pre-transformation on the left- hand side; post-transformation on the right-hand side). Half of the bits of the transformed sequence are zero and the other half are 1 - aside from that no additional limitations necessarily imposed on this transformation. It has x bits before the transformation and y bits afterwards. Note for Manchester coding, x=l such that each data unit pre-transformation is a single bit; y=2 such that each is transformed to a two-bit sequence (one OFF, one ON) - i.e. lB2y.

To extend the system beyond Manchester coding - to general xByB coding - redundancy bits can be for example added according to an algorithm represented by the following pseudo-code:

In other words, redundancy bits are added to an input data unit as followed.

The sequence is processed per adjacent and non-overlapping bit pairs i.e. the first pair is the first and second bit, the second pair is the third and fourth bit etc. A first transformation rule is applied, wherein each '00' bit pair, Ί Γ is added between that the first and second bit of that pair (resulting in 0110); for each Ί Γ bit pair, '00' is added between that the first and second bits of that pair (resulting in 1001); for each '01 ' and '10' bit pair, no additional bits are added for that pair as such. This in itself can result in transformed sequences of different lengths for different input units. Accordingly, a second transformation rule is applied, wherein bits are added to the end of the sequence if necessary to increase length up to match that of the longest sequence(s). This transformed version of the sequence is outputted by the modulator 10 RLL as a control signal 32 for controlling the switch 8, in the same manner as described above.

An example of this added redundancy to a 4B6B code is set-out in table 4, below. In this case, the maximum sequence length resulting from the application of the first rule is 10-bits; accordingly bits are added where necessary to bring all of the sequences up to 10. To aid illustration, redundancy bits added between bit pairs in applying the first rule are shown in bold; redundancy bits added to the end of the sequence in applying the second rule are shown in bold italics.

Table 4 - Modified 4B6B RLL code with highlighted redundant bits.

Decoding according to the scheme of table 4 can be verified from table 4. For example, figure 6B shows two randomly select two code words from table 4 and decode using the XOR decoder. In Figure 6B, U P h,i(t) and U P h,2(t) denote the signals revived at transceiver systems 2(1), 2(2) respectively (corresponding to VLED1 and VELD2 in earlier figures). Even though, as shown, the output generated by the XOR operation is incomplete in this case, it can still be unambiguously mapped to the original data unit in table 4.

Note this is just one example of a redundancy scheme that can be used to extend the techniques to other forms of DC-balanced RLL coding - other redundancy schemes may be apparent to the skilled person, and are within the scope of the present invention.

As another example, 'O' and '1' may be coded as, say, 0101 (i.e. OFF-ON-OFF- ON) and 1010 (i.e. ON-OFF-ON-OFF) respectively: this constitutes an additional level of redundancy, as every part of the coded sequences is unique to the bit it encodes: even if only a quarter of the relevant signal is received the encoded bit can still be recovered - e.g. 0101 may be partially received as 0***, *1** **0*, or ***1 (where "*" denotes a non-received portion of the signal) and in all four cases the original '0' bit can be recovered. As another example, '0' and '1' may be coded as, say, 0110 (i.e. OFF-ON-ON-OFF, where ON-ON denotes the signal being in the on-state for twice as long as each OFF) and 1010 (i.e. ON- OFF-ON-OFF) respectively. In this case, the second halves of the sequence constitute padding, as only the first halves of each sequence are unique to the encoded bit - e.g. if, for 0110, only 0*** or * 1 ** is received, the original '0' bit can still be inferred; but if ** 1 * or ***0 or even ** 10 is received, the coded bit cannot be inferred as this provides no distinction over a coded T.

It will be appreciated that the processing steps in embodiments as performed by the modulator and demodulator of the claimed LED controller could be implemented partially or in full on a general purpose computer and/or using dedicated hardware or a mix thereof. In fact part of the functional behavior e.g. the modulation, preferably the translation from data to channel symbols, and conversely the demodulation, preferably the translation from channel symbols to data, may be implemented as computer software running on one or more data processors and/or digital signal processors. Notably the same functionality could also be realized using a dedicated hardware in the form of an application specific integrated circuit or using programmable hardware such as a FPGA. Notably other tasks such as the control and coordination of various operations by the ADCs and/or the synchronization of the clocks may also be partially implemented using software, hardware or a mix thereof. In addition it is noted that the elements and components used in the modulator and demodulator may all be incorporated in a singular device such as a luminaire, but within the luminaire may still be distributed over a plurality of units or as part of other functional units. For example, in case of an LED luminaire having a LED driver with an on-board microcontroller, it may be advantageous to integrate the functionality in the LED driver so as to reduce the number of components. Alternatively if the luminaire comprises a luminaire controller that e.g. also provides a Power over Ethernet or Radio Frequency communication unit, then it may be beneficial to include the visible light modulator/demodulator functionality therein.

The embodiments of the LED controller as presented herein are preferably used in a visible light communication system; however it is noted that the fine-grained interleaving of transmission and reception as presented herein to realize a low-latency full- duplex transmission system may find equal application in applications using the infra-red or IR spectrum for free space optical communication.

It will be appreciated that the above embodiments have been described by way of example only. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single processor or other unit may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. A computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems. Any reference signs in the claims should not be construed as limiting the scope.