Esiste un codice simile a Reed-Solomon sopra i simboli decimali?


8

Un codice di correzione degli errori Reed-Solomon composto da N simboli è garantito per rilevare fino a N sostituzioni di simboli singoli in un input arbitrariamente lungo più lo stesso ECC, ed è anche garantito per correggere fino al piano (N / 2) simbolo singolo sostituzioni nello stesso.

Non posso pretendere di comprendere la matematica alla base di Reed-Solomon ECC, ma noto che tutte le implementazioni che ho potuto trovare operano su simboli nella base 16, 64 o 256. Questo sembra suggerire che anche 1024 ecc. Siano basi in cui questo schema può operare con il giusto polinomio.

È possibile avere uno schema ECC con esattamente le proprietà di cui sopra che opera con simboli decimali? Reed-Solomon può essere banalmente adattato a questo scopo?

(questa domanda è suggerita dalla mia risposta a una domanda sconcertante.SE )

Risposte:


5

La proprietà dei codici Reed-Solomon menzionati è nota come Separabilità massima distanza e i codici con questa proprietà sono noti come codici MDS . Nella teoria dei codici il tipo più popolare di codice è un codice lineare, che viene definito solo su alfabeti che sono potenze principali. Tuttavia, in letteratura puoi trovare alcuni articoli sui codici MDS su alfabeti arbitrari; Ti lascerò fare ricerche da solo.

Per il caso specifico , esiste un codice MDS molto semplice, vale a dire checksum: aggiungi ai dati originali una nuova cifra il cui valore è la somma negata delle altre cifre (in modo che tutte le nuove cifre si sommino a zero). Questo codice può rilevare ogni singolo errore.N=1


Confronta con il caso dei numeri di carta di credito: en.wikipedia.org/wiki/Luhn_algorithm
Aaron Brick,

Ciò si collega anche all'algoritmo di Verhoeff e all'algoritmo di Damm che migliorano su Luhn rilevando ogni trasposizione in cifre adiacenti usando solo una cifra di controllo decimale. Degno di nota! Luhn ne rileva solo alcuni, mentre il semplice checksum mod 10 non ne rileva nessuno (ma per i numeri brevi il checksum mod 10 può essere controllato mentalmente, il che potrebbe essere utile)
Roman Starkov
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.