Le taux de correction des erreurs est trompeur

10

Dans la théorie du codage, «la qualité d'un code» signifie combien d'erreurs de canal peuvent être corrigées, ou mieux, le niveau de bruit maximal auquel le code peut faire face.

Afin d'obtenir de meilleurs codes, les codes sont conçus à l'aide d'un grand alphabet (plutôt que binaire). Et puis, le code est bon s'il peut traiter un grand nombre de "symboles" erronés.

Pourquoi est-ce que ce n'est pas considéré comme tricher? Je veux dire, ne devrions-nous pas seulement nous soucier de ce qui se passe lorsque nous "traduisons" chaque symbole en une chaîne binaire? Le "taux d'erreur binaire" est différent du taux "d'erreur de symbole". Par exemple, le taux d'erreur sur les bits ne peut pas dépasser 1/2 tandis que (si je comprends bien), avec un alphabet suffisamment grand, l'erreur de symbole peut aller jusqu'à . Est-ce parce que nous restreignons artificiellement le canal pour ne changer que des "symboles" plutôt que des bits, ou est-ce parce que le code est en fait meilleur?1-ϵ

A sonné.
la source
1
Pourquoi voudriez-vous vous limiter aux codes binaires si votre support / technologie de transmission peut en gérer beaucoup plus?
Raphael
@Raphael Cela pourrait aider si vous pouviez justifier votre point de vue avec quelques exemples pratiques de technologies réelles manipulant des symboles non binaires et le poster comme réponse.
Mohammad Alaggan
@ M.Alaggan: Je ne suis pas expert en la matière; Je suppose que si vous pouvez coder 0/1 sur une porteuse d'onde, vous pouvez également coder beaucoup plus de symboles, en transmettant plus d'informations par intervalle de temps. Cela me surprendrait si la technologie moderne ne faisait pas cela (pensez au multiplexage de code) mais je ne peux pas citer d'exemple concret.
Raphael
@Raphael Je pense que vous avez raison, les canaux de communication numériques actuels fonctionnent avec des symboles plus grands, mais pas plus que, disons, 256 bits par symbole (ce qui est assez rare pour le sans fil, mais peut être commun pour les câbles). Mais la taille du symbole est limitée à de très petites tailles et ne peut pas (pratiquement) croître à volonté.
Ran G.

Réponses:

8

De nombreux codes largement utilisés pour les données binaires sont des codes concaténés, qui sont composés à l'aide de deux codes de correction d'erreur. Le code interne est sur un alphabet binaire, et le code externe est sur un alphabet dont les symboles correspondent aux mots de code du code interne. Cela vous permet d'utiliser la puissance supérieure des tailles d'alphabet plus grandes pour encoder les messages binaires sans "tricher".

La définition standard de la distance minimale est naturelle à utiliser lors de l'examen des codes concaténés, ainsi que dans la théorie des codes sur de grandes tailles d'alphabet. Ce ne serait "tricher" que si vous utilisiez ces chiffres pour comparer un code binaire avec un code à grand alphabet qui code pour une entrée binaire sans utiliser de code interne également; les théoriciens du codage sont assez intelligents pour ne pas le faire (et je crois que depuis que les codes concaténés ont été inventés, les codes à grand alphabet ont souvent été utilisés avec un code interne, mais les codes à grand alphabet sont également très bons pour corriger les erreurs dans les canaux en rafale tels que sous forme de CD, puisqu'un grand nombre d'erreurs binaires consécutives n'affecteront que quelques "symboles").

Peter Shor
la source
Peter, merci pour la réponse. Pour un code concaténé, n'est-il pas vrai que le taux d'erreur (bit) ne peut pas dépasser 1/2? donc cette méthode nous permet juste de nous rapprocher de 1/2 tout en gardant le décodage efficace, non?
Ran G.
@Ran: Pour un code binaire , le taux d'erreur sur les bits ne peut pas dépasser 1/2. Les codes concaténés n'ont pas besoin d'être binaires. Mais c'est tatillon; votre commentaire est essentiellement correct.
Peter Shor