3. 光源建模基础:点光源、面光源、平行光、高斯光束、自定义光源光谱与强度分布

光源建模,说白了就是给仿真系统找一个靠谱的“源头”。很多刚接触FRED的朋友,上来就随便选个光源类型,结果杂散光分析怎么都对不上实测数据。我早年就吃过这个亏——一个激光雷达项目,杂散光路径死活找不到,最后发现是光源的发散角设错了。

这一章,咱们把FRED里常用的光源模型挨个捋一遍。每种光源适合什么场景、参数怎么调、有哪些坑,我都会结合项目经验讲清楚。

3.1 点光源:最基础的起点

点光源,顾名思义,就是一个没有大小的发光点。它向所有方向均匀发光,或者按你指定的角度分布发光。

适用场景:

  • LED近似模拟(远场观察时)
  • 小孔径光源的初步分析
  • 系统光路概念验证阶段

在FRED里创建点光源很简单:Source → Point Source。但参数设置才是关键。

参数 说明 我的建议
位置 (Position) 光源在三维空间中的坐标 用坐标输入,别手拖,精度不够
发光角度 (Angular Distribution) Lambertian、Uniform、Gaussian等 LED用Lambertian,激光用Gaussian
光线数量 (Ray Count) 追迹用的光线总数 初步分析用1万条,精细分析用10万+
功率 (Power) 光源总辐射功率 归一化到1W,方便后续对比

小技巧:点光源虽然简单,但别小看它。我在做投影系统杂散光分析时,先用点光源跑一遍,找到疑似路径,再换成更复杂的光源做精细验证。这样效率高很多。

3.2 面光源:更贴近真实

面光源模拟的是一个有面积、有形状的发光体。比如显示屏、LED芯片的发光面、或者被照亮的散射表面。

FRED支持多种面光源形状:矩形、圆形、环形、甚至自定义多边形。我个人最常用的是矩形和圆形,90%的场景够用了。

注意:面光源的光线发射位置是随机采样的。光线数量太少时,会出现明显的“颗粒感”,影响分析精度。我曾经在分析一个均匀照明系统时,只用了5000条光线,结果照度分布图全是噪点,根本看不出趋势。后来加到5万条,问题就解决了。

面光源的关键参数:

  • 尺寸 (Size):长宽或半径,单位mm
  • 发光方向 (Direction):法线方向,或者自定义角度
  • 强度分布 (Intensity Distribution):可以是均匀的,也可以是渐变的
  • 光线发射模式 (Emission Mode):随机、网格、或者混合模式

3.3 平行光:模拟无穷远光源

平行光,就是所有光线都朝着同一个方向传播。它模拟的是太阳光、或者经过准直后的激光束。

在FRED里,平行光其实是一个“虚拟”的光源——它没有具体的位置,只有方向和光束截面。

关键参数:

  • 方向向量 (Direction Vector):决定了光线的传播方向
  • 光束直径 (Beam Diameter):决定了照明区域的大小
  • 波前类型 (Wavefront Type):平面波或球面波

我做太阳杂散光分析时,平行光是必用的。但有个坑——平行光默认是无限大光束,如果你不设置光束直径,它会照亮整个系统,导致追迹时间暴增。所以,记得根据实际遮光罩的入光口径,把光束直径设小一点。

3.4 高斯光束:激光系统的标配

高斯光束是激光系统里最常用的模型。它的强度分布呈高斯函数形状,中心最亮,边缘逐渐衰减。

FRED里高斯光束的参数比普通光源多一些:

参数 含义 典型值
束腰半径 (Waist Radius) 光束最细处的半径 0.5 mm
波长 (Wavelength) 中心波长 532 nm
M²因子 光束质量因子(1为理想) 1.0 ~ 1.5
发散角 (Divergence Angle) 远场发散半角 0.5 mrad

经验之谈:很多工程师直接用“理想高斯光束”(M²=1)来仿真,但实际激光器很少能达到这个水平。我一般会根据激光器的规格书,把M²设成1.2或1.3,这样仿真结果跟实测更吻合。

3.5 自定义光源光谱与强度分布

FRED最强大的地方之一,就是支持完全自定义的光源。你可以导入实测的光谱数据,也可以定义任意形状的强度分布。

我通常用两种方式:

  1. 导入光谱文件:支持CSV、TXT格式,波长和强度两列数据
  2. 使用脚本定义:通过FRED的脚本语言,写函数来控制强度分布

自定义光谱的步骤:

  1. 准备好光谱数据文件(波长nm,相对强度)
  2. 在光源属性中,选择“Spectral → Import from File”
  3. 设置波长范围和采样点数
  4. 确认导入后的光谱曲线是否平滑

避坑指南:我曾经导入过一个LED的光谱文件,数据点有2000多个,结果FRED跑起来慢得像蜗牛。后来发现,其实50-100个采样点就足够精确了。数据点太多反而拖慢计算速度,没必要。

3.6 知识结构总览

下面这张图,把本章的光源类型和核心参数串起来了。你可以把它当作一个快速参考。

光源建模知识结构图 光源建模知识结构 FRED 光源建模 点光源 面光源 平行光 高斯光束 自定义光源 关键参数 • 位置坐标 • 发光角度分布 • 光线数量 / 功率 关键参数 • 尺寸 / 形状 • 发光方向 • 强度分布 / 发射模式 关键参数 • 方向向量 • 光束直径 • 波前类型 关键参数 • 束腰半径 / 波长 • M² 因子 • 发散角 关键参数 • 导入光谱文件 (CSV/TXT) • 脚本定义强度分布 • 采样点数 (50-100点足够) 选对光源类型,杂散光分析就成功了一半 根据系统类型和精度要求,选择合适的光源模型 复杂系统建议先用简单光源快速验证,再逐步精细化

3.7 光源选择的决策思路

说了这么多,到底什么时候用哪种光源?我一般按这个思路来:

  • 初步验证阶段:用点光源或平行光,快速跑通光路
  • 精细分析阶段:根据实际光源类型,换成面光源或高斯光束
  • 与实测对标阶段:导入实测光谱数据,做自定义光源

最后说一句:光源建模没有绝对的“正确”,只有“够用”。你的仿真精度只要满足工程需求就行,没必要追求极致的完美。我见过有人花两周调光源参数,结果系统误差本身就比光源误差大得多——那纯粹是浪费时间。