上转换纳米颗粒荧光寿命测量数据采集与处理

2019-10-10 13:36郭智勇孟晓平
应用光学 2019年4期
关键词:极小值波形滤波

郭智勇,吴 攀,徐 伟,孟晓平

(西南石油大学 机电工程学院,四川 成都 610500)

引言

近年来,随着稀土纳米材料的蓬勃发展,多种新型荧光材料随之不断出现,其中上转换纳米颗粒(up-conversion nanoparticles)以其独特的光学性能,得到了广泛的应用[1-2]。上转换纳米荧光材料以无机物作为基质,再向其中掺杂稀土离子得到[3-4],由于其激发光频率处于近红外,频率低而波长较长,从而它所获得的荧光穿透度较深[5-7]。同时其荧光稳定性好、毒性低、低荧光、检验灵敏度高,所以在活体生物成像、生物探针、高通量单细胞检测等前沿科学研究领域得到了大量的应用[8-9]。该新型材料相对转化效率要远低于其他普通材料,发光强度较低,虽然通过提高掺杂浓度可较大提高发光效率,但同时也极易产生荧光淬灭[10]。针对这一瓶颈问题,近年来许多研究人员进行了深入的研究,上转换荧光纳米颗粒的发光效率得到了显著提高。荧光寿命作为荧光信号的本征参数,不易受到激发光的强度、光漂白和荧光染漂的浓度等影响,仅与物质所处的微环境参数有关,具有稳定、不易受外界环境干扰的特点[11-13]。

目前测量荧光寿命的方法主要有:单光子测量(TCSPC)、相调制测量(phase modulation methods)和频闪法测量(strobe techniques)[14-17]。相调制测量精度较差,不能广泛地使用在各个场合;频闪法测量分辨率较差,所含噪声较多,不能精确测量;相对于以上两种测量方法,TCSPC作为目前应用最为广泛的测量方法,虽然精度较高,但是基于其原理开发的仪器设备价格昂贵,结构复杂,高速测量效果较差,从而在一定程度上限制了科学实验的研究进展[18-19]。

本文针对以上测量方式出现的问题提出了一种上转化纳米颗粒荧光寿命稳定高速测量系统。本测量系统结构简单,可对单分散状态和聚集状态下的上转换荧光颗粒进行单点或者持续测量,并在人机交互界面上显示,测量系统稳定,具有较好的应用价值。

1 荧光寿命测量原理

1.1 荧光产生机理及寿命的定义

当某种物质被一束激光激发后,该物质的分子吸收能量使处于基态(S0态)的电子吸收一定波长的光子跃迁到某一激发态(S1中某一能级),该过程时间极短(约10-15s);处于该能级的电子通过辐射去活和非辐射去活的方式释放能量,原理见图1,前者伴随着光子的放出,主要是发出荧光,也有一定的几率发射磷光,后者主要通过碰撞等方式去活,主要途径有内转化、荧光淬灭、系间跨越等途径,没有光子放出。去掉激发光后以辐射跃迁形式发出荧光回到基态,每个荧光分子的寿命长短不一,但所有荧光分子作为一个整体,其荧光强度I呈指数规律衰减,荧光强度降到激发时的荧光最大强度的1/e倍所需要的时间称为荧光寿命,常用τ表示[20-21],如图2所示。

图1 荧光产生原理

图2 荧光寿命定义

I=Imaxe-t/τ

(1)

式中:Imax是激发时最大荧光强度;Imax/e是荧光寿命对应的荧光强度;τ为荧光寿命。

1.2 测量原理

如图3所示,在实验过程中,上转换荧光纳米材料颗粒在样品池中流动,在进入光电倍增管对应的测量位置处时,用短脉冲激光激发上转换荧光纳米材料,该样品发出荧光,通过荧光传感器(光电倍增管)将荧光信号转换成电信号进行采集。

图3 流动式聚集荧光分子

测量原理如图4:

图4 荧光寿命测量原理

该系统设计思路:首先通过激光激发上转换荧光纳米颗粒产生荧光,再由光电传感器将荧光强度信号转换成电信号并连接到数据采集卡,将其送入上位机中基于LabVIEW和MATLAB搭建的高速数据处理系统进行处理、计算、显示荧光寿命信号,以得到荧光寿命信息。

2 荧光寿命测量方案

本次研究以LabVIEW和MATLAB为核心工具对采集数据进行处理和计算,具体编写过程如下。

2.1 LabVIEW程序设计

前面板显示原始UCNPs荧光信号、UCNPs个数、UCNPs荧光寿命和平均寿命,可调节采样率、采样数和读取数等参数,如图5所示。

图5 前面板设计

LabVIEW通用数据采集程序编写连接:首先通过属性助手节点(DAQNavi_Property_Assistant)选择数据采集设备、通道和参数,再连接到创建节点(DAQNavi Create Channel),创建一个通道并添加原始荧光信号数据;接着将数据送入定时节点(DAQNavi Timing-v001),同时在前面板放置两个数值输入控件,分别命名为“采样数”、“采样率”;然后选择读取节点(DAQNavi Read)读取指定通道(通道0)的数据,同时在前面板放置一个数值输入控件和波形显示控件;最后连接清理节点(DAQNavi Clear Task),在使用完task之后,用DAQNavi ClearVI释放VI,以避免重复分配内存。节点连接如图6所示。

图6 框图程序

2.2 MATALB编程

通过MATLAB编写一串连续激发的上转换纳米荧光寿命信号,模拟并求解出荧光寿命。步骤如1~7。

1) 产生原始带噪声波形信号和滤波。真实荧光信号强度呈指数规律衰减,在现实环境中采集到的荧光信号具有一定成分的干扰,因此用MATLAB生成指数类型噪声波形,代码:y1=(t-k*pi).*(t>=(k*pi)&t<(k+1)*pi)+0.5*rand(1, length(t)); y=1*0.2.∧(yn);这里设荧光信号的最大强度为1,干扰信号最大幅值为0.5。然后调用MATLAB移动滤波函数语句smooth,并使用其线性最小二乘滤波方法(即lowess)将滤波点设置为8(选择较大滤波点会让滤波更平滑,且不会失真)。波形如图7(a)、7(b)所示。

图7 生成信号波形

2) 拟合去噪。观察生成的滤波信号可发现该荧光信号在衰减的过程中有“突刺”,并非是平滑衰减为0,这是由于在激光对样品进行激发后产生了噪声信号干扰,而这种干扰信号自始至终都是存在的,因此在这里采用最小二乘法数值拟合的方式对噪声信号进行“消除”。拟合去噪之后的荧光信号波形如图8所示。

图8 最小二乘法拟合荧光信号

3) 查找荧光信号极值点。 采用高等数学中极值处导数为零的定理来进行程序的编写:首先对整个波形求导(diff函数),由于波形是由采样点构成的,因此并不平滑,有时极值处并未为零。因此对求导结果进行求符号运算(sign函数)后再次求导。结果大于零处的点为极小值,小于零处的点为极大值。由于求导函数的计算方法使用后一个数据对前一个数据进行求导,因此数据点的横坐标须加1。代码如下:

IndMin=find(diff(sign(diff(yy2)))>0)+1

IndMax=find(diff(sign(diff(yy2)))<0)+1

波形如图9所示。

图9 查找极值点“左对齐”荧光信号

4) “左对齐”荧光信号。 根据荧光寿命定义曲线可知,每一个荧光信号寿命均是从荧光强度极大值逐渐下降到极小值,而数据采集过程是实时的,那么进入数据处理系统的荧光信号不能保证是一个完整的荧光信号(极大值开始,极小值结束)。对此,利用算法将进入数据采集处理系统的荧光信号首个极小值排除掉,在该极小值之前采集到的信号无论是否完整均不会进入数据采集系统,从而实现首个进入数据处理系统的荧光信号为“完整信号”。编程处理原理:判断IndMax(1)与IndMin(1)的大小,若前者小于后者则满足要求,否则IndMin 应该重新取IndMin(2:end)。如图9所示,进入系统的首个极小值并没进入计算。

5) “右对齐”并计算荧光信号1/e点。 由前文知,荧光寿命是指荧光由强度最大衰减到最大强度的1/e倍所持续的时间。在计算之前,须判断极大值与极小值是否“配对”。若length(IndMax2) 小于等于length(IndMin2),则应按照length(IndMax2)“右对齐”完成配对,得到1/e点处的荧光强度:lifetime_end =yy2(IndMax2)./exp(1);若length( IndMax2) 大于length(IndMin2)则应按length( IndMin2)来配对,同理lifetime_end =yy2(IndMax2(1:end-1))./exp(1)。

6) 查找1/e点对应的索引计算荧光寿命lifetime。在极大值与极小值完成配对后,此时获得的信号为完整的荧光寿命信号。在1/e点“左对齐”步骤中已经得到在该点对应的荧光强度值,接着对1/e点处索引进行计算。利用配对的极大值与极小值减去对应的1/e点处的值,再取绝对值(函数abs),此时1/e点形成新的函数极小值点,继续使用min函数,得新函数的极小值点和对应的索引minIdx,实现代码:[xMin, minIdx]=min(abs(yy2(IndMax2(i:end-1):IndMin2(i))-lifetime_end(i)));进而可以计算得到荧光寿命lifetime =minIdx*dis,结果如图10所示。

图10 计算配对荧光寿命

7) 计算荧光寿命个数与平均值。在计算完荧光寿命之后还需对荧光个数进行统计,荧光分子寿命个数为length(lifetime_end),荧光分子寿命平均值为lifetime_Av=sum(lifetime)/length(lifetime)。

2.3 嵌入LabVIEW混合编程

将上述已经由MATLAB成功进行编程调试的程序嵌入LabVIEW中MATLAB script节点,连接函数节点,计算荧光寿命最大值、最小值、平均值,并且在前面板直接显示出来。

3 软件仿真结果分析与对比

对编写的原始带噪声的虚拟荧光信号进行滤波、拟合、查找极值、“左对齐”、求1/e点等操作之后,嵌入LabVIEW进行计算处理。研究使用MATLAB编写虚拟荧光信号幅值设为1,噪声的幅值取0.5,生成1、3、5、50个连续荧光信号,采用的步长为0.05,即为采样周期,荧光寿命等于步长乘以1/e点处索引与对应的极大索引之差。仿真结果见图11。

如图11(a)、(d)、(g)、(j)所示原始荧光信号波形,系统显示界面对荧光信号原始状态能够实时无损显示,随着荧光分子数目增加,荧光分子信号波形不会发生畸变;对比拟合数据波形与原始荧光信号波形可知,拟合数据波形与原始信号波形形态基本一致,“去噪”干净,呈指数规律衰减,但若噪声更大,则需要进一步改进滤波方法;荧光寿命基本维持在1.40~1.95之间,波动趋势较稳定;对比1、3、5、50个荧光信号滤波前后信号状态,可发现该算法滤波效果较好,容错性较好,去噪效果明显。

图11 软件仿真模拟结果

在对上面数量荧光信号进行编程模拟输出测量之后,继续增加80、100两组荧光分子数目,对荧光寿命的平均值、最大值、最小值进行统计分析,结果如表1所示。

表1 荧光寿命统计

4 结论

本次设计的荧光寿命测量系统以上转换荧光颗粒(UCNPs)产生的荧光寿命检测为应用背景,基于MATALB和LabVIEW设计开发一套高速数据采集与处理系统,结合了软件仿真与硬件模拟,实现了高速变量捕捉测量,对于荧光寿命测量设备的研发具有较大的实际指导意义。

猜你喜欢
极小值波形滤波
一道抽象函数题的解法思考与改编*
构造可导解析函数常见类型例析*
用于SAR与通信一体化系统的滤波器组多载波波形
极小值原理及应用
基于庞特里亚金极小值原理的多运载体有限时间编队控制
Pareto最优稀疏频率雷达波形设计
基于ARM的任意波形电源设计
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用