inl2nd.m

来自「采用 DVB反向链路(DVB-RCS)标准中的双二元Turbo码matlab仿真」· M 代码 · 共 22 行

M
22
字号
function IndexChanged=InL2nd(N)
%-----IndexChange=InL2nd(N)----
%该函数实现DVB-RCS标准中二元Turbo码的第二级交织(对间的交织)
%输入:N为双二元Turbo码的帧长
%输出:IndexChanged是按照N求出的新的数据下标0~N-1,实际在MATLAB中需要加1
[P0,P1,P2,P3]=GetParamForInterleaver(N);
for j=0:N-1
    rem=mod(j,4);
    switch rem
        case 0,
            P=0;
        case 1,
            P=N/2+P1;
        case 2,
            P=P2;
        case 3,
            P=N/2+P3;
        otherwise
            ;
    end
    IndexChanged(j+1)=mod(P0*j+P+1,N);
end

⌨️ 快捷键说明

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