水下飞秒双光梳高精度测距算法设计与实现

2023-01-17 05:31翟小羽孟昭鹏胡浩丰石浩男
海洋信息技术与应用 2022年4期
关键词:飞秒测距条纹

翟小羽,孟昭鹏,胡浩丰,石浩男

1.天津大学 天津 300072

2.国家海洋技术中心 天津 300110

水下距离测量是海洋探测领域中的核心技术。目前,在水下目标探测、海洋测量、海洋工程制造等领域,水下测距技术具有广泛的应用场景[1-3]。高精度水下距离测量在科学研究和工业制造中发挥着重要作用,直接决定着我国在海洋计量、海洋工程装备、水下地形测量、海洋深度测量、水下目标探测和定位、水下搜救、海洋底质探测等领域的地位和技术水平[4-5]。

水下测距历经了人工、水声、激光等不同的技术路线。目前,水下测距大多是依赖水声与激光技术相结合的方式实现。声波在海水中的传播具有散射弱、衰减小的特点。因此,水声测距技术因其测距量程大的突出优势,长期占据了水下探测装备和技术的主导地位。现今的水深测量、水下成像等主要工程装备大多源于水声测距技术[6-10]。然而,与水下激光测距相比,由于声波的频谱特性,水声测距技术存在探测时间长、时空分辨率低、测量误差大等问题,难以完全满足水下精密工程和探测装备的需求。为了解决传统水声测距技术的上述问题,水下激光测距技术应运而生[10]。水下激光测距技术通过发射激光照射目标,并接收目标反射的回波光信号解算目标距离[11]。激光信号具有波长短、传播速度快、准直度高等特点,同水下声学测距技术相比,水下激光测距技术能够实现更高精度的距离测量,同时具有更高的定向精度和稳定性[12-13]。然而,由于光信号的固有特性,其在传输过程中受到水体的吸收与散射,存在较大的功率衰减,在一定程度上限制了水下激光测距技术的测量范围[14-15]。飞秒光梳[16]是一种新型的激光光源,它在时域上表现为一系列超短脉冲序列,脉冲宽度在飞秒级别,在频域上表现为在极宽光谱范围下等频间隔的单色谱线,就像一把稳定的“梳状尺”。飞秒光梳具有脉宽窄、光谱宽、峰值功率高的优点,因而具备独特的时频计量特性[17-19]。飞秒光梳的出现,为水下激光测距的实现提供了一个全新的技术方案,从原理上提升了水下激光测距的量程和精度[20-23]。水下双光梳测距算法是整个水下测距系统的核心技术,由探测、采样等模块和寻峰、测距等算法组成的嵌入式系统,同时针对水体性质动态变化的实际情况进行计算与补偿。水下双光梳测距系统需要较高的测量速度和数据处理速度,FPGA SoC具有性能高、功耗低、电路简单和软硬件一体化设计等优点,是嵌入式开发的重要方式[24]。它同时具备硬件计算高性能和嵌入式软件应用灵活的优点,为水下双光梳测距算法软硬件一体化的实现与验证提供了有效解决方案。

本文针对飞秒光梳水下测距中面临的问题,参照水体折射率与水下光程的对应关系,提出一个基于飞秒光梳的水体折射率实时测量方法,并搭建了一个由双干涉光路和双飞秒光梳组成的水下飞秒双光梳测距系统,实现了水体折射率的实时修正和水下绝对距离测量。本文所提出的水下双光梳信号处理单元,是基于软硬件一体化实现的。系统基于FPGA SoC平台实现,按照水下双光梳测距算法和要求,构建了一个嵌入式软硬件开发一体化的环境平台,完成了基于水下双光梳测距算法的嵌入式开发与实现。基于上述系统和方法,开展了小尺度(5 m)和大尺度(30 m)的水下测距实验,完成了水下飞秒光梳测距信号分析和算法实现的实验验证,并对飞秒光梳测距量程和测距误差进行了测试和评价。

1 水下双光梳测距架构

1.1 水下双光梳测距系统

水下飞秒双光梳测距系统的结构如图1所示,两台飞秒光梳构成了激光光源,一台作为测量光梳(SS),一台作为本振光梳(LO)。飞秒脉冲由测量光梳发射,经过分光镜BS1被分成两路:一路脉冲射入测量光路,经过水下目标MR1反射,产生测量脉冲;另一路射入参考光路,被分光镜BS2分成了两路脉冲,一路经过参考镜MR2反射,作为参考脉冲,一路经过修正镜MR3反射,作为修正脉冲。上述光路系统最终产生由测量脉冲、参考脉冲、修正脉冲组成的3组回波脉冲。本振脉冲与参考脉冲、测量脉冲、修正脉冲合束,并分别与其进行干涉,再由光电探测器完成3个干涉脉冲的光电转换,最终获取测量脉冲、修正脉冲和参考脉冲的干涉条纹信号。信号处理模块基于光电探测器获取的干涉信号,通过提取干涉载波包络的峰值,再由对应脉冲峰值时间与距离的关系,解算出参考脉冲与测量脉冲、参考脉冲与修正脉冲的光程距离。同时,利用折射率修正模块的光程距离,实时解算出水体的折射率,并将其应用于测量目标的距离解算。

图1 水下飞秒双光梳测距系统结构

可以看出,图1中的水下飞秒双光梳测距系统包含一组双干涉仪结构:一个是主体干涉仪,用于计算参考脉冲与测量脉冲的光程差;一个是修正干涉仪,嵌套于主体干涉仪上,用于计算参考脉冲与修正脉冲的光程差,从而实现水折射率实时修正。另外,本文设计的水下测距系统不再需要移动扫描装置,可以实现水折射率的实时修正,减小了水下测距的误差,提高了水下测距的可靠性和实时性。

由于水体参数是变化的,实测的修正长度也会随之变化,因此需要实时测量几何修正长度L0。在水介质中,本振脉冲与修正脉冲和参考脉冲发生光学干涉,形成两个脉冲的干涉条纹,通过计算两个干涉条纹的峰值和峰值对应的时间,得到两个脉冲的时间差Δt,最终计算得到修正长度L0的水下光程Lgw,实时水体折射率可以表示为:

式中:Δt是参考脉冲与修正脉冲的时间差,ngw是水体折射率。

1.2 水下双光梳测距算法

本文根据水下飞秒双光梳测距的模式,设计了水下飞秒光梳测距算法,其算法框图如图2所示。从图中可以看出,水下飞秒光梳测距是由脉冲干涉信号采样、脉冲干涉条纹提取、脉冲干涉条纹寻峰、水折射率测量、水下距离归算等环节和算法组成的。

图2 水下双飞秒光梳测距算法框图

经过光电探测器接收到的脉冲干涉信号,在经过模数转换过程后,最终得到采样量化的数字信号。其中,双光梳脉冲干涉条纹是一个脉冲展宽、幅值震荡的实信号I(t),由于水下噪声和衰减的影响,增大了干涉脉冲寻峰的难度和时间测量的误差。针对这一问题,本文引入希尔伯特(Hilbert)变换[18],构造一个干涉条纹的解析信号z(t),再由解析信号计算干涉包络的峰值,求取两个包络峰值的时间差,从而实现水下距离的测量。干涉条纹的解析信号z(t)是一个复信号,其实部是实信号I(t),其虚部是I(t)的Hilbert变换结果Hilbert变换的结果相当于实信号I(t)与冲击响应 h(t)的卷积,等价于一个冲击响应h(t)=1/πt的滤波器,可由下式表示:

双光梳脉冲干涉信号的复信号包络与寻峰结果如图3所示,信号包络清晰表征了干涉条纹的峰值信息,能够同时将参考脉冲、测量脉冲、修正脉冲的包络计算出来。基于公式(2)可以看到,对于不同的输入信号I(t),经过希尔伯特变换后均能产生对应的卷积响应,同时得到解析信号的模值作为包络信号。因此本文提出的寻峰测距算法对于不同的干涉信号均能够解算出其包络信号,具有稳定性和可靠性。基于包络信号的峰值,求取峰值点的时刻及对应的飞行时间,最终根据飞行时间、水中光速和飞秒光梳重复频率解算得到被测距离,完成水下距离的精确测量。

图3 双光梳干涉条纹包络提取结果

水下飞秒光梳测距以主体干涉仪与修正干涉仪相结合的方式实现。本振脉冲可经由主体干涉仪,实现与参考脉冲和测量脉冲合束,形成两个脉冲的干涉条纹,再由Hilbert变换,求取干涉条纹的复信号,同时,寻找两个复信号包络的峰值及其时间差Δt2,则水下被测距离L可由下式表示:

式中:t3是测量脉冲的峰值时刻,t2是参考脉冲的峰值时刻。

与主体干涉仪相结合,本振脉冲可由修正干涉仪,实现与修正脉冲、参考脉冲合束,跟踪和测出参考长度L0对应的水下光程Lgw。由于参考长度L0是已知的,由公式(1)和公式(3),则可推导出水折射率实时修正的水下飞秒光梳测距的算法公式:

在实际的测距实验中,为了进一步提高测距精度,可进行多次重复测量,并对测距结果取平均值。

2 水下双光梳测距算法实现

按照水下飞秒光梳测距算法的要求,水下飞秒光梳测距系统由双飞秒光梳、双干涉光路、信号处理器3个单元组成。其中,测距算法实现结构如图4所示,主要包括信号探测、采样滤波、寻峰测距、显示控制等模块,其由上位机和外部设备相结合的方式实现。

图4 水下双光梳测距算法实现结构图

信号探测模块由收光镜头、平衡探测器、带通滤波器等光电器件组成,同时与双飞秒光梳和双干涉光路相结合,输出一个双光梳干涉条纹的模拟信号,并输入采样滤波模块。采样滤波模块由信号调理、模数转换、信号采样等电路模块组成,完成干涉条纹的放大、滤波和采样。该模块输出离散的干涉条纹数字信号,并将其输入到寻峰测距模块。寻峰测距模块由干涉条纹寻峰、水群折射率修正、距离计算等算法组成。该模块输出水下探测的距离和强度,并将其输入显示控制模块,该模块是水下飞秒光梳测距算法实现的核心模块。显示控制模块由信号调度、状态监控、指令传输组成,同时与上位机和外部设备相结合,完成水下测距信号的显示控制、数据存储、通信传输等。

2.1 软硬件协同设计与实现

本文设计信号处理器由信号探测、采样滤波、寻峰测距、显示控制等模块组成。本文按照软硬件协同设计的模式,根据总体设计的结构和要求,提出了信号处理器的软硬件功能分配和实现方式,划分了软件层、操作系统层和硬件层,表1给出了嵌入式信号处理器的系统设计。信号探测模块是由多个不同的光电器件组成的外部设备,不属于嵌入式系统设计的主要任务;采样滤波是由ADC转换、采样电路、Hilbert滤波器等硬件组成的,实时性要求非常高,是以FPGA模块与模拟电路相结合的方式实现的;寻峰测距和显示控制是处理单元的核心模块,计算量和编程难度大,是以嵌入式软件开发的方式实现的,需要嵌入式操作系统提供外部设备驱动,通过调度硬件资源,完成多进程的程序设计。

表1 嵌入式信号处理单元软硬件划分及功能分配

信号处理器是按照软硬件协同的方式设计的,最主要的特点是在嵌入式系统设计中,软硬件相互协调和作用,同时渗入不同的环节和层次,目的是找出软硬件的结合点,形成最佳的系统性能和工作状态。基于软硬件协同设计的方式对算法进行设计后,本文利用电子设计自动化(EDA)软件对算法进行硬件设计与软件编程,同时利用Modelsim仿真软件在FPGA布局布线前后进行功能仿真与时序仿真,验证本文设计算法功能的正确性以及实现方法的可靠性。

2.2 采样滤波算法实现

根据水下飞秒光梳测距系统,信号探测模块会输出一系列干涉条纹信号。由于干涉条纹信号幅度小,不能满足ADC芯片要求的电压范围,本文设计了信号调理电路,实现干涉条纹信号的滤波和放大。信号调理电路结构如图5所示,干涉条纹信号经由20 dB前置放大,输入抗混叠的低通滤波器,滤去高频噪声,再由增益放大电路,实现对信号的20 dB放大,最终通过ADC进行干涉条纹信号采样。

图5 信号调理单元结构图

经过ADC采样后,将双光梳干涉条纹的模拟信号转换为数字信号,利用Hilbert变换器进行复信号提取与包络恢复。按照Hilbert变换的概念,本文采用FIR滤波器IP核实现基于FPGA的离散Hilbert滤波器。本文使用MATLAB FilterDesigner工具,构造一个MATLAB滤波器。同时,设置滤波器的系数至符合Hilbert滤波器的要求,最后导出和量化滤波器的系数至MATLAB抽头文件。将生成Hilbert滤波器设计的抽头文件,参照FIR滤波器IP核接口和参数,完成Hilbert滤波器的IP核设计和开发,实现了基于FPGA的Hilbert滤波器的算法功能。

2.3 寻峰测距算法实现

本文按照水下测距的实时性要求,考虑嵌入式算法开发和实现的难度,参照导数法,设置参数阈值和平滑指数,约束寻峰的范围,筛除不需要的假峰和干扰,寻找出干涉条纹的峰值。同时,与拟合法相结合,修正导数法的寻峰结果,提出一种优化的导数寻峰法。

干涉条纹信号经过信号探测、调理、采样等步骤,最终得到一组离散的数字信号,根据干涉条纹更新率以及ADC采样率可知,一帧包络数据会输出2.5×105个12位无符号的量化信号值,最终将其存储于一维数组S中。根据导数寻峰法的要求,求出S的一阶差分,形成一个S的斜率数组Slope:

由于斜率数组并不关注一阶导数的大小,只考虑一阶导数的正负性,需要Sign函数做取符号运算,将Slope数组中的元素符号化。

遍历数组,若 Slope(i)>0,则取 1;若 Slope(i)<0,则取-1;否则取0,参照公式(6),则可获得一个变化趋势数组 Trend(i):

又由Trend(i),可导出一阶导数向下过零点,可由下式表示:

经过计算,pos点上的包络斜率会出现一个由正到负或由负到正的变化,根据导数寻峰法的特性和要求,pos点是一个峰值的位置。

按照水下飞秒光梳测距的算法和要求,可由导数寻峰法,探测和提取3个干涉条纹峰值的时刻,再由干涉脉冲的相对时延,求取修正光路和测量光路与参考光路的光程差,同时,与水群折射率的计算和修正相结合,完成水下距离解算。

2.4 显示控制算法实现

根据水下飞秒光梳测距算法的模块组成,本文通过控制不同模块的协同配合,从而实现水下双光梳测距算法。本文设计的工作流程主要由初始化、参数设置、质量控制、状态监控、存储显示等环节组成,形成了不同模块协同配合、控制显示等的程序和要求。

系统上电后,打开上位机的操作界面,设置和输入工作参数,包括飞秒光梳的重复频率、功率、时间等参数和要求;信号探测、采样滤波和寻峰测距等模块必需的参数和条件。

当初始化和参数设置完成,上位机接受指令,若未开始测距,自动待机;否则,上位机向信号探测模块下发一个测距指令,同时,开始跟踪干涉光路,一旦收到干涉条纹信号,启动采样滤波模块,实现干涉条纹的调理、采样和滤波,形成采样数据,输入寻峰测距模块,完成采样数据的寻峰和测距,最终,又返回上位机,显示和存储水下测距数据和结果。

状态监控模块与指令控制相配合,监控各个模块指令执行的状态,同时,监测外部设备和接口参数,一旦出现异常现象,则返回上位机,及时报警。此外,本文设计上位机显示界面按照人机交互的方式,完成指令、参数、状态的输入和显示等操作,同时存储和显示采样数据和测距结果。

3 水下双光梳测距实验

水下双光梳测距装置搭建了水槽测距实验,在水槽中均匀排布水下观测点。该水槽是一个长5 m、宽1 m的水容器,其外壁为钢化玻璃。水槽放置于一个光学平台上,可注入不同的水介质,同时,又配备了环境测量仪,实时监测不同水介质的温度、密度、压力等环境参数。水槽中,于不同距离处布设9个观测点,并采用商用测距仪进行标测。实验中,飞秒激光的光功率固定为30 mW。在水槽中依次注入纯净水、自来水和纯海水,进行不同水体情况下的水下测距实验。由于不同的水体下激光的衰减不同,因此在飞秒激光的光功率为固定值的情况下,不同水体对应了不同的最大测量距离。其中,海水对激光的衰减相较于纯净水和自来水更大,因此在海水中的最大测量距离最小,为2.82 m;而纯净水对激光的衰减最小,因而对应的测量距离最大,为4.82 m。

在实验中,通过图3中测量得到的双光梳干涉信号可以计算出水下群折射率。首先对实验装置的折射率修正部分进行标定,在实验开始前,在空气中使用商用连续波激光器测量得到其几何距离,即折射率修正部分中反射镜M2与M3的几何距离之差(其中,由于商用连续波激光器的精度可以达到nm量级,同时考虑到空气群折射率的影响,因此这里的几何距离测量标定结果可以评价为μm)。而后,在水下测量时,依据图3中的Ref和Cor干涉信号,可以求出水下的光程差,即Dw=ngw×D,式中:Dw为水下的光程差,ngw为水下群折射率,D为几何距离。在测量时,由于几何距离D为固定值,同时依据实时测量得到的水下光程差Dw便可求出实时的水下群折射率ngw。

表2为纯净水、自来水和海水等3种不同水介质中的水下观测点的标测距离、实测距离和测距误差实验结果。从表2可以看出,水下双光梳测距方法对于纯净水,可在4.82 m范围内实现70 μm内的测距误差;对于自来水,可在4.41 m范围内实现65 μm内的测距误差;对于海水,可在2.82 m范围内实现90 μm内的测距误差。其中海水情况下的测量误差更大是因为海水中光衰减更大,探测信号的信噪比更低,并且海水的光学特性随环境波动更大。同时,从测量得到的数据可以看出,在相同条件下,即2.82 m的范围内,纯净水测量的不确定度优于自来水,自来水优于海水。

表2 纯净水、自来水和海水3种不同水介质的水下观测点测距误差

此外,由于不同水的温度、密度、压力等环境参数的影响,不同时间内,水下距离测量的误差会出现不同的变化。因此,水下实验装置的稳定性是一个水槽测距实验的重要指标。为此,在距离2.24 m的水下观测点,持续进行2 h的长时间距离测量,实验结果及误差如图6所示。测量结果表明,在长时间水槽测距实验中,水下测距实验装置表现始终优于90 μm的测量不确定度。

图6 水下长时间测量散点图

为了测试和验证水下双光梳测距系统在更长距离的性能,在大尺度实验水池中开展了测距实验。该实验水池长75 m、宽1.6 m、高2 m,水池的外壁为钢化玻璃。同时,水池中配备了环境参数测量仪,可实时监测实验水池的温度、密度、压力等环境参数。

在水池中注入自来水,并设置4个不同的激光输出功率(400 mW、600 mW、800 mW、1000 mW),从而分析不同功率下的极限测量距离,同时利用商用测距仪对水下观测点的距离进行标测。表3展示了不同输出功率下对6个不同的水下观测点的测距误差。从表3可以看出,本文提出了飞秒双光梳水下测距系统可以在20 m的距离内实现80 μm的测距误差,在30 m的距离内实现优于150 μm的测距误差,能够实现水下远距离、高精度的距离测量。

表3 大水池中水下观测点的实测距离

大水池测距实验中水下观测点的标测距离与实测距离的对比如图7所示,图中红色标记表示实测距离,绿色轨迹则表示标测距离变化。结果表明,水下飞秒双光梳系统的实测距离与标测距离吻合度高,也验证了本文提出的水下高精度测距方法的可行性。

图7 标测与实测距离的对比

依据该实验装置进行了实验室内短距离及长距离测量实验,分别得到了在5 m探测范围内,不确定度优于90 μm;水下30 m探测范围内,不确定度优于150 μm的实验结果。其中,有关不确定度的结果可以总结为以下几个方面:第一,实验结果主要受水下群折射率影响,从而导致测量结果产生一定的误差。这里,根据实际5 m探测范围的实验,可以将此项的不确定度归结为83.2 μm。第二,考虑到本论文使用的算法为寻峰算法,因此在测量时会产生由于寻峰算法计算而产生的误差,这里,依据实际实验数据可以将其计算为10 μm。第三,由于待测目标,即测量反射镜,放置于水下5 m位置处,因此,在测量时会产生一定的abbe误差,通过测量得到,在5 m范围内,其abbe误差可以评价为28.5 μm。同理,在30 m的探测范围内,其水下群折射率的不确定度为130.8 μm,这主要是因为水下群折射率和探测距离呈现相关状态,即在探测距离远时,其不确定度较大。第四,算法方面,其在接收同样功率信号的前提下,算法的误差可以认为与之前5 m探测范围相同,即为10 μm。而在abbe误差方面,依据实际测量得到的数据,可以将其评价为53.6 μm。

4 结 论

针对海洋科学和工程领域中对水下高精度测距的需求,本文提出了由双飞秒光梳和双干涉光路组成的水下高精度测距方法,并搭建了一个由双光梳光源、双干涉光路、信号处理器组成的飞秒双光梳水下测距装置,实现了测距过程中水折射率的实时修正,有效抑制了水体折射率测量误差。基于FPGA SoC平台,设计了水下双光梳测距算法,并利用软硬件协同的方式完成了功能分配与算法实现。最终完成了5 m和30 m两个探测距离尺度下的测距实验,并对水下飞秒光梳测距结构和算法进行了测试和评价。结果表明:在水槽实验环境下,水下测距实验在5 m范围内的测量误差优于±90 μm;在水池实验环境中,水下测距实验在30 m范围内测量误差优于±150 μm。与传统的水下激光测距技术相比,无论是测距精度还是探测范围,水下飞秒双光梳测距技术均具备出色的应用潜力和测距水平。本文的水下实验主要围绕单点探测展开,实现了基于水群折射率修正的高精度水下飞秒光梳测距结构与算法。在此基础上,配合相应的激光扫描装置,可以将飞秒光梳的应用场景延伸至水下成像领域,实现水下目标三维信息的探测与跟踪,这将是未来水下探测技术研发的重点问题。

猜你喜欢
飞秒测距条纹
全飞秒与半飞秒的区别
类星体的精准测距
谁是穷横条纹衣服的人
基于飞秒激光的固体危化品切割机床设计与开发
溴丙烯在800nm和400nm飞秒激光强场下的解离电离
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
浅谈超声波测距
飞秒激光制瓣LASIK术后泪膜的变化与年龄相关性分析
基于PSOC超声测距系统设计