




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
clear clear PARAMETERS w 4 Field Dimensions x and y maximum in meters 100 100的区域 xm 100 ym 100 x and y Coordinates of the Sink sink节点的坐标 sink x 100 sink y 200 Number of Nodes in the field 总共200个节点 n 50 w Optimal Election Probability of a node to become cluster head 簇节点选择概率 p 0 05 packetLength 4000 数据包长度 ctrPacketLength 100 控制包长度 Energy Model all values in Joules Initial Energy 初始能量 Eo 0 5 Eelec Etx Erx enode0 0 ETX 50 0 000000001 50nj bit ERX 50 0 000000001 50nj bit Transmit Amplifier types Efs 10 0 000000000001 10pj bit m2 Emp 0 0013 0 000000000001 0 0013pj bit m4 Data Aggregation Energy EDA 5 0 000000001 5nj bit signal Values for Hetereogeneity Percentage of nodes than are advanced m 1 alpha a 1 INFINITY 999999999999999 maximum number of rounds 最大轮询次数 rmax 3000 node 1 0 node 2 0 node 3 0 node 1 x 0 node 2 x 0 node 3 x 0 node 1 z 0 node 2 z 0 node 3 z 0 END OF PARAMETERS Computation of do 一个距离的计算根据能量公式参考wendi的phd论文 do sqrt Efs Emp 取平方根 Creation of the random Sensor Network figure 1 for i 1 1 n n 200 200个节点数 设置节点位置及初始能量和状态 S i xd rand 1 1 xm 坐标x rand 1 1 产生一个0 1之间的随机数 s i 表示的是数组 XR i S i xd S i yd rand 1 1 ym YR i S i yd 将随机产生的点 S i G 0 初始化的时候 没有簇头产生的个数集合 initially there are no cluster heads only nodes S i type N 普通节点 temp rnd0 i Random Election of Normal Nodes if temp rnd0 m n 1 S i E Eo 每个节点的能量保持为0 05 该数组表示的是能量的存贮 S i ENERGY 0 初始消耗的能量 未知ing end Random Election of Advanced Nodes priority i randint 1 1 1 3 figure 1 plot S i xd S i yd hold on end node 1 x node 1 node 2 x node 2 node 3 x node 3 S n 1 xd sink x 基站位置x坐标 S n 1 yd sink y 基站位置y坐标 First Iteration figure 1 counter for CHs total簇头个数 countCHs 0 counter for CHs per round 每轮的簇头个数 rcountCHs 0 cluster 1 rcountCHs rcountCHs countCHs flag first dead old 0 flag first dead 0 node p1 0 node p2 0 node p3 0 node p1 x 0 node p2 x 0 node p3 x 0 for r 0 1 rmax 主循环 每次1轮 r ENOLD r 1 0 enode0 0 for i 1 1 n ENOLD r 1 S i E ENOLD r 1 第r轮所有节点的总能量 end EAOLD r 1 ENOLD r 1 n 这个是第r轮的平均能量 Operation for epoch if mod r round 1 p 0 20的整数倍轮数时 for i 1 1 n S i G 0 还未当选簇头的节点集合 因为是要判断前1 p轮中是否有节点时簇节 点 S i cl 0 plot S i xd S i yd 这是绘制节点位置 end end hold off Number of dead nodes 每一轮开始的时候将该轮的统计参数清零 dead 0 dead old 0 Number of dead Advanced Nodes dead a 0 Number of dead Normal Nodes dead n 0 dead n old 0 node p1 0 node p2 0 node p3 0 counter for bit transmitted to Bases Station and to Cluster Heads counter for bit transmitted to Bases Station and to Cluster Heads per round figure 1 for i 1 1 n checking if there is a dead node if S i E 0 S i type N 如果节点能量大于0 则类型为正常 end end countCHs 0 cluster 1 for i 1 1 n if S i E 0 temp rand rand if S i G 0 如果该节点在候选集合中 保证钱1 p轮没该节点不是簇节点 Election of Cluster Heads if temp rand ETX ctrPacketLength Emp ctrPacketLength distanceBroad distanceBroad distanceBroad distanceBroad S i E ETX ctrPacketLength Emp ctrPacketLength distanceBroad distanceBroad if distanceBroad do 大于极限距离就是4次方 小于则是2次方 发 送控制比特 也就是广播包 广播给其他节点 不是给sink S i E S i E ETX ctrPacketLength Emp ctrPacketLength distanceBroad distanceBroad distanceBroad distanceBroad 广播自成为簇头 else S i E S i E ETX ctrPacketLength Efs ctrPacketLength distanceBroad distanceBroad end else S i E 0 end if S i E ETX EDA packetLength Emp packetLength distance distance distance distance S i E ETX EDA packetLength Emp packetLength distance distance Calculation of Energy dissipated 簇头自己发送数据包能量消耗 distance 这是到sink节点的距离 if distance do 发送数据到sink节点所剩的能量 S i E S i E ETX EDA packetLength Emp packetLength distance distance distance distance else S i E S i E ETX EDA packetLength Efs packetLength distance distance end else S i E 0 end end end end end STATISTICSOLD r 1 CLUSTERHEADS cluster 1 统计第r轮簇头数目 r是从0开始的 所 以加1 cluster最后要 1 是应为上面的循环多加了1 CLUSTERHSOLD r 1 cluster 1 Election of Associated Cluster Head for Normal Nodes for i 1 1 n if S i type N 默认距离是到sink 的距离 min dis INFINITY if cluster 1 1 如果有簇头存在 min dis cluster 1 加入最近的簇头 for c 1 1 cluster 1 簇头数量一共是cluster 1 temp min min dis sqrt S i xd C c xd 2 S i yd C c yd 2 temp sqrt S i xd C c xd 2 S i yd C c yd 2 判断到已有 簇节点的距离 if temp energy 1 ETX ctrPacketLength S i E energy 1 ETX ctrPacketLength if min dis do 每个节点需要发送一个回应加入群的包和传输数据包 的能量 S i E S i E ETX ctrPacketLength Emp ctrPacketLength min dis min dis min dis min dis 向簇头发送加入控制消息 S i E S i E ETX packetLength Emp packetLength min dis min dis min dis min dis 向簇头数据包 else S i E S i E ETX ctrPacketLength Efs ctrPacketLength min dis min dis 向簇头发送加入控制消息 S i E S i E ETX packetLength Efs packetLength min dis min dis 向簇头数据包 end S i E S i E ETX ctrPacketLength 接收簇头确认加入控制消息 else S i E 0 end Energy dissipated 簇头接收簇成员数据包消耗能量 接收加入消息和和确 认加入消息 if min dis 0 这就是簇节点接收加入信息和数据的能量 if S i E ERX EDA packetLength ERX ctrPacketLength S C min dis cluster id E S C min dis cluster id E ERX EDA packetLength 接受簇成员发来的数据包 S C min dis cluster id E S C min dis cluster id E ERX ctrPacketLength 接收加入消息 if min dis do 簇头向簇成员发送确认加入的消息 S C min dis cluster id E S C min dis cluster id E ETX ctrPacketLength Emp ctrPacketLength min dis min dis min dis min dis else S C min dis cluster id E S C min dis cluster id E ETX ctrPacketLength Efs ctrPacketLength min dis min dis end else S i E 0 end PACKETS TO CH r 1 n dead cluster 1 所有的非死亡的普通节点 都发送数据包 end S i min dis min dis S i min dis cluster min dis cluster i 节点所属的簇节点号 end else S i E S i E ETX packetLength 向簇头数据包 if S i E ETX packetLength S i E S i E ETX packetLength 向簇头数据包 else S i E 0 end end end end for i 1 1 n checking if there is a dead node if S i E m n 1 S i E x Eo 每个节点的能量保持为0 05 该数组表示的是能量的存贮 end S n 1 xd sink x 基站位置x坐标 S n 1 yd sink y 基站位置y坐标 First Iteration figure 1 counter for CHs total簇头个数 countCHs x 0 counter for CHs per round 每轮的簇头个数 rcountCHs x 0 cluster x 1 rcountCHs x rcountCHs x countCHs x flag first dead old x 0 flag first dead x 0 dis min 100 dis max 0 for i 1 1 n dis bs i sqrt S i xd S n 1 xd 2 S i yd S n 1 yd 2 if dis bs i dis max dis max dis bs i end end for r 0 1 rmax 主循环 每次1轮 r ENOLD x r 1 0 enode0 x 0 for i 1 1 n ENOLD x r 1 S i E x ENOLD x r 1 第r轮所有节点的总能量 end EAOLD x r 1 ENOLD x r 1 n 这个是第r轮的平均能量 Operation for epoch if mod r round 1 p 0 20的整数倍轮数时 for i 1 1 n S i G x 0 还未当选簇头的节点集合 因为是要判断前1 p轮中是否有节点时簇 节点 S i cl 0 end end hold off Number of dead x nodes 每一轮开始的时候将该轮的统计参数清零 dead x 0 dead old x 0 Number of dead x Advanced Nodes dead a 0 Number of dead x Normal Nodes dead n x 0 dead n old x 0 per round figure 1 for i 1 1 n if S i E x 0 S i type x N 如果节点能量大于0 则类型为正常 end end emax 0 for i 1 1 n if i 1 sum S i E x else sum sum S i 1 E x sum S i E x sum end if S i E x emax emax S i E x else emax emax end end countCHs x 0 cluster x 1 for i 1 1 n if S i E x 0 temp rand rand if S i G x 0 如果该节点在候选集合中 保证钱1 p轮没该节点不是簇节点 if temp rand ETX ctrPacketLength Emp ctrPacketLength distanceBroad distanceBroad distanceBroad distanceBroad S i E x ETX ctrPacketLength Emp ctrPacketLength distanceBroad distanceBroad if distanceBroad do 大于极限距离就是4次方 小于则是2次方 发 送控制比特 也就是广播包 广播给其他节点 不是给sink S i E x S i E x ETX ctrPacketLength Emp ctrPacketLength distanceBroad distanceBroad distanceBroad distanceBroad 广播自成为簇头 else S i E x S i E x ETX ctrPacketLength Efs ctrPacketLength distanceBroad distanceBroad end else S i E x 0 end Calculation of Energy dissipated 簇头自己发送数据包能量消耗 distance 这是到sink节点的距离 if S i E x ETX EDA packetLength Emp packetLength distance distance distance distance S i E x ETX EDA packetLength Efs packetLength distance distance if distance do 发送数据到sink节点所剩的能量 S i E x S i E x ETX EDA packetLength Emp packetLength distance distance distance distance else S i E x S i E x ETX EDA packetLength Efs packetLength distance distance end else S i E x 0 end end end end end STATISTICSOLD x r 1 CLUSTERHEADS cluster x 1 统计第r轮簇头数目 r是从0开始 的 所以加1 cluster最后要 1 是应为上面的循环多加了1 CLUSTERHSOLD x r 1 cluster x 1 Election of Associated Cluster Head for Normal Nodes for i 1 1 n if S i type x N 默认距离是到sink的 距离 min dis x INFINITY if cluster x 1 1 如果有簇头存在 min dis cluster 1 加入最近的簇头 for c 1 1 cluster x 1 簇头数量一共是cluster 1 temp min min dis x sqrt S i xd C x c xd 2 S i yd C x c yd 2 temp sqrt S i xd C x c xd 2 S i yd C x c yd 2 判断到已有 簇节点的距离 if temp energy 1x ETX ctrPacketLength S i E x energy 2x ETX ctrPacketLength if min dis x do 每个节点需要发送一个回应加入群的包和传输数据包的 能量 S i E x S i E x ETX ctrPacketLength Emp ctrPacketLength min dis x min dis x min dis x min dis x 向簇头发送加入控制消息 S i E x S i E x ETX packetLength Emp packetLength min dis x min dis x min dis x min dis x 向簇头数据包 else S i E x S i E x ETX ctrPacketLength Efs ctrPacketLength min dis x min dis x 向簇头发送加入控制消息 S i E x S i E x ETX packetLength Efs packetLength min dis x min dis x 向簇头数据包 end S i E x S i E x ETX ctrPacketLength 接收簇头确认加入控制消息 else S i E x 0 end energy 3x ERX EDA packetLength ERX ctrPacketLength ETX ctrPacketLength Emp ctrPacketLength min dis x min dis x min dis x min dis x energy 4x ERX EDA packetLength ERX ctrPacketLength ETX ctrPacketLength Emp ctrPacketLength min dis x min dis x if S C x min dis cluster id E x energy 3x S C x min dis cluster id E x energy 4x Energy dissipated 簇头接收簇成员数据包消耗能量 接收加入消息和和确 认加入消息 if min dis x 0 这就是簇节点接收加入信息和数据的能量 S C x min dis cluster id E x S C x min dis cluster id E x ERX EDA packetLength 接受簇成员发来的数据包 S C x min dis cluster id E x S C x min dis cluster id E x ERX ctrPacketLength 接收加入消息 if min dis x do 簇头向簇成员发送确认加入的消息 S C x min dis cluster id E x S C x min dis cluster id E x ETX ctrPacketLength Emp ctrPacketLength min dis x min dis x min dis x min dis x else S C x min dis cluster id E x S C x min dis cluster id E x ETX ctrPacketLength Efs ctrPacketLength min dis x min dis x end PACKETS TO CH r 1 n dead x cluster x 1 所有的非死亡的普通 节点都发送数据包 end else S C x min dis cluster id E x 0 end S i min dis x min dis x S i min dis cluster min dis cluster i 节点所属的簇节点号 end else if S i E x ETX packetLength S i E x S i E x ETX packetLength 向簇头数据包 else S i E x 0 end end end end for i 1 1 n checking if there is a dead x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》押题练习试卷附参考答案详解【研优卷】
- 2025广东共青团江门市委员会选调参照管理单位工作人员1人考试模拟试题及答案解析
- 2025年网络安全在云计算平台中的安全架构与防护策略报告
- 2025年教育产业投资并购动态:整合策略研究报告全景解读
- 合并前列腺炎的前列腺增生组织中IL-17、IL-8表达的深度解析与临床意义探究
- 民营经济面试题库及答案
- 煤厂会计面试题及答案
- 律协考核面试题库及答案
- 2025年教师招聘之《小学教师招聘》考试题库附答案详解(预热题)
- 教师招聘之《小学教师招聘》过关检测及完整答案详解【易错题】
- (课件)肝性脑病
- 基坑土石方开挖安全专项施工方案
- 中小学心理健康教育指导纲要考试试题及答案
- 社会统计学-全套课件
- 打印版唐能通
- 物流公司道路运输许可证申请资料范文
- 分公司总经理管理手册
- 六年级上册英语试题Unit1 I go to school at 8:00. 阶段训练一-人教精通版-(无答案 )
- 择菜洗菜和切菜
- (完整版)湘教版地理必修一知识点总结
- [中天]香港置地北郡商业施工策划(共172页)
评论
0/150
提交评论