FR2723495A1 - Echo suppression device for two coupled transmission channels - Google Patents
Echo suppression device for two coupled transmission channels Download PDFInfo
- Publication number
- FR2723495A1 FR2723495A1 FR9409634A FR9409634A FR2723495A1 FR 2723495 A1 FR2723495 A1 FR 2723495A1 FR 9409634 A FR9409634 A FR 9409634A FR 9409634 A FR9409634 A FR 9409634A FR 2723495 A1 FR2723495 A1 FR 2723495A1
- Authority
- FR
- France
- Prior art keywords
- output
- input
- delay line
- adder
- delay
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
Abstract
Description
Dispositif de suppression d'écho entre deux voies de transmissionEcho cancellation device between two transmission channels
couplées, notamment en téléphonie mains-libres. coupled, in particular in hands-free telephony.
L'invention concerne le traitement d'écho entre deux voies de transmission présentant entre elles un couplage, notamment acoustique. L'invention s'applique avantageusement mais non limitativement à la suppression d'un écho acoustique dans un poste téléphonique ou autre terminal téléphonique du type mains-libres. Un tel écho est en effet produit par la réflexion sur les parois de la pièce dans laquelle est situé le téléphone mains-libres, du signal acoustique émis par le haut-parleur de ce téléphone et provenant du signal de parole du locuteur distant. Ce signal acoustique réfléchi est réémis sur la ligne téléphonique par l'intermédiaire du microphone du terminal téléphonique. Le locuteur distant entend en conséquence une deuxième fois ses propres paroles ce qui est d'autant plus désagréable que le The invention relates to the echo processing between two transmission channels having between them a coupling, in particular acoustic. The invention advantageously applies, but is not limited to the suppression of an acoustic echo in a telephone set or other hands-free type telephone terminal. Such an echo is in fact produced by the reflection on the walls of the room in which the hands-free telephone is located, of the acoustic signal emitted by the loudspeaker of this telephone and coming from the speech signal of the distant speaker. This reflected acoustic signal is retransmitted on the telephone line via the microphone of the telephone terminal. The distant speaker therefore hears his own words a second time, which is all the more unpleasant as the
retard apporté par la ligne de transmission est important. delay brought by the transmission line is significant.
On connaît déjà des dispositifs de traitement d'écho, destinés à s'insérer dans le poste téléphonique entre la ligne de réception et la ligne d'émission, par exemple par la demande brevet français n 93 02 656. De tels dispositifs de traitement d'écho utilisent une technique d'identification adaptative qui réalise une annulation d'écho par soustraction d'un écho estimé à partir d'un modèle du couplage acoustique. En d'autres termes, on détermine l'écho estimé, à partir du signal reçu sur une des voies et du couplage estimé entre celles-ci, par un filtrage transversal numérique auto-adaptatif cadencé à une Echo processing devices are already known, intended to be inserted into the telephone set between the reception line and the transmission line, for example by French patent application No. 93 02 656. Such devices for processing 'echo use an adaptive identification technique which performs echo cancellation by subtracting an estimated echo from a model of acoustic coupling. In other words, the estimated echo is determined, from the signal received on one of the channels and from the estimated coupling between them, by a self-adaptive digital transversal filtering clocked at a
fréquence d'horloge prédéterminée. predetermined clock frequency.
Cet algorithme de filtrage adaptatif est implémenté dans le domaine temporel. Cependant, bien qu'il donne des résultats satisfaisants, sa vitesse de convergence notamment peut s'avérer insuffisante dans le cas o le signal d'entrée est fortement corrélé, tel This adaptive filtering algorithm is implemented in the time domain. However, although it gives satisfactory results, its speed of convergence in particular can prove to be insufficient in the case where the input signal is strongly correlated, such
qu'un signal de parole.than a speech signal.
Aussi, a-t-il été envisagé d'utiliser des algorithmes de filtrage adaptatif dans le domaine fréquentiel à faible retard effectuant un traitement des données par blocs. Parmi les algorithmes de filtrage en blocs utilisables, on peut citer l'algorithme GMDF (Generalized Also, it has been envisaged to use adaptive filtering algorithms in the frequency domain with low delay performing data processing in blocks. Among the block filtering algorithms that can be used, we can cite the GMDF algorithm (Generalized
Multi-Delay Adaptive Filter) bien connu de l'homme du métier. Multi-Delay Adaptive Filter) well known to those skilled in the art.
Dans l'algorithme GMDF la réduction de la charge de calcul est obtenue au moyen de la technique de convolution rapide dans le domaine fréquentiel, dite Weighted OverLap-Add (WOLA), qui est d'une complexité plus élevée. Cependant cette technique WOLA permet une mise à jour plus fréquente des coefficients du filtre adaptatif, ce qui a pour conséquence une amélioration sensible des performances tant du point de vue vitesse de convergence que du point de vue capacité de poursuite. Par conséquent l'adaptation des coefficients du filtre adaptatif se fait à une cadence supérieure à la taille des blocs (suréchantillonnage). Le facteur de suréchantillonnage cx (nombre d'adaptation des coefficients du filtre par bloc) sera attaché au nom de l'algorithme qui sera nommé GMDFoCL Une implémentation de cet algorithme sur un processeur de signal microprogrammé d'usage général a déjà été faite. Cependant, des problèmes de fonctionnement de l'algorithme en temps réel ont été rencontrés car la puissance de calcul nécessaire à l'implémentation de l'algorithme est supérieure à la puissance délivrée par un tel processeur. En outre, la très grande capacité de mémorisation nécessaire à la mise en oeuvre d'un tel algorithme, est généralement réalisée à partir de mémoires vives statiques (RAM) et conduit à des In the GMDF algorithm, the reduction of the computational load is obtained by means of the fast convolution technique in the frequency domain, called Weighted OverLap-Add (WOLA), which is of a higher complexity. However, this WOLA technique allows more frequent updating of the coefficients of the adaptive filter, which results in a significant improvement in performance both from the point of view of convergence speed and from the point of view of tracking capacity. Consequently the adaptation of the coefficients of the adaptive filter is done at a rate higher than the size of the blocks (oversampling). The oversampling factor cx (number of adaptations of the filter coefficients per block) will be attached to the name of the algorithm which will be named GMDFoCL An implementation of this algorithm on a general purpose microprogrammed signal processor has already been made. However, problems with the operation of the algorithm in real time have been encountered since the computing power necessary for the implementation of the algorithm is greater than the power delivered by such a processor. In addition, the very large storage capacity necessary for the implementation of such an algorithm is generally carried out from static random access memories (RAM) and leads to
surfaces très importantes de composant. very large component surfaces.
L'invention vise à apporter une solution à ce problème. The invention aims to provide a solution to this problem.
Un but de l'invention est de proposer un dispositif de suppression d'écho utilisant un filtrage fréquentiel auto-adaptatif fonctionnant par blocs et de façon suréchantillonnée, qui soit industriellement réalisable et utilisable en minimisant la surface des An object of the invention is to provide an echo cancellation device using self-adaptive frequency filtering operating in blocks and in an oversampled manner, which is industrially feasible and usable by minimizing the surface of the
composants mémoires nécessaires.memory components required.
L'invention a donc pour objet un dispositif de suppression d'écho entre deux voies de transmission couplées, à partir d'un filtrage transversal numérique fréquentiel auto-adaptatif effectué à une cadence d'horloge prédéterminée, par blocs et de façon suréchantillonné, ce dispositif comprenant: - des moyens de convolution entre un signal d'entrée reçu sur l'une des voies et la réponse impulsionnelle représentée par les coefficients du filtre pour délivrer un écho estimé, - des moyens d'annulation d'écho délivrant un signal de sortie à partir du signal reçu sur l'autre voie et de l'écho estimé, - éventuellement, des moyens de normalisation pour calculer des coefficients de normalisation à partir de la puissance du signal d'entrée, et, - des moyens d'adaptation pour adapter les coefficients de filtre à partir du signal de sortie, des coefficients de normalisation The subject of the invention is therefore a device for echo cancellation between two coupled transmission channels, using self-adaptive digital frequency transversal filtering carried out at a predetermined clock rate, in blocks and in an oversampled manner, this device comprising: - means of convolution between an input signal received on one of the channels and the impulse response represented by the coefficients of the filter to deliver an estimated echo, - means of echo cancellation delivering a signal of output from the signal received on the other channel and from the estimated echo, - optionally, normalization means for calculating normalization coefficients from the power of the input signal, and, - adaptation means to adapt the filter coefficients from the output signal, normalization coefficients
éventuels et du signal d'entrée.input signal.
Selon une caractéristique générale de l'invention, les moyens de convolution, d'annulation, de normalisation et d'adaptation sont réalisés selon une architecture intégrée et dédiée et comprennent: - une unité de traitement commune comportant un opérateur de transformée de Fourier associé en entrée à une premier moyen de multiplexage commandable, et une unique partie opérative possédant deux multiplieurs associés en entrée à un deuxième moyen de multiplexage commandable et connectés en sortie aux deux entrées d'un additionneur/soustracteur, - une pluralité de lignes à retard dynamiques, commandables et rebouclables sur elles-mêmes, destinées à être sélectivement reliées aux premier et deuxième moyens de multiplexage, et, -une unité de commande logique, apte, en réponse aux impulsions du signal d'horloge, à délivrer sélectivement et séquentiellement aux différentes lignes à retard et aux premier et deuxième moyens de multiplexage une pluralité de signaux de commande de façon à faire exécuter par le dispositif, séquentiellement et dans un ordre prédéterminé, les calculs de convolution, d'annulation According to a general characteristic of the invention, the means of convolution, cancellation, normalization and adaptation are produced according to an integrated and dedicated architecture and comprise: - a common processing unit comprising an operator of Fourier transform associated with input to a first controllable multiplexing means, and a single operative part having two multipliers associated as input to a second controllable multiplexing means and connected at output to the two inputs of an adder / subtractor, - a plurality of dynamic delay lines, controllable and loopable on themselves, intended to be selectively connected to the first and second multiplexing means, and, a logic control unit, capable, in response to the pulses of the clock signal, to deliver selectively and sequentially to the different lines delay and the first and second multiplexing means a plurality of control signals so as to cause the device to execute, sequentially and in a predetermined order, the convolution, cancellation calculations
d'écho, de normalisation (éventuellement) et d'adaptation. echo, standardization (possibly) and adaptation.
Le mise en oeuvre d'un tel filtrage numérique fréquentiel auto-adaptatif sur une architecture dédiée s'avère ainsi plus efficace du point de vue rapidité de calcul et surface du circuit. Elle permet ainsi d'implanter des filtres ayant des réponses impulsionnelles longues ce qui est nécessaire dans une application de suppression d'un écho acoustique. Par ailleurs, en combinaison avec l'utilisation d'une architecture dédiée et l'emploi d'une unité de traitement commune, l'utilisation de lignes à retard dynamiques qui sont des mémoires dynamiques à accès séquentiel ne comportant pas de décodage d'adresse, très denses puisqu'elles ne comportent dans l'architecture proposée que trois transistors par point mémoire, et très rapides, permettent d'une part d'obtenir un gain en surface de l'ordre de 30% par rapport à l'utilisation de mémoires vives statiques, et d'autre part d'effectuer un cycle de lecture-écriture en une seule impulsion d'horloge ce qui est nécessaire lors de l'adaptation des coefficients du filtre, rendant ainsi possible l'utilisation des multiplieurs et des The implementation of such self-adaptive digital frequency filtering on a dedicated architecture thus proves to be more efficient from the point of view of calculation speed and circuit area. It thus makes it possible to install filters having long impulse responses which is necessary in an application for suppressing an acoustic echo. Furthermore, in combination with the use of a dedicated architecture and the use of a common processing unit, the use of dynamic delay lines which are dynamic memories with sequential access that do not include address decoding. , very dense since they comprise in the proposed architecture only three transistors per memory point, and very fast, allow on the one hand to obtain a gain in surface area of the order of 30% compared to the use of static random access memories, and on the other hand to perform a read-write cycle in a single clock pulse which is necessary during the adaptation of the filter coefficients, thus making possible the use of multipliers and
additionneurs à leur débit maximum. adders at their maximum throughput.
Les lignes à retard sont avantageusement commandables sur les fronts montants du signal d'horloge tandis que les registres de la The delay lines are advantageously controllable on the rising edges of the clock signal while the registers of the
partie opérative sont actifs au front descendant de ce signal d'horloge. operative part are active on the falling edge of this clock signal.
Ceci permet une synchronisation correcte du fonctionnement des This allows correct synchronization of the operation of the
différents éléments du dispositif. different elements of the device.
Selon un mode de réalisation de l'invention, les moyens de convolution, d'annulation, d'adaptation comportent un premier groupe According to one embodiment of the invention, the means of convolution, cancellation, adaptation comprise a first group
de lignes à retard communes, adressées séquentiellement. common delay lines, addressed sequentially.
Ce premier groupe de lignes à retard comporte ainsi avantageusement: - une première ligne à retard rebouclable sur elle-même par l'intermédiaire d'un premier multiplexeur commandable et d'un premier additionneur auxiliaire relié par ailleurs à la sortie de l'additionneur/soustracteur de la partie opérative, - une deuxième ligne à retard rebouclable sur elle-même par l'intermédiaire d'un deuxième multiplexeur commandable et d'un deuxième additionneur auxiliaire relié par ailleurs à la sortie de l'additionneur/soustracteur de la partie opérative, l'une des entrées de chacun des premier et deuxième multiplexeurs étant reliée à la sortie de l'opérateur de transformée de Fourier, et la sortie de chacune des première et deuxième lignes à retard est reliée au premier moyen de multiplexage, et - une troisième ligne à retard, rebouclable sur elle-même, par l'intermédiaire d'un troisième multiplexeur commandable, dont une deuxième entrée est reliée à la sortie de l'opérateur de transformée de Fourier, et dont une troisième entrée est reliée à la sortie de l'additionneur/soustracteur de la partie opérative, la sortie de cette troisième ligne à retard étant connectée à une entrée du deuxième This first group of delay lines thus advantageously comprises: - a first delay line which can be looped back on itself via a first controllable multiplexer and a first auxiliary adder connected furthermore to the output of the adder / subtractor of the operative part, - a second delay line which can be looped back on itself via a second controllable multiplexer and a second auxiliary adder connected in addition to the output of the adder / subtractor of the operative part , one of the inputs of each of the first and second multiplexers being connected to the output of the Fourier transform operator, and the output of each of the first and second delay lines is connected to the first multiplexing means, and - a third delay line, loopable on itself, via a third controllable multiplexer, a second input of which is connected to the output e of the Fourier transform operator, and a third input of which is connected to the output of the adder / subtractor of the operative part, the output of this third delay line being connected to an input of the second
moyen de multiplexage de la partie opérative. means for multiplexing the operative part.
Les première et deuxième lignes à retard peuvent être utilisées pour respectivement stocker les parties réelles et imaginaires de vecteurs, issues d'une transformée de Fourier directe, ou destinées à subir une transformée de Fourier inverse. Dans ce dernier cas, la troisième ligne à retard permet de stocker avantageusement le résultat The first and second delay lines can be used to respectively store the real and imaginary parts of vectors, resulting from a direct Fourier transform, or intended to undergo an inverse Fourier transform. In the latter case, the third delay line makes it possible to advantageously store the result
de la transformée inverse.of the inverse transform.
Les moyens de convolution, d'adaptation et de normalisation comportent avantageusement un deuxième groupe de lignes à retard commune. Selon un mode de réalisation de l'invention, ce deuxième groupe comporte: - une cinquième ligne à retard, rebouclable sur elle-même par l'intermédiaire d'un cinquième multiplexeur commandable dont une autre entrée est reliée à la sortie de l'opérateur de transformée de Fourier, et - une sixième ligne à retard rebouclable sur elle-même par l'intermédiaire d'un sixième multiplexeur commandable, dont une autre The means of convolution, adaptation and normalization advantageously comprise a second group of lines with common delay. According to one embodiment of the invention, this second group comprises: - a fifth delay line, which can be looped back on itself via a fifth controllable multiplexer, another input of which is connected to the operator's output Fourier transform, and - a sixth delay line which can be looped back on itself via a sixth controllable multiplexer, including another
entrée est reliée à la sortie de l'opérateur de transformée de Fourier. input is connected to the output of the Fourier transform operator.
Ainsi, ces cinquième et sixième lignes à retard peuvent stocker respectivement les blocs courants représentant les parties réelles et imaginaires de la transformée de Fourier des échantillons du Thus, these fifth and sixth delay lines can respectively store the current blocks representing the real and imaginary parts of the Fourier transform of the samples of the
bloc courant du signal d'entrée.current block of the input signal.
A cet effet, pour stocker les 2N échantillons du signal d'entrée, il est prévu de préférence une quatrième ligne à retard, rebouclable sur ellemême par l'intermédiaire d'un quatrième multiplexeur, et dont une autre entrée est reliée à l'entrée du premier signal d'entrée. Cette quatrième ligne à retard est reliée en sortie au premier moyen de multiplexage. Si ac désigne le facteur de suréchantillonnage du filtre, et K le nombre de blocs, le dispositif comporte, selon un mode de réalisation de l'invention, a paires ordonnées de lignes à retard, dites de sauvegarde, de longueur égale au produit (K-l) par (N+l), destinées à stocker respectivement les at(K-1) blocs temporellement plus anciens de N+l valeurs chacun representant les parties réelles des signaux d'entrée correspondants, et les a(K- 1) blocs temporellement plus anciens de N+ 1 valeurs chacun représentant les parties imaginaires de ces signaux d'entrée. Par ailleurs, l'unité de commande délivre à chaque instant t=s N/a, avec s variant cycliquement de 0 à (a-1) modulo a, un signal de commande en réponse auquel des moyens de convolution relient la paire correspondante de lignes à retard au deuxième moyen de multiplexage. En outre, avant l'émission du signal de commande suivant, le bloc courant stocké dans les cinquième et sixième lignes à retard, est sauvegardé dans ladite paire To this end, to store the 2N samples of the input signal, a fourth delay line is preferably provided, loopable back on itself via a fourth multiplexer, and another input of which is connected to the input of the first input signal. This fourth delay line is connected at output to the first multiplexing means. If ac designates the oversampling factor of the filter, and K the number of blocks, the device comprises, according to one embodiment of the invention, has ordered pairs of delay lines, called backup lines, of length equal to the product (Kl ) by (N + l), intended to store respectively the at (K-1) older time blocks of N + l values each representing the real parts of the corresponding input signals, and the a (K- 1) time blocks oldest of N + 1 values each representing the imaginary parts of these input signals. Furthermore, the control unit delivers at each instant t = s N / a, with s varying cyclically from 0 to (a-1) modulo a, a control signal in response to which convolution means connect the corresponding pair of delay lines at the second multiplexing means. In addition, before the transmission of the next control signal, the current block stored in the fifth and sixth delay lines, is saved in said pair.
correspondante de lignes à retard de sauvegarde. corresponding backup delay lines.
Les moyens de normalisation comportent avantageusement une septième ligne à retard rebouclable sur elle-même par l'intermédiaire d'un septième additionneur auxiliaire dont l'autre entrée est reliée à la sortie de l'additionneur/soustracteur de la partie opérative, la sortie de cette septième ligne à retard étant reliée à une huitième ligne à retard destinée à stocker les inverses des coefficients The normalization means advantageously comprise a seventh delay line which can be looped back on itself via a seventh auxiliary adder, the other input of which is connected to the output of the adder / subtractor of the operative part, the output of this seventh delay line being connected to an eighth delay line intended for storing the inverses of the coefficients
de normalisation.standardization.
Selon un mode de réalisation de l'invention, les moyens d'adaptation comportent: - une neuvième ligne à retard rebouclable sur elle-même par l'intermédiaire d'un neuvième additionneur auxiliaire; cette neuvième ligne à retard, dont la sortie est reliée au deuxième moyen de multiplexage de la partie opérative, est destinée à stocker les parties réelles des coefficient du filtre, -une dixième ligne à retard rebouclable sur elle-même par l'intermédiaire d'un dixième additionneur auxiliaire; cette dixième ligne à retard, dont la sortie est reliée au deuxième moyen de multiplexage, est destinée à stocker les parties imaginaires des coefficients du filtre, -une onzième ligne à retard, dont l'entrée est reliée, par l'intermédiaire d'un onzième multiplexeur, à la sortie de l'opérateur de transformée de Fourier et à la sortie de l'additionneur/soustracteur, la sortie de cette onzième ligne à retard étant reliée à l'entrée du premier moyen de multiplexage de l'opérateur de transformée de Fourier et à l'autre entrée du neuvième additionneur auxiliaire de la neuvième ligne à retard, et, - une douzième ligne à retard, dont l'entrée est reliée, par l'intermédiaire d'un douzième multiplexeur, à la sortie de l'opérateur de transformée de Fourier et à la sortie de l'additionneur/soustracteur de la partie opérative, la sortie de cette douzième ligne à retard étant reliée à l'entrée du premier moyen de multiplexage de l'opérateur de transformée de Fourier et à l'autre entrée du dixième additionneur According to one embodiment of the invention, the adaptation means comprise: - a ninth delay line which can be looped back on itself by means of a ninth auxiliary adder; this ninth delay line, the output of which is connected to the second multiplexing means of the operative part, is intended to store the real parts of the coefficient of the filter, a tenth delay line which can be looped back on itself by means of a tenth auxiliary adder; this tenth delay line, the output of which is connected to the second multiplexing means, is intended to store the imaginary parts of the coefficients of the filter, an eleventh delay line, the input of which is connected, by means of a eleventh multiplexer, at the output of the Fourier transform operator and at the output of the adder / subtractor, the output of this eleventh delay line being connected to the input of the first multiplexing means of the transform operator Fourier and to the other input of the ninth auxiliary adder of the ninth delay line, and, - a twelfth delay line, the input of which is connected, via a twelfth multiplexer, to the output of the operator of Fourier transform and at the output of the adder / subtractor of the operative part, the output of this twelfth delay line being connected to the input of the first means of multiplexing of the operator of transformation mée de Fourier and at the other input of the tenth adder
auxiliaire de la dixième ligne à retard. auxiliary of the tenth delay line.
Les moyens d'annulation comportent avantageusement deux lignes à retard auxiliaires, rebouclées sur elles-mêmes par l'intermédiaire de deux multiplexeurs auxiliaires, dont les autres entrées respectives sont reliées à la sortie de l'additionneur/ soustracteur de la partie opérative, la sortie de l'une des lignes à retard auxiliaire étant reliée à l'un des multiplieurs de la partie opérative et The cancellation means advantageously include two auxiliary delay lines, looped back on themselves via two auxiliary multiplexers, the other respective inputs of which are connected to the output of the adder / subtractor of the operative part, the output one of the auxiliary delay lines being connected to one of the multipliers of the operative part and
la sortie de l'autre ligne à retard délivrent le signal d'erreur temporel. the output of the other delay line deliver the time error signal.
Les moyens d'annulation comportent par ailleurs la troisième ligne à retard, reliée au deuxième moyen de multiplexage, par un diviseur par The cancellation means also comprise the third delay line, connected to the second multiplexing means, by a divider by
a., tel qu'un registre à décalage. a., such as a shift register.
D'autres avantages et caractéristiques de l'invention Other advantages and characteristics of the invention
apparaîtront à l'examen de la description détaillée d'un mode de will appear on examination of the detailed description of a mode of
réalisation nullement limitatif, illustré sur des dessins annexés sur lesquels: - la figure 1 représente très schématiquement la structure fonctionnelle d'un dispositif de suppression d'écho selon l'invention, la figure 2 illustre schématiquement l'architecture dédiée du dispositif de la figure 1, - les figures 3 et 4 illustrent plus particulièrement une structure de ligne à retard dynamique du dispositif de la figure 1, - la figure 5 illustre le principe de rebouclage d'une ligne à retard sur elle-même, - la figure 6 illustre schématiquement la structure de la partie opérative du dispositif, -les figures 7 et 8 schématisent le stockage des signaux d'entrée dans les éléments de mémoire du dispositif, - les figures 9 à 11 schématisent l'évaluation de transformée de Fourier du bloc d'entrée courant et le stockage des valeurs correspondantes, - les figures 12 et 13 illustrent schématiquement la sauvegarde de blocs temporellement plus anciens nécessaires pour les opérations de convolution, - les figures 14 et 15 illustrent schématiquement la mise à jour des coefficients de normalisation, - les figures 16 à 18 schématisent l'opération de convolution du signal d'entrée avec la réponse impulsionnelle représentée par les coefficients du filtre, - les figures 19 à 23 illustrent schématiquement l'évaluation du signal d'erreur dans les domaines temporel et fréquentiel, et - les figures 24 à 26 représentent l'adaptation des coefficients non-limiting embodiment, illustrated in the accompanying drawings in which: - Figure 1 very schematically shows the functional structure of an echo cancellation device according to the invention, Figure 2 schematically illustrates the dedicated architecture of the device of Figure 1, - Figures 3 and 4 illustrate more particularly a dynamic delay line structure of the device of Figure 1, - Figure 5 illustrates the principle of looping a delay line on itself, - Figure 6 illustrates schematically the structure of the operative part of the device, - Figures 7 and 8 diagrammatically store the input signals in the memory elements of the device, - Figures 9 to 11 diagrammatically evaluate the Fourier transform evaluation of the block current input and the storage of the corresponding values, - Figures 12 and 13 schematically illustrate the saving of older time blocks necessary for the s convolution operations, - Figures 14 and 15 schematically illustrate the updating of the normalization coefficients, - Figures 16 to 18 show schematically the convolution operation of the input signal with the impulse response represented by the filter coefficients, - Figures 19 to 23 schematically illustrate the evaluation of the error signal in the time and frequency domains, and - Figures 24 to 26 represent the adaptation of the coefficients
du filtre.of the filter.
Tel qu'illustré sur la figure 1, le dispositif de traitement 1 s'insère dans le poste téléphonique entre la ligne téléphonique 2 (comportant une voie de réception 3 et d'émission 4), le haut-parleur 5 (disposé à l'extrémité de la voie de réception 3), et le microphone 6 (disposé à l'extrémité de la voie d'émission 4). Le poste téléphonique étant placé dans un local 9, le signal acoustique capté par le microphone est composé d'un signal d'écho acoustique réel 7 et/ou As illustrated in FIG. 1, the processing device 1 is inserted in the telephone set between the telephone line 2 (comprising a reception 3 and transmission 4 channel), the loudspeaker 5 (disposed at the end of the reception channel 3), and the microphone 6 (disposed at the end of the transmission channel 4). The telephone set being placed in a room 9, the acoustic signal picked up by the microphone is composed of a real acoustic echo signal 7 and / or
d'un signal de parole 8 émis par le locuteur local. a speech signal 8 emitted by the local speaker.
Le dispositif 1 comporte un bloc de traitement 10 recevant en entrée des échantillons temporels x du signal reçu sur la voie 3 et délivrant en sortie sur la voie 4 un signal d'erreur e, à partir d'un écho estimé et du signal d reçu par le microphone 6 après passage dans un convertisseur analogique/numérique 13. Ce signal de sortie, après traitement d'écho, ne contient que le signal de parole émis par le locuteur local débarrassé de l'écho résultant de la reflexion du signal acoustique émis par le haut-parleur 5 et provenant du signal de parole The device 1 comprises a processing block 10 receiving as input time samples x of the signal received on channel 3 and delivering as output on channel 4 an error signal e, from an estimated echo and from the signal d received by microphone 6 after passing through an analog / digital converter 13. This output signal, after echo processing, contains only the speech signal emitted by the local speaker freed from the echo resulting from the reflection of the acoustic signal emitted through speaker 5 and coming from the speech signal
prononcée par le locuteur distant.spoken by the distant speaker.
Bien entendu, un convertisseur numérique/analogique 12 est prévu entre la sortie des blocs de traitement situés sur la voie 3 et Of course, a digital / analog converter 12 is provided between the output of the processing blocks located on channel 3 and
l'entrée du haut-parleur 5.speaker input 5.
La détermination de l'écho estimé y(t) s'effectue à partir d'un filtrage transversal numérique fréquentiel auto-adaptatif effectué à une cadence d'horloge prédéterminée, par bloc et de façon suréchantillonnée. Le bloc de traitement 10 comprend des moyens de convolution entre le signal d'entrée x et la réponse impulsionnelle H The determination of the estimated echo y (t) is carried out on the basis of a self-adaptive digital frequency transversal filtering carried out at a predetermined clock rate, by block and in an oversampled manner. The processing block 10 comprises means for convolution between the input signal x and the impulse response H
représentée par les coefficients du filtre, pour délivrer l'écho estimé. represented by the filter coefficients, to deliver the estimated echo.
Il est également prévu des moyens d'annulation d'écho qui délivrent le signal de sortie à partir du signal d reçu sur l'autre voie et de l'écho estimé, ainsi que des moyens de normalisation pour calculer des coefficients de normalisation à partir de la puissance du signal d'entrée. En fait, bien que le calcul des coefficients de normalisation ne soit pas indispensable, leur utilisation permet d'améliorer les capacités de convergence de l'algorithme. En effet, un pas d'adaptation inversement proportionnel à la puissance d'entrée à la fréquence d'adaptation des coefficients du filtre (tel que décrit ci-après dans l'algorithme GMDFax) permet de compenser la dispersion énergétique Echo cancellation means are also provided which deliver the output signal from the signal d received on the other channel and from the estimated echo, as well as normalization means for calculating normalization coefficients from the strength of the input signal. In fact, although the computation of the normalization coefficients is not essential, their use makes it possible to improve the convergence capacities of the algorithm. Indeed, an adaptation step inversely proportional to the input power at the adaptation frequency of the filter coefficients (as described below in the GMDFax algorithm) makes it possible to compensate for the energy dispersion
du signal d'entrée.of the input signal.
Enfmin, des moyens d'adaptation sont prévus pour adapter des coefficients du filtre à partir du signal de sortie, des coefficients de Finally, adaptation means are provided for adapting coefficients of the filter from the output signal, coefficients of
normalisation éventuels et du signal d'entrée. possible normalization and of the input signal.
Bien entendu, tous ces moyens ne sont représentés que très schématiquement sur cette figure 1 et leur structure précise sera Of course, all these means are only shown very schematically in this FIG. 1 and their precise structure will be
décrite plus particulièrement en référence à la figure 2. more particularly described with reference to FIG. 2.
En outre, il est prévu une unité de commande logique UCL qui, en réponse à un signal d'horloge CLK va délivrer, comme on le verra plus en détail ci-après, une pluralité de signaux de commande In addition, there is provided a logic control unit UCL which, in response to a clock signal CLK will deliver, as will be seen in more detail below, a plurality of control signals
des différents éléments du dispositif. of the different elements of the device.
Bien que l'invention n'y soit nullement limitée, le dispositif de suppression d'écho qui va maintenant être décrit en détail, implémente l'algorithme de filtrage connu par l'homme du métier sous la dénomination GMDFCt qui appartient à la famille des algorithmes Although the invention is in no way limited thereto, the echo cancellation device which will now be described in detail, implements the filtering algorithm known by a person skilled in the art under the name GMDFCt which belongs to the family of algorithms
de filtrage adaptatif en bloc.adaptive block filtering.
D'une façon générale, dans un algorithme du type GMDF, les coefficients du filtre sont adaptés à chaque bloc de N échantillons. La réponse impulsionnelle représentée par les coefficients du filtre est découpée en K segments (ou blocs) de N échantillons, et présente donc Generally, in a GMDF type algorithm, the filter coefficients are adapted to each block of N samples. The impulse response represented by the filter coefficients is divided into K segments (or blocks) of N samples, and therefore presents
une longueur L=K.N.a length L = K.N.
La particularité de l'algorithme (1) GMDFo vient du fait que le traitement se répète aux instants t=sR avec R=N/ct., a étant le facteur de suréchantillonnage (overlapping factor), ce qui caractérise le recouvrement sur les échantillons du signal d'entrée entre deux blocs adjacents. L'équation de convolution de cet algorithme s'écrit: K-1 YsR = F1 DsR-kN.H(k) (2) k=O YsR représente le vecteur d'écho estimé, D la transformée de Fourier d'un bloc de 2N échantillons du signal d'entrée x, H la réponse impulsionnelle représentée par les coefficients du filtre et FP1 The particularity of the algorithm (1) GMDFo comes from the fact that the processing is repeated at times t = sR with R = N / ct., A being the oversampling factor (overlapping factor), which characterizes the overlap on the samples of the input signal between two adjacent blocks. The convolution equation of this algorithm is written: K-1 YsR = F1 DsR-kN.H (k) (2) k = O YsR represents the estimated echo vector, D the Fourier transform of a block of 2N samples of the input signal x, H the impulse response represented by the coefficients of the filter and FP1
l'opérateur de transformée de Fourier inverse. the inverse Fourier transform operator.
Le vecteur fréquentiel d'erreur EsR est obtenu par la formule EsR = F.f.(dsR -YsR) o f est une matrice de fenêtrage qui consiste à isoler les éléments de l'écho estimé qui correspondent à une convolution linéaire. Dans le cas qui va (3) être décrit, f est une fenêtre rectangulaire, c'est-à-dire une matrice ill diagonale de dimension 2N dont les N premiers termes sont des 1, les N suivants étant des zéros. L'opérateur F désigne l'opérateur de transformée de Fourier directe. (4) Pour tenir compte du fait que la puissance de l'entrée est inconnue et varie au cours du temps, le pas (5) d'adaptation g est pris tel que /'o T(s) 2N o T(s) est la matrice de normalisation. C'est une matrice carrée d'ordre 2N. Ses éléments peuvent être donnés par les formules: Tk(s) = '/Pk(s) (6) Pk(s + 1) = Pk(S) + (1 - y)I DsR - kN2 Dans l'équation (5) y est un facteur, dit "facteur d'oubli", The frequency vector of error EsR is obtained by the formula EsR = F.f. (dsR -YsR) where f is a windowing matrix which consists in isolating the elements of the estimated echo which correspond to a linear convolution. In the case which will (3) be described, f is a rectangular window, that is to say an ill diagonal matrix of dimension 2N whose N first terms are 1, the following N being zeros. The operator F designates the direct Fourier transform operator. (4) To take account of the fact that the power of the input is unknown and varies over time, the adaptation step (5) g is taken such that / 'o T (s) 2N o T (s) is the normalization matrix. It is a square matrix of order 2N. Its elements can be given by the formulas: Tk (s) = '/ Pk (s) (6) Pk (s + 1) = Pk (S) + (1 - y) I DsR - kN2 In equation (5 ) is a factor, called "forgetting factor",
permettant un lissage exponentiel de l'énergie. allowing an exponential smoothing of the energy.
L'adaptation du filtre se fait selon les équations t(k)(s+ l))= / T(s)DHRiEsR 2N A(k) (s + 1) = r-k) (S + 1) H(k)(s + 1) = H(k)(s) + A(k) (S + 1) En résumé, l'algorithme GMDFat est donné par les équations: (1), (2), (3), (4), (5) et (6). Dans le cas de l'algorithme sans The filter is adapted using the equations t (k) (s + l)) = / T (s) DHRiEsR 2N A (k) (s + 1) = rk) (S + 1) H (k) (s + 1) = H (k) (s) + A (k) (S + 1) In summary, the GMDFat algorithm is given by the equations: (1), (2), (3), (4), (5) and (6). In the case of the algorithm without
contrainte, r' est prise égale à la matrice identité. constraint, r 'is taken equal to the identity matrix.
Dans le cas o les coefficients de normalisation ne sont pas utilisés, la matrice T(s) est égale à la matrice identité et les équations In the case where the normalization coefficients are not used, the matrix T (s) is equal to the identity matrix and the equations
(4) et (5) sont sans objet.(4) and (5) are not applicable.
Le signal de sortie e, ou écho résiduel, est formé à partir des ac derniers vecteurs d'erreur temporel esr en utilisant une technique de synthèse connue par l'homme du métier sous le vocable WOLA (Weighted OverLap-Add). Plus précisément, chaque valeur de l'écho résiduel est calculée pour ca blocs successifs, la technique de synthèse spécifique utilisée ici consistant à faire la somme de ces valeurs pour The output signal e, or residual echo, is formed from the last ac vectors of time error esr using a synthesis technique known by a person skilled in the art under the term WOLA (Weighted OverLap-Add). More precisely, each value of the residual echo is calculated for ca successive blocks, the specific synthesis technique used here consisting in summing these values for
obtenir la valeur finale.get the final value.
La figure 2 représente schématiquement l'architecture dédiée, et réalisée sous forme intégrée, du dispositif selon l'invention. D'une façon générale, ce dispositif comprend une unité de traitement commune comportant un opérateur de transformée de Fourier FFT associé en entrée à un premier moyen de multiplexage commandable MXT. Il comprend par ailleurs une unique partie opérative possédant deux multiplieurs MT1, MT2 reliés en sortie aux deux registres d'un FIG. 2 schematically represents the dedicated architecture, and produced in integrated form, of the device according to the invention. In general, this device comprises a common processing unit comprising an operator of Fourier transform FFT associated at input with a first controllable multiplexing means MXT. It also includes a single operative part having two multipliers MT1, MT2 connected at output to the two registers of a
additionneur/soustracteur ADS.ADS adder / subtractor.
Le multiplieur MT1 est associé à deux multiplexeurs MX1A et MX1B respectivement reliés en sortie aux deux registres d'entrée de ce multiplieur. D'une façon analogue, le multiplieur MT2 est associé à deux multiplexeurs MX2A et MX2B reliés en sortie aux deux registres The multiplier MT1 is associated with two multiplexers MX1A and MX1B respectively connected at output to the two input registers of this multiplier. Similarly, the multiplier MT2 is associated with two multiplexers MX2A and MX2B connected at output to the two registers
d'entrée de ce multiplieur.input of this multiplier.
En combinaison avec cette unité de traitement commune, est prévue par ailleurs, une pluralité de lignes à retard dynamiques, référencées Ll- L16 sur cette figure, commandables, et rebouclables sur elles-mêmes. Ces lignes à retard sont destinées à être sélectivement reliées au multiplexeurs MXT, MX1A, MX1B, MX2A et MX2B, par l'intermédiaire d'une pluralité de signaux de commande délivrés par l'unité de commande logique UCL (non représentée sur In combination with this common processing unit, there is also provided a plurality of dynamic delay lines, referenced L1-L16 in this figure, controllable, and loopable back on themselves. These delay lines are intended to be selectively connected to the multiplexers MXT, MX1A, MX1B, MX2A and MX2B, via a plurality of control signals delivered by the logic control unit UCL (not shown in
cette figure à des fins de simplification). this figure for simplicity).
En d'autres termes, l'ensemble de ces moyens forme à la fois les moyens de convolution, d'annulation d'écho, de normalisation et d'adaptation, et c'est la commande séquentielle et sélective des différents multiplexeurs et lignes à retard qui va permettre d'exécuter les calculs de convolution, d'annulation d'écho, de normalisation et In other words, all of these means form both the means of convolution, echo cancellation, normalization and adaptation, and it is the sequential and selective control of the various multiplexers and lines to delay which will allow the convolution, echo cancellation, normalization and
d'adaptation.adaptation.
A des fms de simplification, l'architecture détaillée de ce dispositif ne sera pas décrite ici en référence à la figure 2 mais sera détaillée fonction par fonction en référence aux figures suivantes. De même, la commande des différentes lignes à retard par les différents signaux délivrés par l'unité de commande logique, ainsi que la commande des multiplexeurs correspondants seront décrites et illustrées à partir d'organigrammes fonctionnels relatifs aux différentes fonctions de l'algorithme de filtrage et à partir de figures spécifiques représentant pour ces différentes fonctions, les interconnexions entre les éléments du dispositif concernés par ces différentes fonctions. L'homme du métier pourra ainsi aisément reconstituer les différents chronogrammes temporels de l'ensemble du dispositif et réaliser l'unité de commande logique, par exemple par des For simplification purposes, the detailed architecture of this device will not be described here with reference to FIG. 2 but will be detailed function by function with reference to the following figures. Similarly, the control of the different delay lines by the different signals delivered by the logic control unit, as well as the control of the corresponding multiplexers will be described and illustrated from functional flowcharts relating to the different functions of the filtering algorithm and from specific figures representing for these different functions, the interconnections between the elements of the device concerned by these different functions. A person skilled in the art will thus be able to easily reconstruct the different time diagrams of the entire device and create the logic control unit, for example by
logiciels de synthèse logique classiques. classical logic synthesis software.
Avant de revenir en détail sur le fonctionnement du dispositif, on va décrire en se référant plus particulièrement aux figures 3 et 4, la structure générale d'une ligne à retard dynamique Before returning in detail to the operation of the device, we will describe, with particular reference to Figures 3 and 4, the general structure of a dynamic delay line
utilisée dans le dispositif.used in the device.
Telle qu'illustrée sur la figure 3, la ligne à retard dynamique LAR est destinée à stocker séquentiellement un jeu de n données. En fait, la figure 3 illustre un plan mémoire destiné à stocker un bit de chaque donnée, Bien entendu, la ligne à retard dynamique LAR comporte plusieurs plans mémoire disposés en parallèle, fonctionnant de manière synchronisée, et destinée à stocker respectivement As illustrated in FIG. 3, the dynamic delay line LAR is intended to sequentially store a set of n data. In fact, FIG. 3 illustrates a memory plan intended to store a bit of each data item. Of course, the dynamic delay line LAR comprises several memory plans arranged in parallel, operating in synchronized fashion, and intended for storing respectively.
l'ensemble des bits de chaque donnée. all the bits of each data.
Chaque plan mémoire comporte une matrice de cellules de mémorisation CLM1-CLM6 (six cellules à titre d'exemple sur la figure 3) aptes à stocker chacune un bit du jeu de données. D'une façon générale, le nombre de cellules dépend de la taille du jeu de données à stocker séquentiellement. En principe, le nombre de cellules de la matrice est supérieur au nombre de données à stocker afin d'éviter un écrasement de certaines d'entre elles. Pour chaque ligne des cellules de la matrice est prévu un bus d'écriture de donnée BSE et un bus de lecture de donnée BSL, sur lesquels sont connectées respectivement les entrées élémentaires de données et sorties élémentaires de données Each memory plan comprises a matrix of storage cells CLM1-CLM6 (six cells by way of example in FIG. 3) capable of each storing a bit of the data set. Generally, the number of cells depends on the size of the data set to be stored sequentially. In principle, the number of cells in the matrix is greater than the number of data to be stored in order to avoid overwriting some of them. For each row of the cells of the matrix is provided a data writing bus BSE and a data reading bus BSL, to which the elementary data inputs and elementary data outputs are connected respectively.
des cellules de la ligne.cells in the row.
Chaque cellule comporte par ailleurs une entrée de commande d'écriture BCE et une entrée de commande de lecture BCL. Toutes les entrées de commande d'écriture BCE des cellules d'une même colonne sont reliées par un bus de commande d'écriture BC1 à des moyens de génération MG permettant de commander séquentiellement et Each cell also includes a write command input BCE and a read command input BCL. All the write control inputs BCE of the cells of the same column are connected by a write control bus BC1 to generation means MG making it possible to control sequentially and
cycliquement l'écriture et la lecture des données dans la ligne à retard. cyclically writing and reading data in the delay line.
De même, toutes les entrées de commande de lecture BCL des cellules d'une même colonne sont reliées aux moyens de génération par un bus de commande BC2, BC3, BC4. Par ailleurs, comme on le voit sur la figure 3, les bus de commande BC2, BC3 sont communs à deux colonnes de cellules adjacentes. En d'autres termes, le bus BC2 permet de commander à la fois les entrées de commande de lecture BCL des cellules CLM1 et CLM4 d'une colonne et les entrées de commande Likewise, all the BCL read control inputs of the cells of the same column are connected to the generation means by a control bus BC2, BC3, BC4. Furthermore, as can be seen in FIG. 3, the control buses BC2, BC3 are common to two columns of adjacent cells. In other words, the bus BC2 makes it possible to control both the read control inputs BCL of the cells CLM1 and CLM4 of a column and the control inputs
d'écriture BCE des cellules CLM2 et CLM5 de la colonne adjacente. writing ECB of cells CLM2 and CLM5 of the adjacent column.
Les moyens de génération MG comporte par ailleurs une pluralité de retards temporels T. Chaque plan mémoire d'une ligne à The generation means MG also comprises a plurality of time delays T. Each memory plane from one line to
retard est cadencé par un signal d'horloge de fréquence prédéterminée. delay is clocked by a clock signal of predetermined frequency.
Les moyens de génération sont alors aptes à générer à chaque impulsion d'horloge, les signaux respectifs de commande d'écriture et The generation means are then able to generate, at each clock pulse, the respective write control signals and
de commande de lecture sur le bus de commande correspondant. control command on the corresponding command bus.
Concrètement, les différents signaux de commande consistent en uneinformation de commande, en l'espèce un bit de commande susceptible de prendre soit la valeur zéro soit la valeur 1 et se propageant cycliquement dans les moyens de génération, au rythme du signal d'horloge et compte tenu des retards temporel T. Ainsi, si l'on suppose que le signal de commande se situe au niveau des bus BC1 et BC4, lors de l'entrée d'une donnée par l'entrée BE, celle-ci est mémorisée dans la cellule CLM1 tandis que la donnée présente dans la cellule CLM3 est stockée dans la cellule CLM4 et que la donnée stockée dans la cellule CLM6 est délivrée à la sortie BS. A L'impulsion d'horloge suivante, la donnée stockée dans la cellule CLM1 est stockée dans la cellule CLM5 et celle qui était stockée auparavant dans la cellule CLM4 est délivrée en sortie. Parallèlement, la donnée présente en entrée BE est stockée dans la cellule CLM2. La ligne à retard dynamique se comporte donc comme une mémoire du type premier entré premier sorti (FIFO en langue anglaise) et elle permet, au cours d'un même cycle d'horloge, un accès simultané en écriture et en lecture. Bien que d'autres configurations puissent être en principe utilisées, les cellules de mémorisation sont constituées ici de points Concretely, the different control signals consist of control information, in this case a control bit capable of taking either the value zero or the value 1 and propagating cyclically in the generation means, at the rate of the clock signal and taking into account the time delays T. Thus, if it is assumed that the control signal is located at the level of the buses BC1 and BC4, during the input of a data by the input BE, this is stored in the cell CLM1 while the data present in the cell CLM3 is stored in the cell CLM4 and that the data stored in the cell CLM6 is delivered to the output BS. At the next clock pulse, the data stored in the cell CLM1 is stored in the cell CLM5 and that which was previously stored in the cell CLM4 is output. At the same time, the data present at the BE input is stored in the CLM2 cell. The dynamic delay line therefore behaves like a memory of the first in first out type (FIFO in English) and it allows, during the same clock cycle, simultaneous write and read access. Although other configurations can in principle be used, the memory cells here consist of points
mémoire dynamiques à trois transistors tels qu'illustrés sur la figure 4. dynamic memory with three transistors as illustrated in FIG. 4.
Ainsi, le drain du transistor Tl forme la sortie élémentaire de donnée de la cellule courante CLM tandis que la source du transistor Tl est reliée au drain du transistor T3, lui-même relié à la masse par l'intermédiaire de sa source. La source du transistor T2 forme l'entrée de donnée de cette cellule CLM tandis que le drain de ce transistor T2 est relié à la grille du transistor T3. Par ailleurs, les grilles respectives du transistor T1 et T2 forment les entrées de commande de lecture et de commande d'écriture de la cellule CLM. Le stockage du bit Thus, the drain of the transistor Tl forms the elementary data output of the current cell CLM while the source of the transistor Tl is connected to the drain of the transistor T3, itself connected to the ground via its source. The source of transistor T2 forms the data input of this cell CLM while the drain of this transistor T2 is connected to the gate of transistor T3. Furthermore, the respective gates of transistor T1 and T2 form the read control and write control inputs of the CLM cell. Bit storage
mémorisé dans cette cellule s'effectue au niveau du transistor T3. stored in this cell takes place at the transistor T3.
En raison de la structure intrinsèquement inverseuse de la cellulemémoire utilisée, il est prévu un inverseur IV1 (IV2) reliant le Due to the intrinsically inverting structure of the memory cell used, an IV1 (IV2) inverter is provided connecting the
bus de lecture d'une ligne au bus d'écriture de la ligne voisine. bus for reading a line to the write bus for the neighboring line.
L'homme du métier aura donc remarqué que chaque plan mémoire forme une ligne à retard dynamique à un bit avec 3 transistors par bit mémorisé, cette ligne à retard dynamique ne possédant pas de système d'adressage. Un gain d'encombrement est réalisé ainsi puisqu'une mémoire vive statique comporte 6 transistors et un système d'adressage, tandis qu'un registre à décalage comporte 8 transistors dans le cas d'un registre dynamique et 14 dans le cas d'un registre statique. Sur la figure 5, on a représenté schématiquement la structure générale d'une ligne à retard dynamique LAR utilisée dans le dispositif selon l'invention, et rebouclée sur elle-même par l'intermédiaire d'un multiplexeur M commandé par le signal de commande S. Concrètement, la sortie de donnée DO de la ligne à retard est reliée à l'entrée zéro du multiplexeur M. L'entrée 1 de ce multiplexeur M peut recevoir une donnée, et la sortie de ce multiplexeur est reliée à l'entrée de donnée DI de la ligne à retard. A des fins de clarté, les différentes cellules mémoire CLMa-CLMz de cette ligne à retard ont été représentées sur cette figure empilées les unes sur les autres. Le nombre de cellules mémoire définit la longueur A person skilled in the art will therefore have noticed that each memory plane forms a one-bit dynamic delay line with 3 transistors per stored bit, this dynamic delay line having no addressing system. A gain in size is achieved as well since a static random access memory comprises 6 transistors and an addressing system, while a shift register comprises 8 transistors in the case of a dynamic register and 14 in the case of a static register. In FIG. 5, the general structure of a dynamic delay line LAR used in the device according to the invention is shown diagrammatically, and looped back on itself by means of a multiplexer M controlled by the control signal Concretely, the data output DO of the delay line is connected to the zero input of the multiplexer M. The input 1 of this multiplexer M can receive data, and the output of this multiplexer is connected to the input data line of the delay line. For clarity, the different memory cells CLMa-CLMz of this delay line have been shown in this figure stacked on top of each other. The number of memory cells defines the length
de la ligne à retard.of the delay line.
Lorsque la ligne à retard est rebouclée sur elle-même, c'est-à- When the delay line is looped back on itself, i.e.
dire lorsque le signal S est mis à zéro, et que la ligne à retard est activée par le signal d'horloge CLK, la donnée présente dans la cellule say when the signal S is set to zero, and the delay line is activated by the clock signal CLK, the data present in the cell
CLMz est délivrée en sortie et est stockée dans la cellule CLMa. CLMz is output and is stored in the CLMa cell.
Simultanément, s'opère un décalage des données dans les différentes cellules mémoire. Ainsi, la donnée qui était stockée dans la cellule CLMa est stockée maintenant dans la cellule CLMb. Aussi, le rebouclage d'une ligne à retard sur elle-même et son activation par le At the same time, data is shifted in the different memory cells. Thus, the data which was stored in the cell CLMa is now stored in the cell CLMb. Also, the loopback of a delay line on itself and its activation by the
signal d'horloge permet de lire le contenu de celle-ci. clock signal makes it possible to read its content.
Par contre, lorsque le signal de commande S du multiplexeur est mis à 1, et que la ligne à retard est activée par le signal d'horloge, la nouvelle valeur v présente en entrée du multiplexeur est stockée dans la cellule CLMa et la valeur qui était stockée dans la cellule On the other hand, when the control signal S of the multiplexer is set to 1, and the delay line is activated by the clock signal, the new value v present at the input of the multiplexer is stored in the cell CLMa and the value which was stored in the cell
CLMz est écrasée (dans la configuration illustrée sur la figure 5). CLMz is overwritten (in the configuration illustrated in Figure 5).
Dans la suite du texte, la notation Rot (L) signifie que la ligne à retard L est activée par le signal d'horloge et que le multiplexeur d'entrée correspondant est commandé par le signal S, de façon à pouvoir lire le contenu de cette ligne à retard. De même, la notation Rot (L,v) signifie que la ligne à retard L est activée par le signal d'horloge et que le multiplexeur d'entrée de cette ligne à retard est commandé par le signal de commande S, de façon à autoriser l'écriture dans cette ligne à retard L, des différentes valeurs v se présentant en entrée du multiplexeur M ou de la ligne à retard (si le multiplexeur est omis). Enfin, la notation DO(L) représente la valeur de la donnée en sortie de la ligne à retard L. Ainsi qu'on l'a vu précédemment, la partie opérative est constituée des deux multiplieurs MTI, MT2 et de l'additionneur/ soustracteur ADS (figure 6). Les deux multiplieurs sont associés en entrée aux multiplexeurs MXlA et MX1B et MX2A et MX2B. Les registres d'entrée des multiplieurs sont activés au front descendant CLK du signal d'horloge de même que les registres de l'additionneur/soustracteur. Par ailleurs, ce dernier reçoit un signal de commande spécifique permettant de le configurer en additionneur ou In the remainder of the text, the notation Rot (L) means that the delay line L is activated by the clock signal and that the corresponding input multiplexer is controlled by the signal S, so that the contents of this delay line. Similarly, the notation Rot (L, v) means that the delay line L is activated by the clock signal and that the input multiplexer of this delay line is controlled by the control signal S, so as to authorize the writing in this delay line L, of the different values v occurring at the input of the multiplexer M or of the delay line (if the multiplexer is omitted). Finally, the notation DO (L) represents the value of the data at the output of the delay line L. As we have seen previously, the operative part consists of the two multipliers MTI, MT2 and the adder / ADS subtractor (Figure 6). The two multipliers are associated as input to the multiplexers MXlA and MX1B and MX2A and MX2B. The input registers of the multipliers are activated at the falling edge CLK of the clock signal as are the registers of the adder / subtractor. Furthermore, the latter receives a specific control signal enabling it to be configured as an adder or
en soustracteur.as a subtractor.
Il convient de noter ici que la commande des registres de la partie opérative par le front descendant CLK du signal d'horloge d'une part et l'activation des lignes à retard dynamiques par le front montant CLK du signal d'horloge d'autre part, permet une synchronisation It should be noted here that the control of the registers of the operative part by the falling edge CLK of the clock signal on the one hand and the activation of the dynamic delay lines by the rising edge CLK of the clock signal on the other hand hand allows synchronization
correcte du fonctionnement du dispositif. correct operation of the device.
A titre d'exemple, la multiplication de deux nombres complexes X=(Xr, Xi) et H=(Hr,Hi) se fait de la façon suivante (figure 6): As an example, the multiplication of two complex numbers X = (Xr, Xi) and H = (Hr, Hi) is done as follows (Figure 6):
Z=X.H = (Xr, Xi)(Hr,Hi)=(XrHr-XiHi, XrHi+XiHr)=(Zr,Zi). Z = X.H = (Xr, Xi) (Hr, Hi) = (XrHr-XiHi, XrHi + XiHr) = (Zr, Zi).
Pendant le premier cycle d'horloge le signal de commande S des multiplexeurs MX1B et MX2B est à 0, le premier multiplieur effectue le produit des parties réelles Xr.Hr, le deuxième effectue le produit des parties imaginaires XiHi et l'additionneur/soustracteur During the first clock cycle the control signal S of the multiplexers MX1B and MX2B is at 0, the first multiplier performs the product of the real parts Xr.Hr, the second performs the product of the imaginary parts XiHi and the adder / subtractor
effectue le soustraction des deux produits partiels, on obtient ainsi Zr. performs the subtraction of the two partial products, thus obtaining Zr.
Le passage de S à 1 au deuxième cycle d'horloge permet de calculer Zi. Par conséquent le produit complexe est calculé en deux cycles d'horloge. On va maintenant décrire en détail en se référant plus particulièrement aux figures 7 et suivantes, les différentes The transition from S to 1 in the second clock cycle makes it possible to calculate Zi. Therefore the complex product is calculated in two clock cycles. We will now describe in detail with particular reference to Figures 7 and following, the different
fonctionnalités du dispositif selon l'invention. functionalities of the device according to the invention.
La première étape du calcul commence après l'arrivée, à l'instant sR (R=N/a), de R nouveaux échantillons de l'entrée x: (x(sR+R-1)....,x(sR+ l), x(sR)). Ces échantillons constituent avec les 2N-R échantillons précédents le vecteur courant xsR. Ce vecteur est The first step of the calculation begins after the arrival, at time sR (R = N / a), of R new samples of the input x: (x (sR + R-1) ...., x ( sR + 1), x (sR)). These samples constitute with the 2N-R preceding samples the current vector xsR. This vector is
sauvegardé dans une ligne à retard L1 de dimension 2N. saved in a delay line L1 of dimension 2N.
De même, les R nouveaux échantillons du signal d sont Likewise, the R new samples of the signal d are
stockés dans une ligne à retard L5 de dimension N (figure 8). stored in a delay line L5 of dimension N (FIG. 8).
Cette mémorisation dans les lignes à retard Li1 et L5 s'effectue selon l'organigramme illustré sur la figure 7. Les signaux de commande des multiplexeurs M1 et M5 associés aux lignes à retard Li et L5 sont choisis de façon à autoriser ce stockage (Rot(Ll,x), This storage in the delay lines Li1 and L5 is carried out according to the flow diagram illustrated in FIG. 7. The control signals of the multiplexers M1 and M5 associated with the delay lines Li and L5 are chosen so as to authorize this storage (Rot (Ll, x),
Rot(L5,d), étape 70).Rot (L5, d), step 70).
Sur cet organigramme, CKE désigne le signal d'horloge d'échantillonnage du signal d'entrée, permettant d'activer les lignes à retard L1 et L5. Typiquement, la fréquence de ce signal est de l'ordre de 16 KHz alors que le signal d'horloge CLK cadençant les autres On this flowchart, CKE designates the sampling clock signal of the input signal, making it possible to activate the delay lines L1 and L5. Typically, the frequency of this signal is of the order of 16 KHz while the clock signal CLK clocking the others
éléments du dispositif selon l'invention est de l'ordre de 50 MHz. elements of the device according to the invention is of the order of 50 MHz.
Lorsque les R nouveaux échantillons ont été sauvegardés dans les lignes à retard L1 et L5, le filtrage du signal à l'instant courant t=sR peut alors commencer. On évalue tout d'abord la transformée de Fourier directe du bloc d'entrée courant représenté par les 2N échantillons du vecteur When the R new samples have been saved in the delay lines L1 and L5, filtering of the signal at the current time t = sR can then begin. We first evaluate the direct Fourier transform of the current input block represented by the 2N samples of the vector
d'entrée xsR.xsR input.
La transformée de Fourier directe du vecteur courant du signal d'entrée xsR à l'instant sR (signal réel de dimension 2N) est le signal complexe DsR dont N-1 valeurs sont symétriques. Par The direct Fourier transform of the current vector of the input signal xsR at time sR (real signal of dimension 2N) is the complex signal DsR whose N-1 values are symmetrical. By
conséquent, il suffit de mémoriser N+l valeurs complexes différentes. Consequently, it suffices to memorize N + l different complex values.
La ligne à retard L2 est utilisée pour sauvegarder les valeurs réelles, L3 pour les valeurs imaginaires. Ces lignes à retard L2 et L3 sont donc de longueur N+1. Cette évaluation de la transformée de Fourier The delay line L2 is used to save the real values, L3 for the imaginary values. These delay lines L2 and L3 are therefore of length N + 1. This evaluation of the Fourier transform
directe d'entrée est illutrée sur les figures 9 à 11. direct input is illustrated in Figures 9 to 11.
Le multiplexeur Ml de la ligne à retard Li est positionné de façon à permettre la lecture du contenu de cette ligne à retard L1. Par ailleurs, l'unité de commande logique relie, par l'intermédiaire du multiplexeur MXT, la sortie de la ligne à retard L1 à l'entrée de The multiplexer M1 of the delay line Li is positioned so as to allow the reading of the content of this delay line L1. Furthermore, the logic control unit connects, via the multiplexer MXT, the output of the delay line L1 to the input of
l'opérateur de transformée de Fourier FFT. the FFT Fourier transform operator.
Parallèlement, les deux multiplexeurs M2 et M3 associées aux lignes à retard L2 et L3 sont positionnés sur leurs entrées reliées à la sortie de l'opérateur de transformée de Fourier, de façon à autoriser In parallel, the two multiplexers M2 and M3 associated with the delay lines L2 and L3 are positioned on their inputs connected to the output of the Fourier transform operator, so as to authorize
l'écriture dans ces lignes L2 et L3. writing in these lines L2 and L3.
Ainsi, la ligne à retard Li1 activée par le signal d'horloge CLK délivre les 2N échantillons du signal d'entrée à l'opérateur FFT (figure 9, étape 90). Les parties réelles et imaginaires de la transformée de Fourier de ces 2N échantillons sont respectivement stockées dans les lignes à retard L2 et L3 activées par le signal d'horloge CLK (Rot(L2, va), Rot (L3,vb) étape 91). Sur la figure 9 va et vb désignent respectivement les valeurs présentes en entrée de L2 et Thus, the delay line Li1 activated by the clock signal CLK delivers the 2N samples of the input signal to the operator FFT (FIG. 9, step 90). The real and imaginary parts of the Fourier transform of these 2N samples are respectively stored in the delay lines L2 and L3 activated by the clock signal CLK (Rot (L2, va), Rot (L3, vb) step 91) . In FIG. 9 va and vb respectively denote the values present at the input of L2 and
L3 et délivrées par l'opérateur FFT. L3 and delivered by the FFT operator.
Pour effectuer le produit de convolution du signal d'entrée avec la réponse impulsionnelle représentée par les coefficients du filtre, il convient de mémoriser les [ca(K-1)+l] derniers blocs X(')sR(k=O,l,..,K-1; s--0=,l,..at-l(mod)ax), o la notation (mod) signifie modulo. A cet effet, alors que les lignes à retard L2 et L3 sont utilisées pour mémoriser la transformée de Fourier du bloc d'entrée courant, il est prévu ax lignes à retard L7q, L8q, avec q variant de 1 à a, pour sauvegarder les c(K-1) blocs temporellement plus ancien. En fait, chaque ligne à retard L7q, de dimension (K-l)(N+l) est destinée à stocker la partie réelle du bloc correspondant tandis que la ligne à retard homologue L8q, de même dimension, est destinée à stocker la partie imaginaire de ce bloc. Sur la figure 12, à des fins de simplification, on n'a représenté qu'une seule ligne à retard L7q et To carry out the convolution product of the input signal with the impulse response represented by the filter coefficients, it is advisable to memorize the last [ca (K-1) + l] blocks X (') sR (k = O, l , .., K-1; s - 0 =, l, .. at-l (mod) ax), where the notation (mod) means modulo. To this end, while the delay lines L2 and L3 are used to memorize the Fourier transform of the current input block, provision is made for delay lines L7q, L8q, with q varying from 1 to a, to save the c (K-1) older time blocks. In fact, each delay line L7q, of dimension (K1) (N + 1) is intended to store the real part of the corresponding block while the homologous delay line L8q, of the same dimension, is intended to store the imaginary part of this block. In FIG. 12, for simplification purposes, only one delay line L7q has been shown and
une seule ligne à retard L8q.a single delay line L8q.
Avant l'arrivée des R nouveaux échantillons du signal d'entrée à l'instant (s+l1)R, il sera nécessaire de sauvegarder les valeurs stockées dans les lignes à retard L2 et L3, dans l'une des lignes à retard L7q et L8q. Bien que cette sauvegarde s'effectue en fin de traitement, elle va maintenant être décrite ici afin notamment de préciser celle des lignes à retard L7q, L8q qui va être utilisée pour le Before the arrival of the R new samples of the input signal at time (s + l1) R, it will be necessary to save the values stored in the delay lines L2 and L3, in one of the delay lines L7q and L8q. Although this backup is performed at the end of processing, it will now be described here in order to specify in particular that of the delay lines L7q, L8q which will be used for the
calcul du produit de convolution à l'instant courant t=sR. calculation of the convolution product at the current time t = sR.
Sur la figure 12 cette sauvegarde s'effectue en reliant la sortie des lignes à retard L2 et L3 aux entrées respectives des lignes à retard L7q et L8q sélectionnées, par l'intermédiaire des multiplexeurs associés M7 et M8, en rebouclant sur elles-mêmes les lignes à retard L2 et L3, et en activant ces quatre lignes à retard par le signal d'horloge CLK. En fait, à chaque instant courant t=sR, s variant de 0 à oa-l (modulo a) seule la paire de lignes à retard L7at et L8ac (avec a= s+l) est sélectionnée. A cet effet, il est prévu deux démultiplexeurs (non représentés ici à des fins de simplification) disposés entre les lignes à retard L2, L3 et les multiplexeurs M7 et M8, possédant une entrée et a sorties, et commandés par un compteur variant cycliquement de 0 à ac-1, de façon à sélectionner en fonction In FIG. 12, this saving is carried out by connecting the output of the delay lines L2 and L3 to the respective inputs of the delay lines L7q and L8q selected, by means of the associated multiplexers M7 and M8, by looping back on themselves the delay lines L2 and L3, and activating these four delay lines by the clock signal CLK. In fact, at each current time t = sR, s varying from 0 to oa-l (modulo a) only the pair of delay lines L7at and L8ac (with a = s + l) is selected. For this purpose, two demultiplexers are provided (not shown here for simplification purposes) arranged between the delay lines L2, L3 and the multiplexers M7 and M8, having one input and one outputs, and controlled by a counter varying cyclically from 0 to ac-1, so as to select according
de la valeur de a, la paire adéquate de lignes à retard L7q et L8q. of the value of a, the appropriate pair of delay lines L7q and L8q.
Concrètement, dans le cas par exemple o N=2, ac=2 et K=3, et en supposant que les parties réelles des transformées de Fourier des vecteurs d'entrée successifs prennent respectivement les valeurs 0,1,2; 3,4,5; 6,7,8;... le stockage de ces valeurs dans les lignes à Concretely, in the case for example o N = 2, ac = 2 and K = 3, and assuming that the real parts of the Fourier transforms of the successive input vectors take respectively the values 0,1,2; 3,4,5; 6,7,8; ... the storage of these values in the lines to
retard L71 et L72 s'effectue de la manière illustrée sur la figure 13. delay L71 and L72 is carried out as illustrated in FIG. 13.
Ainsi, pour s=O, le stockage s'effectue dans la ligne à retard L71, pour s=l il s'effectue dans le ligne à retard L72 et ainsi de suite. Bien entendu, comme déjà évoqué ci-avant, cette sauvegarde depuis les lignes à retard L2 et L3 vers les lignes à retard L7q et L8q s'effectue seulement en fin de traitement, avant l'arrivée, à l'instant t=(s+1)R, des R échantillons suivants. Cependant, c'est à partir du contenu de ces lignes à retard L7q et L8q sélectionnées que sera effectué à l'instant t=sR, le produit de convolution entre le signal d'entrée et la réponse impulsionnelle représentée par les coefficients du filtre. A cet effet, il est prévu, en sortie des lignes à retard L7q et L8q également deux multiplexeurs auxiliaires (non représentés ici à des fins de simplification) possédant cc entrées et une sortie et reliant respectivement ces lignes à retard aux multiplexeurs MX1A et MX2A de la partie opérative. Ces multiplexeurs auxiliaires non représentés ici sont également commandés par le compteur variant cycliquement Thus, for s = 0, the storage takes place in the delay line L71, for if it takes place in the delay line L72 and so on. Of course, as already mentioned above, this backup from the delay lines L2 and L3 to the delay lines L7q and L8q takes place only at the end of processing, before arrival, at time t = (s +1) R, of the following R samples. However, it is from the content of these delay lines L7q and L8q selected that will be performed at time t = sR, the product of convolution between the input signal and the impulse response represented by the coefficients of the filter. For this purpose, there are provided, at the output of the delay lines L7q and L8q also two auxiliary multiplexers (not shown here for simplification purposes) having cc inputs and one output and connecting these delay lines respectively to the multiplexers MX1A and MX2A of the operative part. These auxiliary multiplexers not shown here are also controlled by the cyclically varying counter.
de 0 à "-1.from 0 to "-1.
On va maintenant décrire, en se référant plus particulièrement aux figures 14 et 15, la mise à jour des coefficients de normalisation qui s'effectue conformément à l'équation (5), bien que cette mise à jour puisse être effectuée après le calcul proprement We will now describe, with particular reference to FIGS. 14 and 15, the updating of the normalization coefficients which is carried out in accordance with equation (5), although this updating can be carried out after the calculation properly
dit du produit de convolution.said of the convolution product.
Dans un premier temps, l'unité de commande logique reboucle les lignes à retard L2 et L3 sur elles-mêmes et relient respectivement leur sortie aux deux registres d'entrée des deux multiplieurs MT1 et MT2 de la partie opérative par les quatre multiplexeurs MX1A, MX1B et MX2A, MX2B. L'activation des lignes à retard L2 et L3 ainsi que celles des deux multiplieurs et de l'additionneur de la partie opérative permet d'effectuer la somme des carrés des sorties respectives des lignes à retard L2 et L3. Ensuite, l'unité de commande logique connecte la sortie de l'additionneur à l'aide des entrées du registre d'un multiplieur, par exemple le multiplieur MT1, par l'intermédiaire du multiplexeur MXl alors que l'autre multiplexeur MX1B permet de forcer l'autre registre d'entrée du multiplieur MT1 à la valeur 1-y. Le produit (1-y) par la somme des carrés précédemment calculée est stocké dans l'un des registres de l'additionneur tandis que l'autre registre est forcé à zéro ce qui permet d'obtenir en sortie le produit (1-y) par la somme des carrés des sorties Firstly, the logic control unit loops the delay lines L2 and L3 back on themselves and respectively connect their output to the two input registers of the two multipliers MT1 and MT2 of the operative part by the four multiplexers MX1A, MX1B and MX2A, MX2B. The activation of the delay lines L2 and L3 as well as those of the two multipliers and of the adder of the operative part makes it possible to effect the sum of the squares of the respective outputs of the delay lines L2 and L3. Then, the logic control unit connects the output of the adder using the register inputs of a multiplier, for example the multiplier MT1, via the multiplexer MXl while the other multiplexer MX1B allows force the other input register of the multiplier MT1 to the value 1-y. The product (1-y) by the sum of the squares previously calculated is stored in one of the registers of the adder while the other register is forced to zero which allows to obtain as output the product (1-y ) by the sum of the squares of the outputs
respectives de lignes à retard L2 et L3 ((DO(L2)2+DO(L3)2)(1-y)). delay lines L2 and L3 respectively ((DO (L2) 2 + DO (L3) 2) (1-y)).
Les valeurs, calculées à l'instant précédent t=(s-1)R, des coefficients de normalisation sont stockés dans une ligne à retard L15 The values, calculated at the previous instant t = (s-1) R, of the normalization coefficients are stored in a delay line L15
de dimension N+1 associée en entrée à un additionneur auxiliaire A15. of dimension N + 1 associated as input to an auxiliary adder A15.
L'une des entrées de cet additionneur est relié à la sortie de cette ligne à retard L15 et l'autre entrée de cet additionneur est reliée à la sortie de l'additionneur/soustracteur ADS de la partie opérative. Par ailleurs, One of the inputs of this adder is connected to the output of this delay line L15 and the other input of this adder is connected to the output of the ADS adder / subtractor of the operative part. Otherwise,
la sortie de cet additionneur est reliée à l'entrée de ligne à retard L15. the output of this adder is connected to the delay line input L15.
Il est également prévu une autre ligne à retard L16 de dimension N+l, destinée à stocker les inverses Tkk des coefficients de normalisation Pk. Cette ligne à retard L16 est de ce fait associée à un multiplexeur M16 dont l'une des entrées est reliée à la sortie de la ligne à retard L16 et dont l'autre entrée est reliée à la sortie de l'additionneur auxiliaire A15 par l'intermédiaire d'un diviseur DV qui peut être soit intégré au dispositif, soit faire partie d'un équipement Another delay line L16 of dimension N + 1 is also provided, intended to store the inverses Tkk of the normalization coefficients Pk. This delay line L16 is therefore associated with a multiplexer M16 one of whose inputs is connected to the output of the delay line L16 and whose other input is connected to the output of the auxiliary adder A15 by l via a DV divider which can either be integrated into the device or be part of equipment
annexe au dispositif, tel qu'un microprocesseur. annex to the device, such as a microprocessor.
Pour effectuer le calcul des coefficients de normalisation P et leur sauvegarde dans la ligne à retard L15 à l'instant t=sR, l'unité de To calculate the normalization coefficients P and save them in the delay line L15 at time t = sR, the unit of
commande logique active la ligne à retard L15 et la reboucle sur elle- logic command activates the delay line L15 and loops back on it-
même par l'intermédiaire de l'additionneur A15 qui reçoit par ailleurs la sortie de l'additionneur/soustracteur ADS. La nouvelle valeur de P (étape 140) est ainsi d'une part sauvegardée dans la ligne à retard L15 (Rot(L15,P); étape 141) et après division (étape 142; compte tenu du coefficient go), la valeur de T est stockée dans la ligne à retard L16 (elle-même activée par le signal d'horloge CLK), par l'intermédiaire du multiplexeur M16 (Rot(L16,T); étape 143). Une nouvelle lecture de L2 et L3 (Rot(L2), Rot(L3); étape 144) est alors effectuée pour even through the adder A15 which also receives the output from the ADS adder / subtractor. The new value of P (step 140) is thus firstly saved in the delay line L15 (Rot (L15, P); step 141) and after division (step 142; taking into account the coefficient go), the value of T is stored in the delay line L16 (itself activated by the clock signal CLK), via the multiplexer M16 (Rot (L16, T); step 143). A new reading of L2 and L3 (Rot (L2), Rot (L3); step 144) is then performed to
l'échantillon suivant jusqu'au NWme. the next sample to NWme.
Le calcul du produit de convolution dans le domaine fréquentiel est illustré par l'organigramme de la figure 16 et les interconnexions correspondantes des différents éléments du dispositif The calculation of the convolution product in the frequency domain is illustrated by the flowchart of FIG. 16 and the corresponding interconnections of the various elements of the device.
sont illustrées sur la figure 17.are illustrated in Figure 17.
Outre les différentes lignes à retard déjà décrites, les moyens de convolution du dispositif comportent deux autres lignes à retard L9 et L10, de dimension K(N+I) chacune destinées à mémoriser respectivement les parties réelles et imaginaires des coefficients du filtre. Ces lignes à retard L9 et LO10 sont respectivement associées à deux additionneurs auxiliaires A9 et AO10. L'une des entrées de chaque additionneur est reliée à la sortie de la ligne à retard correspondante et In addition to the various delay lines already described, the convolution means of the device comprise two other delay lines L9 and L10, of dimension K (N + I) each intended to memorize respectively the real and imaginary parts of the coefficients of the filter. These delay lines L9 and LO10 are respectively associated with two auxiliary adders A9 and AO10. One of the inputs of each adder is connected to the output of the corresponding delay line and
la sortie de l'additionneur est reliée à l'entrée de cette ligne à retard. the output of the adder is connected to the input of this delay line.
Par ailleurs, l'autre entrée de chaque additionneur auxiliaire est reliée à la sortie d'un multiplexeur M9, (M10) à deux entrées. L'une des entrées de chaque multiplexeur M9 (M10) est susceptible d'être forcée à zéro tandis que l'autre entrée est reliée à la sortie de la ligne à retard L13 (L14). Enfin, la sortie de la ligne à retard L9 est reliée au multiplexeur MX2B associé à l'un des registres du multiplieur MT2 de la partie opérative, ainsi qu'au multiplexeur MX1B associé au registre homologue de l'autre multiplieur MT1. De même, la sortie de ligne à Furthermore, the other input of each auxiliary adder is connected to the output of a multiplexer M9, (M10) with two inputs. One of the inputs of each multiplexer M9 (M10) can be forced to zero while the other input is connected to the output of the delay line L13 (L14). Finally, the output of the delay line L9 is connected to the multiplexer MX2B associated with one of the registers of the multiplier MT2 of the operative part, as well as to the multiplexer MX1B associated with the homologous register of the other multiplier MT1. Likewise, line out at
retard L10 est reliée à ces mêmes multiplexeurs MX1B et MX2B. delay L10 is connected to these same multiplexers MX1B and MX2B.
Le vecteur complexe Y résultant de ce produit de convolution dans le domaine fréquentiel, est stocké dans deux lignes à retard LI11 et L12 de dimension N+1 chacune. Plus précisément, la ligne à retard L 1 est destinée à stocker le vecteur YR représentant les parties réelles du vecteur complexe Y et la ligne à retard L12 est destinée à stocker le vecteur Yi représentant les parties imaginaires du vecteur complexe Y. A ces deux lignes à retard Lii et L12 sont respectivement associés deux additionneurs auxiliaires All et A12 ce qui va permettre d'effectuer les opérations de lecture, d'addition et The complex vector Y resulting from this convolution product in the frequency domain is stored in two delay lines LI11 and L12 of dimension N + 1 each. More precisely, the delay line L 1 is intended to store the vector YR representing the real parts of the complex vector Y and the delay line L12 is intended to store the vector Yi representing the imaginary parts of the complex vector Y. To these two lines with delay Lii and L12 are respectively associated two auxiliary adders All and A12 which will make it possible to carry out the operations of reading, addition and
d'écriture en un seul cycle d'horloge CLK. writing in one CLK clock cycle.
Plus précisément, l'une des entrée de chaque additionneur All (A12) est reliée à la sortie de la ligne à retard correspondante tandis que l'autre entrée de cet additionneur est reliée à la sortie d'un multiplexeur M20 (M21) à deux entrées. L'une des entrées du multiplexeur M20 (M21) est susceptible d'être forcée à zéro, et l'autre entrée de ce multiplexeur est reliée à la sortie de l'additionneur/ More precisely, one of the inputs of each adder All (A12) is connected to the output of the corresponding delay line while the other input of this adder is connected to the output of a two-multiplexer M20 (M21) starters. One of the inputs of the multiplexer M20 (M21) may be forced to zero, and the other input of this multiplexer is connected to the output of the adder /
soustracteur ADS de la partie opérative. ADS subtractor of the operative part.
Enfin, la sortie de chaque additionneur All, (A12) est reliée à l'une des entrées d'un multiplexeur MlI 1 (M12) dont l'autre entrée est reliée à la sortie de l'opérateur de transformée de Fourier. La sortie de chaque multiplexeur Mll (M12) est reliée à l'entrée de la ligne à Finally, the output of each adder All, (A12) is connected to one of the inputs of a MlI 1 multiplexer (M12), the other input of which is connected to the output of the Fourier transform operator. The output of each multiplexer Mll (M12) is connected to the input of the line at
retard correspondante L 11 (L 12).corresponding delay L 11 (L 12).
Pour le calcul du produit de convolution, l'entrée des multiplexeurs M9 et M10 est forcée à zéro et les lignes à retard L9 et L10O délivrent successivement leurs valeurs DO(L9) et DO(LlO) aux For the calculation of the convolution product, the input of the multiplexers M9 and M10 is forced to zero and the delay lines L9 and L10O successively deliver their values DO (L9) and DO (LlO) to
multiplexeurs de la partie opérative (Rot(L9), Rot(LlO) étape 161). multiplexers of the operative part (Rot (L9), Rot (L10) step 161).
Par ailleurs, tant que j reste inférieur à K-2 (organigramme figure 16) la paire de lignes à retard L7q et L8q, correspondant à la valeur de s en cours, délivre également successivement leurs contenus DO(L7q), DO(L8q) aux multiplexeurs de la partie opérative ce qui permet d'effectuer les multiplications complexes élémentaires du produit de convolution (étape 160). Lors de la dernière incrémentation de l'indice j, le bloc courant est pris en compte pour effectuer la multiplication complexe élémentaire du produit de convolution et de ce fait, ce sont cette fois-ci les lignes à retard L2 et L3 qui sont Furthermore, as long as j remains below K-2 (flow diagram in FIG. 16), the pair of delay lines L7q and L8q, corresponding to the value of s in progress, also successively delivers their contents DO (L7q), DO (L8q) to the multiplexers of the operative part which makes it possible to carry out the elementary complex multiplications of the convolution product (step 160). During the last incrementation of the index j, the current block is taken into account to perform the elementary complex multiplication of the convolution product and therefore, this time it is the delay lines L2 and L3 which are
reliées au multiplexeur de la partie opérative (étape 162, 163). connected to the multiplexer of the operative part (step 162, 163).
Le rebouclage sur elles-mêmes des lignes à retard L11 et L12 par l'intermédiaire des additionneurs A11 et A12 et des multiplexeurs Mll et M12 permet de déterminer et de sauvegarder les valeurs des The looping back on themselves of the delay lines L11 and L12 by means of the adders A11 and A12 and the multiplexers M11 and M12 makes it possible to determine and save the values of the
vecteurs YR et YI (Rot(Ll 1, YR), Rot(L12, YI), étapes 161, 163). vectors YR and YI (Rot (L1 1, YR), Rot (L12, YI), steps 161, 163).
Le calcul du produit de convolution YsR dans le domaine temporel (équation 1), illustré sur la figure 18 s'obtient en forçant la valeur zéro sur l'une des entrées de l'additionneur Al l et A12 par l'intermédiaire des multiplexeurs M20 et M21 et en rebouclant sur elles- mêmes les lignes à retard Lll à L12 de façon que celles-ci délivrent, après activation, leur contenu à l'opérateur de transformée de Fourier FFT par l'intermédiaire du multiplexeur MXT. Cet opérateur réalise donc une opération de transformée de Fourier inverse et le résultat est un vecteur de dimension 2N qui est stocké dans une ligne à retard L4 reliée à la sortie de l'opérateur FFT par The computation of the convolution product YsR in the time domain (equation 1), illustrated in FIG. 18, is obtained by forcing the value zero on one of the inputs of the adder Al l and A12 via the multiplexers M20 and M21 and by looping back on themselves the delay lines L11 to L12 so that they deliver, after activation, their content to the Fourier transform operator FFT via the multiplexer MXT. This operator therefore performs an inverse Fourier transform operation and the result is a vector of dimension 2N which is stored in a delay line L4 connected to the output of the operator FFT by
l'intermédiaire d'un multiplexeur M4. through an M4 multiplexer.
L'évaluation du signal d'erreur temporel e et du signal d'erreur complexe EsR (équation 2) sont illustrées particulièrement sur The evaluation of the time error signal e and of the complex error signal EsR (equation 2) are illustrated particularly on
les figures 19 à 23.Figures 19 to 23.
Le vecteur d'erreur e dans le domaine temporel est calculé selon l'organigramme de la figure 19. Plus précisémment, on calcule tout d'abord (étape 200) la différence de la sortie de la ligne à retard L5 et la ligne à retard L4, que l'on multiplie par la sortie de la ligne à retard L6 qui stocke les coefficients de la fenêtre f. En pratique, dans le cas présent, les coefficients de la fenêtre f sont égaux à 1. Cette valeur y ainsi calculée, est alors stockée (étape 201) dans la ligne à The error vector e in the time domain is calculated according to the flowchart of FIG. 19. More precisely, the difference of the output of the delay line L5 and the delay line is first calculated (step 200) L4, which is multiplied by the output of the delay line L6 which stores the coefficients of the window f. In practice, in the present case, the coefficients of the window f are equal to 1. This value y thus calculated, is then stored (step 201) in the line to
retard L4 par l'intermédiaire du multiplexeur M4 (RotL4,y). delay L4 via the multiplexer M4 (RotL4, y).
Afin d'effectuer le calcul de l'erreur par la synthèse WOLA il est prévu un bloc spécifique WL possédant une entrée E et deux sorties Si et S2 et donc la structure est plus particulièrement détaillée sur la figure 20. Ce bloc WL comporte une ligne à retard L17 de dimension N-R dont la sortie est reliée d'une part à la sortie S2 du bloc WL et d'autre part à l'entrée de la ligne à retard L17 par l'intermédiaire de l'une des entrées d'un multiplexeur M17. L'autre entrée de ce multiplexeur est reliée à l'entrée E du bloc WL. Une autre ligne à retard L18, de dimension R, est également associée à un multiplexeur M18. La sortie de la ligne à retard L18 est reliée à la sortie S i du bloc WL qui délivre le signal d'erreur temporel et, d'autre part, à l'entrée de la ligne à retard L18 par l'intermédiaire du multiplexeur L18. L'autre entrée du multiplexeur L18 est reliée à In order to perform the calculation of the error by the WOLA synthesis, a specific block WL is provided having an input E and two outputs Si and S2 and therefore the structure is more particularly detailed in FIG. 20. This block WL comprises a line delay L17 of dimension NR, the output of which is connected on the one hand to the output S2 of the block WL and on the other hand to the input of the delay line L17 via one of the inputs of a M17 multiplexer. The other input of this multiplexer is connected to input E of the WL block. Another delay line L18, of dimension R, is also associated with a multiplexer M18. The output of the delay line L18 is connected to the output S i of the block WL which delivers the time error signal and, on the other hand, to the input of the delay line L18 via the multiplexer L18 . The other input of the L18 multiplexer is connected to
l'entrée E du bloc WL.entry E of block WL.
La ligne à retard L4 est reliée en sortie, par l'intermédiaire d'un registre à décalage RDL (qui permet d'effectuer une division par a en effectuant Logcx décalages vers la droite, a étant une puissance de 2), à l'un des registres du multiplieur MT1 de la partie opérative, tandis que la sortie S2 du bloc WL est reliée au registre homologue de l'autre multiplieur MT2. Les deux autres registres des multiplieurs sont forcés à 1 par l'intermédiaire des multiplexeurs associés à cette partie opérative. Enfin, la sortie de l'additionneur/soustracteur ADS de The delay line L4 is connected at the output, via a shift register RDL (which makes it possible to carry out a division by a by carrying out Logcx shifts to the right, a being a power of 2), to the one of the registers of the multiplier MT1 of the operative part, while the output S2 of the block WL is connected to the homologous register of the other multiplier MT2. The other two registers of the multipliers are forced to 1 via the multiplexers associated with this operational part. Finally, the output of the ADS adder / subtractor from
la partie opérative est reliée à l'entrée E du bloc WL. the operative part is connected to input E of the WL block.
Les R valeurs de l'erreur sont synthétisées conformément à The R error values are synthesized in accordance with
l'organigramme de la figure 21.the flowchart in Figure 21.
Après N décalages de la ligne à retard L4 (étape 210) une valeur S est calculée. Cette valeur S est égale à la sortie de la ligne à retard L4 divisée par oc (étape 210) dans le cas o ox est égal à 1. Elle est égale à la sortie de la ligne à retard L4 divisée par ce augmentée de la valeur de la sortie de ligne à retard L17 dans le cas o c est After N shifts of the delay line L4 (step 210) a value S is calculated. This value S is equal to the output of the delay line L4 divided by oc (step 210) in the case where ox is equal to 1. It is equal to the output of the delay line L4 divided by this increased by the value of the delay line output L17 in the case oc is
différent de 1 (étape 212).different from 1 (step 212).
Cette valeur S est ensuite stockée dans la ligne à retard L18 (Rot(L18, S); étape 213). C'est cette ligne à retard L18, de dimension R This value S is then stored in the delay line L18 (Rot (L18, S); step 213). It is this delay line L18, dimension R
qui contient les R valeurs synthétisées de l'erreur. which contains the R synthesized values of the error.
Dans le cas o cx est supérieur à 2, la ligne à retard L26 est mise à jour, dans les étapes 215 et 217 par les valeurs de S calculées In the case where cx is greater than 2, the delay line L26 is updated, in steps 215 and 217 by the values of S calculated
respectivement aux étapes 214 et 216. in steps 214 and 216 respectively.
Si c est égal à 2, la ligne à retard L17 est mise à jour dans If c is equal to 2, the delay line L17 is updated in
l'étape 217 seulement.step 217 only.
Si c est égal à 1, toute la technique WOLA n'est pas utilisée, car dans ce cas, les R sorties de l'erreur ne sont autres que les R If c is equal to 1, all the WOLA technique is not used, because in this case, the R outputs of the error are none other than the R
dernières valeurs du vecteur e stockées dans L4. last values of the vector e stored in L4.
Le vecteur complexe EsR, de dimension N+1, est obtenu en effectuant une transformée de Fourier directe du vecteur d'erreur temporel e contenue dans la ligne à retard L4, conformément à la figure 23. On utilise à cet effet, pour sauvegarder les parties réelles et The complex vector EsR, of dimension N + 1, is obtained by performing a direct Fourier transform of the time error vector e contained in the delay line L4, in accordance with FIG. 23. For this purpose, we use to save the real parts and
imaginaires du vecteur complexe Es, les lignes à retard Ll 1 et L12. imaginary of the complex vector Es, the delay lines Ll 1 and L12.
L'adaptation des coefficients du filtre s'effectue conformément aux trois équations (6) ainsi qu'à l'organigramme illustré sur la figure 24. Cette adaptation est par ailleurs représentée, au niveau des interconnexions entre les différents éléments du The adaptation of the filter coefficients is carried out in accordance with the three equations (6) as well as with the flowchart illustrated in FIG. 24. This adaptation is also represented, at the level of the interconnections between the different elements of the
dispositif, sur les figures 25 et 26. device, in Figures 25 and 26.
Conformément à une des équations (6), il est nécessaire pour l'adaptation des coefficients du filtre, de déterminer le vecteur A. Ce vecteur A est un vecteur complexe dont les parties réelles et imaginaires sont respectivement stockées dans des lignes à retard L13 et L14 de dimension N+l chacune. Ces deux lignes à retard sont associées à deux multiplexeurs M13 et M14 respectivement connectés en entrée, d'une part à la sortie de l'additionneur/soustracteur ADS de la partie opérative, et d'autre part, à la sortie de l'opérateur de transformée de Fourier FFT. Par ailleurs, la sortie de la ligne à retard L13 est reliée d'une parte à l'opérateur de transformée de Fourier par l'intermédiaire du multiplexeur MXT et d'autre part à l'entrée de la ligne à retard L9 (destinée à stocker les parties réelles des coefficients du filtre), par l'intermédiaire de l'autre entrée du multiplexeur M9. De même, la sortie de la ligne à retard L14 est reliée d'une part à l'entrée de l'opérateur de transformée de Fourier FFT par l'intermédiaire du multiplexeur MXT et, d'autre part, à l'entrée de la ligne à retard L10, (destinée à stocker les parties imaginaires des coefficients du filtre), According to one of the equations (6), it is necessary for the adaptation of the coefficients of the filter, to determine the vector A. This vector A is a complex vector whose real and imaginary parts are respectively stored in delay lines L13 and L14 of dimension N + l each. These two delay lines are associated with two multiplexers M13 and M14 respectively connected at the input, on the one hand at the output of the ADS adder / subtractor from the operative part, and on the other hand, at the output of the operator. FFT Fourier transform. Furthermore, the output of the delay line L13 is connected on the other hand to the Fourier transform operator by means of the multiplexer MXT and on the other hand to the input of the delay line L9 (intended for store the real parts of the filter coefficients), via the other input of the multiplexer M9. Likewise, the output of the delay line L14 is connected on the one hand to the input of the Fourier transform operator FFT via the multiplexer MXT and, on the other hand, to the input of the delay line L10, (intended to store the imaginary parts of the coefficients of the filter),
par l'intermédiaire de l'autre entrée du multiplexeur M10. via the other input of the M10 multiplexer.
Dans l'organigramme de la figure 24, ZR désigne le vecteur des parties réelles du vecteur complexe A et ZI le vecteur des parties imaginaires du vecteur complexe A. Tant que j reste inférieur à K-2, ZR et ZI sont calculés conformément aux équations de l'étape 240. En pratique, les coefficients T (DO(L16)) sont délivrés par la ligne à retard L16. La multiplication complexe entre le vecteur d'entrée et le vecteur d'erreur complexe est obtenue à partir des valeurs délivrées par les lignes à retard Lll et L12 d'une part, et la paire de lignes à retard L7q et L8q sélectionnées en fonction de la valeur de s (d'une façon analogue au produit de convolution), d'autre part. Bien entendu, l'ensemble de cesmultiplications, additions ou soustractions est effectué en plusieurs cycles d'horloge avec éventuellement des rebouclages entre la sortie de l'additionneur/soustracteur ADS et l'entrée des multiplexeurs pour notamment prendre en compte le coefficient pg/2N qui est une constante. Les valeurs calculées ZR et ZI sont ensuite stockées dans les In the flow diagram of FIG. 24, ZR denotes the vector of the real parts of the complex vector A and ZI the vector of the imaginary parts of the complex vector A. As long as j remains less than K-2, ZR and ZI are calculated according to the equations from step 240. In practice, the coefficients T (DO (L16)) are delivered by the delay line L16. The complex multiplication between the input vector and the complex error vector is obtained from the values delivered by the delay lines L11 and L12 on the one hand, and the pair of delay lines L7q and L8q selected as a function of the value of s (analogously to the convolution product), on the other hand. Of course, all of these multiplications, additions or subtractions are carried out in several clock cycles with possibly loopbacks between the output of the ADS adder / subtractor and the input of the multiplexers in particular to take into account the coefficient pg / 2N which is a constant. The calculated values ZR and ZI are then stored in the
lignes à retard L13 et L14 (Rot(L13, ZR), Rot(L14, ZR), étape 241). delay lines L13 and L14 (Rot (L13, ZR), Rot (L14, ZR), step 241).
Lorsque la valeur de j correspond au bloc d'entrée courant, c'est cette fois-ci la sortie des lignes à retard L2 et L3 qui est prise en compte au When the value of j corresponds to the current input block, it is this time the output of the delay lines L2 and L3 which is taken into account at
lieu de celle des lignes à retard L7q et L8q (étape 242). instead of that of the delay lines L7q and L8q (step 242).
Dans le cas d'un algorithme avec contrainte, la mise à jour du coefficient du filtre est obtenue en effectuant une transformée de Fourier inverse du vecteur complexe ZR, ZI la réponse étant sauvegardée dans la ligne à retard L4 (étapes 243, 244). Ensuite, on met à zéro les N dernières valeurs de la ligne à retard L4 (étapes 243, 246) puis on effectue une transformée de Fourier directe du contenu de la ligne à retard L4 (étapes 247, 248). Le résultat de cette transformée de Fourier est à nouveau stocké dans les lignes à retard L13 et L14 In the case of a constrained algorithm, the updating of the filter coefficient is obtained by performing an inverse Fourier transform of the complex vector ZR, ZI the response being saved in the delay line L4 (steps 243, 244). Then, the last N values of the delay line L4 are set to zero (steps 243, 246) and then a direct Fourier transform is carried out of the content of the delay line L4 (steps 247, 248). The result of this Fourier transform is again stored in the delay lines L13 and L14
(étapes 249, 250).(steps 249, 250).
La mise à jour du coefficient du filtre est obtenue en ajoutant la valeur correspondante de A (stockée dans les lignes à retard L13 et L14) à l'ancienne valeur du coefficient du filtre. Pour ce faire, les sorties des lignes à retard L13 et L14 sont respectivement reliées à l'entrée des lignes à retard L9 et LO10 par l'intermédiaire des The update of the filter coefficient is obtained by adding the corresponding value of A (stored in delay lines L13 and L14) to the old value of the filter coefficient. To do this, the outputs of the delay lines L13 and L14 are respectively connected to the input of the delay lines L9 and LO10 via the
* additionneurs A9 et A10 permettant d'effectuer l'opération d'addition.* adders A9 and A10 allowing the addition operation to be carried out.
L'adaptation dans le cas avec contrainte est illustrée plus The adaptation in the constrained case is illustrated more
particulièrement sur la figure 26.particularly in Figure 26.
Dans le cas d'un algorithme sans contrainte, c'est-à-dire que lorsque la matrice F est égale à la matrice unité, l'adaptation des coefficients du filtre se fait en ajoutant à l'ancienne de valeur du coefficient, la valeur correspondante de la composante du vecteur A. Cependant dans le cas non contraint les deux lignes à retard L13 et L14 ne sont pas utilisées. L'adaptation des coefficients du filtre s'effectuent alors, après l'étape 240 (242), conformément aux formules Rot(L9, ZR+DO(L9)) et Rot(L10, ZI+DO(L10)). En d'autres termes, on élimine les deux lignes à retard L13 et L14 et la deuxième entrée du multiplexeur M9(M10) est alors directement reliée à la sortie de In the case of an algorithm without constraint, that is to say that when the matrix F is equal to the unit matrix, the adaptation of the coefficients of the filter is done by adding to the old value of the coefficient, the corresponding value of the component of the vector A. However in the unconstrained case the two delay lines L13 and L14 are not used. The adaptation of the filter coefficients is then carried out, after step 240 (242), in accordance with the formulas Rot (L9, ZR + DO (L9)) and Rot (L10, ZI + DO (L10)). In other words, the two delay lines L13 and L14 are eliminated and the second input of the multiplexer M9 (M10) is then directly connected to the output of
l'additionneur ADS.the ADS adder.
Le mode de réalisation qui vient d'être décrit permet l'implémentation de l'algorithme GMDFoa. Cependant l'invention, prévoyant l'utilisation d'une partie opérative unique et l'utilisation de plusieurs lignes à retard dynamiques peut s'adapter à d'autres algorithmes de filtrage fréquentiel par blocs, notamment l'algorithme UFLMS ("Unconstrained Frequency-Domain LMS"), ou l'algorithme The embodiment which has just been described allows the implementation of the GMDFoa algorithm. However, the invention, providing for the use of a single operative part and the use of several dynamic delay lines, can be adapted to other algorithms for block frequency filtering, in particular the UFLMS ("Unconstrained Frequency-") algorithm. Domain LMS "), or the algorithm
FELMS ("Fast Exact LMS"), connus de l'homme du métier. FELMS ("Fast Exact LMS"), known to those skilled in the art.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9409634A FR2723495B1 (en) | 1994-08-03 | 1994-08-03 | DEVICE FOR SUPPRESSING ECHO BETWEEN TWO COUPLED TRANSMISSION CHANNELS, PARTICULARLY IN HANDS-FREE TELEPHONY |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9409634A FR2723495B1 (en) | 1994-08-03 | 1994-08-03 | DEVICE FOR SUPPRESSING ECHO BETWEEN TWO COUPLED TRANSMISSION CHANNELS, PARTICULARLY IN HANDS-FREE TELEPHONY |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2723495A1 true FR2723495A1 (en) | 1996-02-09 |
FR2723495B1 FR2723495B1 (en) | 1997-01-31 |
Family
ID=9466037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9409634A Expired - Fee Related FR2723495B1 (en) | 1994-08-03 | 1994-08-03 | DEVICE FOR SUPPRESSING ECHO BETWEEN TWO COUPLED TRANSMISSION CHANNELS, PARTICULARLY IN HANDS-FREE TELEPHONY |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2723495B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109309764B (en) * | 2017-07-28 | 2021-09-03 | 北京搜狗科技发展有限公司 | Audio data processing method and device, electronic equipment and storage medium |
-
1994
- 1994-08-03 FR FR9409634A patent/FR2723495B1/en not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
F. MALOBERTI ET AL.: "ASIC-Based Acoustic Echo-Canceller Board for VME Bus", EUROPEAN TRANSACTIONS ON TELECOMMUNICATIONS AND RELATED TECHNOLOGIES, vol. 3, no. 2, March 1992 (1992-03-01), MILANO IT, pages 125 - 136, XP000291688 * |
R. RONCELLA ET AL.: "Dedicated systolic VLSI circuit as adaptive filter for acoustic echo canceller", 5-TH ANNUAL EUROPEAN COMPUTER CONFERENCE - ADVANCED COMPUTER TECHNOLOGY, RELIABLE SYSTEMS AND APPLICATIONS - PROCEEDINGS, 3 May 1991 (1991-05-03), BOLOGNA, ITALY, pages 393 - 397, XP000245654 * |
WENBIN HSU ET AL.: "An Acoustic Echo Canceler", IEEE JOURNAL OF SOLID-STATE CIRCUITS, vol. 24, no. 6, December 1989 (1989-12-01), NEW YORK US, pages 1639 - 1646, XP000100496 * |
Also Published As
Publication number | Publication date |
---|---|
FR2723495B1 (en) | 1997-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0942530B1 (en) | Programmable processor circuit comprising a reconfigurable memory for the embodiment of a digital filter | |
EP0341769B1 (en) | Image interpolating device with movement estimation and compensation, and television standards conversion system made by the use of such a device | |
FR2493078A1 (en) | DIGITAL SYNTHESIS CIRCUIT OF AN OUTPUT IMPEDANCE, IN PARTICULAR AN IMPEDANCE OF TELEPHONE LINE TERMINATION | |
FR2493082A1 (en) | AUTOMATIC EQUALIZER SYNCHRONIZING RECURSIVE DIGITAL FILTERS AND CORRESPONDING EQUALIZATION METHOD FOR SUBSCRIBER TELEPHONE LINE | |
FR2588680A1 (en) | DEVICE FOR CALCULATING A DISCRETE FOURIER TRANSFORMER, AND ITS APPLICATION TO PULSE COMPRESSION IN A RADAR SYSTEM | |
EP0298002A1 (en) | Transposition memory for a data processing circuit | |
EP0692883B1 (en) | Blind equalisation method, and its application to speech recognition | |
EP0926823A1 (en) | Programmable circuit for the realisation of a digital filter | |
EP0924627B1 (en) | Pipelined fast Fourier transform processor | |
FR2747528A1 (en) | STRUCTURE OF DIGITAL FILTER BENCH DEVICE AND ITS OPERATING METHOD | |
FR2723495A1 (en) | Echo suppression device for two coupled transmission channels | |
EP0022513A1 (en) | Device for calculating a bidimensional discrete Fourier transform | |
EP0970562B1 (en) | Fractional delay digital filter | |
WO1995004963A1 (en) | Device for electronically calculating a fourier transform and method of minimizing the size of internal data paths within such a device | |
FR2772951A1 (en) | METHOD FOR CONTROLLING A RADIX 4 STAGE OF AN ELECTROONIC DEVICE FOR CALCULATING A FOURIER TRANSFORM WITH A PIPELINE ARCHITECTURE, AND CORRESPONDING DEVICE | |
EP0327445A1 (en) | Generalised digital multiplier, and digital filter using this multiplier | |
EP0615374B1 (en) | Process and apparatus for echo processing between two mutually coupled transmission paths | |
EP1155497B1 (en) | Antenna treatment method and system | |
FR2951835A1 (en) | DEVICE FOR CORRECTING SET SIGNALS AND GRADIENT GENERATION SYSTEM COMPRISING SUCH A DEVICE | |
EP0947913A1 (en) | Improved method of implementing integer division | |
WO1993017508A1 (en) | Filtering method and device for reducing digital audio signal pre-echoes | |
FR2545629A1 (en) | CALCULATION DEVICE FOR QUICK FOURIER TRANSFORMATION | |
EP0586460B1 (en) | Method for forming a plurality of sonar channels and device for implementing such method | |
FR2838582A1 (en) | Code division multiple access spread spectrum direct sequence detection having series cell network with forward/input/output accumulation and input/returns and diagonal cell operations/coefficient loading mechanisms | |
EP0489885A1 (en) | Neurocomputing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |