📄 coder.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 + -