TDOA定位算法之两步加权最小二乘(TWLS)(完整版附代码)

TDOA定位算法之两步加权最小二乘(TWLS)(完整版附代码)

TDOA观测模型

TDOA(Time Difference Of Arrival)即目标发送信号到达各个观测站的时间差,在三维直角坐标系下,TDOA观测示意图如图1所示。
图1 TDOA观测示意图
假设第 i i i个观测站的位置向量为 s i o = [ s i , x o , s i , y o , s i , z o ] T , 1 ≤ i ≤ M \boldsymbol s^o _i =[s^o_{i,x},s^o_{i,y},s^o_{i,z}]^T,1 \leq i\leq M sio=[si,xo,si,yo,si,zo]T,1iM,则将所有观测站向量组合得到总的观测站位置向量为 s o = [ s 1 o , s 2 o , . . . , s M o ] T \boldsymbol s^o =[\boldsymbol s_1^o,\boldsymbol s_2^o,...,\boldsymbol s_M^o]^T so=[s1o,s2o,...,sMo]T。目标位置向量定义为 u o = [ u x o , u y o , u z o ] T \boldsymbol u^o =[u^o_{x},u^o_{y},u^o_{z}]^T uo=[uxo,uyo,uzo]T

为不失一般性,将第一个观测站作为参考观测站。因此,基于图1和定义的位置向量可以得到TDOA的计算方式为:
τ j 1 o = ∣ ∣ u o − s j o ∣ ∣ 2 c − ∣ ∣ u o − s 1 o ∣ ∣ 2 c , 2 ≤ j ≤ M (1) \tau_{j1}^o= \frac{||\boldsymbol{u}^o-\boldsymbol{s}_j^o||_2}{c}- \frac{||\boldsymbol{u}^o-\boldsymbol{s}_1^o||_2}{c} , 2\leq j \leq M \tag{1} τj1o=c∣∣uosjo2c∣∣uos1o2,2jM(1)
τ j 1 o \tau_{j1}^o τj1o表示目标信号到达第 j j j个观测站和参考观测站的时间差真实值。其中 c c c表示信号传播速度,通常是已知的。因此可以将TDOA转换为到达距离差(Range Difference Of Arrival,RDOA):
r j 1 o = r j o − r 1 o = ∣ ∣ u o − s j o ∣ ∣ 2 − ∣ ∣ u o − s 1 o ∣ ∣ 2 , 2 ≤ j ≤ M (2) r_{j1}^o=r_{j}^o-r_{1}^o= ||\boldsymbol{u}^o-\boldsymbol{s}_j^o||_2 -||\boldsymbol{u}^o-\boldsymbol{s}_1^o||_2 , 2\leq j \leq M \tag{2} rj1o=rjor1o=∣∣uosjo2∣∣uos1o2,2jM(2)
考虑观测噪声后得到:
r j 1 = r j 1 o + δ r j 1 (3) r_{j1}=r_{j1}^o+\delta{r_{j1}} \tag{3} rj1=rj1o+δrj1(3)
将所有观测站的观测值组合得到向量形式为:
r = r o + n r = [ r 21 o , r 31 o , . . . , r M 1 o ] T + [ δ r 21 , δ r 31 , . . . , δ r M 1 ] T (4) \boldsymbol{r}= \boldsymbol{r^o}+\boldsymbol{n}_{\boldsymbol{r}} =[r_{21}^o,r_{31}^o,...,r_{M1}^o]^T +[\delta{r_{21}},\delta{r_{31}},...,\delta{r_{M1}}]^T \tag{4} r=ro+nr=[r21o,r31o,...,rM1o]T+[δr21,δr31,...,δrM1]T(4)
其中 r o = [ r 21 o , r 31 o , . . . , r M 1 o ] T \boldsymbol{r^o} =[r_{21}^o,r_{31}^o,...,r_{M1}^o]^T ro=[r21o,r31o,...,rM1o]T表示真实值观测向量, n r = [ δ r 21 , δ r 31 , . . . , δ r M 1 ] T \boldsymbol{n}_{\boldsymbol{r}} =[\delta{r_{21}},\delta{r_{31}},...,\delta{r_{M1}}]^T nr=[δr21,δr31,...,δrM1]T表示观测噪声向量。其中 n r \boldsymbol{n}_{\boldsymbol{r}} nr的协方差矩阵记为 Q r \boldsymbol{Q}_{\boldsymbol{r}} Qr

TDOA定位CRLB

未知参数向量为 u o = [ u x o , u y o , u z o ] T \boldsymbol{u^o} =[u^o_{x},u^o_{y},u^o_{z}]^T uo=[uxo,uyo,uzo]T,测量向量为 r \boldsymbol{r} r 。因此 r \boldsymbol{r} r关于 u o = [ u x o , u y o , u z o ] T \boldsymbol{u^o} =[u^o_{x},u^o_{y},u^o_{z}]^T uo=[uxo,uyo,uzo]T的对数似然函数为:
l n ( p ( r ∣ u o ) ) = κ − ( 1 / 2 ) ( r − r o ) T Q r − 1 ( r − r o ) (5) ln(p(\boldsymbol{r}|\boldsymbol{u^o})) =\kappa -(1/2)(\boldsymbol{r}-\boldsymbol{r}^o)^T \boldsymbol{Q}_{\boldsymbol{r}}^{-1} (\boldsymbol{r}-\boldsymbol{r}^o) \tag{5} ln(p(ruo))=κ(1/2)(rro)TQr1(rro)(5)
其中 κ \kappa κ表示常数项。
则CRLB表示为:
C R L B = ( ( ∂ r o ∂ ( u o ) T ) Q r − 1 ( ∂ r o ∂ ( u o ) T ) T ) − 1 (6) \boldsymbol{CRLB}=\left( \left( \frac {\partial \boldsymbol{r}^o}{\partial (\boldsymbol{u^o})^T} \right) \boldsymbol{Q}_{\boldsymbol{r}}^{-1} \left( \frac {\partial \boldsymbol{r}^o}{\partial (\boldsymbol{u^o})^T} \right)^T \right)^{-1} \tag{6} CRLB=(((uo)Tro)Qr1((uo)Tro)T

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
TDOA(Time Difference of Arrival,到达时间差)定位算法是一种基于到达时间差原理的高精度无线定位算法。该算法通过计算接收同一信号的不同接收器之间到达时间的差值,以及已知信号发射点与接收器位置,推算出目标的位置。TDOA定位算法常用于基站定位和室内定位。 在实现TDOA定位算法的过程中,需要使用Matlab进行编程。一般而言,可以按照以下步骤进行: 1. 采集信号。首先需要在不同位置上设置多个接收器,用于采集信号。要保证信号接收质量,建议使用高端的无线通信设备,并且在合适位置上设置天线。 2. 处理信号数据。将采集到的信号数据进行分析、处理和预处理。例如,可以使用FFT算法提取信号的频率和幅度信息。 3. 计算到达时间差。通过对信号数据进行处理和分析,可以得到不同接收器之间到达同一信号的时间差数据。这些时间差数据是实现TDOA定位算法的关键。 4. 利用数学模型计算目标位置。已知信号的发射点与接收器的位置,以及到达时间差数据,可通过数学模型计算目标位置。数学模型的选择和计算方法的具体实现,可以根据具体情况进行选择和调整。 5. 分析结果。在完成算法计算后,还需要对结果进行分析和验证。可以通过与其他算法的比较,以及现场实验的测试来验证算法的准确性和可靠性,进一步优化算法的实现。 总之,TDOA定位算法是一种高精度的无线定位算法,具有广泛的应用前景。在实现算法时,需要熟悉无线通信、信号处理、数学模型等方面的知识,并利用Matlab等工具进行编程和计算。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我觉得我很优秀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值