Visible light communication with increased signal-to-noise ratio

A method of increasing modulation of a visible light signal. The method can include receiving a signal that corresponds to the visible light signal, where the visible light signal has a magnitude. The method can also include adjusting, by a controller and based on the signal, a dimmer level of a dimmer by an amount, where the amount is proportional to the magnitude of the visible light signal, and where the dimmer level adjusts an output of a driver circuit. The visible light signal and the output of the driver circuit can be combined into a power signal and sent to one or more light sources. The one or more light sources can use the power signal to generate a light output that includes a visible light communication signal that is received by a receiver.

TECHNICAL FIELD

Embodiments described herein relate generally to visible light communication (VLC), and more particularly to systems, methods, and devices for improving the signal-to-noise ratio (SNR) for VLC.

BACKGROUND

Visible light communication is a way of allowing devices to communicate with each other using signals embedded within a light output generated by a light source. For example, with a light-emitting diode (LED) circuit, a signal (sometimes called a light communication signal or a processed power signal) generated by a LED driver and sent to one or more LEDs can include a visible light signal generated by a modulation circuit. When the LEDs illuminate using the processed power signal and the visible light signal, the LEDs send light output. The light output of the LEDs can include a visible light communication (VLC) signal and can be received by a receiver. In such a case, the receiver can separate the VLC signal from the light output (sometimes called a light communication).

SUMMARY

In general, in one aspect, the disclosure relates to a method of increasing modulation of a visible light signal. The method can include receiving a signal that corresponds to the visible light signal, where the visible light signal has a magnitude. The method can also include adjusting, by a controller and based on the signal, an input signal by an amount, where the amount is proportional to the magnitude of the visible light signal. The input signal can include the visible light signal and a power signal from a driver circuit and is received by one or more light sources. The one or more light sources can use the input signal to generate a light output that includes a visible light communication signal that is received by a receiver.

In another aspect, the disclosure can generally relate to a system for increasing modulation of a visible light signal. The system can include memory that includes an algorithm, and a hardware processor executing the algorithm. The system can also include a modulation circuit executing on the hardware processor, where the modulation circuit generates a visible light signal, and where the visible light signal includes a magnitude. The system can further include a controller, executing on the hardware processor and operatively coupled to the modulation circuit, that receives a signal based on the visible light signal and generates, in response to the signal, an adjustment signal. The system can also include a driver circuit, executing on the hardware processor and operatively coupled to the controller, that includes a dimmer, where the dimmer receives the adjustment signal and adjusts, in response to the adjustment signal, a dimming level to adjust an output of the driver circuit by an amount, where the amount is proportional to the magnitude of the visible light signal. The system can further include a light source, operatively coupled to the driver circuit and the modulation circuit, that receives the output of the driver circuit and the visible light signal and generates, using the output of the driver circuit and the visible light signal, a light output comprising a visible light communication (VLC) signal.

In another aspect, the disclosure can generally relate to a system for increasing modulation of a visible light signal. The system can include memory that includes an algorithm, and a hardware processor executing the algorithm. The system can also include a modulation circuit executing on the hardware processor, where the modulation circuit generates a visible light signal, where the visible light signal comprises a magnitude. The system can further include a controller, executing on the hardware processor and operatively coupled to the modulation circuit, that controls the magnitude of the visible light signal. The system can also include a driver circuit that generates a power signal. The system can further include a light source, operatively coupled to the driver circuit and the modulation circuit, that receives an input signal, where the input signal includes the power signal from the driver circuit and the visible light signal from the modulation circuit. The light source can generate, using the input signal, a light output having a visible light communication (VLC) signal.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The example embodiments discussed herein are directed to systems, methods, and devices for VLC with increased SNR (also called improved SNR) in electronic circuits, such as with LED lighting circuits. Specifically, example embodiments may be directed to controlling the modulation level output by a modulation circuit, a dimming level of a dimming circuit, and a time delay. Further, example embodiments coordinate the aforementioned parameters between a LED driver, the modulation circuit, and a receiver. Certain example embodiments provide a number of benefits. Examples of such benefits include, but are not limited to, little to no discernable flicker of a light source, decreased error in VLC signal detection and interpretation, user capability to adjust the settings and output, and no discernable difference in the level of light output by a light source.

While the example embodiments described herein are directed to LED lighting systems, example embodiments can also be used for other types of lighting systems (e.g., fluorescent lighting systems, organic LED lighting systems) that are used for VLC. Therefore, example embodiments of VLC with improved SNR described herein should not be considered limited to LED lighting systems.

Example embodiments of VLC with improved SNR in LED circuits will be described more fully hereinafter with reference to the accompanying drawings, in which example embodiments of VLC with improved SNR in LED circuits are shown. VLC with improved SNR in LED circuits may, however, be embodied in many different forms and should not be construed as limited to the example embodiments set forth herein. Rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of VLC with improved SNR in LED circuits to those or ordinary skill in the art. Like, but not necessarily the same, elements (also sometimes called components) in the various figures are denoted by like reference numerals for consistency.

FIG. 1shows a system diagram of a LED circuit (system)100that uses VLC currently known in the art. The LED circuit100ofFIG. 1includes a LED driver110, a modulation circuit120, one or more LEDs130, and a receiver140. The LED driver110can optionally include a dimmer115. The LED driver110and the modulation circuit120are both connected in parallel with the LEDs130(also referred to herein as a light source). In certain embodiments, one or more of a number of other components (e.g., an inductor112, a capacitor, a resistor, a switch, an integrated circuit) can be used in the LED circuit100between the LED driver110, the modulation circuit120, and/or the LEDs130.

The receiver140is a device that receives the VLC signal, emitted as part of the light generated by the LEDs130, and interprets the VLC signal. The receiver140is often a device that is physically separate from the other components of the LED system100, but within a line of sight of the light emitted from the LEDs130. The LEDs130can be part of a light fixture or stand-alone. The LEDs130can be any type of LED, including but not limited to chip-on-board. The LEDs130, the LED driver110, the dimmer115, and the modulation circuit120can be positioned within the same housing and/or in separate locations. The LEDs130emit light output, which can include a non-VLC signal component (or, more simply, a non-VLC signal) and, in some embodiments, a VLC signal component (or, more simply, a VLC signal).

The LED driver110is a power supply for the LEDs130. Specifically, the LED driver110receives power from a source, processes the power, and delivers the processed power to the one or more LEDs130. The LED driver110can also receive, process, and/or deliver control signals to the LEDs130. The control signals and/or processed power (collectively referred to as a power signal) can be received by the LEDs130from the LED driver110using wired and/or wireless technology. Similarly, the signals (e.g., power, control) received by the LED driver110from external sources can be received using wired and/or wireless technology. The LED driver110can be located inside of a housing, coupled to an exterior surface of such a housing, or positioned remotely from such a housing. The LED driver110can include one or more discrete components (e.g., transformer, resistor, relay), one or more hardware processors, any other suitable circuitry, or any combination thereof. Thus, the LED driver110can include software, hardware, or any combination thereof.

The dimmer115of the LED driver110controls the amount of power (adjusts the power signal) delivered by the LED driver110to the LEDs130. The dimmer115can be controlled remotely by a user and/or by some other source. By controlling the power signal delivered by the LED driver110to the LEDs130, the dimmer115controls the amount of light output by the LEDs130. The dimmer115can be part of the LED driver110, or the dimmer115can be a separate device from the LED driver110.

The modulation circuit120controls the VLC signal component of the light emitted by the LEDs130. Specifically, the modulation circuit120sends, in parallel with the power signal sent by the LED driver110, a varying amount of power (the visible light signal) to the LEDs130. The power signal sent by the LED driver110to the LEDs130is added to the visible light signal sent by the modulation circuit120to the LEDs130, and the LEDs130emit light (generate a light output) based on the sum of the power signal received from the LED driver110and the visible light signal received from the modulation circuit120. In certain example embodiments, the sum of the power signal and the visible light signal is called an input signal. In such a case, the light emitted by the LEDs can include a VLC signal component. The modulation circuit120can be part of the LED driver110, or the modulation circuit120can be a separate device from the LED driver110.

The varying amount of power (also called a visible light signal) sent by the modulation circuit120to the LEDs130translates directly into the VLC signal as output by the LEDs130. In other words, the power received by the LEDs130from the LED driver110is constant because the dimmer115, which can control the amount of power delivered by the LED driver110to the LEDs130, is not used in the VLC functionality of the LED circuit100. As a result, the modulation level (i.e., the maximum amplitude of the visible light signal sent by the modulation circuit120to the LEDs130) is typically less than 2% of the maximum amplitude of the power sent by the LED driver110to the LEDs130. For example, if the current delivered by the LED driver110to the LEDs130is 1.0 A, then the maximum modulation level of the modulation circuit120may be approximately 20 mA.

The visible light signal generated by the modulation circuit120can come in one or more of a number of formats. For example, when the maximum modulation level of the modulation circuit120is 20 mA, the VLC protocol can operate on a binary system (zeros and ones), and so the visible light signal can be zero (to correspond to a binary zero) or 20 mA (to correspond to a binary one). The VLC protocol can be communicated between the modulation circuit120, the receiver140, and the controller that initiates the VLC.

For currently-used LED systems100without the benefit of example embodiments, if the modulation level of the visible light signal delivered by the modulation circuit120to the LEDs130is greater than approximately 2% of the maximum amplitude of the power sent by the LED driver110to the LEDs130, then the light emitted by the LEDs130have a flicker discernable by the human eye. Thus, because the maximum modulation level generated by the modulation circuit120is so low relative to the maximum amplitude of the power delivered by the LED driver110to the LEDs130, the SNR of the VLC signal of the light output of the LEDs130is necessarily low. As a result of the SNR of the VLC signal being low, errors often occur by the receiver140in distinguishing the VLC signal from the light output of the LEDs130and/or, if distinguished, properly interpreting the VLC signal. Thus a balance must be struck in the LED system100between having a high SNR for the VLC signal while avoiding light flickering that is discernable with the human eye.

Increasing the SNR of the VLC signal increases the reliability of the LED system100using VLC. To increase the ability of the receiver140to accurately and reliably receive (distinguish) and interpret VLC signals within the light output of the LEDs130, while still avoiding light flickering in the light output that is discernable with the human eye, example embodiments can be used.FIG. 2shows a system diagram of a LED circuit (system)200using VLC with improved SNR in accordance with certain example embodiments. In one or more embodiments, one or more of the features shown inFIG. 2may be omitted, repeated, and/or substituted. Accordingly, embodiments of lighting systems using VLC with increased SNR should not be considered limited to the specific arrangements of components shown inFIG. 2. The components ofFIG. 2are substantially the same as the components described above with respect toFIG. 1, except as described below.

Unlike the dimmer115inFIG. 1, the dimmer215of the LED circuit200inFIG. 2is used not only as an externally-controlled device that adjusts the power output (power signal) of the LED driver110to the LEDs130. In addition, in certain example embodiments, the dimmer215is controlled by the controller250to make instantaneous (on the order of GHz) adjustments in the power signal from the LED driver110to the LEDs130. Such instantaneous adjustments can coincide with, and compensate for (complement), the maximum modulation level (the visible light signal) of the modulation circuit220to the LEDs130. In other words, as the modulation circuit220sends, at a certain point in time, a level (modulation level) of power (the visible light signal) to the LEDs130, the dimmer215can adjust (e.g., reduce, increase), at or nearly at the same point in time, the amount of power delivered by the LED driver210to the LEDs130.

Such an adjustment can correspond to the modulation level. For example, if the modulation circuit220sends a visible light signal of 100 mA to the LEDs130, the LED driver210can reduce the current output by the LED driver210by approximately 100 mA. As another example, if the modulation circuit220does not send a visible light signal (i.e., the visible light signal is 0 mA) to the LEDs130, the LED driver210can increase the current output by the LED driver210by approximately 100 mA.

As a result, the modulation circuit220has a larger maximum modulation level compared to the modulation circuit120known in the art. For example, the maximum modulation level of the modulation circuit220can be approximately 10% of the maximum amplitude of the power delivered by the LED driver210. The maximum modulation level of the modulation circuit220can be fixed or variable. Aside from outputting a larger maximum modulation level, the modulation circuit220can also differ from the modulation circuit120by communicating with the controller250.

In certain example embodiments, the controller250is communicably coupled to the dimmer215, the modulation circuit220, and optionally the receiver240. In certain example embodiments, the controller250is a module or device that controls the dimmer215based on changes in the visible light signal generated by the modulation circuit220. The controller250can include software and/or hardware. Examples of such hardware can include, but are not limited to, an integrated circuit, a programmable logic controller, one or more discrete components (e.g., resistor, capacitor), and one or more switches. The controller250can include, or be operatively coupled to, a timer.

The controller250can receive a signal that corresponds to a visible light signal. In some cases, the signal is a visible light signal. The signal can be received from the modulation circuit220, an external source (e.g., another controller), a different portion of the controller250, or any combination thereof. The controller250can use this signal to adjust (e.g., increase, decrease) the dimmer level of the dimmer215. Such a signal sent by the controller250to the dimmer215can be called an adjustment signal. For example, the controller250can adjust the dimmer level of the dimmer215by sending an adjustment signal that is based on a calculation performed by the controller250that is based on the visible light signal sent by the modulation circuit220to the LEDs130. Such a calculation can be based on an algorithm stored in the controller250.

In certain example embodiments, the controller250also uses the adjustment signal (generated by the controller250) to control the output (the amplitude of the visible light signal) of the modulation circuit220. Alternatively, the modulation circuit220can generate a visible light signal (either the same as the visible light signal sent by the modulation circuit220to the LEDs130or a different visible light signal), which is received by the controller250. In such a case, the controller250can use the visible light signal to send an adjustment signal to the dimmer215to adjust the dimming level. This feedback path (modulation circuit220to controller250to dimmer215) can use optics and/or an electric circuit to communicate. In certain example embodiments, the feedback path uses an electric circuit (wired and/or wireless) rather than optics because the electric circuit can be less expensive and more reliable than optics.

In certain example embodiments, the controller250also controls the maximum modulation level of the modulation circuit220. Alternatively, the maximum modulation level of the modulation circuit220can be fixed, as by a user, a manufacturer, or some other entity. In addition, or in the alternative, the controller250can adjust a dimmer level of the dimmer215to a level that corresponds to the output (e.g., the maximum modulation level) of the modulation circuit220. The dimmer level of the dimmer215(and thus the output of the LED driver210) can be proportional (e.g., directly inverse, inversely) to the magnitude of the visible light signal generated by the modulation circuit220. The controller250can be part of, or a different component from, the controlling unit that exists for a LED system200using VLC and converting the VLC signal that is being sent as an output of the modulation circuit220.

In certain example embodiments, the dimmer level at which the controller250sets the dimmer215is substantially the inverse of the output (e.g., the maximum modulation level of the visible light signal) of the modulation circuit220. For example, if the output of the modulation circuit220is 0.1 A, then the controller250can set the dimmer level of the dimmer215to approximately 0.9 A for a LED module210that has a normal output level of 1.0 A. The controller250can control the dimmer level of the dimmer215and/or the maximum modulation level of the modulation circuit220in real time and/or in advance, as by using a protocol sent to the dimmer215and/or the modulation circuit220. The controller250can adjust the dimmer level of the dimmer215and/or the maximum modulation level of the modulation circuit220in terms of a percentage of power (e.g., 10% reduction based on the normal output level), a discrete amount of power (e.g., a 0.1 A increase), or some other suitable measure of power.

In addition to (or in the alternative of) controlling the amplitude of the power signal of the LED driver210using the dimmer215and/or the visible light signal of the modulation circuit220, the controller250can, in certain example embodiments, control the timing of such changes using the timer (not shown) that is part of, or operatively coupled to, the controller250. Specifically, the controller250can control when the amplitude of the power signal of the LED driver210using the dimmer215and/or the visible light signal of the modulation circuit220change relative to each other in certain example embodiments. In other words, the controller250can adjust the dimmer level of the dimmer215before, after, or at the instant when the output of the modulation circuit220is changed. The amount of time that the controller250can adjust the dimmer level of the dimmer215before or after the time when the output (visible light signal) of the modulation circuit220is changed can vary, but in no case can be so long as to cause a flicker in the output of the LEDs130that is discernable to the human eye. An example of such a maximum amount of time can be 10 ms.

In certain example embodiments, the dimmer215is optional, which means that the power signal generated by the LED driver210and sent to the LEDs130is substantially constant. In such a case, the controller250can control the magnitude of the visible light signal generated by the modulation circuit220and sent to the LEDs130. The control of the modulation circuit220by the controller250can be according to a protocol known by the receiver240

In other example embodiments, the controller250can control the magnitude of the visible light signal generated by the modulation circuit220and sent to the LEDs130, even if the LED driver210includes a dimmer215. In such a case, the dimmer215and the LED driver210can operate as described above with respect to the dimmer115and the LED driver110ofFIG. 1. The magnitude of the visible light signal controlled by the controller can be based on the dimmer level of the dimmer215.

In certain example embodiments, the dimmer215is part of, or is the same component as, the modulation circuit220. In such a case, if the modulation circuit220is capable of a maximum modulation level (visible light signal), the dimmer215can adjust the magnitude of the visible light signal between zero and the maximum level.

An example of how the controller250controls the output of the dimmer215and/or the modulation circuit220with respect to each other in real time is shown inFIGS. 3A-C. Referring toFIGS. 2-3C,FIG. 3Ashows a graph300of the total current304flowing through the LEDs130, which creates a light output of the LEDs130.FIG. 3Bshows a graph320of the current324flowing out of the LED driver210based on the dimmer level of the dimmer215.FIG. 3Cshows a graph340of the current344(the visible light signal) flowing out of the modulation circuit220. In other words, the current304inFIG. 3Ais the sum of the current324inFIG. 3Band the current344inFIG. 3C.

As can be seen inFIG. 3A, up until approximately 3 ms, the visible light signal346inFIG. 3Cis zero, and so the current306inFIG. 3Aflowing through the LEDs130is identical to the current326inFIG. 3Bgenerated by the LED driver210, which is approximately 1.0 A. During this time (up to approximately 3 ms), the dimmer level of the dimmer215is 100%. At approximately 3 ms, the visible light signal348inFIG. 3Cjumps to 0.1 A. The controller250adjusts the dimmer215with a 2 ms lag after the modulation circuit220changes the visible light signal348. As a result, the current308inFIG. 3Aflowing through LEDs130is approximately 1.1 A between 3 ms and 5 ms. In certain example embodiments, the controller250receives a signal in advance of the change in the visible light signal generated by the modulation circuit220. In such a case, the controller250can adjust the dimmer level of the dimmer215in advance of, or at the same time as, a change in the visible light signal generated by the modulation circuit220.

Continuing with the example inFIGS. 3A-C, at 5 ms, the 2 ms lag to adjust the dimmer level of the dimmer215has elapsed, and so the controller250adjusts the dimmer level of the dimmer215down by approximately 0.1 A (down to approximately 90%) so that the current328inFIG. 3Bgenerated by the LED driver210is approximately 0.9 A, which compensates for the 0.1 A of the visible light signal348inFIG. 3Cgenerated by the modulation circuit220. As a result, the total current310inFIG. 3Aflowing through the LEDs130is back to 1.0 A.

At approximately 7 ms, the visible light signal350inFIG. 3Creturns to zero. This causes the total current312inFIG. 3Aflowing through the LEDs130to drop to 0.9 A. Again, because of the 2 ms lag in the dimmer level of the dimmer215being adjusted by the controller250in response to a change in the visible light signal344, the total current312inFIG. 3Aflowing through the LEDs130remains at approximately 0.9 A until 9 ms. At 9 ms, the controller250adjusts the dimmer level of the dimmer215upward by approximately 0.1 A (back to 100%) so that the current330inFIG. 3Bgenerated by the LED driver210is approximately 1.0 A, which is the normal operating condition at the start of this example.

In certain example embodiments, the controller250can also determine that an intensity of the visible light signal exceeds a threshold value. In such a case, a threshold value can correspond to an amount of time and/or an amount of power delivered to the LEDs130. For example, if the VLC protocol is a binary system, and if the visible light signal contains 3,000 binary “1”s in a 4,096 bit string, the controller250may determine that a threshold has been exceeded. In such a case, in certain example embodiments, the controller250can disable and/or pause the modulation circuit220(set the visible light signal to zero) for a period of time and/or until a condition (e.g., the threshold is no longer exceeded) has been satisfied. After the period of time has expired and/or the condition is satisfied, the controller250can re-enable and/or unpause the modulation circuit220.

In addition, or in the alternative, if the controller250determines that a threshold value has been exceeded, then the controller250can disable the dimmer215(e.g., set the dimmer level to 100%) and/or lock the dimmer level of the dimmer215at a certain level. The purpose of this feature can be to avoid situations where a relatively large number of zeros or ones within a period of time (e.g., 2 ms) can otherwise cause a discernable brightness or dimness in the light output by the LEDs130.

FIG. 4is a flowchart presenting an example method400for increasing the modulation of a visible light signal in accordance with certain example embodiments. While the various steps in this flowchart are presented and described sequentially, one of ordinary skill will appreciate that some or all of the steps may be executed in different orders, may be combined or omitted, and some or all of the steps may be executed in parallel. Further, in one or more of the example embodiments, one or more of the steps described below may be omitted, repeated, and/or performed in a different order.

In addition, a person of ordinary skill in the art will appreciate that additional steps not shown inFIG. 4, may be included in performing this method. Accordingly, the specific arrangement of steps should not be construed as limiting the scope. Further, a particular computing device, as described, for example, inFIG. 5below, may be used to perform one or more of the steps for the method400described below.

Referring now toFIGS. 2-4, the example method400begins at the START step and proceeds to Step402, where a signal that corresponds to the visible light signal is received. In certain example embodiments, the controller250receives the signal. The controller250can receive the signal from the modulation circuit220, another controller, and/or some other component or entity of the LED system200. The visible light signal can have a magnitude that corresponds to the maximum modulation level of the modulation circuit220. The signal can be the visible light signal.

In Step404, an input signal is adjusted by an amount. The input signal can be adjusted by the controller250. The input signal can be the sum of the visible light signal generated by the modulation circuit220and the power signal generated by the LED driver210. The amount that the input signal is adjusted can be proportional to the magnitude of the visible light signal.

In certain example embodiments, the input signal is adjusted by the controller250when the controller250adjusts the dimmer level of the dimmer215. As described above, the dimmer215can control (adjust) the power signal sent by the LED driver210(or any driver circuit). The amount that the dimmer level of the dimmer215is adjusted can be based on the signal received by the controller250in step402and can be proportional (e.g., inversely) to the magnitude of the visible light signal and/or a change in the visible light signal. The visible light signal and the output of the LED driver210can be combined into a power signal and sent to one or more light sources (e.g., LEDs130). The LEDs130can use the power signal to generate a light output that includes the VLC signal that is received by the receiver240.

In addition to adjusting the dimmer level of the dimmer215, or in the alternative, the controller250can adjust the visible light signal that is generated by the modulation circuit220. In such a case, the output of the LED driver210can be constant, regardless of the dimmer level of the dimmer215. The amount that the modulation level of the modulation circuit220is adjusted by the controller250can be based on the signal received by the controller250in step402and can be proportional (e.g., directly) to the signal received by the controller250in step402.

As described above, the visible light signal and the output of the LED driver210can be combined into a power signal and sent to one or more light sources (e.g., LEDs130). The LEDs130can use the power signal to generate a light output that includes the VLC signal that is received by the receiver240. If the dimmer215is operatively coupled to, or is the same as, the modulation circuit220, then the visible light signal can be adjusted by adjusting the dimmer level of the dimmer215in such a case.

In any case, the controller250use a timer to adjust the input signal in advance, at substantially the same time, or after a corresponding change in the visible light signal. The receiver, the controller250, and any other appropriate components (e.g., the LED driver210, the modulation circuit220, the dimmer215) can coordinate using one or more of a number of protocols and/or algorithms so that the adjustments to the input signal and/or the time delays are interpreted correctly within the LED system200.

In certain example embodiments, when the signal received by the controller250is continuous (or only minimally interrupted to be considered continuous), the process can be repeated between step402and step404. In such a case, the controller250can adjust the dimmer215and/or the magnitude of the visible light signal based on one or more factors, including but not limited to changes in the visible light signal generated by the modulation circuit220, a change in the dimmer level of the dimmer215, and the existence of the dimmer215.

Also, as explained above, the controller250can suspend the operation of the modulation circuit220to avoid a circumstance where the light output of the LEDs130appears too bright or too dim based on the dimmer setting of the dimmer215as set by a user. In such a case, the controller250can, in certain example embodiments, send a suspension signal to the receiver240to notify the receiver240that the visible light signal is not being generated by the modulation circuit220, and so that there is no VLC signal in the light output of the LEDs130. In such a case, when the period of time expires (or when a condition has been satisfied), the suspension signal is no longer sent from the controller250to the receiver240. Alternatively, the controller250can send a resume signal to the receiver240to notify the receiver240that the visible light signal is again being generated by the modulation circuit220, and so that there the VLC signal is present in the light output of the LEDs130. After step404is completed, the process returns to the END step.

FIG. 5illustrates one embodiment of a computing device500capable of implementing one or more of the various techniques described herein, and which may be representative, in whole or in part, of the elements described herein. Computing device500is only one example of a computing device and is not intended to suggest any limitation as to scope of use or functionality of the computing device and/or its possible architectures. Neither should computing device500be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the example computing device500. As shown inFIG. 5, the bus508is operatively coupled to each of the processing unit(s)502, the I/O device(s)506, and the memory/storage component504.

Computing device500includes one or more processors or processing units502, one or more memory/storage components504, one or more input/output (I/O) devices506, and a bus508that allows the various components and devices to communicate with one another. Bus508represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. Bus508can include wired and/or wireless buses.

Memory/storage component504represents one or more computer storage media. Memory/storage component504may include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), flash memory, optical disks, magnetic disks, and so forth). Memory/storage component504can include fixed media (e.g., RAM, ROM, a fixed hard drive, etc.) as well as removable media (e.g., a Flash memory drive, a removable hard drive, an optical disk, and so forth).

One or more I/O devices506allow a customer, utility, or other user to enter commands and information to computing device500, and also allow information to be presented to the customer, utility, or other user and/or other components or devices. Examples of input devices include, but are not limited to, a keyboard, a cursor control device (e.g., a mouse), a microphone, and a scanner. Examples of output devices include, but are not limited to, a display device (e.g., a monitor or projector), speakers, a printer, and a network card.

“Computer storage media” and “computer readable medium” include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, computer recordable media such as RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.

The computer device500may be connected to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, or any other similar type of network) via a network interface connection (not shown). Those skilled in the art will appreciate that many different types of computer systems exist (e.g., desktop computer, a laptop computer, a personal media device, a mobile device, such as a cell phone or personal digital assistant, or any other computing system capable of executing computer readable instructions), and the aforementioned input and output means may take other forms, now known or later developed. Generally speaking, the computer system500includes at least the minimal processing, input, and/or output means necessary to practice one or more embodiments.

Further, those skilled in the art will appreciate that one or more elements of the aforementioned computer device500may be located at a remote location and connected to the other elements over a network. Further, one or more example embodiments may be implemented on a distributed system having a plurality of nodes, where each portion of the implementation (e.g., controller, modulation circuit, dimmer) may be located on a different node within the distributed system. In one or more embodiments, the node corresponds to a computer system. Alternatively, the node may correspond to a processor with associated physical memory. The node may alternatively correspond to a processor with shared memory and/or resources.

In one or more example embodiments, dimming for LED circuits reduces current ripple effect, decreases the cost of parts and manufacturing, and allows for better dimming control of AC-powered LED circuits, particularly for low-cost AC-powered LED circuits.