✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
本文主要对基于无线通信基站的室内三维定位问题展开研究,在研究了 TOA 定位原理、多基站联合定位算法、非视距传播下的 TOA 定位原理、信道传输损耗模型、极大似然估计方法的基础上,提出了一种新的定位模型。 本文在分析相关文献的基础上,首先对测得的手持终端到基站的 TOA 数据算得的距离进行了预估,给出了距离误差因子 a ;其次我们考虑信号传播过程中的信号干扰比值、多径传播、终端与基站时钟不同步等因素,利用 Shadowing 和hata 两个信道传播路径损耗模型,对距离进行自适应的修正,得到较为精确的距离 d ;最后改进后的极大似然估计方法估计出精度较高的终端位置。由于本文使用的信道传输损耗模型具有自适应识别 LOS 和 NLOS 传播环境的特性,因此本文将新模型称为“预估-校正-自适应定位模型”。
对于问题一,本文利用预估-校正-自适应定位模型,求解给出了 10 组 LOS 或 NLOS 传播环境下手持终端的三维坐标。
对于问题二给出的 10 个场景,本文从每个场景的全部基站中分别随机选取 ( 4,...,10) i i = 个基站,进行了 20 组定位实验并得到手持终端坐标的均方根误差RMSE 值。当 n = 7 时,模拟出的终端三维精度误差控制在 5 m 。当 n = 8,9,10 时,较之时模拟出的终端坐标 值相差无几,即精度无明显提升。因此本文选择 7 或 8 个终端数,来实现近似最优的三维定位精度。
对于问题三,本文利用上述模型,选取 7 个基站作为参考基站实现了对移动过程中的终端二维定位,拟合并计算出终端的移动轨迹方程。
⛄ 部分代码
clear;
close all
tic;
A=dlmread('sample_case001_input.txt');
C=dlmread('sample_case001_ans.txt')
amount=A(1:3,1);
TOA=A(4+amount(1):end,:); %1000多个手机接收到30个不同位置基站的TOA
bs_xyz=A(4:3+amount(1),1:3);%30多个基站的位置
n=amount(1)%基站数目
m=length(TOA(:,1));%终端数目
v=3e8;
C_mat_1=bs_xyz(2:end,:)-repmat(bs_xyz(1,:),n-1,1);
C_mat_1=C_mat_1*2;
C_mat_1(:,3)=C_mat_1(:,3)*50;
C_mat_2=TOA.^2*v^2;
C_mat_2=C_mat_2(:,2:end)-repmat(C_mat_2(:,1),1,n-1);
C_mat_2=C_mat_2';
bs_xyz(:,3)=bs_xyz(:,3)*50;
B=bs_xyz.^2;
B=sum(B,2);
B=B(2:end)-B(1);%解算方程的自由项
XYZa=[];
for k=1:m
mat=C_mat_2(:,k);
C_mat=[C_mat_1,mat];%解算方程的系数矩阵
xyza=pinv(C_mat)*B;xyza(3)=xyza(3)/50/2;
XYZa=[XYZa,xyza];%存放矩阵的好方法
end
temp=XYZa(1:3,:)';
toc;
figure()
plot3(temp(:,1),temp(:,2),temp(:,3),'.','LineWidth',0.8);
hold on
plot3(C(:,1),C(:,2),C(:,3),'+','LineWidth',0.8);
axis([-inf inf -inf inf -4 8]);
legend('测量数据点','计算数据点');
⛄ 运行结果
⛄ 参考文献
[1] 魏晓莉.减小 NLOS 影响的 TOA 定位算法及其在 GSM 网中的应用研究[D].湖南大学,2005.
[2] 李辉.基于 RSSI 的高精度室内三维空间定位算法[D].河南大学,2011.
[3] 刘德亮. 室内环境下无线定位关键技术研究[D].天津大学,2015.
[4] 贺黎滔.基于移动通信网络的高精度定位关键技术研究[D].北京邮电大
学,2010.
[5] 赵永翔.基于无线局域网的室内定位系统研究[D].武汉大学,2010.
[6] 张宴龙.室内定位关键技术研究[D].中国科学技术大学,2014.