Ocean Optics HR4000 是一台常见的光谱仪。从外面看,它做的事情很单纯——给光,出一条曲线。这篇不讲它能测什么,而是跟着这条曲线,看它是怎么一步步成形的。
01 第一段:光进去
光通过光纤进到光谱仪里,被光栅分开,落到线阵探测器上。这一段完全是光学和硬件的事,程序插不上手——但它决定了后面所有事情的上限。
程序在这段能做的是等:等积分时间走完。积分时间设短了信号淹没在噪声里,设长了强峰会饱和。而这个时间是要根据实际光强实时调的,不是一次设好就永远对。
02 第二段:从探测器变成数字
探测器上每个像素对应一个波长,读出来是一串数字。这就是"一条光谱"的原始形态——一个数组。
驱动里有一个专门的读取 VI,做的事情就是把这段数据取出来。还有两个采集模式值得注意:多重采集和连续采集。前者适合"采 N 条做平均",后者适合"一直看着光的变化"。
多重采集:连续采若干条再处理
连续采集:一直采,适合长期观察光的变化
读取光谱数据
VI 树:可用的操作
03 第三段:从数字变成波长
刚读出来的数组还不能叫光谱——它只是"第 N 个像素上有多强"。要变成"某个波长上有多强",需要一组标定系数。
这组系数就存在光谱仪自己的存储器里,驱动里有专门的 VI 去读它(还有一个读 EEPROM 的)。这一步经常被忽略,但它是"数据"和"结果"的分界线——没有标定,你手上只是一串数。
从 EEPROM 读标定数据:把像素号变成波长
04 第四段:从波长变成结论
到这里才有资格谈"测什么"。找峰值波长、算半高宽、积分某一段的能量、跟参考谱做差——这些运算在 LabVIEW 里就是对数组做处理,没有额外的门槛。
这一段有个容易被低估的价值:判定可以在采集的同一时刻做。不需要先存下来、再离线处理。光一变,曲线跟着变,结论也跟着变——这种即时性在调光路的时候特别有用,因为你转一个旋钮就能立刻看到结果。
一条光谱曲线的每一段都有讲究:积分时间决定能不能采到,标定决定采到的是什么,处理决定它说明了什么。程序能做的,是把这三段连成一条不需要人介入的链路。
如果你手上也有类似的设备或类似的活儿,不管是老仪器想连电脑、还是新系统要搭测试流程,都可以把型号和场景发给我们,我们来看看能不能用同样的思路解决。