2. 光子探测与时间标记基础

在光子二阶关联测量中,探测器输出的并不是“光子数”这样的连续量,而是一串离散的电脉冲事件。要理解后续的关联分析,必须先弄清楚这些脉冲如何产生、如何被赋予时间坐标,以及最终落盘的数据文件里究竟存了什么。本节围绕“信号形式—时间标记—记录模式—文件字段”这条主线展开,帮助你在拿到一份原始数据时,能准确判断每个字段的含义与可信度。

一、单光子探测器的输出信号形式

常见的单光子探测器包括单光子雪崩二极管(SPAD)、硅光电倍增管(SiPM)以及超导纳米线单光子探测器(SNSPD)。无论具体器件如何,其输出在电路层面都可归结为两类:

  • 模拟脉冲:雪崩或光子击中产生一个纳秒量级上升沿的电压/电流脉冲,幅度通常在毫伏到百毫伏量级,需要经过比较器整形成数字电平。
  • 数字脉冲(TTL/NIM/LVDS):经甄别器后输出固定宽度、固定幅度的逻辑脉冲,例如 TTL 的 0–5 V、宽度约 10 ns,或 NIM 标准的 −0.8 V。TCSPC 模块真正“看到”的是这一路数字沿。

这里有一个容易被忽略的细节:探测器存在死时间(dead time),典型 SPAD 为 20–100 ns,SiPM 与 SNSPD 可低至几纳秒到几十纳秒。死时间内的第二个光子不会被记录,这会在高计数率下造成计数丢失,并轻微改变二阶关联函数的形状。因此,在解读原始数据前,应记录探测器的死时间参数,作为后续修正的依据。

二、时间标记(timestamps)的数据结构

TCSPC 模块的核心任务,是把每一个到达的脉冲“钉”在一条时间轴上。最基础的做法是维护一个全局计数器,以固定时间分辨率(bin width,常见 1 ps、4 ps、16 ps、64 ps、512 ps 等)递增。每当检测到一个有效沿,模块就锁存当前计数值,形成一个时间标记。因此,一条时间标记本质上是一个整数:

timestamp = 到达时刻 / bin_width   (单位:计数刻度)

例如 bin width 取 16 ps,某事件的时间标记为 62 500 000,则其绝对时间为 62 500 000 × 16 ps = 1 ms。需要注意,多数模块的计数器位宽有限(如 32 位或 48 位),长时间采集会发生计数器回绕(overflow)。分析软件必须知道回绕周期,才能把标记还原为单调递增的时间序列;否则在回绕点附近会出现虚假的“负延迟”事件。

此外,时间标记通常还携带通道号(channel),用于区分不同探测器或不同探测臂。在 HBT 型二阶关联实验中,典型配置是通道 1 接探测器 A、通道 2 接探测器 B,关联分析只关心跨通道的到达时间差 Δt = t₂ − t₁。

三、TCSPC 模块的记录模式

TCSPC 模块并非只有一种记录方式,不同模式决定了数据文件的结构与分析路径:

  • 直方图模式(histogram / MCS):模块内部按时间 bin 累加计数,输出的是“每个 bin 的计数”数组。它适合周期激励下的荧光寿命测量,但会丢失事件间的绝对时间间隔,无法直接做二阶关联。
  • 时间标记模式(time-tag / T2):逐事件记录 (通道, 时间标记) 对,保留全部时间信息。这是光子二阶关联测量的首选模式,因为 g²(τ) 需要任意两事件之间的时间差。
  • 时间标记流模式(time-tagged time-resolved, T3):在 T2 基础上再附加一个相对于同步信号的微时间(microtime),同时给出粗时间与细时间,适合既要做寿命又要做关联的联合测量。

选择模式时的一个实用判断:如果你的目标是计算 g²(τ),必须使用 T2 或 T3;若误用了直方图模式,数据在原理上已不可恢复事件间隔,只能重新采集。

单光子探测器 SPAD / SNSPD 死时间 20–100 ns 数字脉冲(TTL) 甄别器 阈值整形 TCSPC 模块 bin width 16 ps 计数器锁存 T2 / T3 模式 全局时间轴(bin 计数) 0 1e6 2e6 3e6 4e6 ch1 ch2 ch1 ch2 ch1 ch2 原始数据文件(T2 记录) # channel timestamp(ticks) 1 120000 2 120450 1 121300 2 121980 字段含义 channel:探测通道号(1=A,2=B) timestamp:bin 计数,×16 ps 得绝对时间 Δt = t₂ − t₁ 用于 g²(τ) 统计 注意 32 位计数器回绕周期 死时间导致高计数率下计数丢失

四、原始数据文件的常见格式与字段

不同厂商的 TCSPC 设备导出格式各异,但核心字段高度一致。常见的几类文件包括:

  • 厂商二进制格式(如 .ptu、.ht3、.spc):紧凑、读写快,但需要对应软件或库解析,字段定义依赖手册。
  • 文本/CSV 格式:每行一条事件,字段为 channel 与 timestamp,便于脚本处理,但文件体积大。
  • 通用容器格式(如 HDF5):可同时存放事件流、采集参数与元数据,适合大规模数据管理。

无论哪种格式,拿到文件后应优先核对以下元数据:bin width、计数器位宽、通道映射、采集起始时间与总时长、探测器死时间。这些参数直接决定时间换算与关联分析的正确性。一个常见的实操错误是把 bin width 记成 1 ps 而实际为 16 ps,导致 g²(τ) 的横轴整体缩放 16 倍,峰值位置判断完全失真。

建议在采集时同步记录一份“采集日志”,写明 bin width、通道分配、探测器型号与死时间、激发方式(连续或脉冲)、总采集时长。这份日志在数月后回看数据时,往往比文件本身更有价值。

五、从原始事件到可分析数据的最小检查

在进入二阶关联计算之前,建议先做三项快速检查:其一,统计两通道的总事件数,若某通道计数异常偏低,可能是阈值或光纤耦合问题;其二,检查时间标记是否单调递增,若出现跳变则提示计数器回绕或数据损坏;其三,用相邻事件的时间差做粗略分布,确认没有大量零间隔事件(可能来自振铃或重复触发)。完成这三步,才能保证后续 g²(τ) 的计算建立在可信的事件流之上。

理解信号形式、时间标记结构与记录模式,是整条分析链的起点。只有清楚每个时间标记代表什么、文件里每个字段从何而来,才能在关联曲线出现异常时,迅速判断问题出在探测器、采集配置还是数据处理环节。