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

📄 bit_interleaving.m

📁 UWB_信道交织
💻 M
字号:
function [v]=bit_interleaving(c_e,d_r)
% bits=randint(1,1050);
% ts=poly2trellis(7,[133 165 171]);
% punctcode=convenc(bits,ts,[1 0 1]);
% 分组交织
% s=randint(1,10)
% pattern=randperm(10)
% r=intrlv(s,pattern)
% rs=deintrlv(r,pattern)
% 符号交织
% Ncbps=200;

% c_e=randint(1,4200);
% d_r=200e6;
if d_r==55e6||d_r==80e6
    TSF=2;
    Ncbps=100;
elseif d_r==110e6||d_r==160e6||d_r==200e6
    TSF=2;
    Ncbps=200;
elseif d_r==320e6||d_r==400e6||d_r==480e6
    TSF=1;
    Ncbps=200;
end    
N1=(6/TSF)*Ncbps;
n1=length(c_e)/(N1);                                             % number of blocks divided
% s=zeros(1,n1*N1);                                              % zero padding
% s(1:length(punctcode))=punctcode;
for m1=1:n1
    p=(1+(m1-1)*N1):(N1+(m1-1)*N1);
    b1=c_e(p);
    for i=0:(N1-1)
        u1(i+1)=b1(floor(i/Ncbps)+(6/TSF)*mod(i,Ncbps)+1);
    end
    v1(p)=u1;
end
% tone交织
N2=Ncbps/10;
n2=length(v1)/Ncbps;
for m2=1:n2
    q=(1+(m2-1)*Ncbps):(Ncbps+(m2-1)*Ncbps);
    b2=v1(q);
    for j=0:(Ncbps-1)
        u2(j+1)=b2(floor(j/N2)+10*mod(j,N2)+1);
    end
    v2(q)=u2;
end
% cyclic shifts
n3=length(v2)/(N1);  
for m3=1:n3
    r1=(1+(m3-1)*N1):(N1+(m3-1)*N1);
    b3=v2(r1);
    if d_r==320e6||d_r==400e6||d_r==480e6
        for k1=0:5
            r2=(1+k1*Ncbps):(Ncbps+k1*Ncbps);
            b4=b3(r2);
            a(k1+1)=k1*33;
            for k2=0:(Ncbps-1)
                u3(k2+1)=b4((mod(k2+a(k1+1),Ncbps))+1);
            end
            v31(r2)=u3;
        end
        v(r1)=v31;
    elseif d_r==110e6||d_r==160e6||d_r==200e6
        for k1=0:2
            r2=(1+k1*Ncbps):(Ncbps+k1*Ncbps);
            b4=b3(r2);
            a(k1+1)=k1*66;
            for k2=0:(Ncbps-1)
                u3(k2+1)=b4((mod(k2+a(k1+1),Ncbps))+1);
            end
            v32(r2)=u3;
        end
        v(r1)=v32;
    elseif d_r==55e6||d_r==80e6
        for k1=0:2
            r2=(1+k1*Ncbps):(Ncbps+k1*Ncbps);
            b4=b3(r2);
            a(k1+1)=k1*33;
            for k2=0:(Ncbps-1)
                u3(k2+1)=b4((mod(k2+a(k1+1),Ncbps))+1);
            end
            v33(r2)=u3;
        end
        v(r1)=v33; 
    end
end

        






        
    


⌨️ 快捷键说明

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