【定位方法】到达时间(TOA)用于三边定位,建模、解算步骤、公式推导

TOA(到达时间)定位的核心是通过测量信号从目标到多个基站的传播时间,将其转换为距离信息,并利用几何关系解算目标位置。

本文给出具体的定位模型建模、位置解算(多种方法)、CRLB计算步骤及公式推导

文章目录

通用模型建立

假设条件

  • 已知 N N N个基站坐标 ( x i , y i ) (x_i, y_i) (xi,yi)( i = 1 , 2 , . . . , N i=1,2,...,N i=1,2,...,N)。
  • 目标位置为未知参数 ( x , y ) (x, y) (x,y)。
  • 信号传播速度为光速 c c c(空中场景通常取 c = 3 × 10 8   m/s c=3 \times 10^8 \, \text{m/s} c=3×108m/s)。

距离模型

信号到达时间 t i t_i ti对应的距离为:
r i = c ⋅ t i = ( x − x i ) 2 + ( y − y i ) 2 + n i r_i = c \cdot t_i = \sqrt{(x - x_i)^2 + (y - y_i)^2} + n_i ri=c⋅ti=(x−xi)2+(y−yi)2 +ni

其中 n i n_i ni为测量噪声(通常假设为高斯白噪声),实际距离为 d i = ( x − x i ) 2 + ( y − y i ) 2 d_i = \sqrt{(x - x_i)^2 + (y - y_i)^2} di=(x−xi)2+(y−yi)2 。

非线性方程组构建

每个基站对应一个圆方程:
( x − x i ) 2 + ( y − y i ) 2 = r i 2 ( i = 1 , 2 , . . . , N ) (x - x_i)^2 + (y - y_i)^2 = r_i^2 \quad (i=1,2,...,N) (x−xi)2+(y−yi)2=ri2(i=1,2,...,N)

由于噪声存在,方程需通过优化方法求解目标位置 ( x , y ) (x, y) (x,y)。

线性化处理(最小二乘法)

将非线性方程转化为线性方程组以减少计算复杂度:

  1. 展开方程

    对第 i i i个基站:
    x 2 − 2 x i x + x i 2 + y 2 − 2 y i y + y i 2 = r i 2 x^2 - 2x_i x + x_i^2 + y^2 - 2y_i y + y_i^2 = r_i^2 x2−2xix+xi2+y2−2yiy+yi2=ri2

  2. 消去二次项

    选取第1个基站为参考,其余方程减去参考方程:
    − 2 ( x i − x 1 ) x − 2 ( y i − y 1 ) y = r i 2 − r 1 2 − ( x i 2 + y i 2 − x 1 2 − y 1 2 ) -2(x_i - x_1)x - 2(y_i - y_1)y = r_i^2 - r_1^2 - (x_i^2 + y_i^2 - x_1^2 - y_1^2) −2(xi−x1)x−2(yi−y1)y=ri2−r12−(xi2+yi2−x12−y12)

    令 K i = x i 2 + y i 2 K_i = x_i^2 + y_i^2 Ki=xi2+yi2,则方程简化为:
    − 2 ( x i − x 1 ) x − 2 ( y i − y 1 ) y = r i 2 − r 1 2 − ( K i − K 1 ) -2(x_i - x_1)x - 2(y_i - y_1)y = r_i^2 - r_1^2 - (K_i - K_1) −2(xi−x1)x−2(yi−y1)y=ri2−r12−(Ki−K1)

  3. 矩阵形式

    对(N-1)个方程,构造线性方程组:
    A X = b \mathbf{A} \mathbf{X} = \mathbf{b} AX=b

    其中:
    A = [ − 2 ( x 2 − x 1 ) − 2 ( y 2 − y 1 ) ⋮ ⋮ − 2 ( x N − x 1 ) − 2 ( y N − y 1 ) ] , X = [ x y ] , b = [ r 2 2 − r 1 2 − ( K 2 − K 1 ) ⋮ r N 2 − r 1 2 − ( K N − K 1 ) ] \mathbf{A} = \begin{bmatrix} -2(x_2 - x_1) & -2(y_2 - y_1) \\ \vdots & \vdots \\ -2(x_N - x_1) & -2(y_N - y_1) \end{bmatrix}, \quad \mathbf{X} = \begin{bmatrix} x \\ y \end{bmatrix}, \quad \mathbf{b} = \begin{bmatrix} r_2^2 - r_1^2 - (K_2 - K_1) \\ \vdots \\ r_N^2 - r_1^2 - (K_N - K_1) \end{bmatrix} A= −2(x2−x1)⋮−2(xN−x1)−2(y2−y1)⋮−2(yN−y1) ,X=[xy],b= r22−r12−(K2−K1)⋮rN2−r12−(KN−K1)

  4. 最小二乘解
    X ^ = ( A T A ) − 1 A T b \mathbf{\hat{X}} = (\mathbf{A}^T \mathbf{A})^{-1} \mathbf{A}^T \mathbf{b} X^=(ATA)−1ATb

最大似然估计(ML)

假设噪声 n i n_i ni服从均值为0、方差为 σ i 2 \sigma_i^2 σi2的高斯分布,构建似然函数:
P ( r ∣ x ) = ∏ i = 1 N 1 2 π σ i e − ( r i − d i ) 2 2 σ i 2 P(\mathbf{r} | \mathbf{x}) = \prod_{i=1}^N \frac{1}{\sqrt{2\pi}\sigma_i} e^{-\frac{(r_i - d_i)^2}{2\sigma_i^2}} P(r∣x)=i=1∏N2π σi1e−2σi2(ri−di)2

取对数似然函数并忽略常数项:
L ( x ) = − ∑ i = 1 N ( r i − d i ) 2 2 σ i 2 L(\mathbf{x}) = -\sum_{i=1}^N \frac{(r_i - d_i)^2}{2\sigma_i^2} L(x)=−i=1∑N2σi2(ri−di)2

优化目标为最小化残差平方和:
x ^ = arg ⁡ min ⁡ x ∑ i = 1 N ( r i − d i ) 2 σ i 2 \hat{\mathbf{x}} = \arg \min_{\mathbf{x}} \sum_{i=1}^N \frac{(r_i - d_i)^2}{\sigma_i^2} x^=argxmini=1∑Nσi2(ri−di)2

高斯-牛顿迭代法

当测量噪声较大时,需通过迭代优化求解非线性最小二乘问题:

  1. 初始化 :假设初始估计值为 x ( 0 ) = [ x 0 , y 0 ] T \mathbf{x}^{(0)} = [x_0, y_0]^T x(0)=[x0,y0]T。
  2. 雅可比矩阵 :定义误差函数 f i ( x ) = r i − ( x − x i ) 2 + ( y − y i ) 2 f_i(\mathbf{x}) = r_i - \sqrt{(x - x_i)^2 + (y - y_i)^2} fi(x)=ri−(x−xi)2+(y−yi)2 ,雅可比矩阵为:
    J = [ ∂ f 1 ∂ x ∂ f 1 ∂ y ⋮ ⋮ ∂ f N ∂ x ∂ f N ∂ y ] , ∂ f i ∂ x = x − x i d i , ∂ f i ∂ y = y − y i d i \mathbf{J} = \begin{bmatrix} \frac{\partial f_1}{\partial x} & \frac{\partial f_1}{\partial y} \\ \vdots & \vdots \\ \frac{\partial f_N}{\partial x} & \frac{\partial f_N}{\partial y} \end{bmatrix}, \quad \frac{\partial f_i}{\partial x} = \frac{x - x_i}{d_i}, \quad \frac{\partial f_i}{\partial y} = \frac{y - y_i}{d_i} J= ∂x∂f1⋮∂x∂fN∂y∂f1⋮∂y∂fN ,∂x∂fi=dix−xi,∂y∂fi=diy−yi
  3. 迭代更新
    x ( k + 1 ) = x ( k ) − ( J T W J ) − 1 J T W f ( x ( k ) ) \mathbf{x}^{(k+1)} = \mathbf{x}^{(k)} - (\mathbf{J}^T \mathbf{W} \mathbf{J})^{-1} \mathbf{J}^T \mathbf{W} \mathbf{f}(\mathbf{x}^{(k)}) x(k+1)=x(k)−(JTWJ)−1JTWf(x(k))
    其中 W \mathbf{W} W为权重矩阵(通常取噪声方差的倒数)。

误差分析(克拉美罗界,CRLB)

定位误差的理论下限可通过Fisher信息矩阵(FIM)计算:
F I M = ∑ i = 1 N 1 σ i 2 [ ( x − x i ) 2 d i 2 ( x − x i ) ( y − y i ) d i 2 ( x − x i ) ( y − y i ) d i 2 ( y − y i ) 2 d i 2 ] \mathbf{FIM} = \sum_{i=1}^N \frac{1}{\sigma_i^2} \begin{bmatrix} \frac{(x - x_i)^2}{d_i^2} & \frac{(x - x_i)(y - y_i)}{d_i^2} \\ \frac{(x - x_i)(y - y_i)}{d_i^2} & \frac{(y - y_i)^2}{d_i^2} \end{bmatrix} FIM=i=1∑Nσi21 di2(x−xi)2di2(x−xi)(y−yi)di2(x−xi)(y−yi)di2(y−yi)2

CRLB为:
Var ( x ^ ) ≥ [ F I M − 1 ] 11 , Var ( y ^ ) ≥ [ F I M − 1 ] 22 \text{Var}(\hat{x}) \geq [\mathbf{FIM}^{-1}]{11}, \quad \text{Var}(\hat{y}) \geq [\mathbf{FIM}^{-1}]{22} Var(x^)≥[FIM−1]11,Var(y^)≥[FIM−1]22

关键公式总结

  1. 距离模型 : r i = ( x − x i ) 2 + ( y − y i ) 2 + n i r_i = \sqrt{(x - x_i)^2 + (y - y_i)^2} + n_i ri=(x−xi)2+(y−yi)2 +ni 。
  2. 最小二乘解 : X ^ = ( A T A ) − 1 A T b \mathbf{\hat{X}} = (\mathbf{A}^T \mathbf{A})^{-1} \mathbf{A}^T \mathbf{b} X^=(ATA)−1ATb 。
  3. 高斯-牛顿迭代:通过雅可比矩阵更新估计值。
  4. CRLB:定位误差的理论下限推导。

应用扩展

如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者

相关推荐
撩妹小狗7 天前
科赫雪花--Python--数学原理--turtle绘图
python·线性代数·几何学
张3蜂7 天前
线性代数与AI的关系
人工智能·线性代数
AI科技星7 天前
物理世界的几何建构:论统一场论的本体论革命与概念生成
人工智能·opencv·线性代数·算法·矩阵
super_lzb7 天前
【线性代数】矩阵第一讲:矩阵与矩阵的运算
线性代数·矩阵·考研数学·矩阵的计算
newbiai7 天前
TikTok矩阵账号引流怎么解决效率低成本高?
python·线性代数·矩阵
逆境不可逃7 天前
【从零入门23种设计模式08】结构型之组合模式(含电商业务场景)
线性代数·算法·设计模式·职场和发展·矩阵·组合模式
有为少年8 天前
Monarch矩阵:从设计直觉到数学推导与实际应用
人工智能·深度学习·学习·线性代数·机器学习·计算机视觉·矩阵
壹通GEO9 天前
AI-GEO内容矩阵:打造永不枯竭的流量池
人工智能·线性代数·矩阵
逆境不可逃10 天前
LeetCode 热题 100 之 73.矩阵置零(含图解)
线性代数·矩阵
AI科技星11 天前
时空的几何本源与物理现象的建构:论统一场论的宇宙二元论与观察者中心范式
人工智能·线性代数·算法·矩阵·数据挖掘