MATLAB代做|FPGA代做|simulink代做——伽罗华域乘法
发布时间:2021/6/4 浏览数:1271
% function out=gf28(a,b) %伽罗华域乘法
temp1=4;
temp2=4;
i=8;
for j=0:7 %将temp1中的值化为二进制,存在一个1行的矩阵g中,矩阵每列存一位
g(i-j)=rem(temp1,2);
temp1=fix(temp1/2);
end
for j=0:7 %将temp2中的值化为二进制,存在一个1行的矩阵h中,矩阵每列存一位
h(i-j)=rem(temp2,2);
temp2=fix(temp2/2);
end
s=conv(g,h); %多项式乘法
[h l]=size(s);
for i=1:l %奇数=1;偶数=0
if(rem(s(i),2)==0)s(i)=0;
else if(rem(s(i),2)~=0)s(i)=1;
end
end
end
m=[1 0 0 0 1 1 0 1 1]; %不可月多项式M
[k r]=deconv(s,m); %多项式除法;l为余数,h为商
[h l]=size(r);
for i=1:l %奇数=1;偶数=0
if(rem(r(i),2)==0)r(i)=0;
else if(rem(r(i),2)~=0)r(i)=1;
end
end
end
c=0;
for i=0:l-1 %结果放入c中
c=c+r(l-i)*(2^i);
end
out=c; %输出结果
out
————————————————