博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【 Notes 】WLLS Algorithm of TOA - Based Positioning (include the two - step WLS estimator)
阅读量:2027 次
发布时间:2019-04-28

本文共 3265 字,大约阅读时间需要 10 分钟。

目录

 


LLS review

前面有博文:,提到了线性最小二乘算法,使用LLS去求解TOA-Based Positioning问题,从推导过程看起来很简单。具体说来,关键就是这几个公式:

 

当噪声足够小,q可以近似为:

这是一个零均值的向量,最后我们求得

具体推导过程,参见开头推荐的那篇博文。

从此处看,还是很简单的。今天的主题是WLLS,也就是加权最小二乘法,与LLS有着千丝万缕的关系。下面娓娓道来!



WLLS

Although the LLS approach is simple, it provides optimum estimation performance only when the disturbances in the linear equations are independent and identically distributed.

尽管LLS方法很简单,但只有当线性方程中的扰动是独立且相同分布时,它才能提供最佳估计性能。

From Equations 2.83 and 2.92 , it is obvious that the LLS – TOA - based positioning algorithms are suboptimal.

从方程2.83和2.92,很明显基于LLS - TOA的定位算法是次优的。

Taking Equation 2.85 as an illustration, the localization accuracy can be improved if we include a symmetric weighting matrix, say, W , in the cost function, denoted by \bold{J}_{WLLS,TOA(\bold{\tilde \theta})}.

 The resultant expression is referred to as the WLS cost function, which has the form of

注:式子2.85如下,为LLS算法的代价函数:

According to Equations 2.82 and 2.83 , we have E { b } = A θ , which corresponds to the linear unbiased data model. As a result, we can follow the best linear unbiased estimator ( BLUE ) [19, 28] to determine the optimum W , which is equal to the inverse of the covariance of q ; that is, the weighting matrix is similar to that of the ML methodology. Employing Equation 2.83 , we obtain

根据方程2.82和2.83,我们得到E {b} =Aθ,其对应于线性无偏数据模型。 结果,我们可以遵循最佳线性无偏估计(BLUE)[19,28]来确定最优W,它等于q的协方差的倒数; 也就是说,加权矩阵类似于ML方法的加权矩阵。 使用公式2.83,我们得到

注:

 

As { d_l } are not available, a practical choice of W is to replace d_l with r_{TOA,l} , which is valid for sufficiently small error condition:

Following Equations 2.86 and 2.87 , the WLLS estimate of θ is

注:

The WLLS position estimate is then given as Equation 2.88 .



如规规矩矩,这篇文章理应如此结束,可是我还是对比结果不是满意,首先我需要说明的是,这篇文章和前面博文:相关联,我们按照第一种求解LLS的方法,得到:

其中q为:

也即:

q \approx [2n_{TOA,l}d_1,2n_{TOA,2}d_2,...,2n_{TOA,L}d_L]^T

此时需要求解q的协方差矩阵,如何求解协方差矩阵,可参考博文:

由于q有M维,故协方差矩阵为M*M的矩阵。

又由于噪声互不相关,故元素之间的协方差为0,故协方差矩阵中只剩下对角线上的元素,对角线上的元素为q中每个元素的方差,故q的协方差矩阵为:

C = 4diag\{ \sigma^2_{TOA,1}d^2_1,..., \sigma^2_{TOA,L}d^2_L \}

根据最优线性无偏估计来估计加权矩阵W,关于最优线性无偏估计(BLUE),见博文:

W为q的协方差矩阵的逆:

如此得到对\theta的估计:

目标位置去前两个元素:



the two - step WLS estimator

With only a moderate increase of computational complexity [19] , Equation 2.122 is superior to Equation 2.87 in terms of estimation performance.

Nevertheless, the localization accuracy can be further enhanced by making use of [\hat \theta]_3  according to the relation of Equation 2.76 as follows. When \bold{\hat x}  of Equation 2.122 is sufficiently close to x , we have

Similarly, for [\hat \theta]_2

注:

Based on Equation 2.76 and with the use of Equations 2.123 and 2.124 , we construct

where

Note that z is the parameter vector to be determined. To find the covariance of w , we utilize the result of BLUE that the covariance of \bold{\hat x} is of the form of [28]

Employing Equations 2.129 and 2.130 , the optimal weighting matrix for Equation 2.125 , denoted by Φ , is then

As a result, the WLLS estimate of z is

As there is no sign information for x in z , the final position estimate is determined as

where sgn represents the signum function. In the literature, this approach is called the two - step WLS estimator [20] , where Equation 2.76 is exploited in an implicit manner. Alternatively, an explicit way is to minimize Equation 2.119 subject to the constraint of Equation 2.76 , which can be solved by the method of Lagrangian multipliers [21, 22] .

其中sgn代表signum函数。 在文献中,这种方法被称为两步WLS估计器[20],其中方程2.76以隐式方式被利用。 或者,一种明确的方法是在方程2.76的约束下最小化方程2.119,这可以通过拉格朗日乘数法[21,22]求解。

注:

 

 

转载地址:http://eijaf.baihongyu.com/

你可能感兴趣的文章
笔记-twisted-adbapi-scrapy
查看>>
笔记-python-lib—data types-enum
查看>>
笔记-jinja2语法
查看>>
笔记-django-视图
查看>>
一致性Hash算法
查看>>
flask_migrate
查看>>
flask_script
查看>>
threading.local
查看>>
flask上下文
查看>>
宏定义中的参数需要加括号的原因
查看>>
sizeof
查看>>
Linux的SOCKET编程详解
查看>>
fork与vfork的区别
查看>>
exit()与_exit()函数的区别(Linux系统中)
查看>>
【C/C++】Linux下使用system()函数一定要谨慎
查看>>
setsid()函数的作用
查看>>
守护进程的创建方法和步骤
查看>>
ioctl用法详解
查看>>
嵌入式Linux中常见的问题
查看>>
深入理解socket网络异常
查看>>