1 简介
提出了一种基于粒子群退火算法和RSSI的无线传感器网络的节点定 位算法.首先利用RSSI测距技术收集网络中节点间的通信讯息和距离估计,并优选信标节点;其次通过将定位问题视为一种优化问题,采用粒子群退火算法优化未 知节点的定位结果.仿真实验结果表明,所提出的定位算法有较高的定位精度.
2 部分代码
%将接收信号强度转化为距离
%发射信号经衰减到达接收端,根据接收信号的强弱计算T-R距离
%接收功率Pr本应由实际测量而得
%但在没有实验设备的情况下,也可以利用假定的未知节点得出模拟测量值
%方法为:根据假定的未知节点位置,各信标节点得到精确的接收功率
%在此基础上加上高斯随机变量作为环境干扰,将此接收功率作为Pr的测量值
%再将Pr的测量值作为RSSI来求出T-R距离
%将区域划分为若干个邻的三角形,将信标节点分别置于三角形的顶点
%也可以说是将传感器节点随意但尽量均匀地投放在区域中,经过自身定位后作为信标节点
%未知节点向周围发射定位信号,各信标节点接收后利用RSSI测距算法得到它们距未知节点的距离
%从这些距离中选取三个最小的距离,将其对应的信标节点作为选定信标节点
%以保证未知节点在选定信标节点构成的三角形内部
%以下程序中的T-R距离都指的是选定信标节点与未知节点的距离
function [r] = Distance(d,a)
PtW = 10e3; %单位是W
Pt = 10*log10(PtW); %单位是dB
f = 9e8; %载频,单位是Hz
n = 2; %路径损耗指数
d0 = 20; %近地参考距离,单位是m
%d = 100*sqrt(13) %选定信标节点与未知节点之间的精确T-R距离,单位是m
c = 3*10^8; %光速,单位是m/s
lamda = c/f; %波长,单位是m
Gt = 1;Gr = 1;L = 1; %Gt为发射天线增益;Gr为接收天线增益;L为与传播无关的系统损耗因子(不小于1)
%PL0为近地参考距离的路径损耗
%PrW = PtW*Gt*Gr*lamida^2/((4*pi)^2*d0^2*L) %单位是W
%PL0 = 10*log10(Pt/Pr) %单位是dB
PL0 = -10*log10(Gt*Gr*lamda^2/((4*pi)^2*d0^2*L)); %单位是dB
Pr0 = Pt-PL0; %单位是dB
%PL为精确T-R距离的路径损耗;Pr为信标节点的接收功率
PL = PL0+10*n*log10(d/d0); %单位是dB
Pr = Pt - PL; %单位是dB
PrW = 10^(Pr/10); %单位是W
%RSSI为接收信号强度指示,此处为包含高斯随机变量的接收功率
%Xn为零均值的高斯分布随机变量,标准差为cigema
%PrG为加上高斯随机变量的接收功率,利用它来模拟接收功率的测量值,单位是dB
cigema = 11.8; %单位是dB
N = 5e3;
Xn = normrnd(0,cigema,N,1);
X = mean(Xn); %均值
PrG = Pr+X; %单位是dB
PrGW = 10^(PrG/10); %单位是W
RSSI = PrGW; %单位是W
%r为求出的T-R距离;a为参数,随距离范围而改变
%RSSI = a*(1/r)^2
%a = 7; %在所选信标节点的距离范围内,经反复测试,此参数较为合适
r = 1/sqrt(RSSI/a);
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
3 仿真结果
4 参考文献
[1]范玉红, 彭宏, 朱陈良,等. 一种基于遗传模拟退火算法和RSSI的无线传感器网络定位算法[J]. 西华大学学报:自然科学版, 2010, 29(6):4.