摘 要:定位技術(shù)是無(wú)線通信的熱點(diǎn)研究問(wèn)題之一,而三邊測(cè)量方法是構(gòu)建復(fù)雜定位技術(shù)的基礎(chǔ)。本文基于無(wú)線通訊基站室內(nèi)的二維定位問(wèn)題,針對(duì)三邊測(cè)量方法,利用Matlab軟件對(duì)三邊測(cè)量方法進(jìn)行程序設(shè)計(jì),并采用四組二維數(shù)據(jù)驗(yàn)證了程序的可行性。
1引言
Matlab是一款結(jié)合了數(shù)值和符號(hào)計(jì)算引擎、圖形系統(tǒng)和編程語(yǔ)言的數(shù)學(xué)軟件,可用于處理較為復(fù)雜的計(jì)算或者是圖像問(wèn)題。Matlab的應(yīng)用非常廣泛,包括通信、控制系統(tǒng)設(shè)計(jì)、測(cè)試和測(cè)量、信號(hào)和圖像處理等眾多領(lǐng)域[1-3]。
目前,定位技術(shù)是無(wú)線通信的熱點(diǎn)研究問(wèn)題之一[4-7],針對(duì)無(wú)限通訊基站的室內(nèi)三維定位問(wèn)題,文獻(xiàn)[8、9]分別分析了三邊測(cè)量法和四邊測(cè)量法的原理,并做了簡(jiǎn)單分析,但是并沒(méi)有側(cè)重于Matlab的程序設(shè)計(jì)研究,而本文主要研究基于線通訊基站室內(nèi)的二維定位問(wèn)題,針對(duì)三邊測(cè)量方法,利用Matlab軟件對(duì)三邊測(cè)量方法進(jìn)行程序設(shè)計(jì),并采用二維數(shù)據(jù)驗(yàn)證了程序的可行性。
2三邊測(cè)量法
設(shè)待測(cè)終端的坐標(biāo)為X(x,y),3個(gè)基站的坐標(biāo)為A1(a1,b1),A2(a2,b2),A3(a3,b3),X到A1,A2,A3的距離分別為d1,d2,d3,則根據(jù)二維空間兩點(diǎn)間距離公式可得到方程組:
可解得X坐標(biāo)為:
下面針對(duì)三邊測(cè)量法,利用Matlab軟件進(jìn)行程序設(shè)計(jì)。
3基于三邊測(cè)量法的程序設(shè)計(jì)
%讀數(shù)據(jù)
LOS=xlsread('case021_input','LOS')
base=xlsread('case021_input','base')
%讀取參考基站的坐標(biāo)[cx,cy]
cx=base(:,1)
cy=base(:,2)
figure(1)
plot(cx,cy,'k^');%畫參考基站圖
hold on
grid on
%移動(dòng)位置數(shù)mlen
mlen=length(LOS);%移動(dòng)位置數(shù)mlen
x=[]
y=[]
for p=1:30%對(duì)每個(gè)移動(dòng)位置
for i=1:100
w=LOS(p,:)
disp('次數(shù)')
p
[da,db,dc,t1,t2,t3]=find_three_p(w)%從每個(gè)移動(dòng)位置TOA中任意選出三值
base1=base(t1,:)
base2=base(t2,:)
base3=base(t3,:)
[locx,locy]=triposition(base1,da,base2,db,base3,dc)%計(jì)算定位坐標(biāo)
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('參考基站','移動(dòng)軌跡','Location','SouthEast')
title('三點(diǎn)測(cè)量法的移動(dòng)軌跡')
grid on
%find_three_p(調(diào)用函數(shù))
function [da,db,dc,t1,t2,t3]=find_three_p(w)
%從TOA數(shù)據(jù)中隨機(jī)選出不同的三個(gè)值
%依次每一個(gè)移動(dòng)位置到相應(yīng)基站的LOS距離w
%輸出:任意選出da,db,dc三個(gè)LOS距離
%da,db,dc為選出的任意三個(gè)LOS距離
len=length(w)
% 取一個(gè)
t=fix(len*rand(1,1))+1
ma=t
da=w(t)
t1=t; %t1是標(biāo)記
%取第二個(gè)
while(1)
t=fix(len*rand(1,1))+1
if(t~=ma)
mb=t
db=w(t)
break
end
end
t2=t;%t2是標(biāo)記
%取第三個(gè)
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是標(biāo)記
%函數(shù)調(diào)用triposition.m%
function [locx,locy]=triposition(B1,da,B2,db,B3,dc)
%三邊定位法%
%輸入:1.參考節(jié)點(diǎn)B1,B2,B3;2.移動(dòng)位置坐標(biāo)D(locx,locy)到這三點(diǎn)的距離分別為da,db,dc
%locx,locy為計(jì)算的移動(dòng)位置坐標(biāo)D點(diǎn)的位置坐標(biāo)
syms x y%f符號(hào)變量
%求解方程組
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); %解關(guān)于x,y的符號(hào)方程組,得到解的符號(hào)表示,并存入xx,yy
px=eval(xx);%解的數(shù)值px(1),px(2)
py=eval(yy);%解的數(shù)值py(1),py(2)
locx=px
locy=py
4 實(shí)驗(yàn)仿真
利用以上程序,結(jié)合實(shí)際二維數(shù)據(jù),對(duì)三邊測(cè)量法進(jìn)行仿真。圖1對(duì)應(yīng)二維數(shù)據(jù)的移動(dòng)終端的30個(gè)位置變
化圖。
由圖可知,采用實(shí)際數(shù)據(jù)對(duì)程序進(jìn)行仿真,觀察發(fā)現(xiàn)終端運(yùn)行軌跡圖比較符合實(shí)際情況,說(shuō)明三邊測(cè)量法能夠較準(zhǔn)確的確定終端位置,且設(shè)計(jì)的基于三邊測(cè)量法的程序是有效的。
5結(jié)語(yǔ)
基于無(wú)線通訊基站室內(nèi)的二維定位問(wèn)題,針對(duì)三邊測(cè)量方法,利用Matlab軟件進(jìn)行程序設(shè)計(jì)。采用實(shí)際數(shù)據(jù)對(duì)程序進(jìn)行仿真,觀察發(fā)現(xiàn)終端運(yùn)行軌跡圖比較符合實(shí)際情況,說(shuō)明三邊測(cè)量法能夠較準(zhǔn)確的確定終端位置,且設(shè)計(jì)的基于三邊測(cè)量法的程序是有效的。但是因?yàn)闇y(cè)量誤差的存在,以及程序自身的缺陷,有些點(diǎn)的位置表現(xiàn)出了異常,在后續(xù)工作中應(yīng)該重視并加以改進(jìn)?,F(xiàn)出了異常,在后續(xù)工作中應(yīng)該重視并加以改進(jìn)。
參考文獻(xiàn):
[1] 叢爽. 面向 MATLAB 工具箱的神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用[M]. 中國(guó)科學(xué)技術(shù)大學(xué)出版社, 1998.
[2] 聞新, 周露, 李翔, 等. MATLAB 神經(jīng)網(wǎng)絡(luò)仿真與應(yīng)用[J]. 2003.
[3] 程銘東, 詹亮. 多傳感器網(wǎng)絡(luò)目標(biāo)定位的一種算法及其實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與應(yīng)用, 2008, 44(7): 231-233.
[4] 宋俊鵬. 基于 Matlab 全球定位系統(tǒng)空間部分仿真[J]. 電子測(cè)量技術(shù), 2004 (4): 13-14.
[5] 費(fèi)揚(yáng), 杜慶治. 基于 Matlab 的 WiFi 室內(nèi)定位分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件導(dǎo)刊, 2018, 17(3): 117-120.
[6] 呂振, 趙鵬飛. 一種改進(jìn)的無(wú)線傳感器網(wǎng)絡(luò)加權(quán)質(zhì)心定位算法[J]. 計(jì)算機(jī)測(cè)量與控制, 2013, 21(4): 1102-1104.
[7] 彭燕. 無(wú)線傳感器網(wǎng)絡(luò)定位優(yōu)化算法及其仿真[J]. 計(jì)算機(jī)與數(shù)字工程, 2011, 39(3): 9-11.
[8] 葛文濤, 陳俊杰出. 基于三邊定位的WSN錨節(jié)點(diǎn)加權(quán)補(bǔ)償算法[J]. 測(cè)控技術(shù), 2010,29(9): 92-95.
[9] 王行甫, 戴福泉, 苗付友. 基于 TOA 的三維無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法[J]. 自動(dòng)化與儀表, 2008,23(12): 1-4.
作者簡(jiǎn)介:李明(1981.3—)男,漢,四川,研究生,工程師,研究方向:機(jī)場(chǎng)工程,單位:中國(guó)民用航空局第二研究所。