3. 色温的测量与计算:分光辐射计原理、色坐标(CIE 1931 xy)、色温计算(Planckian locus)、麦克亚当椭圆

好,咱们进入第三章。前面聊了色温和显色性是什么,现在得动真格的了——怎么测?怎么算?

说实话,我刚入行那会儿,觉得色温就是个数字,拿个色温计一怼就完事了。后来被现实狠狠教育了一回:有一次项目验收,甲方拿分光辐射计一测,说我们提供的灯具色温偏差太大。我一看自己的手持色温计,显示 3000K,人家的报告写的是 2850K。嗯,从那以后我才真正开始研究色温到底是怎么算出来的。

3.1 分光辐射计:色温测量的“金标准”

你可能会问:为什么不用色温计?色温计当然可以用,但它本质上是个“黑箱”——给你一个数字,你也不知道准不准。分光辐射计不一样,它把光拆开给你看。

工作原理其实不复杂:

  • 光从入射狭缝进来
  • 经过光栅或棱镜分光
  • 不同波长的光被探测器阵列接收
  • 软件重建出完整的光谱功率分布(SPD)

有了 SPD,色温、显色指数、色坐标……所有东西都能算出来。我个人习惯是:但凡涉及色温精度要求 ±50K 以内的项目,必须上分光辐射计,手持色温计只用来做快速巡检。

我的经验: 分光辐射计采样间隔建议 ≤5nm。有些便宜设备用 10nm 间隔,算出来的色温偏差能到 100K 以上,尤其是 LED 这种带尖峰的光源。

3.2 CIE 1931 xy 色坐标:把颜色“钉”在纸上

有了 SPD,下一步就是算色坐标。CIE 1931 标准色度系统,说白了就是把颜色变成两个数字——x 和 y。

计算流程大致是:

  1. 将 SPD 与 CIE 1931 标准色匹配函数(x̄(λ), ȳ(λ), z̄(λ))相乘
  2. 对波长积分,得到三刺激值 X, Y, Z
  3. 归一化:x = X/(X+Y+Z),y = Y/(X+Y+Z)

举个例子,我手头有个 3000K LED 的实测数据:

参数 值
X 82.15
Y 85.63
Z 42.37
x 0.4368
y 0.4041

你想想看,有了 (x, y) 这对坐标,任何光源的颜色都能在色度图上精确标定。这也是为什么行业里说“色温”之前,往往先看色坐标——色温只是个近似值,色坐标才是原始数据。

3.3 色温计算:沿着普朗克轨迹找“最近点”

色温怎么从色坐标算出来?这里有个关键概念——普朗克轨迹(Planckian locus)。

黑体在不同温度下辐射的颜色,在 CIE 1931 色度图上画出一条曲线,就是普朗克轨迹。从低温的橙红色(~2000K)到高温的蓝白色(~10000K),一路走过去。

相关色温(CCT)的计算逻辑:

  • 把你测到的 (x, y) 放到色度图上
  • 找到普朗克轨迹上离它最近的那个点
  • 那个点对应的温度,就是 CCT

注意,我说的是“最近点”。实际光源很少正好落在普朗克轨迹上,所以算的是“相关色温”。

避坑指南: 我曾经遇到过一个项目,供应商报的色温是 4000K,结果我一算色坐标 (0.390, 0.400),离普朗克轨迹差了老远。虽然 CCT 算出来确实是 4000K,但 Duv(色偏差)达到了 +0.008,肉眼看起来明显偏绿。所以只看 CCT 不看 Duv,是新手最容易犯的错误。

计算 CCT 的代码实现也不复杂,这里给个 Python 示例:

import numpy as np

def cct_from_xy(x, y):
    # 使用 McCamy 近似公式(适用于 3000K-25000K)
    n = (x - 0.3320) / (0.1858 - y)
    cct = -449 * n**3 + 3525 * n**2 - 6823.3 * n + 5520.33
    return cct

# 实测数据
x, y = 0.4368, 0.4041
print(f"CCT ≈ {cct_from_xy(x, y):.0f} K")
# 输出:CCT ≈ 2998 K

当然,McCamy 公式只是近似。真要精确计算,得用迭代法找普朗克轨迹上的最近点,或者查 Robertson 表。我一般直接用 Python 的 colour-science 库,省心。

3.4 麦克亚当椭圆:色温容差的“真实边界”

好,现在你能测色坐标、算色温了。但问题来了:两个光源色温都是 3000K,它们看起来一样吗?不一定。

1942 年,麦克亚当做了个经典实验:让观察者判断两个颜色是否相同,然后把“刚好能看出差异”的边界画出来。结果发现,这些边界不是圆,而是椭圆——这就是麦克亚当椭圆。

关键结论:

  • 人眼对色度图不同区域的敏感度不一样
  • 在绿色区域,椭圆很小——人眼对绿色差异非常敏感
  • 在蓝色/紫色区域,椭圆很大——人眼不太敏感
  • 椭圆的长轴方向也各不相同

这个发现直接影响了行业标准。比如 ANSI C78.377 对 LED 的色度容差要求,就是基于麦克亚当椭圆划定的——通常用 3 步、5 步或 7 步椭圆来定义“合格”范围。

注意: 麦克亚当椭圆是在特定观察条件下测的(2° 视场、特定亮度)。实际应用中,大视场(10°)或不同亮度下,椭圆形状会变。所以标准里写“3 步麦克亚当椭圆”,你得确认它引用的是哪个实验条件。

我个人习惯是:室内照明用 3 步椭圆,户外或装饰照明可以放宽到 5 步。有一次做博物馆照明,甲方要求所有射灯色温偏差在 1 步椭圆以内——那真是挑灯挑到眼瞎。

知识体系总览

下面这张图把本章的核心逻辑串起来了:

色温测量与计算知识体系 色温测量与计算知识体系 分光辐射计 光谱功率分布 (SPD) × CIE 1931 色匹配函数 三刺激值 X, Y, Z 普朗克轨迹 (Planckian locus) 色坐标 (x, y) CCT + Duv 麦克亚当椭圆 定义色度容差边界

从分光辐射计采集 SPD,到计算色坐标,再到沿普朗克轨迹求 CCT,最后用麦克亚当椭圆判定容差——这条链路就是色温测量的完整技术栈。你掌握了它,以后不管遇到什么光源,都能从原理上判断数据靠不靠谱。

一句话总结: 色温不是测出来的,是算出来的。分光辐射计给 SPD,SPD 算出色坐标,色坐标在普朗克轨迹上找到最近点,那个点的温度就是色温。而麦克亚当椭圆告诉你——这个“最近点”离得有多近才算合格。