无线传感器网络SECA 算法
来源:互联网 发布:淘宝工作室工作靠谱吗 编辑:程序博客网 时间:2024/06/10 07:50
[WSNs] SECA 算法
- 创建阶段
这个阶段主要的目标是创建簇和发现簇头节点。在创建期间,基站收集所有节点的位置和能量水平信息。由于节点是固定的,所以可以计算出初始的聚类点。令C 是左右节点的中心点,假设有 n 个传感器节点,C 可以定义为:C=∑ni=1Xin Xi 是第 i 个节点的坐标。
定义R 为所有节点到中心节点C 的平均距离:R=∑ni=1∣Xi−C∣n
根据C 和R 可以求出第 i 个初始聚类点mi(mix,miy) :{mix=R×cos(360k×(i−1)×π180)+Cxmiy=R×sin(360k×(i−1)×π180)+Cy
k 是聚类点个数可以由以下式子计算:k=⌈n√2π‾‾‾√ϵfsϵmp‾‾‾‾√Md2toBS⌉
n 为节点数,M 为方形场地的边界,dtoBS 是所有节点到基站的距离的均值。
k-means 算法将 n 个节点分到 k 个簇中,分类的依据是节点到簇的距离最短。该发可以表示为:avgS min∑i=1k∑Xj∈Si∣Xj−mi∣2 Si 表示第 i 个簇,Xi 表示节点 j 的坐标,mi 是聚类点的坐标。
为了满足上式,我们需要迭代 t 次,得到最聚类点到节点均值的最小值。第 t 轮分簇可以表示为:S(t)i={Xj:∣∣Xj−m(t)i∣∣2≤∣∣Xj−m(t)i∗∣∣2for all i∗=1,⋯,k}
当节点分类完成后,计算新的聚类点:m(t+1)i=1∣S(t)i∣∑Xj∈S(t)iXj ∣∣S(t)i∣∣ 是簇 i 中的节点数。
图 1 t=100 时的聚类
50 个节点,方形场地长100,计算得到的k 为5,BS坐标(50,180)。
红色圆点为传感器节点,
蓝色三角为 C 点,
圆为中心是C,半径是R 的初始聚类点的选择边界,
黑色星号为初始聚类点,蓝色星号为第100次迭代后得到的聚类点,
图中节点与聚类点的连线表示该节点所在簇。
在实验中发现聚类的个数k 受到
图2 BS坐标(100,100) k为14。
图3 BS 坐标(50,50), k值竟然到了64。很显然这样并不科学。
1 0
- 无线传感器网络SECA 算法
- 无线传感器网络定位算法
- 水下无线传感器网络节点定位算法
- LEACH算法无线传感器网络路由协议
- 无线传感器网络
- 浅谈无线传感器网络
- 关于无线传感器网络
- 无线传感器网络
- 无线传感器网络体系结构
- 无线传感器网络
- 无线传感器网络
- 基于RSSI的无线传感器网络三角形质心定位算法
- 基于LEACH的无线传感器网络路由算法概述
- 基于PSO算法无线传感器网络覆盖优化的研究
- 无线传感器网络路由协议
- 无线传感器网络及应用
- 无线传感器网络操作系统 TinyOS
- 无线传感器网络路由协议
- python 学习--使用filter来实现判断回文数
- Java异常情况总结(持续更新)
- Android MVP模式的使用
- JVM内幕:Java虚拟机详解
- OVM-V1.2 版发布,新增实时监控、支持一键升级
- 无线传感器网络SECA 算法
- android自定义Notification通知栏实例
- static_cast和reinterpret_cast
- Finding Nemo(图的广度遍历)
- 使用 SSHFS 挂载远程的 Linux 文件系统及目录
- Android开发笔记—ListView的基础使用
- 如何用IOS调用WebService(SOAP接口)
- IllegalArgumentException: Malformed \uxxxx encoding.
- 遍历方法总结