2011-08-15 4 views
3

Je fais un logiciel qui saisit à la fin une chaîne numérique, cette chaîne code des données importantes, et toute erreur détruit le contenu. Pire: Il est très sujet aux erreurs, à cause de la façon dont les données sont transmises (et je ne peux rien y faire). J'ai donc décidé d'ajouter un chiffre de vérification de toutes sortes ... Après quelques recherches, j'ai plus de questions que de réponses ... Donc, quelqu'un peut me diriger vers un endroit décent pour étudier davantage sur ce sujet?Algorithmes de récupération d'erreur?

En outre, quelqu'un connaît des algorithmes populaires qui peuvent même corriger les erreurs, ou au moins pointer où les erreurs sont, de sorte que je peux réessayer de saisir les données avec erreur?

Également ce que je fais, si les données de somme de contrôle elle-même a réussi à être incorrect dans la transmission?

+0

Quelles sont les contraintes sur la taille? Les données sont-elles transcrites à la main? Vous pouvez évidemment échanger de l'espace pour la fiabilité, par exemple un schéma de correction d'erreur extrêmement naïf serait de retransmettre le code 100 fois. Un bon début pour l'étude est http://en.wikipedia.org/wiki/Error_detection_and_correction –

+0

le code doit correspondre à un SMS (donc, 140 caractères ...) aussi les erreurs de données ne sont pas des erreurs humaines du tout. – speeder

Répondre

4

Fondamentalement pour tous les N bits de votre message, vous avez des bits de contrôle.

Vous pouvez détecter et corriger les erreurs dans les bits de contrôle, en fonction des données ou des erreurs dans les données, en fonction des bits de contrôle. Trop d'erreurs cependant, et c'est juste de la foutaise. Il se peut qu'il y ait un utilitaire dans la langue de votre choix pour le faire déjà.