# Electronic – How to use 5 LEDs for additive colour mixing using the CIE 1931 Chromaticity diagram

colourled

I am using Amber, Green, Blue, White (2500K – Colour Temperature) and White (6500K – Colour Temperature) LEDs, and altering their brightness to get to a specific colour and brightness (luminous flux) on the CIE 1931 Chromaticity diagram.

I am specifing xamber, yamber, xgreen, ygreen, xblue, yblue, xwhite2500K, ywhite2500K, xwhite6500K, ywhite6500K. These are the respective coordinates of each LED on the CIE 1931 diagram. I am also specifying xmix and ymix, which is the coordinate of the colour I want to get to, and Ymix, which is the brightness of the colour I want to get to.

The solution I want to get is the Yamber, Ygreen, Yblue, Ywhite2500K and Ywhite6500K brightness values for each LED to get to xmix, ymix and Ymix.

I can do this right now, but the problem is is that my method only gives me one possible combination of the brightnesses of the LEDs. Sometimes this combination is impossible to achieve (ie Yblue is too high – my blue LED simply can't shine as bright as the solution requires).

I was wondering if there is a way to get lots of different combinations of brightness for the 5 LEDs to get to my desired colour and brightness, so I can choose which ones are optimal and within range of possible values.

I can go into more detail if you would like, such as the formulas and method I use to get my singular solution if it helps.

This is my first question here so if there is something I have done wrong or something you could suggest that I do to make the question more answerable please let me know.

Thank you very much.

EDIT:
The calculation I have used to get a combination of Yamber, Ygreen, Yblue, Ywhite2500K and Ywhite6500K is as follows:

Firstly we set up a 3×5 matrix A:

Then we take the pseudo inverse of this matrix and call the result B.
I did this in MATLAB like so:

B = pinv(A);

Then we multiply B by another matrix, and we have our result in the form of a 5×1 Matrix:

Attaching images seemed easier because of the formatting. Hope this helps.