clc; clf; clear;
m=4; k=3; n=m+k;

M=randint(m,1,2);               %--> Message
[H,G]=hammgen(k);

C=zeros(n,1); C1=zeros(n,1); C2=zeros(n,1); 

C=G'*M;                         %--> Codage de M
C1=mod(C,2); 
C2=encode(M,7,4,'hamming');
R0=decode(C2,7,4,'hamming');    % Message restitué

Z=zeros(k,1); Zn=zeros(k,n); 

Z=H*C;                          %--> Détection d'err
Z=mod(Z,2);                     %--> Vecteur Syndrome 

for i=1:length(C1)              %--> Simulation d'une  
    C1(i)=mod(C1(i)+1,2);       %    erreur sur chaque bit
    Z=mod(H*C1,2);              %--> Comparer chaque Z
    Zn(:,i)=Z;                  %    avec les colonnes de H
    C1(i)=mod(C1(i)+1,2);       
end;
Zn

C=[1 1 1 1 0 1 1]'              %--> Exemple de 
C_corrected=C;                  %    detection et
Z=mod(H*C,2)                    %    de correction
for i=1:length(C)
    test=symerr(Z,H(1:k,i));
    if (test==0)
        i
        C_corrected(i)=mod(........,2);
    end
end
C_corrected
R=decode(C,7,4,'hamming')      %--> Vérification






%G'
%C1
%C2
%M
%R0
%Z