IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Hamming


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 32
    Par défaut Hamming
    Je suis entrain d'implémenter un code correcteur en utilisant Hamming.

    Je "protège" 4 bits.

    J'utilise 4 bits de contrôle : un code de hamming de 3bits et un bit de parité de ce code.

    Celà fonctionne pour 0 et 1 erreur mais pour 2,3 et 4 erreurs, aucun message n'est rejeté.

    Ma question est la suivante : est ce que hamming permet réelement de detecter plus d'une erreur ? si quelqu'un à des idées...

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    bien le bonjour,

    oui, Hamming permet de détecter plus d'une erreur. Par contre, selon la position des bits de Hamming qui ne correspondent pas, on ne peut pas toujours les corriger.

    Si tous les bits sont faux, tu pourras détecter qu'il y a plein d'erreurs, sans pour autant pouvoir les corriger, donc ça doit entrainer un réacheminement des données.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 32
    Par défaut
    ok, donc ça veut dire que je l'ai mal implémenté. quelqu'un connait une doc, ou aurrait le temps de le faire en pseudo code ? (j'en demande beaucoup là )

    en effet, je détecte l'erreur quand il y a plus d'une erreur. cependant je corrige au mauvais endroit et je considère que le message est correct...

    j'ai appliquer cette méthode : www.info.univ-angers.fr/~pn/poly/node13.html

    ou est l'erreur ?!?

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Tu as regardé la différence entre ce que tu fais toi à la main et ce que le code fait réellement ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 32
    Par défaut
    oui. le code fonctionne exactement comme à la main. C'est pour ça que je me demande si j'ai choisi la bonne implémentation, comme je ne suis pas excellent en math je me vois mal reinventer la roue.

    a l'emission :

    j'ai 4 bits à protéger.

    je calcul le code :

    P0 = a^c^d
    P1 = a^b^d
    P2 = a^b^c

    a la reception

    je calcul le code' :

    P'0 = P0^a^b^d
    P'1 = P1^a^b^d
    P'2 = P2^a^b^c

    Si (P'0 == P'1 == P'2 == 0) {
    pas d'erreur.
    } sinon {

    je corrige l'erreur à la position P'
    je recalcul P'
    Si (P'0 == P'1 == P'2 == 0) {
    il y a plus d'une erreur !
    } sinon {
    on a corrigé // je me retrouve ici quand il ya plus d'une erreur
    }
    si

    }

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Bon, le code fonctionne comme ce que tu fais à la main, donc l'erreur se trouve aussi dans ce que tu fais à la main, c'est ça ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code de Hamming
    Par beegees dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 02/01/2007, 21h04
  2. [TASM] Comment coder Hamming !
    Par vgortz dans le forum Assembleur
    Réponses: 1
    Dernier message: 30/11/2006, 11h35
  3. Codage de hamming
    Par harris_macken dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 22/10/2006, 10h32
  4. codage de hamming
    Par azziz2005 dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 30/03/2006, 10h59
  5. Petite question au sujet du code Hamming
    Par sylsau dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 28/02/2006, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo