⛄一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【定位问题】基于matlab改进Chan氏算法TDOA定位【含Matlab源码 3483期】
点击上面蓝色字体,直接付费下载,即可。
获取代码方式2:
付费专栏Matlab物理应用(初级版)
备注:
点击上面蓝色字体付费专栏Matlab物理应用(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab物理应用(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码
⛄二、改进Chan氏算法TDOA定位
TOA原理:测量待定位节点MS(x,y)与发送端(xi,yi)的信号之间的到达时间,然后转换为距离,从而进行定位。三个基站到MS的距离分别为r1,r2,r3,以各自基站为圆心测量距离为半径,绘制三个圆,其交点即为 MS 的位置。当三个基站都是 LOS 基站时,一般可以根据最小二乘(LS)算法计算 MS的估计位置。
⛄三、部分源代码
function gjchan()
M = 4;
gjChanCDFjs=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
for i=1:5000
gjChanStandarddeviation = 1;
gjChandwwc = [0,0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,2,2.2,2.4,2.6,2.8,3];
gjChanms=[5,10];
gjChanx=gjChanms(1);
gjChany=gjChanms(2);
gjChanc=310^8;
gjChanX=[0,0,-45,-45,0,45,45];
gjChanY=[0,51.96,25.98,-25.98,-59.16,-25.98,25.98];
gjChanbasestx=gjChanX(1:M);
gjChanbasesty=gjChanY(1:M);
gjChanN=length(gjChanbasestx);
gjChanri1=[];
gjChanxi1=[];
gjChanyi1=[];
gjChank=[];
gjChanh=[];
gjChanGa=[];
gjChanrmse=[];
for i=2:gjChanN
gjChanxi1(i-1)=gjChanbasestx(i)-gjChanbasestx(1);
gjChanyi1(i-1)=gjChanbasesty(i)-gjChanbasesty(1);
end
for i=1:gjChanN
gjChank(i)=(gjChanbasestx(i))2+(gjChanbasesty(i))2;
end
for j0=1:length(gjChandwwc)
for i=2:gjChanN
gjChanri1(i-1)=sqrt((gjChanbasestx(i)-gjChanx)2+(gjChanbasesty(i)-gjChany)2)- sqrt((gjChanbasestx(1)-gjChanx)2+(gjChanbasesty(1)-gjChany)2)-gjChanStandarddeviationrandn(1);
end
for i=2:gjChanN
gjChanh(i-1)=0.5*((gjChanri1(i-1))^2-gjChank(i)+gjChank(1));
end
for i=1:3
for j=2:gjChanN
switch i,
case 1,
gjChanGa(j-1,i)=-gjChanxi1(j-1);
case 2,
gjChanGa(j-1,i)=-gjChanyi1(j-1);
case 3,
gjChanGa(j-1,i)=-gjChanri1(j-1);
end
end
end
⛄四、运行结果
⛄五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 门云阁.MATLAB物理计算与可视化[M].清华大学出版社,2013.
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除