2. 东华理工大学 江西 330013
2. East China University of Technology, Jiangxi 330013, China
在γ能谱测量系统中,由于探测器漏电流、极零相消处理的不完善、电子学元器件温漂、电源纹波、以及数字信号对模拟信号的高频干扰等影响,使得在核脉冲幅度测量过程中,有用信号总是叠加在一个不稳定的直流基线上,从而导致测量结果的波动[1]。不仅降低了系统的能量分辨率,且会引起能量线性刻度曲线的斜率变化和直流基线漂移。如果将基线予以扣除,确保系统的能量刻度曲线经过坐标轴的零点,必然会降低后续谱线处理的复杂度。
传统的模拟γ能谱测量系统通常使用基线恢复器来降低脉冲过冲引起的瞬时基线漂移,使用低通滤波电路来估计直流基线的大小,并将其从有用信号中扣除[2-4]。随着电子技术的飞速发展,该方法逐渐被以现场可编程门阵列(Field Programmable Gate Array, FPGA)、高速模拟/数字信号转换(Analog-to-digital, A/D)等器件为核心的数字化γ能谱测量系统所代替,相应的模拟基线恢复器可以通过数字基线估计和扣除方法来实现。数字基线估计与模拟的基线回复电路相比,可显著提高系统稳定性和可靠性,具有较高的灵活性和适应性,可进一步改善系统能量分辨率,成为数字化核信号处理方法中的一个重要部分。
目前国内外对数字基线估计和扣除的研究方法有很多,比如Abbiati等[5]通过插值的方法求出新的基线采样值来代替原来的脉冲信号采样值;Geraci[6]采用分段滤波法中的一个信号滤波器和三个基线滤波器实现基线估计值;清华大学肖无云等[7]利用计权函数形式给出的有限冲击响应(Finite Impact Response, FIR)基线滤波器实现基线估计;邱晓林等[8-9]利用自适应Kalman滤波估计基线,不过此类算法较复杂,不适合在FPGA上编程实现;Li等[10]研究了可以在FPGA上实现的直方图统计法进行原始脉冲基线估计,该方法是默认处于基线附近的脉冲较多(比如叠加在基线上的波纹等),根据统计方法,在能谱图中找到计数最高的道址作为基线,该方法具有一定的准确性,能够对能谱分辨率有所改善,但是测量结果受纹波、脉冲通过率等影响较大;成都理工大学曾国强等[11]研究了利用脉冲采样触发阈值的方式进行基线识别和处理,但忽略了较小脉冲信号及纹波干扰等影响;四川大学的李伟男等[12]研究了利用平均值法的改进方法进行原始脉冲基线估计,取得了较好的效果,该方法可以在FPGA上予以编程实现,但需要对基线进行较长时间的跟踪,且判断过程较为复杂,而且在估计基线时没有完全剔除正常核脉冲信号对基线的影响。为了解决上述问题,本文提出了一种基于FPGA的去异常滑动平均滤波法来估算原始脉冲基线。
1 滑动平均滤波方法在FPGA中的应用利用滑动平均滤波估算原始脉冲基线的方法类似于传统模拟核脉冲幅度测量基线恢复电路中的低通滤波部分。该方法需要在FPGA中开辟一组N个单元的循环缓冲区,用递推法求得N=2k个点的平均值x,公式如下:
$S = {S_P} + x(n) - x(n - N - 1)$ | (1) |
$\bar x = S/N = S/{2^k} = S > > k$ | (2) |
式中:S为循环缓冲区中N个点的累加和;Sp为S延迟一个时钟序列的值(即前一个时钟序列N个点的累加和),在执行平均滤波之前,需要将Sp及循环缓冲区中的内容全部初始化为0。
在脉冲通过率较低时,随着N的增大,基线评估结果越来越接近实际值,这种方法切实可行。然而,当脉冲通过率较高时,因为没有剔除正常脉冲或异常干扰信号对基线评估影响,会导致基线评估的精度变差。
2 去异常滑动平均滤波法为避免脉冲通过率高低等情况影响基线评估结果,可以把正常的核脉冲信号和异常的干扰信号都看成是叠加在直流基线上的异常,只要在对采样数据进行滑动平均滤波之前剔除这些异常,必然可以提高基线评估的精度。文中将这种方法称为去异常滑动平均滤波法。
基线相比于脉冲信号会平坦很多,如果对所有采样数据进行一阶数值微分,微分后变化幅度较大的点或出现连续相同符号(连续为正或连续为负)的点,必为脉冲信号(或异常信号)。但是微分后幅度变化接近于零的点不一定都为基线,比如当输入脉冲超出谱仪量程范围时,系统一般会将采样数据设置为最大量程值,这些点经过数值微分后的数值会是一串连续的零,但却不属于基线,如图 1所示。这种现象对于顶部比较平坦的类高斯型输入脉冲同样存在。
为了避免在用微分法识别基线与脉冲的过程中,因顶部平坦脉冲引起的误判,首先对所有采样数据进行滑动平均滤波,得到一个初步基线评估值,这里称为粗基线。再将该粗基线作为判断阈值,将输入数据与粗基线进行比较,如果大于粗基线,则认为是脉冲;如果小于或等于粗基线,为了进一步剔除较小脉冲信号的影响,可以对其进行一阶数值微分,此时变化幅度较小且正负符号不连续的点必为基线,对这些点再次进行滑动平滑滤波即可得到最终的基线评估值,这里称为精密基线。
为了在FPGA中实现去异常滑动平滑滤波算法,需要在FPGA中开辟两组循环缓冲区,其中一组N=2k个单元的循环缓冲区BUF_A用来计算粗基线x,另外一组M=2m个单元的循环缓冲区BUF_B用来计算精密基线x'。具体算法如下:
首先对每次采样得到的数据与前一次数据进行一阶数值微分,其结果用dx(n)表示,如式(3)所示。
${\rm{d}}x(n) = x(n) - x(n - 1)$ | (3) |
粗基线x由式(1)、(2)求得。假设系统采样数据的纹波范围为ε,选取p个点来判断采样数据微分后的正负符号是否连续,只要满足条件:
$\left\{ \begin{array}{l} x(n) \le \bar x\\ \left| {\sum\limits_{i = 0}^{p - 1} {{\rm{d}}x(n - i)} } \right| < p\\ \left| {{\rm{d}}x(n)} \right| < \varepsilon \end{array} \right.$ | (4) |
即可判定该点为基线,这里用x'(n)表示。将该点存入缓冲区BUF_B的头指针指向的位置,并在满足条件式(4)的前提下通过式(5)、(6)来计算精密基线x'。
$\left\{ \begin{array}{l} x'(n) = x(n)\\ S' = {{S'}_P} + x'(n) - x'(n - M - 1) \end{array} \right.$ | (5) |
$\bar x' = S'/M = S'/{2^m} = S' > > m$ | (6) |
式中:S'和S'p分别为当次和前一次缓冲区BUF_B中M个点的累加和;
精密基线的准确估计时间不仅与粗基线计算的缓冲区长度N、精密基线计算的缓冲区长度M及系统采样周期Tsample(或采样频率fsample)有关,同时还与系统的脉冲通过率有关。因为在计算精密基线的过程中需要扣除正常脉冲的影响,当脉冲通过率较高时,在同一时间段实际采样的基线点相对较少。通常情况下默认仪器的最高脉冲通过率是仪器可承受最高脉冲计数率的0.1倍,即当输入信号脉冲宽度是1 µs时,仪器可承受最高脉冲计数率106 s-1,则认为仪器的最高脉冲通过率是105 s-1。若想求得准确的粗基线,需要在循环缓冲区N中的所有数据均为有效的采样数据;若想求得准确的精密基线,需要在循环缓冲区M中的所有数据均为扣除异常(脉冲和干扰)后的采样数据。因为通常情况下每M个采样数据中最多包含0.1×M个脉冲数据,即需要M/(1-0.1)个采样数据才能填满循环缓冲区M。因此,在仪器处于最高脉冲通过率的情况下,基线估计的最长时间为:
$\begin{array}{c} t' = N \times {T_{{\rm{sample}}}} + \frac{M}{{1 - 0.1}} \times {T_{{\rm{sample}}}}\\ \approx (N + 1.11 \times M) \times {T_{{\rm{sample}}}} \end{array}$ | (7) |
式中:N×Tsample表示粗基线的最长准确计算时间;M/(1-0.1)×Tsample表示精密基线的最长准确计算时间。若N=256、M=1024、fsample=60 MHz,则t'≈23 μs。可以看出基线评估的灵敏度非常好。由于该方法在进行基线估计时求取基线的速度较快,还可以在一定程度上抑制低频干扰对脉冲信号的影响。
3 实验结果为了验证这一方法的正确性和优越性,项目研究人员利用自制的数字化多道γ能谱仪(探测晶体使用LaBr3(Ce),FPGA芯片为A3P250,A/D转换芯片为AD9235-65,基准电压1.000 V,A/D采样速率为60 MHz,能谱曲线道址0~1024道(即每道间隔所对应的γ射线脉冲幅度约为1 mV)),在硬件测试条件完全相同的条件下,以137Cs标准源为测试对象,对比了利用去异常滑动平均滤波算法进行脉冲基线估计和扣除前后,662 keV的特征峰能量分辨率变化情况,根据半高宽(Full Width Half Maximum, FWHM)的方法,求得结果如表 1所示。对比表 1的数据可以看出,利用去异常滑动平均滤波算法进行脉冲基线估计和扣除后,能量分辨率得到了优化。
此外,项目研究人员在常温下于不同时间段,在东华理工大学的铀矿测井模型中,对仪器是否利用去异常滑动平均滤波算法进行基线扣除的情况进行了测试,共7个标准铀矿模型井,不同模型对应的矿物含量分别为:NMF-0.01-0.03(铀0.01%、钍0.03%);MF-0.01-0.03(铀0.01%、钍0.03%);UF-0.1(铀0.1%);NMF-0.1-0.03(铀0.1%、钍0.03%);UF-1.0(铀1%);MF-1.0-0.1(铀1%、钍0.1%);UF-2.0(铀2%)。
为了对比基线扣除前后的漂移情况,选取了几个重要核素的清晰可辨的特征能量(特征谱峰)对仪器进行了能量刻度,实际选取的特征能量峰为铀系镭组中的214Bi (0.609 MeV、1.120 MeV、1.760MeV、2.204 MeV),以及钍系中的208Ti (2.620MeV)等。表 2为使用去异常滑动平均滤波进行基线扣除前后仪器测量数据对比情况。
根据表 2中的数据可看出,使用去异常滑动平均滤波方法扣除基线后,特征峰的峰位基本重合,因基线漂移等原因引起的谱漂情况得到显著改善。
根据能量刻度曲线的线性拟合方程,可求出输入脉冲的直流基线b。
$y = kx + b$ | (8) |
式中:x表示γ射线的特征能量;y表示特征能量所对应的特征谱峰道址(其实际物理意义为射线的脉冲幅度);k表示能量刻度曲线的斜率;b表示能量刻度曲线在坐标轴上的截距(其实际物理意义为输入脉冲的直流基线)。
根据表 2中的数据和式(8),得到直流基线b的漂移情况如图 2所示。从图 2可以看出,实现去异常滑动平均滤波后,仪器输入脉冲的基线漂移情况基本得到校正。滤波前的直流基线在-8 mV左右波动,滤波后的基线在0 mV左右波动,相应的滤波后谱图的能量刻度曲线均可看成经过坐标零点。
同时根据表 2所示数据可以看出,使用去异常滑动平均滤波方法扣除基线后,特征峰的峰位基本重合,因基线漂移等原因引起的谱漂情况得到显著改善。
实际上,因温度变化引起的谱线漂移更为严重,包括基线漂移和能量刻度曲线的线性(斜率)变化,且能量刻度曲线的变化对谱线漂移的影响远大于基线漂移。但是若能确保仪器的能量刻度曲线经过坐标零点(即扣除直流基线),可以降低对仪器进行实时能量刻度的复杂度,使用时只要一个以上的特征峰即可完成刻度,比如只需在探测器表面贴上一个如137Cs的单能刻度源(甚至在本底辐射比较小的场合,只用LaBr3(Ce)晶体本身的138La元素产生的1.436 MeV特征峰),无需关心其环境温度变化,即可实现能谱曲线的实时特征峰稳谱。为了验证该算法能否消除因温度变化引起的基线漂移,研究人员在恒温箱中对仪器进行了对比测试,测试的对象为铀矿石粉末,温度变化范围为0~60 ℃。
表 3为不同温度下使用去异常滑动平均滤波算法进行基线扣除前后的仪器测量数据。选取的特征能量峰为铀系镭组中的214Bi (0.609 MeV、1.120 MeV、1.760 MeV、2.204 MeV)、214Pb (0.352 MeV、0.295MeV),以及錒系中235U (0.185 MeV)。
根据表 3中的数据和式(8),得到仪器在不同温度下进行基线扣除前后的基线漂移情况(图 3)。
从图 3可以看出,实现去异常滑动平均滤波前,输入脉冲直流基线随温度而变化,滤波后的基线稳定在2.5 V左右。在误差允许范围内,谱图的能量刻度曲线均可看成经过坐标零点。
综上所述,文中提出的去异常滑动平均滤波方法,在不同的脉冲通过率较低或较高、不同的环境温度下,均能够得到较好的脉冲基线估计效果。该算法简单,能够在FPGA上予以编程实现;运算速度快,能够实时跟踪原始输入脉冲基线的变化;准确性好、灵敏度高,能够抑制低频信号干扰和温度漂移等因素对系统的影响。不仅可以在一定程度上抑制谱线漂移、优化了能量分辨率,而且有助于降低仪器能量刻度的复杂度。此方法同样适用于测量其他类型射线(如X射线)的数字化谱仪。
[1] |
Geraci A, Rech I, Gatti E. Shared baseline restoration at minimum noise for high resolution spectroscopy[J]. Nuclear Instruments and Methods in Physics Research A, 2002, 482: 441-448. DOI:10.1016/S0168-9002(01)01509-1 |
[2] |
Fairstein E. Gated baseline restorer with adjustable asymmetry[J]. IEEE Transactions on Nuclear Science, 1975, 22(1): 463-466. DOI:10.1109/TNS.1975.4327681 |
[3] |
Ohkawa S, Husimi K. Logarithmic converter stabilized by a baseline restorer employing gain switching[J]. IEEE Transactions on Nuclear Science, 1979, 26(1): 433-437. DOI:10.1109/TNS.1979.4329671 |
[4] |
Kuwata M, Maeda H. New baseline restorer based on feed forward differential compensation[J]. IEEE Transactions on Nuclear Science, 1994, 41(4): 1236-1239. DOI:10.1109/23.322891 |
[5] |
Abbiati R, Gatti E, Geraci A. A new digital estimation technique for baseline restoration[J]. Nuclear Instruments and Methods in Physics Research A, 2005, 548: 507-516. DOI:10.1016/j.nima.2005.04.072 |
[6] |
Geraci A, Rech I, Gatti E. Shared baseline restoration at minimum noise for high resolution spectroscopy[J]. Nuclear Instruments & Methods in Physics Research Research A, 2002, 482: 441. DOI:10.1016/S0168-9002(01)01509-1 |
[7] |
肖无云, 魏义祥, 艾宪芸. 多道脉冲幅度分析中的数字基线估计方法[J]. 核电子学与探测技术, 2005, 25(6): 601-604. XIAO Wuyun, WEI Yixiang, AI Xianyun. Digital baseline estimation method for multi-channel pulse height analyzing[J]. Nuclear Electronics & Detection Technology, 2005, 25(6): 601-604. DOI:10.3969/j.issn.0258-0934.2005.06.007 |
[8] |
邱晓林, 方国明, 弟宇鸣, 等. 核辐射脉冲幅度分析的基线卡尔曼滤波估计[J]. 原子能科学技术, 2007, 41(3): 375-377. QIU Xiaolin, FANG Guoming, DI Yuming. Baseline Kalman filter estimation method for nuclear radiation pulse height analysis[J]. Atomic Energy Science and Technology, 2007, 41(3): 375-377. DOI:10.3969/j.issn.1000-6931.2007.03.025 |
[9] |
张同锋, 方方, 王敏, 等. 核辐射脉冲幅度分析的基线自适应Kalman滤波估计[J]. 核电子学与探测技术, 2012, 32(2): 203-206. ZHANG Tongfeng, FANG Fang, WANG Min. Baseline adaptive Kalman filter estimation method for radiation pulse height analysis[J]. Nuclear Electronics & Detection Technology, 2012, 32(2): 203-206. DOI:10.3969/j.issn.0258-0934.2012.02.020 |
[10] |
Li H D, Wang C, Zhang Y X. A new statistics-based online baseline restorer for a high count-rate fully digital system[J]. IEEE Transactions on Nuclear Science, 2010, 57(2): 550-555. DOI:10.1109/TNS.2009.2036914 |
[11] |
曾国强, 欧阳晓平, 喻明福, 等. 手持式单板500 MHz采样率数字化多道设计[J]. 核技术, 2017, 40(3): 030401. ZENG Guoqiang, OUYANG Xiaoping, YU Mingfu. Design of handheld 500-MHz digital multi-channel analyzer on single board[J]. Nuclear Techniques, 2017, 40(3): 030401. DOI:10.11889/j.0253-3219.2017.hjs.40.030401 |
[12] |
李伟男, 杨朝文, 周荣. 基于FPGA脉冲幅度分析器的数字化基线估计方法[J]. 核技术, 2015, 38(6): 060403. LI Weinan, YANG Chaowen, ZHOU Rong. Baseline estimation method of digital multi-channel pulse height analyzer based on FPGA[J]. Nuclear Techniques, 2015, 38(6): 060403. DOI:10.11889/j.0253-3219.2015.hjs.38.060403 |