摘要 针对转变边缘传感器(transition-edge sensor, TES)读取系统(readoutsystem)的信号处理需求,基于图形处理器(graphics processing unit,GPU)、通用并行计算架构(compute unified device architecture,CUDA)等平台进行信号仿真处理技术研究。首次将联合FPGA与GPU 的信号处理模式应用于TES的信号读取和处理中,简化了算法执行的复杂度,并利用模拟信号,验证了该处理模式应用于我国西藏阿里原初引力波探测实验的可行性。
关键词 信号处理;GPU;FPGA;TES探测器;原初引力波;CMB
沈梦萍; 段然; 张海燕; 张来宇; 马晓耘; 刘飞; 李菂 北京师范大学学报(自然科学版) 2021-12-31
0 引 言
天文学上,引力波源大致分为两种,一种是天体物理起源,比如激光干涉引力波天文台(laser interferometer gravitational-wave observatory,LIGO)发现的双黑洞合并和双中子星合并的引力波事件,另一种引力波源则是宇宙学起源。宇宙学起源的引力波又称为原初引力波,理论表明,探测原初引力波最好的方式是通过探测宇宙微波背景辐射 (cosmic microwave background, CMB)的 B 模式偏振[1]。目前为止,地面或空间实验还没有观测到原初引力波产生的 B 模式偏振。北天区存在着大面积的“低前景”区域,是天文学家寻找 B 模式偏振信号的重要窗口。我国的西藏阿里由于处于绝佳的地理位置,是目前已知北半球最佳的 CMB 观测台址。西藏阿里原初引力波探测实验将是北半球第一个地面 CMB 偏振观测实验,将实现对北半球天区的 CMB 偏振信号的首次观测,打开北半球对原初引力波探测的新窗口,与南半球的宇宙河外偏振背景成像(background imagingof cosmic extragalactic polarization,BICEP)项目结合,实现对 CMB 偏振地面观测的全天覆盖[1]。
原初引力波望远镜主要由转变边缘传感器(transition-edge sensor, TES)、制冷箱、读取系统等部分组成。TES 探测器是太赫兹探测器的一种,太赫兹波段占有宇宙微波背景辐射以后宇宙空间近一半的光子能量,该波段在天文学研究中具有不可替代的作用。太赫兹探测器主要分成相干探测器和非相干探测器两大类[2][3]。随着制备工艺和读取技术的成熟,不需要本振源的连续谱探测器 ——转变边缘传感器和动态电感探测器(kinetic inductance detector,KID)近年来开始占据主导地位。在低温读取方面,转变边缘传感器早期以时分复用(time division multiplexing,TDM)为主,后来在频分复用(frequency division multiplexing,FDM)方面与动态电感探测器互相借鉴,由于具有复用系数更高的优势,在较大规模的探测器阵列中,已逐渐取代 TDM 技术。而在室温读取方面,则普遍采用现场可编程逻辑门阵列(field programmable gate array,FPGA)与数模转换器(digital to analog converter,DAC)和模数转换器(analog to digital converter, ADC)相结合的方式。
原初引力波信号极其微弱,探测原初引力波需要在满足苛刻的噪声、精度和稳定性要求下读取数万个转变边缘传感器来达到灵敏度要求。阿里原初引力波项目将实现 4- 8GHz 带宽下千量级复用比探测器阵,总计不低于 1 万个 TES 探测器的读取。而目前,我国没有大规模 TES 探测器阵列读取系统实际应用案例。室温电子学读取系统是原初引力波望远镜所必须的关键环节,也是我国自主研制的核心技术。TES 探测器读取系统对于信号的接收与处理有实时性的要求,大规模的探测器阵列也意味着庞大的实时信号流,因此提高读取系统的信号处理速度非常重要。本文研究将联合 FPGA 与 GPU (graphics processing unit,GPU)的处理模式应用于 TES 探测器读取系统信号处理中,取代原先的仅用 FPGA 处理信号的模式,提升系统的实时信号处理速度与性能。当前主流的室温电子读取技术是基于一种FPGA硬件——开源可配置开放架构计算 硬 件 ( reconfigurable open architecture computing hardware,ROACH)——于 2010 年左右开发的探测器开源读取系统(open source readout,OSR)。该技术最早在天文界为加州理工大学亚毫米波望远镜(caltech submillimeter observatory,CSO)所使用,为 MUSIC ( multiwavelength sub/millimeter inductance camera)设备开发了 ADC、DAC 和中频电路系统与之配合[4]。
近些年,随着 GPU 在工业界的高速发展,联合 FPGA 与 GPU 的处理模式在射电天文实时终端领域得到了广泛的应用,然而在 TES 探测器的数字终端信号处理中 FPGA+GPU 的处理模式还未曾得到过尝试。以往的 TES 探测器信号读取处理系统对信号的处理均是基于 FPGA 进行的,本文在原有的基于 FPGA 的 TES 探测器读取系统信号 处 理 算 法 的 基 础 上 , 研 究 了 基 于 FPGA+GPU 的信号处理算法在 TES 探测器的信号读取处理中的应用。
1 基于 FPGA 的 TES 探测器读取系统信号处理流程
本节介绍基于 FPGA 的 TES 探测器读取电子学系统的常规信号处理流程[5]。基于 FPGA 的 TES 探测器读取系统中,信号产生、接收与处理流程如图 1 所示。图 1 中左侧流程基于 FPGA,在 FPGA 上对信号进行处理,右 侧 为 信 号 探 测 模 块 , 其 中 SQUID ( superconducting quantum interference device,SQUID)为超导量子干涉仪,是一种极灵敏的磁通传感器,可以检测任意能转换成磁通的极端微弱信号,ADC 和 DAC 连接信号探测模块和信号处理模块。
区别于传统射电望远镜电子学系统,例如中国天眼 FAST——只接收馈源数据,原初引力波室温电子学系统需要对探测器阵同时进行激励与接收,形成一个闭环,并且,不是直接探测偏振信号,而是探测 CMB 的 B 模式偏振对闭环电路的相位信号的影响。实际工作中,信号按照多个通道合成,经过 DAC 后,输出一个由多个频率合成的信号。该信号产生 I 路和 Q 路两路信号,两路信号经过信号探测模块(图 1 中右侧模块)后由 ADC 进行接收,ADC 接收完信号后传输到 FPGA 上进行相应的信号处理。由 DAC 输出的信号的相位是一个固定值,锯齿波Flux Ramp 对信号的相位进行调制,作用到信号上便是信号的相位呈周期变化,当 TES 探测器探测到 CMB 偏振信号时,光子入射导致 TES 电路中磁通发生变化,该变化由 SQUID 探测到并最终传递到由 DAC 发出的频率合成信号上,致使合成信号的相位信号发生抖动[5]。通过在特定周期内对相位信号进行积分,分析该积分值是否发生变化来判断相位信号是否发生抖动。
图 1 左侧展示了 I、Q 两路信号传输到 FPGA 后的处理过程。信号进入 FPGA 后,先经过多相滤波器组(polyphase filter bank, PFB)进行滤波和 512 点的快速傅里叶变换(fast fourier transform,FFT)处理,实现通道化,随后进行通道选择(选频),图中所示流程选取了多个频率中的若干个频率通道。 I、Q 两路信号分别位于复平面上的实部和虚部,在进行进一步的滤波处理后,求解信号的相位信息。信号进行滤波处理后,在复平面上得到一段谐振弧,对谐振弧进行拟合求出圆和圆心,由于 FPGA 本身的特性不适合进行非线性运算,不能直接由拟合得到的圆和圆心得到相位信息。因此,先对圆心进行坐标平移,使圆心与坐标原点重合,再进行坐标转换,使轨迹的起始点位于 x 轴上,随后 FPGA 才可以直接通过除法运算求解出相位。经过求相位处理后,求解出的相位信息θ是一个随时间进行周期性变化的正弦信号。对求解出的相位信号进行锯齿波解调和特定周期长度的积分处理后将会得到一个具体的数值,该值会一直保持不变,直到 TES 探测器探测到信号时该值发生变化。
由于 TES 探测器探测到的信号改变的是读取信号的相位信息,因此我们认为,探测到宇宙微波背景辐射的 B 模式偏振信息蕴含在读取信号相位的变化之中,从读取信号中解调出特定频率(选频)的相位信息(相位计算)是 TES 探测器原初引力波室温读取信号处理技术研究中的重要一步,是后续进行锯齿波解调与积分处理从而得到宇宙微波背景辐射 B 模式偏振信号的前提。本文在FPGA的室温读取系统信号处理算法的基础上,研究基于 FPGA+GPU 的信号处理算法在 TES 探测器的室温信号读取处理中的可行性,研究在 GPU 中进行快速傅里叶变换、选频和相位计算的过程。
2 基于 FPGA 与 GPU 的 TES 探测器室温读取系统信号处理流程
上一章基于 FPGA 的 TES 探测器室温读取系统信号处理流程中,由于 FPGA 本身特性的限制、以及算法的复杂度的原因,求解相位信息步骤复杂,执行效率较低。借助 GPU 出色的并行处理能力和灵活的数学处理能力,对原本复杂的数据处理流程进行优化,极大地简化了算法的步骤和复杂度,提高计算效率。近些年,联合 FPGA 与 GPU 的处理模式在射电天文终端领域得到了广泛的应用,但在 TES 探测器的终端信号处理中还未曾得到过尝试。本文将部分FPGA的信号处理流程置于 GPU 上进行处理,进而研究联合 FPGA 与 GPU 的信号处理模式在 TES 探测器室温读取信号处理中的可行性,为西藏阿里原初引力波探测项目大规模 TES 阵列读取系统打下研究基础。
基于 FPGA 与 GPU 的 TES 探测器室温读取系统信号处理流程如图 2 所示,左侧为基于 FPGA+GPU 的数据处理流程,右侧与图 1 一样,均为信号探测模块。左侧流程图中,ADC 和 FPGA 对信号进行数字化处理,随后发出 UDP 数据包,进行数据预处理后,将数据从 CPU 传输到 GPU 中进行快速傅里叶变换和相位计算 ArcTan(灰底部分),最后对数据进行选频 Bin Selection(灰底部分)操作。通 用 并 行 计 算 架 构 平 台 (compute unified device architecture,CUDA)[6]提供了通 用 并 行 计 算 架 构 快 速 傅 里 叶 变 换 库 cuFFT[7],极大地提高了 GPU 进行快速傅里叶变换的能力,因为 GPU 强大的计算能力,相比 FPGA 更适合进行非线性运算,原本在 FPGA 中求相位处理需要先进行较为复杂的坐标转换与坐标平移步骤均可省略,使得整个流程得到简化与优化。
2.1 信号产生
整套系统中,DAC 工作频率 4.096 GHz,循环读取FPGA上的数字序列存储模块上的数字序列,我们将该模块称为查找表(lookup table,LUT),将该数字序列称为 Buffer。 ADC 采样频率为 512 MHz,读取由 DAC 发出的模拟信号,并封装成 UDP 包。Buffer 长度为 2 19,由如下公式产生: