㈠ 无线传感器网络的定位算法的发展历史
这个问题问的太难了...这可以写一片硕士论文了。没有人会研究那么广的。只能说先是静态的定位,然后AD HOC网络也需要定位,那就出现了动态的。
目前来说,WSN的定位还是主要研究静态网络的定位。其方法从传统意义来讲分为:基于测距的定位算法和非基于测距的定位算法。以我推断,应该是基于测距的定位方法出现在先。
具体分类及方法接受你可以参照《location,localization,and localizability》第一作者:刘云浩。该文章出自英文版的《计算机科学与技术》希望能帮助你。
㈡ 高德地图网络定位原理
网络定位是根据你当前IP确定大概位置,GPS是实时定位追踪,根据手机内置GPS芯片连接卫星实时定位
㈢ 无线网络定位算法的程序。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))
㈣ 网络定位跟GPS定位有什么区别
回答:网络定位的共同特点是速度快,只要联网,瞬间可以定位,任何手机都可以秒定,网络定位有两种方式,一种是WIFI小区定位,是根据WIFI路由器所在位置进行定位,这种定位精度比较高,但不可靠。GPS是一个与手机、电脑都无关的东西,其名为全球定位系统,是利用卫星精确确定设备所在位置的功能,一般利用电脑软件,配合精确的地图使用。
㈤ 网络定位是什么意思
通过wifi或者手机数据网络来确定你的位置
精确度有点差 wifi应该精确到五米左右
手机网络的话看周围信号塔,一般在十米到1000米之间
㈥ wifi网络定位原理是怎样的
WiFi网络定位需要采集wifi接入点的位置信息。wifi热点越来越多,在城市中更趋向于空间任何一点都能接收到至少一个AP的信号。热点只要通电,都一定会向周围发射信号。信号中包含此热点的唯一全球ID。即使距离此热点比较远,无法建立连接,但还是可以侦听到它的存在。
热点一般都是很少变位置的,比较固定。定位端只要侦听一下附近都有哪些热点,检测一下每个热点的信号强弱,然后把这些信息发送给Skyhook的服务器。服务器根据这些信息,查询每个热点在数据库里记录的坐标,进行运算,就能知道客户端的具体位置了,再把坐标告诉客户端。只要收到的AP信号越多,定位就会越准。
㈦ 请问pc网络定位原理是什么原理
就是通过室内布置若干个已知坐标的定位基站,需要定位的人员携带定位标签,标签按照一定的频率发射脉冲,不断和已知位置的基站进行测距,通过一定的精确算法定出标签的位置!