www.gusucode.com > ​BCH 编解码的MATLAB 实现源码程序 > code/bch/BCH.m

    function [G]=BCH(k,g)
%clear all;
row=k;
n=length(g);
%row=11;
col=row-1+n;
A=zeros(row,col);
%A(end,row:end)=[1 0 0 1 1];
A(end,row:end)=g;

for i=1:row-1
   A(end-i,row-i:end-i)=A(end,row:end); 
end
%A(end-1,2:end-1)=A(end,3:end);

%A(end-2,1:end-2)=A(end-1,2:end-1);
for j=row:-1:2
for i=j-1:-1:1
    if(A(i,j)>0)
        C1=A(i,:)
        C2=A(j,:)
        C=C1+C2
        B=mod(C,2);
        A(i,:)=B;
    end
    clear C1 C2 C B
end
end