基于ZigBee的物聯(lián)網(wǎng)故障定位系統(tǒng)設(shè)計(jì)
傳統(tǒng)的無(wú)線定位算法受到非視距、多徑干擾、信道噪聲等因素的影響,無(wú)線定位精度往往不高。本文提出一種基于面積的定位算法。該算法以基站之間實(shí)際面積不變?yōu)榛A(chǔ),測(cè)量移動(dòng)終端與各基站間的距離,通過誤差處理,實(shí)現(xiàn)對(duì)移動(dòng)終端的精確定位。仿真試驗(yàn)證明,該算法定位精度較高。
無(wú)線通信、微處理器技術(shù)的不斷進(jìn)步推動(dòng)了無(wú)線定位技術(shù)的發(fā)展。近年來,無(wú)線定位技術(shù)在軍事、智能交通、醫(yī)療管理、智能家居等多個(gè)方面得到了廣泛的應(yīng)用。對(duì)人們的生活帶來了不可替代的作用。
1 概述
在無(wú)線定位算法中,場(chǎng)強(qiáng)定位算法最簡(jiǎn)單,但定位精度較差;AOA定位雖有一定精度,但接收設(shè)備較復(fù)雜;TOA定位精度較高,但對(duì)時(shí)間同步有較高要求;TDOA能消除對(duì)時(shí)間基準(zhǔn)的依賴,可降低成本并保持一定的定位精度。但以上算法均不能降低不同信道上不同干擾。
基于面積的定位算法能夠計(jì)算出實(shí)際面積與測(cè)量求得的面積誤差,對(duì)誤差進(jìn)行處理后,能夠降低各信道上的干擾。
2 基于面積的無(wú)線定位算法
為便于理解,將基站數(shù)量定位4個(gè),分別位于邊長(zhǎng)為30m的正方形4個(gè)端點(diǎn)A、B、C、D處。移動(dòng)終端P位于正方形內(nèi)。平面分布圖如圖1所示。
圖1 平面分布圖
Fig.1 The plane distribution map
通過采集基站的數(shù)據(jù)可以得到移動(dòng)終端到基站A、B、C、D的距離,假設(shè)分別為Ra、Rb、
式中,
由于傳輸過程受到非視距、多徑干擾、信道噪聲等因素的影響,數(shù)據(jù)Ra、Rb、Rc、Rd中摻雜了各種噪聲干擾,求得的△APB、△BPC、△CPD、△DPA的面積之和S不等于實(shí)際的正方形面積900,則可求出誤差:
因?yàn)閑是總面積的誤差,將e等分為4份,則△DPA、△APB的面積誤差約為e/4。再利用△DPA、△APB的邊AD和AB均為30,可求出移動(dòng)節(jié)點(diǎn)到正方形邊AD、AB的距離為;
則(x y)就是經(jīng)過誤差修正后的點(diǎn)P的坐標(biāo)。
為了進(jìn)一步降低誤差e對(duì)定位精度的影響,單位時(shí)間內(nèi)增加采集次數(shù),將求得的點(diǎn)P坐標(biāo)取平均值。
3 實(shí)驗(yàn)仿真
根據(jù)以上原理進(jìn)行MATLAB仿真,為方便觀察,以y=5作為輸入運(yùn)動(dòng)路徑。在移動(dòng)終端和4個(gè)基站的各信道上添加4個(gè)不同的隨機(jī)噪聲。仿真程序如下:
X=0:0.01:30;
n1=randn(size(X));
n2=randn(size(X));
n3=randn(size(X));
n4=randn(size(X));
Y=5;
Ra=sqrt(Y.^2+X.^2)+n1;
Rb=sqrt((30-X).^2+Y.^2)+n2;
Rc=sqrt((30-X).^2+(30-Y).^2)+n3;
Rd=sqrt(X.^2+(30-Y).^2)+n4;
R1=(Ra+Rd+30)/2;
R2=(Ra+Rb+30)/2;
R3=(Rb+Rc+30)/2;
R4=(Rc+Rd+30)/2;
S1=sqrt(abs(R1.*(R1-Ra).*(R1-Rd).*(R1-30)));
S2=sqrt(abs(R2.*(R2-Ra).*(R2-Rb).*(R2-30)));
S3=sqrt(abs(R3.*(R3-Rb).*(R3-Rc).*(R3-30)));
S4=sqrt(abs(R4.*(R4-Rc).*(R4-Rd).*(R4-30)));
e=S1+S2+S3+S4-900;
x=(S1-e/4)./15;
y=(S2-e/4)./15;
for i = 1:2950 %對(duì)每50個(gè)數(shù)據(jù)均值
sum = 0;
for j = i : i+49;
sum = sum + x(j);
end
x(i) = sum /50;
end
for i = 1:2950
sum = 0;
for j = i : i+49;
sum = sum + y(j);
end
y(i) = sum /50;
end
plot(x,y,'*');
進(jìn)行誤差處理的MATLAB運(yùn)動(dòng)軌跡仿真圖和未進(jìn)行誤差處理的MATLAB運(yùn)行軌跡仿真圖如圖2和圖3所示。
圖2 誤差處理后的MATLAB運(yùn)動(dòng)軌跡仿真圖
Fig.2 MATLAB trajectory simulation map error after treatment

圖3 未進(jìn)行誤差處理的MATLAB運(yùn)動(dòng)軌跡仿真圖
Fig.3 No MATLAB trajectory simulation map error processing
由圖2和圖 3可以看到,求得的點(diǎn)P坐標(biāo)進(jìn)行誤差處理后能有效地減弱各信道上的噪聲干擾,提高系統(tǒng)的定位精度。
由圖2可以看出,當(dāng)x值較小或較大時(shí),由于無(wú)法充分對(duì)求得的坐標(biāo)求均值,坐標(biāo)數(shù)值浮動(dòng)較大。由此可知單位時(shí)間內(nèi)對(duì)數(shù)據(jù)的采集次數(shù)越多,求均值的坐標(biāo)組數(shù)越多,數(shù)據(jù)的浮動(dòng)越小,定位越準(zhǔn)確。
4 結(jié)束語(yǔ)
本文提出了一種基于面積的無(wú)線定位算法,并利用Matlab仿真軟件進(jìn)行了仿真。實(shí)驗(yàn)結(jié)果表明,該算法能在各信道中存在不同干擾的情況下,得到測(cè)量的總面積與實(shí)際總面積的誤差,對(duì)誤差進(jìn)行處理后能有效的降低干擾對(duì)定位系統(tǒng)的影響,提高定位的精度。
基金項(xiàng)目:山東科技大學(xué)2012-2013年度研究生科技創(chuàng)新基金項(xiàng)目。