• 大小: 5KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: Matlab
  • 标签: matlab仿真  

资源简介

TOA与最小二乘法联合直接求解,具有独创性,TDOA是结合拉格朗日法进行求解,都加有高斯白噪声干扰。精度都在1m之内。可以进行单点定位,和定位,并通过matlab的视图功能,相当漂亮的展示出误差,及三维定位图。

资源截图

代码片段和文件信息

function []=TDOA 
MobileSignalPsn=[-0.30.6] ;             % MobilesignalPsn  为信号初始位置 区间范围任意取; 
 Radius=1000;                           %阵元捕捉信号有效作用半径及信号保真的有效半径,单位米;
 S1=-40;S2=20;n=(S2-S1)/5 ;               %噪声强度范围
 NS_dB=S1:5:S2;
 Esp=zeros(size(NS_dB));
 GS_noise=zeros(1n+1);           %节约磁盘空间,给变量开辟固定长度空间
 POINT_noise=zeros(n+12);
 for i=1:n+1
   GS_noise(i)=wgn(11NS_dB(i));      %加载的高斯白噪声
   [TP]=TDOA_Taylor(MobileSignalPsnRadiusGS_noise(i));%迭代次数改变不会出现奇异矩阵
   Esp(i)=T;                           %调用函数返回误差赋值
   POINT_noise(i:)=P;                 %预测坐标返回及赋值
 end
 xr=zeros(1length(Esp));
 yr=xr;
 xr(:)=Radius*MobileSignalPsn(:1);
 yr(1:)=Radius*MobileSignalPsn(:2);
 figure(1)
 h=plot3(NS_dByrxr‘-‘);
 darkgreen=[1/72/30];
 set(h‘MarkerSize‘8‘color‘darkgreen‘lineWidth‘2)
 grid on
 hold on
 scatter3(NS_dB(:)POINT_noise(:2)POINT_noise(:1)[]NS_dB(:)‘filled‘)
 c=colorbar(‘Ticks‘[S1:5:S2]‘location‘‘eastoutside‘);
 c.Label.String = ‘NS-dB‘;
 legend(‘MobileSignalPsn‘‘Noise location‘‘location‘‘northwest‘); 
 figure(2)
 plot(NS_dBEsp‘b-‘‘MarkerSize‘8‘lineWidth‘1);
 title(‘the relationship between NS-dB and Esp-TDOA‘);
 xlabel(‘NS-dB‘);
 ylabel(‘Esp‘);
end
 function   [ESPPOINT_noise]=TDOA_Taylor( MobileSignalPsn Radius GS_noise)   
%                - MSP  为移动台的初始位置
%                - Radius 半径
%                - Esp  为噪音位置和真实位置的偏差
% 参数检查:
if  nargout~=2&nargout~=0
    error(‘Too many output arguments.‘);
end
if nargin ~= 3
    error(‘Wrong number of input arguments.‘);
end
% 初始参数:
L_P=1;    %拓扑结构内心到顶点的长度
base_location=[0L_P*cos(pi/10)0-L_P*cos(pi/10)-L_P*sin(pi/5)L_P*sin(pi/5);0L_P*sin(pi/10)L_PL_P*sin(pi/10)-L_P*cos(pi/5)-L_P*cos(pi/5)];
BL = Radius*base_location;
MSP = Radius*MobileSignalPsn;
K=length(base_location);
% TDOA协方差矩阵Q:
Q = eye(length(base_location)-1);
% 初始估计位置:
iEP = MSP;
for i = 1:K
    MeaDist(i) = sqrt((MSP(1) - BL(1i))^2 + (MSP(2) - BL(2i))^2);
end
for i = 1: K-1
    h0(i) = MeaDist(i+1) - MeaDist(1) + GS_noise;   %高斯白噪声
end
for n = 1:2100
    R1 = sqrt(iEP(1)^2 + iEP(2)^2);
    for i =1: K-1
        R(i) = sqrt((iEP(1) - BL(1i+1))^2 + (iEP(2) - BL(2i+1))^2);        
    end
    for i = 1: K-1
        h(i) = h0(i) - (R(i) - R1);
    end
    ht = h‘;
    for i = 1: K-1
        Gt(i 1) = (BL(1 1)-iEP(1))/R1 - (BL(1 i+1) - iEP(2))/R(i);
        Gt(i 2) = (BL(2 1)-iEP(2))/R1 - (BL(2 i+1) - iEP(2))/R(i);
    end
    delt = (Gt‘*inv(Q)*Gt)\(Gt‘*inv(Q)*ht);
    EP = iEP + delt‘;
    iEP = EP;
end
POINT_noise=EP;
P_error=EP-MSP;
ESP=sqrt(sum(P_error.^2));
 end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2825  2017-10-24 23:12  修改\TDOA.m
     文件        1624  2017-10-27 14:01  修改\TOA.m
     文件        2062  2017-10-24 23:28  修改\TOA_EquationSet.m
     文件        1702  2017-10-24 23:29  修改\TOA_multiple_points.m
     文件         495  2017-10-24 23:41  修改\说明.txt

评论

共有 条评论