← 返回文章

光学与光子学

光谱仪标定方法:像元到波长、相对光谱响应与杂散光修正

阅读设置

设置仅保存在当前浏览器。

18
留言 0
文章目录

一句话结论:探测器读数要变成可信光谱,必须分别标定波长轴、相对响应和加性背景,三者不能用一个分辨率数字代替。

一台阵列光谱仪接上电脑,软件立刻画出一条横轴标着纳米、纵轴标着计数的曲线。这条曲线看起来就是光谱,但横轴和纵轴都不是探测器自带的。探测器只记录每个像元上积累了多少电荷;波长轴是光路、拟合和已知谱线共同建立的,强度轴是标准灯和响应修正共同建立的,背景则要靠暗帧和杂散光测量扣除。

这三件事经常被一个“分辨率”数字掩盖。波长轴偏了 0.2 nm,峰位会整体偏移,但峰形仍可能很窄;相对响应没校正,两个峰的强度比会失真,峰位却不受影响;暗背景或杂散光没扣干净,弱峰会被抬高,甚至被强峰的翼部淹没。仪器线型只回答“两条谱线能不能分开”,不回答“分开之后,位置和强度准不准”。

下面用一台常见的 Czerny-Turner(切尔尼-特纳)光谱仪做算例:1200 线/mm 光栅,入射角 25°,聚焦焦距 150 mm,2048 个 13 µm 像元,中心波长取 640 nm。沿着这台仪器,把波长标定、相对响应标定、暗背景与杂散光修正各走一遍,最后给出一份带验证线的误差预算。

三个独立的标定量

先把“标定”拆开。表 1 列出三个量:它们各自把什么输入变成什么输出,主要误差从哪里来,又该用什么去验证。把这三行分开,后面的步骤才不会互相替代。

表 1:光谱仪的三个独立标定量。波长轴、强度轴和加性背景的输入、输出与验证方式不同,不能用同一个“分辨率”指标概括。

标定量 输入 输出 主要误差 验证
波长轴 已知谱线的像元位置 像元—波长映射 \(\lambda(n)\) 拟合残差、谱线波长、热漂移 未参与拟合的谱线
相对光谱响应 已知光谱的标准灯读数 逐波长修正因子 \(C(\lambda)\) 标准灯不确定度、响应插值、杂散光 两只不同色温的灯
加性背景 暗帧、带外光测试 要减去的暗背景与杂散光 温度、曝光时间、光源光谱 遮光/滤光片复测

波长标定回答“第 \(n\) 个像元对应哪个波长”,相对响应标定回答“同样多的光,不同波长给出的计数为什么不一样”,背景修正回答“没有光进来时,读数是多少;带外的光又漏进来多少”。三者都做完,探测器的一条计数曲线才变成一条可以比较的光谱。

波长标定:用已知谱线拟合像元—波长映射

波长轴的起点是光栅方程。设光栅周期为 \(d\),入射角为 \(\alpha\),第 \(m\) 级衍射角为 \(\beta\),三者都相对光栅法线量度,则

\[ d(\sin\alpha+\sin\beta)=m\lambda . \]

衍射光经过焦距为 \(f\) 的聚焦镜后,在焦平面上形成位置。若探测器平面垂直于中心波长 \(\lambda_0\) 的衍射光,波长 \(\lambda\) 相对中心的位置是

\[ x=f\tan(\beta-\beta_0),\qquad n=n_0+\frac{x}{p}, \]

其中 \(\beta_0\) 是 \(\lambda_0\) 的衍射角,\(p\) 是像元中心间距,\(n_0\) 是中心波长落在的像元编号。把光栅方程代入,就能从波长算出像元位置;反过来,要从像元位置读波长,需要拟合一条 \(\lambda(n)\) 曲线。

这条曲线不是直线。\(x=f\tan(\beta-\beta_0)\) 里的正切,加上 \(\beta\) 随 \(\lambda\) 的非线性变化,使色散沿阵列缓慢改变。本文的算例在 640 nm 附近的倒线色散是 5.2137 nm/mm,一个 13 µm 像元对应 0.0678 nm;到了 585 nm 和 693 nm,这个间隔会略有不同。若只用两个端点做线性映射,中间就会留下残差。

标定用的谱线要满足三个条件:波长已知且可追溯、线宽远小于仪器线型、在工作波段内有足够数量。低压氖灯在可见区有一组很强的原子谱线,正好覆盖 585–693 nm;美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)的原子谱线表给出这些线的空气波长,本文取其中 8 条参与拟合,另留 2 条不参与拟合,用来检查插值和外推。

氖放电在 400–700 nm 的可见光谱

图 1:氖放电在 400–700 nm 的可见光谱。亮线是氖原子的分立跃迁;标定时把每条线的像元位置与 NIST 表中的空气波长配对,而不是靠眼睛读颜色。

把 8 条线代入本文的仪器参数,按 \(x=f\tan(\beta-\beta_0)\) 算出表 2 的像元位置和残差。线性拟合的斜率是 0.0677 nm/像元,和 640 nm 附近的像元间隔 0.0678 nm 很接近;但线性拟合的残差并不小:均方根(root mean square,RMS)残差 0.261 nm,最大 0.449 nm,出现在 693 nm 一端。0.449 nm 约等于 6.6 个像元——也就是说,用一条直线把像元换成波长,在波段边缘可以偏出六个多像元。

二次拟合把残差压到 RMS 0.0252 nm、最大 0.0375 nm,约 0.55 个像元。这 8 个像元位置是设计值,残差反映的是理想映射本身的弯曲,不含焦平面倾斜、像差和装调误差;真实仪器的残差通常更大,下面的误差预算因此是一个设计算例的下界。这个量级已经低于一个像元,说明二次项抓住了主要的弯曲;继续提高阶数还能再降一点,但更高阶的项容易跟着谱线位置的偶然误差摆动,未必让整个波段更准。

表 2:8 条氖谱线的像元位置与拟合残差。像元位置是谱线质心的连续坐标,不是整数像元编号;残差定义为“NIST 波长减去拟合值”,正号表示拟合值偏短。

波长 (nm) 像元 \(n\) 线性残差 (nm) 二次残差 (nm)
585.2488 224.4 −0.323 +0.031
594.4834 358.4 −0.156 −0.006
607.4338 546.7 +0.042 −0.029
621.7281 755.5 +0.203 −0.025
633.4428 927.4 +0.279 −0.007
650.6528 1181.6 +0.280 +0.023
667.8276 1437.6 +0.124 +0.038
692.9467 1817.0 −0.449 −0.025

表 2 只列出了参与拟合的线,不能证明映射在别处也对。把 659.8953 nm 留出来做验证:二次拟合给出 +0.035 nm 的偏差,仍在误差预算之内;把 703.2413 nm 也拿来检查,它已经超出最后一条拟合线 10.3 nm,二次拟合的偏差变成 −0.096 nm。这个外推结果说明两件事:二次项在波段内够用,但超出标定范围后误差会迅速变大;标定范围应该覆盖实际测量范围,不能靠一条曲线无限外推。

这里要区分三个容易混的量。波长准确度是拟合值与真实波长的偏差,本文算例约 0.03 nm;重复性是同一条件多次测量峰位的分散,设线型半高全宽(full width at half maximum,FWHM)为 0.17 nm、信噪比 100,按高斯线型的常用近似 \(\sigma_\lambda\approx \mathrm{FWHM}/(2.355\,\mathrm{SNR})\),单个峰位的统计不确定度约 0.001 nm;像元间隔是相邻像元中心相差 0.068 nm,它只是横轴刻度,不是准确度。一个像元间隔很小的仪器,完全可能因为拟合残差或热漂移而有 0.1 nm 的波长偏差;反过来,通过峰位拟合可以把峰位估计到远小于一个像元,但这只改善重复性,不会自动修正系统的波长偏差。

波长标定也不改变仪器线型。它只把像元坐标换成波长坐标;谱线有多宽,仍由狭缝像、衍射、像差和像元采样决定。把“像元间隔 0.068 nm”写成“波长准确度 0.068 nm”,和把理想分辨本领 \(mN\) 当成实际分辨率,是同一类错误:拿链路中一个环节的刻度,代替整条链路的误差。

相对光谱响应:把计数换成相对光谱辐亮度

即使波长轴完全正确,两个峰的高度也不能直接相比。探测器的量子效率、光栅的衍射效率、镜面的反射率和滤光片的透过率都随波长变化;同一份光打到探测器上,不同波长产生的计数不一样。仪器记录到的原始计数可以写成

\[ S(\lambda)=t\,R(\lambda)L(\lambda)+D(\lambda)+S_\text{stray}(\lambda), \]

其中 \(t\) 是曝光时间,\(R(\lambda)\) 是仪器的相对光谱响应,\(L(\lambda)\) 是入射光的相对光谱辐亮度(标准灯按光谱辐照度标定时,随波长不变的几何因子并入 \(R\)),\(D(\lambda)\) 是暗背景,\(S_\text{stray}(\lambda)\) 是杂散光。这一节先只看 \(R(\lambda)\),把后两项留到下一节。

只给出相对光谱、未做强度标定的仪器常叫光谱仪;做过强度标定、能给出辐亮度或辐照度数值的仪器叫光谱辐射计(spectroradiometer)。两者的硬件可以相同,差别在于后者多了一条可追溯的响应曲线。相对响应标定的任务,就是用一个光谱已知的源,把 \(R(\lambda)\) 测出来。

最常用的源是光谱辐照度标准灯,例如石英钨卤灯。它的灯丝接近黑体,相对光谱可以用普朗克公式近似:

\[ B_\lambda(T)=\frac{2hc^2}{\lambda^5}\frac{1}{\exp\!\left(\dfrac{hc}{\lambda kT}\right)-1}, \]

其中 \(h\) 是普朗克常数,\(c\) 是真空光速,\(k\) 是玻尔兹曼常数,\(T\) 是绝对温度。图 2 画出不同温度的黑体曲线:温度升高,峰值向短波移动,曲线的整体形状也变。标准灯的标定证书会给出比黑体更准确的逐波长数值,本文先用 2856 K 黑体做一个可复算的算例。

不同温度黑体辐射的强度—波长曲线

图 2:不同温度黑体辐射的强度—波长曲线。温度越高,峰值越向短波移动;标准灯的相对光谱有已知形状,可以作为响应标定的参照。

测响应时,把标准灯放在仪器的入射狭缝前,保持与测样品相同的光路、狭缝和曝光条件,记录一条 \(S_\text{ref}(\lambda)\)。把标准灯的已知光谱 \(L_\text{ref}(\lambda)\) 除以实测读数,就得到逐波长的修正因子

\[ C(\lambda)=\frac{L_\text{ref}(\lambda)}{S_\text{ref}(\lambda)}. \]

测样品时,把样品读数乘以同一个 \(C(\lambda)\),就得到相对光谱:

\[ L_\text{sample}(\lambda)=C(\lambda)S_\text{sample}(\lambda). \]

这里有一个容易忽略的条件:标准灯要均匀照亮入射狭缝和仪器的接收孔径。若灯丝的近场不均匀,只照亮狭缝的一部分,进入仪器的光就会随灯的摆放位置变化,响应曲线也跟着变。积分球可以把灯的光多次反射后形成空间均匀的辐亮度场,图 3 是美国国家航空航天局(NASA)用于仪器标定的积分球。

用于仪器标定的积分球

图 3:用于仪器标定的积分球。光在球内多次反射后形成空间均匀的光场,使标准灯均匀照亮光谱仪的入射孔径;不均匀照明会让响应曲线随灯的摆放位置变化。

把算例的数字代进去。设仪器的相对响应从 600 nm 的 0.40 升到 700 nm 的 0.52(这是为展示方法设定的平滑响应,不是某台仪器的实测值),标准灯按 2856 K 黑体近似。按普朗克公式,三个波长对的真实辐亮度比分别是 1.2787(650/600)、1.2013(700/650)和 1.5361(700/600)。乘上响应比之后,仪器读到的原始比值变成 1.4705、1.3580 和 1.9969;700/600 的读数比真值高了约 30%。

表 3:2856 K 标准灯在三个波长对下的真实辐亮度比、仪器原始读数比,以及按普朗克比反推的表观温度。响应假设为 600 nm 0.40、700 nm 0.52 的平滑上升。

波长对 真实比值 原始读数比 原始表观温度 (K) 修正后 (K)
650/600 nm 1.2787 1.4705 2347 2856
700/650 nm 1.2013 1.3580 2337 2856
700/600 nm 1.5361 1.9969 2343 2856

表 3 里最值得注意的是:三对波长给出的表观温度几乎一样(2337–2347 K),但它们都比真实的 2856 K 低了约 500 K。这不意味着响应已经正确;恰恰相反,在这个算例的线性响应下,一条平滑的响应误差会把整条光谱近似压成一个等效温度,三个波长对当然会给出相近的结果。要发现这种误差,不能只看同一只灯在不同波长对下的自洽性,必须把修正后的曲线和标准灯的标定光谱逐点比较,或者用两只色温明显不同的灯交叉验证。

修正因子本身也值得看一眼:按上面的响应假设,\(C(600)=2.500\)、\(C(700)=1.923\),两者的比是 0.769。也就是说,若忘记做响应修正,700 nm 附近的相对强度会被高估约 30%。这个比例不是普适常数,换一台仪器、换一个光栅角度或换一个探测器,\(C(\lambda)\) 都会变。NIST 的电荷耦合器件(charge-coupled device,CCD)光谱仪标定流程特别指出,光谱响应修正与具体波段和拼接方式(把不同中心波长的分段光谱拼成一条宽谱)绑定,不存在适用于不同波段的通用修正因子;在该文的拼接流程中,波长标定对拼接方式不敏感,可以在不同的扩展波段之间复用;但换了光栅角度或光路,仍要重新检查。这一区别很重要:波长轴的复用性比响应曲线好,响应曲线通常要跟着光路和波段重新测。

图 4 把两节的算例放在一起。左图是波长拟合的残差,右图是响应修正前后的光谱:原始读数在 700 nm 附近明显高于标准灯,除以响应后与标准灯曲线重合。

波长拟合残差与相对响应修正算例

图 4:(a) 8 条氖谱线的线性与二次拟合残差;线性拟合在波段两端偏出约 0.45 nm,二次拟合降到 0.04 nm 以内。(b) 以 2856 K 黑体近似标准灯时,标准灯的相对光谱、仪器原始读数和除以相对响应后的曲线;三条曲线在 600 nm 归一化。

相对响应标定只给出光谱的形状,不给绝对辐亮度。要把纵轴变成 \(\mathrm{W\,m^{-2}\,sr^{-1}\,nm^{-1}}\),还需要知道仪器的通量(展度、狭缝面积、立体角)和标准灯的绝对辐亮度;那是绝对辐射标定的任务,误差链比相对标定更长。对多数“比较两个样品的光谱形状”或“找峰位”的任务,相对响应已经够用;一旦要报绝对强度,就必须把通量和标准灯的绝对定标一起纳入不确定度。

暗背景与杂散光:两个加性项

回到信号模型:\(S(\lambda)=tR(\lambda)L(\lambda)+D(\lambda)+S_\text{stray}(\lambda)\)。\(D(\lambda)\) 是暗背景,\(S_\text{stray}(\lambda)\) 是杂散光。两项都表现为“不该有的信号”,但来源不同,处理方法也不同。把它们合起来叫“背景”,再用一个常数减掉,是这类测量里最常见的错误。

暗背景由两部分组成:探测器偏置和暗电流。偏置是读出电路给出的固定偏移,即使没有光也存在;暗电流是热激发产生的电荷,随曝光时间和温度上升。暗背景是逐像元的,不是全阵列一个数;不同像元的偏置可以差几个 counts,暗电流也会因缺陷而不同。正确的做法是在与测量完全相同的曝光时间、增益和温度下,挡住光,采一组暗帧,取逐像元中值。用中值而不是平均值,是为了压掉宇宙线和孤立热像素。

举个量级例子:设偏置 120 counts,读出噪声 4 counts,采 20 帧取中值,残余噪声约 \(1.25\times4/\sqrt{20}\approx1.1\) counts(中值的标准误差约为平均值的 1.25 倍)。对 3000 counts 的信号,这只占 0.04%;但对 50 counts 的弱信号,就是 2.2%。暗电流还会随温度迅速变化,温度升高若干度,暗电流就可能成倍增加(具体系数随器件而定);如果测量过程中温度变了,就不能直接套用测量前采的暗帧,而要按曝光时间和温度重新采,或者用实测的温度系数缩放。暗背景扣不干净,首先影响的是弱峰和基线,不是强峰。

杂散光是另一回事。它来自带外的光:光栅的散射和鬼线、级次重叠、光学元件表面的反射和荧光,都可能把某个波长的光“搬”到另一个波长上。杂散光不是均匀的加性偏置,而是一种重新分配;它的大小和光源的光谱形状有关。NIST 的杂散光修正工作把这一点说得很直接:杂散光误差在标定源与待测源光谱形状不同时最明显。用钨丝灯标定过的仪器,去测一只蓝光很强的发光二极管(light-emitting diode,LED),杂散光的表现可能完全不同。

杂散光的量级可以很大。NIST 给出的 CCD 阵列光谱辐射计例子中,用绿色带通滤光片测量时,420 nm 以下本应接近零的信号,原始杂散光误差超过 \(4\times10^{-4}\);用线扩展函数导出的杂散光分布矩阵修正后,降到约 \(5\times10^{-6}\),改善约两个数量级。这个例子说明两件事:杂散光可以在很宽的动态范围上污染弱信号;只用“减一个常数”无法把它清掉,需要知道它从哪个波长搬过来、搬了多少。

表 4:暗背景与杂散光的常用测试。前三项可以在普通实验室完成,第四项对应完整的矩阵修正。

测试 测的是什么 本文算例/文献量级 注意
遮光暗帧 偏置 + 暗电流 120 counts 偏置;20 帧中值残余约 1.1 counts 曝光、增益、温度要与测量一致
带外激光 单波长杂散光 632.8 nm 峰值 \(2.4\times10^5\) counts,600 nm 读到 30 counts,约 \(1.25\times10^{-4}\) 只给一个波长点,不能代表全波段
长波通滤光片 级次重叠/带外泄漏 1200 线/mm 时 600 nm 一级与 300 nm 二级重叠 滤光片本身的泄漏要单独测
线扩展函数矩阵 全波段杂散光分布 NIST 例:\(>4\times10^{-4}\) 降到约 \(5\times10^{-6}\) 需要单色源扫描,仪器改动后要重测

表 4 的第二项若用 632.8 nm 的氦氖激光,把光谱仪设在 600 nm,读到的 30 counts 就是激光在 600 nm 处的杂散光;除以激光峰值,得到约 \(1.25\times10^{-4}\) 的杂散比。这个数只说明“在这个波长、这个光源下”的杂散水平,换一个波长或换一个光源,数值会变。第三项针对级次重叠:1200 线/mm 的光栅在 600 nm 一级工作时,300 nm 的二级光也会落在同一个位置;加一片 550 nm 长波通滤光片,300 nm 被挡掉,若 600 nm 的信号明显下降,就说明二级光混进来了。

真正的杂散光修正要测得更多。NIST 的方法是对一系列单色波长测线扩展函数,得到杂散光分布函数,组成矩阵 \(\mathbf{C}\),再用 \(\mathbf{Y}_\text{corr}=\mathbf{C}\mathbf{Y}_\text{meas}\) 修正原始读数。这个矩阵把“每个波长漏到其他波长的比例”都记录下来,所以能处理不同光源光谱;代价是需要单色源扫描,仪器或光路一改就要重测。对日常验收,至少应做表 4 的前三项,并报告杂散光的测试波长和量级,而不是写一句“已扣背景”。

误差预算与验证:一条光谱可信到什么程度

把波长标定的几项误差合起来,可以得到一个可报告的准确度。表 5 是本文算例的预算:谱线波长、峰位统计、拟合残差和温度漂移各自给出一个标准不确定度,按平方和开根号合成。

表 5:本文波长标定设计算例的误差预算。温度项按 150 mm 铝结构的热膨胀估算,假设温度控制在 1°C 以内;实际仪器应以实测谱线残差替换二次拟合项。

误差项 标准不确定度 (nm) 依据
谱线波长 0.001 NIST 强线表的波长位数;小于拟合残差
峰位统计 0.001 线型 FWHM 0.17 nm、信噪比 100 的高斯近似
二次拟合残差 0.025 表 2 的 RMS
温度漂移 0.018 150 mm 铝结构、\(23\times10^{-6}/^\circ\mathrm{C}\)、1°C
合成(平方和开根号) 0.031 上述四项的平方和开根号
独立验证线 659.8953 nm +0.035 未参与拟合,偏差与预算同量级

合成结果约 0.031 nm,独立验证线的偏差是 +0.035 nm,两者在同一量级,说明预算没有漏掉明显的大项。若把温度控制在 0.5°C 以内,温度项降到 0.009 nm,合成约 0.027 nm;此时拟合残差成为主项,继续压低温度不会明显改善准确度。这个预算也解释了为什么“多测几条线”有用,但“把拟合阶数无限提高”没用:残差降到 0.025 nm 后,剩下的误差来自谱线波长、峰位统计和热漂移,阶数再高也压不掉它们。

报告波长指标时,至少要把四个数分开写:波长准确度约 0.03 nm(本文算例,标准不确定度,\(k=1\))、短时间重复性约 0.001 nm 量级、仪器线型 FWHM 约 0.17 nm、像元间隔 0.068 nm。它们分别回答“峰位准不准”“同样条件重测稳不稳”“两条线能不能分开”“横轴刻度有多细”。只写一个“分辨率 0.07 nm”,读者无法判断它说的是哪一层;把 0.068 nm 当成准确度,更是把采样刻度当成了标定误差。

验证要独立于拟合。具体可以做四件事:第一,留一条不参与拟合的谱线,检查它的偏差是否落在预算内;第二,用两只色温不同的标准灯,分别做响应修正,看修正后的光谱是否都能回到各自的标定曲线;第三,用一块已知吸收峰位的滤光片或标准物质,检查整条波长轴,而不只是几条灯线;第四,等仪器预热稳定后重复测一遍,看峰位是否漂移。四件事都记录狭缝、光栅、中心波长、曝光时间和温度,别人才能复现。

把这些步骤放回一个具体任务:验收一台光纤输入的小型光谱仪,并用它测一只白光 LED。先遮光采暗帧,扣除偏置和暗电流;再用氖灯或汞氩灯测 8 条谱线,做二次拟合,留一条验证线;然后用标准灯测相对响应,至少用两只不同色温的灯交叉检查;接着用 632.8 nm 激光和 550 nm 长波通滤光片检查杂散光和二级重叠;最后才测 LED。白光 LED 的蓝光峰很强,而荧光粉的宽谱带落在 550–650 nm;蓝光峰的杂散光会在宽谱带下垫高一个基线,若不做带外测试,很容易把这条基线当成荧光粉的真实发射。测完把暗背景、响应曲线、杂散光量级和波长残差一起写进报告,这条光谱才算完整。

标定不是给曲线贴一个波长标签,而是把每个像元的读数追溯到已知的波长和辐射量。波长轴、响应曲线和加性背景各自有一组误差;它们合成之后,才是这条光谱的“光谱重建误差”。仪器线型决定峰有多宽,标定决定峰在哪、强度比是否可信;两者都做完,探测器的一条计数曲线才变成可以拿来做判断的光谱。

参考资料

  1. Strong Lines of Neon (Ne I) — NIST Handbook of Basic Atomic Spectroscopic Data
  2. Procedures for Wavelength Calibration and Spectral Response Correction of CCD Array Spectrometers — NIST J. Res. 114, 215 (2009)
  3. Correction of Stray Light in Spectroradiometers and Imaging Instruments — Zong et al., CIE 26th Session (2007)
  4. 6.1 Blackbody Radiation — University Physics Volume 3(OpenStax, Rice University,CC BY 4.0)
  5. The Optics of Spectroscopy — A Tutorial(J. M. Lerner、A. Thevenon)
  6. Spectrometers — RP Photonics Encyclopedia
  7. A new Generation of Spectrometer Calibration Techniques based on Optical Frequency Combs(arXiv:0705.0763,预印本)
  8. Irradiance of Horizontal Quartz-Halogen Standard Lamps — NIST J. Res. 101, 141 (1996)
  9. File:Neon spectrum visible.png — Wikimedia Commons(McZusatz,CC0 1.0)
  10. File:Working on the Integrating Sphere — NASA / Milan Loiacono,公有领域
# 光谱仪标定# 波长标定# 相对光谱响应# 杂散光# 暗背景# 标准灯标签图谱 ↗

DISCUSSION

留言与讨论

0 条留言

分享你的理解,或留下一个值得继续讨论的问题。

还没有留言,欢迎成为第一个参与讨论的人。

CONTINUE EXPLORING

理解一个原理,再追问下一个问题。

阅读更多光学与光子学文章 →看看相关内容 ↓

按 Esc 或点击背景关闭