ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

自然光光谱实测:从光谱分布到辐射通量密度的三维解析

2026/10/5 7:33:44 拓冰建站 浏览量
自然光光谱实测:从光谱分布到辐射通量密度的三维解析 做光学测量这几年我越来越发现“光谱”这玩意儿确实是个越挖越深的东西。很多人一开始只知道光谱是一个曲线但真正要用起来会发现有三个维度必须看清楚一是光谱分布曲线长什么样二是光谱辐射通量密度每个波长上到底带着多少功率三是在自然光场景下绕不开的——不同时间段光谱会怎么漂移。这篇就借我做过的一次自然光实测项目把这三件事串起来讲透。这篇内容适合谁看呢如果你在做植物补光设计、光伏电站评估、摄影灯光匹配或者单纯想搞明白为什么早晨的光和正午的光颜色不一样那这篇正好。我会把光谱辐射通量密度的定义、计算、仪器选型、实测步骤、数据处理以及一天中不同时间段光谱变化的规律全部用大白话配实操记录讲清楚。保证不是教科书式的概念罗列而是能直接拿去用的那种。1. 项目设计为什么要把“光谱”拆成三个维度先说清楚我为什么要把这件事拆成“分布”“密度”“时间”三个词来聊。很多人测光拿个照度计测个lux数就觉得完事了但lux只是人眼感知的亮度根本没法告诉你这束光里红蓝光的比例是多少、紫外段有没有成分、光子数量够不够。要想把光“看透”必须从光谱入手。1.1 光谱分布一支笔画出光源的“指纹”光谱分布准确叫法是相对光谱功率分布Relative Spectral Power Distribution, RSPD描述的是光源在每一个波长上所辐射的能量相对大小。你可以把横轴当成波长纳米纵轴当成相对强度连成一条曲线这条曲线就是光源的“指纹”。不同光源的指纹差异极大。白炽灯是连续光谱从红到紫一条平滑上升的曲线荧光灯在连续背景上叠了好几根尖峰那是汞蒸气放电的特征线LED则是中间凸起一个峰光谱半宽只有几十纳米。所以做照明、做显示、做农业光环境第一步永远是测光谱分布先看形状对不对再谈具体数值够不够。实操中我最常被问到的一个问题是用分光辐射计测出来的相对强度能不能直接拿来比较答案是不能。相对光谱曲线只反映形状它把所有波长按峰值做了归一化数值在0到1之间可以看趋势但没法回答“这个波段的能量绝对值是多少”。所以还需要第二维——光谱辐射通量密度。1.2 光谱辐射通量密度从“形状”到“数量”光谱辐射通量密度的专业定义是单位面积上、单位波长间隔内的辐射功率。它的符号是E(λ)单位是W·m⁻²·nm⁻¹。读起来绕但其实特别好理解——你把光谱曲线想象成一条公路横轴是位置波长曲线高度就是这条路上每米堆的货量。光谱辐射通量密度就是告诉你在某个具体波长那个“点”上单位时间和单位面积内通过了多少能量。这里就引出一个关键区别相对光谱分布只告诉你比例光谱辐射通量密度告诉你绝对值。比如两个光源的相对光谱曲线形状完全一样但一个功率高一个功率低那它们的实际辐射通量密度就差了好几倍。在光伏、植物光照、光化学这些对能量敏感的领域只看相对曲线是要误事的。从光谱辐射通量密度出发还能积分出很多有用的量。对整个波长范围积分得到的就是总辐照度单位W/m²如果只对400到700nm积分就是光合有效辐射PAR的能量通量对280到400nm积分就是紫外辐照度。这些量都是植物补光、材料老化测试里的硬指标。1.3 时间维度太阳光谱不是一个固定值第三个维度是时间。太阳常数为1361W/m²听起来像是个稳定值但那是大气层外的数据。阳光穿过大气层到达地面要经历吸收、散射、反射一系列“加工”而大气的加工能力与太阳高度角直接相关。太阳高度角低时光穿过大气的路径更长被散射和吸收得也更厉害。这也是为什么晴天正午和傍晚肉眼看到的阳光颜色明显不一样——正午偏白偏蓝傍晚偏红偏黄。光是颜色变化就够影响摄影摄像了更别说光伏发电、温室大棚这类对光谱敏感的行业不同时间段的光谱差异能直接影响系统效率和作物生长。所以要做自然光相关的项目测量一天中不同时间段的光谱分布变化几乎是个必修课。2. 测量方案与硬件选型设备怎么选才不踩坑光靠脑袋想没用得动手测。先讲我当时是怎么选设备和搭方案的这部分内容对准备自己搭光谱测量系统的朋友特别有用。2.1 光谱仪选型分辨率、量程与动态范围怎么权衡光谱仪是核心设备。市面上的光谱仪从几百到几十万都有关键看三个参数波段范围、分辨率、动态范围。波段范围测太阳光波长覆盖最好从300nm到1100nm起步因为自然光里既包含紫外280-400nm也包含近红外750-1100nm。如果只测可见光400-700nm那很多场景就不够用。分辨率取决于光栅刻线和狭缝宽度。测连续光谱的太阳光分辨率2-5nm完全够用但如果你还想顺手测测汞灯的发射线那就需要1nm左右了。分辨率越高往往灵敏度越低采集时间越长要平衡。动态范围和灵敏度太阳光很强但一早一晚光强差了一个数量级以上如果仪器动态范围不够中午可能饱和傍晚可能信噪比很低。我的做法是优先选带多档增益或者可调积分时间的型号比如海洋光学的USB系列或者国产复享的PG2000系列这类光谱仪在实验室比较常见价格也可以接受。提示如果只是入门不必一上来就买十几万的科研级设备。一台研究用便携光谱仪加余弦校正器配合标准灯光源做标定已经能完成80%的自然光测量任务。2.2 余弦校正器这个“小帽子”千万别省直接拿光纤头对着太阳测测出来的结果基本没法用。因为光纤的接受角很小而且对不同入射角的光响应不一致稍微歪一点数值就天差地别。解决的办法是加余弦校正器cosine corrector。余弦校正器通常是一个漫透射材料做的圆盘罩在光纤端面前。它的作用是让探头对各个方向入射的光按余弦响应积分也就是把探头等效成一个理想的“平面感光元”。这样你把它水平一放测到的就是单位水平面积接受到的辐照度正好对应光谱辐射通量密度的定义。实测经验装余弦校正器时要注意清洁表面沾灰或者有指纹误差能到5%到10%。还有探头要绝对水平用一个水平泡是最省事的做法。别小看这个细节我见过不止一个人因为探头倾斜测出来的正午辐照度比标准值低了一百多W/m²。2.3 标定与暗电流想让数据靠谱这两个步骤不能跳光谱仪输出的原始数据是探测器上的数字信号DN值这个值跟真实辐射通量之间不是线性对应那么简单。探测器在不同波段的量子效率不一样光栅衍射效率也有差异所以必须做辐射标定把DN值转换成W·m⁻²·nm⁻¹。标定的做法一般是用一盏可溯源的卤钨灯光源比如NIST或中国计量院溯源的FEL灯把灯放到固定距离点亮后采集光谱然后用标准灯证书上给出的光谱辐照度值反推出一条校准因子曲线。每家光谱仪厂商都有对应的校准流程有些还能把校准系数直接存在仪器里操作起来很方便。暗电流则是另一个隐形杀手。探测器即使没光入射也会有电子热运动产生的输出信号这就是暗电流。它跟积分时间和环境温度强相关。测量时必须先盖上探头盖采一帧暗噪声然后每次正式测量都扣除掉暗电流。很多新手拿到数据白天测出来的光谱在长波段翘得老高十有八九就是没扣暗电流。3. 实操实录架好设备测一整天太阳光谱设备讲完了下面进入正题——我当时完整测了一整天的太阳光谱变化从早上日出到傍晚日落把整个过程和数据整理出来你可以直接照着复现。3.1 测试条件与时间点规划测试地点选在城郊一片空旷的平地上周围没有高楼遮挡地面是水泥地避免草地反光光谱的影响。时间选在五六月份天气晴朗无云能见度不错。为了覆盖不同太阳高度角我定了7个采集时间点时间太阳高度角约大气质量AM观察目的06:408°≈6.0日出后光线极斜观察红光主导效应08:0025°≈2.3低角度工况早间光谱09:3040°≈1.6接近AM1.5工况12:0078°≈1.0正午高角度光线路径最短14:3060°≈1.2午后对称检验16:3035°≈1.8斜射光逐步增强18:2010°≈5.7日落前光谱明显变红太阳高度角可以用经纬度和时间算手机App也能估比如SunCalc这类工具。AM值就按简化公式AM1/cos(天顶角)估算正午大体接近1早晚数值变大这个数值直接决定了光谱被大气“加工”的程度。实测注意事项早晨和傍晚光线变化快太阳高度角可能几分钟就差好几度所以每个时间点最好连续采3条光谱取平均并且记录当时的光照状态比如有没有薄云飘过。正午前后虽然光强高但太阳位置变化引起的光谱漂移反而慢可以稍微放松一点。3.2 数据采集流程从积分时间设定到文件保存我的采集流程分四步每一步都有讲究。第一步预热与暗电流采集。提前半小时打开光谱仪让它稳定。然后盖上余弦校正器的遮光盖在当前环境温度下采一帧暗光谱保存下来备用。如果白天温度变化大每个整点最好重新采一次暗电流。第二步确定积分时间。光谱仪有自动积分时间模式但我更习惯手动调。原则是让峰值信号的强度在不饱和的前提下尽量高一般占到满量程的80%到90%为佳。中午的时候我用的积分时间约1毫秒到傍晚可能要加到50毫秒以上相当于差了50倍。第三步正式采集。探头水平放置一键采样每组测3条取平均。这里有个小技巧如果光谱仪支持平均扫描次数把它设成5-10次能明显提高信噪比尤其是早晚光线弱的时候。第四步保存数据。光谱仪软件一般能导出CSV或TXT里面通常包含波长和辐照度两列。我的习惯是保存一份原始DN值文件和一份标定后的辐照度文件免得后面数据处理时还要重新倒回去查。3.3 数据处理与作图Python三步搞定归一化和光谱曲线数据导出来只是第一步真正要看出规律必须处理成图。我习惯用Python的pandas和matplotlib简单又表达清楚Excel也能做但Python处理大批量数据快得多。先把早上、中午、傍晚三组数据拉出来看原始光谱辐照度曲线import pandas as pd import matplotlib.pyplot as plt df_morning pd.read_csv(morning_08_00.csv, skiprows2) df_noon pd.read_csv(noon_12_00.csv, skiprows2) df_evening pd.read_csv(evening_18_20.csv, skiprows2) plt.figure(figsize(10, 6)) plt.plot(df_morning[wavelength], df_morning[irradiance], label08:00) plt.plot(df_noon[wavelength], df_noon[irradiance], label12:00) plt.plot(df_evening[wavelength], df_evening[irradiance], label18:20) plt.xlabel(Wavelength (nm)) plt.ylabel(Spectral irradiance (W/m^2/nm)) plt.legend() plt.grid(alpha0.3) plt.show()跑完这张图你会明显看到中午的峰值比早晚高一个数量级。但要注意早上和傍晚的曲线因为总能量低细节被压扁了看不出形状变化。这个时候需要归一化把每条曲线除以自己的最大峰值只看形状差异df_morning[norm] df_morning[irradiance] / df_morning[irradiance].max() df_noon[norm] df_noon[irradiance] / df_noon[irradiance].max() df_evening[norm] df_evening[irradiance] / df_evening[irradiance].max() plt.figure(figsize(10, 6)) plt.plot(df_morning[wavelength], df_morning[norm], label08:00) plt.plot(df_noon[wavelength], df_noon[norm], label12:00) plt.plot(df_evening[wavelength], df_evening[norm], label18:20) plt.xlabel(Wavelength (nm)) plt.ylabel(Normalized spectral intensity) plt.legend() plt.grid(alpha0.3) plt.show()归一化之后形状差异就非常直观了中午的曲线在400-500nm蓝紫段明显更高傍晚的曲线在600nm以上红波段相对更突出早晨的光谱则介于两者之间但偏红明显。这就是前面说的大气散射对太阳光谱“加工”的证据。如果需要更严格地量化光谱变化还可以做波段积分。比如把400-500nm积分值除以600-700nm积分值得到蓝红比这个比值随太阳高度角的变化就会一目了然。4. 实测结果解读不同时间段光谱变化的规律与原因数据拿到了图也画出来了接下来是最有意思的部分——解读这些光谱曲线背后的物理机制。我发现只要理解了大气对光的“选择性加工”一天中光谱怎么变就完全在掌握之中了。4.1 为什么早晚的光线明显偏红早晨和傍晚的光谱偏红最根本的物理原因是瑞利散射。瑞利散射的强度与波长的四次方成反比波长越短散射越严重。当太阳在低空时阳光穿过大气的路径暴涨蓝紫光在途中被散射掉很大一部分剩下的透射光自然就偏红。这个现象其实每天都在上演。你看到傍晚的天空是红色的原因就是大气把太阳光里的蓝绿光散射到四面八方剩下波长较长的红光、橙光沿着几乎没有衰减的路径传到你眼睛里。测出来的光谱曲线在500nm以下明显塌陷就是最直接的证据。另外大气中的臭氧在紫外到蓝光区域有一个吸收带水汽和二氧化碳在红外区域也有吸收这些都会进一步塑造早晚的光谱形状。所以从实际测量数据看早晨和傍晚在400到450nm的辐照度可能只有正午的十分之一而700nm附近的降幅就小得多。4.2 正午光谱为什么最接近理想太阳光正午太阳高度角最大光穿越大气层的路径最短大气对光谱的“加工”最少。这时候测到的曲线形状最接近标准的AM1.5G太阳光谱——这是光伏行业通用的参考光谱总辐照度约定为1000W/m²也是太阳能电池效率标定的基准。我实测的正午数据跟AM1.5G标准谱对照过形状拟合得很不错主要差异集中在900nm之后的近红外段那是水汽吸收带的影响跟当天湿度有关。从色温角度看正午自然光的色温能到5000K到5500K比早晚的3000来K显著“白”很多。这也是为什么摄影圈有“黄金时刻”的说法——早晚的阳光自带暖色调拍人像肤色好看加了滤镜加不出来的那种氛围。4.3 从数据中提取量化指标蓝红比、色温与辐照度为了让光谱变化从“看着像”变成“有数可依”我建议每次测量后都算三个量化指标时间总辐照度(W/m²)蓝红比(400-500/600-700)相关色温(K)06:40约600.42约280008:00约1800.58约370009:30约4200.76约450012:00约8500.95约520014:30约7600.84约480016:30约4200.68约400018:20约900.45约3000注意以上数值受纬度、季节、天气、空气质量影响很大这里只是我当时实测的一次记录用来展示变化趋势。真正做项目不能直接套表格里的数。蓝红比能从光谱层面反映光线质量的昼夜变化相关色温可以用光谱仪软件直接读或者用色度计算法从光谱数据反推总辐照度则是把整个波长范围积分得到。三个指标配合起来自然光环境就能被描述得明明白白。4.4 这些光谱变化在实际行业里的影响说清楚物理规律后聊聊它对实际业务的影响。光伏发电是最直观的受害者——太阳能电池的光谱响应并不平坦晶硅电池在可见光到近红外响应好而薄膜电池在短波段响应更佳。早晨和傍晚光谱红移对晶硅组件而言效率相对有利但总辐照度太低了影响被弱化真正有影响的是阴天和雨天的光谱红移会让光伏系统的输出与预期偏差变大。植物补光行业同样受光谱变化影响。植物光合作用主要利用红光和蓝光两个波段然而自然光在不同时间段的红蓝比例不同。这直接启发了一些温室大棚的设计思路早晨和傍晚自然光偏红可以适当补充蓝光来平衡光质让作物在全天都能获得合适的光配方。这是我做过的一个真实项目的核心思路也是“同一束阳光在不同时间不能一视同仁”的典型应用。5. 常见问题与排查技巧实录做光谱实测踩过的坑不少这里整理一些高频问题和对应的排查方法按我的经验排序。5.1 数据抖动厉害曲线毛刺多怎么办问题是信噪比不足。优先加长积分时间让信号尽量占满动态范围如果信号已经饱和就只能缩短。另外把平均采集次数调大比如从单次扫描改成10次平均毛刺会明显减小。还有一个经常被忽略的因素是电源光谱仪如果用开关电源供电容易引入工频干扰最好用电池或者线性电源实测干净不少。5.2 中午的光谱在400到450nm波段反而不高是不是仪器坏了不一定是坏了。正午太阳光经过大气路径虽然短但臭氧层在紫外到蓝紫波段有较强吸收所以光谱在400nm附近有一个下降是正常的。对照AM1.5G标准光谱你就能看到它本身在420nm附近就不是峰值而是随着波长向蓝端走逐渐下降。想确认仪器有没有问题可以做一次标准灯光谱作为参照。5.3 探头朝不同方向测数据差很多正常吗正常因为你测的是不同方向上的辐射来源。漫射光成分里一部分来自天空散射一部分来自地面反射。如果你关心的是太阳直射贡献就要对着太阳方向遮住漫射光如果你关心的是水平面接收到的总辐照度就必须水平放置探头用余弦校正器。我在做植物光照数据采集时通常同时采一组水平总辐照度和一组垂直太阳方向的直射光谱两个数据分开处理。5.4 多云天气测出来的光谱能说明什么多云天的光谱分布跟晴天完全不同云层会把阳光散射掉很大一部分而且散射对短波更明显导致阴天的光谱蓝紫段比例反而比晴天傍晚高。所以测阴天光谱时一定要避开降雨前后湿度极大、云层极厚的时刻否则红外吸收带的干扰会很严重。要对比不同时间段光谱变化尽量选一个稳定晴天才有助于保证数据的可比性。5.5 常见问题速查表现象可能原因排查与对策长波段曲线尾部翘起未扣暗电流或探头受热红外影响重新采集暗噪声扣除峰值处出现平顶信号饱和降低积分时间或加衰减片400nm以下噪声很大紫外信号弱、杂散光干扰增加平均次数检查光纤和探头是否清洁早晨和傍晚数据忽高忽低角度变化快条件不稳定连续多次测量取平均记录每分钟高度角与标准光谱对比整体偏低余弦校正器倾斜或标定过期检查水平泡重新标定另外还有一个很实操的建议建立自己的“环境日志”。每次测量记录湿度、能见度、空气质量指数、云量这些参数都会影响光谱记录下来后期排查问题会省力很多。最后再分享一个小技巧把一整天的光谱数据整理成图后我发现一个特别好用的展示方式把每个时间点的光谱曲线堆叠成一张“光谱随时间变化热力图”横轴是波长纵轴是时间颜色代表辐照度高低。这样一张图能一眼看出蓝光在正午最强、傍晚红移、总辐照度先升后降的全过程客户和项目汇报时非常好用——比给十条曲线好理解得多。实现也不复杂把整天的光谱数据读进一个二维数组用Python的pcolormesh或者imshow画一下5分钟就能生成。有这个图打底你对自然光的理解会从“会测”提升到“懂它怎么变”。光谱这件事测一次不难难的是用对方法、看懂规律希望这篇能让你少走几段弯路。