Brevet FR2511825A1 — publié le 19830225

La présente invention concerne l'addition de mots MIC (modulation par impulsions et codage) comprimés, telle qu'elle est effectuée, par exemple, dans les systèmes téléphoniques, pour l'insertion de tonalités dans des voies de communication ou pour l'établissement de certains types de conférences. Un code MIC couramment utilisé en téléphonie numérique est une représentation comprimée de 4096 niveaux analogiques discrets, selon la loi A du CCITT Dans cette représentation, le code est un mot de 8 éléments binaires dont le premier indique la polarité ou signe du signal analogique de parole, les trois suivants indiquent dans quelle gamme se situe l'amplitude du signal analogique parmi 8 gammes contiguës ou segments de la loi de compres- sion et les quatre derniers donnent le numéro de l'inter- valle dans lequel tombe ce signal parmi 16 intervalles égaux du segment respectif Les deux segments inférieurs ont des intervalles ou échelons égaux, tandis que les échelons de chacun des six autres segments ont une amplitude deux fois plus grande que ceux du segment précédent Dans chaque segment, les 16 échelons sont désignés respectivement par 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Il est difficile d'appliquer l'arithmétique linéaire à de tels codes, par conséquent divers procédés sont utilisés pour additionner ou soustraire les codes MIC, par exemple en reproduisant l'équivalent linéaire à 13 éléments binaires (eb) du mot comprimé à 8 eb, en effectuant l'addition linéairement sur 13 eb et en comprimant le résultat à 8 eb En variante, on peut utiliser une mémoire morte programmable (PROM) de grande capacité qui contient une table de résultats adressable par les deux mots de 8 eb à ajouter De telles méthodes exigent malheureusement un grand nombre de dispositifs, bien qu'elles permettent de maintenir le temps de calcul dans l'intervalle de temps d'une voie MIC L'utilisation d'une mémoire morte demande une capacité de 64 K et, Comme les mémoires PROM de cette taille sont relativement lentes, il faut en prévoir deux, exploitées en temps partagé Ainsi, avec les méthodes connues, on n'atteint la vitesse requise qu'au moyen d'un grand nombre de dispositifs. L'objet de l'invention est donc de permettre l'addition ou la soustraction de mots MIC exprimant des niveaux de signaux analogiques en fonction d'une loi de compression numérique, telle que la loi A du CCITT, avec un matériel plus simple et plus économique que dans l'art antérieur. Le circuit électronique fourni par l'invention pour ajouter des codes MIC non-linéaires obtenus par une loi de compression numérique selon laquelle un échantillon de signal analogique est exprimé par un mot de 8 eb dont le premier est un eb de signe, les 3 eb suivants définissent le segment de la caractéristique de codage linéaire qui contient la valeur de l'échantillon et les 4 derniers eb représentent le numéro de l'échelon correspondant de ce segment parmi une pluralité d'échelons égaux (jusqu'à 16), est caractérisé par le fait que la dernière partie à 4 eb de l'un des mots MIC de 8 eb est décal 4 e de façon que les eb de même poids binaire des deux mots soient alignés, l'addition binaire des deux parties décalées est effectuée et le résultat est tronqué par élimination des quatre 'eb les moins significatifs, l'eb de rang le plus élevé étant un 1, le code de segment approprié à 3 eb et l'eb de signe sont rattachés aux quatre eb restants de la somme tronquée et le code de segment est corrigé si l'addition produit un eb de report indiquant la situation de la somme dans le segment de rang supérieur. L'invention sera mieux comprise à la lecture de la description qui va suivre, faite à titre d'exemple non limitatif,en se reportant aux figures annexées qui représentent la figure 1, des exemples de calculs utiles à la compréhension de l'invention; la figure 2, un schéma très simplifié d'un circuit d'addition conforme à l'invention. 11825 La loi A du CCITT est une approximation linéaire à treize segments d'une loi de compression logarithmique des échelons de quantification linéaire de l'amplitude d'une tension analogique La valeur de cette tension est exprimée linéairement par un code binaire de 13 eb (eb O à 12 indiqués figure 1), I'eb de rang 12 indiquant le signe de la tension et les autres eb ayant la valeur indiquée sur la deuxième ligne de la table Quand un tel code de 13 eb est exprimé en un mot MIC de 8 eb, chacun des eb de ce mot a une signification précise que l'on a donnée dans le préambule, Il est à noter que les segments successifs indiqués sur la 3 ème ligne sont utilisés pour les valeurs positives et négatives. Dans le mot MJC, sept segments sont réellement représentés Parmi ceux-ci, le segment 2 commence à la valeur 64 et se termine à 124, ce qui signifie que ses 16 échelons sont égaux à quatre échelons de l'échelle linéaire Le niveau 128 est la première valeur du segment 3 De même, le segment 7 commence à 2048 et comporte 16 échelons de 128 unités Seul le segment ( 0) est différent du fait qu'il a 32 échelons de taille 2, partant de la valeur 0 Ainsi, les deux segments inférieurs sont en effet combinés. Par exemple, la valeur 1730 représente une tension analogique (ou signal) mesurée sur une échelle linéaire ayant un nombre défini de pas ou échelons de quantification égaux Ainsi " 1730 " signifie 1730 échelons et la compression s'effectue en indiquant que cette valeur est comprise dans le segment 6 et que le nombre d'échelons de ce segment correspondant à la différen- ce 1730 1024 = 706 unités est égal à 11, soit B, puisque chaque échelon du segment 6 mesure 64 unités Le reste de la division de 706 par 64, qui est égal à 2 unités, est ignoré du fait qu'il est inférieur à la limite de résolution du segment La représentation comprimée de 1730 est donc 6 B, ce qui est indiqué figure 1 par un eb 1 aligné avec le segment 6, suivi des quatre eb constituant le nombre binaire 1011 qui vaut 11 en décimal et B en hexadécimal. De façon similaire, le mot MIC 2 F représentant les valeurs 124 à 127 comporte un premier eb 1 aligné avec le segment 2 dont l'origine a la valeur 64 et 4 eb de valeur 1 représentant le dernier échelon de 4 unités. Avec le degré de précision requis pour additionner deux mots MIC, on a constaté qu'il suffisait que quatre eb soient ajoutés Ainsi, pour l'addition des deux mots 6 B et 2 F que la figure 1 représente avec le décalage nécessaire à l'alignement des eb de même poids binaire (les 3 eb de segment étant remplacés, comme indiqué ci- dessus, par l'eb 1 aligné avec la valeur d'origine du segment), le résultat appartient toujours au segment 6 Comme la résolution de ce segment n'est que de 64 unités de l'échelle linéaire, la plupart des eb du mot 2 F peuvent être ignorés et seuls les 4 eb représentatifs du nombre d'échelons de 64 unités indiqué par le mot 6 B dans le segment 6 doivent être ajoutés à l'eb de même poids ( 64) du mot 2 F Le résultat exact de l'addition 6 B + 2 F est donné figure 1 (sur 12 eb) suivi de la somme tronquée 6 C. Dans certains cas, l'addition se traduira par un débordement dans le segment suivant (retenue) et on aura 5 eb d'indication d'échelons dont seuls les 4 premiers devront être retenus pour correspondre à la résolution du nouveau segment (on effectue ainsi la division par deux du nombre d'échelons). La soustraction s'effectue en ajoutant le plus grand nombre(diminuende)au complément à 2 du plus petit nombre (diminuteur) et cette addition fournit la différence recherchée, non complémentée La figure 1 donne l'exemple de la soustraction 6 B 2 F, 2 F étant écrit sous sa forme complémentée à 2 I 1 suffit d'ajouter les 4 derniers eb du diminuende 6 B représentant le nombre d'échelons (B = 11) dans le segment 6 (en binaire 1011) aux eb correspondants du complément à 2 de 2 F ( 1110) rour obtenir le résultat 11001, le premier eb aligné avec le segment 6 indiquant le maintien du résultat dans 11825 ce segment et les 4 eb 1001 signifiant 9 échelons du segment 6 La différence 6 B 2 F ( 1728 124 = 1604 en décinial) est donc exprimée par le mot MIC comprimé 69 ( 1024 + 9 x 64 = 1600 en décimal). Quand le résultat d'une soustraction s'inscrit dans un segment de rang inférieur à celui du diminuende la méthode précédente nécessite la décrémentation adéquate du numéro de segment et le réglage du nombre d'échelons (décalages) Une soustraction linéaire peut même aboutir à un segment bien inférieur à celui du diminuende La méthode de l'addition à 4 eb ne peut pas donner un résultat très précis, mais comme les résidus sont plus petits que la résolution du segment le plus grand cela ne pose aucun problème en pratique. De la discussion précédente, il ressort que le procédé de l'addition à 4 eb exige des moyens de décalage des mots et de complémentation à deux du plus petit nombre Ces moyens peuvent être une mémoire PROM dont les entrées sont: a) le nombre d'échelons (les 4 eb les moins significatifs du mot MIC); b) le nombre de positions binaires par lequel le mot MIC doit être décalé (normalisation du mot avec la taille de l'échelon dans le segment occupé); c) un signal indiquant que le mot relatif est le plus grand des deux (pas d'action); d) un signal indiquant qu'il s'agit d'une soustraction (complémentation à 2 du diminuteur); e) un signal indiquant que le mot relatif est dans le segment 1 (une action légèrement différente que pour les autres segments étant ici nécessaire). Le circuit de l'invention est représenté schématiquement figure 2, les nombres indiqués sur chaque ligne correspondant au nombre d'éléments binaires transmis en parallèle sur cette connexion Les deux mémoires PROM portant la même référence PROM 2 ont des fonctions similaires indiquées ci-dessous, avec celles des mémoires PROM 1, 3 et 4: l PROM I donne les indications d'addition (ADD), de distance entre les segments (DISTANCE) et de rang du segment atteint par le résultat (SEGMENT MAX). 2 Chaque PROM 2 effectue le décalage et la complémenta- tion à deux selon les indications de PROM 1. 3 PROM 3 et PROM 4 décalent le segment et l'échelon du résultat avant son transfert à la sortie. On va maintenant examiner les algorithmes exécutés sous le contrôle de ces mémoires, les actions à accomplir étant en effet spécifiées par des programmes enregistrés. PROM 1: Les entrées de cette mémoire sont associées chacune à l'un des mots MIC à ajouter ou soustraire pour introduire l'eb de signe de ce mot et les 3 eb qui définissent le segment dans-lequel se situe la valeur de ce mot On verra que les 4 eb qui indiquent l'échelon du segment sont transmis aux PROM 2 Les fonctions assurées par PROM 1 sont les suivantes: a) elle produit un nombre égal à-la différence entre les numéros de segment des deux valeurs et qui correspond au nombre d'eb dont il faut décaler le plus petit des mots MIC pour que les eb d'échelon soient correctement additionné; b) elle produit un nombre égal à la valeur finale du numéro de segment supérieur, qui peut être incrémenté dans le cas d'une addition ou décrémenté dans le cas d'une soustraction; c) elle fournit un signal indiquant que le segment supérieur est le segment 7 quand il est nécessaire d'éviter un débordement; d) après comparaison des eb de signe, elle fournit un signal qui indique s'il s'agit d'une addition ou d'une soustraction, cette dernière devant être effectuée comme une addition en complément à 2 Si les signes sont les mêmes, les deux parties indicatrices d'échelon doivent être ajoutées avec le décalage indiqué. Une logique externe associée à PROM 1 est utilisée pour fournir un signal d'égalité entre les deux segments (les deux valeurs sont dans le même segment) et un signal 11825 caractéristique du mot à décaler Ce dernier est le mot le plus petit et il est donc appliqué à celle des PROM 2 qui reçoit les 4 eb d'échelon de ce mot. Il est à noter que les fonctions de la logique externe et de la mémoire PROM 1 sont interchangeables La solution choisie permet l'utilisation d'une PROM de 256 octets disponible dans le commerce. PROM 2: Chacune de ces mémoires a deux entrées, la première recevant la partie à 4 eb indicatrice d'échelon de l'un des mots MIC entrants et l'autre recevant les informations fournies par PROM 1, comme indiqué ci-dessus. Sous cette commande, chaque PROM 2 génère le mot à 4 eb qui doit être utilisé pour l'addition en fonction des règles suivantes: a) si cette PROM 2 traite le plus grand des deux mots elle transmet au sommateur les 4 eb d'échelon de ce mot, indépendamment de tout autre signal Il faut noter que si les deux mots sont dans le même segment, ils sont traités chacun comme le plus grand et transmis tels quels au sommateur par les deux mémoires; b) si le mot traité est le plus petit, plusieurs cas sont à envisager: 1 Si le segment (O) est indiqué (première moitié du segment 1),une action spéciale doit avoir lieu Les eb O à 3 représentant le nombre d'échelons sont complétés par un eb 4 égal à O au lieu de 1 pour tous les autres segments. 2 Quand la mémoire reçoit le signal de soustraction, le mot traité est complémenté à 2. 3 Le mot (les 4 eb d'échelons plus précisément) est décalé vers la gauche, l'eb le moins significatif étant perdu à chaque décalage tandis qu'un eb égal à O pour une addition ou égal à 1 pour une soustraction prend la place de l'eb le plus significatif. Les deux mémoires sont alors prêtes à fournir les deux mots de 4 eb au sommateur pour qu'il en effectue l'addition linéaire La sortie de ce sommateur est à 5 eb puur prévoir un report de la quatrième à la cinquième position binaire Le mot de 5 eb est appliqué aux deux 25118-25 mémoires PROM 3 et 4 dont les fonctions vont maintenant être décrites. PROM 3: Elle produit les eb représentatifs du nombre d'échelons du résultat de l'addition à partir de la somme et du report transmis par le sommateur et en fonction d'autres signaux reçus de PROM 1 Les eb d'échelon sont donnés par le mot de somme mais il peut devoir être décalé en fonction des informations provenant de PROM 1 Les diverses actions possibles sont les suivantes: a) si les deux mots MIC sont dans le même segment et qu'une addition doit être effectuée, le segment doit être incrémenté puisque les échelons de chaque segment sont, comme on l'a vu, deux fois plus grands que ceux du segment précédent Les éléments indicateurs du numéro d'échelon, c'est-à-dire la somme des deux mots, sont alors décalés d'un rang vers la gauche et l'eb le plus significatif de la somme, l'eb 3, est alors égalé à l'eb de report Le résultat est fourni à la sortie pour les 4 eb de numéro d'échelon; b) si l'eb de report est O pour une addition ou 1 pour une soustraction, la sortie est alors égale à la somme; c) si le report résultant d'une addition est 1, la somme doit être décalée d'une place vers la gauche (l'eb le plus significatif est égal à O); d) dans les cas non prévus en a, b et c, c'est-à-dire soustraction de deux mots d'un même segment et report, ou autre soustraction et absence de report, le segment sera indiqué par la position de l'eb 1 le plus significatif dans la somme et, par conséquent les eb d'échelon seront les quatre suivants (positions remplies avec des O, autant que nécessaire); e) en outre, il existe une situation de débordement si l'un des mots MIC est dans le segment 7 et qu'une addition conduit à un report de 1 ou est effectuée avec un autre mot du segment 7 Dans ce cas, la sortie est remplacée par F ( 1111). 11825 PROM 4: Cette PROM utilise la plupart des entrées de PROM i en plus du numéro de segment du plus grand mot MIC, afin de produire les eb de segment pour le résultat de l'addition Ceci est effectué selon les règles suivantes: a) Si deux mots du même segment doivent être ajoutés, la sortie de PROM 4, c'est-à-dire le numéro de segment de la somme, est égale au numéro de segment entrant + 1, avec une limite à la valeur 7. 1 u b) Si l'eb de report est O pour une addition ou 1 pour une soustraction, le numéro de segment entrant est utilisé pour la somme. c) Pour une addition avec report de 1, le numéro de segment de la somme est égal au numéro d'entrée plus 1, le résultat étant limité à 7. d) Dans les autres cas, on a déjà mentionné que le segment est indiqué par l'eb 1 le plus significatif dans la somme et le numéro d'entrée, la sortie est égale à la différence entre les deux, ce qui fait zéro si la somme est nulle. L'imprécision des soustractions quand un changement de segment est nécessaire est inférieure à la résolution du plus grand mot MIC, de sorte qu'elle est en pratique indiscernable. Il est bien évident que la description qui précède n'a été donnée qu'à titre d'exemple non limitatif et que de nombreuses variantes peuvent être envisagées sans sortir pour autant du cadre de l'invention. 11825 REVENDICATIONS 1 Circuit électrique d'addition de mots MIC (modulation par impulsions et codage) exprimant la polarité et la valeur absolue d'échantillons de signaux analogiques par 8 éléments bi- naires (eb) conformément à une loi de compression numérique, le premier eb indiquant le signe de l'échantillon, les trois eb sui- vants donnant le numéro du segment correspondant à la valeur ab- solue de l'échantillon parmi un maximum de, 8 segments de quanti- fication non linéaire et les quatre derniers eb représentant un nombre d'échelons de quantification linéaire dans le segment res- pectif parmi un maximum de 16 échelons égaux, caractérisé par le fait qu'il comprend un moyen de décalage (PROM 1, 2) de ladite partie à quatre eb de l'un des deux mots MIC à additionner en inscrivant un 1 comme eb le plus significatif lors du premier décalage et un-O à chaque décalage suivant jusqu'à ce que les quatre eb résultants aient la même signification numérique que les quatre eb correspondants de l'autre mot MIC, un moyen d'addi- tion binaire (Y_) du nombre à quatre eb fourni par l'opération précédente avec la partie à quatre eb de l'autre mot, et des moyens (PROM 3, 4) de produire le mot MIC de résultat par ratta- chement de l'eb de signe correct et du code de segment approprié à trois eb à un code d'échelon à quatre eb qui est déduit du résultat de ladite addition binaire, ledit code de segment étant obtenu par la correction appropriée du plus grand numéro de segment desdits mots avec passage éventuel au segment immédiate- ment supérieur pour une addition ou à l'un quelconque des segments inférieurs pour une soustraction. 2 Circuit conforme à la revendication 1, caractérisé par le fait que les deux mots MIC à additionner sont appliqués à un ensemble de mémoires mortes programmables (PROM 1, 2) dont l'une (PROM 1) contrôle l'identité ou l'opposition de signe des deux valeurs correspondantes et, dans ce dernier cas, commande la complémentation à 2 du nombre à quatre eb obtenu par ledit décalage du code d'échelon du mot MIC qui exprime la plus petite valeur absolue, l'addition binaire de ce nombre à quatre eb com- plémenté à 2 étant ensuite effectuée avec le code d'échelon à quatre eb de l'autre mot. 3 Circuit conforme à la revendication 2, caractérisé par le fait que deux mémoires mortes programmables (PROM 2) sont prévues pour l'opération de décalage, une pour chaque code à 11825 quatre eb à additionner, un signal de commande étant appliqué à l'une d'entre elles par ladite première mémoire (PROM) quand la partie à quatre eb qu'elle reçoit doit être complémentée à 2. 4 Circuit conforme à l'une quelconque des revendications précédentes, caractérisé par le fait que lorsque les valeurs ex- primées par les deux mots MIC traités sont de signe contraire donc qu'il s'agit d'une soustration, le code d'échelon à quatre eb du mot MIC exprimant la plus petite valeur absolue est décal U du nombre de positions binaires nécessaire pour obtenir quatre t de même signification numérique que les quatre eb correspondants du code d'échelon de l'autre mot, l'eb le plus significatif étar fixé à 1 lors du premier décalage puis à O à chaque décalage sui vant, le nombre résultant est complémenté à 2 puis ajouté sous cette forme au code d'échelon de l'autre mot et le résultat de cette addition est utilisé pour former les codes d'échelon et de segment de la valeur absolue de la différence entre lesdits mots MIC (PROM 3, 4), le code de segment de ladite différence étant obtenu par la décrementation appropriée du code de segment du mot MIC exprimant la plus grande valeur absolue.