摘要:γ能谱测量作为较成熟的核测量方法之一,广泛应用于环境辐射检测、核事故辐射检测、地质找矿等领域。对采集的能谱数据进行分析需要配备相应的能谱测量分析软件,国外的能谱分析软件较为成熟,然而其通信接口封闭需要配备相应的设备才能进行工作,成本较高且不实用,因此本文基于Qt平台,采用C++编程语言开发了γ能谱控制分析软件。拟选取NaI(Tl)探测器作为伽马能谱测量的探测单元,主要通过串口进行通信并对数据包进行解析,结合QCustomPlot类库在主窗口对能谱数据进行显示。利用MySQL数据库设计了核数据库用于核素识别,可对谱线进行光滑、寻峰、能量刻度、核素识别等。
Abstract:Gamma spectrum measurement, as one of the more mature nuclear measurement methods, is widely used in environmental radiation detection, nuclear accident radiation detection, geological exploration and other fields. To analyze the collected energy spectrum data, corresponding energy spectrum measurement and analysis software needs to be equipped. Foreign energy spectrum analysis software is relatively mature, but its closed communication interface requires corresponding equipment to work, which is costly and not practical. Therefore, this article is based on the Qt platform and using the C++ programming language to develop gamma spectrometry control analysis software. Using a NaI(Tl) detector as the detection unit of the gamma spectrum measurement, mainly communicating through serial ports and analyzing data packets. Combined with the QCustomPlot class library, the spectrum data will be displayed in the main window. A nuclear database will be designed using MySQL database for nuclide identification, which can smooth spectrum, seek peak, scale energy, and identify nuclide.
1. 引言
随着核电子学技术的迅速发展,核能和核技术目前在国防、医疗、能源、工业、农业、科研和教育等各领域应用较为广泛,例如医疗机构利用放射性药物进行临床诊疗,核电站利用原子核裂变释放能量进行发电,以及工业运作中的放射性设备使用等 [1] 。然而核能对人类生活提供便利的同时,也对周围环境和人类的健康带来了影响,尤其是核事故带来的灾难性后果,是令人类难以承受的,因此保证核能安全问题十分重要。
γ能谱测量因其可迅速直观的对放射性核素进行定性、定量分析,因此成为比较成熟的核测量方法之一。在20世纪50年代γ能谱测量方法最早广泛使用在寻找放射性的铀矿上,后来随着社会的发展,在70年代,γ能谱测量技术用于环境中放射性的监测 [2] 。伽马能谱测量分析软件的主要功能为γ能谱的测量与分析处理,通过计算可以得出γ射线的能量信息以及相应放射性核素的活度与待积有效剂量 [3] 。
当前市面上的γ能谱分析软件种类较多,如GammaVision 8.10是ORTEC公司研发的通用性γ能谱分析软件,适用于各种分辨率的γ能谱测量系统,能够准确识别以及量化放射性物质,内置丰富的算法实现峰值搜索、拟合等,还可对本底、峰值干扰和其他因素进行校准 [4] 。CANBERRA公司的Genie2000包含高级分析算法提供对任何类型探测器得到的谱进行完整分析,通过设置滤波以及稳谱先行处理数据,再建立数据库进行解谱 [5] 。AMPTEK公司的SODIGAM是唯一一款用于闪烁体光谱仪的高精度分析软件,可以准确描述γ能谱分析中的基线以及峰形,包含定量光谱分析以及核素分配所需的所有选项,操作性强能自动以及手动进行分析。尽管当他们的功能已经非常强大,但是通信接口都是封闭的,只能与该公司的测量仪器通信 [6] 。成本较高,不适用于日常的检测以及教学需求。
国内尽管现有基于LABVIEW和数字多道脉冲幅度分析器的γ能谱分析软件、基于Windows CE或者基于C#的分析软件,但不是通用性软件且也不能适用于不同分辨率的探测器,因此为了适应国内核电子学的发展,自主研发γ能谱分析软件也显得尤为重要。
2. 能谱分析软件结构设计
γ能谱测量分析是为了能够直观显示能量分布以及确定放射性核素种类,分析人员能够通过界面友好的上位机实现系统的控制和能谱分析。软件整体结构如图1所示,主要分为文件操作、数据采集、谱线分析三个部分。
Figure 1. The overall structural design of software
图1. 软件整体结构设计
文件操作部分主要包括对数据的读取与保存,以保证可对离线的数据进行分析以及在线采集数据的存储;数据采集主要通过串口与测量系统进行通信,因此首先包括串口参数的设置以及对应的多道参数的设置,其次包括启停控制操作,收发数据以及解析数据在子线程中进行处理;谱线分析主要包括数据光滑、寻峰、能量刻度、核素库设计与核素识别等,通过相应的算法实现。
3. 能谱分析软件设计
3.1. 能谱显示
能谱绘制采用第三方类库QCustomPlot,绘制较多数据点时耗时较少,并且QCustomPlot只需要将两个源文件添加进工程即可使用,体积小、简单易用。绘制能谱将道址作为横坐标,每道的计数作为纵坐标,通过QMouseEvent类实现点击相应道址,在绘图区显示相应道址和计数,在经过能量刻度以后,还可以在左下角状态栏显示对应能量。通过QKeyEvent类实现键盘方向键切换道址。除此之外还可以进行能谱的缩放和拖动,软件主界面如图2所示。
Figure 2. Main interface of the software
图2. 软件主界面
3.2. 能谱数据分析
3.2.1. 谱数据光滑
在实际的能谱测量中,计数较小时统计涨落较大,计数最高的道数不一定是高斯分布的期望值,而我们真正需要的峰可能已经淹没在统计涨落中,为了准确识别峰并确定对应的道址和能量,因此需要进行谱光滑。本次主要采用最小二乘五点和五点重心法分别光滑五次,光滑前如图3所示,经过五点重心法和最小二乘五点法光滑后的结果分别如图4和图5所示。最小二乘五点光滑公式如下:
(1)
公式中,
为未光滑的i道的计数,
为光滑后i道的计数。
五点重心法公式:
(2)
公式中,
为未光滑的i道的计数,
为光滑后i道的计数。
3.2.2. 寻峰
常见寻峰算法有简单比较法、高斯函数法、导数寻峰法、协方差找峰法以及对称零面积法等 [7] 。本次主要采用导数法进行寻峰,首先设置寻峰的阈值,接着可以计算出三次多项式五点光滑的一阶导数和二阶导数。如果选用一阶导数法,则找到一阶导数由正变为负的点所对应道址即为峰位,如果选用二阶导数法,则找到二阶导数负的极小值对应的道址即为峰位 [8] 。由于一阶导数法寻峰的灵敏度较高,本次主要采用一阶导数对137Cs源的γ能谱的200道址到400道址进行寻峰,寻峰结果如图6所示。
Figure 4. Smoothed energy spectrum using the five-point center of gravity method
图4. 五点重心法光滑后能谱图
Figure 5. Smoothed energy spectrum using least squares five-point method
图5. 最小二乘法五点光滑后能谱图
3.2.3. 能量刻度
能量刻度是伽马射线能谱定性分析的重要组成部分,通过已知的两个及以上能量与其对应的道址,通过数学方法拟合得到能谱中道址与能量的对应关系。只有经过能量刻度以后,才能根据计算出的峰位能量对比核数据库判断未知样本的核素种类,如果使用已知源,还可以根据其能量线性度判断仪器的好坏。
通常使用几个能量已知的标准源作为刻度源,找到其特征峰对应道址从而确定刻度的系数,可以采用一元线性回归或者多项式的回归。本次通过一元线性回归方程来确定能谱中每道对应的能量。通过点击能量刻度按钮,会显示能量刻度界面,如图7所示。
Figure 7. The energy calibration interface
图7. 能量刻度界面
3.2.4. 核数据库
设计核素库是完成核素识别的基础,将寻到的峰位与核素库中的能峰进行对比分析,如果谱中计算出的峰位能量与核素库中的能量之差小于能窗时,则可以初步判断核素种类。核数据库利用MySQL数据库建立的,它支持事务处理功能,可以避免操作者在编辑数据库时的误操作,其中主要包括核素的核素名、能量、分支比、半衰期。除此之外还可以直接在操作界面进行核素添加、查找和删除,在进行操作以后,再次点击显示数据库即可刷新数据。
由于使用的是NaI(Tl)探测器,其分辨率不高,可能会出现不同核素的特征峰能量互相重叠的部分,因此在优化核素库时会选择相干核素数目较少、特征峰能量分支比较高也就是计数更多的特征峰来作为识别该核素的特征峰,以减小对识别的结果的影响。在实际应用中,我们需要根据实际的情况对核素库进行增添,核数据库设计如图8所示。
3.2.5. 核素识别
在经过能量刻度以后,再次进行寻峰可以根据得到的峰位的道址计算出峰所对应的能量。将找到的每个峰对应的能量与核素库中的峰能量进行比较,假设二者之差在设定的能窗范围内,则可以初步认为存在该核素,与此同时记录下各个峰对应的核素个数及其置信度。首先计算吻合置信度:
(2)
其中c为常数,∆E是峰i的能量与核素库中对应峰能量之差,EW为设置的能窗。如果一个核素在识别过程中匹配到n个特征峰,那么其置信度是匹配到的每个特征峰吻合置信度的乘积,且最后乘以一个因子:
(3)
其中f0是经验值,n是相匹配的特征峰数,T是核素库中该核素的特征峰数。如果最后计算出的置信度大于自己所设定的一个阈值,即认为可能存在该核素。
经过上述的识别以后,如果一个峰对应只有一个核素的置信度大于阈值则识别结束,可以得出该核素存在。如果一个峰对应多个核素且置信度均大于阈值,那么将寻峰找到的所有峰中匹配多个核素的峰去掉,用只匹配到一个核素的峰对比初步得到的可能存在的核素,用同样的方法再次计算置信度 [9] ,只要能判断有峰与该核素匹配,则可以得出结论该核素存在,最终置信度以第一次计算为准。
4. 软件测试
4.1. 能量刻度测试
本次选用152EU源的121 keV和778 keV这两个特征峰来进行谱线的线性能量刻度,使用一元线性回归求解方程可得到线性表达式,如图9所示。经过刻度以后,点击相应道址可以在左下角状态栏显示对应能量。
Figure 9. The energy calibration result
图9. 能量刻度结果
4.2. 核素识别功能测试
本次测试对137Cs的能谱进行识别,识别结果如图10所示,以及对60Co与137Cs的混合能谱进行识别,识别结果如图11所示。
Figure 10. The nuclide identification result for137Cs
图10.137Cs的核素识别结果
Figure 11. The nuclide identification result for137Cs and60Co
图11.137Cs和60Co的核素识别结果
5. 结语
本文主要完成了γ能谱分析软件的开发,实现了γ能谱数据的获取以及在线或者离线处理能谱数据,经过实际测试,可实现对γ谱的光滑、寻峰、核素识别、能量刻度等基本功能,基本能满足现场辐射状况分析的需求,为自主研发γ能谱分析软件积累了经验。在软件的设计中,采用了多种光滑方式,可对比进行选择最有效的光滑算法,且通过在线以及离线方式对核数据进行处理,能保障实时的放射性检测,提高开发效率。最后利用任意两种核素的特征峰不会完全相同这个核心思想,采用137Cs和60Co的混合谱进行算法测试达到需求,能保障在放射性核素泄露时及时识别做出应急处理,后续还可对算法进一步改进实现多种核素混合γ能谱的识别。