FR2747489A1 - Floating point computation of word products in ATM network - Google Patents

Floating point computation of word products in ATM network Download PDF

Info

Publication number
FR2747489A1
FR2747489A1 FR9604716A FR9604716A FR2747489A1 FR 2747489 A1 FR2747489 A1 FR 2747489A1 FR 9604716 A FR9604716 A FR 9604716A FR 9604716 A FR9604716 A FR 9604716A FR 2747489 A1 FR2747489 A1 FR 2747489A1
Authority
FR
France
Prior art keywords
function
relation
sep
mantissa
code
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.)
Granted
Application number
FR9604716A
Other languages
French (fr)
Other versions
FR2747489B1 (en
Inventor
Marc Bavant
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thomson CSF SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson CSF SA filed Critical Thomson CSF SA
Priority to FR9604716A priority Critical patent/FR2747489B1/en
Publication of FR2747489A1 publication Critical patent/FR2747489A1/en
Application granted granted Critical
Publication of FR2747489B1 publication Critical patent/FR2747489B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/5235Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0307Logarithmic or exponential functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The word product computation method approximates the relation defining each code word with an exponential relation. The terms of the exponential relation are formed from combinations of the number of bits, the exponent and the mantissa of the code word. The combinations are based on exponentiation and logarithm functions. The multiplication is performed with the approximate term, and the inverse of the product term taken to obtain an approximation to the product.

Description

La présente invention concerne un procédé pour le calcul approché du produit de mots de code d'information codés dans un format à virgule flottante utilisé notamment pour convoyer des informations de débit dans des réseaux de transmission de données par paquet connu sous l'abréviation anglo-saxonne ATM de "asynchronous transfer mode". The present invention relates to a method for the approximate calculation of the product of coded information code words in a floating-point format used in particular for conveying rate information in packet data transmission networks known by the abbreviation ATM saxon of "asynchronous transfer mode".

Une particularité des réseaux ATM est qu'ils permettent à chaque usager d'utiliser pleinement la bande passante disponible sur le trajet d'une connexion préalablement établie sans nécessiter une réservation statique de ressources lors de l'établissement d'une connexion. Ce service est connu sous l'abréviation anglo-saxonne ABR de "Available bit rate". En contrepartie de cette souplesse, les deux extrémités d'une connexion ont à adapter leur débit de transmission à la bande passante disponible. A cet effet, des cellules ATM particulières désignées sous l'abréviation anglosaxonne RM de "ressource management" permettent de renseigner les extrémités d'une connexion sur la disponibilité des ressources dans le réseau. Ces cellules sont émises et traitées en temps réel par les équipements d'extrémité qui sont connectés aux différentes artères du réseau aussi bien que par les commutateurs disposés à ses différents noeuds. Les cellules RM comportent des champs destinés à convoyer des informations de débit comme par exemple, le débit autorisé courant de la source CCR, ou le débit conseillé par le réseau à la source ER. Cependant comme ces champs font appel à un codage en virgule flottante particulier caractérisé par un bit de nullité, 5 bits d'exposant et 9 bits de mantisse la multiplication ou la division qu'il est nécessaire d'effectuer pour adapter le débit d'une source de transmission à la bande passante disponible sur le trajet d'une connexion devient une opération longue car elle nécessite le transcodage des données dans un format à virgule fixe sur 41 bits, ce dont les microprocesseurs commercialisés actuellement ne sont pas capables naturellement de par la taille de leurs registres de travail. A special feature of ATM networks is that they allow each user to fully utilize the available bandwidth on the path of a previously established connection without requiring a static reservation of resources when establishing a connection. This service is known by the abbreviation ABR of "Available bit rate". In return for this flexibility, the two ends of a connection have to adapt their transmission rate to the available bandwidth. For this purpose, particular ATM cells designated by the English abbreviation RM "resource management" can inform the ends of a connection on the availability of resources in the network. These cells are transmitted and processed in real time by the end equipments which are connected to the different arteries of the network as well as by the switches arranged at its different nodes. RM cells include fields for conveying rate information such as, for example, the current allowed rate of the CCR source, or the rate recommended by the network at the source ER. However, as these fields use a particular floating point coding characterized by a nullity bit, 5 bits of exponent and 9 bits of mantissa the multiplication or division that it is necessary to perform to adapt the bit rate of a transmission source to the bandwidth available on the path of a connection becomes a long operation because it requires the transcoding of data in a 41-bit fixed-point format, the microprocessors currently marketed are not naturally able to by the size of their work registers.

Le but de l'invention est de pallier les inconvénients précités. The object of the invention is to overcome the aforementioned drawbacks.

A cet effet, l'invention a pour objet un procédé pour le calcul approché du produit de mots de code d'information codés dans un format en virgule flottante, chaque mot de code étant défini à l'aide d'un exposant e et d'une mantisse m par une relation de la forme R(e,m)=2e.f(m) à laquelle est associé un code l(e,m)=2M.e+m où e et m sont des entiers tels que O < e < E
O < m < M et f(m) est une fonction monotone inversible telle que 1 < f(m < 2, caractérisé en ce qu'il consiste à approximer la relation R(e,m) par la relation R(e,m) approx = exp(K.(l(e,m)+P(m))) dans laquelle K= Long 2 et
2M
2M
P(m) est la partie entière de Logf(m)-m.
For this purpose, the subject of the invention is a method for the approximate calculation of the product of code information words encoded in a floating-point format, each codeword being defined using an exponent e and d. a mantissa m by a relation of the form R (e, m) = 2e.f (m) with which is associated a code l (e, m) = 2M.e + m where e and m are integers such that O <e <E
O <m <M and f (m) is an invertible monotonic function such that 1 <f (m <2, characterized in that it consists in approximating the relation R (e, m) by the relation R (e, m ) = exp (K. (l (e, m) + P (m))) in which K = Long 2 and
2M
2M
P (m) is the integer part of Logf (m) -m.

Log 2
L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé selon l'invention.
Log 2
The invention also relates to a device for implementing the method according to the invention.

L'invention a principalement pour avantage qu'elle permet de simplifier le calcul du produit de nombres codés en virgule flottante, en limitant considérablement la taille des registres des microprocesseurs mis en oeuvre pour effectuer les calculs. The main advantage of the invention is that it makes it possible to simplify the calculation of the product of floating-point numbers, by considerably limiting the size of the microprocessor registers used to perform the calculations.

D'autres caractéristiques et avantages de l'invention apparaîtront dans la description qui suit faite en regard des dessins annexés qui représentent:
Les figures la et lb les lois d'approximation utilisées pour la multiplication de nombres codés dans un format en virgule flottante selon l'invention.
Other features and advantages of the invention will appear in the following description made with reference to the appended drawings which represent:
Figures la and lb the approximation laws used for the multiplication of numbers encoded in a floating point format according to the invention.

La figure 2 un graphe montrant l'erreur d'approximation résultante. Figure 2 is a graph showing the resulting approximation error.

La figure 3 un mode de réalisation d'un dispositif pour la mise en oeuvre du procédé selon l'invention. Figure 3 an embodiment of a device for implementing the method according to the invention.

Le code utilisé pour coder l'information de débit dans une cellule
RM d'un réseau ATM est un code exprimé en virgule flottante suivant une relation de la forme R(z,e,m)=z.2e.(l +m/512) (1) dans laquelle z=O ou 1
l'exposant e est un entier compris entre 0 et 31
et la mantisse m est un entier compris entre 0 et 511.
The code used to encode the flow information in a cell
RM of an ATM network is a code expressed in floating point in a relation of the form R (z, e, m) = z.2e. (L + m / 512) (1) in which z = 0 or 1
the exponent e is an integer between 0 and 31
and the mantissa m is an integer between 0 and 511.

L'exposant e est codée sur une longueur de 5 bits et la mantisse m est codée sur une longueur de 9 bits. Au total, suivant la valeur de z, 25+9=16384 valeurs non nulles peuvent être codées, auxquelles peuvent être ajoutées 16384 valeurs nulles. The exponent e is encoded over a length of 5 bits and the mantissa m is encoded over a length of 9 bits. In total, depending on the value of z, 25 + 9 = 16384 non-zero values can be encoded, to which 16384 null values can be added.

A chacune de ces valeurs est associé un code
I(z, e, m) = 214z + 29e + m (2) pour coder l'information de débit R(z, e, m) dans une cellule RM.
Each of these values is associated with a code
I (z, e, m) = 214z + 29e + m (2) for encoding flow information R (z, e, m) in an RM cell.

En considérant les cas où z=l et en ignorant la quantité 214z, le procédé selon l'invention consiste à approximer la quantité
R(e, m)=2e.(l+m/512) (3) qui est associée à un mot de code l(e,m)=29.e+m (4) par la quantité:
R(e, m)approx=exp(k.(l(e,m)+p(m))) (5) dans laquelle k est une constante, p(m) est une fonction monotone croissante puis décroissante de la mantisse m telle que définie par les 512 valeurs du tableau de l'annexe 1 et dont la courbe représentative est montrée à la figure la. La fonction p(m) peut également être caractérisée analvtiauement comme étant la Dartie entière de

Figure img00030001
Considering the cases where z = 1 and ignoring the quantity 214z, the method according to the invention consists in approximating the quantity
R (e, m) = 2e (l + m / 512) (3) which is associated with a codeword l (e, m) = 29.e + m (4) by the quantity:
R (e, m) approx = exp (k. (L (e, m) + p (m))) (5) where k is a constant, p (m) is a monotonic increasing and decreasing function of the mantissa m as defined by the 512 values of the table in Appendix 1 and whose representative curve is shown in Figure la. The function p (m) can also be characterized analytically as the entire Dartie of
Figure img00030001

<tb> 738.66Log(1+m)-m <SEP>
<tb> 512 (remarque 738,66=
Log2
Soit W un mot de code ayant e comme exposant et m comme mantisse, c'est-à-dire W=l(e,m), désignons par P(W) I'expression l(e,m)+p(m). En appliquant la relation (4) il vient . P(W)=29e+m+p(m).
<tb> 738.66Log (1 + m) -m <SEP>
<tb> 512 (note 738.66 =
log2
Let W be a codeword with e as exponent and m as mantissa, that is, W = l (e, m), denote by P (W) the expression l (e, m) + p (m ). By applying the relation (4) it comes. P (W) = 29th + m + p (m).

Comme m+p(m) reste inférieur à 512 d'après la figure 1, P(W) est également un mot de code, ayant e comme exposant et m+p(m) comme mantisse, c'està-dire P(W)=l(e,m+p(m)).Since m + p (m) remains smaller than 512 according to FIG. 1, P (W) is also a code word, having e as exponent and m + p (m) as mantissa, ie P ( W) = l (e, m + p (m)).

Comme indiquée sur le graphe de la figure 2, I'erreur relative qui résulte de la substitution de la relation (1) par la relation (5) est très faible sa valeur reste positive et inférieure à 1,5%o quels que soient les débits compris entre 1 et 1 o10 cellules/secondes. As indicated in the graph of FIG. 2, the relative error resulting from the substitution of the relation (1) by the relation (5) is very small, its value remains positive and less than 1.5% o whatever the flow rates between 1 and 10 10 cells / second.

Le procédé selon l'invention permet d'obtenir une approximation du produit de deux valeurs de code R(e,m) et R(e', m') exprimées suivant la relation (5) et associées à deux mots de code W=l(e,m) et W'=l(e',m') par une fonction exponentielle de P(W) + P(W') multipliée par la constante k. La somme P(W)+P(V) est un mot de code, que l'on peut exprimer sous la forme P(W"), sous réserve de montrer que P est inversible, soit ws=p-1 (P(W)+P(W')) (8)
Comme montré plus haut P(W)=l(e,m+p(m)). II apparaît donc que l'exposant e est invariant dans la transformation P et que la mantisse m+p(m) peut être considérée comme une fonction inversible car monotone croissante. Si q désigne cette fonction inverse, l'inverse de la fonction P s'exprime alors sous la forme
#-I (1(e,m))=l(e,q(m)) (9)
Une table représentative des valeurs prises par la fonction q et correspondant au graphe de la figure I b est donnée en annexe 2. La fonction q(m) peut également etre caractérisée analytiquement comme étant la partie entière de

Figure img00040001
The method according to the invention makes it possible to obtain an approximation of the product of two code values R (e, m) and R (e ', m') expressed according to relation (5) and associated with two code words W = l (e, m) and W '= l (e', m ') by an exponential function of P (W) + P (W') multiplied by the constant k. The sum P (W) + P (V) is a codeword, which can be expressed as P (W "), provided that P is invertible, ie ws = p-1 (P ( W) + P (W ')) (8)
As shown above P (W) = 1 (e, m + p (m)). It thus appears that the exponent e is invariant in the transformation P and that the mantissa m + p (m) can be considered as an invertible function because it is monotonically increasing. If q denotes this inverse function, the inverse of the function P is expressed in the form
# -I (1 (e, m)) = l (e, q (m)) (9)
A table representative of the values taken by the function q and corresponding to the graph of figure I b is given in appendix 2. The function q (m) can also be analytically characterized as being the integer part of
Figure img00040001

<tb> 512.(exp <SEP> (m)-1) <SEP>
<tb> <SEP> 738,66
<tb>
Un algorithme permettant l'exécution du produit W' défini par la relation (8) et utilisant les données fournies par les tables p et q est le suivant: r t~wordl6 type entier codé sur au moins 16 bits p[ 1 tableau constant de 512 entiers entre 0 et 511 q[ ] tableau constant de 512 entiers entre 0 et 511
table p (annexe 1) t
table q (annexe 2) #define ZERO~MASK 0x4000 &num;define EXPONENT~MASK 0x3E00 #define MANTISSA~MASK 0x01FF t~word16 mult (t~word16 W1, t~word16 W2) f
if (W1 8 W2 8 ZERO~MASK) ( /* les deux opérandes sont non-nuls */
t~word16tmp = W1 + W2 + P[W1 & MANTISSA~MASK] + P[W2 &
MANTISSA~MASK] ;
/* insérer un test de dépassement */
retum (ZERO~MASKltmp 8 EXPONENT~MASK I q[tmp & MANTISSA~MASKl);
else f /* un des opérandes est nul !
return 0;
Dans cet algorithme "W1" et "W2" désignent respectivement le premier et le deuxième opérande de la multiplication. Son exécution n'offre pas de difficulté et peut être réalisée à l'aide d'un microprocesseur du commerce convenablement programmé à cet effet. Toutefois, un dispositif ayant une fonction équivalente utilisant des composants discrets assemblés de la façon représentée à la figure 4 peut aussi être réalisé.
<tb> 512. (exp <SEP> (m) -1) <SEP>
<tb><SEP> 738.66
<Tb>
An algorithm allowing the execution of the product W 'defined by the relation (8) and using the data provided by the tables p and q is as follows: rt ~ wordl6 integer type coded on at least 16 bits p [1 constant array of 512 integers between 0 and 511 q [] constant array of 512 integers between 0 and 511
table p (annex 1) t
table q (annex 2) #define ZERO ~ MASK 0x4000 &num; define EXPONENT ~ MASK 0x3E00 #define MANTISSA ~ MASK 0x01FF t ~ word16 mult (t ~ word16 W1, t ~ word16 W2) f
if (W1 8 W2 8 ZERO ~ MASK) (/ * both operands are non-zero * /
t ~ word16tmp = W1 + W2 + W [W1 & MANTISSA ~ MASK] + P [W2 &
MANTISSA ~ MASK];
/ * insert an overrun test * /
retum (ZERO ~ MASKltmp 8 EXPONENT ~ MASK I q [tmp & MANTISSA ~ MASKl);
else f / * one of the operands is null!
return 0;
In this algorithm "W1" and "W2" respectively denote the first and the second operand of the multiplication. Its execution does not offer any difficulty and can be carried out using a commercially available microprocessor suitably programmed for this purpose. However, a device having an equivalent function using discrete components assembled in the manner shown in FIG. 4 can also be realized.

Celui-ci comporte, représenté à l'intérieur de lignes fermées en pointillés, un premier ensemble 1 pour le calcul de P(W1 )+P(W2), suivi d'un deuxième ensemble 2 pour le calcul du mot de code résultant selon la relation (9). Dans cet exemple le premier et le deuxième opérande de la multiplication ont un format binaire composé de 5 bits pour le codage de l'exposant et de 9 bits pour le codage de la mantisse. Ceux-ci sont appliqués respectivement sur des entrées d'adresse d'une première 3 et d'une deuxième 4 mémoire morte programmable au travers de circuits d'adressage 5 et 6.  The latter comprises, represented inside closed dashed lines, a first set 1 for the calculation of P (W1) + P (W2), followed by a second set 2 for calculating the resulting code word according to the relation (9). In this example the first and second operands of the multiplication have a binary format consisting of 5 bits for the encoding of the exponent and 9 bits for the coding of the mantissa. These are respectively applied to address inputs of a first 3 and a second programmable read only memory through addressing circuits 5 and 6.

Les mémoires 3 et 4 mémorisent chacune la table p des nombres représentatifs de la fonction P(m). décrite en annexe. Les mémoires 3 et 4 reçoivent en entrée la mantisse de l'opérande concernée (respectivement
W1 et W2) obtenue grâce à un masque MSKmantisse=[0000000111111111] appliqué à W1 et W2. Leurs sorties sont reliées à une entrée d'opérande des circuits additionneurs 7 et 8, respectivement, dont l'autre entrée reçoit les opérandes W1 et W2, respectivement, afin de calculer P(W1) et P(W2). Un troisième circuit additionneur 9 effectue l'addition P(W) des mots de code P(W1) et P(W2) obtenus en sortie des circuits additionneur 7 et 8. Le calcul de W= p-1 (P(W1)+P(W2)) donnant le mot de code résultant est obtenu par l'ensemble 2 qui est formé par deux portes ET 10 et 11, d'une mémoire morte programmable 12 pour la mémorisation des nombres constituant la table q définie en annexe, et d'un circuit multiplexeur 13. Les portes ET 10 et 11 sont commandées par des mots de masquage pour sélectionner respectivement dans le mot binaire obtenu en sortie du circuit additionneur 9, les bits d'exposant ou les bits de mantisse composant le mot P(W'). Les bits d'exposant e sont transmis par la porte ET 10 à destination d'un circuit
OU 13, et les bits de mantisse m sont appliqués aux entrées d'adressage de la mémoire 12 contenant la table q, dont la sortie des données est appliquée également sur une entrée de la porte OU 13. Le résultat obtenu en sortie de la porte OU 13 correspond alors au mot W=l(e,q(m)) défini par la relation (9).
The memories 3 and 4 each store the table p of the numbers representative of the function P (m). described in the appendix. The memories 3 and 4 receive as input the mantissa of the operand concerned (respectively
W1 and W2) obtained by means of a mask MSKmantisse = [0000000111111111] applied to W1 and W2. Their outputs are connected to an operand input of the adder circuits 7 and 8, respectively, whose other input receives the operands W1 and W2, respectively, in order to calculate P (W1) and P (W2). A third adder circuit 9 performs the addition P (W) of the code words P (W1) and P (W2) obtained at the output of the adder circuits 7 and 8. The computation of W = p-1 (P (W1) + P (W2)) giving the resulting code word is obtained by the set 2 which is formed by two AND gates 10 and 11, a programmable read-only memory 12 for storing the numbers constituting the table q defined in the appendix, and of a multiplexer circuit 13. The AND gates 10 and 11 are controlled by masking words to select respectively in the binary word obtained at the output of the adder circuit 9, the exponent bits or the mantissa bits constituting the word P ( W '). The exponent bits e are transmitted by the AND gate 10 to a circuit
OR 13, and the mantissa bits m are applied to the addressing inputs of the memory 12 containing the table q, whose data output is also applied to an input of the OR gate 13. The result obtained at the output of the gate OR 13 then corresponds to the word W = 1 (e, q (m)) defined by the relation (9).

Un dispositif à peu près identique peut être réalisé pour le calcul de la division de deux nombres codés dans un format en virgule flottante selon la relation (1). il suffit pour cela de substituer le signe + par un signe ce qui revient à changer l'additionneur 9 de la figure 3 par un circuit soustracteur. An approximately identical device can be realized for the calculation of the division of two numbers coded in a floating-point format according to relation (1). it suffices for this to substitute the sign + by a sign which amounts to changing the adder 9 of Figure 3 by a subtracter circuit.

Si l'un des opérandes est une constante le procédé et le dispositif sont susceptibles de simplifications ultérieures. C'est notamment le cas dans le problème pratique qui consiste à déterminer le nombre de cycles d'horloge de fréquence F séparant l'émission de deux cellules consécutives au débit R(e,m). En appliquant le même raisonnement que ci-dessus le rapport R(eF,mF)/R(e,m) apparaît comme une valeur R(E,M) dont l'exposant
E=(eF-e) ou (eF-e-1) selon que m est supérieur ou non à une valeur seuil (dépendant de mF), et dont la mantisse M est une fonction de m (dépendant de mF) facile à tabuler. Plus précisément: si m < q(mF+P(mF))
E=eF-e M=q(mF+p(mF)-m-P(m)) sinon E=eF-e-1 M=q(mF+p(mF)-m-p(m)+51 2)
L'algorithme ci-dessus est susceptible d'être employé dans les dispositifs dits d'égrenage qui permettent d'imposer un débit spécifié à un flot de cellules ATM.
If one of the operands is a constant the method and the device are susceptible of subsequent simplifications. This is particularly the case in the practical problem of determining the number of clock cycles of frequency F between the emission of two consecutive cells at the rate R (e, m). Applying the same reasoning as above, the ratio R (eF, mF) / R (e, m) appears as a value R (E, M) whose exponent
E = (eF-e) or (eF-e-1) depending on whether or not m is greater than a threshold value (depending on mF), and whose mantissa M is a function of m (dependent on mF) that is easy to tabulate . More precisely: if m <q (mF + P (mF))
E = eF-e M = q (mF + p (mF) -mP (m)) else E = eF-e-1 M = q (mF + p (mF) -mp (m) +51 2)
The above algorithm is likely to be used in so-called ginning devices that allow a specified bit rate to be imposed on an ATM cell stream.

Le procédé de calcul approché du produit de nombres codés en virgule flottante présenté ci-dessus peut être étendu à d'autres types de codage en virgule flottante. The method for approximating the product of floating point numbers presented above can be extended to other types of floating point coding.

En effet soit un codage de la forme
R(e,m)=2e.f(m) et l(e,m)=2M.e+m O < e < E où O < rn < M
1 < f(m) < 2 et f inversible on peut toujours écrire
R(e,m)=exp(e.Log 2+Log f(m))
R(e,m)=exp(K(2M.e+m+p(m)))
Log 2 2M
où k=Log2 et p(m)= 2M.Logf(m)-m
2M Log2
En remplaçant p(m) par sa partie entière on obtient une valeur approchée de R(e,m).
Indeed be a coding of the form
R (e, m) = 2e.f (m) and l (e, m) = 2M.e + m O <e <E where O <rn <M
1 <f (m) <2 and invertible f can always be written
R (e, m) = exp (e.log 2 + log f (m))
R (e, m) = exp (K (2M.e + m + p (m)))
Log 2 2M
where k = Log2 and p (m) = 2M.Logf (m) -m
2M Log2
By replacing p (m) by its integer part we obtain an approximate value of R (e, m).

Compte-tenu de l'hypothèse faite sur f(m), le même raisonnement que ci-dessus s'applique et aboutit au résultat suivant:
soient R(e,m) et R(e',m') deux valeurs du code, soient e" et m" les parties exposant et mantisse du mot code 2Me+m+2Me'+m'+p(m)+p(m') alors l'exposant du mot code produit est e" et sa mantisse est q(m")=-1(exp(Log2.m)). Il en découle un procédé de calcul approché du
2M produit en remplaçant p et q par leur partie entière.
Taking into account the hypothesis made on f (m), the same reasoning as above applies and leads to the following result:
let R (e, m) and R (e ', m') be two values of the code, let e "and m" be the exponent and mantissa parts of the word code 2Me + m + 2Me '+ m' + p (m) + p (m ') then the exponent of the product code word is e "and its mantissa is q (m") = - 1 (exp (Log2.m)). It follows a method of approximate calculation of the
2M produced by replacing p and q by their integer part.

Annexez
(Table p) int p[] =
0, 0, 0, 1, 1, 2, 2, 3,
3, 3, 4, 4, 5, 5, 5, 6,
6, 7, 7, 7, 8, 8, 9, 9,
9, 10, 10, 10, 11, 11, 12, 12,
12, 13, 13, 13, 14, 14, 14, 15,
15, 15, 16, 16, 16, 17, 17, 17,
18, 18, 18, 19, 19, 19, 20, 20,
20, 20, 21, 21, 21, 22, 22, 22,
23, 23, 23, 23, 24, 24, 24, 24,
25, 25, 25, 25, 26, 26, 26, 26,
27, 27, 27, 27, 28, 28, 28, 28,
29, 29, 29, 29, 30, 30, 30, 30,
30, 31, 31, 31, 31, 31, 32, 32,
32, 32, 32, 33, 33, 33, 33, 33,
34, 34, 34, 34, 34, 35, 35, 35,
35, 35, 35, 36, 36, 36, 36, 36,
36, 36, 37, 37, 37, 37, 37, 37,
38, 38, 38, 38, 38, 38, 38, 38,
39, 39, 39, 39, 39, 39, 39, 39,
40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 41, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 44, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41,
41, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 38, 38, 38,
38, 38, 38, 38, 38, 38, 37, 37,
37, 37, 37, 37, 37, 37, 36, 36,
36, 36, 36, 36, 36, 36, 35, 35,
35, 35, 35, 35, 35, 34, 34, 34,
34, 34, 34, 34, 33, 33, 33, 33,
33, 33, 33, 32, 32, 32, 32, 32,
32, 31, 31, 31, 31, 31, 31, 30,
30, 30, 30, 30, 30, 29, 29, 29,
29, 29, 29, 28, 28, 28, 28, 28,
27, 27, 27, 27, 27, 27, 26, 26,
26, 26, 26, 25, 25, 25, 25, 25,
24, 24, 24, 24, 24, 23, 23, 23,
23, 23, 22, 22, 22, 22, 22, 21,
21, 21, 21, 20, 20, 20, 20, 20,
19, 19, 19, 19, 19, 18, 18, 18,
18, 17, 17, 17, 17, 17, 16, 16,
16, 16, 15, 15, 15, 15, 14, 14,
14, 14, 13, 13, 13, 13, 13, 12,
12, 12, 12, 11, 11, 11, 11, 10,
10, 10, 10, 9, 9, 9, 9, 8,
8, 8, 8, 7, 7, 7, 7, 6,
6, 6, 5, 5, 5, 5, 4, 4,
4, 4, 3, 3, 3, 3, 2, 2,
2, 1, 1, 1, 1, 0, 0, 0
Annexe Il
(Table q) int q[] =
0, 0, 1, 2, 2, 3, 4, 4,
5, 6, 6, 7, 8, 9, 9, 10,
11, 11, 12, 13, 14, 14, 15, 16,
16, 17, 18, 19, 19, 20, 21, 21,
22, 23, 24, 24, 25, 26, 27, 27,
28, 29, 29, 30, 31, 32, 32, 33,
34, 35, 35, 36, 37, 38, 38, 39,
40, 41, 41, 42, 43, 44, 44, 45,
46, 47, 47, 48, 49, 50, 50, 51,
52, 53, 53, 54, 55, 56, 57, 57,
58, 59, 60, 60, 61, 62, 63, 63,
64, 65, 66, 67, 67, 68, 69, 70,
71, 71, 72, 73, 74, 75, 75, 76,
77, 78, 79, 79, 80, 81, 82, 83,
83, 84, 85, 86, 87, 87, 88, 89,
90, 91, 91, 92, 93, 94, 95, 96,
96, 97, 98, 99, 100, 101, 101, 102,
103, 104, 105, 106, 106, 107, 108, 109,
110, 111, 111, 112, 113, 114, 115, 116,
116, 117, 118, 119, 120, 121, 122, 122,
123, 124, 125, 126, 127, 128, 129, 129,
130, 131, 132, 133, 134, 135, 135, 136, 137, 138, 139, 140, 141, 142, 143, 143, 144, 145, 146, 147, 148, 149, 150, 151, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 297, 298, 299, 300, 301, 302, 303, 304, 305, 307, 308, 309, 310, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 326, 327, 328, 329, 330, 331, 332, 334, 335, 336, 337, 338, 339, 340, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 356, 357, 358, 359, 360, 361, 363, 364, 365, 366, 367, 369, 370, 371, 372, 373, 375, 376, 377, 378, 379, 381, 382, 383, 384, 385, 387, 388, 389, 390, 392, 393, 394, 395, 396, 398, 399, 400, 401, 403, 404, 405, 406, 408, 409, 410, 411, 413, 414, 415, 416, 418, 419, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 435, 437, 438, 439, 441, 442, 443, 444, 446, 447, 448, 450, 451, 452, 454, 455, 456, 458, 459, 460, 461, 463, 464, 465, 467, 468, 469, 471, 472, 473, 475, 476, 477, 479, 480, 481, 483, 484, 485, 487, 488, 490, 491, 492, 494, 495, 496, 498, 499, 500, 502, 503, 505, 506, 507, 509, 510
attach
(Table p) int p [] =
0, 0, 0, 1, 1, 2, 2, 3,
3, 3, 4, 4, 5, 5, 5, 6,
6, 7, 7, 7, 8, 8, 9, 9,
9, 10, 10, 10, 11, 11, 12, 12,
12, 13, 13, 13, 14, 14, 14, 15,
15, 15, 16, 16, 16, 17, 17, 17,
18, 18, 18, 19, 19, 19, 20, 20,
20, 20, 21, 21, 21, 22, 22, 22,
23, 23, 23, 23, 24, 24, 24, 24,
25, 25, 25, 25, 26, 26, 26, 26,
27, 27, 27, 27, 28, 28, 28, 28,
29, 29, 29, 29, 30, 30, 30, 30,
30, 31, 31, 31, 31, 31, 32, 32,
32, 32, 32, 33, 33, 33, 33, 33,
34, 34, 34, 34, 34, 35, 35, 35,
35, 35, 35, 36, 36, 36, 36, 36,
36, 36, 37, 37, 37, 37, 37, 37,
38, 38, 38, 38, 38, 38, 38, 38,
39, 39, 39, 39, 39, 39, 39, 39,
40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 41, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 44, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41,
41, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 38, 38, 38,
38, 38, 38, 38, 38, 38, 37, 37,
37, 37, 37, 37, 37, 37, 36, 36,
36, 36, 36, 36, 36, 36, 35, 35,
35, 35, 35, 35, 35, 34, 34, 34,
34, 34, 34, 34, 33, 33, 33, 33,
33, 33, 33, 32, 32, 32, 32, 32,
32, 31, 31, 31, 31, 31, 31, 30,
30, 30, 30, 30, 30, 29, 29, 29,
29, 29, 29, 28, 28, 28, 28, 28,
27, 27, 27, 27, 27, 27, 26, 26,
26, 26, 26, 25, 25, 25, 25, 25,
24, 24, 24, 24, 23, 23, 23,
23, 23, 22, 22, 22, 22, 22, 21,
21, 21, 21, 20, 20, 20, 20, 20,
19, 19, 19, 19, 19, 18, 18, 18,
18, 17, 17, 17, 17, 17, 16, 16,
16, 16, 15, 15, 15, 15, 14, 14,
14, 14, 13, 13, 13, 13, 13, 12,
12, 12, 12, 11, 11, 11, 11, 10,
10, 10, 10, 9, 9, 9, 9, 8,
8, 8, 8, 7, 7, 7, 7, 6,
6, 6, 5, 5, 5, 5, 4, 4,
4, 4, 3, 3, 3, 3, 2, 2,
2, 1, 1, 1, 1, 0, 0, 0
Annex II
(Table q) int q [] =
0, 0, 1, 2, 2, 3, 4, 4,
5, 6, 6, 7, 8, 9, 9, 10,
11, 11, 12, 13, 14, 14, 15, 16,
16, 17, 18, 19, 19, 20, 21, 21,
22, 23, 24, 24, 25, 26, 27, 27,
28, 29, 29, 30, 31, 32, 32, 33,
34, 35, 35, 36, 37, 38, 38, 39,
40, 41, 41, 42, 43, 44, 44, 45,
46, 47, 47, 48, 49, 50, 50, 51,
52, 53, 53, 54, 55, 56, 57, 57,
58, 59, 60, 60, 61, 62, 63, 63,
64, 65, 66, 67, 67, 68, 69, 70,
71, 71, 72, 73, 74, 75, 75, 76,
77, 78, 79, 79, 80, 81, 82, 83,
83, 84, 85, 86, 87, 87, 88, 89,
90, 91, 91, 92, 93, 94, 95, 96,
96, 97, 98, 99, 100, 101, 101, 102,
103, 104, 105, 106, 106, 107, 108, 109,
110, 111, 111, 112, 113, 114, 115, 116,
116, 117, 118, 119, 120, 121, 122, 122,
123, 124, 125, 126, 127, 128, 129, 129,
130, 131, 132, 133, 134, 135, 135, 136, 137, 138, 139, 140, 141, 142, 143, 143, 144, 145, 146, 147, 148, 149, 150, 151, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 297, 298, 299, 300, 301, 302, 303, 304, 305, 307, 308, 309, 310, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 326, 327, 328, 329, 330, 331, 332, 334, 335, 336, 337, 338, 339, 340, 342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 356, 357, 358, 359, 360, 361, 363, 364, 365, 366, 367, 369, 370, 371, 372, 373, 375, 376, 377, 378, 379, 381, 382, 383, 384, 385, 387, 388, 389, 390, 392, 393, 394, 395, 396, 398, 399, 400, 401, 403, 404, 405, 406, 408, 409, 410, 411, 413, 414, 415, 416, 418, 419, 420, 421, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 435, 437, 438, 439, 441, 442, 443, 444, 446, 447, 448, 450, 451, 452, 454, 455, 456, 458, 459, 460, 461, 463, 464, 465, 467, 468, 469, 471, 472, 473, 475, 476, 477, 479, 480, 481, 483, 484, 485, 487, 488, 490, 491, 492, 494, 495, 496, 498, 499, 500, 502, 503, 505, 506, 507, 509, 510

Claims (8)

REVENDICATIONS 1. Procédé pour le calcul approché du produit de mots de code d'information codés dans un format en virgule flottante, chaque mot de code étant défini à l'aide d'un exposant e et d'une mantisse m par une relation de la forme R(e,m)=2e.f(m) à laquelle est associé un code l(e,m)=2M.e+m où e et m sont des entiers tels que 0 < e < E 0 < m < M et f(m) est une fonction monotone inversible telle que 1 < f(m < 2, caractérisé en ce qu'il consiste à approximer la relation R(e,m) par la relation R(e,m) approx = exp(K.( I(e, m)+P(m))) dans laquelle K= Log et P(m) est la partie entière de A method for the approximate calculation of the product of information code words encoded in a floating point format, each code word being defined using an exponent e and a mantissa m by a relation of the form R (e, m) = 2e.f (m) with which is associated a code l (e, m) = 2M.e + m where e and m are integers such that 0 <e <E 0 <m < M and f (m) is an invariable monotonic function such that 1 <f (m <2, characterized in that it consists in approximating the relation R (e, m) by the relation R (e, m) approx = exp (K. (I (e, m) + P (m))) in which K = Log and P (m) is the integer part of 2M  2M 2M 2M Log f(m) - m. Log f (m) - m. Log 2Log 2 2. Procédé selon la revendication 1, caractérisé en ce qu'il consiste à exprimer f(m) et l(e,m) par les relations f(m)=l+m/512 et l(e,m)=29e+m dans lesquelles e est un nombre entier codé sur 5 bits et 0 < m < 511 et à approximer R(e,m) par la relation 2. Method according to claim 1, characterized in that it consists in expressing f (m) and l (e, m) by the relations f (m) = l + m / 512 and l (e, m) = 29e + m in which e is an integer coded on 5 bits and 0 <m <511 and to approximate R (e, m) by the relation R(e,m)approx=exp(k.(l(e,m)+p(m))) dans laquelle k est une constante et p(m) est une fonction monotone croissante puis décroissante de la mantisse m, fonction nulle pour les valeurs m=O et m=512 et telle que la quantité m+p(m) reste toujours inférieure à 512.R (e, m) approx = exp (k. (L (e, m) + p (m))) where k is a constant and p (m) is a monotonic increasing and decreasing function of mantissa m, function zero for the values m = 0 and m = 512 and such that the quantity m + p (m) always remains less than 512. 3. Procédé selon la revendication 2, caractérisé en ce qu'il consiste à substituer dans la relation R(e,m)approx la quantité 3. Method according to claim 2, characterized in that it consists in substituting in the relation R (e, m) approx the quantity P(W)=l(e,m)+p(m) par la quantité l(e,m+p(m)).P (W) = l (e, m) + p (m) by the quantity l (e, m + p (m)). 4. Procédé selon la revendication 3, caractérisé en ce qu'il consiste à approximer le produit de deux valeurs de code R(e,m) et R(e',m') associé à deux mots de code W et W, par une valeur résultante qui est l'exponentielle de P(W)+P(W') multiplié par k. 4. Method according to claim 3, characterized in that it consists in approximating the product of two code values R (e, m) and R (e ', m') associated with two code words W and W, by a resulting value which is the exponential of P (W) + P (W ') multiplied by k. 5. Procédé selon la revendication 4, caractérisé en ce que le mot de code résultant W est obtenu par un calcul de la transformée inverse p-1 défini par P-1 (I(e,m))=l(e,q(m)) où q est la fonction inverse de m+p(m). 5. Method according to claim 4, characterized in that the resulting code word W is obtained by a calculation of the inverse transform p-1 defined by P-1 (I (e, m)) = 1 (e, q ( m)) where q is the inverse function of m + p (m). 6. Procédé selon l'une quelconque des revendications 2 à 5, caractérisé en ce que la fonction p(m) est la partie entière de 6. Method according to any one of claims 2 to 5, characterized in that the function p (m) is the integer part of
Figure img00110001
Figure img00110001
<tb> <Tb> <tb> 738,66 <SEP> Log(1 <SEP> + <SEP> 512 <SEP> Lolm <SEP> <tb> 738.66 <SEP> Log (1 <SEP> + <SEP> 512 <SEP> Lolm <SEP>
7. Utilisation du procédé selon l'une quelconque des revendications 1 à 5 à la multiplication et à la division de nombres par une constante. 7. Use of the method according to any one of claims 1 to 5 to the multiplication and division of numbers by a constant. 8. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comprend un premier ensemble de calcul 1 de la fonction résultante P(W') comportant deux mémoires mortes programmables (3, 4) pour la mémorisation de la fonction p(m) couplé à des circuits additionneurs (7, 8, 9) pour le calcul de la fonction résultante (P(W) ainsi qu'un deuxième ensemble 2 comportant une mémoire morte programmable pour la mémorisation de la fonction inverse q et le calcul du mot de code résultant W"=P-1 (P(W)+P(W)).  8. Device for implementing the method according to any one of claims 1 to 6, characterized in that it comprises a first calculation unit 1 of the resulting function P (W ') having two programmable read-only memories (3). , 4) for storing the function p (m) coupled to adder circuits (7, 8, 9) for calculating the resultant function (P (W) and a second set 2 comprising a programmable read-only memory for storing the inverse function q and calculating the resulting codeword W "= P-1 (P (W) + P (W)).
FR9604716A 1996-04-16 1996-04-16 METHOD AND APPARATUS FOR APPROXIMATE CALCULATION IN ATM NETWORKS OF THE CODE CODE INFORMATION WORD PRODUCT IN A FLOATING POINT FORMAT Expired - Fee Related FR2747489B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9604716A FR2747489B1 (en) 1996-04-16 1996-04-16 METHOD AND APPARATUS FOR APPROXIMATE CALCULATION IN ATM NETWORKS OF THE CODE CODE INFORMATION WORD PRODUCT IN A FLOATING POINT FORMAT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9604716A FR2747489B1 (en) 1996-04-16 1996-04-16 METHOD AND APPARATUS FOR APPROXIMATE CALCULATION IN ATM NETWORKS OF THE CODE CODE INFORMATION WORD PRODUCT IN A FLOATING POINT FORMAT

Publications (2)

Publication Number Publication Date
FR2747489A1 true FR2747489A1 (en) 1997-10-17
FR2747489B1 FR2747489B1 (en) 1998-10-30

Family

ID=9491227

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9604716A Expired - Fee Related FR2747489B1 (en) 1996-04-16 1996-04-16 METHOD AND APPARATUS FOR APPROXIMATE CALCULATION IN ATM NETWORKS OF THE CODE CODE INFORMATION WORD PRODUCT IN A FLOATING POINT FORMAT

Country Status (1)

Country Link
FR (1) FR2747489B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4614935A (en) * 1984-12-24 1986-09-30 Rca Corporation Log and antilog functions for video baseband processing
US4700319A (en) * 1985-06-06 1987-10-13 The United States Of America As Represented By The Secretary Of The Air Force Arithmetic pipeline for image processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4614935A (en) * 1984-12-24 1986-09-30 Rca Corporation Log and antilog functions for video baseband processing
US4700319A (en) * 1985-06-06 1987-10-13 The United States Of America As Represented By The Secretary Of The Air Force Arithmetic pipeline for image processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
H-Y LO ET AL.: "Generation of a Precise Binary Logarithm with Difference Grouping Programmable Logic Array", IEEE TRANSACTIONS ON COMPUTERS, vol. 34, no. 8, August 1985 (1985-08-01), NEW YORK US, pages 681 - 691, XP002019148 *

Also Published As

Publication number Publication date
FR2747489B1 (en) 1998-10-30

Similar Documents

Publication Publication Date Title
EP0104963B1 (en) Method of reducing the data rate of data successively transmitted between a transmitter and a receiver, and a system for carrying out the method
EP0321318B1 (en) Coding and decoding method and device for transmitting pictures via a network with a variable data flow
EP0190796A1 (en) System for signal analysis and synthesis filter banks
EP2176861B1 (en) Hierarchical coding of digital audio signals
FR2471094A1 (en) INTERPOLATOR CIRCUIT INCREASING THE RATE OF WORDS OF A DIGITAL SIGNAL OF THE TYPE USED IN TELEPHONE DIGITAL SWITCHING SYSTEMS AND LINE JETOR WITH SUCH CIRCUIT
EP1356455B1 (en) Method and device for processing numerous audio binary streams
EP0511095B1 (en) Coding and decoding method and apparatus for a digital signal
EP0906613B1 (en) Method and device for coding an audio signal by &#34;forward&#34; and &#34;backward&#34; lpc analysis
EP0081437B1 (en) Echo cancelling system
EP0506535B1 (en) Method and system for processing of pre-echos of a frequency transform coded digital audio signal
FR2484744A1 (en) DIGITAL FILTERING CIRCUITS REDUCING THE FLOW OF WORDS OF A DIGITAL SIGNAL OF THE TYPE USED IN DIGITAL-SWITCHING TELEPHONE SYSTEMS, DIGITAL FILTERS USED AND LINE DRIVER EQUIPPED WITH SUCH CIRCUITS
WO2002007324A1 (en) Device for transmitting/receiving digital data capable of variable-rate processing, in particular on a vdsl environment
EP2769378A2 (en) Improved hierarchical coding
EP0869476B1 (en) Comfort noise generation device
EP0078581B1 (en) Differential pcm transmission system with adaptive prediction
FR2747489A1 (en) Floating point computation of word products in ATM network
EP0078195B1 (en) Process and system for the differential coding and decoding of data, with limitation of the propagation of transmission errors
EP0574288B1 (en) Method and apparatus for transmission error concealment of frequency transform coded digital audio signals
FR2751105A1 (en) METHOD AND DEVICE FOR CALCULATING APPROACH OF THE EXPONENTIAL MEAN OF A SUITE OF NUMBERS CODED IN THE FLOATING POINT FORMAT
EP2203915B1 (en) Transmission error dissimulation in a digital signal with complexity distribution
EP4109451B1 (en) Circuit for storing parsimonious data
EP0053064A1 (en) Digital transmission system with adaptive coding of sampled and orthogonally transformed analogue information
EP0288353B1 (en) Method for switching asyschronous digital signals, and device for carrying out this method
EP2269141B1 (en) Coding method and device, associated electronic system and recording medium
EP0030194A1 (en) Predictive stage for a dataflow compression system

Legal Events

Date Code Title Description
ST Notification of lapse