您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > chan算法定位matlab
Chan算法及其验证由于实际条件,以TOA得出测量值对硬件要求很高,难以实现。所以我们由TDOA来得出算法所需的测量值。实际中,基站根据接受到的信号难以得到移动点到基站的具体距离,则TDOA定位是接收移动台发出的信号到达不同基站的时间差,由此计算出移动台到基站间的距离之差。根据移动台到两个基站的距离差能建立唯一的一条双曲线,根据至少3个基站建立的双曲线方程组求解求交点来得到移动台的坐标。而实际中由于种种误差,完全一致的交点是不存在的,需要较多的基站得到超过未知量数目(2)的方程组得到更多的冗余信息,来实现更准确的定位。Chan算法则是一种处理TDOA测量值得到估计点的可行的方法。Chan算法是非递归双曲线方程组解法,具有解析表达式解。其主要的特点为在测量误差服从理想高斯分布时,它的定位精度高、计算量小,并且可以通过增加基站数量来提高算法精度。该算法的推导的前提是基于测量误差为零均值高斯随机变量,对于实际环境中误差较大的测量值,比如在有非视距误差的环境下,该算法的性能会有显著下降。Chan算法可分为只有三个BS参与定位和三个以上BS定位两种。而实际中往往采用三个以上BS定位。当基站的数量大于3时,TDOA值得到的非线性方程组个数要多于未知变量的个数,现将初始的TDOA方程组化为线性方程组,然后用加权最小二乘法得到初始解,再用第一次的到的初始解等约束变量进行第二次加权最小二乘估计,最后得到改进的位置估计。以下为该处理过程的matlab语句如下:%计算第一次WLS估计结果(远距算法)Za=inv(Ga.'*inv(Q)*Ga)*Ga.'*inv(Q)*ha%第一次WLS计算(近距算法)Va2=sqrt((Za2(1)-Pbs(2:N,1)).^2+(Za2(2)-Pbs(2:N,2)).^2)Ba2=diag(Va2);Fa2=Ba2*Q*Ba2;Za2=inv(Ga.'*inv(Fa2)*Ga)*Ga.'*inv(Fa2)*ha;Zacov2=inv(Ga.'*inv(Fa2)*Ga);%第二次WLS计算(近距算法)hb=[(Za2(1)-Xb)^2;(Za2(2)-Yb)^2;Za2(3)^2]Gb=[10;01;11];Bb2=[Za2(1)-Pbs(1,1)00;0Za2(2)-Pbs(1,2)0;00sqrt((Za2(1)-Pbs(1,1))^2+(Za2(2)-Pbs(1,2))^2)];Fb2=4*Bb2*Zacov2*Bb2;Zb2=inv(Gb'*inv(Fb2)*Gb)*Ga.'*inv(Fb2)*hb;POS_ref=Za2(1:2,1);%第一次WLS的估计结果,作为参考作最终定位结果的判决POS1=sqrt(Zb2)+Pbs(1,:).';%定位结果1POS2=-sqrt(Zb2)+Pbs(1,:).';%定位结果2POS3=[-sqrt(Zb2(1));sqrt(Zb2(2))]+Pbs(1,:).';%定位结果3POS4=[sqrt(Zb2(1));-sqrt(Zb2(2))]+Pbs(1,:).';%定位结果4上述关键程序可得到四个定位结果,可根据有关辐射源位置的先验信息进行消除。其余相关验证如下图:图1:Chan算法基站环境图图2:Chan算法位置估计散点图图3:4个基站的Chan算法仿真图图4:5个基站的Chan算法仿真图图5:6个基站的Chan算法仿真图可以看出,Chan算法的定位精度随着基站数量的增加有一定提高,其中,当基站数量有从4个增加到5个时,定位精度有明显提高。当从5个增加到6个时,定位精度不在有明显提高,说明Chan算法的基站数量多于5个时,Chan算法不再对基站数量敏感。
本文标题:chan算法定位matlab
链接地址:https://www.777doc.com/doc-2905057 .html