Existe-t-il un code de type Reed-Solomon sur les symboles décimaux?

8

Un code de correction d'erreur Reed-Solomon composé de N symboles est garanti pour détecter jusqu'à N remplacements de symboles uniques dans une entrée arbitrairement longue plus l'ECC lui-même, et il est également garanti de corriger jusqu'à l'étage (N / 2) un seul symbole remplacements dans le même.

Je ne peux pas prétendre comprendre les mathématiques derrière Reed-Solomon ECC, mais je remarque que toutes les implémentations que j'ai pu trouver opèrent sur des symboles en base 16, 64 ou 256. Cela semble suggérer que 1024 etc. sont également des bases dans lesquelles cela peut fonctionner avec le bon polynôme.

Est-il possible d'avoir un schéma ECC avec exactement les propriétés ci-dessus qui fonctionne sur des symboles décimaux? Reed-Solomon peut-il être trivialement adapté à cet effet?

(cette question est provoquée par ma réponse à une question déroutante.SE )

Roman Starkov
la source

Réponses:

5

La propriété des codes Reed-Solomon que vous mentionnez est connue sous le nom de séparation de distance maximale, et les codes avec cette propriété sont appelés codes MDS . Dans la théorie du codage, le type de code le plus populaire est un code linéaire, et ceux-ci ne sont définis que sur des alphabets qui sont des puissances premières. Cependant, dans la littérature, vous pouvez trouver des articles sur les codes MDS sur des alphabets arbitraires; Je vous laisse faire des recherches vous-même.

Pour le cas spécifique N=1, il existe un code MDS très simple, à savoir la somme de contrôle: vous ajoutez aux données d'origine un nouveau chiffre dont la valeur est la somme des autres chiffres (de sorte que tous les nouveaux chiffres soient à zéro). Ce code peut détecter toute erreur unique.

Yuval Filmus
la source
Comparez avec le cas des numéros de carte de crédit: en.wikipedia.org/wiki/Luhn_algorithm
Aaron Brick
Cela est également lié à l' algorithme Verhoeff et à l' algorithme Damm qui améliorent Luhn en détectant chaque transposition dans les chiffres adjacents à l'aide d'un seul chiffre de contrôle décimal. Impressionnant! Luhn n'en détecte que quelques-uns, tandis que la simple somme de contrôle du mod 10 n'en détecte aucune (mais pour les nombres courts, la somme de contrôle du mod 10 peut être vérifiée mentalement, ce qui pourrait être utile)
Roman Starkov