APP下载

基于FPGA的夏克-哈特曼探测器实时波前处理机

2021-08-31刘召庆金伟其

红外技术 2021年8期
关键词:光斑质心孔径

刘召庆,李 力,,董 冰,金伟其

〈系统与设计〉

基于FPGA的夏克-哈特曼探测器实时波前处理机

刘召庆1,李 力1,2,董 冰2,金伟其2

(1. 西安应用光学研究所,陕西 西安 710065;2. 北京理工大学 光电学院,北京 100081)

夏克-哈特曼波前传感器是目前自适应光学系统中应用最为广泛的实时波前探测器。本文针对具有高分辨、高帧速、大规模子孔径数的夏克-哈特曼传感器,根据其波前处理计算量和实时性的要求,提出了一种基于现场可编程门阵列(FPGA,field-programmable gate array)的实时波前处理机结构及波前斜率计算方法。该方法利用核心处理模块重复利用的方式完成子孔径内光斑质心的计算,并通过USB3.0将处理后的质心数据实时传输给PC机。处理机以一片XILINX公司Kintex7-XC7K325T的FPGA作为处理芯片进行了设计,结果表明:该算法可对560帧/s的1020×1020图像(580MB/s数据量),56×56子孔径哈特曼传感器,进行低延时实时光斑质心计算,提高了系统的波前处理速度和整个自适应光学系统的控制速度。

夏克-哈特曼探测器;实时波前处理机;FPGA

0 引言

自适应光学的基本思想是在光学系统中引入一个表面形状可变的光学元件(波前校正器)和一个波前误差传感器,用波前传感器测量出不断变化的波前误差,根据测量结果由控制系统控制波前校正器对波前误差进行校正。如果这一过程足够快,就可以用不断变化的波前校正量来校正不断变化的动态波前误差。

夏克-哈特曼波前传感器是目前自适应光学系统中应用最为广泛的实时波前探测器。自适应光学系统将夏克-哈特曼波前传感器所测到的波前畸变信息转化成校正器的控制信号,以实现自适应光学系统的闭环控制。用于补偿大气湍流引入像差的天文自适应光学系统的空间分辨力和时间分辨力应分别与大气相干长度和时间常数相匹配。优秀观测站址的大气相干长度0和时间常数分别约十几厘米和几毫秒,随着望远镜口径的增大,要求自适应光学系统有更多的子孔径数。以直径8m的望远镜为例,若0取15cm,则要求夏克-哈特曼传感器在直径方向上至少有53个子孔径。由此给波前处理系统带来的问题是计算量大、实时性要求高。为提高自适应光学系统的控制带宽,必须提高自适应光学系统的波前采样频率和波前校正速度。在系统采样频率一定的情况下,波前处理系统的计算延时会直接影响系统的控制带宽。在当前图像帧结束的情况下,越早给出波前校正量越能更好地补偿波前像差,实现准实时的波前校正。

2002年中科院光电所研制的2900Hz、61单元的波前处理机[1]共用17片DSP,计算延时为340ms;2011年中科院电子技术研究所研制的基于FPGA的22×22子孔径波前斜率处理器[2]完成一帧所有子孔径斜率计算的延迟时间为0.33ms;2015年中科院电子技术研究所研制的基于PC机的949个子孔径的系统[3]进行2000 Hz的处理,处理延迟低于240ms;2016年中科院长春光机所研制的基于GPU的液晶自适应光学系统的波前处理[4]斜率延时为18ms,其相机像素为240×240,帧率2000帧/s,40×40个子孔径。以上夏克-哈特曼传感器所产生的图像数据大致在每秒100M像素数左右,现代的FPGA都可以在单周期内完成波前斜率计算,因此只要FPGA运行在100MHz的时钟频率下都可以进行实时处理。面对自适应光学对传感器分辨率、帧率要求的不断提高,夏克-哈特曼传感器所产生的图像数据大致在500M/s以上的像素数,传感器为达到传输带宽的要求,都采用多通道(8~10通道)同时传输的方式,FPGA难以运行在如此高的时钟频率。

本文针对具有高分辨率(1020×1020),高帧速(560帧/s),大规模子孔径数(56×56单元)的夏克-哈特曼传感器,提出一种基于现场可编程门阵列(field-programmable gate array,FPGA)的实时波前处理机,在有效降低硬件资源的前提下,可在当前子孔径数据进入FPGA后延迟10行完成当前子孔径波前处理运算,提高了系统的波前处理速度。

1 夏克-哈特曼波前传感器原理

夏克-哈特曼波前传感器由微透镜阵列和探测器组成,每个微透镜对应探测器上的一个子探测区。当以参考波前(近似平面波)入射到微透镜阵列时,在探测区域形成近似等间距排列的光斑阵列,此时记下光斑质心位置作为参考。当以畸变波前入射时,每个子透镜对应的光斑质心位置相对参考光斑可能产生和两个方向的移动,移动量即对应于畸变波前在子孔径内的平均斜率。获得畸变波前在子孔径内的平均斜率后,通过波前重构算法(模式法或区域法)即可获得波前相位。

图1为夏克-哈特曼波前传感器的工作原理。光波场被阵列透镜分解成许多小孔径光斑,这些小孔径光斑汇聚到夏克-哈特曼探测器焦平面上。假定不同的子孔径的光成像在探测器靶面的不同位置上,任意两个子孔径所产生的邻近像点没有重叠,这样每个子孔径在像平面上都对应的一块专用的成像面积。进入阵列透镜的光束在探测器上形成一阵列衍射光斑。

图1 夏克-哈特曼波前传感器结构

根据光斑质心的定义可写出离散采样情况下光斑质心的计算公式为:

式中:xy分别为探测器各子孔径位置坐标;I,j为第(,)个探测器像元灰度值。

在每一个子孔径内进行光斑质心计算,可以得到参考波前质心(c0,c0)和畸变波前质心(c,c)。波前斜率gg定义为信标光波在和方向的偏导数在该子孔径上的平均,波前斜率和光斑质心变化量满足如下关系:

式中:为探测器像元尺寸;为子透镜焦距。

综上所述,夏克-哈特曼波前传感器波前处理的核心为子孔径内光斑质心的计算。

2 基于FPGA的实时波前处理机结构

基于Kintex7-XC7K325T的FPGA实时波前处理机组成如图2所示,夏克-哈特曼传感器将实时采集的图像数据发送给以FPGA为核心的自适应光学波前处理机,FPGA处理完后将数据发送给上位机,同时上位机可以发送控制指令对处理机的参数进行控制。

图2 处理机系统组成

夏克-哈特曼传感器的FPGA处理硬件结构如图3所示。采用具有高帧速、大面阵CMOS探测器的EoSens CL型相机,在Camera Link Extended-Full传输模式下以1020×1020分辨率可实现560帧/s的帧率。为了传输高达4.4 Gbit/s的数据,需要3对Camera Link数据链,因此处理机数据接收端采用3片DS90CR288MTD芯片将Camera Link数据转成LVCMOS信号传输给FPGA。

本夏克-哈特曼传感器微透镜整列数为56×56,每个子孔径在和方向上用8bit表示整数坐标位置,16bit表示小数坐标位置,则每秒至少需要传输560×56×56×2×24=84295680bit数据,大大超过了通信常用的异步串行通信(RS232/422)的传输极限。因此在传输波前质心数据时,本文采用Cypress公司CYUSB2014-BZXI与上位机间进行USB3.0数据传输(USB3.0的最大速率5Gbit),为了降低USB数据传输开发复杂性,本文将USB3.0传输设置为单向传输,上位机与波前处理质心计算系统的控制由RS422完成。

3 基于FPGA的子孔径光斑质心计算

夏克-哈特曼传感器采用的EoSens CL相机工作在1020×1020分辨率,帧频为560帧/s,采用Camera Link Extended-Full模式传输,像素时钟为75MHz。每时钟同时输出10个像素,每个像素为8bit,共80bit,行有效周期为102个像素时钟。其行时序如图4所示(图中每一个方块代表一个像素,方块中的数字表示像素的行方向坐标,T代表第个时钟周期)。

如果实时将并行输入的10个像素转成串行的单个像素进行处理FPGA需要750MHz的处理时钟,大大超过了FPGA能够达到的最高时钟,因此本文设计了一个行缓冲将高速多像素并行输入的图像数据变成低速像素为单位的串行的数据(如图5所示),FPGA程序设计中将每一行数据按10个像素(80bit)75MHz时钟频率写入两个FIFO(64bit位宽和16bit位宽两个FIFO组成一个80bit位宽的FIFO)中,再以1个像素(8bit)频率FPGA(75MHz~200MHz,FPGA一般时钟频率)从FIFO中读出,FIFO深度为128。每行数据的处理时间为1020个FPGA时钟。

每一个质心计算核心模块如图6所示,由一个如图6的行缓冲FIFO和两个乘法累加器分别进行子孔径内和方向的乘法运算及累加运算组成,质心计算核心模块将FIFO读出点在对应子孔径参数进行运算。该运算为两周期流水运算。质心计算核心模块将计算后该行对应在子孔径的3个乘积累计结果进行输出。图中YPos为当前质心计算核心模块处理行在整个图像中的行位置,XPos为当前处理像素在整个图像中的列位置,Sum输出为质心计算核心模块处理完当前行后输出的行像素值总和,IntgX为每一个子块在行方向的乘法累加值,IntgY为每一个子块在列方向的乘法累加值。

图3 处理机硬件结构图

图4 EoSens CMOS探测器一行像素输出时序

图5 行缓冲将10像素80bit输入转成串行1像素8bit

图6 质心计算核心模块

质心计算核心模块工作在相机的像素时钟频率下(75MHz),相机行有效时间为lv时,质心计算核心模块需要10lv的时间来处理一行的数据,因此一个质心计算核心模块是显然不够的,但是如果每一行都有一个质心计算核心模块会浪费大量的FPGA资源,甚至导致FPGA由于资源不够而无法完成布局布线。为了满足功能的需要又不造成FPGA资源的浪费,如图7所示,本文采用核心模块复用的质心计算方法,设计了共10个质心计算核心模块,通过核心模块选择器分时复用使用这10个质心计算核心模块,实现质心计算核心模块的复用,减少FPGA资源的使用。

最终FPGA资源使用情况如图8所示,FPGA资源使用中最重要的几个指标LUT,FF,BRAM的使用量都在30%以下。

使用QuestaSim对图9实际采集的夏克-哈特曼传感器成像图进行了仿真,仿真时序如图10所示,每一行子孔径质心位置结果可以在当前子孔径所有行均输入后延时10行时间输出,采用的EoSens CL型相机工作在1020×1020分辨率560帧时,行周期小于1/(560×1020)=1.75ms,因此本系统的计算输出延迟小于17.5ms。同时将QuestaSim仿真结果与Matlab计算的结果进行了对比,结果一致。

图7 质心计算核心模块复用

图8 FPGA使用资源情况

表1将本文所采用的系统和方法与所查到文献中其他处理系统与方法进行了比较,比较主要包括子孔径的数量、传感器的数据量和处理延时,本文所采用的系统和方法在子孔径数量最多,数据量最大的情况下,也能够将延时控制得最小。

图9 夏克-哈特曼传感器成像图

图10 时序仿真结果

表1 处理能力比较

4 实验系统

实验系统光路如图11所示。光纤耦合输出激光光源(635nm)经准直后通过分束镜1垂直入射到变形镜上。变形镜用于产生畸变波前。畸变波前在分束镜2处分为两路,一路用于夏克-哈特曼传感器进行波前探测,一路用于检测远场光斑的变化。由于变形镜的通光口径一般大于哈特曼传感器的探测区域尺寸,实验系统采用透镜组L3和L4将变形镜出射的光进行缩束,焦距之比等于变形镜口径与哈特曼探测区域直径之比。夏克-哈特曼传感器获得的光斑阵列图像经Cameralink接口发送给FPGA波前处理机进行实时质心计算,质心计算结果由上位机进行波前重构后得到畸变波前分布。

图11 实验光路图

5 结论

目前夏克-哈特曼传感器所用的高分辨率、高帧率探测器大多采用多通道并行传输的方式才能满足自适应光学所要求的高分辨率、高帧频的需求,本文提出的一种基于FPGA的夏克-哈特曼波前处理机,采用核心模块复用的质心计算方法,兼顾了处理效率和FPGA资源的平衡,可以实时处理1020×1020分辨率、560帧/s图像的成像器件和56×56子孔径数微透镜整列组成的夏克-哈特曼传感器,数据输出延迟小于17.5ms(10个行周期),而且FPGA资源占用率不到30%,由此推算用该FPGA至少可以处理图像分辨率或图像帧率增加1倍的哈特曼传感器。

[1] 周璐春, 王春鸿, 李梅, 等. 基于FPGA技术的波前斜率处理方法[J]. 光电工程, 2002, 29(3): 28-31.

ZHOU Luchun, WANG Chunhong, LI Mei, et al. A wavefront slope processing method based on FPGA technique[J]., 2002, 29(3): 28-31

[2] 樊志华, 王春鸿, 姜文汉. 基于累加器的哈特曼-夏克波前斜率处理器[J]. 光学精密工程, 2011, 19(3): 501-507.

FAN Zhihua, WANG Chunhong, JIANG Wenhan. Accumulator -based wavefront slope processor for Shack-Hartmann sensors[J]., 2011, 19(3): 501-507.

[3] 陈善球, 刘超, 许冰, 等. 通用自适应光学波前实时处理机的设计[J]. 中国激光, 2015, 42(12): 1212001

CHEN Shanqiu, LIU Chao, XU Bing, et al. Design of generic adaptive optics wave-front real-time processor[J]., 2015, 42(12): 1212001

[4] 李大禹. 基于多GPU的液晶自适应光学波前处理器[J]. 液晶与显示, 2016, 31(5): 491-496.

LI Dayu. Liquid crystal adaptive optics wavefront processor based on multi-GPU[J]., 2016, 31(5): 491-496.

[5] 贾建禄, 王建立, 赵金宇. 基于FPGA的自适应光学系统波前处理机[J]. 光学精密工程, 2011, 19(8): 1716-1722.

JIA Jianlu, WANG Jianli, ZHAO Jinyu, et al. Adaptive optical wave-front processor based on FPGA[J]., 2011, 19(8): 1716-1722.

[6] Mauch S, Reger J. Real-time spot detection and ordering for a Shack-Hartmann wavefront sensor with a low-cost FPGA[J]., 2014, 63(10): 2379-2386.

[7] 王建立. 349单元自适应光学波前处理器[J]. 光学精密工程, 2018, 26(5): 1007-1013.

WANG Jianli. Three hundred and forty-nine unit adaptive optical wave front processor[J]., 2018, 26(5): 1007-1013.

[8] Avinash Surendran, Mahesh P Burse, Ramaprakash A N, et al. Scalable platform for adaptive optics real-time control (SPARC) part 2: field programmable gate array (FPGA) implementation and performance[J].,,, 2018, 4(3): 039002.

Shack-Hartman Detector Real-time Wavefront Processor Based on FPGA

LIU Zhaoqing1,LI Li1,2,DONG Bing2,JIN Weiqi2

(1.,710065,; 2.,,100081,)

The Shack-Hartman wavefront sensor is the most widely used real-time wavefront detector in adaptive optics systems. In this study, a Shack-Hartmann sensor with high resolution, high frame rate, and a large-scale sub-aperture number is proposed. Based on the requirements of wavefront processing calculations and real-time performance, a field-programmable gate array (FPGA) is also proposed. The real-time wavefront processor structure and wavefront slope calculation method are investigated. The system employed the core processing module to reuse the method to calculate the centroid of the spot in the sub-aperture and transmitted the processed centroid data to the PC in real time through USB 3.0. The processor was designed with a XILINX Kintex7-325T FPGA processing chip. The results demonstrate that the algorithm can perform low-latency, real-time operations on 1020´1020 images and 56´56 sub-aperture Hartmann sensors at 560 frames per second. The spot centroid calculation increased the wavefront processing speed of the system and the control speed of the entire adaptive optics system.

Shack-Hartmann sensor,real-time wavefront detector,FPGA

TN219

A

1001-8891(2021)08-0717-06

2019-12-12;

2021-04-26.

刘召庆(1979-),男,研究员,主要研究方向为光电系统总体技术。E-mail:12134171@qq.com。

李力(1982-),男,讲师,主要研究方向为数字图像处理。E-mail:lili@bit.edu.cn。

国家自然基金(11874087)。

猜你喜欢

光斑质心孔径
重型半挂汽车质量与质心位置估计
基于GNSS测量的天宫二号质心确定
基于CLEAN算法对一维综合孔径辐射计成像误差的校正
有趣的光斑
主角光环
有趣的光斑
夏末物语
巧求匀质圆弧的质心
Preparation of bimodal grain size 7075 aviation aluminum alloys and the ir corrosion properties
汽车质心高度计算及误差分析方法研究