GitLab now enforces expiry dates on tokens that originally had no set expiration date. Those tokens were given an expiration date of one year later. Please review your personal access tokens, project access tokens, and group access tokens to ensure you are aware of upcoming expirations. Administrators of GitLab can find more information on how to identify and mitigate interruption in our documentation.
printf("Message encodé (sans erreur) : %s\nSyndrome : %s\n\n",encode(msg),decode(encode(msg)));// Le syndrome doit être 0000
printf("Message encodé (avec une erreur) : %s\nSyndrome : %s\n\n",set_error(encode(msg),0),decode(set_error(encode(msg),0)));// Le syndrome doit être 1000
printf("-- Q4 --\n\n");
printf("-- Q4 --\n");
char*c1="10011000",*c2="10001011";
printf("La distance de Hamming entre les codewords %s et %s est : %d\n\n",c1,c2,hamming_distance(c1,c2));
printf("----- IV. Restaurez la gloire matricielle de P -----\n\n");
printf("-- Q1 --\n\n");
printf("Message : %s\n\tMessage encodé avec la matrice : %s\nMessage encodé avec le polynôme : %s\n%s\n\n",msg,encode(msg),polynomial_encode(msg),strcmp(encode(msg),polynomial_encode(msg))==0?"Bon résultat":"Mauvais résultat");
printf("Message encodé (sans erreur) : %s\nSyndrome : %s\n\n",polynomial_encode(msg),polynomial_decode(polynomial_encode(msg)));// Le syndrome doit être 0000
printf("Message encodé (avec une erreur) : %s\nSyndrome : %s\n\n",set_error(polynomial_encode(msg),0),polynomial_decode(set_error(polynomial_encode(msg),0)));// Le syndrome doit être 1000
printf("-- Q1 --\n");
printf("Message : %s\nMessage encodé avec la matrice : %s\nMessage encodé avec le polynôme : %s\n%s\n\n",msg,encode(msg),polynomial_encode(msg),strcmp(encode(msg),polynomial_encode(msg))==0?"Bon résultat":"Mauvais résultat");
printf("Message encodé (sans erreur) : %s\nSyndrome : %s\n\n",polynomial_encode(msg),polynomial_decode(polynomial_encode(msg)));// Le syndrome doit être 0000
printf("Message encodé (avec une erreur) : %s\nSyndrome : %s\n\n",set_error(polynomial_encode(msg),0),polynomial_decode(set_error(polynomial_encode(msg),0)));// Le syndrome doit être 1000
printf("-- Q2 --\n\n");
printf("-- Q2 --\n");
printf("Codeword : %s\t\tCodeword avec une erreur à la position %d : %s\n\n",encode(msg),2,set_error(encode(msg),2));
printf("-- Q3 --\n\n");
char*codeword=polynomial_encode(msg);
char*false_codeword;
printf("-- Q3 --\n");
char*codeword=polynomial_encode(msg);
char*false_codeword;
printf("Codeword : %s\n",codeword);
for(inti=0;i<8;i++)
for(inti=0;i<8;i++)
{
false_codeword=set_error(codeword,i);
printf("Erreur à la position %d : %s\tC mod P : %s\n",i,false_codeword,polynomial_decode(false_codeword));
@@ -106,9 +106,25 @@ On remarque que le résultat de C mod P est le même pour une postion i peu impo
4.*Soit le vecteur vi à 9 bits tel que seul le i eme bit est à 1. Pour tout $vi|i ∈$ {0,9}, calculez vi mod P. Que constatez-vous ? Que pouvez-vous en conclure ?*
On constate qu'en rajoutant un 9ème bit au vecteur, le syndrome se retrouve décalé d'un bit à gauche par rapport au syndrome qu'on obtient avec un vecteur de 8 bits.
<pstyle="margin:auto;">On constate qu'en rajoutant un 9ème bit au vecteur, le syndrome se retrouve décalé d'un bit à gauche par rapport au syndrome qu'on obtient avec un vecteur de 8 bits.</p>
</div>
5.*À l’aide de vos observations, implémentez un mécanisme efficace permettant de corriger des erreurs uniques. Justifier vos choix d’implémentation et tester votre implémentation.*
1.*À l’aide de vos observations, implémentez un mécanisme efficace permettant de corriger des erreurs uniques. Justifier vos choix d’implémentation et tester votre implémentation.*