基于chan算法、fang算法、taylor算法和最小二乘定位算法lsm实现目标定位matlab源码

1 模型

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


 

2 部分代码

clc;
clear all
close all
BSN = 4;%基站数量
%目标位置
MSP(1,1) =250*rand(1);
MSP(1,2) = 250*rand(1);
% 算法开始:
Noise = 10*rand(1);%噪声
X=500;
Y=500;
BS = [0, X, 0,X
   0, 0,  Y,Y];          % 参考基站坐标
figure(1)%画出基站位置
plot(BS(1,1),BS(2,1),'rs','LineWidth',2,...
   'MarkerEdgeColor','k',...
   'MarkerFaceColor','r',...
   'MarkerSize',20);hold on
plot(BS(1,2),BS(2,2),'rs','LineWidth',2,...
   'MarkerEdgeColor','k',...
   'MarkerFaceColor','r',...
   'MarkerSize',20);
plot(BS(1,3),BS(2,3),'rs','LineWidth',2,...
   'MarkerEdgeColor','k',...
   'MarkerFaceColor','r',...
   'MarkerSize',20);
plot(BS(1,4),BS(2,4),'rs','LineWidth',2,...
   'MarkerEdgeColor','k',...
   'MarkerFaceColor','r',...
   'MarkerSize',20);
grid on
axis ([-10 1000 -10 1000]);
%chan算法
EMSCI = ChanAlgorithm1(BSN, MSP,BS, Noise);
EMSC(1, 1) = EMSCI(1);
EMSC(1, 2) = EMSCI(2);
%Fang算法
EMSCF = FangAlgorithm(BSN, MSP,BS, Noise);
EMSF(1, 1) = EMSCF(1);
EMSF(1, 2) = EMSCF(2);
%泰勒定位
EMST_taylor = TaylorAlgorithm1(BSN, MSP,BS, Noise);
%% 最小二乘法
EMST_lsm = lsm(BSN, MSP,BS, Noise)';

plot(MSP(1),MSP(2),'rp','MarkerSize',10);
plot(EMSC(1, 1),EMSC(1, 2),'co','MarkerSize',10);
plot(EMSF(1 ,1),EMSF(1 ,2),'ks','MarkerSize',10);
plot(EMST_taylor(1, 1),EMST_taylor(1, 2),'m^','MarkerSize',10);
plot(EMST_lsm(1 ,1),EMST_lsm(1 ,2),'g*','MarkerSize',10);
title('TDOA定位')
legend('基站1','基站2','基站3','基站4','目标真实位置','CHAN算法','FANG算法','泰勒定位','最小二乘定位')
chan_wucha(1)=sqrt((MSP(1) - EMSC(1,1))^2 + (MSP(2) - EMSC(1,2))^2);
Fang_wucha(1)=sqrt((MSP(1) - EMSF(1,1))^2 + (MSP(2) - EMSF(1,2))^2);
taylor_wucha(1)=sqrt((MSP(1) - EMST_taylor(1,1))^2 + (MSP(2) - EMST_taylor(1,2))^2);
lsm_wucha(1)=sqrt((MSP(1) - EMST_lsm(1,1))^2 + (MSP(2) - EMST_lsm(1,2))^2);
disp(['chan算法定位误差=',num2str(chan_wucha)])
disp(['Fang算法定位误差=',num2str(Fang_wucha)])
disp(['泰勒算法定位误差=',num2str(taylor_wucha)])
disp(['最小二乘法算法定位误差=',num2str(lsm_wucha)])
% rmse_c = TDOA_RMSE(MSP,EMSC);
% rmse_t = TDOA_RMSE(MSP,EMST);

3 仿真结果

4 参考文献

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

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

图片

  • 16
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于chan算法fang算法taylor算法最小二乘定位算法lsm实现目标定位,可以使用MATLAB编程语言来实现。以下是一种可能的实现方法: 首先,定义目标定位地区的网格化区域,并确定每个格点的位置坐标。 1. Chan算法: - 初始化目标的位置估计(可以是随机选择的一个格点位置或者先验估计值)。 - 对于每个初始化位置估计,通过计算目标到所有已知感知器的距离,然后通过加权平均来获取最终位置估计。 - 重复上一步骤,直到位置估计收敛为止。 2. Fang算法: - 根据传感器的测量数据计算观测向量,并定义相应的观测矩阵。 - 使用估计的目标位置和观测矩阵,通过最小二乘法来计算目标位置的更新。 - 重复上一步骤,直到位置估计收敛为止。 3. Taylor算法: - 根据传感器的测量数据计算目标位置的观测向量。 - 使用观测向量进行泰勒展开,计算目标位置的一阶和二阶偏导数。 - 使用一阶和二阶导数来计算目标位置的更新。 - 重复上一步骤,直到位置估计收敛为止。 4. 最小二乘定位算法LSM): - 根据传感器的测量数据计算目标位置的观测向量。 - 定义目标位置的模型函数(假设目标位置是线性函数),并构建目标位置的设计矩阵。 - 使用观测向量和设计矩阵,通过最小二乘法来计算目标位置的更新。 - 重复上一步骤,直到位置估计收敛为止。 以上就是使用MATLAB实现基于chan算法fang算法taylor算法最小二乘定位算法lsm的目标定位的简要步骤解释。实际实现中需要具体根据算法原理进行编码,并可能需要进一步调整参数和优化算法以提高定位准确性和收敛速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值