There’s no doubt that color plays a significant part in our perception of the world around us. But when an object is illuminated with different light sources, it often appears to change color. This property of the illuminating light source can be quantized as CRI (Color Rendering Index). The CRI defines how accurately a sample light source reproduces an illuminated object’s color in comparison to a reference light source of comparable color temperature.  Figure 1 shows an example of how the color of an object appears to change when illuminated with light sources of different CRI.


1. When the object in the figure is illuminated with light sources of different CRI values, the color of the object appears to change.

White light is, of course, the most commonly used light source, be it in home, industrial, or architectural lighting. It would be nice if a user had the option to finely tune the white light source until the object under observation looked its best. For the most part, this is not an option, but sometimes the tuning of the light source is critical, such as in medical lighting applications. Here, we will analyze the characteristics of white light and the ways and means to tune it. 

Characteristics of White Light

Before we can explain how to tune white light, we need to fully understand the concept of color. Interestingly, color cannot be quantized as easily as other physical attributes such as temperature or density. This is because the color of an object depends on the physics of the object, the environment, and the characteristics of the perceiving eye, among other factors.

What humans perceive as color is actually electromagnetic spectrum in the wavelength range of 390-750 nm. The human eye, in general, observes each element of the image on the retina with three different ‘cone’ types that serve as photo detectors. What makes things interesting is that the spectral response of each of these cones is different. This means that when a portion of the retina is exposed to a visible spectrum, the response of each of the cones will be different. Actually, each ‘cone’ multiplies the whole spectrum with its own spectral response. This means that at each wavelength of the incident spectrum, the spectrum strength at that wavelength is multiplied by the spectral response of the cone at the same wavelength and all the products are added to give the resultant response of the cone. In the end, what the brain perceives is a combination of the results of the three cone types. The three cones are generally termed L, M, and S for Large, Medium, and Small, referring to the fact that the peaks of their spectral responses are at different wavelengths.

White light is a combination of various wavelengths. As you know, if you pass white light through a prism, you can see the various component wavelengths (Fig. 2). The component wavelengths range can be given by VIBGYOR (recall this is Roy G. Biv backwards), with V-violet having the shortest wavelength and R-red having the longest.


2. A prism splits white light neatly into its component wavelengths.

CIE And White Light

In general, white light can be produced using the three basic colors of Red, Green, and Blue. The question for developers is how to determine the right proportion of the basic colors to achieve white. Even if we arrive at the right proportion, in what units are we going to express it, so it is widely understood and accepted? The CIE (International Commission on Illumination, derived from its original French name) xyY color space is the most common answer for this. The xyY color space is built on the concept that any color can be represented fully by its hue, saturation and brightness/luminance in a three-dimensional color space. Though brightness and luminance are slightly different, we will ignore this difference for the time being. In the xyYcolor space, x represents hue, y represents saturation, and Y signifies brightness.

Before we further analyze the CIE xyY color space, let’s briefly look at how it was arrived at. In the 1920s, extensive experiments were done on quantifying color. One such approach was to quantify and express color with three coordinates – R, G and B. Here, each value referred to the proportion of the three primary colors [R, G, and B] required for generating the specific color ‘C’:

C = R.R+G.G+B.B    (1)

R, G and B represent the primary colors and R, G and B signify the required mixing proportion of the primary colors to get color ‘C’. However, this format had an issue where the coordinate ‘R’ was negative for a few colors. To overcome this, a new color space XYZ was defined, where X, Y and Z are imaginary primaries such that for all the possible colors, none of the co-ordinates are negative. In this new representation, color ’C’  is X.X+Y.Y+Z.Z, where X,Y,Z and X,Y,Z are similar to R,G,B and R,G,B as defined earlier. In this system, ‘Y’ represents both the luminance and one of the coordinates.

To make things easier, these three coordinates (X, Y, Z) were further reduced to a two-dimensional space, with the definition of chromaticity co-ordinates (x,y) as

x=X/X+Y+Z  (2)

y=Y/X+Y+Z  (3)

So, the complete visible spectrum was represented in a two-dimensional space, named the CIE chart.

 ‘Y’, which is equivalent to luminance, can be imagined as being vertical to the (x,y) graph. Any color can be described by the (x,y) chromaticity coordinates and luminance ‘Y’ .

One critical property of the CIE chart is that any color on a straight line joining two colors can be produced by appropriately mixing the two colors at the endpoints of the straight line. For example, any color on line MN can be produced by mixing M and N in the right proportion (Fig. 3). Extending the same logic to triangle RGB (with vertices as Red, Green and Blue color sources), any color within the triangle can be produced by mixing R, G and B in the right proportions.  Considering this, let’s treat the R, G and B color sources as LED light sources. Let the chromaticity coordinates of these LEDs be (xred,yred),(xgreen,ygreen) and (xblue,yblue).


3. A CIE chart represents the complete visible spectrum.

Producing White Light With R G B LEDs

If we wish to get color ‘C’ with co-ordinates (xmix,ymix) and with luminance ‘Ymix, then the first task is to check if this (xmix, ymix) falls in the triangle covered by R,G and B. Once we determine this, we need to calculate the mixing proportions of R, G, and B to achieve the desired color. By mixing proportion, we mean the dimming level required for the R, G, and B LEDs. There are many algorithms for these calculations. One such algorithm is the matrix approach, with the below steps:

  1. Calculate matrix A as:
  2. Take the inverse of matrix A
  3. Calculate the required lumen level for each of the R,G, and B LEDs as:

Here, Yred, Ygreen, and Yblue give the required lumen output for each of the basic R, G, and B LEDs to achieve the desired color. This method has two advantages. If any of the Yred, Ygreen, or Yblue is negative, then it means that the requested color is outside of the gamut of the RGB triangle. Second, if any of Yred, Ygreen, and Yblue is greater than the maximum lumens of the respective LEDs, then the lumens of the final color, Ymix, is too large and needs to be scaled down.

Assume that we are using a PWM of resolution ‘N’ for dimming, then the signal density for the PWM driving the Red LED can be expressed as below, where Ymax,red is the maximum lumens of the Red LED:

DimValuered= (Yred/Ymax,red) * ((2^N)-1)

In summary, the requirement for generating any color within the triangle RGB is basic Red, Green, and Blue LEDs with known (x,y) chromaticity coordinates and maximum lumens. Using suitable algorithms, we would have to calculate the dimming values for the R ,G, and B LEDs to achieve the desired color. One such algorithm is the matrix approach we just discussed.

Logically, white light used for general illumination also falls within the triangle RGB and any shade of white light can be obtained by mixing R, G, and B sources in the right proportion. It is time to introduce another important parameter that is used to measure the chromaticity of white light, the CCT parameter. CCT (Correlated Color Temperature) is based on the concept on Color Temperature (CT).

Planck's law gives the intensity of the energy radiated by a black body as a function of wavelength and temperature. Therefore, every CT has a unique color associated with it, defined by its chromaticity coordinates (x, y). CCT is defined as the temperature of a black body radiator whose chromaticity is closest to that of the light source on a perceptually uniform color space. Figure 4 gives the black body locus on the CIE chart.


4. This figure shows the Black Body Locus  superimposed on CIE 1931.

Note that a particular CCT refers to a line of chromaticity on the color space instead of a single color. For example, points A and B have the same CCT but different (x,y) coordinates. White lighting for general illumination usually falls in the range of 2,000 to 10,000K. So, the input parameters to a tunable LED white light system can be either the (xwhite, ywhite, Ywhite) coordinates or the expected CCT of the output white light. Based on this, the system has to calculate the required dimming levels for the component R, G, and B LEDs.

Tunable LED White Light Systems

Figure 5 shows a typical electrical system for driving LEDs. A rectifier is used to convert line voltage (AC) into DC. In general, the LED fixtures in home lighting/architectural lighting are controlled from a common master and the fixtures are slaves. The common communication interfaces used in lighting networks are the DMX and DALI interfaces.  In a tunable white light system, the master can communicate the expected (xwhite, ywhite, Ywhite) output to each of the slave fixtures through these communication protocols. Another option for the master is to communicate the desired CCT of the white light. It is then the job of the LED driver to calculate the Yred, Yblue, and Ygreen values and drive the LEDs with the calculated dimming values.


5. This circuit shows a typical LED electrical system.

LEDs show variation in spectral properties with temperature. Effectively, this means that their (x,y) coordinates change with temperature. This can be critical in tunable white light applications, where the user would have set the dimming level for the R, G, and B LEDs to get a desired white color at a specific temperature. But, with variation in temperature, as the (x,y) coordinates of the basic LEDs change, the output deviates from the desired color. As such, temperature compensation techniques have to be implemented in firmware with a real-time temperature feedback system, along with efficient heat sinks.

With LEDs, another design challenge is that they come in various bins, where LEDs falling under one specific bin exhibit similar spectral properties. When we procure a number of a specific color of LEDs from a vendor, they may not belong to the same bin and therefore produce slightly different outputs. The option for designers is to either procure LEDs under the same bin, which can be quite expensive, or compensate for this difference in firmware. This means the load on the LED driver in terms of firmware includes the actual color mixing algorithm, with the additional temperature compensation and binning compensation techniques. In addition, it can be an added advantage for many applications if the LED drivers support the DMX/DALI interfaces, as this enables a single-chip, cost-effective implemenation.

There are many controllers well-suited for driving LEDs, with integrated MOSFETs, CSAs (Current Sense Amplifiers), hysteretic controllers, and other peripherals. Mixed-signal controllers also offer multiple modulation blocks like PWM, SSDM, and PrISM for controlling the dimming level of LEDs. A hysteretic controller, for example, takes the feedback from the CSA, Modulator block, and the Trip input. The trip input can be used to shut off the LED channel in case of any extreme current or voltage conditions. The calculated Y-red, Y-blue and Y-green dimming values can be fed as the signal density values for the modulation blocks controlling the Red, Green, and Blue LED channels. The CSA is used to monitor the current through the LED. The hysteretic controller output goes to the gate of the FET, which acts as the controlling switch in a standard buck or boost converter. These controllers can support multiple LED channels. Figure 6 shows the top-level set up for driving a single LED channel in buck configuration.


6. This is an example of a LED driver circuit using the Cypress PowerPSoC.

The firmware for the mixing algorithm, as well the firmware for temperature compensation and binning compensation can be run directly on the controller. Furthermore, it can support the DMX/DALI interfaces.

In conclusion, giving the user an option to finely tune the white light source is becoming more of a requirement rather than a sophisticated value-added feature. Considering that in lighting fixtures, space is a major constraint, it is imperative that designers choose an LED driver that can implement a system using a single chip solution while also having the computational capacity to support complex mixing algorithms and seamlessly integrate them into existing lighting networks.