资源简介
用于室内定位的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个文件信息
- 上一篇:视频的车流量统计
- 下一篇:基于动态云—量子神经网络群的配电网实时故障定位方法
评论
共有 条评论