1. 单应答器距离观测方程建立与线性化

单应答器斜距观测方程

在SBL(短基线)系统中,船底换能器阵列中的某个换能器 i 向海底单个应答器发射询问脉冲,应答器接收后回传应答信号。换能器测得双程传播时间 t,结合声速 c 得到斜距观测值:

ρi = c · t / 2

设换能器 i 在船体坐标系(或当地水平坐标系)下的已知坐标为 Pi = (xi, yi, zi),应答器待求坐标为 X = (x, y, z),则斜距观测方程为:

ρi = √[(x − xi)² + (y − yi)² + (z − zi)²] + εi

其中 εi 为观测噪声。该方程关于 X 是非线性的(含平方根),无法直接用于最小二乘,需要先线性化。

在概略坐标处的线性化推导

设应答器概略坐标为 X0 = (x0, y0, z0),改正数向量 δX = (δx, δy, δz),即 X = X0 + δX。将观测方程在 X0 处作一阶泰勒展开:

ρi ≈ ρi(X0) + (∂ρi/∂x)·δx + (∂ρi/∂y)·δy + (∂ρi/∂z)·δz

记概略斜距 ρi0 = √[(x0 − xi)² + (y0 − yi)² + (z0 − zi)²],各偏导数为:

∂ρi/∂x = (x0 − xi) / ρi0,  ∂ρi/∂y = (y0 − yi) / ρi0,  ∂ρi/∂z = (z0 − zi) / ρi0

这三个偏导数构成从应答器指向换能器 i 的单位方向余弦向量 ui。将观测方程改写为残差形式:

vi = uiT · δX − li,  其中 li = ρiobs − ρi0

这里 li 为观测斜距与概略斜距之差,即残差向量(闭合差)的元素;uiT 为线性化系数矩阵(设计矩阵)的第 i 行。

水面 / 船底换能器阵列 换能器 i (xᵢ, yᵢ, zᵢ) 已知 应答器 X = (x, y, z) 待求 X₀ 概略坐标 ρᵢ = c·t/2 ρᵢ⁰(概略斜距) uᵢ 单位方向余弦 线性化结果 设计矩阵行: Aᵢ = [Δx/ρ⁰, Δy/ρ⁰, Δz/ρ⁰] 残差元素: lᵢ = ρᵢᵒᵇˢ − ρᵢ⁰ 观测方程: vᵢ = Aᵢ·δX − lᵢ Δx = x₀ − xᵢ,Δy = y₀ − yᵢ,Δz = z₀ − zᵢ;ρ⁰ 为概略斜距,uᵢ 由应答器概略位置指向换能器 i

数值示例:系数矩阵与残差向量计算

取一组教学示例数据(单位:米)。换能器 i 坐标 Pi = (10.0, 5.0, −2.0),应答器概略坐标 X0 = (100.0, 80.0, −50.0),实测斜距 ρiobs = 121.35 m。

import numpy as np

# 已知量
Pi = np.array([10.0, 5.0, -2.0])      # 换能器 i 坐标
X0 = np.array([100.0, 80.0, -50.0])   # 应答器概略坐标
rho_obs = 121.35                       # 实测斜距 (m)

# 概略斜距
d = X0 - Pi
rho0 = np.linalg.norm(d)
print("概略斜距 rho0 =", round(rho0, 4))

# 单位方向余弦(线性化系数行)
u = d / rho0
print("方向余弦 u =", np.round(u, 6))

# 残差元素
l = rho_obs - rho0
print("残差 l =", round(l, 4))

# 单应答器设计矩阵 A (1x3) 与残差向量 L (1x1)
A = u.reshape(1, 3)
L = np.array([l])
print("A =", np.round(A, 6))
print("L =", np.round(L, 4))

按上述输入可直接推出:ρi0 = √(90² + 75² + (−48)²) = √(8100 + 5625 + 2304) = √16029 ≈ 126.606 m;方向余弦 u ≈ (0.7109, 0.5924, −0.3791);残差 l = 121.35 − 126.606 ≈ −5.256 m。设计矩阵 A = [0.7109, 0.5924, −0.3791],残差向量 L = [−5.256]。

单应答器只有 1 个观测方程,无法独立解算 3 个未知数(x, y, z)。本例的产出——系数行 Ai 与残差 li——是后续多应答器观测矩阵组装的基本单元。线性化是否有效取决于概略坐标与真值的偏差:偏差越大,一阶泰勒截断误差越显著,通常需迭代重线性化。

线性化有效性检查

一阶展开的截断误差量级约为 (‖δX‖/ρ0)² 乘以 ρ0。以上例为例,若真实位置与概略位置相差 5 m,则相对偏差约 5/126.6 ≈ 4%,二阶项贡献约 0.04² × 126.6 ≈ 0.2 m,对厘米级定位不可忽略,因此实际解算中应在每次迭代后用更新坐标重新计算 A 与 L,直至改正数收敛。判断收敛的常用条件是 ‖δX‖ 小于给定阈值(如 1 mm)。

输出项符号本例数值用途
概略斜距ρi0126.606 m计算方向余弦与残差
方向余弦行Ai[0.7109, 0.5924, −0.3791]组装设计矩阵
残差元素li−5.256 m组装残差向量
线性化方程vi = Ai·δX − li—供最小二乘使用