当前位置: 首页 > 党团工作 >

基于三边测量法的Matlab程序设计

发布时间:2023-07-04 14:12:03 | 来源:网友投稿

摘 要:定位技术是无线通信的热点研究问题之一,而三边测量方法是构建复杂定位技术的基础。本文基于无线通讯基站室内的二维定位问题,针对三边测量方法,利用Matlab软件对三边测量方法进行程序设计,并采用四组二维数据验证了程序的可行性。

1引言

Matlab是一款结合了数值和符号计算引擎、图形系统和编程语言的数学软件,可用于处理较为复杂的计算或者是图像问题。Matlab的应用非常广泛,包括通信、控制系统设计、测试和测量、信号和图像处理等众多领域[1-3]。

目前,定位技术是无线通信的热点研究问题之一[4-7],针对无限通讯基站的室内三维定位问题,文献[8、9]分别分析了三边测量法和四边测量法的原理,并做了简单分析,但是并没有侧重于Matlab的程序设计研究,而本文主要研究基于线通讯基站室内的二维定位问题,针对三边测量方法,利用Matlab软件对三边测量方法进行程序设计,并采用二维数据验证了程序的可行性。

2三边测量法

设待测终端的坐标为X(x,y),3个基站的坐标为A1(a1,b1),A2(a2,b2),A3(a3,b3),X到A1,A2,A3的距离分别为d1,d2,d3,则根据二维空间两点间距离公式可得到方程组:

可解得X坐标为:

下面针对三边测量法,利用Matlab软件进行程序设计。

3基于三边测量法的程序设计

%读数据

LOS=xlsread("case021_input","LOS")

base=xlsread("case021_input","base")

%读取参考基站的坐标[cx,cy]

cx=base(:,1)

cy=base(:,2)

figure(1)

plot(cx,cy,"k^");%画参考基站图

hold on

grid on

%移动位置数mlen

mlen=length(LOS);%移动位置数mlen

x=[]

y=[]

for p=1:30%对每个移动位置

for i=1:100

w=LOS(p,:)

disp("次数")

p

[da,db,dc,t1,t2,t3]=find_three_p(w)%从每个移动位置TOA中任意选出三值

base1=base(t1,:)

base2=base(t2,:)

base3=base(t3,:)

[locx,locy]=triposition(base1,da,base2,db,base3,dc)%计算定位坐标

if (-500

x(p)=locx

y(p)=locy

break

else continue

end

end

end

plot(x,y,"r>-")

for j=1:110

text(x(j),y(j),[" " num2str(j)])

end

xlabel("x")

ylabel("y")

legend("参考基站","移动轨迹","Location","SouthEast")

title("三点测量法的移动轨迹")

grid on

%find_three_p(调用函数)

function [da,db,dc,t1,t2,t3]=find_three_p(w)

%从TOA数据中随机选出不同的三个值

%依次每一个移动位置到相应基站的LOS距离w

%输出:任意选出da,db,dc三个LOS距离

%da,db,dc为选出的任意三个LOS距离

len=length(w)

% 取一个

t=fix(len*rand(1,1))+1

ma=t

da=w(t)

t1=t; %t1是标记

%取第二个

while(1)

t=fix(len*rand(1,1))+1

if(t~=ma)

mb=t

db=w(t)

break

end

end

t2=t;%t2是标记

%取第三个

while(1)

t=fix(len*rand(1,1))+1

if(t~=ma)&&(t~=mb)

mc=t

dc=w(t)

break

end

end

t3=t;%t3是標记

%函数调用triposition.m%

function [locx,locy]=triposition(B1,da,B2,db,B3,dc)

%三边定位法%

%输入:1.参考节点B1,B2,B3;2.移动位置坐标D(locx,locy)到这三点的距离分别为da,db,dc

%locx,locy为计算的移动位置坐标D点的位置坐标

syms x y%f符号变量

%求解方程组

f1="2*x*(B1(1)-B3(1))+B3(1)^2-B1(1)^2+2*y*(B1(2)-B3(2))+B3(2)^2-B1(2)^2=dc^2-da^2"

f2="2*x*(B2(1)-B3(1))+B3(1)^2-B2(1)^2+2*y*(B2(1)-B3(2))+B3(2)^2-B2(2)=dc^2-db^2"

[xx,yy]=solve(f1,f2,x,y); %解关于x,y的符号方程组,得到解的符号表示,并存入xx,yy

px=eval(xx);%解的数值px(1),px(2)

py=eval(yy);%解的数值py(1),py(2)

locx=px

locy=py

4 实验仿真

利用以上程序,结合实际二维数据,对三边测量法进行仿真。图1对应二维数据的移动终端的30个位置变

化图。

由图可知,采用实际数据对程序进行仿真,观察发现终端运行轨迹图比较符合实际情况,说明三边测量法能够较准确的确定终端位置,且设计的基于三边测量法的程序是有效的。

5结语

基于无线通讯基站室内的二维定位问题,针对三边测量方法,利用Matlab软件进行程序设计。采用实际数据对程序进行仿真,观察发现终端运行轨迹图比较符合实际情况,说明三边测量法能够较准确的确定终端位置,且设计的基于三边测量法的程序是有效的。但是因为测量误差的存在,以及程序自身的缺陷,有些点的位置表现出了异常,在后续工作中应该重视并加以改进。现出了异常,在后续工作中应该重视并加以改进。

参考文献:

[1] 丛爽. 面向 MATLAB 工具箱的神经网络理论与应用[M]. 中国科学技术大学出版社, 1998.

[2] 闻新, 周露, 李翔, 等. MATLAB 神经网络仿真与应用[J]. 2003.

[3] 程铭东, 詹亮. 多传感器网络目标定位的一种算法及其实现[J]. 计算机工程与应用, 2008, 44(7): 231-233.

[4] 宋俊鹏. 基于 Matlab 全球定位系统空间部分仿真[J]. 电子测量技术, 2004 (4): 13-14.

[5] 費扬, 杜庆治. 基于 Matlab 的 WiFi 室内定位分析系统设计与实现[J]. 软件导刊, 2018, 17(3): 117-120.

[6] 吕振, 赵鹏飞. 一种改进的无线传感器网络加权质心定位算法[J]. 计算机测量与控制, 2013, 21(4): 1102-1104.

[7] 彭燕. 无线传感器网络定位优化算法及其仿真[J]. 计算机与数字工程, 2011, 39(3): 9-11.

[8] 葛文涛, 陈俊杰出. 基于三边定位的WSN锚节点加权补偿算法[J]. 测控技术, 2010,29(9): 92-95.

[9] 王行甫, 戴福泉, 苗付友. 基于 TOA 的三维无线传感器网络节点定位算法[J]. 自动化与仪表, 2008,23(12): 1-4.

作者简介:李明(1981.3—)男,汉,四川,研究生,工程师,研究方向:机场工程,单位:中国民用航空局第二研究所。

推荐访问:程序设计 测量 三边 MATLAB

本文标题:基于三边测量法的Matlab程序设计
链接地址:http://www.ylwt22.com/dangtuangongzuo/2023/0704/271110.html

版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《基于三边测量法的Matlab程序设计》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

十号范文网 |
Copyright © 2018-2024 十号范文网 Inc. All Rights Reserved.十号范文网 版权所有
本站部分资源和信息来源于互联网,如有侵犯您的权益,请尽快联系我们进行处理,谢谢!备案号:粤ICP备18086540号