4. 光子计数数据采集系统
光子计数实验的原始输出并不是一条现成的衰减曲线,而是一串带有时间信息的事件记录。数据采集系统要完成的核心任务,是把探测器输出的电脉冲转换为可被计算机存储和处理的时间标签,再依据这些标签重建光子到达时间分布。理解 TCSPC(时间相关单光子计数)架构、时间标签格式、直方图构建方式以及原始数据组织,是后续统计建模与数据处理的前提。
TCSPC 的基本架构
TCSPC 系统通常由激发光源、同步信号通道、探测通道、恒比定时甄别器(CFD)、时间数字转换器(TDC)以及数据存储与处理单元组成。光源发出周期性的激光脉冲,一部分光被分束到快速光电探测器,产生同步(sync)信号,标记每个激发周期的起始时刻;另一部分光进入样品,样品产生的荧光光子被单光子探测器(如 SPAD、PMT 或 MCP-PMT)接收,输出电脉冲。两路信号分别经过恒比定时甄别器,消除幅度抖动带来的时间游走,再送入 TDC 测量到达时间差。
TCSPC 的工作模式建立在“单光子计数”假设之上:在每个激发周期内,探测器最多只记录一个光子事件。若一个周期内到达多个光子,系统只能记录最先到达的那个,后续光子被丢弃,这称为脉冲堆积效应。为避免堆积,通常把探测计数率控制在激发频率的 1%~5% 以内。例如激发频率为 80 MHz 时,计数率宜控制在 0.8~4 MHz 之间。这一约束直接决定了采集时间的量级:若需要积累 10^7 个计数,在 1 MHz 计数率下约需 10 s,而在 100 kHz 下则需 100 s。
时间标签格式与通道组织
时间标签是采集系统输出的最小数据单元。一个典型的时间标签包含以下字段:同步序号(标识该事件属于第几个激发周期)、通道号(区分不同探测通道或波长)、时间差 Δt(探测信号与同步信号之间的时间间隔,单位通常为皮秒)、全局时间戳(用于关联绝对时间,便于漂移监测)以及有效标志位。不同厂商的 TDC 模块在字段宽度和编码方式上有所差异,例如 PicoQuant 的 TimeHarp 系列采用 32 位时间标签,其中包含 16 位同步计数和 16 位时间差;而 Becker & Hickl 的 SPC 模块则使用 12 位时间差加 16 位同步计数。理解这些字段的位宽和溢出行为,对后续数据解析至关重要。
在多通道实验中,通道号用于区分不同探测器或不同光谱通道的事件。例如在双色荧光寿命测量中,CH1 对应绿色通道,CH2 对应红色通道。采集软件通常按通道分别维护直方图数组,每个通道拥有独立的 bin 数和时间范围。若通道间存在固定的电子延迟差,需要在数据处理阶段进行通道间时间校准,否则拟合得到的寿命会出现系统性偏差。
直方图构建过程
直方图构建是把离散时间标签转换为到达时间分布的过程。设时间分辨率为 Δt_bin(例如 16 ps),总时间窗口为 T(例如 4096 × 16 ps ≈ 65.5 ns),则第 i 个 bin 的计数为:
N[i] = count( t_k ∈ [i·Δt_bin, (i+1)·Δt_bin) ),i = 0, 1, …, M−1
其中 t_k 为第 k 个事件的时间差,M 为 bin 总数。采集过程中,每个有效事件都会使对应 bin 的计数加一。经过多个激发周期的累积,直方图逐渐逼近真实的荧光衰减曲线。需要注意的是,直方图的横轴是相对于同步信号的时间差,而非绝对时间;纵轴是计数,其统计涨落服从泊松分布。当总计数达到 10^6 量级时,单个 bin 的相对标准差约为 0.1%,足以支持多指数拟合。
在实际系统中,直方图构建可以在硬件中实时完成(如 TDC 芯片内置累加器),也可以在软件中离线完成。硬件直方图模式吞吐率高,但灵活性较低;软件模式可以保留原始时间标签,便于后续做符合计数、寿命加权或光子统计等高级分析。对于需要计算二阶相关函数 g²(τ) 的实验,必须保留原始时间标签,因为直方图模式已经丢失了事件之间的时间关联信息。
原始数据组织与文件结构
原始数据通常以两种形式存储:一种是时间标签流(time-tag stream),按事件到达顺序逐条记录;另一种是直方图数组(histogram array),按 bin 索引存储计数值。时间标签流文件通常包含文件头和数据块两部分。文件头记录采集参数,如 bin 宽、bin 数、通道数、同步频率、采集起始时间等;数据块则按固定长度记录每个事件。以下是一个简化的时间标签文件结构示例:
# 文件头
version = 1.0
sync_rate = 80e6
bin_width_ps = 16
num_bins = 4096
num_channels = 2
start_time = 2024-06-01T10:23:45
# 数据块(每条记录 8 字节)
# sync_cnt | channel | dt_ps | flags
1024 | 1 | 12500 | 0x01
1025 | 1 | 12480 | 0x01
1025 | 2 | 25100 | 0x01
...
对于直方图文件,通常以二维数组形式存储,第一维为通道,第二维为 bin 索引。例如一个 2 通道、4096 bin 的直方图文件大小为 2 × 4096 × 4 字节(32 位整数)≈ 32 KB。若采用 64 位累加器,则翻倍。在长时间采集或高计数率场景下,建议使用 64 位整数以避免溢出。
采集参数的选择与影响
采集参数直接影响数据质量和后续分析能力。时间分辨率 Δt_bin 决定了寿命拟合的时间精度,通常选择为预期寿命的 1/10~1/20。例如预期寿命为 2 ns,则 bin 宽宜选 100~200 ps;若寿命为 100 ps,则需选 5~10 ps。但 bin 宽越小,同样时间窗口所需的 bin 数越多,存储和传输压力越大。时间窗口 T 应覆盖完整的衰减过程,一般取 5~10 倍寿命。若窗口过短,衰减尾部被截断,拟合结果会偏小;若窗口过长,则有效计数分散,统计效率降低。
计数率的选择需要在统计效率和堆积效应之间权衡。计数率越高,达到目标总计数所需时间越短,但堆积概率也越高。堆积效应会导致直方图在早期出现计数损失,使拟合寿命偏短。一个实用的判断方法是:若计数率与同步频率之比超过 5%,应检查直方图峰值区域是否出现明显畸变,或采用堆积校正算法进行补偿。
从原始数据到可用直方图
拿到原始时间标签后,通常需要经过以下处理才能得到可用于拟合的直方图:首先按通道分流,剔除无效标志位的事件;然后检查同步序号是否连续,若存在跳变则说明有丢失同步,需要标记或插值;接着将 Δt 按 bin 宽分箱并累加计数;最后对直方图进行背景扣除和仪器响应函数(IRF)反卷积。IRF 可以通过测量散射样品或直接记录激发脉冲得到,其半高全宽通常在 50~200 ps 之间,是寿命拟合中不可忽略的因素。
对于需要做光子统计分析的实验,如计算 Mandel 参数 Q 或二阶相关函数 g²(τ),则不能只保留直方图,而必须保留原始时间标签流。因为直方图只记录了每个 bin 的总计数,丢失了事件之间的时间间隔信息。此时数据组织方式应改为按事件顺序存储,并保留全局时间戳,以便后续做交叉相关或寿命加权分析。
综上所述,TCSPC 数据采集系统的核心在于把光子事件转换为时间标签,再通过分箱累加构建直方图。理解架构中的信号链、时间标签的字段含义、直方图的构建逻辑以及原始数据的组织方式,是进行后续统计建模和数据处理的基础。在实际操作中,应根据实验目标选择合适的时间分辨率、时间窗口和计数率,并在采集前进行必要的参数检查和校准。