# Spectral distribution of light source -> Kelvin degrees?

Hi all, new here (from Sweden, so excuse my english).

I would like to take the spectral power distribution of a light source (first and foremost different kind of flourescents, not black bodies) and calculate the kelvin temperature of the light emitted from the light source.

With the help of this page I can map the spectral distribution to a point in CIE XYZ-space:
http://www.fourmilab.ch/documents/specrend/

But how do I get from the point in CIE space to a CCT value (Correlated Color Temperature)?

Best Regards
http://www.defblog.se

Related Other Physics Topics News on Phys.org
mgb_phys
Homework Helper
A thermal source doesn't give only a single colour in CIE space.
You can calculate the peak intensity wavelength from the temperature by Weins law
temperature (kelvin) = 3mm/(Peak wavelength)

A thermal source doesn't give only a single colour in CIE space.
Very true. Using Kelvin temperature to "classify" light sources is terrible inaccurate, but very common in aquaristics. The measure will not be useful for anything but give a feeling for how "cold" or "blue" a light source will feel when lighting an aquarium.

I will use the calculations to demonstrate how inaccurate Kelvin is for classifying lighting for aquariums.

You can calculate the peak intensity wavelength from the temperature by Weins law
temperature (kelvin) = 3mm/(Peak wavelength)
Thanks! The way I'm currently on is to calculate a table with a range of Kelvin temperatures for a black body and it's XYZ-values, see below and then calculate a XYZ-value for a spectral distribution of a lamp:
Temperature x y z R G B
----------- ------ ------ ------ ----- ----- -----
1000 K 0.6527442957285721 0.34446802071827504 0.002787683553152811 256 1 0 (Approximation)
1500 K 0.585718766278037 0.393121765513689 0.02115946820827409 256 32 0 (Approximation)
2000 K 0.5266807512026125 0.4132982294836405 0.060021019313747044 256 59 2
2500 K 0.4770003160416207 0.4136800591446971 0.10931962481368226 256 89 17
3000 K 0.4369398558648342 0.40408423250821457 0.15897591162695127 256 116 38
3500 K 0.40531559706388376 0.3907328491921704 0.20395155374394572 256 140 64
4000 K 0.38045474513712557 0.3767715057475733 0.24277374911530103 256 162 94
4500 K 0.3608055946466982 0.3635766668080745 0.2756177385452273 256 181 126
5000 K 0.3451217464002835 0.3516474876353892 0.30323076596432724 256 199 158
5500 K 0.3324570898678045 0.34108138423791684 0.32646152589427857 256 214 190
6000 K 0.32210778539222723 0.3318057887225378 0.3460864258852349 256 227 222
6500 K 0.3135520064160987 0.3236863676191689 0.36276162596473244 256 239 252
7000 K 0.3064010901419602 0.3165757555677976 0.37702315429024225 232 227 256
7500 K 0.30036311593555104 0.31033421627575664 0.3893026677886923 211 214 256
8000 K 0.29521660278236267 0.30483724626545455 0.3999461509521829 195 204 256
8500 K 0.29079170704681706 0.29997725681871723 0.4092310361344656 181 196 256
9000 K 0.2869567803173985 0.2956627174292652 0.4173805022533363 170 188 256
9500 K 0.28360870852781944 0.2918163519505964 0.4245749395215841 161 182 256
10000 K 0.28066591376783356 0.2883731181549254 0.43096096807724116 154 177 256

A common bulb in aquaristics is for example the Philips Aquarelle which I've calculated having the following values, it's rated 10000K from the manufacterer:
0.26023360920281896 0.2958774677980403 0.44388892299914084 94 195 256

As you can see the XY values are near the 10K blackbody XY values.

So my solution would be to generate a table of blackbody XYZ-values for all temperatures between let's say 1000 and 40000 Kelvin and then compare the XYZ-value for the lamp I want to calculate the CCT for with this table and see what temperate is the closest?

A somehate naïve approach I guess...

Hi again, I think I've found a couple of solutions.

Robertsons algorithm:
http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_T.html

Also I stumbled over this PDF:

That PDF reduced the fairly complex algorithm to this polynomial formula (3000-50000 K):

n = (x - 0.3366)/(y - 0.1735)
CCT = -949.86315 + 6253.80338*exp(-n/0.92159) + 28.70599*exp(-n/0.20039) + 0.00004*exp(-n/0.07125)

Where X and Y is the chromaticities calculated from the spectral distribution with the program made by John Walker:
http://www.fourmilab.ch/documents/specrend/

I implemented both the Robertson algorithm and used the polynomial formula and I recieve almost the exact same values from both.

Best Regards