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

📄 recupera_trama_au3.m

📁 matlab在通信原理中的应用
💻 M
字号:
function [sys]=Recupera_Trama_AU3(un)

[aa bb]=size(un);
%%%%%%%%%%%%%%
u=zeros(aa,696);
%%%%%%%%%%%%%%
u(:,:)=un(:,1:696);
retraso=un(1,697);
%%%%%%%%%%%%%%

%Inicializacion de Variables
i=0;
j=0;
c=(aa/9)-2;

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

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

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

elseif 88<=retraso & retraso<=173
    for k=1:c
        base(k,1:((174-retraso)*8))=u(i+h,j:696);
        base(k,((174-retraso)*8+1):((261-retraso)*8))=u(i+1+h,1:696);
        base(k,((261-retraso)*8+1):((348-retraso)*8))=u(i+2+h,1:696);
        base(k,((348-retraso)*8+1):((435-retraso)*8))=u(i+3+h,1:696);
        base(k,((435-retraso)*8+1):((522-retraso)*8))=u(i+4+h,1:696);
        base(k,((522-retraso)*8+1):((609-retraso)*8))=u(i+5+h,1:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+6+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+7+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+8+h,1:696);
        base(k,((870-retraso)*8+1):6264)=u(i+9+h,1:(j-1));
        h=h+9;
    end
 
elseif retraso==174
    for k=1:c
        base(k,1:((261-retraso)*8))=u(i+h,j:696);
        base(k,((261-retraso)*8+1):((348-retraso)*8))=u(i+1+h,1:696);
        base(k,((348-retraso)*8+1):((435-retraso)*8))=u(i+2+h,1:696);
        base(k,((435-retraso)*8+1):((522-retraso)*8))=u(i+3+h,1:696);
        base(k,((522-retraso)*8+1):((609-retraso)*8))=u(i+4+h,1:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+5+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+6+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+7+h,1:696);
        base(k,((870-retraso)*8+1):6264)=u(i+8+h,1:696);
        h=h+9;
    end

elseif 175<=retraso & retraso<=260
    for k=1:c
        base(k,1:((261-retraso)*8))=u(i+h,j:696);
        base(k,((261-retraso)*8+1):((348-retraso)*8))=u(i+1+h,1:696);
        base(k,((348-retraso)*8+1):((435-retraso)*8))=u(i+2+h,1:696);
        base(k,((435-retraso)*8+1):((522-retraso)*8))=u(i+3+h,1:696);
        base(k,((522-retraso)*8+1):((609-retraso)*8))=u(i+4+h,1:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+5+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+6+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+7+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+8+h,1:696);
        base(k,((957-retraso)*8+1):6264)=u(i+9+h,1:(j-1));
        h=h+9;
    end

elseif retraso==261
    for k=1:c
        base(k,1:((348-retraso)*8))=u(i+h,j:696);
        base(k,((348-retraso)*8+1):((435-retraso)*8))=u(i+1+h,1:696);
        base(k,((435-retraso)*8+1):((522-retraso)*8))=u(i+2+h,1:696);
        base(k,((522-retraso)*8+1):((609-retraso)*8))=u(i+3+h,1:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+4+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+5+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+6+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+7+h,1:696);
        base(k,((957-retraso)*8+1):6264)=u(i+8+h,1:696);
        h=h+9;
    end

elseif 262<=retraso & retraso<=347
    for k=1:c
        base(k,1:((348-retraso)*8))=u(i+h,j:696);
        base(k,((348-retraso)*8+1):((435-retraso)*8))=u(i+1+h,1:696);
        base(k,((435-retraso)*8+1):((522-retraso)*8))=u(i+2+h,1:696);
        base(k,((522-retraso)*8+1):((609-retraso)*8))=u(i+3+h,1:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+4+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+5+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+6+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+7+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+8+h,1:696);
        base(k,((1044-retraso)*8+1):6264)=u(i+9+h,1:(j-1));
        h=h+9;
    end

 elseif retraso==348
    for k=1:c
        base(k,1:((435-retraso)*8))=u(i+h,j:696);
        base(k,((435-retraso)*8+1):((522-retraso)*8))=u(i+1+h,1:696);
        base(k,((522-retraso)*8+1):((609-retraso)*8))=u(i+2+h,1:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+3+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+4+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+5+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+6+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+7+h,1:696);
        base(k,((1044-retraso)*8+1):6264)=u(i+8+h,1:696);
        h=h+9;
    end

elseif 349<=retraso & retraso<=434
    for k=1:c
        base(k,1:((435-retraso)*8))=u(i+h,j:696);
        base(k,((435-retraso)*8+1):((522-retraso)*8))=u(i+1+h,1:696);
        base(k,((522-retraso)*8+1):((609-retraso)*8))=u(i+2+h,1:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+3+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+4+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+5+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+6+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+7+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+8+h,1:696);
        base(k,((1131-retraso)*8+1):6264)=u(i+9+h,1:(j-1));
        h=h+9;
    end

elseif retraso==435
    for k=1:c
        base(k,1:((522-retraso)*8))=u(i+h,j:696);
        base(k,((522-retraso)*8+1):((609-retraso)*8))=u(i+1+h,1:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+2+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+3+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+4+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+5+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+6+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+7+h,1:696);
        base(k,((1131-retraso)*8+1):6264)=u(i+8+h,1:696);
        h=h+9;
    end

elseif 436<=retraso & retraso<=521
    for k=1:c
        base(k,1:((522-retraso)*8))=u(i+h,j:696);
        base(k,((522-retraso)*8+1):((609-retraso)*8))=u(i+1+h,1:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+2+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+3+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+4+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+5+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+6+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+7+h,1:696);
        base(k,((1131-retraso)*8+1):((1218-retraso)*8))=u(i+8+h,1:696);
        base(k,((1218-retraso)*8+1):6264)=u(i+9+h,1:(j-1));
        h=h+9;
    end

elseif retraso==522
    for k=1:c
        base(k,1:((609-retraso)*8))=u(i+h,j:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+1+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+2+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+3+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+4+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+5+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+6+h,1:696);
        base(k,((1131-retraso)*8+1):((1218-retraso)*8))=u(i+7+h,1:696);
        base(k,((1218-retraso)*8+1):6264)=u(i+8+h,1:696);
        h=h+9;
    end

elseif 523<=retraso & retraso<=608
    for k=1:c
        base(k,1:((609-retraso)*8))=u(i+h,j:696);
        base(k,((609-retraso)*8+1):((696-retraso)*8))=u(i+1+h,1:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+2+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+3+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+4+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+5+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+6+h,1:696);
        base(k,((1131-retraso)*8+1):((1218-retraso)*8))=u(i+7+h,1:696);
        base(k,((1218-retraso)*8+1):((1305-retraso)*8))=u(i+8+h,1:696);
        base(k,((1305-retraso)*8+1):6264)=u(i+9+h,1:(j-1));
        h=h+9;
    end

elseif retraso==609
    for k=1:c
        base(k,1:((696-retraso)*8))=u(i+h,j:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+1+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+2+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+3+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+4+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+5+h,1:696);
        base(k,((1131-retraso)*8+1):((1218-retraso)*8))=u(i+6+h,1:696);
        base(k,((1218-retraso)*8+1):((1305-retraso)*8))=u(i+7+h,1:696);
        base(k,((1305-retraso)*8+1):6264)=u(i+8+h,1:696);
        h=h+9;
    end

 elseif 610<=retraso & retraso<=695
    for k=1:c
        base(k,1:((696-retraso)*8))=u(i+h,j:696);
        base(k,((696-retraso)*8+1):((783-retraso)*8))=u(i+1+h,1:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+2+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+3+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+4+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+5+h,1:696);
        base(k,((1131-retraso)*8+1):((1218-retraso)*8))=u(i+6+h,1:696);
        base(k,((1218-retraso)*8+1):((1305-retraso)*8))=u(i+7+h,1:696);
        base(k,((1305-retraso)*8+1):((1392-retraso)*8))=u(i+8+h,1:696);
        base(k,((1392-retraso)*8+1):6264)=u(i+9+h,1:(j-1));
        h=h+9;
    end

 elseif retraso==696
    for k=1:c
        base(k,1:((783-retraso)*8))=u(i+h,j:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+1+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+2+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+3+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+4+h,1:696);
        base(k,((1131-retraso)*8+1):((1218-retraso)*8))=u(i+5+h,1:696);
        base(k,((1218-retraso)*8+1):((1305-retraso)*8))=u(i+6+h,1:696);
        base(k,((1305-retraso)*8+1):((1392-retraso)*8))=u(i+7+h,1:696);
        base(k,((1392-retraso)*8+1):6264)=u(i+8+h,1:696);
        h=h+9;
    end
   
elseif 697<=retraso & retraso<=782
    for k=1:c
        base(k,1:((783-retraso)*8))=u(i+h,j:696);
        base(k,((783-retraso)*8+1):((870-retraso)*8))=u(i+1+h,1:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+2+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+3+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+4+h,1:696);
        base(k,((1131-retraso)*8+1):((1218-retraso)*8))=u(i+5+h,1:696);
        base(k,((1218-retraso)*8+1):((1305-retraso)*8))=u(i+6+h,1:696);
        base(k,((1305-retraso)*8+1):((1392-retraso)*8))=u(i+7+h,1:696);
        base(k,((1392-retraso)*8+1):((1479-retraso)*8))=u(i+8+h,1:696);
        base(k,((1479-retraso)*8+1):6264)=u(i+9+h,1:(j-1));
        h=h+9;
    end
    
elseif retraso==783
    for k=1:c
        base(k,1:((870-retraso)*8))=u(i+h,j:696);
        base(k,((870-retraso)*8+1):((957-retraso)*8))=u(i+1+h,1:696);
        base(k,((957-retraso)*8+1):((1044-retraso)*8))=u(i+2+h,1:696);
        base(k,((1044-retraso)*8+1):((1131-retraso)*8))=u(i+3+h,1:696);
        base(k,((1131-retraso)*8+1):((1218-retraso)*8))=u(i+4+h,1:696);
        base(k,((1218-retraso)*8+1):((1305-retraso)*8))=u(i+5+h,1:696);
        base(k,((1305-retraso)*8+1):((1392-retraso)*8))=u(i+6+h,1:696);
        base(k,((1392-retraso)*8+1):((1479-retraso)*8))=u(i+7+h,1:696);
        base(k,((1479-retraso)*8+1):6264)=u(i+8+h,1:696);
        h=h+9;
    end
    
end

sys=base(:,:);

end

⌨️ 快捷键说明

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