【WSN定位】遗传算法无线传感器网络定位【含Matlab源码 3919期】

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

⛄一、遗传算法无线传感器网络定位简介

1 无线传感器网络定位
无线传感器网络目标定位方式主要如下:
(1)主动模式
基于距离的定位:测量节点间距离或方位时采用的方法有:到达时间T0A(TOA,Time Of Arrive),到达时间差TDOA,到达角度AOA,接收信号强度指示RSSI。目前常选择RSSI来进行跟踪定位。基于距离的定位方法虽然能够达到很好的精度,但共同缺点都是需要节点间的严格同步,且能量消耗大。
(2)被动模式
与距离无关的定位中,一种方法是对节点到目标间的距离进行估计,然后通过三边测量法或极大似然估计法进行定位。还有一种方法是将包含目标的区域中心或离目标最近的节点位置作为目标位置。
(3)基于声波衰减模型的定位
这种方法需要根据经验测量获得比较接近实际的模型,因此在定位误差上有待提高。
无线传感器网络的许多应用要求节点知道自身的位置信息,才能向用户提供有用的检测服务。没有节点位置信息的监测数据在很多场合下是没有意义的。比如,对于森林火灾检测、天然气管道监测等应用,当有事件发生时,人们关心的一个首要问题就是事件发生在哪里,此时如果只知道发生了火灾却不知道火灾具体的发生地点,这种监测没有任何实质的意义,因此节点的位置信息对于很多场合是至关重要的。

在许多场合下,传感器节点被随机部署在某个区域,节点事先无法知道自身的位置,因此需要在部署后通过定位技术来获取自身的位置信息。目前最常见的定位技术就是GPS(Global Positioning System)了,它能够通过卫星对节点进行定位,并且能够达到比较高的精度。因此要想对传感器节点进行定位,最容易想到的方法就是给每个节点配备一个GPS接收器,但是这种方法不适用于传感器网络,主要原因有以下几点:

1)GPS接收器通常能耗高,而对于无线传感器网络中的节点来说,一般能耗很有限,给每个节点配备一个GPS接收器会大大缩短网络寿命;

2)GPS接收器成本比较高,给无线传感器网络中的每个节点配备一个GPS接收器,需要投入很大成本,尤其对于大规模的无线传感器网络来说不是很适合;

因此来说,很有必要来研究一下这些算法,能够适合无线传感器的网络的技术。

1)节点定位的基本概念;

无线传感器网络中的节点定位是指传感器节点根据网络中少数已知节点的位置信息,通过一定的定位技术确定网络中其他节点的位置信息的过程。

在无线传感器网络中节点通常可以分为信标节点(beacon node or anchor node)和未知节点(unknown node),其中信标节点也称为锚节点或者参考点,未知节点也称为普通节点。信标节点是位置信息已知的节点,未知节点是未知信息未知的节点。信标节点一般所占比例很小,通常通过手工配置或者配备GPS接收器来获取自身的位置信息。

2)节点定位的基本思路

节点定位的基本思路主要有两种:

1.基于测距(Range-based):假设在传感器网络中某些节点位置信息已知,通过某些手段来估算其他节点的位置信息。在这里面通常有两个步骤:

测距
位置估算
通常测距的方法有4种:
1)基于到达时间(TOA)的测距
这种方法是根据已知信号的传播速度及信号在发送节点和接收节点之间的传播时间来估算距离,这种方法要求能够非常精确地获取发送节点和接收节点之间的传播时延,这个是比较困难的,难度很大,不太适合无线传感器网络。

2)基于到达时间差(TDOA)的测距
这种方法中发送节点同时发送两种不同传播速度的信号、接收节点根据两种信号到达的时间差和他们的传播速度来计算距离。假若两种信号的传宝速度为v1和v2,到达时间分别为t1和t2,发送节点到接收节点的距离为d,则有:
t1-t2=d/v1-d/v2
可得d=(t1-t2)v1v2/(v2-v1)

3)基于到达角度(AOA)的测距

这种方法根据接收信号到达时候与自身轴线的角度来计算,这种方法对硬件成本要求很高,要求配备天线阵列,不太适合无线传感器网络

4)基于接收信号强度(RSS)的测距

信号在传播过程中会有衰减,无线信号的发射功率和接收功率存在某种映射关系,因此可以利用关系这个来估算距离,

通常测距的方法有4种:
1)基于到达时间(TOA)的测距
这种方法是根据已知信号的传播速度及信号在发送节点和接收节点之间的传播时间来估算距离,这种方法要求能够非常精确地获取发送节点和接收节点之间的传播时延,这个是比较困难的,难度很大,不太适合无线传感器网络。

2)基于到达时间差(TDOA)的测距
这种方法中发送节点同时发送两种不同传播速度的信号、接收节点根据两种信号到达的时间差和他们的传播速度来计算距离。假若两种信号的传宝速度为v1和v2,到达时间分别为t1和t2,发送节点到接收节点的距离为d,则有:
t1-t2=d/v1-d/v2
可得d=(t1-t2)v1v2/(v2-v1)

3)基于到达角度(AOA)的测距
这种方法根据接收信号到达时候与自身轴线的角度来计算,这种方法对硬件成本要求很高,要求配备天线阵列,不太适合无线传感器网络

4)基于接收信号强度(RSS)的测距
信号在传播过程中会有衰减,无线信号的发射功率和接收功率存在某种映射关系,因此可以利用关系这个来估算距离。

2 遗传算法无线传感器网络定位
遗传算法是一种基于生物进化理论的优化算法,它通过模拟自然选择、交叉和变异等操作来搜索最优解。在无线传感器网络定位中,遗传算法可以用于优化节点的位置,以实现定位精度的提高。

具体而言,遗传算法无线传感器网络定位的原理如下:
(1)问题建模:将无线传感器网络定位问题转化为一个优化问题,即找到最优的节点位置使得定位误差最小化。
(2)个体编码:将每个节点的位置表示为一个个体,通常使用二进制编码或实数编码来表示节点的坐标。
(3)初始种群生成:随机生成一组初始个体作为种群,每个个体代表一个可能的节点位置解。
(4)适应度评估:根据节点位置解计算适应度函数,该函数衡量了节点位置解的好坏程度,通常使用定位误差作为适应度的评价指标。
(5)选择操作:根据适应度函数的值,选择一部分个体作为父代,用于产生下一代个体。
(6)交叉操作:对选出的父代个体进行交叉操作,生成新的个体。
(7)变异操作:对新生成的个体进行变异操作,引入随机性,增加种群的多样性。
(8)更新种群:将新生成的个体加入到种群中,替换掉适应度较差的个体。
(9)终止条件判断:根据预设的终止条件(如达到最大迭代次数或满足一定的适应度要求),判断是否终止算法。
(10)返回最优解:当终止条件满足时,返回适应度最好的个体作为最优解,即节点的最优位置。

⛄二、部分源代码

%Generic Algorithm for function f(x1,x2) optimum
clear all;
clc;
close all;

%Parameters
Size=100;%种群数量
G=100; %迭代次数
CodeL=10;%编码长度
NodeNum=7;%锚节点数目
NodeP=[0 1;1 3;2 1;3 4.2;4 3;1.2 3.9;3.4 2.8];%锚节点取值
AimNum=5;%目标节点数目
AimP=[1.2 2.4;2.5 1.4;0.4 3;2.5 3.2;3.6 3.5];%目标点,验证用.
%for j=1:AimNum
% for i=1:NodeNum
% D(j,i)=roundn(sqrt(sum((NodeP(i,:)-AimP(j,:)).^2)),-1);%网络节点定位为已知条件(距离Di,各锚节点(信标节点)点坐标)
% end
%end
%D=[sqrt(2) sqrt(2) sqrt(2)];%与各锚节点的距离
D=[1.8,0.6,1.6,2.5,2.9,1.5,2.2;2.5,2.2,0.6,2.8,2.2,2.8,1.7;…
2,0.6,2.6,2.9,3.6,1.2,3;3.3,1.5,2.3,1.1,1.5,1.5,1;…
4.4, 2.6,3,0.9,0.6,2.4,0.7];
umax=10;%变量区间
umin=-10;%01区间

%Main Program
for a=1:AimNum
E=round(rand(Size,2CodeL));%初始编码,round四舍五入,rand(Size,2CodeL)产生80*20矩阵,元素(0,1)随机取,服从均匀分布
for k=1:G
time(k)=k;
for s=1:Size
m=E(s,:);%取矩阵的第s行
y1=0;y2=0;%两个变量在零一区间的初始值

        %Uncoding
        m1=m(1:CodeL);%取前10个元素,解码生成y1
        for i=1:CodeL
            y1=y1+m1(i)*2^(i-1);
        end
        x1=(umax-umin)*y1/1023+umin;%将解码出来的结果转换到区间内
        m2=m((CodeL+1):(2*CodeL));% 取另外十个元素,解码生成y2
        for i=1:CodeL
            y2=y2+m2(i)*2^(i-1);
        end

        x2=(umax-umin)*y2/1023+umin;%将解码出来的结果转换到区间内

        for i=1:NodeNum
            F1(i)=sum((NodeP(i,:)-[x1,x2]).^2);% 求到信标节点距离
        end
        [F2 Idx]=sort(F1);%从小到大排列
        Idx_r(a,:)=Idx(1:3);

        F(s)=0;
        for i=1:3
            F(s)=abs(sqrt(sum((NodeP(Idx(i),:)-[x1,x2]).^2))-D(a,Idx(i)))+F(s);% 最优函数,n个节点1,2,3,4....n误差求和,使最优函数最小
        end
        F(s)=1./F(s);%见第70行
    end

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 周凯,周培钊,付文涵,魏胜非.无线传感器网络的改进DV-hop定位算法研究[J].东北师大学报(自然科学版). 2021,53(04)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值