TDOA-GDOP计算

背景

TDOA定位是一种利用时间差进行定位的方法。通过测量信号到达监测站的时间,可以确定信号源的距离。利用信号源到各个监测站的距离(以监测站为中心,距离为半径作圆),就能确定信号的位置。

一个目标点:E(x,y,z)E(x,y,z)E(x,y,z)

四个测向站:S0(x0,y0,z0),S1(x1,y1,z1),S2(x2,y2,z2),S3(x3,y3,z3),S_0(x_0,y_0,z_0),S_1(x_1,y_1,z_1),S_2(x_2,y_2,z_2),S_3(x_3,y_3,z_3),S0(x0,y0,z0),S1(x1,y1,z1),S2(x2,y2,z2),S3(x3,y3,z3),

(设定S0S_0S0站点为主站)

基本参数计算

各测向站与目标点的距离:
ri=(x−xi)2+(y−yi)2+(z−zi)2i=0,1,2,3 r_i=\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2} \quad \quad i=0,1,2,3 ri=(xxi)2+(yyi)2+(zzi)2 i=0,1,2,3
各测向站与主站的距离:
△ri=ri−r0=c∗△tii=1,2,3 \triangle r_i=r_i-r_0=c*\triangle t_i \quad \quad i =1,2,3 ri=rir0=ctii=1,2,3
(△ti\triangle t_iti表示在接收信号过程中第iii个测向站与主站的接收的时间差,ccc为光速)

误差分析

假设目标定位误差为:(dx,dy,dz)(dx,dy,dz)(dx,dy,dz)

各站点的测量误差为:(dxi,dyi,dzi)i=0,1,2,3(dx_i,dy_i,dz_i) \quad i=0,1,2,3(dxi,dyi,dzi)i=0,1,2,3

(上述各分量之间不相关)

根据误差传递原理:△ri=ri−r0i=1,2,3\triangle r_i=r_i-r_0\quad i=1,2,3ri=rir0i=1,2,3

等式两边同时微分:
d△ri=(Fix−F0x)dx+(Fiy−F0y)dy+(Fiz−F0z)dz+(k0−ki)i=1,2,3 d\triangle r_i=(F_{ix}-F_{0x})dx+(F_{iy}-F_{0y})dy+(F_{iz}-F_{0z})dz+(k_0-k_i) \quad i=1,2,3 dri=(FixF0x)dx+(FiyF0y)dy+(FizF0z)dz+(k0ki)i=1,2,3

{Fix=∂ri∂x=−∂ri∂xi=x−xiriFiy=∂ri∂y=−∂ri∂yi=y−yiriFiz=∂ri∂z=−∂ri∂zi=z−ziriki=Fixdxi+Fiydyi+Fizdzii=1,2,3 \begin{cases} F_{ix}=\frac{\partial r_i}{\partial x}=-\frac{\partial r_i}{\partial x_i}=\frac{x-x_i}{r_i} \\ F_{iy}=\frac{\partial r_i}{\partial y}=-\frac{\partial r_i}{\partial y_i}=\frac{y-y_i}{r_i} \\ F_{iz}=\frac{\partial r_i}{\partial z}=-\frac{\partial r_i}{\partial z_i}=\frac{z-z_i}{r_i} \\ k_i=F_{ix}dx_i + F_{iy}dy_i + F_{iz}dz_i \end{cases} \quad \quad \quad i = 1,2,3 Fix=xri=xiri=rixxiFiy=yri=yiri=riyyiFiz=zri=ziri=rizziki=Fixdxi+Fiydyi+Fizdzii=1,2,3

F\boldsymbol{F}F矩阵如下:
F=[x−x1r1−x−x0r0y−y1r1−y−y0r0z−z1r1−z−z0r0x−x2r2−x−x0r0y−y2r2−y−y0r0z−z2r2−z−z0r0x−x3r3−x−x0r0y−y3r3−y−y0r0z−z3r3−z−z0r0] \boldsymbol{F} = \begin{bmatrix} \frac{x-x_1}{r_1}-\frac{x-x_0}{r_0} & \frac{y-y_1}{r_1}-\frac{y-y_0}{r_0} &\frac{z-z_1}{r_1}-\frac{z-z_0}{r_0}\\ \frac{x-x_2}{r_2}-\frac{x-x_0}{r_0} & \frac{y-y_2}{r_2}-\frac{y-y_0}{r_0} &\frac{z-z_2}{r_2}-\frac{z-z_0}{r_0}\\ \frac{x-x_3}{r_3}-\frac{x-x_0}{r_0} & \frac{y-y_3}{r_3}-\frac{y-y_0}{r_0} &\frac{z-z_3}{r_3}-\frac{z-z_0}{r_0}\\ \end{bmatrix} F= r1xx1r0xx0r2xx2r0xx0r3xx3r0xx0r1yy1r0yy0r2yy2r0yy0r3yy3r0yy0r1zz1r0zz0r2zz2r0zz0r3zz3r0zz0
将同时微分的结果表示为矩阵形式:
d△r=F⋅dr+dS \boldsymbol{d\triangle r}= \boldsymbol{F}·\boldsymbol{dr}+\boldsymbol{dS} dr=Fdr+dS
d△r\boldsymbol{d\triangle r}dr表示TDOA估计引入的误差,同时联立(2)式:
d△r=[d△r1d△r2d△r3]=[c∗d(t1−t0)c∗d(t2−t0)c∗d(t3−t0)] \boldsymbol{d\triangle r}= \begin{bmatrix} d \triangle r_1 \\ d \triangle r_2 \\ d \triangle r_3 \\ \end{bmatrix} = \begin{bmatrix} c*d(t_1-t_0) \\ c*d(t_2-t_0) \\ c*d(t_3-t_0) \\ \end{bmatrix} dr= dr1dr2dr3 = cd(t1t0)cd(t2t0)cd(t3t0)
dr\boldsymbol{dr}dr表示待求目标点的定位误差:
dr=[dxdydz] \boldsymbol{dr}= \begin{bmatrix} d x \\ d y \\ d z \\ \end{bmatrix} dr= dxdydz
dS=[k0−k1k0−k2k0−k3] \boldsymbol{dS}= \begin{bmatrix} k_0-k_1 \\ k_0-k_2 \\ k_0-k_3 \\ \end{bmatrix} dS= k0k1k0k2k0k3

进一步求解

求解目标:目标点定位误差dr\boldsymbol{dr}dr

利用伪逆法:
dr=(FFT)−1FT(d△r−dS) \boldsymbol{dr} = (\boldsymbol{F}\boldsymbol{F}^T)^{-1}\boldsymbol{F}^T(\boldsymbol{d\triangle r}-\boldsymbol{dS}) dr=(FFT)1FT(drdS)
​ 由此可知,目标辐射源的定位误差与站址布局方式、接收站站址误差以及时差估计误差有关。由TDOA的公式可知:各TDOA估计都和主站相关,也就是说TDOA估计中含有相同的误差信息,因此可得出结论:测量误差在△ri\triangle r _iri处的值是彼此相关的。现假设修正后的测量误差为零均值,且站址误差为恒定值,而其各误差矢量之间以及矢量各元素之间均不相关。在该情况下,定位误差的协方差矩阵可写成如下形式:
Pdr=E[dr⋅drT] \boldsymbol{P_{dr}} = E[\boldsymbol{dr}·{\boldsymbol{dr}}^T] Pdr=E[drdrT]
C=(FFT)−1FT=(cij)3∗3\boldsymbol{C} = (\boldsymbol{F}\boldsymbol{F}^T)^{-1}\boldsymbol{F}^T=(c_{ij})_{3*3}C=(FFT)1FT=(cij)33,因此公式可化为:
Pdr=E[dr⋅drT]=C{E[d△r⋅d△rT]+E[dS⋅dST]}CT \boldsymbol{P_{dr}} = E[\boldsymbol{dr}·{\boldsymbol{dr}}^T] = \boldsymbol{C}\{ E[\boldsymbol{d\triangle r} · \boldsymbol{{d\triangle r}}^T]+E[\boldsymbol{dS}·{\boldsymbol{dS}}^T]\}\boldsymbol{C}^T Pdr=E[drdrT]=C{E[drdrT]+E[dSdST]}CT
其中:
E[d△r⋅d△rT]=[σ△r12η12σ△r1△r2η13σ△r1△r3η12σ△r1△r2σ△r22η23σ△r2△r3η13σ△r1△r3η23σ△r2△r3σ△r32] E[\boldsymbol{d\triangle r} · \boldsymbol{{d\triangle r}}^T]=\begin{bmatrix} {\sigma^2_{\triangle r_1}} & \eta_{12} \sigma_{\triangle r_1 \triangle r_2} & \eta_{13} \sigma_{\triangle r_1 \triangle r_3} \\ \eta_{12} \sigma_{\triangle r_1 \triangle r_2} &{\sigma^2_{\triangle r_2}} & \eta_{23} \sigma_{\triangle r_2 \triangle r_3} \\ \eta_{13} \sigma_{\triangle r_1 \triangle r_3} & \eta_{23} \sigma_{\triangle r_2 \triangle r_3}&{\sigma^2_{\triangle r_3}} \\ \end{bmatrix} E[drdrT]= σr12η12σr1r2η13σr1r3η12σr1r2σr22η23σr2r3η13σr1r3η23σr2r3σr32
本质上而言,σ△ri\sigma_{\triangle r_i}σri是测量误差△ri\triangle r_iri的标准差,参考(2)实质上就是对时间测量的误差,即:
E[d△r⋅d△rT]=c2∗[σ△t12η12σ△t1△t2η13σ△t1△t3η12σ△t1△t2σ△t22η23σ△t2△t3η13σ△t1△t3η23σ△t2△t3σ△t32] E[\boldsymbol{d\triangle r} · \boldsymbol{{d\triangle r}}^T]=c^2*\begin{bmatrix} {\sigma^2_{\triangle t_1}} & \eta_{12} \sigma_{\triangle t_1 \triangle t_2} & \eta_{13} \sigma_{\triangle t_1 \triangle t_3} \\ \eta_{12} \sigma_{\triangle t_1 \triangle t_2} &{\sigma^2_{\triangle t_2}} & \eta_{23} \sigma_{\triangle t_2 \triangle t_3} \\ \eta_{13} \sigma_{\triangle t_1 \triangle t_3} & \eta_{23} \sigma_{\triangle t_2 \triangle t_3}&{\sigma^2_{\triangle t_3}} \\ \end{bmatrix} E[drdrT]=c2 σt12η12σt1t2η13σt1t3η12σt1t2σt22η23σt2t3η13σt1t3η23σt2t3σt32

令:
E[dS⋅dST]=[k0−k1k0−k2k0−k3]∗[k0−k1k0−k2k0−k3] E[\boldsymbol{dS}·{\boldsymbol{dS}}^T]=\begin{bmatrix} k_0-k_1 \\ k_0-k_2 \\ k_0-k_3 \\ \end{bmatrix}* \begin{bmatrix} k_0-k_1 \quad k_0-k_2 \quad k_0-k_3 \end{bmatrix} E[dSdST]= k0k1k0k2k0k3 [k0k1k0k2k0k3]

对上述公式(13)-(15)的部分变量进行注解:

σ△ri\sigma_{\triangle r_i}σri:是测量误差△ri\triangle r_iri的标准差

ηij\eta_{ij}ηij:是△ri\triangle r_iri△rj\triangle r_jrj的相关系数(或者描述△ti\triangle t_iti△tj\triangle t_jtj),计算公式如下:
ηij=cov(△ri,△rj)σ△ri⋅σ△rj=cov(△ti,△tj)σ△ti⋅σ△tj \eta_{ij} = \frac{cov(\triangle r_i,\triangle r_j)}{\sigma_{\triangle r_i}·\sigma_{\triangle r_j}}= \frac{cov(\triangle t_i,\triangle t_j)}{\sigma_{\triangle t_i}·\sigma_{\triangle t_j}} ηij=σriσrjcov(ri,rj)=σtiσtjcov(ti,tj)

得出答案(各个站各个分量标准差是一致的情况)

假设各测向站在各个分量上的标准差大小一样,故设:
σxi2=σyi2=σzi2=σs2i=0,1,2,3 \sigma^2_{x_i} = \sigma^2_{y_i} = \sigma^2_{z_i} = \sigma^2_{s} \quad \quad i=0,1,2,3 σxi2=σyi2=σzi2=σs2i=0,1,2,3
同时由于之前的推导,可以得知:
Fix2+Fiy2+Fiz2=1i=0,1,2,3 F_{ix}^2 + F_{iy}^2 + F_{iz}^2=1 \quad \quad i=0,1,2,3 Fix2+Fiy2+Fiz2=1i=0,1,2,3

即:
E[dS⋅dST]=[2σs2σs2σs2σs22σs2σs2σs2σs22σs2] E[\boldsymbol{dS}·{\boldsymbol{dS}}^T]=\begin{bmatrix} 2\sigma^2_s & \sigma^2_s & \sigma^2_s\\ \sigma^2_s & 2\sigma^2_s & \sigma^2_s\\ \sigma^2_s & \sigma^2_s & 2\sigma^2_s\\ \end{bmatrix} E[dSdST]= 2σs2σs2σs2σs22σs2σs2σs2σs22σs2

E[d△r⋅d△rT]+E[dS⋅dST]=(αij)3∗3 E[\boldsymbol{d\triangle r} · \boldsymbol{{d\triangle r}}^T]+E[\boldsymbol{dS}·{\boldsymbol{dS}}^T] = (\alpha_{ij})_{3*3} E[drdrT]+E[dSdST]=(αij)33
即:
αij={c2∗σ△ti2+2∗σs2i=jc2∗ηijσ△ri△rj+σs2i≠j \alpha_{ij}= \begin{equation} \left\{ \begin{array}{lr} c^2*\sigma^2_{\triangle t_i}+2*\sigma^2_s \quad i=j \\ c^2*\eta_{ij} \sigma_{\triangle r_i \triangle r_j}+\sigma^2_s \quad i \neq j \end{array} \right. \end{equation} αij={c2σti2+2σs2i=jc2ηijσrirj+σs2i=j
联立上述式子:
Pdr=C{E[d△r⋅d△rT]+E[dS⋅dST]}CT=C[σ△r12+2σs2η12σ△r1△r2+σs2η13σ△r1△r3+σs2η12σ△r1△r2+σs2σ△r22+2σs2η23σ△r2△r3+σs2η13σ△r1△r3+σs2η23σ△r2△r3+σs2σ△r32+2σs2]CT \boldsymbol{P_{dr}} = \boldsymbol{C}\{ E[\boldsymbol{d\triangle r} · \boldsymbol{{d\triangle r}}^T]+E[\boldsymbol{dS}·{\boldsymbol{dS}}^T]\}\boldsymbol{C}^T\\ =\boldsymbol{C} \begin{bmatrix} {\sigma^2_{\triangle r_1}}+2\sigma^2_s & \eta_{12} \sigma_{\triangle r_1 \triangle r_2}+\sigma^2_s & \eta_{13} \sigma_{\triangle r_1 \triangle r_3}+\sigma^2_s \\ \eta_{12} \sigma_{\triangle r_1 \triangle r_2}+\sigma^2_s &{\sigma^2_{\triangle r_2}}+2\sigma^2_s & \eta_{23} \sigma_{\triangle r_2 \triangle r_3}+\sigma^2_s \\ \eta_{13} \sigma_{\triangle r_1 \triangle r_3}+\sigma^2_s & \eta_{23} \sigma_{\triangle r_2 \triangle r_3}+\sigma^2_s&{\sigma^2_{\triangle r_3}}+2\sigma^2_s \\ \end{bmatrix}\boldsymbol{C}^T Pdr=C{E[drdrT]+E[dSdST]}CT=C σr12+2σs2η12σr1r2+σs2η13σr1r3+σs2η12σr1r2+σs2σr22+2σs2η23σr2r3+σs2η13σr1r3+σs2η23σr2r3+σs2σr32+2σs2 CT
=C[c2∗σ△t12+2σs2c2∗η12σ△t1△t2+σs2c2∗η13σ△t1△t3+σs2c2∗η12σ△t1△t2+σs2c2∗σ△t22+2σs2c2∗η23σ△t2△t3+σs2c2∗η13σ△t1△t3+σs2c2∗η23σ△t2△t3+σs2c2∗σ△t32+2σs2]CT= \boldsymbol{C} \begin{bmatrix} {c^2*\sigma^2_{\triangle t_1}}+2\sigma^2_s & c^2*\eta_{12} \sigma_{\triangle t_1 \triangle t_2}+\sigma^2_s & c^2*\eta_{13} \sigma_{\triangle t_1 \triangle t_3}+\sigma^2_s \\ c^2*\eta_{12} \sigma_{\triangle t_1 \triangle t_2}+\sigma^2_s &c^2*{\sigma^2_{\triangle t_2}}+2\sigma^2_s & c^2*\eta_{23} \sigma_{\triangle t_2 \triangle t_3}+\sigma^2_s \\ c^2*\eta_{13} \sigma_{\triangle t_1 \triangle t_3}+\sigma^2_s & c^2*\eta_{23} \sigma_{\triangle t_2 \triangle t_3}+\sigma^2_s&c^2*{\sigma^2_{\triangle t_3}}+2\sigma^2_s \\ \end{bmatrix} \boldsymbol{C}^T =C c2σt12+2σs2c2η12σt1t2+σs2c2η13σt1t3+σs2c2η12σt1t2+σs2c2σt22+2σs2c2η23σt2t3+σs2c2η13σt1t3+σs2c2η23σt2t3+σs2c2σt32+2σs2 CT
最终的求解结果:
GDOP=trace(Pdr) \boldsymbol{GDOP} = \sqrt{trace(\boldsymbol{P_{dr}})} GDOP=trace(Pdr)

得出答案(各个站各个分量标准差不一致的情况)

E[dS⋅dST]=[k0−k1k0−k2k0−k3]∗[k0−k1k0−k2k0−k3] E[\boldsymbol{dS}·{\boldsymbol{dS}}^T]=\begin{bmatrix} k_0-k_1 \\ k_0-k_2 \\ k_0-k_3 \\ \end{bmatrix}* \begin{bmatrix} k_0-k_1 \quad k_0-k_2 \quad k_0-k_3 \end{bmatrix} \\ E[dSdST]= k0k1k0k2k0k3 [k0k1k0k2k0k3]
=[(k0−k1)2(k0−k1)(k0−k2)(k0−k1)(k0−k3)(k0−k1)(k0−k2)(k0−k2)2(k0−k2)(k0−k3)(k0−k1)(k0−k3)(k0−k2)(k0−k3)(k0−k3)2]= \begin{bmatrix} (k_0-k_1)^2 & (k_0-k_1)(k_0-k_2) & (k_0-k_1)(k_0-k_3)\\ (k_0-k_1)(k_0-k_2) & (k_0-k_2)^2 & (k_0-k_2)(k_0-k_3)\\ (k_0-k_1)(k_0-k_3) & (k_0-k_2)(k_0-k_3) & (k_0-k_3)^2\\ \end{bmatrix} = (k0k1)2(k0k1)(k0k2)(k0k1)(k0k3)(k0k1)(k0k2)(k0k2)2(k0k2)(k0k3)(k0k1)(k0k3)(k0k2)(k0k3)(k0k3)2

但是那个情况是各站点本身的位置的误差,一般不进行讨论。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐