Ⅰ 目前室內定位觀測量的方法有哪些超寬頻(UWB)人員定位系統採用的是什麼觀測量方法
不同的室內定位方法有不同的觀測量方法,目前,主要的觀測量方法有如下幾種: 1.RSSI測量:RSSI測量是通過計算信號的傳播損耗,可以使用理論或者經驗模型來將傳播損耗轉化為距離,也可以用於指紋定位建立指紋庫; 2.TOA測量:TOA方法主要測量信號在基站和移動台之間的單程傳播時間或來回傳播時間,TOA測量的定位方法為多邊定位; 3.TDOA測量:該方法同樣是測量信號到達時間,但使用到達時間差進行定位計算,可利用雙曲線交點確定移動台位置,故可以避免對基站和移動台的精確同步; 4.AOA測量:AOA方法是指接收機通過天線陣列測出電磁波的入射角度,包括測量基站信號到移動台的角度或者移動台信號到達基站的角度。 目前,市面上的超寬頻(UWB)人員定位系統主要應用以上幾種觀測量方法,也有的同時採取兩種不同的方法,像智物達超寬頻定位演算法有兩種,一種是測距演算法,即採用TOF(Time of Flight)的方式,計算A、B兩點電磁波飛行的時間,通過時間計算出兩點之間的距離。一種是時鍾同步演算法,通過計算到達時間差(TDOA:Time Difference of Arrival)來確定標簽和錨點之間的距離,然後通過三角定位的方式,計算出標簽的位置。
Ⅱ 常用的室內定位技術有哪些
室內定位在一些特定場合的實用性和必要 性已經日趨顯著,其應用前景廣闊,研究意義非常大,目前也是一個非常熱門的議題。本文闡述幾種常用的室內定位技術手段,並具體闡述這些技術的典型實例,對比其精度及優缺點。在比較中作者認為基於RFID的室內定位系統性價比比較高,對其進行詳細介紹。ZigBee則是一種基於RFID的能很好地解決室內定位的方案技術手段。
1 引言
隨著時代飛速變遷,科學技術迅猛發展,信息服務質量效率提高,受干擾度小,在人們的生活工作及科學研究中起到了非常重要的作用。室內定位技術非常實用,具有較大的拓展空間,其應用范圍廣泛,在復雜環境下,如圖書館,體育館,地下車庫,貨品倉庫等都可以實現對人員以及物品的快速定位。
室內定位系統有最基本的5種演算法:
(1) 起源蜂窩小區技術;
(2)時間到達法(TOA);
(3)時間到達差法(TDOA);
(4)信號強度法(RSSI);
(5)到達角度差法(AOA)。
常用的室內定位技術主要包括以下幾種:
(1) 基於超聲波定位技術;
(2) 基於紅外線的定位技術;
(3) 基於超寬頻的定位技術;
(4)射頻識別定位技術(WLAN、ZigBee)等。
2 幾種室內定位技術的比較
2.1 超聲波技術
超聲波定位目前大多數採用反射式測距法。系統由一個主測距器和若干個電子標簽組成,主測距器可放置於移動機器人本體上,各個電子標簽放置於室內空間的固定位置。定位過程如下:先由上位機發送同頻率的信號給各個電子標簽,電子標簽接收到後又反射傳輸給主測距器,從而可以確定各個電子標簽到主測距器之間的距離,並得到定位坐標。
目前,比較流行的基於超聲波室內定位的技術還有下面兩種:一種為將超聲波與射頻技術結合進行定位。由於射頻信號傳輸速率接近光速,遠高於射頻速率,那麼可以利用射頻信號先激活電子標簽而後使其接收超聲波信號,利用時間差的方法測距。這種技術成本低,功耗小,精度高。另一種為多超聲波定位技術。該技術採用全局定位,可在移動機器人身上4個朝向安裝4個超聲波感測器,將待定位空間分區,由超聲波感測器測距形成坐標,總體把握數據,抗干擾性強,精度高,而且可以解決機器人迷路問題。
定位精度:超聲波定位精度可達厘米級,精度比較高。缺陷:超聲波在傳輸過程中衰減明顯從而影響其定位有效范圍。
2.2 紅外線技術
紅外線是一種波長間於無線電波和可見光波之間的電磁波。典型的紅外線室內定位系統Active badges使待測物體附上一個電子標識,該標識通過紅外發射機向室內固定放置的紅外接收機周期發送該待測物唯一ID,接收機再通過有線網路將數據傳輸給資料庫。這個定位技術功耗較大且常常會受到室內牆體或物體的阻隔,實用性較低。
如果將紅外線與超聲波技術相結合也可方便地實現定位功能。用紅外線觸發定位信號使參考點的超聲波發射器向待測點發射超聲波,應用TOA基本演算法,通過計時器測距定位。一方面降低了功耗,另一方面避免了超聲波反射式定位技術傳輸距離短的缺陷。使得紅外技術與超聲波技術優勢互補。
定位精度:5~10m。缺陷:紅外線在傳輸過程中易於受物體或牆體阻隔且傳輸距離較短,定位系統復雜度較高,有效性和實用性較其它技術仍有差距。
2.3 超寬頻技術
超寬頻技術是近年來新興的一項無線技術,目前,包括美國,日本,加拿大等在內的國家都在研究這項技術,在無線室內定位領域具有良好的前景。UWB技術是一種傳輸速率高(最高可達1000Mbps以上),發射功率較低,穿透能力較強並且是基於極窄脈沖的無線技術,無載波。正是這些優點,使它在室內定位領域得到了較為精確的結果。超寬頻室內定位技術常採用TDOA演示測距定位演算法,就是通過信號到達的時間差,通過雙曲線交叉來定位的超寬頻系統包括產生、發射、接收、處理極窄脈沖信號的無線電系統。而超寬頻室內定位系統(如圖1所示)則包括UWB接收器、UWB參考標簽和主動UWB標簽。定位過程中由UWB接收器接收標簽發射的UWB信號,通過過濾電磁波傳輸過程中夾雜的各種雜訊干擾,得到含有效信息的信號,再通過中央處理單元進行測距定位計算分析。
圖1 UWB室內定位結構圖
基於超寬頻技術的室內定位系統典型實例為:Ubisense,其定位方法為三邊定位,定位精度為:6~10cm,缺陷:造價較高。
2.4 射頻識別技術
射頻定位技術實現起來非常方便, 而且系統受環境的干擾較小,電子標簽信息可以編輯改寫比較靈活。下面具體介紹該技術的相關應用。
3 基於射頻識別(RFID)的室內定位技術
3.1 RFID技術原理
射頻識別(RFID)技術是一種操控簡易,適用於自動控制領域的技術,它利用了電感和電磁耦合或雷達反射的傳輸特性,實現對被識別物體的自動識別。射頻(RF)是具有一定波長的電磁波,它的頻率描述為:kHz、MHz、GHz,范圍從低頻到微波不一。
Ⅲ 無線感測器網路體系結構包括哪些部分,各部分的
結構
感測器網路系統通常包括感測器節點EndDevice、匯聚節點Router和管理節點Coordinator。
大量感測器節點隨機部署在監測區域內部或附近,能夠通過自組織方式構成網路。感測器節點監測的數據沿著其他感測器節點逐跳地進行傳輸,在傳輸過程中監測數據可能被多個節點處理,經過多跳後路由到匯聚節點,最後通過互聯網或衛星到達管理節點。用戶通過管理節點對感測器網路進行配置和管理,發布監測任務以及收集監測數據。
感測器節點
處理能力、存儲能力和通信能力相對較弱,通過小容量電池供電。從網路功能上看,每個感測器節點除了進行本地信息收集和數據處理外,還要對其他節點轉發來的數據進行存儲、管理和融合,並與其他節點協作完成一些特定任務。
匯聚節點
匯聚節點的處理能力、存儲能力和通信能力相對較強,它是連接感測器網路與Internet 等外部網路的網關,實現兩種協議間的轉換,同時向感測器節點發布來自管理節點的監測任務,並把WSN收集到的數據轉發到外部網路上。匯聚節點既可以是一個具有增強功能的感測器節點,有足夠的能量供給和更多的、Flash和SRAM中的所有信息傳輸到計算機中,通過匯編軟體,可很方便地把獲取的信息轉換成匯編文件格式,從而分析出感測節點所存儲的程序代碼、路由協議及密鑰等機密信息,同時還可以修改程序代碼,並載入到感測節點中。
管理節點
管理節點用於動態地管理整個無線感測器網路。感測器網路的所有者通過管理節點訪問無線感測器網路的資源。
無線感測器測距
在無線感測器網路中,常用的測量節點間距離的方法主要有TOA(Time of Arrival),TDOA(Time Difference of Arrival)、超聲波、RSSI(Received Sig nalStrength Indicator)和TOF(Time of Light)等。
Ⅳ TOA TDOA RTOF的區別
我發現這個website,它解釋了這種差異。但是因為英語不是我的第一語言,所以我不確定我是否理解正確
據我了解,ToA:設備(例如)發送帶時間戳的信號。我知道無線電信號有多快,因此可以計算到達基站的時間與傳輸中的時間戳。 TDoA:設備向多個基站發送信號。那些電台有一個同步時鍾。現在距離是根據兩個基站到達時間之間的差值來計算的
TOA(Time of Arrival)即到達時間定位法。TDOA(Time Difference of Arrival)即到達時間差定位法。兩者都是基於電波傳播時間的定位方法。需要同時有三個位置已知的基站來協助定位。TOA基本原理是得到3個達到時間後,可以算出設備到三個基站的距離,然後根據幾何只是建立方程組並求解,從而求得Location值。TDOA則不立刻求解距離,而是先計算時間差,然後通過一些巧妙的數學演算法建立方程組並求解,從而得到Location值。由於TOA計算完全依賴於時間,對系統的時間同步要求很高,任何很小的時間誤差都會被放大很多倍,同時由於多徑效應的影響又會帶來很大的誤差,因而單純的TOA在實際中應用很少。DTOA由於其中巧妙設計的求差過程會抵消其中很大一部分的時間誤差和多徑效應帶來的誤差,因而可以大大提高定位的精確度。由於DTOA對網路要求相對較低,並且精度較高,因而目前已經成為研究的熱點。
Ⅳ WSN中常用的測距技術有哪些 (
其常用的測距技術有RSSI,TOA,TDOA和AOA。 4、無線感測器網路的拓撲控制問題是什麼? WSN的拓撲控制問題是在網路相關資源普遍受限的情況下,對於固定或具有移動特性的無線感測器網路通過控制感測器節點與無線鏈路組成網路的拓撲屬性來減少網路能量消耗與無線干擾,並有效改善整體網路的連通性、吞吐量、與傳播時延等性能指標。
Ⅵ 無線網路定位演算法的程序。TOA/RSSI什麼演算法的都可以,想找個程序作個參考。
我有matlab的。
太多了,我的QQ:39400877
%|
%| SCRIPT: simMLE
%|
%| PURPOSE: Simulate a relative location system by generating
%| random measurements and maximizing the likelihood fcn.
%| After many trials, show the results vs. the Cramer-Rao Bound.
%|
%| AUTHOR: Neal Patwari
%| http://www.engin.umich.e/~npatwari/
%|
%| REFERENCE: Relative Location Estimation in Wireless Sensor Networks
%| (N. Patwari, A. O. Hero, M. Perkins, N. S. Correal, R. J. O'Dea),
%| IEEE Trans. Signal Processing, vol. 51, no. 8, Aug. 2003, pp. 2137-2148.
%|
tic
% Use globals to allow minimization functions access to network info,
% debugging info.
global refDevices blindDevices totalDevices linearRefLocs dhat funcEvals dfuncEvals;
% Basic simulation parameters
roomSize = [1,1]; % Room size, meters
gridSize = 5; % How many sensors per side
refDevices = 4; % How many references (must be same length as actualRefLocs)
trials = 20; % How many indep trials to run
measMethod = 'R'; % Use 'R' for RSS, 'T' for TOA
totalDevices = gridSize^2;
blindDevices = totalDevices - refDevices;
blindCoords = 2*blindDevices;
actualRefLocs = [0,0; 0,1; 1,1; 1,0];
linearRefLocs = [actualRefLocs(:,1)', actualRefLocs(:,2)'];
% Optimization parameters
ftol = 0.00001;
if measMethod == 'R',
func = 'calcError'; % Use for RSS
dfunc = 'calcDError'; % Use for RSS
else
func = 'calcErrorTOA'; % Use for TOA
dfunc = 'calcDErrorTOA'; % Use for TOA
end
%| 1. Set up the blindfolded device locations
delta = 1/(gridSize-1);
coords = 0:delta:1;
xMatrix = ones(gridSize,1)*coords;
yMatrix = xMatrix';
xBlind = [xMatrix(2:gridSize-1), ...
xMatrix(gridSize+1:totalDevices-gridSize), ...
xMatrix(totalDevices-gridSize+2:totalDevices-1)];
yBlind = [yMatrix(2:gridSize-1), ...
yMatrix(gridSize+1:totalDevices-gridSize), ...
yMatrix(totalDevices-gridSize+2:totalDevices-1)];
actualBlindLocs = [xBlind', yBlind'];
actualAllLocs = [actualRefLocs; actualBlindLocs];
xActual = actualAllLocs(:,1)';
yActual = actualAllLocs(:,2)';
actualDist = L2_distance(actualAllLocs', actualAllLocs',0);
%| 2. Define the channel model
if measMethod == 'R';
sigmaOverN = 1.7;
% If C==1, then this simulation runs the _true_ MLE.
% If C==exp( 0.5* (log(10)/10 *sigmaOverN)^2), then this runs a
% bias-corrected (pseudo-) MLE.
% C = exp( 0.5* (log(10)/10 *sigmaOverN)^2);
C = 1;
else
sigma_d = 0.2; % Use for TOA
end
for trial = 1:trials,
if measMethod == 'R';
%| 3.0 Generate a random set of RSS-based distance measurements. When RSS
%| is expressed in dB, errors are Gaussian. Here, dhat is an interim
%| variable which has units of distance, and represents an estimate for
%| the range. It is correctly randomly generated as follows:
dhat = actualDist.*10.^(sigmaOverN/10 .*symrandn(totalDevices))./C;
else
%| 3.1 Generate a set of TOA measurements, which are Gaussian around the
%| true value with variance sigma_d.
dhat = actualDist + sigma_d .* symrandn(totalDevices);
end
%| 4. Make an initial guess of the coordinates.
blindLocs0 = [xBlind, yBlind]; % Use the true coordinates (unrealistic but best case)
%| 5. Find optimum locations of neurfons (fixed and relative)
funcEvals = 0; dfuncEvals = 0;
[coordsMLE, iter, errorMin] = frprmn(blindLocs0, ftol, func, dfunc, 0);
disp(sprintf('%d: Function / Deriv. evals: %d / %d.', trial, funcEvals, dfuncEvals));
%| 6. Save the resulting estimated coords
coordEsts(trial, 1:blindCoords) = coordsMLE;
end % for trial
estMean = mean(coordEsts);
estCov = cov(coordEsts);
estVars = diag(estCov);
estStds = sqrt(estVars);
locVars = estVars(1:blindDevices) + estVars((blindDevices+1):(2*blindDevices));
locStd = sqrt(locVars);
toc % show time of execution
% Plot the location estimates for sensors, one at a time.
if 0,
figure
for i=1:blindDevices,
clf
plot(coordEsts(:,i), coordEsts(:,blindDevices+i),'.', ...
estMean(i), estMean(blindDevices+i), 'ro')
hold on
set(gca,'xlim',[-0.2 1.2])
set(gca,'ylim',[-0.2 1.2])
set(gca,'FontSize',20)
set(gca,'DataAspectRatio',[1 1 1])
xlabel('X Position (m)')
ylabel('Y Position (m)')
set(gca,'xTick',0:0.25:1)
set(gca,'yTick',0:0.25:1)
grid;
pause;
end
end
% Calculate and plot CRB vs. estimator performance.
figure; clf;
if measMethod == 'R';
[locstdCRB, coordCRB] = calcLocalizationCRB('R', [xBlind, actualRefLocs(:,1)'], ...
[yBlind, actualRefLocs(:,2)'], blindDevices, totalDevices, sigmaOverN);
else
[locstdCRB, coordCRB] = calcLocalizationCRB('T', [xBlind, actualRefLocs(:,1)'], ...
[yBlind, actualRefLocs(:,2)'], blindDevices, totalDevices, sigma_d);
end
for i=1:blindDevices,
hold on
R = cov(coordEsts(:,i), coordEsts(:,blindDevices+i));
drawOval(estMean(i), estMean(blindDevices+i), R, 'k-','v', 8, 0, 1);
R_CRB = coordCRB([i, i+blindDevices],[i, i+blindDevices]);
drawOval(xBlind(i), yBlind(i), R_CRB, 'r--','.',20, 0, 1);
end
set(gca,'xlim',[-0.2 1.2])
set(gca,'ylim',[-0.2 1.2])
set(gca,'FontSize',18)
set(gca,'DataAspectRatio',[1 1 1])
xlabel('X Position (m)')
ylabel('Y Position (m)')
set(gca,'xTick',0:0.25:1)
set(gca,'yTick',0:0.25:1)
grid;
% Use for comparison
RMS_est_Std = sqrt(mean(locStd.^2))
RMS_crb_Std = sqrt(mean(locstdCRB.^2))