COPE协议下RLNCBR算法的MATLAB实现与仿真

1.问题描述:

COPE协议、RLNCBR算法功能实现

1)接收节点数N变化,各节点丢包率P1=P2=…=Pn=0.08,节点数从2变化到10,增量为1,重传时间间隔为100Δt,作出平均传输次数随接收节点数变化的曲线图

2)P1=P2=…=Pn且变化,从0.02变化到0.10,增量为0.02,接收节点数N=5,重传时间间隔为100Δt,作出平均传输次数随节点丢包率变化的曲线图

3)各节点丢包率均不等且变化,接收节点数N=5,重传时间间隔为100Δt,P1从0.01变化到0.06,增量为0.01,P2=P1+0.01,P3=P1+0.02,P4=P1+0.03,P5=P1+0.04,作出平均传输次数随节点丢包率变化的曲线图

2.部分程序:

clc;
clear;
close all;
warning off;
addpath 'func\'

figure;

M     = [2:1:10];
Avg_T = zeros(1,length(M));
N     = 7;%数据包长度
%定义重传次数,如果超过这个次数,则表示传输彻底失败
k     = 5;
for i = 1:length(M);
    i
    %各节点丢包率
    P = 0.2*ones(1,M(i));
    %计算重传概率
    tmps1 = 1;
    tmps2 = 1;
    for j = 1:M(i)
        Ps1 = zeros(1,k+1);
        for n = 1:k+1
            Ps1(n) = func_P(N,n,P(j));
        end
        if j == 1
           tmps1 = sum(Ps1);
        else
           tmps1 = tmps1*sum(Ps1);
        end
    end
 
    for j = 1:M(i)
        Ps2 = zeros(1,k);
        for n = 1:k
            Ps2(n) = func_P(N,n,P(j));
        end
        if j == 1
           tmps2 = sum(Ps2);
        else
           tmps2 = tmps2*sum(Ps2);
        end
    end
   
    %平均传输次数
    Avg_T(i) = 1 + (tmps1 - tmps2)/N;
end
plot(M,Avg_T,'--rs','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',5);
grid on;
legend('RLNCBR');
xlabel('接收节点个数N');
ylabel('平均传输次数');
 
save r1.mat M Avg_T

3.仿真结论:

基于COPE协议的RLNCBR算法的matlab仿真_matlab



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空