• 大小: 87KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-17
  • 语言: Matlab
  • 标签: TDOA算法  

资源简介

用于室内定位的TDOA算法matlab仿真代码,含多种其他代码。用于室内定位的TDOA算法matlab仿真代码,含多种其他代码。

资源截图

代码片段和文件信息

%**********************基于TDOA的Chan算法**********************************
function [MS]=chan(M)
%假设移动台坐标为
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);
                  case 2
                        Ga(j-1i)=-yi1(j-1);
                  case 3
                        Ga(j-1i)=-ri1(j-1);
           end
       end
   end  %对Ga进行复制运算
 
   Q=zeros(N-1N-1);    
   for i=1:N-1
   Q(ii)=(Standarddeviation(j0))^2; %非常重要此处Q为测量误差的协方差矩阵
   end

   Za=inv(Ga‘*inv(Q)*Ga)*Ga‘*inv(Q)*h‘; %第一次估计,假设移动台到每个基站距离均相等(移动台到基站距离较远)

   B1=[];
   for i=1:N-1
       B1(ii)=sqrt((basestx(i+1)-Za(1))^2+(basesty(i+1)-Za(2))^2);
   end  %得到移动台估计位置,则可以到各个基站的距离

       P1=c^2*B1*Q*B1; %误差矢量的协方差矩阵
       Za1=inv(Ga‘*inv(P1)*Ga)*Ga‘*inv(P1)*h‘; %第二次估计移动台位置
       C=inv(Ga‘*inv(Q)*Ga);
       
       h1=[(Za1(1)-basestx(1))^2;(Za1(2)-basesty(1))^2;(Za1(3))^2];
       Ga1=[10;01;11];
       r1=sqrt((basestx(1)-Za1(1))^2+(basesty(1)-Za1(2))^2); %第一个基站与移动台间的距离
       B2=[Za1(1)-basestx(1)00;0Za1(2)-basesty(1)0;00r1];
       P2=4*B2*C*B2;
       Za2=inv(Ga1‘*inv(P2)*Ga1)*Ga1‘*inv(P2)*h1;
       
       ms0=sqrt(Za2)+[basestx(1);basesty(1)]; %利用第一个基站到移动台的距离与移动台位置的关系,改善估计精度
       rmse(j0)=sqrt((ms0(1)-x)^2+(ms0(2)-y)^2);
       MS(j0:)=ms0‘;
end
MS;

rmse;
figure
plot(Standarddeviationrmse‘^--r‘)
axis([301200100]);
legend(‘chan‘2);
grid on;
hold on;
ylabel(‘定位误差均方根/m‘);
xlabel(‘TDOA误差标准差/m‘);
title(‘TDOA下M个基站参与定位‘)






















    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3029  2012-05-30 00:48  TDOA算法matlab仿真代码\无NLOS\chan.asv

     文件       3094  2012-05-30 00:51  TDOA算法matlab仿真代码\无NLOS\chan.m

     文件       3166  2012-05-30 08:52  TDOA算法matlab仿真代码\无NLOS\chan2.asv

     文件       3171  2012-05-30 10:50  TDOA算法matlab仿真代码\无NLOS\chan2.m

     文件       2565  2012-05-30 00:18  TDOA算法matlab仿真代码\无NLOS\chanforline.asv

     文件       2590  2012-05-30 00:21  TDOA算法matlab仿真代码\无NLOS\chanforline.m

     文件       2651  2012-05-30 00:22  TDOA算法matlab仿真代码\无NLOS\chanim.m

     文件        520  2012-05-30 08:43  TDOA算法matlab仿真代码\无NLOS\compare.asv

     文件        520  2012-05-30 08:45  TDOA算法matlab仿真代码\无NLOS\compare.m

     文件       3413  2012-05-30 08:38  TDOA算法matlab仿真代码\无NLOS\drop.asv

     文件       3439  2012-05-30 08:41  TDOA算法matlab仿真代码\无NLOS\drop.m

     文件       3161  2012-05-30 08:43  TDOA算法matlab仿真代码\无NLOS\line1.asv

     文件       3162  2012-05-30 08:45  TDOA算法matlab仿真代码\无NLOS\line1.m

     文件       3288  2012-05-28 21:13  TDOA算法matlab仿真代码\无NLOS\offset.m

     文件       1816  2012-05-28 21:03  TDOA算法matlab仿真代码\无NLOS\Taylorforline.m

     文件       3293  2012-05-30 10:50  TDOA算法matlab仿真代码\无NLOS\均方差\chan2.m

     文件        778  2012-05-30 14:21  TDOA算法matlab仿真代码\无NLOS\均方差\compare.asv

     文件        871  2012-05-30 14:45  TDOA算法matlab仿真代码\无NLOS\均方差\compare.m

     文件       3380  2012-05-30 14:44  TDOA算法matlab仿真代码\无NLOS\均方差\drop.m

     文件       3159  2012-05-30 10:55  TDOA算法matlab仿真代码\无NLOS\均方差\line1.m

     文件       3312  2012-05-30 10:55  TDOA算法matlab仿真代码\无NLOS\均方差\offset.m

     文件       1693  2012-05-30 14:32  TDOA算法matlab仿真代码\无NLOS\均方差\Taylorforline.m

     文件         43  2012-05-30 14:39  TDOA算法matlab仿真代码\无NLOS\均方差\testT.m

     文件       3243  2012-05-30 15:06  TDOA算法matlab仿真代码\无NLOS\轨迹\chan2.m

     文件        839  2012-05-30 09:35  TDOA算法matlab仿真代码\无NLOS\轨迹\compare.asv

     文件       1062  2012-05-30 18:29  TDOA算法matlab仿真代码\无NLOS\轨迹\compare.m

     文件       1055  2012-05-30 15:16  TDOA算法matlab仿真代码\无NLOS\轨迹\compare1.m

     文件       3443  2012-05-30 09:03  TDOA算法matlab仿真代码\无NLOS\轨迹\drop.asv

     文件       3381  2012-05-30 10:27  TDOA算法matlab仿真代码\无NLOS\轨迹\drop.m

     文件       3160  2012-05-30 10:27  TDOA算法matlab仿真代码\无NLOS\轨迹\line1.m

............此处省略51个文件信息

评论

共有 条评论