• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: Matlab
  • 标签: chan算法  

资源简介

此文档是关于室内NLOS环境下的定位算法,采用的是TDOAchan算法进行设计

资源截图

代码片段和文件信息

%**********************基于TDOA的Chan算法**********************************
function W=chan(noise)
%假设移动台坐标为

x_e=[];
y_e=[];
c=3*10^8;%信号传播速度

theta=0:4:100;
 M=length(theta);
x=theta;
y=0*theta+20;
plot(xy‘-r‘);hold on;

X=[01000100];
Y=[0 0 100100];
%假设小区半径是3000m.XY分别是基站位置横纵坐标
basestx=X;
basesty=Y; %M是参与定位的基站数目M的取值最大是13.
N=length(basestx); %参与定位的基站数目

%Standarddeviation=[30405060708090100110120]; %测量误差标准差 /m

ri1=[]; %第i(i>=2)个基站到移动台距离与第一个基站的(服务基站)到移动台距离的差值。
xi1=[]; %第i个基站与第一个基站位置横坐标的差值
yi1=[]; %第i个基站与第一个基站位置纵坐标的差值
k=[];
h=[];
Ga=[];

for i=2:N
     xi1(i-1)=basestx(i)-basestx(1);
     yi1(i-1)=basesty(i)-basesty(1);
end  %对xi1yi1进行赋值
   
for i=1:N
    k(i)=(basestx(i))^2+(basesty(i))^2;
end  %对k进行赋值

rmse=[];
for e=1:M
MS=[x(e)y(e)];
%if e<53&&e>47
%    MS1(e:)=MS;
%    rmse(e)=0;
%else
 
   for i=2:N
       ri1(i-1)=sqrt((basestx(i)-MS(1))^2+(basesty(i)-MS(2))^2)- sqrt((basestx(1)-MS(1))^2+(basesty(1)-MS(2))^2)+noise*randn(1);
     %在测量参数不知道的情况下为方便仿真,假设移动台位置已知,
     %则可以知道各个基站与移动台的实际距离差。
     %由于测量有误差,这里用实际距离差加上或减去测量误差标准差来表示测到的距离差
   end

   for i=2:N
        h(i-1)=0.5*((ri1(i-1))^2-k(i)+k(1));
   end  %对h进行赋值

   for i=1:3
       for j=2:N
           switch i
                  case 1
                        Ga(j-1i)=-xi1(j-1);
                  case 2
                    

评论

共有 条评论