逐束团三维信息提取软件HOTCAP的实时性能优化

2024-03-10 05:20杨星冷用斌周逸媚
核技术 2024年2期
关键词:响应函数束流电荷

杨星 冷用斌 周逸媚

1(中国科学院上海应用物理研究所 上海 201800)

2(中国科学技术大学 合肥 230026)

3(中国科学院大学 北京 100049)

4(中国科学院上海高等研究院 上海 201204)

亮度和稳定性是同步辐射光源的关键指标,需要不断努力以获得高流强、高亮度和良好的稳定性。然而,提高存储环性能受到包括电子束与周围真空室之间的相互作用等复杂效应在内的各种限制。此外,新一代光源普遍具有插件数量多、动力学孔径小和时间分辨率高(皮秒量级)等特点,使得如何最小化不稳定性成为一个需要解决的关键技术问题,包括是什么导致了束流不稳定,以及如何解决束流不稳定性等[1]。实现对束流位置和电荷的测量将有助于定量地研究束流阻抗、耦合不稳定性和非线性动力学,并可以为加速器物理学家提供一个非常强大的机器研究工具。开发逐束团信号处理算法和建立一个高分辨率、高刷新率的逐束团参数测量系统至关重要。世界范围内的先进粒子加速器,比如上海光源(Shanghai Synchrotron Radiation Facility,SSRF)[2-3]、上海软X射线自由电子激光装置[4]、北京正负电子对撞机二期工程储存环[5]、北京高能同步辐射光源[6]、合肥光源(Hefei Light Source,HLS)[7]、大型强子对撞机(Large Hadron Collider,LHC)[8]、日本高能加速器研究机构KEKB[9]、韩国浦项光源[10]、澳大利亚光源[11]等普遍搭建了自己的用于提取逐束团三维位置信息的系统。

具有大内存容量的高采样率、多通道宽带示波器是从束流位置探测器(Beam Position Monitor,BPM)获取原始数据的理想工具[12]。通过算法处理,可以获得逐束团三维位置和电荷量等信息。然而,由于输入数据量极大,信号处理算法又较为复杂,因此对基于高速示波器的3D束电荷和位置测量的综合数据处理算法或相应的数据处理软件包的要求很高。为了满足这一需求,上海光源束测组的研究人员成功开发了HOTCAP(逐束团三维位置和电荷量精确测量宽带示波器信号处理软件包),作为一个在线测量系统,可以同时测量逐束团三维位置[13]。此外,当同步辐射装置在top-up模式下运行时,需要频繁地进行电荷的补充注入,所以注入瞬态也是储存环机器研究的一个重要窗口[14]。而在该软件包之前也没有成熟的在线系统能够剥离补注电荷信号。HOTCAP实现并集成了上述功能,可以同步测量每个束的三维位置,并剥离充注电荷信号,进一步分析注入瞬态。

实际使用中,该软件仍存在需要优化改进的部分,其中至关重要的是计算效率,之前版本的软件包对一组典型数据的分析需要30 min以上,而上海光源top-up运行模式下,每2~3 min就会注入一次,合肥光源则是约10 min注入一次,即在两次注入之间无法完成一次数据处理,即使是不间断的工作也会有遗漏的注入事件。为实现两次注入期间完成相应的信息提取,需要将单次计算时长缩短至两分钟以内,因此,本文中讨论了计算效率的具体优化方式与相应的实验验证。

1 HOTCAP基本测量原理及系统结构

典型的基于HOTCAP的逐束团3D位置测量系统结构如图1所示,采用纽扣型电极(图中深蓝色方框标注)拾取携带束团电荷量、束长、横向位置、纵向位置等多种信息的束流信号,一般包含4个电极以便采用差比和算法提取横向位置信息,探头拾取到的信号经高性能射频电缆直接馈入宽带高速数字采样示波器中,示波器量化后得到的数字波形被传输至计算平台进行分析计算,提取逐束团信息。

图1 HOTCAP测量系统结构示意图(彩图见网络版)Fig.1 Structural diagram of HOTCAP measurement system structure (color online)

纽扣电极拾取的束流电信号可以表示为:

式中:I(t)为流强,纵向呈高斯分布的束团流强可以表示为I0(t)。可以看出,采集到的电压信号与束流的横向位置F(δ,θ)、纵向位置(纵向相位t0)和电荷(e·N)有关。以图1所示为例,束团从探头法平面的第一象限穿过,因此最靠近束团的D电极耦合信号强度最大,远离束团的A电极耦合信号强度最小,B、C电极信号居中。因此,探头拾取到的信号中已包含逐束团位置测量所需要的全部信息,可以通过设计算法来将逐束团三维位置信息提取出来[15]。

实际采集到的信号并不完全符合理论推导,并且有限带宽的馈通还会引入时延,采集设备的带宽限制也会改变信号在时域内的波形。因此需要使用实际采样得到的信号通过统计学的方式重建响应函数,以唯象的方法确定束团在探头上的表现。具体原理为:示波器的采样频率并非束团在探头处重复出现频率的整数倍,因此采集到的束团的不同圈的信号为同一个响应函数上不同起点的采样,将不同圈的信号按照其特有的起点排列在同一圈内,就可以得到该束团在该电极上的响应函数[13]。

HOTCAP软件包的基本结构如图2所示。图2中用户界面(User Interface,UI)模块使用Python中PyQT5库进行开发;输入/输出(Input/Output,IO)模块使用Scipy库进行数据的读取与缓存;计算模块为整个软件算法的核心:计算时间主要受计算模块的效率影响。

图2 HOTCAP软件包算法结构Fig.2 Algorithm structure of HOTCAP software package

2 HOTCAP软件运行效率测试及优化方法分析

计算平台的硬件性能会对实际的计算时长产生重要影响,为保证软件的通用性,实验采用一台性能普通、广泛使用的商业计算设备进行测试,该设备处理器型号为AMD Ryzen76800H,主频3.2 GHz,内存大小16 GB。

图3为HOTCAP软件处理流程图。选取一组典型数据,使用原数据处理软件进行处理,各模块在处理流程中的具体耗时数据统计如表1所示。

表1 原数据处理软件处理SSRF数据各模块耗时统计Table 1 The time spent in processing SSRF data by the original software

图3 HOTCAP软件处理流程图Fig.3 Processing flowchart of HOTCAP software

分析以上测试结果:耗时较长模块中,IO模块的耗时取决于数据存储介质的性能,基本无法优化,而响应函数的重建、储存电荷与补注电荷的信息提取在算法上存在较大的优化空间,其中电荷的三维位置提取算法在储存电荷信息提取,补注电荷信息提取中被反复使用,计算资源占用最多,优化空间是最大的。

纵向相位计算的基本原理是互相关法,通过在固定范围内,将实际采样得到的信号与之前建立的响应函数(LUT)重采样得到的平衡位置的理论采样信号(LUTn,i)进行相关度计算以寻得该束团该圈最可能的相位[7]。

相关系数Ccor的计算来源如式(2):

其中:

式中:to表示束团的初始采样相位;f是示波器采样频率;表示某个束团在第N圈采样得到的n个采样点;LUTn,i表示对重建得到的该束团的响应函数按照不同的起点i进行重采样得到的代表ti相位的n点序列。

为提高软件通用性,原数据处理算法选择在较大相位范围内(300 ps)以0.1 ps间隔来计算相位相关系数以寻找可能的相位真值,这就要求进行3000次匹配计算。对于上海光源的具体实例而言,储存环在top-up运行模式下,束团长度基本固定,束团相位连续变化,从监测记录的运行历史数据看,同一束团连续两圈内相位变化远小于1 ps[11],因此可以以上一圈的相位值为基准点,缩小匹配范围,即采取自适应的办法,将匹配范围缩小,考虑到其变化范围小于1 ps,保留余量后,将匹配范围缩小至(phasei-1-1.5,phasei-1+1.5),这样一个长度为3 ps的区间。

横向位置的计算基于二者在纵向相位匹配完成后,幅度满足以下关系:

将相位互相匹配采样得到的信号与对响应函数进行重采样得到的信号进行比较,以求得该束团该圈在该方向的投影大小,可以看到其中采样信号和响应函数的范数这两个变量已在相位计算中计算,可以使用将变量缓存于内存中进行复用的方式减少重复计算,以增加内存占用的方式提高计算速度。

3 优化后软件束流实验测试

3.1 计算效率评估

为评估优化后软件的通用性,分别选用上海光源和合肥光源数据进行了实测分析。

第一组数据选择上海光源正常供光时的注入数据进行分析,该数据为四通道数据,单通道数据长度102.5百万样点,采样频率为10 GHz,包含一次补注电荷的注入。

原数据处理软件处理该组数据用时见表1,平均约50 min,得到了包含储存电荷逐束团三维位置、电荷量、补注电荷三维位置、补注电荷量、探头响应函数等信息。

使用优化后的数据处理软件对同一组数据进行处理,平均用时总计185 s,约3 min,约为优化前耗时的6%,各模块耗时数据统计如表2所示。

表2 优化后数据处理软件处理SSRF数据各模块耗时统计Table 2 The time spent in processing SSRF data by the optimized software

虽然相较于原版本,计算效率已经提升了超过90%,但是离2 min的目标还有一些距离。分析优化后软件中各模块耗时的占比,可发现响应函数计算模块耗时75 s,占比达到了40%,但从测量原理来看,每组数据都重新计算系统响应函数是不必要的,本模块还存在较大的优化空间。

在同步辐射光源储存环中,束团的束长变化较小,同时相对于束团原始分布来说探头和信号电缆的带宽很低,因此对于某一组确定的探头来说,探头信号引出端输出的束流信号形状是基本不变的,这意味着HOTCAP测量系统的响应函数是确定的,从同一组探头上采集的多组数据,并不需要每次都重建响应函数,可以建立一次以后重复使用。

按以上分析,选择使用外部响应函数的方法对软件进行了优化,引入提前计算好的响应函数用时远小于0.1 s,总的数据处理时间成功缩短到120 s以下。

其中,计算补注电荷数据的过程也与计算逐束团三维位置的过程基本独立,因此,可以对存在注入的情况进行独立计算,而对于一般的不含注入的稳态数据的分析,仅需储存电荷信息提取的50 s。

第二组数据选择合肥光源正常供光时的稳态数据进行分析,该数据为四通道数据,单通道数据长度为200百万样点,采样频率为20 GHz。

该数据组的特点为数据长度较长,圈数多,但示波器位数低,采样精度较低,原数据处理软件用时总计20 min。

使用优化后的软件包进行处理,总计用时不到25 s,是优化前耗时的2%,提升明显,详细用时如表3所示。

表3 优化后数据处理软件处理HLF数据各模块耗时统计Table 3 The time spent in processing HLF data by the optimized software

相应地,使用外部响应函数分析同一组数据时,可以直接省去计算响应函数的计算,使单次计算仅需10 s完成。

3.2 计算分辨率评估

数据处理效率的优化,不应以降低束流3D位置测量分辨率作为代价,因此需要对优化前后软件包的逐束团3D位置分辨率进行对比评估。

逐束团3D位置分辨率的评估方法选择使用PCA方法,该方法以奇异值分解(Singular Value Decomposition,SVD)为核心原理,通过对数据进行主成分分析,将周期变化的采样信号数据分解为特征不同的成分,保留主要成分,舍去噪声成分,实现数据降噪,同时可以将分离出的噪声作为评估测量系统信噪比、分辨率的指标[16]。

以上海光源和合肥光源数据为样本,采用主成分分析(Principal Component Analysis,PCA)方法分析对比逐束团3D位置测量分辨率,结果分别如图4与图5所示。从图4和图5的对比分析可知,软件优化前后水平方向、垂直方向位置分辨率基本不变,而新版本软件的纵向位置(相位)分辨率有所提高。其原因是在缩小了匹配范围后,相位信息提取的波动范围也被限制在更小的范围内,去除了随机采样误差中较大毛刺数据的干扰。

图4 三维位置测量结果分辨率结果(SSRF)(a) 纵向相位分辨率,(b) 横向x方向位置分辨率,(c) 横向y方向位置分辨率Fig.4 Resolution of 3D position measurement (SSRF)(a) Longitudinal phase resolution, (b) Lateral x-axis position resolution, (c) Lateral y-axis position resolution

图5 三维位置测量结果分辨率结果(HLS)(a) 纵向相位分辨率,(b) 横向x方向位置分辨率,(c) 横向y方向位置分辨率Fig.5 Resolution of 3D position measurement (HLS)(a) Longitudinal phase resolution, (b) Lateral x-axis position resolution, (c) Lateral y-axis position resolution

3.3 计算准确性评估

数据处理效率的优化,也不应以降低束流3D位置测量准确性作为代价,因此需要对比优化前后软件包输出波形数据的一致性。

选择上海光源供光运行时某个束团的稳态纵向振荡波形、注入过程中储存束团的水平方向残余振荡波形、注入过程中补注束团的纵向阻尼振荡波形等三个最具代表性的物理过程,来评估优化后软件的计算准确性。其结果如图6所示。

图6 三维位置测量结果优化前后的差别(a) 纵向相位测量结果,(b) 纵向相位优化前后测量结果差,(c) 横向x方向位置测量结果,(d) 横向x方向位置优化前后测量结果差Fig.6 Difference between 3D position measurement before and after optimization(a) Longitudinal phase measurement results, (b) Difference in measurement results before and after longitudinal phase optimization, (c) Lateral x-axis position measurement results, (d) Difference in measurement results before and after optimization in lateral x-axis position

如图6(a)所示,优化前后软件处理得到的单个束团稳态纵向振荡波形完全一致,如图6(b)所示,两组波形间逐点差值为随机噪声,标准差为0.15 ps,与测量系统纵向相位分辨率相当。如图6(c)所示,优化前后软件处理得到的储存束团在注入过程中的横向残余振荡波形完全一致,如图6(d)所示,两组波形间逐点差值为随机噪声,标准差为20 μm,与测量系统水平方向位置分辨率相当。

如图7所示,优化前后软件处理得到的补注束团纵向阻尼振荡波形完全一致,两组波形间逐点差值为随机噪声,标准差为2 ps,与测量系统提取补注束团(电荷量小10倍以上)纵向相位分辨率相当。

图7 补注电荷相位测量结果优化前后的差别Fig.7 Difference of refilled charge phase measurement before and after optimization

4 讨论

以上优化方案在优化速度的同时,作为代价,牺牲了算法对于不稳定数据的兼容能力,对于储存环中极少可能出现的纵向相位剧烈变化的情形无法准确提取信息,因此考虑到包括纵向相位的大幅波动在内的,有别于一般供光状态的特殊情形,需要对软件包进行进一步的优化和开发,还有束长等信息提取算法的集成等等,HOTCAP在功能上可进一步完善。计算效率方面,现阶段已满足使用需求,但随着未来示波器的性能逐渐增强,数据量的逐渐增大,仍会对软件包提出更高的要求,软件设计上仍具优化空间,其中,现有算法的优化效果与储存环谐波数有关,谐波数越少优化效果越明显,若谐波数远超720,优化效果下降,因此需要有更合理的算法设计,因涉及大量矩阵运算,因此也有着借鉴机器学习的方案,在图形处理器(Graphics Processing Unit,GPU)上进行规模计算以提升效率的可能。

5 结语

为满足上海光源在线实时测量及数据发布的需求,本文对电子储存环逐束团三维位置信号处理软件包HOTCAP进行了计算效率上的优化。采用运行数据作为样本进行的评估测试表明:优化后总处理时间从50 min降低到2 min以下,横向位置分辨率与优化前保持一致,纵向相位分辨率略有提高,完全满足设计要求。

采用合肥光源运行数据测试了优化后软件包的通用性,结果表明,优化后的软件包同样可以在不同高频频率、不同谐波数的电子储存环上应用,同样可在不降低分辨率的条件下大幅缩短数据处理时间,非常有利于在世界范围内进行推广应用。

作者贡献声明杨星负责算法的设计、实现及优化、数据的采集和分析处理、文章的起草和最终版本的修订;冷用斌负责对方案的指导,文章的知识性内容作批评性审阅,最终版本的修订,项目的监督和管理,指导实验数据的收集;周逸媚负责对文章的知识性内容作批评性审阅,获取研究经费,行政、技术或材料支持,指导实验数据的收集。

猜你喜欢
响应函数束流电荷
一类具有Beddington-DeAngelis响应函数的阶段结构捕食模型的稳定性
电荷知识知多少
电荷守恒在化学解题中的应用
高能同步辐射光源低能束流输运线设计研究
中国散裂中子源加速器注入束流损失调节研究
相机响应函数定标的正则化方法
克服动态问题影响的相机响应函数标定
秦岭太白山地区树轮宽度对气候变化的响应
ECR中和器束流引出实验研究
静电现象有什么用?