首页 > 其他分享 >m基于matlab的无线自组网性能仿真,包括端到端时延,吞吐量,初入网时间,迟入网时间,网络建立时间

m基于matlab的无线自组网性能仿真,包括端到端时延,吞吐量,初入网时间,迟入网时间,网络建立时间

时间:2023-07-03 22:12:56浏览次数:55  
标签:... 网络 时间 matlab WANET 入网 节点

1.算法仿真效果

matlab2022a仿真结果如下:

 

 

 

 

 

 

2.算法涉及理论知识概要

        无线自组网(Wireless Ad Hoc Network,简称WANET)是一种无需基础设施支持的网络,它由一组移动的无线节点组成,这些节点可以自组织形成一个网络,实现数据的传输和共享。由于WANET是一种去中心化的网络,因此其性能受到节点移动、信道状态、路由算法等多种因素的影响。为了评估WANET的性能,需要进行性能仿真来模拟实际网络环境下的数据传输和节点行为。

 

        从端到端时延、吞吐量、初入网时间、迟入网时间和网络建立时间等方面详细介绍无线自组网性能仿真。

 

一、端到端时延

 

       端到端时延是指从源节点发送数据到目的节点接收到数据所需的总时间,包括数据传输时间、排队时间、传输时延、处理时延等。在WANET中,端到端时延受到多种因素的影响,如节点的移动速度、信道状态、路由算法等。

 

二、吞吐量

 

       吞吐量是指网络中单位时间内能够传输的数据量。在WANET中,节点的移动和信道状态的变化会影响网络的吞吐量。为了评估WANET的吞吐量性能,需要进行基于仿真的实验。常用的仿真工具包括NS-3、Omnet++等。在仿真中,需要设置合适的节点移动速度、信道参数、路由协议等参数,以模拟实际网络环境下节点的行为。通过收集仿真数据,可以计算出不同场景下的平均吞吐量、吞吐量分布等指标,评估WANET的性能。

 

       对于无线自组网而言,有一种常见的情况是由于信道状态变化或节点移动导致网络分割,从而降低网络吞吐量。因此,在仿真中需要考虑这种网络分割情况,以更全面地评估WANET的吞吐量性能。

 

三、初入网时间

 

      初入网时间是指一个节点加入WANET后,能够与其他节点正常通信的时间。在WANET中,节点加入网络需要进行网络发现、路由建立等多个步骤,这些步骤会影响节点初入网的时间。

 

四、迟入网时间

 

       迟入网时间是指一个节点在WANET中重新加入网络后,能够与其他节点正常通信的时间。在WANET中,节点重新加入网络需要进行网络发现、路由建立等多个步骤,这些步骤会影响节点迟入网的时间。

 

五、网络建立时间

 

        网络建立时间是指整个WANET从无到有建立起来所需的时间。在WANET中,网络建立需要进行节点发现、路由建立、网络拓扑构建等多个步骤,这些步骤会影响网络建立的时间。

 

        总之,无线自组网性能仿真是评估WANET性能的重要手段,通过端到端时延、吞吐量、初入网时间、迟入网时间和网络建立时间等指标的评估,可以帮助研究人员优化WANET的设计和性能,提高其应用效果。同时,需要注意在仿真中设置合适的场景和参数,以更准确地评估WANET性能。

 

3.MATLAB核心程序

 

 N     = 15;
        tdrift= tclk*Tslot*N;
        %融合组网
        %接收节点信息进行帧检测
        %检测是否同步
        flag   = 0;
        Tss    = [];
        Tee    = [];
        Delays = [];
        ixk    = 0;
        while ixk<=length(paths) 
            ixk = ixk+1;
            frame1D2= frame1D + randn(size(frame1D));
            yy     = xcorr(frame1D2(1:end-10000),PN1);
            yy2    = yy;
            pnx    = find(yy2>100);
            if isempty(pnx) == 0;
               %建立动态时延关系表 
               for ij = 1:length(ttra2)
                   Delays(ij) = ttra3+ttra2(ij) + Tslot + tdrift;
               end
               %确定参考节点
               IDrefS = idx1;
               IDrefD = idx2;
               %广播参考节点
               TimeS  = (ixk+2+0.2*rand);%发送点的时间,设置随机发送时间
               %更新节点时间%完成更新
               TimeD  = TimeS + [sum(Delays)];
               flag   = 1;
            else
               %没检测到,不做处理  
               TimeS = 0;
               TimeD = 0;
               Delays= 0;
               flag  = 0;
            end
            Tss    = [Tss,TimeS];
            Tee    = [Tee,TimeD];
        end
 
 
        %端到端时延
        TimeD2D(jj)  = sum(Delays);
        %网络吞吐量与带宽,跳数相关
        th           = BW/Nhops;
        Throughput0(jj)= th/1e3;%转换为Kbits
        %初始入网时间
        Time1st(jj)  = mean(Tss);
        %迟入网时间
        TimeFst(jj)  = mean(Tee);
        %网络建立时间
        Timeset(jj)  = mean(Tee)+mean(Tss);
    end
    TimeD2D_(ii)    =mean(TimeD2D);
    Throughput0_(ii)=mean(Throughput0);
    Time1st_(ii)=mean(Time1st);
    TimeFst_(ii)=mean(TimeFst);
    Timeset_(ii)=mean(Timeset);
end
 
figure;
plot(Nnodes,TimeD2D_,'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
grid on 
xlabel('节点数量');
ylabel('端到端时延(ms)');
 
figure;
plot(Nnodes,Throughput0_,'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
grid on 
xlabel('节点数量');
ylabel('网络吞吐量(Kbps)');
 
figure;
plot(Nnodes,Time1st_,'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
grid on 
xlabel('节点数量');
ylabel('初始入网时间(s)');
ylim([0.8*min(Time1st_),1.2*max(Time1st_)]);
 
figure;
plot(Nnodes,TimeFst_,'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
grid on 
xlabel('节点数量');
ylabel('迟入网时间(s)');
 
 
figure;
plot(Nnodes,Timeset_,'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
grid on 
xlabel('节点数量');
ylabel('网络建立时间(s)');
 

 

  

 

标签:...,网络,时间,matlab,WANET,入网,节点
From: https://www.cnblogs.com/51matlab/p/17524279.html

相关文章

  • IDEA:idea中新建文件一段时间后找不到
    观看一会视频后,返回发现界面只有外部库了 打开之前的创建的文件发现已经没有查看路径已不存在  可以看到这创建在了动态页面,之后创建时看好创建在哪就好,文件如果是第一张图的样子,可通过 右键左侧栏目空白处,尝试寻找。 ......
  • 车子停放时间较长后,启动行驶尤其刹车时会有异响
    背景最近梅雨季节,空气比较潮,车子停在外面有一个多礼拜没有开车了,今早开车的时候换到D档,拉下手刹,松开刹车汽车居然不往前走。我错乱了吗,还是哪里操作有问题,我再次确认了一下没有错呀,踩了一下油门,发现前轮咯噔咯噔响但是会往前走了,倒车的时候也会有空吃空吃的响声。问了修车店的老......
  • 最详细的解说—时间和空间复杂度
    转载自:https://www.jianshu.com/p/1ac6ad4069f8 算法的选择我们都知道同一个问题有不同的算法解决,这些算法在运行时间、运行占用内存、代码易读性等方面都不相同,而在这些算法中,我们只能选择一种解决方案,这时判断选择哪个算法的依据是什么呢?   在这里,我们引入了时......
  • 为什么LntonMedia视频平台按时间调用录像,但提示数据查询错误?
    LntonMedia能实现视频流媒体的上传、转码、存储、录像、推拉流、直播、点播等功能,具备超低延迟、超高画质、超大并发访问量等特点,可应用在多样化的场景中,如:在线课堂、教育直播、校园活动直播、企业培训、游戏直播等。为了便于用户二次开发、调用与集成,我们也提供了丰富的API接口供......
  • linux | 时间同步 | 时钟同步 | ntp同步系统时间
    一、说明        1、linux系统        2、centos        3、系统时间快了2分钟,需要搞成同步二、具体实现1)安装ntpyum-yinstallntp2)启动systemctlstartntpd3)设置开机自启systemctlenablentpd4)查看状态systemctlstatusntpd5)修改配置文......
  • 获取系统时间在java中怎么操作,还可以指定格式
    ​ 要在Java中获取当前时间并将其格式化为指定形式,可以使用java.time包中的LocalDateTime和DateTimeFormatter类。下面是一个示例代码,演示如何获取系统时间并将其格式化为指定的字符串格式: importjava.time.LocalDateTime;importjava.time.format.DateTimeFormatter;p......
  • 获取系统时间在java中怎么操作,还可以指定格式
    ​ 要在Java中获取当前时间并将其格式化为指定形式,可以使用java.time包中的LocalDateTime和DateTimeFormatter类。下面是一个示例代码,演示如何获取系统时间并将其格式化为指定的字符串格式: importjava.time.LocalDateTime;importjava.time.format.DateTimeFormatter;p......
  • 随着年龄的增长,感觉时间越来越快了,怎么让自己感觉时间慢一点?
    注意细节。多观察周围的细节,用心体会当下。注意现在的感觉和细节,可以帮助你减慢时间的流逝。慢下来。放慢你的步伐、说话速度和做事速度。比如做喜爱的事,不要急于求成。熟悉新的事物。学习新的技能、逐渐获得新知识。在掌握新事物的过程中,时间感觉会更慢。多与人交流交谈......
  • Matlab-对wav音频文件AM调制及解调
    1.读取wav音乐文件%读取音频文件filename='jay.wav';[sound_data,fs]=audioread(filename);%9507502x244100sound_data_1=sound_data(:,1);sound_data_1=sound_data_1';%转置sound_data有两列,因为此音乐文件有两个通道,音频采样率为44100;这......
  • Matlab对wav文件做fft分析
    1.代码%指定要读取的.wav文件路径filename='jay.wav';%使用audioread函数读取.wav文件[sound_data,sample_rate]=audioread(filename);sound_data=sound_data(:,1);%计算音频数据的长度sound_length=length(sound_data);%计算FFT的点数%fft_points=......