1 简介

提出了一种基于粒子群退火算法和RSSI的无线传感器网络的节点定 位算法.首先利用RSSI测距技术收集网络中节点间的通信讯息和距离估计,并优选信标节点;其次通过将定位问题视为一种优化问题,采用粒子群退火算法优化未 知节点的定位结果.仿真实验结果表明,所提出的定位算法有较高的定位精度.

【定位问题】基于模拟退火粒子群算法求解无线传感器网络中基于RSSI测距定位问题含Matlab源码_5e

【定位问题】基于模拟退火粒子群算法求解无线传感器网络中基于RSSI测距定位问题含Matlab源码_粒子群_02

【定位问题】基于模拟退火粒子群算法求解无线传感器网络中基于RSSI测距定位问题含Matlab源码_粒子群_03

【定位问题】基于模拟退火粒子群算法求解无线传感器网络中基于RSSI测距定位问题含Matlab源码_技术收集_04

【定位问题】基于模拟退火粒子群算法求解无线传感器网络中基于RSSI测距定位问题含Matlab源码_技术收集_05

【定位问题】基于模拟退火粒子群算法求解无线传感器网络中基于RSSI测距定位问题含Matlab源码_粒子群_06

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 仿真结果

【定位问题】基于模拟退火粒子群算法求解无线传感器网络中基于RSSI测距定位问题含Matlab源码_5e_07

4 参考文献

[1]范玉红, 彭宏, 朱陈良,等. 一种基于遗传模拟退火算法和RSSI的无线传感器网络定位算法[J]. 西华大学学报:自然科学版, 2010, 29(6):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【定位问题】基于模拟退火粒子群算法求解无线传感器网络中基于RSSI测距定位问题含Matlab源码_粒子群_08