Si je veux envoyer un paquet de bits d et ajouter un autre r bits pour le code de correction d'erreur (d> r)
combien d'erreurs je peux trouver et corriger au maximum?code de correction d'erreur limite supérieure
Répondre
Vous devriez probablement lire la page de wikipedia sur ce point:
http://en.wikipedia.org/wiki/Error_detection_and_correction
On dirait que vous voulez spécifiquement un code Hamming:
http://en.wikipedia.org/wiki/Hamming_code#General_algorithm
En utilisant ce système, vous pouvez rechercher quelques exemples de valeurs de la table liée.
Vous avez 2^d différents types de paquets de longueur d bits que vous souhaitez envoyer. L'ajout de vos r bits les transforme en mots de code de longueur d + r, donc vous avez maintenant 2^d mots de code possibles que vous pourriez envoyer. Le récepteur pourrait obtenir 2^(d + r) différents mots reçus (mots de code avec erreurs possibles). La question devient alors, comment mappez-vous ces 2^(d + r) mots reçus aux mots de code 2^d? Ceci est le minimum distance du code. C'est-à-dire, pour chaque paire de mots de code, trouvez le nombre de bits où ils diffèrent, puis prenez la plus petite de ces valeurs. Disons que vous aviez une distance minimale de 3. Vous avez reçu un mot et vous remarquez que ce n'est pas l'un des mots de passe. Autrement dit, il y a une erreur. Donc, en l'absence d'un meilleur algorithme de décodage, vous retournez le premier bit, et voyez si c'est un mot de code. Si ce n'est pas vous retournez et retournez le suivant. Finalement, vous obtenez un mot de passe. Puisque tous les mots de code diffèrent dans 3 positions, vous savez que ce mot de code est le "plus proche" du mot reçu, puisque vous auriez à retourner 2 bits dans le mot reçu pour arriver à un autre mot de code. Si vous n'obtenez pas un mot de passe en retournant juste un bit à la fois, vous ne pouvez pas savoir où sont les erreurs, car vous pouvez obtenir plusieurs mots de code en retournant deux bits, mais vous savez qu'il y en a au moins deux les erreurs. Cela conduit au principe général selon lequel, pour une distance minimale md, vous pouvez détecter les erreurs md-1 et corriger les erreurs floor ((md-1)/2). Le calcul de la distance minimale dépend des détails de la génération des mots de code, autrement dit du code. Il existe différentes limites que vous pouvez utiliser pour déterminer une limite supérieure sur md en fonction de d et (d + r). Paul mentionne le code de Hamming, qui est un bon exemple. Il atteint le Hamming bound. Pour le code Hamming (7,4), vous disposez de 4 bits et de 7 mots de code, et vous atteignez une distance minimum de 3. Evidemment *, vous n'allez jamais obtenir une distance minimale supérieure au nombre de bits que vous ajoutez c'est donc le meilleur que vous puissiez faire. Ne soyez pas trop habitués à cela. Le code Hamming est l'un des rares exemples d'un non-trivial perfect code, et la plupart d'entre eux ont une distance minimale inférieure au nombre de bits que vous ajoutez.
* Ce n'est pas vraiment évident, mais je suis à peu près certain que c'est vrai pour les codes de correction d'erreur non triviaux. L'ajout d'un bit de parité vous permet d'obtenir une distance minimale de deux, ce qui vous permet de détecter une erreur. Le code composé de {000,111} vous donne une distance minimale de 3 en ajoutant seulement 2 bits, mais c'est trivial.
- 1. Limite de mémoire supérieure?
- 2. Limite supérieure des données Smarty
- 3. Limite supérieure en Python time.sleep()?
- 4. Limite supérieure pour le rand48 personnalisé
- 5. SUBSET-SUM, limite supérieure du nombre de solutions
- 6. Correction d'un code XML incorrect dans Lua
- 7. jQuery: Chaînage événements - Correction du code
- 8. Existe-t-il une limite inférieure et une fonction de vérification de limite supérieure en PHP ou MySQL?
- 9. Devrais-je soustraire 1 de la limite supérieure de mes boucles «for»?
- 10. La limite supérieure de la boucle FOR n'est pas modifiée en boucle, pourquoi?
- 11. Définition d'un grand tableau de taille supérieure à une limite int non signée
- 12. Puis-je définir une limite de mémoire de tâche supérieure à 2 Go?
- 13. Correction de référence circulaire?
- 14. Je dois trouver la borne supérieure de celle-ci: ou la limite serrée:
- 15. Extraire lift-json dans une classe de cas avec une limite supérieure
- 16. Y a-t-il la limite supérieure du nombre de rollback dans MySQL5.1 avec InnoDB?
- 17. python: puis-je étendre la limite supérieure de la méthode range()?
- 18. Pratiques de correction de bugs
- 19. Projection de correction d'objectif
- 20. Correction de position GPS
- 21. Définition de correction?
- 22. Bibliothèques de correction d'erreurs?
- 23. Correction d'erreur directe et correction d'ordre de paquet
- 24. Limite limite de MovieClip (AS3)
- 25. Android auto-complète dynamique - correction mineure - code joint
- 26. Correction de la portée variable
- 27. Correction sélective
- 28. Correction de l'espace de noms
- 29. Modèles de correction rapide Resharper
- 30. Accès MDB: accès Les fichiers MDB ont une taille limite supérieure?
Pourquoi la downvote? C'est la bonne réponse. –