www.pudn.com > demo_turbo.rar > extended_hamming_coding.m


function code = extended_hamming_coding(msg) 
 
%%%% (31,26) 
%% x^5+x^2+1 
poly=[1 0 0 1 0 1]; 
L=length(msg); 
divisor = [msg,zeros(1,5)]; 
for k=1:L 
    if divisor(k)==1 
        divisor(k:k+5)=mod(divisor(k:k+5)+poly,2); 
    end 
end 
 
code = [msg,divisor(end-4:end)]; 
 
one_num=sum(code); 
 
if mod(one_num,2)==1 
    code=[code,1]; 
else 
    code=[code,0]; 
end