【WSN定位】基于改进chan算法和talor算法实现多基站目标定位附matlab代码

简介: 【WSN定位】基于改进chan算法和talor算法实现多基站目标定位附matlab代码

 ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机

⛄ 内容介绍

Chan 算法是 TDOA 定位方法的一个很赞的 trick。但是很多方法一旦从学术的角度去看,就罩上了奇异的光环。TDOA,the time differnces of arrival,到达时间差。Chan 算法1是非递归双曲线方程组解法,具有解析表达式解。其主要的特点为在测量误差服从理想高斯分布时,它的定位精度高、计算量小。该算法的推导的前提是基于测量误差为零均值高斯随机变量,对于实际环境中误差较大的测量值,比如在有非视距误差的环境下,该算法的性能会有显著下降。

image.gif 编辑

image.gif 编辑

image.gif 编辑

image.gif 编辑

image.gif 编辑

image.gif 编辑

⛄ 部分代码

%%%%%%%%在Chan算法中引入松弛变量:

%%%%%%%%通过加入松弛变量和采用搜索的算法,消除NLOS传播对定位影响,不需要先验信息,

%%%%%%%%但是由于其估计结果依赖于Chan算法估计的初值,当NLOS较大时,精度会显著下降。

close all

clear;

clc;

X0=1000;      %%%%均匀随机产生移动台的位置

Y0=2000;

ErrVar=30;

NLOS=0.3;

c=300000000;

Zpp=[0;0];

RMSEp=0;

SampleNo=1;       %%%%独立运行的第几次

SampleTotal=1000;   %%%%独立运行的次数

NumRight=0;

RRx_1=0;

RRy_1=0;

X(1)=0;      Y(1)=0;   %%%服务基站的坐标

X(2)=0;      Y(2)=4000;   %%%各个基站的坐标  共采用四个基站

X(3)=3464;   Y(3)=2000;

X(4)=-3464;  Y(4)=2000;

figure(1)%画出基站位置

plot(X0,Y0,'gp','LineWidth',2,...

   'MarkerEdgeColor','k',...

   'MarkerFaceColor','g',...

   'MarkerSize',20);hold on

plot(X(1,1),Y(1),'rs','LineWidth',2,...

   'MarkerEdgeColor','k',...

   'MarkerFaceColor','r',...

   'MarkerSize',20);hold on

plot(X(1,2),Y(2),'rs','LineWidth',2,...

   'MarkerEdgeColor','k',...

   'MarkerFaceColor','r',...

   'MarkerSize',20);

plot(X(1,3),Y(3),'rs','LineWidth',2,...

   'MarkerEdgeColor','k',...

   'MarkerFaceColor','r',...

   'MarkerSize',20);

plot(X(1,4),Y(4),'rs','LineWidth',2,...

   'MarkerEdgeColor','k',...

   'MarkerFaceColor','r',...

   'MarkerSize',20);

grid on

m=1;

while m<=4

   R(m)=sqrt((X(m)-X0)^2+(Y(m)-Y0)^2);

   m=m+1;

end;

while SampleNo<=SampleTotal              %%%%%%抽样次数最大循环

count=count+1;

plot(Zp(1,1),Zp(2,1),'go','LineWidth',2,...

   'MarkerEdgeColor','k',...

   'MarkerFaceColor','g',...

   'MarkerSize',10);

end;                  %%%%%%%%%%%%%%%收敛结束

RMSE=sqrt((Zp(1)-X0)^2+(Zp(2)-Y0)^2);

Zpp=Zpp+Zp;

RMSEp=RMSEp+RMSE;

RRx_1_c=(Zp(1)-X0)^2;

RRy_1_c=(Zp(2)-Y0)^2;

RRx_1=RRx_1+RRx_1_c;

RRy_1=RRy_1+RRy_1_c;

SampleNo=SampleNo+1;

end;                    %%%%%%%%%%%%%%%%%%%独立运行SampleTotal次结束

legend('目标真实位置','基站1','基站2','基站3','基站4','引入松弛变量CHAN算法')

Zpp=Zpp/SampleTotal

RMSEp=RMSEp/SampleTotal

RRx_1=RRx_1/SampleTotal

RRy_1=RRy_1/SampleTotal

⛄ 运行结果

image.gif 编辑

image.gif 编辑

image.gif 编辑

⛄ 参考文献

[1]沙勇. "基于Matlab的WSN定位算法仿真设计." 齐齐哈尔大学学报:自然科学版 33.6(2017):3.

[2]张凤梅邹丽. "基于一种改进的无源目标定位算法在WSN中的研究." 计算机应用研究 033.004(2016):1212-1215.

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除


相关文章
|
7天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
83 14
|
7天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
|
7天前
|
存储 算法 安全
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
|
7天前
|
传感器 机器学习/深度学习 编解码
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 运维 算法
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
|
8天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
8天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
8天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)

热门文章

最新文章