⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recupera_trama_sdh.asv

📁 Matlab实现SONET/SDH光通信系统simulink仿真程序源代码
💻 ASV
字号:
function [sys]=Recupera_Trama_SDH(u)

load('delay');
retraso=delay

%Inicializacion de Variables
[a b]=size(u);
i=0;
j=0;
c=(a/9)-2;

%Calculo de ubicacion de inicio de la trama
if 0<=retraso & retraso<=86;
    i=4;
    j=retraso*24+1;
elseif 87<=retraso & retraso<=173;
     i=5;
     j=(retraso-87)*24+1;
 elseif 174<=retraso & retraso<=260;
     i=6;
     j=(retraso-174)*24+1;
elseif 261<=retraso & retraso<=347;
     i=7;
     j=(retraso-261)*24+1;
elseif 348<=retraso & retraso<=434;
     i=8;
     j=(retraso-348)*24+1;
elseif 435<=retraso & retraso<=521;
     i=9;
     j=(retraso-435)*24+1;
 elseif 522<=retraso & retraso<=608;
     i=10;
     j=(retraso-522)*24+1;
 elseif 609<=retraso & retraso<=695;
     i=11;
     j=(retraso-609)*24+1;
 elseif 696<=retraso & retraso<=782;
     i=12;
     j=(retraso-696)*24+1;
else retraso==783;
     i=13;
     j=1;
end

%%%%% ==== Calculo de la salida: Payload Recuperado ==== %%%%%
h=0;
base=zeros(c,18792);

if retraso==0
    for k=1:c
        base(k,1:((87-retraso)*24))=u(i+h,j:2088);
        base(k,((87-retraso)*24+1):((174-retraso)*24))=u(i+1+h,1:2088);
        base(k,((174-retraso)*24+1):((261-retraso)*24))=u(i+2+h,1:2088);
        base(k,((261-retraso)*24+1):((348-retraso)*24))=u(i+3+h,1:2088);
        base(k,((348-retraso)*24+1):((435-retraso)*24))=u(i+4+h,1:2088);
        base(k,((435-retraso)*24+1):((522-retraso)*24))=u(i+5+h,1:2088);
        base(k,((522-retraso)*24+1):((609-retraso)*24))=u(i+6+h,1:2088);
        base(k,((609-retraso)*24+1):((696-retraso)*24))=u(i+7+h,1:2088);
        base(k,((696-retraso)*24+1):18792)=u(i+24+h,1:2088);
        h=h+9;
    end
    
elseif 1<=retraso & retraso<=86
    for k=1:c
        base(k,1:((87-retraso)*24))=u(i+h,j:2088);
        base(k,((87-retraso)*24+1):((174-retraso)*24))=u(i+1+h,1:2088);
        base(k,((174-retraso)*24+1):((261-retraso)*24))=u(i+2+h,1:2088);
        base(k,((261-retraso)*24+1):((348-retraso)*24))=u(i+3+h,1:2088);
        base(k,((348-retraso)*24+1):((435-retraso)*24))=u(i+4+h,1:2088);
        base(k,((435-retraso)*24+1):((522-retraso)*24))=u(i+5+h,1:2088);
        base(k,((522-retraso)*24+1):((609-retraso)*24))=u(i+6+h,1:2088);
        base(k,((609-retraso)*24+1):((696-retraso)*24))=u(i+7+h,1:2088);
        base(k,((696-retraso)*24+1):((783-retraso)*24))=u(i+8+h,1:2088);
        base(k,((783-retraso)*24+1):18792)=u(i+9+h,1:(j-1));
        h=h+9;
    end
    
elseif retraso==87
    for k=1:c
        base(k,1:((174-retraso)*24))=u(i+h,j:2088);
        base(k,((174-retraso)*24+1):((261-retraso)*24))=u(i+1+h,1:2088);
        base(k,((261-retraso)*24+1):((348-retraso)*24))=u(i+2+h,1:2088);
        base(k,((348-retraso)*24+1):((435-retraso)*24))=u(i+3+h,1:2088);
        base(k,((435-retraso)*24+1):((522-retraso)*24))=u(i+4+h,1:2088);
        base(k,((522-retraso)*24+1):((609-retraso)*24))=u(i+5+h,1:2088);
        base(k,((609-retraso)*24+1):((696-retraso)*24))=u(i+6+h,1:2088);
        base(k,((696-retraso)*24+1):((783-retraso)*24))=u(i+7+h,1:2088);
        base(k,((783-retraso)*24+1):18792)=u(i+8+h,1:2088);
        h=h+9;
    end


end

sys=base(:,:);

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -