1 模型

超宽带无线定位技术有广阔的应用前景,本文列出了主要针对室内物体的基于到达时间差(TDOA)的定位算法.首先对常用的chan算法、fang算法、taylor算法和最小二乘定位算法在LOS情况下的性能展开研究,得出此算法对于服从正态分布的误差有很好的性能,然后仿真结果表明,chan算法、fang算法、taylor算法和最小二乘定位算法定位性能可以达到理想效果.

【WSN定位】基于chan算法、fang算法、taylor算法和最小二乘定位算法lsm实现目标定位m_tdoa

【WSN定位】基于chan算法、fang算法、taylor算法和最小二乘定位算法lsm实现目标定位m_tdoa_02

【WSN定位】基于chan算法、fang算法、taylor算法和最小二乘定位算法lsm实现目标定位m_tdoa_03

2 部分代码

clc;
  • 1.
clear all
  • 1.
close all
  • 1.
BSN = 4;%基站数量
  • 1.
%目标位置
  • 1.
MSP(1,1) =250*rand(1);
  • 1.
MSP(1,2) = 250*rand(1);
  • 1.
% 算法开始:
  • 1.
Noise = 10*rand(1);%噪声
  • 1.
X=500;
  • 1.
Y=500;
  • 1.
BS = [0, X, 0,X
  • 1.
0, 0, Y,Y]; % 参考基站坐标
  • 1.
figure(1)%画出基站位置
  • 1.
plot(BS(1,1),BS(2,1),'rs','LineWidth',2,...
  • 1.
'MarkerEdgeColor','k',...
  • 1.
'MarkerFaceColor','r',...
  • 1.
'MarkerSize',20);hold on
  • 1.
plot(BS(1,2),BS(2,2),'rs','LineWidth',2,...
  • 1.
'MarkerEdgeColor','k',...
  • 1.
'MarkerFaceColor','r',...
  • 1.
'MarkerSize',20);
  • 1.
plot(BS(1,3),BS(2,3),'rs','LineWidth',2,...
  • 1.
'MarkerEdgeColor','k',...
  • 1.
'MarkerFaceColor','r',...
  • 1.
'MarkerSize',20);
  • 1.
plot(BS(1,4),BS(2,4),'rs','LineWidth',2,...
  • 1.
'MarkerEdgeColor','k',...
  • 1.
'MarkerFaceColor','r',...
  • 1.
'MarkerSize',20);
  • 1.
grid on
  • 1.
axis ([-10 1000 -10 1000]);
  • 1.
%chan算法
  • 1.
EMSCI = ChanAlgorithm1(BSN, MSP,BS, Noise);
  • 1.
EMSC(1, 1) = EMSCI(1);
  • 1.
EMSC(1, 2) = EMSCI(2);
  • 1.
%Fang算法
  • 1.
EMSCF = FangAlgorithm(BSN, MSP,BS, Noise);
  • 1.
EMSF(1, 1) = EMSCF(1);
  • 1.
EMSF(1, 2) = EMSCF(2);
  • 1.
%泰勒定位
  • 1.
EMST_taylor = TaylorAlgorithm1(BSN, MSP,BS, Noise);
  • 1.
%% 最小二乘法
  • 1.
EMST_lsm = lsm(BSN, MSP,BS, Noise)';
  • 1.
plot(MSP(1),MSP(2),'rp','MarkerSize',10);
  • 1.
plot(EMSC(1, 1),EMSC(1, 2),'co','MarkerSize',10);
  • 1.
plot(EMSF(1 ,1),EMSF(1 ,2),'ks','MarkerSize',10);
  • 1.
plot(EMST_taylor(1, 1),EMST_taylor(1, 2),'m^','MarkerSize',10);
  • 1.
plot(EMST_lsm(1 ,1),EMST_lsm(1 ,2),'g*','MarkerSize',10);
  • 1.
title('TDOA定位')
  • 1.
legend('基站1','基站2','基站3','基站4','目标真实位置','CHAN算法','FANG算法','泰勒定位','最小二乘定位')
  • 1.
chan_wucha(1)=sqrt((MSP(1) - EMSC(1,1))^2 + (MSP(2) - EMSC(1,2))^2);
  • 1.
Fang_wucha(1)=sqrt((MSP(1) - EMSF(1,1))^2 + (MSP(2) - EMSF(1,2))^2);
  • 1.
taylor_wucha(1)=sqrt((MSP(1) - EMST_taylor(1,1))^2 + (MSP(2) - EMST_taylor(1,2))^2);
  • 1.
lsm_wucha(1)=sqrt((MSP(1) - EMST_lsm(1,1))^2 + (MSP(2) - EMST_lsm(1,2))^2);
  • 1.
disp(['chan算法定位误差=',num2str(chan_wucha)])
  • 1.
disp(['Fang算法定位误差=',num2str(Fang_wucha)])
  • 1.
disp(['泰勒算法定位误差=',num2str(taylor_wucha)])
  • 1.
disp(['最小二乘法算法定位误差=',num2str(lsm_wucha)])
  • 1.
% rmse_c = TDOA_RMSE(MSP,EMSC);
  • 1.
% rmse_t = TDOA_RMSE(MSP,EMST);
  • 1.

3 仿真结果

【WSN定位】基于chan算法、fang算法、taylor算法和最小二乘定位算法lsm实现目标定位m_tdoa_04

4 参考文献

[1]张志良, 孙棣华, 张星霞. TDOA定位中到达时间及时间差误差的统计模型[J]. 重庆大学学报, 2006, 29(001):85-88.

[2]孙胜, 李辉, & 韩崇昭. (2002). 基于tdoa定位技术的仿真研究. 无线通信技术(04), 40-43.

【WSN定位】基于chan算法、fang算法、taylor算法和最小二乘定位算法lsm实现目标定位m_tdoa_05