资源简介

matlab实现伽罗华域(2^8)上乘法器,适用RS(255,223)和RS(255,239)编码,一个系数为常数,另一个系数为变量,可以直接得到相乘的结果,本原多项式为x^8+x^4+x^3+x^2+1

资源截图

代码片段和文件信息

function mul_result=mul(ab)        %8bit‘s  multiply    mul[] is the result
% syms a0 a1 a2 a3 a4 a5 a6 a7;
% a=[a0 a1 a2 a3 a4 a5 a6 a7];
%b=[1 1 1 0 1 0 0 0];%所乘的系数要倒置,因为matlab是默认高位在左边,比如23的二进制数是0 0 0  1 0 1 1 1,矩阵相乘时要写为b=[1 1 1 0 1 0 0 0];
mul(1)=b(1)*a(1)+b(2)*a(8)+b(3)*a(7)+b(4)*a(6)+b(5)*a(5)+b(6)*a(4)+b(6)*a(8)+b(7)*a(3)+b(7)*a(7)+b(7)*a(8)+b(8)*a(2)+b(8)*a(6)+b(8)*a(7)+b(8)*a(8);
mul(2)=b(1)*a(2)+b(2)*a(1)+b(3)*a(8)+b(4)*a(7)+b(5)*a(6)+b(6)*a(5)+b(7)*a(4)+b(7)*a(8)+b(8)*a(3)+b(8)*a(7)+b(8)*a(8);
mul(3)=b(1)*a(3)+b(2)*a(2)+b(2)*a(8)+b(3)*a(1)+b(3)*a(7)+b(4)*a(6)+b(4)*a(8)+b(5)*a(5)+b(5)*a(7)+b(6)*a(4)+b(6)*a(6)+b(6)*a(8)+b(7)*a(3)+b(7)*a(5)+b(7)*a(7)+b(7)*a(8)+b(8)*a(2)+b(8)*a(4)+b(8)*a(6)+b(8)*a(7);
mul(4)=b(1)*a(4)+b(2)*a(3)+b(2)*a(8)+b(3)*a(2)+b(3)*a(7)+b(3)*a(8)+b(4)*a(1)+b(4)*a(6)+b(4)*a(7)+b(5)*a(5)+b(5)*a(6)+b(5)*a(8)+b(6)*a(4)+b(6)*a(5)+b(6)*a(7)+b(6)*a(8)+b(7)*a(3)+b(7)*a(4)+b(7)*a(6)

评论

共有 条评论