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

资源简介

可以用于室内的TDOA定位,是用chan算法来实现的,经调试可以用

资源截图

代码片段和文件信息

%**********************基于TDOA的Chan算法**********************************
%  function [MS]=chan(M)     %%%%%%%%%%%%%%%
%假设移动台坐标为
M=4;                        %%%%%%%%%%%%%%%
ms=[5001000];
x=ms(1);y=ms(2);%移动台真实位置
c=3*10^8;%信号传播速度

X=[00-4500-45000450045004500-4500-9000-450045009000];
Y=[051962598-2598-5916-25982598779477940-7794-77940];
%假设小区半径是3000m.XY分别是基站位置横纵坐标
basestx=X(1:M);
basesty=Y(1:M); %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 j0=1:length(Standarddeviation)
 
   for i=2:N
       ri1(i-1)=sqrt((basestx(i)-x)^2+(basesty(i)-y)^2)- sqrt((basestx(1)-x)^2+(basesty(1)-y)^2)-Standarddeviation(j0);
     %在测量参数不知道的情况下为方便仿真,假设移动台位置已知,
     %则可以知道各个基站与移动台的实际距离差。
     %由于测量有误差,这里用实际距离差加上或减去测量误差标准差来表示测到的距离差
   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

评论

共有 条评论

相关资源