FR2825538A1 - Procede de codage consistant a coder un mot binaire selon une pluralite de tables de codage - Google Patents
Procede de codage consistant a coder un mot binaire selon une pluralite de tables de codage Download PDFInfo
- Publication number
- FR2825538A1 FR2825538A1 FR0107157A FR0107157A FR2825538A1 FR 2825538 A1 FR2825538 A1 FR 2825538A1 FR 0107157 A FR0107157 A FR 0107157A FR 0107157 A FR0107157 A FR 0107157A FR 2825538 A1 FR2825538 A1 FR 2825538A1
- Authority
- FR
- France
- Prior art keywords
- coding
- symbols
- sep
- weight
- equal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4917—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
- H04L25/4919—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes using balanced multilevel codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/16—Conversion to or from representation by pulses the pulses having three levels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4917—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
- H04L25/4923—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes using ternary codes
- H04L25/4925—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes using ternary codes using balanced bipolar ternary codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Dc Digital Transmission (AREA)
Abstract
Le but de l'invention est de coder des données pour permettre la transmission de ces données sur une ligne, en transmettant simultanément des informations supplémentaires telles qu'une indication de début d'octet, ou de début de trame, ou une information de détection et éventuellement de correction d'erreur. Il concerne particulièrement la transmission sur une ligne métallique. Le procédé consiste à coder un mot binaire selon une pluralité de tables de codage, la table de codage étant choisie pour chaque mot binaire à coder, en fonction d'au moins une information supplémentaire à coder.Application notamment aux réseaux de transmission de données conformes à la norme IEEE 802. 3.
Description
<Desc/Clms Page number 1>
L'invention concerne un procédé de codage pouvant être utilisé notamment dans les réseaux de transmission de données conformes à la norme IEEE 802.3.
Le but de l'invention est de coder des données pour permettre la transmission de ces données sur une ligne, en transmettant simultanément des informations supplémentaires telles qu'une indication de début d'octet, ou de début de trame, ou une information de détection et éventuellement de correction d'erreur. Il concerne particulièrement la transmission sur une ligne métallique.
Il est connu d'indiquer le début d'une trame de données en le codant par une combinaison de symboles ayant une faible probabilité d'imitation par les données de la charge utile ; et il est connu de détecter des erreurs dans une trame en codant et en transmettant un mot, dit de contrôle par redondance cyclique, calculé en fonction des données transmises dans cette trame de données. Ces informations supplémentaires provoquent une augmentation du volume des symboles transmis.
Il est connu d'obtenir un débit en ligne inférieur au débit des données binaires à transmettre, en codant un mot binaire de p bits avec un symbole qui est un mot ternaire composé de q chiffres ternaires (c'est à dire ayant un poids égal à-1, ou 0, ou +1), c'est ce qu'on appelle un codage ou un code pB/qT. Ce codage ternaire a été introduit dans le but de réduire la rapidité de modulation, mais il permet en outre d'éviter la transmission d'un courant continu sur une ligne métallique, à condition d'émettre le même nombre de symboles de poids +1 que de symbole de poids-1 sur un long intervalle de temps. L'absence de courant continu est importante pour la transmission sur une ligne métallique car une telle ligne est isolée à ses deux extrémités respectivement par deux transformateurs qui pourraient se saturer s'il y avait un courant continu.
Dans les codes utilisés actuellement (4B/3T, 8B/6T) le nombre de symboles ternaires ayant un poids nul est inférieur au nombre de mots binaires à coder. Pour éviter cependant un courant continu, il est connu de coder certains mots binaires au moyens de deux symboles différents pour un même mot binaire : un mot ternaire de poids + 1 et un mot ternaire de poids-1. La somme
<Desc/Clms Page number 2>
des poids des symboles transmis est calculée en permanence, et le codage consiste à utiliser le symbole de poids +1 si la valeur courante de la somme est égale à-1, et à utiliser le symbole de poids -1 si la valeur courante de la somme est égale à + 1. Les procédés de codage ternaire connus permettent ainsi de transmettre toutes lés valeurs d'un mot binaire de quatre bits ou de huit bits, sans courant continu, mais ils ont deux inconvénients : - Le nombre de symboles disponibles est insuffisant pour permettre la transmission d'informations supplémentaires.
- La redondance de certains symboles, qui est utilisée pour annuler le courant continu, réduit le nombre des symboles non utilisés, et donc réduit l'efficacité de la détection des erreurs de transmission.
Le but de l'invention est de remédier à ces inconvénients.
L'objet de l'invention est un procédé de codage caractérisé en ce qu'il consiste à coder un mot binaire selon une pluralité de tables de codage, la table de codage étant choisie pour chaque mot binaire à coder, en fonction d'au moins une information supplémentaire à coder.
Le procédé ainsi caractérisé permet de coder, avec au moins deux symboles différents, chacun des mots binaires constituant les données à transmettre. Puisque chaque mot binaire est représentable par au moins deux symboles au choix, il est possible de transmettre une information supplémentaire représenté par le choix du symbole, c'est à dire le choix de la table de codage. L'information supplémentaire est restituée en fonction de la table de décodage qui a permis de décoder un mot binaire.
Une utilisation de cette information supplémentaire peut consister à discriminer des trames appartenant à un réseau virtuel réservé à la transmission de données, et des trames appartenant à un réseau virtuel réservé à la transmission téléphonique, selon la table de codage utilisée. Cette discrimination permet de traiter ces deux types de trame avec deux niveaux de priorité différents. Le fait d'obtenir cette information sans avoir à analyser le contenu des trames, pour extraire un code de priorité, raccourcit la durée de traitement des trames.
<Desc/Clms Page number 3>
Une autre application de ces informations supplémentaire peut consister à détecter un début de message ou un début d'octet par un changement de table de codage. Par exemple, l'identification d'un début de trame est plus rapide en détectant un changement de table de codage, plutôt qu'en détectant un préambule et un délimiteur de trame, comme dans les procédés classiques.
Si le nombre de symboles, 2q, est supérieur à deux fois le nombre de mots binaires à coder, 2P, il est possible de transmettre des symboles spécifiques pour certaines informations de service, telles que le délimiteur de début d'un message.
Certains symboles qui ne sont pas utilisés contribuent eux aussi à la détection d'erreur puisque la détection d'un symbole non utilisé signale une erreur.
Selon un mode de mise en oeuvre préférentiel, le procédé de codage consiste à changer de table de codage pour indiquer le début d'un message ; et en outre à indiquer ce début par un symbole qui n'est pas imitable par une combinaison de deux symboles successifs, parmi ceux utilisés dans les tables de codage.
Selon un premier mode de mise en oeuvre particulier, un procédé de codage, consistant à coder un mot de p bits avec un symbole composé de q chiffres ternaires, est caractérisé en ce que p et q sont choisis tels que le nombre de symboles ayant un poids nul est au moins égal à 2 x 2P ; en ce qu'une première table de codage comporte 2P symboles, ayant un poids nul ; et en ce qu'une seconde table de codage comporte 2P autres symboles ayant un poids nul.
Le procédé ainsi caractérisé permet de coder, avec deux symboles différents et ayant un poids nul, chacun des 2P mots binaires constituant les données à transmettre, et permet de coder en plus une information supplémentaire, par le changement de table de codage.
<Desc/Clms Page number 4>
L'absence de courant continu est alors obtenue sans avoir à surveiller la somme des poids des symboles transmis, ce qui permet de simplifier la réalisation d'un codeur et d'un décodeur.
Selon un deuxième mode de mise en oeuvre particulier, un procédé de codage consistant à coder un mot de p bits avec un symbole composé de q chiffres ternaires, est caractérisé en ce que p et q sont choisis tels que le nombre de symboles ayant un poids nul ou égal à + 1 est au moins égal à 3 x 2P ; en ce qu'une première table de codage comporte 2P symboles, ayant un poids nul ; en ce qu'une deuxième table de codage comporte 2P autres symboles ayant un poids égal à -1 ; et en ce qu'une troisième table de codage comporte 2P autres symboles ayant un poids égal à. + 1.
Le procédé ainsi caractérisé permet de coder chacun des 2P mots binaires constituant les données à transmettre, avec trois symboles différents (un ayant un poids nul, un ayant un poids égal à + 1, et un ayant un poids égal à - 1). Il permet donc de coder trois informations supplémentaires, par le changement de table de codage.
Puisque les symboles utilisés n'ont pas tous un poids nul, il est nécessaire de maintenir nul le courant continu. Un mode de mise en oeuvre préférentiel consiste en outre à alterner le codage selon la deuxième et la troisième table, en fonction de la valeur courante de la somme des poids des symboles précédemment codés et transmis : - Si la somme est égale à +1, il consiste à utiliser une table qui code tous les mots binaires avec seulement des symboles de poids égal à-1.
- Si la somme est égale à - 1, il consiste à utiliser une table qui code tous les mots binaires avec seulement des symboles de poids égal à + 1.
- Si la somme est égale à 0, il consiste à utiliser une table qui code tous les mots binaires avec seulement des symboles de poids égal à 0.
<Desc/Clms Page number 5>
Si cette règle n'est pas respectée dans des données reçues, cela signifie qu'il y a eu une erreur de transmission. Ce codage procure une bonne détection d'erreur.
Une autre application de ces informations supplémentaire peut consister à repérer des informations de gestion d'un lien Ethernet. En effet, sur les liens Ethernet, la transmission démarre par une phase de négociation des caractéristiques et des capacités de l'équipement d'extrémité, puis une phase d'apprentissage. Pendant la phase d'apprentissage, l'équipement commence par émettre des séquences de salves de bits relativement longues : ce sont des salves d'impulsions d'horloge, espacées de 125 + 14 microsecondes. Dix-sept impulsions de rang impair sont toujours présentes et constituent seulement un signal d'horloge. Seize impulsions de rang pair sont des données : une impulsion de rang pair représente un 1, et une absence d'impulsion de rang pair représente un 0. En d'autres termes, un codage ternaire est utilisé pour réduire le débit, mais les mots binaires sont, dans certains cas, deux fois plus longs pour être bien reconnus. L'opération de décodage est assez complexe : il faut analyser toute la séquence des salves, avec les contraintes temporelles afférentes. Des temporisateurs vérifient qu'une impulsion d'horloge dure 125 microsecondes, qu'une impulsion de données dure 62,5 microsecondes, que l'intervalle entre deux impulsions de données dure au moins 31,25 microsecondes pour une impulsion de valeur 1, et 93,75 microsecondes pour une impulsion de valeur 0. Grâce au procédé de codage selon l'invention, ces transactions peuvent être repérées grâce au changement de table de codage.
L'opération de décodage est alors grandement simplifiée.
Si le nombre de symboles, 2q, est supérieur à deux fois le nombre de mots binaires à coder, il est possible de transmettre des symboles spécifiques pour certaines informations de service, telles que le délimiteur de début d'un message.
Certains symboles qui ne sont pas utilisés contribuent eux aussi à la détection d'erreur puisque la détection d'un symbole non utilisé signale une erreur.
<Desc/Clms Page number 6>
L'invention a aussi pour objet un codeur et un décodeur pour la mise en oeuvre du procédé selon l'invention.
L'invention sera mieux comprise et d'autres caractéristiques apparaîtront à l'aide de la description d'exemples de mises en oeuvre : - La figure 1 représente le schéma synoptique d'un exemple de codeur pour un exemple de mise en oeuvre du procédé selon l'invention.
- La figure 2 représente le schéma synoptique d'un exemple de décodeur pour cet exemple de mise en oeuvre du procédé selon l'invention.
Le tableau ci-dessous illustre un exemple très simple où p=4 et q=4.
Cet exemple de codage permet de coder 16 mots binaires de 4 bits au moyen de symboles comportant 4 nombres ternaires. Ces symboles sont classés horizontalement par poids croissants, du poids-4 au poids +4. Il y a 81 symboles, parmi lesquels 19 ont une valeur nulle, 31 ont une valeur de +1 à +4, et 31 ont une valeur de -1 à -4. Il est à remarquer que 16 symboles ont un poids égal à +1, et 16 symboles ont un poids égal à-1.
<tb>
<tb>
<tb>
-4 <SEP> -3 <SEP> -2 <SEP> -1 <SEP> 0 <SEP> 1 <SEP> 2 <SEP> 3 <SEP> 4
<tb> 0-oc-000-0000 <SEP> 000+ <SEP> 00++ <SEP> 0+++ <SEP> ++++
<tb> - <SEP> 0-0-0-00-0 <SEP> 00±00+0 <SEP> 0+0+ <SEP> +0++
<tb> - <SEP> 0-0-0 <SEP> 0±00-+ <SEP> 0-++ <SEP> 0++0 <SEP> ++0+
<tb> ---0-00-0-00 <SEP> 0+0-0+00 <SEP> +00+ <SEP> +++0
<tb> - <SEP> 0-0 <SEP> 0-±0±0 <SEP> 0±+ <SEP> +0+0
<tb> --00 <SEP> 0--+ <SEP> 0-0+ <SEP> 0+± <SEP> ++00
<tb> - <SEP> --+ <SEP> +0-- <SEP> 0-+0 <SEP> -0++ <SEP> ++±
<tb> --± <SEP> ±0-+0-0-+0+ <SEP> +±+
<tb> - <SEP> ±-Q <SEP> +00--++Q <SEP> ±++
<tb> ±-000 <SEP> +±- <SEP> +000 <SEP> -+++
<tb> - <SEP> 0±±00-0-+
<tb> -0-+ <SEP> ±-+ <SEP> +0±
<tb> - <SEP> +0- <SEP> ±± <SEP> ±0+
<tb> -±0 <SEP> -00+ <SEP> ±+0
<tb> - <SEP> 0±0+0 <SEP> ++0-
<tb> --+0 <SEP> -+00 <SEP> +±0
<tb> - <SEP> ±+
<tb> - <SEP> +±
<tb> --++
<tb>
<tb> 0-oc-000-0000 <SEP> 000+ <SEP> 00++ <SEP> 0+++ <SEP> ++++
<tb> - <SEP> 0-0-0-00-0 <SEP> 00±00+0 <SEP> 0+0+ <SEP> +0++
<tb> - <SEP> 0-0-0 <SEP> 0±00-+ <SEP> 0-++ <SEP> 0++0 <SEP> ++0+
<tb> ---0-00-0-00 <SEP> 0+0-0+00 <SEP> +00+ <SEP> +++0
<tb> - <SEP> 0-0 <SEP> 0-±0±0 <SEP> 0±+ <SEP> +0+0
<tb> --00 <SEP> 0--+ <SEP> 0-0+ <SEP> 0+± <SEP> ++00
<tb> - <SEP> --+ <SEP> +0-- <SEP> 0-+0 <SEP> -0++ <SEP> ++±
<tb> --± <SEP> ±0-+0-0-+0+ <SEP> +±+
<tb> - <SEP> ±-Q <SEP> +00--++Q <SEP> ±++
<tb> ±-000 <SEP> +±- <SEP> +000 <SEP> -+++
<tb> - <SEP> 0±±00-0-+
<tb> -0-+ <SEP> ±-+ <SEP> +0±
<tb> - <SEP> +0- <SEP> ±± <SEP> ±0+
<tb> -±0 <SEP> -00+ <SEP> ±+0
<tb> - <SEP> 0±0+0 <SEP> ++0-
<tb> --+0 <SEP> -+00 <SEP> +±0
<tb> - <SEP> ±+
<tb> - <SEP> +±
<tb> --++
<tb>
<Desc/Clms Page number 7>
0000, 0001,............ 1111, au moyen de 16 symboles de poids nuls./1 reste 2 symboles de poids nuls disponibles pour des informations supplémentaires, le symbole 0000 n'étant pas utilisé parce qu'il complique la récupération d'un signal d'horloge lors de la réception des données codées.
Une deuxième table de codage est constituée en codant les 16 mots binaires 0000, 0001,............ 1111, au moyen de 16 symboles de poids + 1.
Une troisième table de codage est constituée en codant les 16 mots binaires 0000, 0001,............ 1111, au moyen de 16 symboles de poids-1.
Il est possible de détecter des erreurs de transmission en détectant tout les mots ternaires qui sont interdits, c'est à dire tous ceux de poids-2,-3,-4, +2, +3, +4. Il possible de coder une information supplémentaire par un changement de table de codage. Par exemple, le passage de la première table à la deuxième ou la troisième. table permet de détecter un début de message.
Puisque les symboles utilisés n'ont pas tous un poids nul, il est nécessaire de maintenir nul le courant continu. Un exemple de mise en oeuvre est le suivant : - Si la somme est égale à +1, il consiste à utiliser la troisième table, celle-ci codant tous les mots binaires avec seulement des symboles de poids égal à-1.
- Si la somme est égale à-1, il consiste à utiliser la deuxième table qui code tous les mots binaires avec seulement des symboles de poids égal à +1.
- Si la somme est égale à 0, et s'il n'y a pas de début de message à indiquer, il consiste à utiliser une table qui code tous les mots binaires avec seulement des symboles de poids égal à 0.
Si cette règle n'est pas respectée pour un symbole reçu, cela signifie qu'il est affecté par une erreur de transmission.
Un second exemple de mise en oeuvre consiste à coder 256 mots binaires de 8 bits au moyen de symboles comportant 8 nombres ternaires (codage 8B/8T). Le nombre de symboles de poids nul est égal à 744. Une
<Desc/Clms Page number 8>
première table de codage est constituée en codant les 256 mots binaires 00000000,.........., 11111111, au moyen de 256 symboles de poids nul.
Une deuxième table de codage est constituée en codant les 256 mots binaires au moyen de 256 autres symboles de poids nul. Le passage de la première à la deuxième table de codage code une information supplémentaire telle que le passage d'un type de données à un autre (par exemple voix/données).
Ce type de codage permet un décodage rapide puisque ! n'y a pas besoin d'extraire puis de reconnaître un symbole, mais qu'il suffit de reconnaître le changement de table au moment du décodage. Le décodage est réalisée en adressant simultanément deux tables de décodage. La table qui reconnaît le symbole reçu fournit le mot binaire décodé, et un bit supplémentaire qui identifie cette table.
Une troisième table de codage peut être constituée pour coder 231 informations supplémentaires (telles qu'un symbole indicateur de début de message, un symbole indicateur de fin de message, des codes de contrôle d'erreur, etc) au moyen de 231 autres symboles de poids nuls.
Un mode de mise en oeuvre préférentiel consiste à changer de table de codage pour indiquer le début d'un message ; et en outre à indiquer ce début par un symbole qui n'est pas imitable par une combinaison de deux symboles successifs, parmi ceux utilisés dans les tables de codage. Ce symbole est pas exemple ----++++.
La figure 1 représente le schéma synoptique d'un exemple de codeur pour cet exemple de mise en oeuvre (8B/8T) du procédé selon l'invention. Il comporte : - une mémoire 1 contenant deux tables de codage, T1 et T2, et ayant : - une entrée 8 sélectionnant une table, cette entrée recevant un signal binaire T qui représente une information binaire à transmettre (par exemple pour indiquer un début de trame),
<Desc/Clms Page number 9>
-- une entrée d'adresse, 7, commune pour les deux tables T1 et T2, cette entrée recevant un mot binaire D qui est un octet de données à coder ; - et une sortie fournissant seize bits, sous la forme d'un mot A de huit bits et un mot B de huit bits ; - deux registres, 2 et 3, ayant chacun huit entrées parallèles et une sortie série, huit bits de la sortie de la mémoire 1 étant appliqués aux entrées du registre 2 et les huit autres bits étant appliqués aux entrées du registre 3 ; - deux amplificateurs de ligne, 4 et 5, ayant chacun une entrée reliée respectivement à une sortie d'un des registres 2 et 3 ; - et un transformateur de ligne, 6, ayant un enroulement primaire relié aux sorties des deux amplificateurs de ligne 4 et 5, et un enroulement secondaire relié à une ligne de transmission bifilaire, non représentée.
Des moyens de commande non représentés commandent les registres 2 et 3 en synchronisme avec la mémoire 1.
La sortie de chacun des amplificateurs 4 et 5 ne peut avoir qu'un état haut ou un état bas, cet état étant commandé par un signal binaire appliqué à son entrée. L'envoi d'un chiffre ternaire de valeur +1 et réalisé en mettant la sortie de l'amplificateur 4 à un niveau haut et la sortie de l'amplificateur 5 à un niveau bas. L'envoi d'un chiffre ternaire de valeur-1 est réalisé en mettant la sortie de l'amplificateur 4 à un niveau bas et la sortie de l'amplificateur 5 à un niveau haut. L'envoi d'un chiffre ternaire de valeur 0 et réalisé en mettant la sortie de l'amplificateur 4 à un niveau haut et la sortie de l'amplificateur 5 à un niveau haut, par exemple.
Par exemple, si la table T1 est utilisée, sa partie Tla fournit les bits activant l'amplificateur 5, et sa partie T1 b fournit les bits activant l'amplificateur 4. Pour coder un symbole, il faut activer l'amplificateur 5 avec huit bits successifs qui sont les huit bits constituant le mot A. Parallèlement, il faut activer l'amplificateur 4 avec huit autres bits successifs qui sont les huit bits constituant le mot B. La mémoire 1 fournit ces seize bits (mot A et mot B) en une seule fois,
<Desc/Clms Page number 10>
aux registres à décalage 2 et 3. Ces registres ont pour fonction de les restituer séquentiellement en huit temps successifs.
Par exemple, pour émettre le symbole S = 00+0--++, la mémoire 1 fournit simultanément les mots A et B suivants (mot A = colonne A ; mot B = colonne B) :
<tb>
<tb> S <SEP> A <SEP> B
<tb> 0 <SEP> 0 <SEP> 0
<tb> 0 <SEP> 0 <SEP> 0
<tb> + <SEP> 1 <SEP> 0
<tb> 0 <SEP> 0 <SEP> 0
<tb> - <SEP> 0 <SEP> 1
<tb> - <SEP> 0 <SEP> 1
<tb> + <SEP> 1 <SEP> 0
<tb> + <SEP> 1 <SEP> 0
<tb>
<tb> S <SEP> A <SEP> B
<tb> 0 <SEP> 0 <SEP> 0
<tb> 0 <SEP> 0 <SEP> 0
<tb> + <SEP> 1 <SEP> 0
<tb> 0 <SEP> 0 <SEP> 0
<tb> - <SEP> 0 <SEP> 1
<tb> - <SEP> 0 <SEP> 1
<tb> + <SEP> 1 <SEP> 0
<tb> + <SEP> 1 <SEP> 0
<tb>
Le registre 2 enregistre en parallèle le contenu A de la deuxième colonne du tableau ci-dessus. Le registre 3 enregistre en parallèle le contenu B de la troisième colonne du tableau ci-dessus. Pour chaque symbole, les registres 2 et 3 sont lus huit fois pour que chacun restitue en série huit bits successivement.
La figure 2 représente le schéma synoptique d'un exemple de décodeur pour cet exemple de mise en oeuvre (8B/8T) du procédé selon l'invention. Il comporte : - Un transformateur de ligne 11 ayant un enroulement primaire relié à une ligne bifilaire, non représentée, et un enroulement secondaire ; - deux récepteurs de ligne, 12 et 13, ayant chacun une entrée reliée à l'enroulement secondaire du transformateur 11 ; - deux registres, 14 et 15, ayant une entrée série et huit sorties parallèles ;
<Desc/Clms Page number 11>
- et une mémoire 16 contenant deux tables de décodage Tl'et T2', cette mémoire ayant : - une entrée d'adresse recevant huit bits fournis par les sorties du registre 14 (mot A), et huit bits fournis par les sorties du registre 15 (mot B) ; - une sortie 17 fournissant un mot binaire D de huit bits qui est un octet de données décodées ; -- une sortie 18 fournissant un bit T restituant une information binaire supplémentaire (par exemple un début de trame) ; - et une sortie 19 fournissant un bit E indiquant, le cas échéant, que le symbole reçu ne correspond à aucun des symboles attendus, et qu'il est donc erroné.
Des moyens de commande non représentés commandent les registres 14 et 15 en synchronisme avec la mémoire 16.
La sortie de chacun des amplificateurs 12 et 13 ne peut avoir qu'un état haut ou un état bas représentant respectivement les valeurs 0 et 1. La réception d'un chiffre ternaire de valeur +1 se traduit par une valeur 1 à la sortie de l'amplificateur 12 et une valeur 0 à la sortie de l'amplificateur 13. La réception d'un chiffre ternaire de valeur-1 se traduit par une valeur 0 à la sortie de l'amplificateur 12 et une valeur 1 à la sortie de l'amplificateur 13. La réception d'un chiffre ternaire de valeur 0 se traduit par une valeur 0 à la sortie de l'amplificateur 12 et une valeur 0 à la sortie de l'amplificateur 14, par exemple.
Chaque chiffre ternaire reçu est donc représenté par une paire de bits.
Le registre 14 enregistre le premier bit de chaque paire. Le registre 15 enregistre le second bit de chaque paire. Pour chaque symbole, les registres 14 et 15 sont commandés huit fois pour que chacun enregistre huit bits successivement. Les deux bits d'une même paire sont respectivement enregistrés par les registres 14 et 15 simultanément.
Le décodage d'un symbole S, constitué de huit chiffres ternaires, en un mot binaire D de huit bits en est réalisé en deux étapes :
<Desc/Clms Page number 12>
Dans une première étape, huit paires de bits, qui correspondent respectivement à huit chiffres ternaires constituant un symbole reçu, sont enregistrées successivement dans les registres 14 et 15.
Dans une seconde étape, les sorties parallèles des registres 14 et 15 fournissent simultanément ces huit paires de bits à l'entrée d'adresse de la mémoire 16, sous la forme d'un mot binaire A de huit bits, et d'un mot binaire B de huit bits. Par exemple, lorsque le symbole S = 00+0--++ a été reçu, elles fournissent simultanément les huit paires de bits suivantes (colonnes A et B) :
<tb>
<tb> S <SEP> A <SEP> B
<tb> 0 <SEP> 0 <SEP> 0
<tb> 0 <SEP> 0 <SEP> 0
<tb> + <SEP> 0 <SEP> 0
<tb> 0 <SEP> 0 <SEP> 0
<tb> - <SEP> 0 <SEP> 1
<tb> - <SEP> 0 <SEP> 1
<tb> + <SEP> 1 <SEP> 0
<tb> + <SEP> 1 <SEP> 0
<tb>
<tb> S <SEP> A <SEP> B
<tb> 0 <SEP> 0 <SEP> 0
<tb> 0 <SEP> 0 <SEP> 0
<tb> + <SEP> 0 <SEP> 0
<tb> 0 <SEP> 0 <SEP> 0
<tb> - <SEP> 0 <SEP> 1
<tb> - <SEP> 0 <SEP> 1
<tb> + <SEP> 1 <SEP> 0
<tb> + <SEP> 1 <SEP> 0
<tb>
Les seize bits 11100011, 00001100 appliqués à l'entrée d'adresse de la mémoire 16 permettent d'y lire un mot binaire de neuf bits, sauf si le symbole reçu est erroné. Parmi ces neuf bits, huit bits constituent un mot binaire de données décodées, D, et le neuvième bit, T, indique si le symbole reçu appartient à la table de codage TI' ou à la table de décodage T2'.
Si on souhaite réduire la rapidité de modulation, et donc le débit en ligne, il faut choisir une valeur de q inférieure à la valeur de p.
Un troisième exemple de mise en oeuvre, remplissant cette condition, consiste à coder 65536 mots binaires de 16 bits au moyen de symboles comportant 12 chiffres ternaires (codage 16B/12T). Le nombre de symboles de poids nul est supérieur à deux fois 65536. Une première table de codage est constituée en codant les 65536 mots binaires au moyen de 65536 symboles de
<Desc/Clms Page number 13>
poids nul. Une deuxième table de codage est constituée en codant les 65536 mots binaires au moyen de 65536 autres symboles de poids nul. Le passage de la première à la deuxième table de codage code une information supplémentaire.
La réalisation d'un codeur et d'un décodeur pour ce type de codage est analogue à celle décrite précédemment.
Claims (8)
1) Procédé de codage, caractérisé en ce qu'il consiste à coder un mot binaire selon une pluralité de tables de codage, la table de codage étant choisie pour chaque mot binaire à coder, en fonction d'au moins une information supplémentaire à coder.
2) Procédé selon la revendication 1, caractérisé en ce qu'il consiste à changer de table de codage pour indiquer le début d'un message ; et en outre à indiquer ce début par un symbole qui n'est pas imitable par une combinaison de deux symboles successifs, parmi ceux utilisés dans les tables de codage.
3) Procédé de codage selon la revendication 1, consistant à coder un mot de p bits avec un symbole composé de q chiffres ternaires, caractérisé en ce que p et q sont choisis tels que le nombre de symboles ayant un poids nul est au moins égal à 2 x 2P ; en ce qu'une première table de codage comporte 2P symboles, ayant un poids nul ; et en ce qu'une seconde table de codage comporte 2P autres symboles ayant un poids nul.
4) Procédé de codage selon la revendication 1, consistant à coder un mot de p bits avec un symbole composé de q chiffres ternaires, caractérisé en ce que p et q sont choisis tels que le nombre de symboles ayant un poids nul ou égal à + 1 est au moins égal à 3 x 2P ; en ce qu'une première table de codage comporte 2P symboles, ayant un poids nul ; en ce qu'une deuxième table de codage comporte 2P autres symboles ayant un poids égal à-1 ; et en ce qu'une troisième table de codage comporte 2P autres symboles ayant un poids égal à + 1.
<Desc/Clms Page number 15>
5) Procédé selon la revendication 4, caractérisé en ce qu'il consiste en outre à alterner le codage selon la deuxième et la troisième table, en fonction de la valeur courante de la somme des poids des symboles précédemment codés et transmis.
6) Procédé selon la revendication 1 caractérisé en ce que p=16 et q=12.
7) Codeur pour coder un mot binaire, caractérisé en ce qu'il comporte des moyens (1) pour mémoriser au moins deux tables de codage (T1, T2), et des moyens (8) pour sélectionner une table de codage en fonction d'une information supplémentaire à coder.
8) Décodeur pour décoder un mot binaire, caractérisé en ce qu'il comporte des moyens (16) pour mémoriser au moins deux tables de décodage (TT, T2), et des moyens (16, 18) pour restituer une information supplémentaire en fonction de la table de décodage qui a permis de décoder un mot binaire.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0107157A FR2825538A1 (fr) | 2001-05-31 | 2001-05-31 | Procede de codage consistant a coder un mot binaire selon une pluralite de tables de codage |
CNA028122372A CN1516944A (zh) | 2001-05-31 | 2002-05-30 | 编码方法 |
EP02738289A EP1397896A1 (fr) | 2001-05-31 | 2002-05-30 | Procede de codage |
US10/478,856 US20040150545A1 (en) | 2001-05-31 | 2002-05-30 | Coding method |
PCT/FR2002/001821 WO2002098092A1 (fr) | 2001-05-31 | 2002-05-30 | Procede de codage |
JP2003501162A JP2004532589A (ja) | 2001-05-31 | 2002-05-30 | コーディング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0107157A FR2825538A1 (fr) | 2001-05-31 | 2001-05-31 | Procede de codage consistant a coder un mot binaire selon une pluralite de tables de codage |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2825538A1 true FR2825538A1 (fr) | 2002-12-06 |
Family
ID=8863829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0107157A Pending FR2825538A1 (fr) | 2001-05-31 | 2001-05-31 | Procede de codage consistant a coder un mot binaire selon une pluralite de tables de codage |
Country Status (6)
Country | Link |
---|---|
US (1) | US20040150545A1 (fr) |
EP (1) | EP1397896A1 (fr) |
JP (1) | JP2004532589A (fr) |
CN (1) | CN1516944A (fr) |
FR (1) | FR2825538A1 (fr) |
WO (1) | WO2002098092A1 (fr) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7835389B2 (en) * | 2006-09-20 | 2010-11-16 | Broadcom Corporation | Method and system for an extended range Ethernet line code using 4B/3B mapping |
CN101572587A (zh) * | 2008-04-30 | 2009-11-04 | 中兴通讯股份有限公司 | 序列编码方法、装置以及过载指示信息设置方法 |
US9264706B2 (en) * | 2012-04-11 | 2016-02-16 | Qualcomm Incorporated | Bypass bins for reference index coding in video coding |
CN105940372A (zh) * | 2014-11-24 | 2016-09-14 | 蔡光贤 | 三进制和二进制混合运算的计算机*** |
JP7320927B2 (ja) * | 2018-07-02 | 2023-08-04 | ルネサスエレクトロニクス株式会社 | 半導体装置及び通信システム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0548415A1 (fr) * | 1991-12-24 | 1993-06-30 | ALCATEL BELL Naamloze Vennootschap | Système de codage avec un canal auxiliaire |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3240341B2 (ja) * | 1993-07-06 | 2001-12-17 | 三菱電機株式会社 | 情報変換方法及び記録再生装置 |
-
2001
- 2001-05-31 FR FR0107157A patent/FR2825538A1/fr active Pending
-
2002
- 2002-05-30 US US10/478,856 patent/US20040150545A1/en not_active Abandoned
- 2002-05-30 WO PCT/FR2002/001821 patent/WO2002098092A1/fr not_active Application Discontinuation
- 2002-05-30 JP JP2003501162A patent/JP2004532589A/ja not_active Withdrawn
- 2002-05-30 CN CNA028122372A patent/CN1516944A/zh active Pending
- 2002-05-30 EP EP02738289A patent/EP1397896A1/fr not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0548415A1 (fr) * | 1991-12-24 | 1993-06-30 | ALCATEL BELL Naamloze Vennootschap | Système de codage avec un canal auxiliaire |
Non-Patent Citations (2)
Title |
---|
BUF M ET AL: "Digital transmission equipment-encoder and decoder 4B/3T-designed with PLDs", SEMICONDUCTOR CONFERENCE, 1997. CAS '97 PROCEEDINGS., 1997 INTERNATIONAL SINAIA, ROMANIA 7-11 OCT. 1997, NEW YORK, NY, USA,IEEE, US, 7 October 1997 (1997-10-07), pages 605 - 608, XP010266967, ISBN: 0-7803-3804-9 * |
NN: "http://ccl.cnu.ac.kr/seminar/1998/labseminar/workgroup/datatransfersystem.ppt", COMPUTER COMMUNICATIONS LAB, 6 August 1998 (1998-08-06), Corea, pages 1 - 19, XP002192630 * |
Also Published As
Publication number | Publication date |
---|---|
US20040150545A1 (en) | 2004-08-05 |
EP1397896A1 (fr) | 2004-03-17 |
CN1516944A (zh) | 2004-07-28 |
JP2004532589A (ja) | 2004-10-21 |
WO2002098092A1 (fr) | 2002-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0827285B1 (fr) | Procédé de transmission de bits d'information avec codage correcteur d'erreurs, codeur et décodeur pour la mise en oeuvre de ce procédé | |
EP0827284B1 (fr) | Procédé de transmission de bits d'information avec codage correcteur d'erreurs, codeur et décodeur pour la mise en oeuvre de ce procédé | |
EP0239453B1 (fr) | Procédé et dispositif de transmission de données numériques par messages organisés en trames | |
FR2533091A1 (fr) | Systeme de detection et de correction d'erreurs de transmission d'un message binaire utilisant un code cyclique detecteur et correcteur d'erreurs de type reed-solomon entrelace | |
EP3443678B1 (fr) | Methode de décodage d'un code polaire avec inversion de bits peu fiables | |
EP0627821A1 (fr) | Procédé et dispositif d'entrelacement d'une séquence d'éléments de données | |
EP0654910A1 (fr) | Procédé pour détecter des bits d'information traités par des codes en blocs concaténés | |
CH619330A5 (fr) | ||
EP0235477B1 (fr) | Procédé et dispositif de transmission radioélectrique d'informations codées, résistant au brouillage | |
EP0090728B1 (fr) | Procédé pour transmettre un signal en code HDBN avec un signal binaire auxiliaire, codeur et décodeur selon le procédé et système de télésurveillance de répéteurs d'une liaison numérique au moyen de tels signaux auxiliaires | |
WO1989007863A1 (fr) | Procede de codage et procede de decodage a longueur variable, dispositif de codage et dispositif de decodage pour la mise en oeuvre de ce procede | |
FR2476880A1 (fr) | Procede et dispositif pour multiplexer un signal de donnees et plusieurs signaux secondaires, procede et dispositif de demultiplexage associes, et emetteur-recepteur d'interface en faisant application | |
EP0066512A1 (fr) | Procédé de codage de données binaires, et son application à un système de transfert de signal vidéo numérisé sur bande magnétique | |
FR2825538A1 (fr) | Procede de codage consistant a coder un mot binaire selon une pluralite de tables de codage | |
EP0763284A1 (fr) | Procede de codage-entralecement et procede correspondant de desentrelacement-decodage | |
EP0228528B1 (fr) | Dispositif de mise en oeuvre d'un code à faible disparité accumulée en transmission numérique à haut débit et procédé de codage utilisant un tel dispositif | |
CH640678A5 (fr) | Procede et installation de transmission simultanee d'une onde basse frequence et d'un signal numerique mic. | |
EP0063076A1 (fr) | Procédé de protection contre les erreurs de transmission des messages radio-télégraphiques et dispositif de mise en oeuvre | |
EP0982866B1 (fr) | Procédé de codage convolutif et de transmission par paquets d'un flux série de données numériques, procédé et dispositif de décodage correspondants | |
EP0285916B1 (fr) | Procede de codage de nombres sous forme binaire et dispositif pour sa mise en oeuvre | |
US6311202B1 (en) | Hardware efficient fast hadamard transform engine | |
BE897831R (fr) | Circuit de conference pour systeme a division dans le temps | |
EP0384795A1 (fr) | Procédé et dispositif de transmission d'informations entre stations d'un réseau de communication, notamment pour véhicule automobile | |
FR2613893A1 (fr) | Procede de commutation de signaux numeriques asynchrones, et dispositif pour la mise en oeuvre de ce procede | |
FR2535556A1 (fr) | Systeme de transmission sur porteur physique en fibre optique, d'un flux de donnees principal et d'un flux de donnees secondaire |