📄 rs_decode_iterate.m
字号:
function sigma_x=rs_decode_iterate(synd_x)
%本函数实现计算错误位置多项式
%sigma(i,:)是第i次叠带产生的错误位置多项式,step(i)表示第i次叠带产生的错误位置多项式的阶数,high是pi(x)第i+1次叠带的最高项系数
sigma=zeros(8,7);
step=zeros(1,8);
high=zeros(1,8);
sigma(1,1)=1;
step(1)=0;
high(1)=1;
sigma(2,1)=1;
step(2)=0;
high(2)=synd_x(2);
for j=2:7
if (high(j)==0)
sigma(j+1,:)=sigma(j,:);
step(j+1)=step(j);
else
for n=1:j-1
if(high(n)~=0)
i=n;
end;
end;
temp=zeros(1,j-i+1);
temp(j-i+1)=1;
temp1=rs_polymul(temp,sigma(i,:));
len=length(temp1);
temp2=zeros(1,7);
temp2=temp1(1:7);
sigma(j+1,:)=sigma(j,:)+high(j)*rs_symbolrev(high(i))*temp2;
temp4=rs_symbolmultiple(high(j),rs_symbolrev(high(i)));
for l=1:7
sigma(j+1,l)=rs_symboladd(sigma(j,l),rs_symbolmultiple(temp4,temp2(l)));
end;
end;
for m=1:7
if (sigma(j+1,m)~=0)
step(j+1)=m-1;
end;
end;
for t=1:step(j+1)
temp3=rs_symbolmultiple(sigma(j+1,t+1),synd_x(j+1-t));
high(j+1)=rs_symboladd(high(j+1),temp3);
end;
if(j+1<8)
high(j+1)=rs_symboladd(high(j+1),synd_x(j+1));
end;
end;
sigma_x=sigma(8,:);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -