【WSN路由】异构无线传感器网络分布式节能分簇算法的设计(DEEC)附Matlab代码

1 内容介绍

展的代,无线传感术的了人们自古以来靠自身觉、嗅觉、视觉感知息的状,它信息世界观的物理系在一起,大高了人认识世界、

造世界的为。无线器网络由大微型传节点成,

这些节点被随机布在测区域内,并借助无线通信組织方组网运行。它涵盖了无线信传感器、微电子、计算机等多种

,可以对测区集、处输。无线传络可

以快且易网,无需固定的设施和预,因而有广阔展前景和巨用价值。目前已经应用于境监测、军察、医疗救护、城市管理、智家居、目标领域。在线络中,根器节点的异同可以将分为同构线传感器网构无线感器络。如果网络中的点以相同的准进置,则为当前网络为同线传感器网络。如节点在初始能量、网信方式、监知能力、存储间大某一方或某不同,则网络定义为异构线传感器网络。

【WSN路由】异构无线传感器网络分布式节能分簇算法的设计(DEEC)附Matlab代码_第1张图片

【WSN路由】异构无线传感器网络分布式节能分簇算法的设计(DEEC)附Matlab代码_第2张图片

【WSN路由】异构无线传感器网络分布式节能分簇算法的设计(DEEC)附Matlab代码_第3张图片

【WSN路由】异构无线传感器网络分布式节能分簇算法的设计(DEEC)附Matlab代码_第4张图片

【WSN路由】异构无线传感器网络分布式节能分簇算法的设计(DEEC)附Matlab代码_第5张图片

【WSN路由】异构无线传感器网络分布式节能分簇算法的设计(DEEC)附Matlab代码_第6张图片

2 部分代码

clc;

clear;

%% 1.初始参数设定模块

% 传感器节点区域界限(单位 m)

xm = 100;

ym = 100;

% (1)汇聚节坐标给定

sink.x = 0.5*xm;

sink.y = 0.5*ym;

% 区域内传器节点数

n = 100;

% 簇头优化比例(当选簇头的概率)

P = 0.1;

p = 0.1;

% 能量模型(单位 J)

% 初始化能量模型

Eo = 0.5;

% Eelec=Etx=Erx

ETX = 50*0.000000001;

ERX = 50*0.000000001;

% Transmit Amplifier types

Efs = 10*0.000000000001;

Emp = 0.0013*0.000000000001;

% Data Aggregation Energy

EDA = 5*0.000000001;

% 高能量节点超出低节点能量的百分比

m = 0.1;

a = 5;

% 最大循环次数

rmax = 8000;

% 算出参数 do

do = sqrt(Efs/Emp);

Et = 0;

% 数据包大小(单位 bit)

packetLength = 4000;        % 数据包大小

%% 2.无线传感器网络模型产生模块

%% 3.网络运行模块

p = 0.1;

% 节点死亡标志

flag_first_dead2 = 0;

flag_teenth_dead2 = 0;

flag_all_dead2 = 0;

% 死亡节点数

first_dead2 = 0;

teenth_dead2 = 0;

all_dead2 = 0;

% 活动节点数

alive2 = n;

% 传输到基站和簇头的比特计数器

packets_TO_BS2 = 0;

packets_TO_CH2 = 0;

% (1)循环模式设定

for r = 0:rmax     % 该 for 循环将下面的所有程序包括在内,直到最后 end 才结束循环

    r

    % 每过一个轮转周期(本程序为10次)使各节点的S(i).G参数(该参数用于后面的簇选举,在该轮转周期内已当选过簇头的节点不能再当选)恢复为零

    if mod(r, round(1/p)) == 0

        for i = 1:n

            S2(i).G = 0;

        end

    end

    % (2)死亡节点检查模块

    dead = 0;

    Et = 0;

    for i = 1:n

        % 检查有无死亡节点

        if S2(i).E <= 0

            dead = dead+1;

            % (3)第一个死亡节点的产生时间(用轮次表示)

            % 第一个节点死亡时间

            if dead == 1

                if flag_first_dead2 == 0

                    first_dead2 = r;

                    flag_first_dead2 = 1;

                end

            end

            % 10%的节点死亡时间

            if dead == 0.1*n

                if flag_teenth_dead2 ==0

                    teenth_dead2= r;

                    flag_teenth_dead2 = 1;

                end

            end

            if dead == n

                if flag_all_dead2 == 0

                    all_dead2 = r;

                    flag_all_dead2 = 1;

                end

            end

        end

        if S2(i).E > 0

        end

    end

4(i).E- (ETX*packetLength + Emp*packetLength*min_dis^4);

                else

                    S4(i).E = S4(i).E- (ETX*packetLength + Efs*packetLength*min_dis^2);

                end

                packets_TO_BS4 = packets_TO_BS4+1;

            end

        end

    end

    STATISTICS.PACKETS_TO_CH4(r+1) = packets_TO_CH4;

    STATISTICS.PACKETS_TO_BS4(r+1) = packets_TO_BS4;

end

%% 绘图比较

r = 0:rmax;

figure;

plot(r, STATISTICS.ALIVE1, 'r', r, STATISTICS.ALIVE2, 'b--', r, STATISTICS.ALIVE3, 'm:', 'linewidth', 2);

hold on;

plot(r, STATISTICS.ALIVE4, '--.', 'color', [1, 0.5, 0], 'linewidth', 2);

xlabel 'Time(Round)'; ylabel 'Number of nodes alive';

legend('DEEC', 'LEACH-E', 'SEP', 'LEACH');

figure;

plot(r, STATISTICS.PACKETS_TO_BS1, 'r', r, STATISTICS.PACKETS_TO_BS2, 'b--', ...

    r, STATISTICS.PACKETS_TO_BS3, 'm:', 'linewidth', 2);

hold on;

plot(r, STATISTICS.PACKETS_TO_BS4, '--.', 'color', [1, 0.5, 0], 'linewidth', 2);

xlabel 'Time(Round)'; ylabel 'Number of message';

legend('DEEC', 'LEACH-E', 'SEP', 'LEACH');

3 运行结果

【WSN路由】异构无线传感器网络分布式节能分簇算法的设计(DEEC)附Matlab代码_第7张图片

【WSN路由】异构无线传感器网络分布式节能分簇算法的设计(DEEC)附Matlab代码_第8张图片

4 参考文献

[1]刘静静. 基于能耗均衡的异构无线传感器网络分簇路由算法研究[D]. 安徽大学, 2015.

[2]郑志明, 郑燕娥, 李智仁. 一种基于DEEC的异构节能分簇改进算法[J]. 西华大学学报(自然科学版), 2016, 035(001):85-88.

[3]刘静静. 基于能耗均衡的异构无线传感器网络分簇路由算法研究. Diss. 安徽大学, 2015.

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

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

你可能感兴趣的:(物理应用,matlab,网络,分布式)