在CSDN上共享了7个经典定位算法的MATLAB代码
来源:互联网 发布:windows一直检查更新 编辑:程序博客网 时间:2024/05/29 19:05
CSDN没分了,共享以前写过的WSN节点定位算法的matlab代码(不是整理别人的,都是自己写的,下载需要10分:)
算法包括: RSSI, Centroid, APIT, DV-hop, Amorphous, Bounding Box, Grid Scan, MDS-MAP
另外还包括:
A. 场景布置,可设置: 1. 节点分布区域: 正方形 C型; 2. 节点分布方式: 随机 规则(可设置规则分布的布置误差);
3. 锚节点比例; 4. GPS误差;
B. 可选择通信模型: 1.规则的通信模型(通信区域是一个标准的圆形); 2. DOI Model; 3. Logarithmic Attenuation Model;
可研究算法在不规则通信模型下的性能;
C. 附3个画图脚本:节点分布图,节点邻居关系图(拓扑图),节点定位误差图
运行脚本如下:
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clear;
clc;
close all;
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~布置节点,画节点分布图~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd 'Deploy Nodes'
square_random(1000,300,0.2);%布置节点 GPS误差为缺省0 %square_random(1000,300,0.2,30) GPS误差为30m
%C_random([1000,300,300,700],240,0.2);
%square_regular(1000,100,0.1,0.2);
%C_regular([1000,300,300,700],100,0.1,0.2);
Distribution_Of_WSN;%画节点分布图
cd ..;
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% ~~~~~~~~~~~~ 给定通信半径,选择通信模型,计算邻居关系,画邻居关系图~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd 'Topology Of WSN';
comm_r=200;%给定通信半径
%~~~~~~~~~~~~~~~~~~选择通信模型~~~~~~~~~~~~~~~~~
model='Regular Model';
%model='Logarithmic Attenuation Model';
%disp('时间可能较长...');model='DOI Model';DOI=0.015;
%disp('时间可能较长...');model='RIM Model';DOI=0.01;
%~~~~~~~~~~~~~~~~~~计算邻居关系~~~~~~~~~~~~~~~~~
anchor_comm_r=1; %锚节点的通信半径是未知节点通信半径的倍数
%anchor_comm_r参数只在APIT中更改,其他的算法统一设置为1(表示规则网络,所有节点的通信半径一样)
%它表示锚节点通信半径是未知节点通信半斤的倍数。
%APIT针对的WSN是异构的,锚节点通信半径比未知节点的大。
try
calculate_neighbor(comm_r,anchor_comm_r,model,DOI);
catch
calculate_neighbor(comm_r,anchor_comm_r,model);
end
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Topology_Of_WSN;%画邻居关系图
cd ..;
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~选择定位算法~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%cd Centroid;Centroid(20,0.9);%Centroid_second(20,0.9);%Centroid_third(...
%cd 'Bounding Box';Bounding_Box;%Bounding_Box_second;%Bounding_Box_third;
%cd 'Grid Scan';Grid_Scan(0.1*comm_r);%Grid_scan_second(...
%cd RSSI;RSSI;%RSSI_second;%RSSI_third;
%~~~~~~~~~~~~~~~~~~~~~~~~
cd 'DV-hop';DV_hop; %如要运行DV-hop,就将前面的'%'去掉
%cd Amorphous;Amorphous;
%cd APIT;APIT(0.1*comm_r);
%dist_available=false;cd 'MDS-MAP';MDS_MAP(dist_available);
cd ..
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~计算定位误差,画定位误差图~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd 'Localization Error'
calculate_localization_error;
cd ..;
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
目录结构说明:
CSDN下载地址:http://download.csdn.net/source/2798949
算法包括: RSSI, Centroid, APIT, DV-hop, Amorphous, Bounding Box, Grid Scan, MDS-MAP
另外还包括:
A. 场景布置,可设置: 1. 节点分布区域: 正方形 C型; 2. 节点分布方式: 随机 规则(可设置规则分布的布置误差);
3. 锚节点比例; 4. GPS误差;
B. 可选择通信模型: 1.规则的通信模型(通信区域是一个标准的圆形); 2. DOI Model; 3. Logarithmic Attenuation Model;
可研究算法在不规则通信模型下的性能;
C. 附3个画图脚本:节点分布图,节点邻居关系图(拓扑图),节点定位误差图
运行脚本如下:
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clear;
clc;
close all;
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~布置节点,画节点分布图~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd 'Deploy Nodes'
square_random(1000,300,0.2);%布置节点 GPS误差为缺省0 %square_random(1000,300,0.2,30) GPS误差为30m
%C_random([1000,300,300,700],240,0.2);
%square_regular(1000,100,0.1,0.2);
%C_regular([1000,300,300,700],100,0.1,0.2);
Distribution_Of_WSN;%画节点分布图
cd ..;
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% ~~~~~~~~~~~~ 给定通信半径,选择通信模型,计算邻居关系,画邻居关系图~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd 'Topology Of WSN';
comm_r=200;%给定通信半径
%~~~~~~~~~~~~~~~~~~选择通信模型~~~~~~~~~~~~~~~~~
model='Regular Model';
%model='Logarithmic Attenuation Model';
%disp('时间可能较长...');model='DOI Model';DOI=0.015;
%disp('时间可能较长...');model='RIM Model';DOI=0.01;
%~~~~~~~~~~~~~~~~~~计算邻居关系~~~~~~~~~~~~~~~~~
anchor_comm_r=1; %锚节点的通信半径是未知节点通信半径的倍数
%anchor_comm_r参数只在APIT中更改,其他的算法统一设置为1(表示规则网络,所有节点的通信半径一样)
%它表示锚节点通信半径是未知节点通信半斤的倍数。
%APIT针对的WSN是异构的,锚节点通信半径比未知节点的大。
try
calculate_neighbor(comm_r,anchor_comm_r,model,DOI);
catch
calculate_neighbor(comm_r,anchor_comm_r,model);
end
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Topology_Of_WSN;%画邻居关系图
cd ..;
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~选择定位算法~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%cd Centroid;Centroid(20,0.9);%Centroid_second(20,0.9);%Centroid_third(...
%cd 'Bounding Box';Bounding_Box;%Bounding_Box_second;%Bounding_Box_third;
%cd 'Grid Scan';Grid_Scan(0.1*comm_r);%Grid_scan_second(...
%cd RSSI;RSSI;%RSSI_second;%RSSI_third;
%~~~~~~~~~~~~~~~~~~~~~~~~
cd 'DV-hop';DV_hop; %如要运行DV-hop,就将前面的'%'去掉
%cd Amorphous;Amorphous;
%cd APIT;APIT(0.1*comm_r);
%dist_available=false;cd 'MDS-MAP';MDS_MAP(dist_available);
cd ..
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~计算定位误差,画定位误差图~~~~~~~~~~~~~~~~~~~~~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd 'Localization Error'
calculate_localization_error;
cd ..;
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
目录结构说明:
CSDN下载地址:http://download.csdn.net/source/2798949
- 在CSDN上共享了7个经典定位算法的MATLAB代码
- 我在CSDN上共享的资源
- 动手给自己的Blog做了个整容手术,决定在CSDN上安家了
- 动手给自己的Blog做了个整容手术,决定在CSDN上安家了
- 动手给自己的Blog做了个整容手术,决定在CSDN上安家了
- 终于在CSDN上安了个家……
- 第一次在CSDN上建了个BOLG!
- 在贴子上看到的经典题,与大家共享。
- 经典的重定位代码
- 经典的重定位代码
- 经典的重定位代码
- 经典的重定位代码
- 在csdn上安家了!~~~~~~~~~~~~~~~
- 安家了 在csdn上
- 在安装了zonealarm的机器上实现共享上网
- 5个经典的C语言基础算法及代码
- 免疫算法主程序在matlab上的实现
- 新换的博客 。。呵呵 在csdn上安家了。。。
- 解决Windows 程序界面闪烁问题的一些经验
- 随机访问数组中第i大的元素
- 双缓冲技术绘图及GDI简单截屏
- 集体智慧编程_前言
- 并口规范
- 在CSDN上共享了7个经典定位算法的MATLAB代码
- Lucene:基于Java的全文检索引擎简介--车东老师
- using ntsd or cdb instead of drwtsn32 to generate a
- vi命令
- memset的使用
- 突然想总结自己
- IXWebHosting优惠码/优惠链接
- 关于 GDI PS_INSIDEFRAME
- Windows Phone 7 开发 31 日谈——第2日:页面导航