bonjour, je dois implementer un codeur et decodeur de hamming en scilab.
le mon probleme est que en cas d'erreur mon programme n'est pas capable de corriger l'erreur. Aidez moi svp
voici ce que j'ai fait:
Code:function [x,e,e2,e1,S2,r,m,R1,S1,C,i,H,G] = Hamming() printf('Entrer le nbre de lignes k de G:'); k = scanf('%i'); printf('Entrer le nbre de colonnes n de G:'); n = scanf ('%i'); I = eye(k,k); P = int(2 * rand(k,n-k)); G = [I,P]; J = eye(n-k,n-k); H = [P',J]; // CODAGE !!! i = int(2 * rand(1,k)) C = modulo ((i * G),2); // DECODAGE SANS ERREUR DE TRANSMISION !!! S1 = modulo ((C * H'),2); R1 = C; m = i; // DECTECTION D'UNE EVENTUELLE ERREUR !!! // supposons que l'on recoive le message errone suivant r = int(2 * rand(n,1)); S2 = modulo ((H * r),2); // CORRECTION DE L'ERREUR !!! if (S2 == zeros(n-k,1)) then r = int(2 * rand(n,1)); else ((S2 == H(:,j)) & (S2 ~= zeros(n-k,1))) e1 = zeros(j-1,1); e2 = zeros(n-j,1); e = [e1;1;e2]; x = modulo (([r] + [e]),2); end, // DECODAGE !!! endfunction
je n'ai aucune idee quant a ce qu'il ya a faire pour le decodage
-----