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

📄 coder.m

📁 Turbo乘积码[TPC]的编码程序
💻 M
字号:
%coder.mTPC编码
function [k,u] = coder(m)
N = 64;
k = round(rand(m,m));%产生57*57个二进制均匀分布随机数;
u = zeros(N,N);

for i = 1:m
    for j = 1:m
        u(i,j) = k(i,j);
    end
end

%行编码
for i = 1:57
    for j = 1:57
        if j == 1
           d0 = 0;
           d1 = 0;
           d2 = 0;
           d3 = 0;
           d4 = 0;
           d5 = 0;        
           sumbit = 0;
        end   
        sumbit = xor(sumbit,u(i,j));
        temp = xor(d5,u(i,j));
        d5 = d4;
        d4 = d3;
        d3 = d2;
        d2 = d1;
        d1 = xor(d0,temp);
        d0 = temp;    
    end
    if j == 57
        sumbit = xor(sumbit,xor(d5,xor(d4,xor(d3,xor(d2,xor(d1,d0))))));
        j = j + 1;
    end
    for j = 58:63
        u(i,j) = d5;
        d5 = d4;
        d4 = d3;
        d3 = d2;
        d2 = d1;
        d1 = d0;
        d0 = 0;
    end
    if j == 63
        j = j + 1;
    end
    if j == 64
        u(i,j) = sumbit;
    end
end


%列编码
if i == 57
for jj = 1:64
    for ii = 1:57
        if ii == 1
           d0 = 0;
           d1 = 0;
           d2 = 0;
           d3 = 0;
           d4 = 0;
           d5 = 0;        
           sumbit = 0;
        end   
        sumbit = xor(sumbit,u(ii,jj));
        temp = xor(d5,u(ii,jj));
        d5 = d4;
        d4 = d3;
        d3 = d2;
        d2 = d1;
        d1 = xor(d0,temp);
        d0 = temp;    
    end
    if ii == 57
        sumbit = xor(sumbit,xor(d5,xor(d4,xor(d3,xor(d2,xor(d1,d0))))));
        ii = ii + 1;
    end
    for ii = 58:63
        u(ii,jj) = d5;
        d5 = d4;
        d4 = d3;
        d3 = d2;
        d2 = d1;
        d1 = d0;
        d0 = 0;
    end
    if ii == 63
        ii = ii + 1;
    end
    if ii == 64
        u(ii,jj) = sumbit;
    end
end
end

⌨️ 快捷键说明

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