4. USBL系统组成与信号流程
USBL(超短基线)定位系统的核心思想,是用一个尺寸远小于作用距离的换能器阵列,通过测量声信号到达各阵元的相位差来反推目标的方位角,再结合斜距与深度信息解算出目标的三维坐标。要真正理解USBL为什么能定位、误差从哪里来,必须把它的硬件组成和信号流程拆开看:信号从发射到解算出方位,中间经过了哪些环节,每个环节对最终精度贡献了什么、又引入了什么约束。
一、硬件组成:阵列、收发单元与处理单元
一套典型的USBL系统由三大部分构成。第一部分是换能器阵列,通常安装在船底或水下平台的底部,由一个发射换能器和多个接收阵元组成。接收阵元常见布局是三元正交阵(两个阵元沿X轴、一个沿Y轴,或反之)或四元阵,阵元间距称为基线长度,一般在几厘米到几十厘米量级——这正是“超短基线”名称的由来。基线越短,同样相位差对应的角度越大,测角灵敏度越高,但相位模糊也越容易发生,这是USBL设计中的一对基本矛盾。
第二部分是收发单元,负责发射功率放大、接收前置放大与阻抗匹配。发射时它把电信号放大后驱动发射换能器产生声脉冲;接收时它把阵元输出的微弱电信号放大到可采集的电平。第三部分是信号处理与解算单元,完成滤波、正交解调、相位差提取、方位解算,并与外部姿态传感器(罗经、姿态仪)和声速剖面数据融合,输出目标的大地坐标。
二、信号流程:从声脉冲到方位角
以应答器定位为例,完整流程如下:船载USBL先发射一个询问脉冲,目标应答器收到后延迟一个固定转发时间再回复应答脉冲;阵列各阵元同时接收该回复信号。由于声波到达不同阵元存在微小的时间差,各阵元输出的是同一波形但带有不同相位的信号。信号处理链首先对每路信号做带通滤波抑制噪声,然后进行正交解调,把实信号分解为同相分量I和正交分量Q,得到复基带信号,其相位即为该阵元接收信号的相位。
接下来是相位差测量。对任意两个阵元i、j,其相位差 Δφij = φi − φj,与声波入射方向的关系为 Δφij = 2π·dij·sinθ / λ,其中dij为阵元间距,λ为声波波长,θ为入射方向与阵列法线的夹角。实际系统中相位差通过复基带信号的共轭相乘再取幅角得到,即 Δφ = arg(si·sj*),这样可对多个脉冲做相干平均,提高低信噪比下的相位估计精度。
得到相位差后进入方位解算。以三元阵为例,设两个正交方向的相位差分别为Δφx、Δφy,则方位角 α = arctan(Δφy/Δφx)(需按象限修正),俯仰角由 sinθ = λ·Δφ/(2π·d) 求得。再结合应答器往返时间换算的斜距R,即可得到目标在阵列坐标系下的坐标 x = R·sinθ·cosα、y = R·sinθ·sinα、z = R·cosθ。最后经姿态旋转矩阵把阵列坐标系转换到船体坐标系、再转换到大地坐标系,完成一次定位。
三、相位差测量中的关键工程问题
相位差测量看似只是一个取幅角的运算,实际工程中有三个必须处理的问题。第一是相位模糊:当阵元间距d大于半波长λ/2时,真实相位差可能超过±π,取幅角后会发生2π折叠,导致解算出的角度出现多值。工程上通常把基线设计在λ/2以内,或采用长短基线组合——短基线保证无模糊、长基线保证精度,用短基线的粗解去引导长基线的精解。第二是信噪比与相位估计方差:相位估计的均方根误差近似与1/√SNR成正比,因此低信噪比下必须依靠多脉冲相干平均,把N个脉冲的复信号累加后再取相位,等效信噪比提升约10logN dB。第三是阵元通道一致性:各阵元的放大器增益、滤波器相位响应若不一致,会直接叠加为相位偏差,因此出厂前需做通道校准,把各通道的幅相误差存入补偿表。
四、一个可复现的解算示例
假设某USBL系统工作频率为30 kHz,声速取1500 m/s,则波长λ = 0.05 m。阵元间距d = 0.02 m(小于λ/2 = 0.025 m,无模糊)。某次测量中,X方向两阵元相位差Δφx = 0.62 rad,Y方向相位差Δφy = 0.31 rad,往返时间t = 0.4 s。则斜距R = 1500×0.4/2 = 300 m。由 sinθx = λΔφx/(2πd) = 0.05×0.62/(2π×0.02) ≈ 0.247,得θx ≈ 14.3°;同理θy ≈ 7.1°。方位角α = arctan(0.31/0.62) ≈ 26.6°。阵列坐标下 x ≈ 300×sin(14.3°) ≈ 74.1 m,y ≈ 300×sin(7.1°) ≈ 37.1 m,z ≈ 300×cos(15.9°) ≈ 288.5 m(此处俯仰角取合成角)。这组数据仅用于演示计算路径,实际系统还需代入姿态矩阵与声速剖面修正。
把上述环节串起来看,USBL的精度不是由某一个模块单独决定的,而是阵列几何、相位测量质量、姿态与声速修正共同作用的结果。理解这条信号链上每一环的输入输出与误差传递关系,才能在实测数据出现跳变或系统性偏差时,快速定位问题出在阵列、处理链还是外部传感器。