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

📄 ctcinterleaver.m

📁 传统的卷积码和Turbo码直到今天仍有广泛的应用
💻 M
字号:
function alpha=CtcInterleaver(data)
%return interleave pattern
leng=length(data);
%首先给alpha赋值为1:leng的整数作为原始下标
alpha=1:leng;
N=leng/2;
if N==96
    p0=7;
elseif N==128|N==192
    p0=11;
elseif N==288
    p0=13;
elseif N==144|N==384|N==432
    p0=17;
end
p1=3*N/4;
A=alpha(1:2:end);
B=alpha(2:2:end);
%交织方法参见802.16d中ctc内交织器介绍一节
for j=1:N
    if mod(j,4)==0|mod(j,4)==1
        i=mod(p0*j+1,N);
    elseif mod(j,4)==2
        i=mod(p0*j+1+N/4,N);
    else
        i=mod(p0*j+1+N/2+p1,N);
    end
    i=i+1;
    if mod(j,2)==1
        alpha(2*i-1:2*i)=[A(j),B(j)];
    else
        alpha(2*i-1:2*i)=[B(j),A(j)];
    end
end

⌨️ 快捷键说明

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