CH633922A5 - Digital filter and use thereof in a voice-synthesis device - Google Patents

Digital filter and use thereof in a voice-synthesis device Download PDF

Info

Publication number
CH633922A5
CH633922A5 CH666378A CH666378A CH633922A5 CH 633922 A5 CH633922 A5 CH 633922A5 CH 666378 A CH666378 A CH 666378A CH 666378 A CH666378 A CH 666378A CH 633922 A5 CH633922 A5 CH 633922A5
Authority
CH
Switzerland
Prior art keywords
circuit
memory
multiplier
digital
digital filter
Prior art date
Application number
CH666378A
Other languages
French (fr)
Inventor
George L Brantingham
Richard H Jun Wiggins
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CH633922A5 publication Critical patent/CH633922A5/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0283Filters characterised by the filter structure
    • H03H17/0285Ladder or lattice filters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/04Recursive filters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Description

La présente invention concerne un filtre digital fonctionnant 20 en réponse à un signal d'excitation digital et à une pluralité de valeurs digitales représentant des coefficients de filtre, comprenant une première mémoire pour emmagasiner une pluralité de dites valeurs digitales, un circuit multiplicateur, des premiers moyens pour coupler la dite première mémoire et le dit circuit 25 multiplicateur, un circuit arithmétique ayant une entrée couplée au dit circuit multiplicateur, une seconde mémoire pour emmagasiner les informations sortant du dit circuit arithmétique et des seconds moyens pour coupler l'information de sortie de la dite seconde mémoire à une entrée du dit circuit multiplicateur. 30 Différentes méthodes ont couramment été utilisées et expérimentées en ce qui concerne la digitalisation de la voix humaine et sa synthèse à partir de signaux digitaux. The present invention relates to a digital filter operating in response to a digital excitation signal and to a plurality of digital values representing filter coefficients, comprising a first memory for storing a plurality of said digital values, a multiplier circuit, first means for coupling said first memory and said multiplier circuit, an arithmetic circuit having an input coupled to said multiplier circuit, a second memory for storing the information leaving said arithmetic circuit and second means for coupling output information from said second memory at an input of said multiplier circuit. 30 Different methods have been commonly used and tested with regard to the digitization of the human voice and its synthesis from digital signals.

On connaît par exemple la modulation de code d'impulsions (PCM), la modulation de code d'impulsions différentielle, le 35 codage prédictif adaptif, la modulation delta, les canaux «Vocoders», les «Vocoders cepstrum», les «Vocoder à formants», les «Vocoder excités par la voix», de même que les méthodes de codage prédictif linéaire de digitalisation de la parole. Ces méthodes sont brièvement expliquées dans l'article «Voice signais : 40 bit by bit» en pages 28 à 34 dans le numéro d'octobre 1973 de «IEEE Spectrum». For example, pulse code modulation (PCM), differential pulse code modulation, adaptive predictive coding, delta modulation, “Vocoders” channels, “Vocoders cepstrum”, “Vocoder to formants ”,“ Voice-excited Vocoders ”, as well as linear predictive coding methods for speech digitization. These methods are briefly explained in the article "Voice signais: 40 bit by bit" on pages 28 to 34 in the October 1973 issue of "IEEE Spectrum".

Les simulations par ordinateur de différentes méthodes de digitalisation de la parole ont généralement montré que les méthodes prédictives linéaires de digitalisation de la parole pou-45 vaient produire des paroles reproduisant la voix avec plus de naturel que les systèmes «Vocoder» antérieurement connus (par exemple les canaux Vocoders) et ceci avec ime cadence de données plus faible que celle des systèmes de modulation de code d'impulsions. Comme on le verra, le système prédictif linéaire 50 peut avantageusement faire unsage d'un filtre digital à multi-étages, et le timbre de la parole résultante engendrée est d'autant plus naturel que le nombre d'étages du filtre digital est élevé. Computer simulations of different speech digitization methods have generally shown that linear predictive speech digitization methods can produce speech reproducing speech with more naturalness than previously known "Vocoder" systems (eg Vocoders channels) and this with a lower data rate than that of pulse code modulation systems. As will be seen, the linear predictive system 50 can advantageously make use of a multi-stage digital filter, and the timbre of the resulting speech generated is all the more natural the higher the number of stages of the digital filter.

Les premières applications des méthodes prédictives li-55 néaires pour la synthèse digitale des paroles sont intervenues au plus tôt dans les années 1960 et au plus tard dans les années 1970. Une analyse historique de certains de ces travaux préliminaires est présentée dans l'article de Markel et Gray, «Linear Prédiction of Speech» (édition Springer, New York, 1976), 60 pages 18-20. The first applications of linear predictive methods for digital speech synthesis took place at the earliest in the 1960s and at the latest in the 1970s. A historical analysis of some of these preliminary works is presented in the article by Markel and Gray, "Linear Prediction of Speech" (Springer edition, New York, 1976), 60 pages 18-20.

Le filtre digital à multi-étages utilisé dans le codage prédictif linéaire est de préférence un filtre «tout pôle» dont toutes les racines interviennent de préférence à l'intérieur du cercle unitaire Izl = 1, la fonction mathématique de transfert du filtre 65 étant exprimée en tant que «transformée Z». Le filtre lui-même peut prendre la forme d'un filtre en grille du type représenté aux fig. 2a et 2b ; toutefois, d'autres filtres, et en particulier les filtres en mailles et les filtres en mailles normalisées, de même que The multi-stage digital filter used in linear predictive coding is preferably an “all pole” filter, all of whose roots preferably intervene inside the unitary circle Izl = 1, the mathematical transfer function of the filter 65 being expressed. as "transform Z". The filter itself can take the form of a grid filter of the type shown in Figs. 2a and 2b; however, other filters, and in particular mesh filters and standard mesh filters, as well as

3 3

633 922 633,922

d'autres types de filtres sont également connus pour un tel usage, comme cela est indiqué au chapitre 5 de l'article «Linear Prédiction of Speech». Comme on le verra, chaque étage du filtre en grille requiert deux opérations d'addition, deux opérations de multiplication et une opération de retard. Le filtre est 5 excité soit par une source digitale périodique pour les sons de voix, soit par une source digitale aléatoire pour les sons autres que les sons de voix. Les coefficients de filtre sont de préférence réadaptés toutes les quelques millisecondes, tandis que le signal d'excitation est réadapté à une cadence plus rapide. 10 other types of filters are also known for such use, as indicated in chapter 5 of the article “Linear Prediction of Speech”. As will be seen, each stage of the grid filter requires two addition operations, two multiplication operations and one delay operation. The filter is excited either by a periodic digital source for voice sounds, or by a random digital source for sounds other than voice sounds. The filter coefficients are preferably readjusted every few milliseconds, while the excitation signal is readapted at a faster rate. 10

Dans l'art antérieur, un réseau de filtre en grille a été réalisé par une programmation appropriée d'ordinateurs digitaux de grandes dimensions. La programmation «Fortran» d'un ordinateur, destinée à la synthèse de la parole, a été par exemple présentée dans l'article précédemment mentionné «Linear Pre- 15 diction of Speech». Etant donné la cadence de données du signal d'excitation et le grand nombre d'opérations arithmétiques, à savoir deux multiplications et deux additions pour chaque étage du filtre multi-étages, et étant donné le fait qu'une augmentation du nombre des étages de ce filtre améliore le naturel de la 20 parole générée, on a utilisé des ordinateurs digitaux extrêmement rapides dans la plupart des essais de synthèse de la parole effectués jusqu'à maintenant. Toutefois, le Dr. J.G. Dunn et MM. J.R. Cowan et AJ. Russo, de la division des communications de défence de la maison ITT, à Nutley, New Yersey, ont 25 essayé de réaliser un filtre multiétages utilisant les techniques de circuit intégré MOS à grande échelle. Ils ont tenté une approche utilisant un traitement multiple, dans laquelle de nombreuses unités arithmétiques étaient mises simultanément en fonction; toutefois, cette technique requiert qu'un très grand nombre de 30 circuits multiplicateurs et additionneurs soit établi sur une plaquette semi-conductrice. Certaines considérations concernant les travaux du Dr. Dunn et de ses coéquipiers sont énoncées dans un article intitulé «Progress in the Development of Digital Vocoder Employing an Itakura Adaptive Predictor», publié 35 dans «Télécommunications Conference Records, I.E.E.E., no 73» (1973). Le remplacement de la structure de grille par de nombreux additionneurs et multiplicateurs aboutit à une plaquette semi-conductrice de circuit intégré fort complexe et de grandes dimensions. 4o In the prior art, a grid filter network has been produced by appropriate programming of large digital computers. The "Fortran" programming of a computer, intended for speech synthesis, was for example presented in the previously mentioned article "Linear Prediction of Speech". Given the data rate of the excitation signal and the large number of arithmetic operations, namely two multiplications and two additions for each stage of the multi-stage filter, and given that an increase in the number of stages of this filter improves the naturalness of the generated speech, extremely fast digital computers have been used in most of the speech synthesis tests carried out to date. However, Dr. J.G. Dunn and MM. J.R. Cowan and AJ. Russo, of ITT's defense communications division, in Nutley, New Yersey, tried to make a multistage filter using large-scale MOS integrated circuit techniques. They attempted an approach using multiple processing, in which many arithmetic units were operated simultaneously; however, this technique requires that a very large number of 30 multiplier and adder circuits be established on a semiconductor wafer. Some considerations regarding the work of Dr. Dunn and his teammates are set out in an article entitled "Progress in the Development of Digital Vocoder Employing an Itakura Adaptive Predictor", published 35 in "Telecommunications Conference Records, IEEE, no 73" (1973) . The replacement of the grid structure by numerous adders and multipliers results in a very complex and large integrated circuit semiconductor wafer. 4o

En tant que document illustrant l'art antérieur, il y a lieu de citer aussi les exposés de brevets USA nos 3 662 115, As a document illustrating the prior art, mention should also be made of the US patent disclosures Nos. 3,662,115,

3 908 085,3 975 587,4 022 974,4 052 563,4 058 676. 3,908,085.3,975,587.4,022,974.4,052,563.4,058,676.

Le but de la présente invention est de réaliser un filtre digital particulièrement bien adapté à la génération de formes "5 d'onde complexes, telle que celle de la parole humaine. The object of the present invention is to provide a digital filter particularly well suited to the generation of complex waveforms, such as that of human speech.

Conformément à l'invention, ce but est atteint par la présence des caractères énoncés dans la première revendication. According to the invention, this object is achieved by the presence of the characters set out in the first claim.

Les revendications dépendantes définissent des formes d'exécution particulièrement avantageuses. 50 The dependent claims define particularly advantageous embodiments. 50

On note que des formes d'exécution du filtre digital permettent sa réalisation sur une seule plaquette de semi-conducteur. Note that embodiments of the digital filter allow it to be produced on a single semiconductor wafer.

Par ailleurs, dans certains formes d'exécution avantageuses, les composants du filtre sont réalisés à l'aide d'éléments MOS. Dans ce cas, il est possible d'obtenir un filtre MOS de dimen- 55 sions plus petites que ceux qui étaient connus de l'art antérieur. Furthermore, in certain advantageous embodiments, the components of the filter are produced using MOS elements. In this case, it is possible to obtain an MOS filter of dimensions 55 smaller than those which were known in the prior art.

Selon son principe général, le filtre digital comprend un multiplicateur dont une entrée reçoit les coefficients de filtre depuis une mémoire. According to its general principle, the digital filter comprises a multiplier, one input of which receives the filter coefficients from a memory.

Dans certaines formes d'exécution avantageuses proposées, 6" le signal de sortie du multiplicateur est appliqué à une entrée d'un additionneur/soustracteur dont le signal de sortie est appliqué à un circuit de retard court, dont le signal de sortie est appliqué à un circuit de retard long. Avantageusement, les circuits de retard court et long comprennent respectivement des 65 registres à décalage de courte et de longue envergures. In certain advantageous embodiments proposed, 6 "the output signal of the multiplier is applied to an input of an adder / subtractor whose output signal is applied to a short delay circuit, whose output signal is applied to a long delay circuit Advantageously, the short and long delay circuits respectively comprise 65 short and long span shift registers.

Le dessin annexé illustre, à titre d'exemple, des formes d'exécution de l'objet de l'invention; dans ce dessin: The accompanying drawing illustrates, by way of example, embodiments of the subject of the invention; in this drawing:

la fig. la est un schéma-bloc des éléments de base d'un synthétiseur de voix, fig. la is a block diagram of the basic elements of a voice synthesizer,

la fig. lb est un diagramme représentant la présence des signaux d'excitation et de Kn coefficient, en fonction du temps, fig. lb is a diagram representing the presence of the excitation signals and of Kn coefficient, as a function of time,

les fig. 2a et 2b représentent un filtre en grille typique, du type utilisé dans les circuits synthétiseurs de paroles, fig. 2a and 2b represent a typical grid filter, of the type used in speech synthesizer circuits,

la fig. 3 est un diagramme représentant la disposition dans le temps des phases de génération des résultats intermédiaires dans un filtre en grille ayant N étages, fig. 3 is a diagram representing the arrangement over time of the phases of generation of the intermediate results in a grid filter having N stages,

la fig. 4 est un diagramme représentant la disposition dans le temps des phases de génération des résultats intermédiaires dans un filtre en grille ayant dix étages, fig. 4 is a diagram representing the arrangement over time of the phases of generation of the intermediate results in a grid filter having ten stages,

la fig. 5 est un schéma général d'une forme d'exécution d'un filtre digital équivalent à un filtre en grille, fig. 5 is a general diagram of an embodiment of a digital filter equivalent to a grid filter,

la fig. 6 est un tableau contenant la liste des différents résultats intermédiaires disponibles dans le filtre de la fig. 5, en différentes phases d'un cycle, fig. 6 is a table containing the list of the various intermediate results available in the filter of FIG. 5, in different phases of a cycle,

la fig. 7 est un schéma général d'une autre forme d'exécution d'un filtre digital équivalant à un filtre en grille, fig. 7 is a general diagram of another embodiment of a digital filter equivalent to a grid filter,

la fig. 8 est un tableau donnant la liste des différents résultats intermédiaires disponibles dans le filtre de la fig. 7, en différentes phases du cycle, fig. 8 is a table giving the list of the various intermediate results available in the filter of FIG. 7, in different phases of the cycle,

la fig. 9 est un schéma du multiplicateur en réseau utilisé dans le filtre digital, fig. 9 is a diagram of the network multiplier used in the digital filter,

les fig. 10a-10d sont des schémas logiques des différents éléments représentés à la fig. 9 et la fig. 11 représente une forme généralisée de filtre digital. La fig. 1 représente, sous forme de schéma-bloc, les éléments de base d'un système synthétiseur de voix. Ce circuit synthétiseur de voix comprend un filtre en grille à multi-étages 10, qui filtre digitalement un signal d'excitation 11, à l'aide de coefficients de filtre KrKn. Le filtre en grille 10 émet à sa sortie un signal digital 12 qui est converti en un signal de forme analogique par un convertiseur «digital/analoqique» 13. Le signal de sortie de ce convertisseur 13 est transformé en sons audibles par un haut-parleur 14 ou par quelque autre moyen de conversion d'un signal électrique en sons. Il est bien entendu qu'un amplificateur peut être utilisé entre le convertisseur 13 et le haut-parleur 14, pour amplifier le signal de sortie analogique du convertisseur 13 jusqu'au niveau requis par le haut-parleur 14. fig. 10a-10d are logic diagrams of the various elements represented in FIG. 9 and fig. 11 shows a generalized form of digital filter. Fig. 1 shows, in the form of a block diagram, the basic elements of a voice synthesizer system. This voice synthesizer circuit includes a multi-stage grid filter 10, which digitally filters an excitation signal 11, using filter coefficients KrKn. The grid filter 10 emits at its output a digital signal 12 which is converted into an analog signal by a “digital / analog” converter 13. The output signal of this converter 13 is transformed into audible sounds by a loudspeaker 14 or by some other means of converting an electrical signal into sounds. It is understood that an amplifier can be used between the converter 13 and the loudspeaker 14, to amplify the analog output signal of the converter 13 to the level required by the loudspeaker 14.

Le signal d'excitation (U) 11 est en général prélevé d'une de deux sources dont l'une est une source «de voix» 15 et dont l'autre est une source de «signaux différents d'une voix» 16. Un commutateur digital 17 détermine laquelle de ces deux sources est utilisée. La source des signaux «de voix» 15 est utilisée lorsqu'il s'agit d'engendrer les sons pour lesquels les cordes vocales humaines (ou plis vocaux) vibrent durant la parole, comme par exemple le son-du premier E dans «Eve». La cadence à laquelle les plis vocaux s'ouvrent et se ferment détermine le «pas» du son engendré. La source «de signal différent d'une voix» 16 est utilisée lorsqu'il s'agit d'engendrer des sons tels que le F dans «fiche» pour lesquels les plis vocaux sont maintenus ouverts tandis que de l'air est forcé d'y passer jusqu'aux endroits de formation vocale. Ainsi, le fait que l'on utilise l'une des sources particulières 15 ou 16 dépend du genre de sons que l'on veut engendrer. Typiquement, la source de «signal différent d'une voix» 16 engendre un signal digital aléatoire tandis que la source de «signal de voix» 15 engendre un signal digital périodique. Les données digitales délivrées par la source «de voix» 15 et par la source «différente d'une voix» 16 peuvent naturellement être emmagasinées en une ou plusieurs mémoires à semi-conducteurs du type «à lecture seulement» «ROM». De préférence, toutefois, ces données sont emmagasinées dans un format en code, par exemple en tant que pas ou en un code actionnant un générateur aléatoire de nombres. Ainsi, ces données sont usuellement d'abord décodées avant que la donnée aléatoire ou périodique (par exemple signal V) soit délivrée au filtre 10. Naturellement, selon la manière dont ces données sont emmagasi- The excitation signal (U) 11 is generally taken from one of two sources, one of which is a “voice” source 15 and the other of which is a source of “different signals of a voice” 16. A digital switch 17 determines which of these two sources is used. The source of the “voice” signals 15 is used when it comes to generating the sounds for which the human vocal cords (or vocal folds) vibrate during speech, such as for example the sound of the first E in “Eve " The rate at which the vocal folds open and close determines the "pitch" of the generated sound. The source "of signal different from a voice" 16 is used when it comes to generating sounds such as F in "file" for which the vocal folds are kept open while air is forced d '' go there to the places of voice training. Thus, the fact that one uses one of the particular sources 15 or 16 depends on the kind of sounds that one wants to generate. Typically, the "different voice signal" source 16 generates a random digital signal while the "voice signal" source 15 generates a periodic digital signal. The digital data delivered by the “voice” source 15 and by the “different from a voice” source 16 can naturally be stored in one or more semiconductor memories of the “read only” “ROM” type. Preferably, however, this data is stored in a code format, for example as a step or in a code operating a random number generator. Thus, these data are usually first decoded before the random or periodic data (for example signal V) is delivered to the filter 10. Naturally, depending on the way in which these data are stored.

633 922 633,922

4 4

nées, il peut n'être pas nécessaire d'avoir le commutateur 17. des coefficients de filtre, on pourra se référer à l'article précé- born, it may not be necessary to have the switch 17. filter coefficients, we can refer to the previous article

Lorsque les données sont emmagasinées en tant que pas ou en demment mentionné «Linear Prédiction of Speech». When the data is stored as a step or as mentioned "Linear Prediction of Speech".

code actionnant un générateur aléatoire de nombres, un facteur Ainsi, dans cette forme d'exécution, la cadence des données d'amplification A est de préférence également mémorisé dans la délivrées au convertisseur 13 sera de 10 KHz et la limite supé- code activating a random number generator, a factor Thus, in this embodiment, the rate of the amplification data A is preferably also stored in the output to the converter 13 will be 10 KHz and the upper limit

mémoire ROM. Le facteur d'amplification A ajuste le signal s rieure de fréquence de la parole synthétisée que l'on obtiendra d'amplitude constante V de la source «de voix» 15 ou de la du convertisseur 10 sera de 5 KHz. Naturellement, la cadence source «de signaux différents d'une voix» 16 pour produire le des données peut être modifiée, si désirée, ceci étant affaire de signal d'excitation V voulu pour le filtre 10. choix au gré du constructeur. Par exemple, une cadence donnée ROM memory. The amplification factor A adjusts the lower frequency signal of the synthesized speech which will be obtained with constant amplitude V from the “voice” source 15 or from that of the converter 10 will be 5 kHz. Naturally, the source cadence “of signals different from a voice” 16 for producing the data can be modified, if desired, this being a matter of excitation signal V wanted for the filter 10. choice at the discretion of the manufacturer. For example, a given cadence

Le signal d'excitation 11, qui en général reprend ou imite les de 8 KHz aura pour résultat une synthétisation ayant une fréfonctions des élis vocaux, est modifié par le filtre en grille 10. io quence maximum de réponse de 4 KHz. The excitation signal 11, which in general takes up or imitates those of 8 KHz will result in a synthesis having a fronfunctions of the vocal electis, is modified by the grid filter 10. Maximum response frequency of 4 KHz.

Celui-ci contrefait ou imite généralement la fonction des or- On considérera maintenant les fig. 2a et 2b qui montrent le ganes vocaux qui filtrent les sons engendrés dans les plis vocaux. schéma-bloc du filtre en grille 10. Sur la fig. 2a, ce filtre est This counterfeits or generally imitates the function of the golds. We will now consider figs. 2a and 2b which show the vocal ganes which filter the sounds generated in the vocal folds. block diagram of the grid filter 10. In fig. 2a, this filter is

Les coefficients de filtres Kj - Kn reflètent la forme (c'est-à-dire montré comme comprenant dix étages, Sj-S^, chacun de ceux- The filter coefficients Kj - Kn reflect the shape (i.e. shown as comprising ten stages, Sj-S ^, each of these

les résonances) des voies vocales durant l'émission de la parole. ci étant équivalent à l'étage représenté à la fig. 2b. Pour la the resonances) of the vocal tracts during the emission of speech. ci being equivalent to the stage represented in fig. 2b. For the

En conséquence, les coefficients Kt - Kn sont périodiquement is commodité de l'illustration, seuls trois étages sont représentés réadaptés pour suivre les changements de forme des voies vo- en détail à la fig. 2a. Le signal d'entrée de l'étage S10 est le signal cales et il peuvent être emmagasinés, en même temps que les d'excitation 11, et le signal de sortie 12 de l'étage Sj est appliqué Consequently, the coefficients Kt - Kn are periodically convenience of illustration, only three stages are shown readjusted to follow the shape changes of the channels - in detail in FIG. 2a. The input signal of stage S10 is the shim signal and they can be stored, at the same time as the excitation 11, and the output signal 12 of stage Sj is applied

données des sources de signaux de voix et de signaux différents au convertisseur 13 (fig. la). On comprendra bien que le signal d'une voix, dans une mémoire du type «de lecture seulement» de sortie 27 de l'étage S10 n'est pas utilisé et que l'on pourrait, si data from sources of voice signals and different signals to converter 13 (fig. la). It will be understood that the signal of a voice, in a memory of the “read only” type of output 27 of stage S10 is not used and that one could, if

(ROM). 20 on le voulait, supprimer l'additionneur 27a et le multiplicateur (ROM). 20 we wanted, delete the adder 27a and the multiplier

La fig. lb montre, sous forme graphique, les. sign aux de 27b dans cet étage. Fig. lb shows, in graphic form, the. sign to 27b in this floor.

sortie de la source de signal «différent d'une voix» 16 et de la source de signal «de voix» 15, en fonction du temps. Ici la ^8- 2b montre un unique étage Sn du filtre en grille 10. output of the signal source "different from a voice" 16 and of the signal source "voice" 15, as a function of time. Here the ^ 8-2b shows a single stage Sn of the grid filter 10.

source de signal «de voix» 15 est représentée comme émettant Un signal d entrée de cet étage, Yn+1 (i), est appliqué en tant une impulsion se répétant avec une période de 5 ms, ce qui 25 1ue d entrée à un additionneur 26 dont le signal de sortie correspond à une fréquence de 200 Hz. Ce «pas» correspond au es* (i)- L autre signal d entrée de 1 additionneur 26, qui est son de voix dans le domaine de la voix de nombreuses femmes. appliqué à cet additionneur en tant que signal d entrée de sous- “voice” signal source 15 is shown as emitting An input signal from this stage, Yn + 1 (i), is applied as a repeating pulse with a period of 5 ms, which causes 25 1ue of input to a adder 26 whose output signal corresponds to a frequency of 200 Hz. This "step" corresponds to es * (i) - The other input signal from 1 adder 26, which is the sound of voice in the domain of many voices women. applied to this adder as a sub input signal

Etant donné que les hommes ont typiquement une voix ayant traction, est tiré de la sortie d un multiplicateur 19 qui multiplie une fréquence de «pas» plus basse, une source de voix mascu- Par coefficient Kn le signal de sortie bn (i—1) d un circuit de line émettrait des impulsions moins fréquentes. 30 retard 22. Le signal de sortie de ce circuit de retard 22 est Since men typically have a pulling voice, is drawn from the output of a multiplier 19 which multiplies a lower "step" frequency, a source of mascu voice- By coefficient Kn the output signal bn (i — 1 ) d a line circuit would emit less frequent pulses. 30 delay 22. The output signal of this delay circuit 22 is

La source «de voix» 15 est montrée comme émettant des également appliqué à un additionneur 21 qui reçoit également, The “voice” source 15 is shown as emitting des also applied to an adder 21 which also receives,

impulsions à une période correspondant au «pas» de la voix sur son au*re entrée, Ie signal de sortie d un multiplicateur 20. pulses at a period corresponding to the "step" of the voice on its input *, the output signal of a multiplier 20.

d'une personne. Il est bien entendu toutefois que ces impulsions Çe dernier multiplie par le coefficient K„ le signal de sortie Yn périodiques peuvent être remplacées par d'autres fonctions pé- ® de i additionneur 26. Le signal de sortie de 1 additionneur 21 of somebody. It is understood, however, that these pulses Çe latter multiplies by the coefficient K „the periodic output signal Yn can be replaced by other functions p - of adder 26. The output signal of 1 adder 21

riodiques, comme par exemple celle d'une onde sinusoïdale 35 est b_n+1 (0- Comme on peut le voir, les indices suivant les dési- periodic, like for example that of a sine wave 35 is b_n + 1 (0- As we can see, the indices according to the desi-

amortie (decaying sin wave) ou encore la fonction dénommée gnations de données Y et b définissent 1 étage dans lequel cette damped (decaying sin wave) or the function called data generations Y and b define 1 stage in which this

«chirp function» qui repart avec une période en relation avec le donnée est utilisée, tandis que le nombre qui apparaît ensuite "Chirp function" which starts with a period related to the data is used, while the number which then appears

«pas». La source 16 de «signal différent d'une voix» est repré- entre parenthèses indique le rang du cycle dans lequel ces don- "not". The source 16 of “signal different from a voice” is represented in parentheses indicates the rank of the cycle in which these data

sentée comme émettant un signal aléatoire. nées sont engendrées. Le circuit de retard 22 fournit une fonc- felt to be emitting a random signal. born are born. The delay circuit 22 provides a function

Les coefficients pour le filtre en grille 10 sont montrés à la 40 ^on de retard d un intervalle de temps de cycle, tel qu il peut fig. lb comme étant ré-établis toutes les cinq ms. Il est bien clair ®tre obtenu par un registre à décalage, par exemple. Une fois au toutefois que la cadence à laquelle les coefficients du filtre en cours de chac3ue intervalle de cycle, un nouveau point de donnée grille 10 sont ré-établis est une question de choix laissé au cons- ^ (i) ou Yn (i) est délivré à 1 étage S10 en tant que signal tracteur. Si les coefficients sont réajustés plus fréquemment, le d excitation 11. Ainsi, pour chaque étage du filtre en grille 10, The coefficients for the grid filter 10 are shown at the 40 ^ on delay of a cycle time interval, as shown in fig. lb as being re-established every five ms. It is very clear ®tre obtained by a shift register, for example. Once, however, the rate at which the coefficients of the filter during each cycle interval, a new grid data point 10 are re-established is a matter of choice left to cons- (i) or Yn (i) is delivered to 1 stage S10 as a tractor signal. If the coefficients are readjusted more frequently, the excitation 11. Thus, for each stage of the grid filter 10,

filtre en grille 10 modèlera la dynamique de l'appareil vocal « deux multiplications et deux additions doivent être effectuées d'une manière correspondant encore mieux à la réalité, mais durant chaque cYclf > cf qui signifie que, en admettant la cadence cela sera au prix d'une plus grande quantité de données à emma- de données indiquées à la fig. lb, ces quatre opérations doivent gasiner dans la mémoire ROM susmentionnée. Naturellement, ®tre réalisées dans tous les étages du filtre en grille 10 en 100 grid filter 10 will model the dynamics of the vocal apparatus “two multiplications and two additions must be made in a way that corresponds even better to reality, but during each cYclf> cf which means that, by admitting the cadence, this will be at the cost of a larger amount of data using the data shown in fig. lb, these four operations must gasiner in the aforementioned ROM memory. Naturally, be performed in all stages of the 10 in 100 grid filter

un réajustage des coefficients moins fréquent aura l'effet op- microsecondes. C était d une façon relativement arbitraire que posé. Il a toutefois été constaté qu'en réajustant les coefficients 50 dix étages avaient été attribués au filtre en grille 10 de la fig. 2a, a less frequent readjustment of the coefficients will have the op- microsecond effect. It was relatively arbitrary that posed. However, it was found that by readjusting the coefficients 50 ten stages had been assigned to the grid filter 10 of FIG. 2a,

approximativement toutes les cinq millisecondes ou à une ca- mais 1 homme de métier comprendra bien que, puisque la qua- approximately every five milliseconds or so every 1 skilled person will understand that since the

dence du même ordre, on obtenait comme résultat une parole du son que 1 on désire synthétiser à 1 aide du filtre en grille humaine de très haute qualité synthétisée par le filtre en grille * ® varie en fonction de ce choix, il est en fait avantageux d avoir 10 avec des exigences raisonnables quant au nombre de données ce filtre en grille 10 à dix étages puisque cela permet de synthéti- dence of the same order, we obtained as a result a word of sound that 1 we wish to synthesize using a human grid filter of very high quality synthesized by the grid filter * ® varies according to this choice, it is in fact advantageous to have 10 with reasonable requirements as for the number of data this filter in grid 10 with ten stages since that makes it possible to synthesize

à emmagasiner. 55 ser une Paro'e qui ne peut pratiquement pas être distinguer d'une véritable parole humaine. to store. 55 be a Paro'e which can hardly be distinguished from a true human word.

L'axe des temps sur la fig. lb a été divisé en intervalles de On voit que, durant chaque intervalle élémentaire de cycle, cent microsecondes. Ces intervalles correspondent à la cadence les dix étages du filtre en grille 10 doivent effectuer vingt opéra-des données de la source «de voix» 15 et de la source «de tions de multiplication et vingt opérations d'addition/soustrac-signaux différents d'une voix» 16, de même qu'à la cadence de 60 tion. On se rend compte d'autre part que ces opérations ne données reçues et délivrées par le filtre en grille 10. De plus, peuvent pas toutes être effectuées simultanément, en ce sens bien que la source de «signaux différents d'une voix» 16 et la que, par exemple, Y10 doit être calculé avant Y9, qui doit être source «de voix» 15 semblent, d'après la fig. lb, émettre des calculé avant Ys, etc, durant chaque intervalle de temps de cycle signaux analogiques, il est bien clair que ces signaux sont en fait donné. Par ailleurs, durant le même intervalle de cycle, les don-des signaux digitaux dont les amplitudes ont les valeurs repré- 65 nées b^-bj doivent être calculées et emmagasinées dans les sentées et qui sont réajustés selon les intervalles montrés le long circuits à retard 22 de chaque étage, pour pouvoir être utilisées de l'axe des temps de la fig. lb. Pour de plus amples informa- durant le prochain intervalle de cycle. Les données Y et b défilions au sujet de l'obtention des amplitudes «ou magnétudes» nies en liaison avec la fig. 2b sont également montrées pour les The time axis in fig. lb has been divided into intervals of We see that, during each elementary cycle interval, one hundred microseconds. These intervals correspond to the cadence. The ten stages of the grid filter 10 must perform twenty operations of the data from the “voice” source 15 and from the source of multiplication tions and twenty different addition / subtrac-signal operations d 'a voice' 16, as well as the cadence of 60 tion. We realize on the other hand that these operations do not data received and delivered by the grid filter 10. In addition, can not all be performed simultaneously, in this sense although the source of "different signals of a voice" 16 and that, for example, Y10 must be calculated before Y9, which must be a source of "voices", appears from fig. lb, send calculated before Ys, etc., during each time interval of cycle analog signals, it is quite clear that these signals are in fact given. Furthermore, during the same cycle interval, the don-digital signals whose amplitudes have the values represented 65 ^ -bj must be calculated and stored in the trails and which are readjusted according to the intervals shown along long circuits at delay 22 of each stage, in order to be able to be used from the time axis of FIG. lb. For further information during the next cycle interval. The data Y and b scroll about the obtaining of the amplitudes "or magnetudes" denied in connection with FIG. 2b are also shown for

5 5

633 922 633,922

étages Sj, S9, et S10, à la fig. 2a. Les équations exprimant les mations d'entrée à l'instant du premier intervalle de temps Tl, stages Sj, S9, and S10, in fig. 2a. The equations expressing the input mations at the instant of the first time interval Tl,

relations entre les différentes données Y et b sont présentées et l'information de sortie du filtre, Yl5 devient disponible à l'ins-dans la table I à la fin de la présente description détaillée. On tant de l'intervalle de temps TI 1. On peut voir, en comparant la comprend bien que les données Y et B, de même que les coeffi- fig. 4 et la table I, que les différentes informations d'entrée cients Kn, sont des nombres exprimés par plusieurs digits, les 5 requises pour les opérations de multiplication sont disponibles coefficients K]-K10 pouvant varier entre les équivalents dèci- lorsqu'elles sont nécessaires et que les différentes informations maux de -I-1 et — 1 et étant périodiquement réajustés d'une d'entrée pour les opérations d'addition sont également disponi-manière qui sera décrite plus loin. bles au moment où elles sont nécessaires. On peut voir de plus, relationships between the different data Y and b are presented and the output information of the filter, Y15 becomes available in the ins-in table I at the end of this detailed description. We have both the time interval TI 1. We can see, by comparing the well understood that the data Y and B, as well as the coefficients. 4 and table I, that the different cient input information Kn, are numbers expressed by several digits, the 5 required for the multiplication operations are available coefficients K] -K10 which can vary between the equivalents when they are necessary and that the various bad information of -I-1 and - 1 and being periodically readjusted by an input for the addition operations are also available which will be described later. when they are needed. We can see more,

La fig. 3 montre, sous une forme représentative, les diffé- en considérant la fig. 4, qu'une opération d'addition (qui prend rents résultats intermédiaires obtenus des multiplicateurs et des 10 de préférence un intervalle de temps) est commencée et achevée additionneurs d'un filtre en grille ayant N étages, l'axe horizon- à chaque intervalle de temps et qu'une opération de multiplica-tal correspondant au temps tandis que l'axe vertical représente tion est similairement commencée (et achevée) durant chaque les différents étages de la matrice en grille 10 à N étages. Dans le intervalle de temps, malgré le fait que l'opération particulière de Nième étage par exemple, on a les résultats intermédiaires - Kn multiplication qui débute alors ne sera achevée que huit inter-• bn et Kn • Y„, qui sont générés respectivement par les multipli- 15 valles de temps plus tard. Un appareil permettant de réaliser ces cateurs 19 et 20 (fig. 2b) et les résultats intermédiaires Yn et opérations sera maintenant décrit en détail en liaison avec les bn+1, qui sont obtenus respectivement des additionneurs 26 et fig. 5,9 et 10a-10d. Fig. 3 shows, in a representative form, the differences, considering fig. 4, that an addition operation (which takes the intermediate intermediate results obtained from the multipliers and preferably a 10 time interval) is started and completed adders of a grid filter having N stages, the horizontal axis- at each time interval and that a multiplicative operation corresponding to time while the vertical axis represents tion is similarly started (and completed) during each of the different stages of the grid matrix 10 to N stages. In the time interval, despite the fact that the particular operation of the Nth stage for example, we have the intermediate results - Kn multiplication which begins then will be completed only eight inter- • bn and Kn • Y „, which are generated respectively by multiplicates of time later. An apparatus allowing these cateurs 19 and 20 to be produced (fig. 2b) and the intermediate results Yn and operations will now be described in detail in conjunction with the bn + 1, which are obtained respectively from the adders 26 and fig. 5.9 and 10a-10d.

21 (fig. 2b). En ce qui concerne les relations de temps, le résul- On a déjà indiqué qu'une opération de multiplication et une tat intermédiaire - K„ • bn doit être engendré avant que Xn opération d'addition sont chacune amenées à débuter de préfé- 21 (fig. 2b). As far as time relations are concerned, the result- We have already indicated that a multiplication operation and an intermediate state - K „• bn must be generated before Xn addition operation are each brought to begin preferably.

puisse être obtenue. D'autre part, Yn doit être engendré avant 20 rence à chaque intervalle de temps. En fait, le nombre d'inter-que K„ • Yn puisse être généré, et Kn ■ Yn doit être engendré valles de temps dans un cycle est de préférence égal au double avant que bn+1 puisse être obtenu. Selon l'échelle de temps du nombre des étages du filtre en grille équivalent. Ainsi, pour indiquée, les opérations d'addition sont effectuées, comme indi- des filtres en grille à huit étages ou à douze étages, le filtre qué, durant un intervalle de temps de cinq microsecondes, tan- digital équivalent aura de préférence respectivement seize ou dis que les opérations de multiplication prennent un temps plus 25 vingt-quatre intervalles de temps par cycle. Il apparaît avec évi-long. En ce qui concerne les relations de la génération des résul- dence en considérant les figures 3 et 4 que le nombre des inter-tats intermédiaires dans les différents étages, on peut voir que valles de temps alloués pour une opération de multiplication l'information de sortie bn une opération d'addition doit être dépend en partie du nombre d'intervalles que l'on a dans un disponible avant que l'opération de multiplication - Kn • bn cycle. Ainsi, huit intervalles de temps peuvent être utilisés pour puisse commencer, ce qui est montré au dessin par les flèches 30 les opérations de multiplication dans un filtre digital équivalent 25. Ceci nécessite qu'une période de «non-opération» 23 soit à une matrice à dix étages, tandis que six intervalles de temps insérée entre l'opération d'addition bn+1 et l'opération de multi- peuvent être utilisés pour les opérations de multiplication dans plication — K„ • bn, si seulement une opération d'addition et un filtre digital équivalent à une matrice à huit étages, en admet-une opération de multiplication sont déclenchées durant chaque tant que le schéma de filtre (en équivalence digitale) des figures intervalle de temps donné de cinq millisecondes, comme cela est 35 3 et 4 soit suivi. Il sera toutefois évident pour l'homme de métier visible à la fig. 3. Les périodes de «non-opération» 24 sont que le nombre d'intervalles pour une opération de multiplica- can be obtained. On the other hand, Yn must be generated before 20 rence at each time interval. In fact, the number of inter-that K „• Yn can be generated, and Kn ■ Yn must be generated times in a cycle is preferably double before bn + 1 can be obtained. According to the time scale of the number of stages of the equivalent grid filter. Thus, for indication, the addition operations are carried out, as indicated by eight-stage or twelve-stage grid filters, the filter qué, during a time interval of five microseconds, tanigital equivalent will preferably have sixteen respectively or say that the multiplication operations take time plus twenty-four time intervals per cycle. It appears with evi-long. Regarding the relations of the generation of results considering Figures 3 and 4 as the number of intermediate states in the different stages, we can see that time slots allocated for a multiplication operation information output bn an addition operation must be partly dependent on the number of intervals that one has in an available before the multiplication operation - Kn • bn cycle. Thus, eight time intervals can be used to start, which is shown in the drawing by the arrows 30, the multiplication operations in an equivalent digital filter 25. This requires that a “non-operation” period 23 be at one matrix with ten stages, while six time intervals inserted between the operation of addition bn + 1 and the operation of multi- can be used for the operations of multiplication in plication - K „• bn, if only one operation d addition and a digital filter equivalent to an eight-stage matrix, assuming a multiplication operation is triggered during each as long as the filter scheme (in digital equivalence) of the given time interval figures of five milliseconds, as is 35 3 and 4 be followed. However, it will be obvious to the skilled person visible in FIG. 3. The “non-operation” periods 24 are that the number of intervals for a multiplication operation

également insérées après les autres opérations d'addidition, tion tend à dicter le nombre de bits qui peuvent être multipliés, avant l'opération de multiplication qui les suit, pour des raisons c'est-à-dire tend à limiter le nombre de bits utilisables pour de symétrie. Ainsi, on peut voir que toutes les opérations indi- représenter les coefficients Kn. Dans la plupart des applications, quées dans tous les étages du filtre en grille à N étages peuvent 40 le nombre de bits alloués pour les coefficients Kn, en suivant le être accomplies concurremment dans l'ordre représenté à la fig. schéma de traitement d'informations des fig. 3 et 4, sera suffi-3, les résultats intermédiaires appropriés devenant disponibles sant pour conduire à une synthétisation de paroles très accepta-lorsqu'ils sont nécessaires. La fig. 3 la nature générale et l'appli- ble. Si toutefois une précision encore plus grande est désirée cabilité d'une réalisation digitale d'un filtre en grill multi-étages, pour la représentation des coefficients Kn, on peut prévoir de ne fait sur lequel on reviendra encore par la suite. On comprend 4s pas avoir à chaque intervalle de temps du cycle une opération de bien que la représentation de la fig. 3 montre les opérations qui multiplication et une opération d'addition qui débutent, cer-sont réalisées durant un seul des cycles de temps susmentionnés, taines phases de délais devant alors être insérées en différents L'intervalle de temps de 5 ms pour une opération d'addition, moments au cours du cycle. Naturellement, le cycle mettra alors bien qu'étant question de choix laissé au constructeur, a été un temps plus long pour s'achever, ce qui diminuera la cadence choisi à cette valeur étant donné sa compatibilité avec le fonc- 50 de données (et donc la réponse en fréquence) du système, tionnement des circuits intégrés MOS à canal P. Naturellement, Comme on peut le voir à la fig. 4, les résultats intermédiaires un autre intervalle de temps supplémentaire pourrait être uti- K10 ■ Y10 et bn sont obtenus ou peuvent être obtenus, malgré Iisé, si désiré. que, comme cela a été mentionné en liaison avec la fig. 2a, ces also inserted after the other additition operations, tion tends to dictate the number of bits which can be multiplied, before the multiplication operation which follows them, for reasons that is to say tends to limit the number of bits usable for symmetry. Thus, we can see that all the operations indi- represent the coefficients Kn. In most applications, the number of bits allocated for the coefficients Kn can be 40 in all stages of the N-stage grid filter, depending on whether they are accomplished concurrently in the order shown in FIG. information processing diagram of fig. 3 and 4, will be sufficient-3, the appropriate intermediate results becoming available enough to lead to a synthesis of very accepted words - when they are necessary. Fig. 3 the general and applicable nature. If, however, an even greater precision is desired, the reliability of a digital realization of a multi-stage grill filter, for the representation of the coefficients Kn, it is possible to provide for a fact to which we will come back again later. We understand 4s not to have at each time interval of the cycle an operation although the representation of FIG. 3 shows the operations which multiply and an addition operation which begin, some are carried out during only one of the aforementioned time cycles, certain phases of delays having then to be inserted in different time intervals of 5 ms for an operation of 'addition, moments during the cycle. Naturally, the cycle will then take place, although being a matter of choice left to the manufacturer, has been a longer time to complete, which will decrease the rate chosen to this value given its compatibility with the data function (and therefore the frequency response) of the system, operation of the P-channel MOS integrated circuits. Naturally, as can be seen in FIG. 4, the intermediate results another additional time interval could be used. K10 ■ Y10 and bn are obtained or can be obtained, despite Iis, if desired. that, as has been mentioned in connection with FIG. 2a, these

La fig. 4 est une représentation similaire à celle de la fig. 3. résultats intermédiaires particuliers ne sont pas requis pour une Toutefois, la représentation de la fig. 4 concerne la réalisation 55 réalisation digitale du filtre en grille. On remarque toutefois en digitale de l'équivalent d'un filtre en grille 10 à dix étages, et par liaison avec la fig. 5 qu'il est le plus souvent plus facile de laisser ailleurs, l'axe horizontal a été étendu pour permettre la repré- engendrer (et d'ignorer) ces résultats intermédiaires K10 • Y10 et sentation de plus d'un cycle. On voit d'autre part que le cycle a Bn (ou quelques autres nombres) plutôt que d'introduire une été divisé en vingt intervalles de temps T1-T20, chacun d'eux inhibition dans l'appareil pour l'empêcher d'effectuer ces cal-ayant de préférence une durée de l'ordre de cinq microsecondes, &o culs. Maintenant, on va décrire comment les opérations de mul-bien que, comme on l'a déjà mentionné, d'autres durées puis- tiplication réalisées par le multiplicateur 18 (fig. 1) peuvent être sent également être choisies. A la fig. 4, on a également indiqué accomplies également en lieu du calcul K10 • Y10 dans l'appareil, les cycles, par leur rang, c'est-à-dire (i— 1), (i) et (i+1), ceci La fig. 5 représente le schéma-bloc d'une réalisation digitale pour faciliter la comparaison des disponibilités des résultats in- d'un équivalent du filtre en grille 10. Ce filtre comprend un termédiaires dans le filtre 10 avec les exigences ressortant de la 65 multiplicateur à réseau 30, un circuit additionneur/soustracteur représentation du filtre 10 en formules mathématiques dans la 33, un circuit de retard d'une période 34, un registre à décalage table I. 35 et une mémoire à verrou 36. Les données fournies à l'entrée Fig. 4 is a representation similar to that of FIG. 3. particular intermediate results are not required for a However, the representation of fig. 4 concerns the realization 55 digital realization of the grid filter. However, we note in digital the equivalent of a grid filter 10 with ten stages, and by connection with fig. 5 that it is most often easier to leave elsewhere, the horizontal axis has been extended to allow the repetition (and to ignore) these intermediate results K10 • Y10 and feeling of more than one cycle. We see on the other hand that the cycle has Bn (or some other numbers) rather than introducing a summer divided into twenty time intervals T1-T20, each of them inhibition in the apparatus to prevent it from performing these cal-preferably having a duration of the order of five microseconds, & o asses. We will now describe how the mul-well operations, as, as already mentioned, other multiplication durations carried out by the multiplier 18 (fig. 1) can also be chosen. In fig. 4, we have also indicated accomplished also in place of the calculation K10 • Y10 in the apparatus, the cycles, by their rank, that is to say (i— 1), (i) and (i + 1), this Fig. 5 represents the block diagram of a digital realization to facilitate the comparison of the availabilities of the results of an equivalent of the grid filter 10. This filter comprises a intermediate in the filter 10 with the requirements arising from the network multiplier 65 30, an adder / subtractor circuit representing the filter 10 in mathematical formulas in the 33, a delay circuit for a period 34, a table shift register I. 35 and a latch memory 36. The data supplied to the input

Les données d'excitation U sont appliquées en tant qu'infor- et prélevées à la sortie de ces différentes unités à cahcun des The excitation data U are applied as information and taken from the output of these different units each of the

633 922 633,922

6 6

vingt intervalles de temps T1-T20 (pour l'équivalent d'un filtre en grille à dix étages) sont données dans les listes de la fig. 6. En se référant maintenant aux fig. 5 et 6, on voit que le multiplicateur a réseau 30 effectue les multiplications qui sont faites par les multiplicateurs 19 et 20 de chaque étage du filtre en grille équivalent selon les fig. 2a et 2b. Le multiplicateur à réseau reçoit, par les lignes 32, les coefficients K^—K10 qui sont emmagasinés dans une mémoire en empilements K 31, et, par l'intermédiaire de la ligne omnibus 40, soit une donnée Yn soit une donnée bn. La mémoire à empilements K 31 comprend de préférence dix registres à décalage, chacun d'eux ayant dix étages. Les informations emmagasinées dans la mémoire à empilements K 31, indiquées dans la table II à la fin de la présente description détaillée, sont transmises au multiplicateur de réseau 30 par les lignes 32. Ce multiplicateur à réseau 30 fait débuter une nouvelle opération de multiplication à chaque intervalle de temps, comme cela est indiqué à la fig. 4, c'est-à-dire approximativement toutes les cinq microsecondes. Le multiplicateur à réseau 30 comprend, comme cela sera encore expliqué avec la fig. 9, de préférence huit étages, une série d'opérations d'addition de décalage étant accomplies tandis que les données se propagent à travers ces huit étages, d'une façon qui réalise leur multiplication par le coefficient Kn approprié, reçu de la mémoire à empilements 31 qui mémorise ces coefficients. Une opération de multiplication dure quarante microsecondes. Toutefois, puisqu'une nouvelle opération de multiplication débute toutes les cinq microsecondes, huit multiplications sont toujours en cours à différents stades d'avancement, à tout instant donné. La période de computation du multiplicateur à réseau 30, comprenant huit intervalles de temps, peut être retrouvée sur la fig. 8 en considérant les endroits où figurent les données d'entrée et les endroits où figure le résultat de sortie. Par exemple, les entrées du multiplicateur à l'intervalle T1 se retrouvent à la sortie du multiplicateur, sous forme de produit, huit intervalles de temps plus tard, c'est-à-dire à l'intervalle T9. Les coefficients emmagasinés dans la mémoire à empilements K 31 sont emmagasinés en tant que nombres à neuf bits plus un bit additionnel pour l'information du signe. Comme on l'a mentionné, ces neuf bits forment des nombres dans le domaine de — 1 à +1 (équivalents décimaux), ce qui, comme on le verra, simplifie la structure du multiplicateur à réseau 30. twenty time intervals T1-T20 (for the equivalent of a ten-stage grid filter) are given in the lists in fig. 6. Referring now to Figs. 5 and 6, it can be seen that the network multiplier 30 performs the multiplications which are made by the multipliers 19 and 20 of each stage of the equivalent grid filter according to FIGS. 2a and 2b. The network multiplier receives, by lines 32, the coefficients K ^ —K10 which are stored in a memory in stacks K 31, and, via the omnibus line 40, either a data item Yn or a data item bn. The stack memory K 31 preferably comprises ten shift registers, each of them having ten stages. The information stored in the stacking memory K 31, indicated in table II at the end of this detailed description, is transmitted to the network multiplier 30 by the lines 32. This network multiplier 30 starts a new multiplication operation at each time interval, as shown in fig. 4, i.e. approximately every five microseconds. The network multiplier 30 comprises, as will be further explained in FIG. 9, preferably eight stages, a series of shift addition operations being performed while the data propagates through these eight stages, in a manner which achieves their multiplication by the appropriate coefficient Kn, received from the memory at stacks 31 which stores these coefficients. A multiplication operation lasts forty microseconds. However, since a new multiplication operation begins every five microseconds, eight multiplications are always in progress at different stages of progress, at any given time. The computation period of the network multiplier 30, comprising eight time intervals, can be found in FIG. 8 considering the places where the input data appear and the places where the output result appears. For example, the inputs of the multiplier at the interval T1 are found at the output of the multiplier, in the form of product, eight time intervals later, that is to say at the interval T9. The coefficients stored in the stack memory K 31 are stored as nine-bit numbers plus one additional bit for the information of the sign. As mentioned, these nine bits form numbers in the range of - 1 to +1 (decimal equivalents), which, as we will see, simplifies the structure of the network multiplier 30.

Le signal de sortie du multiplicateur à réseau 30 est appliqué au circuit additionneur-soustracteur 33. Cette sortie, dans la forme d'exécution préférée, est un canal à treize bits parallèles : douze bits de données et un bit pour l'information de signe. L'homme de métier comprendra cependant que le nombre de bits d'un canal de données est une question de choix laissée au constructeur. L'autre entrée du circuit additionneur/soustrac-teur reçoit : le signal d'excitation 11 à l'intervalle de temps Tl, la sortie du circuit additionneur/soustracteur 33 lui-même durant les intervalles de temps T2—T10, le signal de sortie du registre à décalage 35 durant les intervalles de temps T11-T19, et le signal de sortie du verrou 36 à l'intervalle de temps T20. Cette seconde entrée du circuit additionneur/soustracteur 33 est représentée, pour la commodité de l'illustration, comme étant commandée par différents commutateurs unipolaires à une seule armature 37a-37d; cependant, on comprend bien que des commutateurs à composants électroniques solides seront de préférence utilisés pour réaliser ces fonctions de commutation, de même que pour les autres fonctions de commutation décrites. Le signal de sortie du circuit additionneur/soustracteur 33 est appliqué au commutateur 37b, au commutateur 38a et en tant que signal d'entrée au circuit à retard d'un intervalle 34. Le signal de sortie du circuit additionneur/soustracteur 33 est également fourni dans un canal à treize bits parallèles et il est retardé d'un intervalle de temps dans le circuit 34 avant d'être appliqué en tant que signal d'entrée au registre à décalage 35 et au commutateur 38b. Le registre à décalage 35 emmagasine les informations du canal à treize bits dans treize registres à décalage élémentaires, dont chaqun est à huit étages. Le registre à décalage 35 est agencé pour effectuer des opérations de décalage seulement durant les intervalles de temps T12-T2. Le si-5 gnal de sortie de ce registre à décalage 35 est appliqué aux commutateurs 37c et 39. Le commutateur 39 est fermé (passant) à l'instant de l'intervalle de temps T20 pour introduire le signal de sortie Yx du filtre dans la mémoire à verrou 36. La sortie 12 de cette mémoire à verrou 36 est connectée au conver-îo tisseur digital/analogique 13 (fig. la) de même qu'aux commutateurs 37b et 38c. The output signal of the network multiplier 30 is applied to the adder-subtractor circuit 33. This output, in the preferred embodiment, is a channel with thirteen parallel bits: twelve data bits and one bit for sign information . Those skilled in the art will understand, however, that the number of bits in a data channel is a matter of choice left to the constructor. The other input of the adder / subtractor circuit receives: the excitation signal 11 at the time interval T1, the output of the adder / subtractor circuit 33 itself during the time intervals T2 — T10, the signal output of the shift register 35 during the time intervals T11-T19, and the output signal of the lock 36 at the time interval T20. This second input of the adder / subtractor circuit 33 is shown, for the convenience of the illustration, as being controlled by different unipolar switches with a single armature 37a-37d; however, it is understood that switches with solid electronic components will preferably be used to perform these switching functions, as well as for the other switching functions described. The output signal from the adder / subtractor circuit 33 is applied to the switch 37b, to the switch 38a and as an input signal to the interval delay circuit 34. The output signal from the adder / subtractor circuit 33 is also provided in a thirteen-bit parallel channel and it is delayed by a time interval in circuit 34 before being applied as an input signal to shift register 35 and switch 38b. The shift register 35 stores the information of the thirteen-bit channel in thirteen elementary shift registers, each of which has eight stages. The shift register 35 is arranged to perform shift operations only during the time intervals T12-T2. The output si-5 of this shift register 35 is applied to switches 37c and 39. Switch 39 is closed (on) at the time of time interval T20 to introduce the output signal Yx of the filter into the lock memory 36. The output 12 of this lock memory 36 is connected to the digital / analog converter 13 (fig. la) as well as to the switches 37b and 38c.

Le commutateur 37b est fermé (passant) durant les intervalles de temps T2-T10, le commutateur 37c est fermé (passant) durant les intervalles de temps T11-T19, et le commutais teur 37d est fermé (passant) à l'intervalle de temps T20. Le commutateur 38a est fermé (passant) durant les intervalles de temps T13-T1, le commutateur 38b est fermé (passant) entre les intervalles de temps T3-T12, et le commutateur 38c est fermé lors de l'intervalle de temps T2. Les autres électrodes des 20 commutateurs 38a, 38b et 38c sont reliées à l'entrée du multiplicateur en réseau 30, par l'intermédiaire de la ligne omnibus 40. Switch 37b is closed (on) during time intervals T2-T10, switch 37c is closed (on) during time intervals T11-T19, and switch 37d is closed (on) at time interval T20. The switch 38a is closed (passing) during the time intervals T13-T1, the switch 38b is closed (passing) between the time intervals T3-T12, and the switch 38c is closed during the time interval T2. The other electrodes of the switches 38a, 38b and 38c are connected to the input of the networked multiplier 30, via the bus line 40.

Sur la fig. 6 est reportée la liste des différents résultats intermédiaires qui interviennent dans le circuit de la fig. 5 durant les intervalles de temps T1-T20. En considérant brièvement cette 25 fig. 6, on peut voir que l'une des entrées du multiplicateur reçoit l'information de coefficient Kn tandis que l'autre entrée reçoit différentes informations selon celui des commutateurs 38a, 38b, 38c qui est fermé (passant). Lors de l'intervalle de temps Tl, le commutateur 38a est fermé (passant), comme cela a déjà été 30 mentionné, de sorte que le signal de sortie de l'additionneur/ soustracteur 33 en l'occurrence b2 (i— 1), est appliqué en tant que signal d'entrée sur le multiplicateur. En même temps, l'autre entrée de l'additionneur reçoit le signal d'excitation U (i). Lors de l'intervalle de temps T2, l'autre entrée du multiplicateur 35 reçoit l'information bt (i— 1), laquelle, conformément à ce que montre la fig. 5, a été prélevée de la sortie du verrou 36 par l'intermédiaire du commutateur 38c. L'information de sortie du verrou 36 est alors, selon la fig. 6, Y1 (i— 1), mais, en faisant appel à la dernière ligne de la table I, on se rappelle que l'infor-40 mation bx (i) est établie comme identique à l'information Yx (i) retardée, c'est-à-dire l'information Y! (i— 1). Durant ce même intervalle de temps T2, l'autre entrée de l'additionneur reçoit l'information qui est délivrée par la sortie de ce même additionneur, c'est-à-dire, en l'occurrence, Y10 (i). Lors de l'intervalle de 45 temps T3, les signaux d'entrée du multiplicateur sont K10 et Y10 (i) provenant de la sortie du circuit à retard d'un intervalle de temps 34. Naturellement, le résultat de cette multiplication ne sera pas disponible avant l'intervalle de temps Tll, et à ce mo-ment-là il sera délivré en tant que signal d'entrée au circuit 50 additionneur/soustracteur 33. Lors de cet intervalle de temps Tll, l'autre entrée du circuit additionneur/soustracteur 33 recevra l'information sortant du registre à décalage 35. Le premier terme chargé d'une façon significatrice sur le registre à décalage 35 est l'information b10 (i — 1), qui apparaît à la sortie de ce 55 registre à décalage 35 durant l'intervalle de temps T2 et qui reste disponible à cet endroit puisque le registre à décalage 35, comme précédemment mentionné, n'effectue aucun décalage entre les intervalles de temps T3 et Tl 1. In fig. 6 is reported the list of the various intermediate results which intervene in the circuit of FIG. 5 during the time intervals T1-T20. By briefly considering this 25 fig. 6, it can be seen that one of the inputs of the multiplier receives the coefficient information Kn while the other input receives different information depending on which of the switches 38a, 38b, 38c which is closed (on). During the time interval T1, the switch 38a is closed (on), as already mentioned, so that the output signal of the adder / subtractor 33 in this case b2 (i— 1) , is applied as an input signal to the multiplier. At the same time, the other input of the adder receives the excitation signal U (i). During the time interval T2, the other input of the multiplier 35 receives the information bt (i— 1), which, as shown in FIG. 5, was taken from the output of the latch 36 via the switch 38c. The output information of the lock 36 is then, according to FIG. 6, Y1 (i— 1), but, by calling on the last line of table I, we remember that the information bx (i) is established as identical to the information Yx (i) delayed , i.e. information Y! (i— 1). During this same time interval T2, the other input of the adder receives the information which is delivered by the output of this same adder, that is to say, in this case, Y10 (i). During the 45 time interval T3, the input signals of the multiplier are K10 and Y10 (i) coming from the output of the time delay delay circuit 34. Naturally, the result of this multiplication will not be available before the time interval Tll, and at that time it will be delivered as an input signal to the circuit 50 adder / subtractor 33. During this time interval Tll, the other input of the circuit adder / subtractor 33 will receive the information leaving the shift register 35. The first term loaded in a significant way on the shift register 35 is the information b10 (i - 1), which appears at the output of this register 55 offset 35 during the time interval T2 and which remains available at this location since the shift register 35, as previously mentioned, makes no offset between the time intervals T3 and T1.

Lors de l'intervalle de temps T13, l'information d'entrée du 60 multiplicateur à réseau 30 est à nouveau fournie par la sortie du circuit additionneur/soustracteur 33, par l'intermédiaire du commutateur 38a. Au moment de l'intervalle de temps T20, le terme Yx (i) est délivré à la mémoire verrou 36 depuis le registre à décalage 35, et l'information qui jusqu'alors se trouvait à la 65 sortie de ce verrou 36, c'est-à-dire Y1 (i— 1) est appliquée à l'autre entrée du circuit additionneur/soustracteur 33 par l'intermédiaire du commutateur 37d, pour y constituer, comme déjà mentionné, le terme bi (i— 1). Alors, la mémoire-verrou 36 During the time interval T13, the input information of the network multiplier 60 is again supplied by the output of the adder / subtractor circuit 33, via the switch 38a. At the time interval T20, the term Yx (i) is delivered to the lock memory 36 from the shift register 35, and the information which until then was at the output of this lock 36, c that is to say Y1 (i— 1) is applied to the other input of the adder / subtractor circuit 33 via the switch 37d, to constitute there, as already mentioned, the term bi (i— 1). So the memory lock 36

7 7

633 922 633,922

emmagasine l'information de sortie du filtre Yt qui y restera pour toute la durée du cycle suivant. stores the output information from the Yt filter which will remain there for the duration of the next cycle.

On vient de fournir des explications concernant le schéma-bloc de la fig. 5. Il y a lieu de noter que la conception de la fig. 5 peut également s'appliquer à un filtre décimal équivalent à un filtre en grille à N étages ayant un multiplicateur à M étages (par exemple, il peut avoir M plus deux bits dans les coefficients Kn), pour autant qu'un registre à décalage introduisant un retard équivalent à N— M — 2 intervalles de temps soit inséré entre le circuit additionneur/soustracteur 33 et le circuit à retard à un intervalle de temps 34. La connexion avec le commutateur 38a est alors faite depuis la sortie de ce registre à décalage additionnel et le retard occasionné par le registre à décalage 35 devra alors être égal à N+M— 1. Cette forme généralisée du filtre digital est représentée à la fig. 11. Dans la forme d'exécution de la fig. 5, N— M— 2 est égal à zéro, de sorte qu'aucun retard complémentaire n'est requis dans cette forme d'exécution. Dans les formes d'exécution décrites en liaison avec les fig. 5 et 6, N+M— 1 est égal à dix-sept, ce qui reflète le nombre de périodes de temps entre le moment oû les données sont appliquées au registre à décalage 35 et le moment où ces données ressortent de ce registre à décalage. Par exemple, à la fig. 6, la donnée b2 (i-1) est insérée dans le registre à décalage 35 à la période de temps T2 et elle ressort de ce registre à la période de temps T19, c'est-à-dire dix-sept périodes plus tard. On remarque que dans cette forme d'exécution, le registre à décalage 35 ne comprend que huit étages, mais le délai additionnel intervenant durant les périodes de temps T3-T11 correspond au temps durant lequel le registre à décalage 35 n'effectue pas de décalage. Ces neuf périodes de temps correspondent au temps où la donnée Y2-Y10 est disponible à la sortie du circuit temporisé 34 dont le délai correspond à une période. Cette donnée n'a pas besoin d'être introduite dans le registre à décalage 35, comme cela peut être vu à la fig. 6. Ainsi, le nombre d'étages du registre à décalage 35 plus le nombre de périodes par cycle où les données (le cas échéant) ne sont pas décalées dans le registre à décalage 35 est égal au retard valant N+M— 1 périodes de temps par le registre à décalage 35. We have just provided explanations concerning the block diagram of FIG. 5. It should be noted that the design of fig. 5 can also be applied to a decimal filter equivalent to an N-stage grid filter having an M-stage multiplier (for example, it can have M plus two bits in the coefficients Kn), provided that a shift register introducing a delay equivalent to N— M - 2 time intervals is inserted between the adder / subtractor circuit 33 and the delay circuit at a time interval 34. The connection with the switch 38a is then made from the output of this register at additional shift and the delay caused by the shift register 35 should then be equal to N + M— 1. This generalized form of the digital filter is shown in fig. 11. In the embodiment of FIG. 5, N— M— 2 is zero, so that no further delay is required in this embodiment. In the embodiments described in conjunction with FIGS. 5 and 6, N + M— 1 is equal to seventeen, which reflects the number of time periods between the moment when the data are applied to the shift register 35 and the moment when these data emerge from this shift register . For example, in fig. 6, the data b2 (i-1) is inserted into the shift register 35 at the time period T2 and it emerges from this register at the time period T19, that is to say seventeen periods later . Note that in this embodiment, the shift register 35 comprises only eight stages, but the additional delay occurring during the time periods T3-T11 corresponds to the time during which the shift register 35 does not shift . These nine time periods correspond to the time when the data Y2-Y10 is available at the output of the timed circuit 34, the delay of which corresponds to one period. This data does not need to be entered into the shift register 35, as can be seen in FIG. 6. Thus, the number of stages of the shift register 35 plus the number of periods per cycle where the data (if any) are not shifted in the shift register 35 is equal to the delay equal to N + M— 1 periods time by shift register 35.

Comme on peut le voir, le circuit illustré par les fig. 5 et 6, équivalent à un filtre en grille à dix étages, effectue les opérations de filtrage requises par le filtre en grille 10 de la fig. la à une cadence de données raisonnable. Par exemple, dans la forme d'exécution préférée, la donnée d'excitation 11 est appliquée à une fréquence de lOKHz (c'est-à-dire toutes les cent microsecondes), et les opérations d'addition de base dans le circuit additionneur/soustracteur 33, de même que les opérations de multiplication dans le multiplicateur à réseau 30 et que les opérations de décalage dans le circuit à retard dans l'intervalle de temps 34 et dans le registre à décalage 35 sont réalisées durant l'intervalle de temps nominal de cinq microsecondes. Comme cela est bien connu des gens de métier, de telles vitesses se situent bien dans le cadre des possibilités d'un dispositif à éléments MOS à canal P en intégration à grande échelle, de sorte que le filtre de la fig. 5 peut être incorporé dans une plaquette (type) LSI MOS à canal P, relativement peu coûteuse pour la génération de paroles synthétisées ou de formes d'onde complexes. As can be seen, the circuit illustrated in figs. 5 and 6, equivalent to a ten-stage grid filter, performs the filtering operations required by the grid filter 10 of FIG. there at a reasonable data rate. For example, in the preferred embodiment, the excitation data 11 is applied at a frequency of 1 Hz (that is to say every hundred microseconds), and the basic addition operations in the adder circuit / subtractor 33, as well as the multiplication operations in the network multiplier 30 and that the shift operations in the delay circuit in the time interval 34 and in the shift register 35 are carried out during the time interval nominal five microseconds. As is well known to those skilled in the art, such speeds are well within the possibilities of a device with P-channel MOS elements in large-scale integration, so that the filter of FIG. 5 can be incorporated into a relatively inexpensive P-channel LSI MOS wafer (type) for generating synthesized speech or complex waveforms.

Il est évident que l'arrangement de base du filtre de la fig. 5, équivalent à un filtre en grill à dix étages, est également applicable à des filtres digitaux équivalents à des filtres en grille ayant un autre nombre d'étages. Le nombre de dix étages a été sélectionné en tant que forme d'exécution préférée pour le filtre, du fait qu'un filtre en grille à dix étages pour les circuits de synthèse de paroles à codage prédictif linéaire ont été sélectionnés comme standard d'utilisation par le département de la défense du Gouvernement des Etats-Unis d'Amérique. Il faut noter simplement à l'intention de ceux qui, envisageant la mise en pratique de cette invention, désireraient utiliser un filtre digital It is obvious that the basic arrangement of the filter in fig. 5, equivalent to a ten-stage grill filter, is also applicable to digital filters equivalent to grid filters having another number of stages. The number of ten stages was selected as the preferred embodiment for the filter, since a ten-stage grid filter for the linear predictive speech synthesis circuits was selected as the standard of use by the Department of Defense of the Government of the United States of America. It should simply be noted for those who, considering the practice of this invention, would like to use a digital filter

équivalent à un filtre en grille ayant un nombre d'étages différent, que le nombre d'intervalles en lequel un cycle est divisé doit être au moins égal au double du nombre des étages équivalents. Ainsi, dans la forme d'exécution préférée, le nombre d'in-5 tervalles de temps (vingt) est égal au double du nombre des étages équivalents (dix). Donc, si par exemple, un filtre digital équivalent à un filtre en grille à douze étages était désiré, le nombre d'intervalles de temps par cycle devrait être d'au moins vingt-quatre et la conception de base qui vient d'être décrite io devrait subir une notable expansion. Il faut noter que pour un filtre digital équivalent à un filtre en grille à douze étages, le multiplicateur à réseau 30 devrait utiliser dix intervalles de temps pour achever une multiplication si le schéma de base précédemment décrit est suivi, c'est-à-dire si une opération 15 d'addition et une opération de multiplication étaient amenées à débuter durant chaque intervalle de temps. Ceci peut être vu à partir de la fig. 3, en établissant N égal à douze et en complétant le diagramme de cette figure 3 d'une façon correspondante. Naturellement, si une durée de cinq microsecondes était mainte-2o nue pour chaque intervalle de temps, la cadence des données, devant s'accommoder à la version à douze étages, serait plus basse que celle que l'on a dans la version du filtre à douze étages. Il y a lieu également de noter que, en augmentant le temps de retard dans le multiplicateur à réseau 30, on pourrait 25 augmenter le nombre de bits des coefficients K^-K^, faisant passer le total de dix bits à un total de douze bits. equivalent to a grid filter with a different number of stages, that the number of intervals into which a cycle is divided must be at least twice the number of equivalent stages. Thus, in the preferred embodiment, the number of time intervals (twenty) is twice the number of equivalent stages (ten). So if, for example, a digital filter equivalent to a twelve-stage grid filter was desired, the number of time intervals per cycle should be at least twenty-four and the basic design just described io is expected to expand significantly. It should be noted that for a digital filter equivalent to a twelve-stage grid filter, the grating multiplier 30 should use ten time intervals to complete a multiplication if the basic scheme previously described is followed, i.e. if an addition operation and a multiplication operation were to start during each time interval. This can be seen from fig. 3, establishing N equal to twelve and completing the diagram of this figure 3 in a corresponding manner. Naturally, if a duration of five microseconds was main-2o naked for each time interval, the data rate, having to accommodate the version with twelve stages, would be lower than that which one has in the version of the filter with twelve floors. It should also be noted that, by increasing the delay time in the network multiplier 30, the number of bits of the coefficients K ^ -K ^ could be increased, increasing the total from ten bits to a total of twelve bits.

Similairement, si un filtre digital équivalent à un filtre en grille à huit étages était désiré, le nombre d'intervalles de temps du cycle devrait être d'au moins seize, et en donnant à N la so valeur huit sur la fig. 3, on peut voir que le temps de propagation à travers le multiplicateur 30 serait alors de six intervalles de temps. Dans ce cas, l'utilisation du multiplicateur en réseau, qui sera décrit en détail plus loin, limiterait à huit le nombre de bits dans les coefficients prélevés de la mémoire à empilements K 35 31. Toutefois, comme cela a déjà été mentionné en liaison avec la fig. 4, on peut, dans certaines formes d'exécution, utiliser même davantage d'intervalles de temps pour réaliser une opération de multiplication. Cela pourrait être désirable - ceci étant question de choix - si une plus grande précision des coefficients 40 Kn était requise. Une précision plus élevée requerrait davantage de bits pour les coefficients Kn, chose qui à son tour impliquerait qu'on admette un retard plus grand à travers le multiplicateur en réseau 30. La conception de base du filtre équivalent de la fig. 5 serait quelque peu modifiée du fait qu'alors une opération de 45 multiplication et une opération d'addition ne seraient pas amenées à débuter à chaque intervalle de temps. Il est bien évident qu'en un pareil cas quelques-uns des résultats intermédiaires obtenus à l'intérieure du filtre devraient être temporairement emmagasinés, ce qui requerrait l'intrusion d'éléments de mé-50 moire supplémentaires dans le filtre de la fig. 5. On ne discutera pas ici le détail des modifications de ce genre qui seraient possibles, de telles modifications de la réalisation digitale d'un filtre en grille se situeraient dans le domaine de ce que les spécialistes des circuits digitaux peuvent connaître. 55 On a précédemment mentionné que les résultats intermédiaires K10 • Y10 (i) et bn (i) étaient engendrés par le filtre digital de la fig. 5, mais que ces résultats intermédiaires n'étaient pas utilisés en ce sens qu'ils ne sont pas requis pour réaliser le filtre en grille 10 de la fig. la. Maintenant, se rappelant que la so donnée V provenant de la source «de signal de voix» ou «de signal différent d'une voix» est multipliée par un facteur d'amplification A, au moyen d'un multiplicateur 18, dans le circuit de synthèse de paroles classique de la fig. la, on constate que cette multiplication peut être faite à l'aide du multiplicateur en réseau 65 30 durant le temps où le résultat intermédiaire K10 ■ Yio (i) Similarly, if a digital filter equivalent to an eight-stage grid filter was desired, the number of cycle time intervals should be at least sixteen, and giving N the n / a value eight in fig. 3, it can be seen that the propagation time through the multiplier 30 would then be six time intervals. In this case, the use of the network multiplier, which will be described in detail below, would limit to eight the number of bits in the coefficients taken from the stacking memory K 35 31. However, as already mentioned in connection with fig. 4, it is possible, in certain embodiments, to use even more time intervals to carry out a multiplication operation. This might be desirable - this being a matter of choice - if greater precision of the 40 Kn coefficients was required. Higher precision would require more bits for the Kn coefficients, which in turn would imply admitting greater delay through the grating multiplier 30. The basic design of the equivalent filter in FIG. 5 would be somewhat modified by the fact that then a multiplication operation and an addition operation would not have to start at each time interval. It is obvious that in such a case some of the intermediate results obtained inside the filter should be temporarily stored, which would require the intrusion of additional memory elements into the filter of FIG. 5. We will not discuss here the detail of the modifications of this kind which would be possible, such modifications of the digital realization of a grid filter would be in the field of what the specialists of the digital circuits can know. 55 We have previously mentioned that the intermediate results K10 • Y10 (i) and bn (i) were generated by the digital filter of fig. 5, but that these intermediate results were not used in the sense that they are not required to produce the grid filter 10 of FIG. the. Now, remembering that the data given V coming from the source of “voice signal” or “of signal different from a voice” is multiplied by an amplification factor A, by means of a multiplier 18, in the circuit of classical speech synthesis of fig. la, we see that this multiplication can be done using the network multiplier 65 30 during the time when the intermediate result K10 ■ Yio (i)

serait sinon engendré par le multiplicateur en réseau. Une forme d'exécution d'un filtre digital réaliant cette multiplication V (i). A est représentée à la fig. 7. Par ailleurs, la fig. 8 fournit une would otherwise be generated by the network multiplier. An embodiment of a digital filter realizing this multiplication V (i). A is shown in fig. 7. Furthermore, FIG. 8 provides a

633 922 633,922

8 8

liste des différents résultats intermédiaires engendrés dans le circuit de la fig. 7. list of the various intermediate results generated in the circuit of fig. 7.

On considérera maintenant brièvement les fig. 7 et 8 où l'on verra que ce circuit (y compris les résultats intermédiaires qui y sont engendrés) est similaire au circuit de la fig. 5, à l'exception des modifications suivantes: Les signes de référence de la fig. 7, qui sont d'une façon générale les mêmes que ceux de la fig. 5, sont affublés d'un prime permettant une identification aisée. La donnée V, à multiplier par le facteur de multiplication A, est appliquée à une entrée du multiplicateur en réseau 30' par l'intermédiaire d'un commutateur 38d', lors de l'intervalle de temps T3, en lieu et place de l'application à ce moment-là du signal de sortie du circuit de retard d'une période 34. A l'intervalle de temps Tll, lorsque la multiplication a été achevée pour former U (i+1), c'est-à-dire A • V (i+1), des niveaux logiques zéro sont appliqués à l'autre entrée du circuit additionneur/ soustracteur 33', en lieu et place de l'information b10 (i— 1) en provenance du registre 35. Naturellement, les deux informations, de coefficient Kn et d'amplification A doivent être introduites dans la mémoire à empilements K 31 '. Comme on peut le voir sur les fig. 7 et 8, cette forme d'exécution incorpore la fonction effectuée par le multiplicateur 18 dans le cas de la fig. la dans la réalisation digitale du filtre en grille 10. Les données emmagasinées dans la mémoire à empilements K 31 ' sont indiquées dans la table III à la fin de la présente description détaillée. Le facteur d'amplification A est de préférence réajusté à la même cadence que les coefficients Kn sont réajustés dans la mémoire à empilements K 31'. We will now briefly consider figs. 7 and 8 where it will be seen that this circuit (including the intermediate results which are generated there) is similar to the circuit of fig. 5, with the exception of the following modifications: The reference signs of FIG. 7, which are generally the same as those of FIG. 5, are decked out with a premium allowing easy identification. The data V, to be multiplied by the multiplication factor A, is applied to an input of the network multiplier 30 'via a switch 38d', during the time interval T3, instead of l application at this time of the output signal of the delay circuit of a period 34. At the time interval T11, when the multiplication has been completed to form U (i + 1), that is to say say A • V (i + 1), zero logic levels are applied to the other input of the adder / subtractor circuit 33 ', in place of the information b10 (i— 1) coming from register 35. Naturally , the two pieces of information, of coefficient Kn and of amplification A must be introduced into the stacking memory K 31 '. As can be seen in fig. 7 and 8, this embodiment incorporates the function performed by the multiplier 18 in the case of FIG. la in the digital embodiment of the grid filter 10. The data stored in the stacking memory K 31 ′ are indicated in table III at the end of this detailed description. The amplification factor A is preferably readjusted at the same rate as the coefficients Kn are readjusted in the stack memory K 31 '.

On va considérer maintenant la fig. 9 qui représente, sous forme de schéma-bloc, le multiplicateur en réseau 30. Les lignes 32—1 à 32—9 reçoivent respectivement du moins significatif au plus significatif les bits des données de coefficients provenant de la mémoire à empilements 31 par l'intermédiaire des lignes 32. La ligne 32-10 reçoit de la mémoire à empilements K 31 la donnée concernant le signe. Une autre information d'entrée pour le multiplicateur à réseau 30 est reçue par l'intermédiaire de la ligne omnibus 40. Les lignes 40-1 à 40-12 de l'amenée omnibus 40 portent les bits respectivement du moins significatif au plus significatif et la ligne 40-13 porte l'information de signe de l'amenée 40. Sur la fig. 9, on voit tout un réseau d'éléments ayant les signes de référence A, B, C ou D (les éléments sans signes de référence sont des éléments du type A, c'est-à-dire correspondent à la fig. 10a. Ces éléments A-D correspondent aux circuits représentés aux fig. 10a-10d, respectivement. On se reportera brièvement à ces figures 10a-10d. Les circuits en question sont chacun représentés entourés d'une ligne cadre en traits pointillés. Certains conducteurs s'étendent au-delà de cette ligne cadre et leur position relative correspond à la manière dont ils sont mis en relation par des conducteurs qui les relient, à la fig. 9. Sur cette dernière, les éléments sont disposés sur huit lignes horizontales et douze colonnes. Les huit lignes correspondent aux huit étages précédemment mentionnés du multiplicateur à réseau 30. Ces étages sont identifiés sur le côté droit de la fig. 9 et ils comprennent les huit cellules de registre à décalage 31 couplées à la ligne 40-13. Les treize colonnes correspondent aux treize bits de données numériques (sur les lignes 40-1 à 40—12) introduits comme entrées sur le multiplicateur en réseau 30. Les données sur les lignes 40-1 à 40-13 se propagent à travers le multiplicateur en réseau 30 étage par étage à la manière de ce qui se passe dans un registre à décalage, en même temps qu'elles sont multipliées adéquatement dans le multiplicateur 30. Ainsi, le temps de propagation à travers tout étage donné est de l'ordre de l'intervalle de temps susmentionné de cinq microsecondes. We will now consider fig. 9 which represents, in the form of a block diagram, the network multiplier 30. The lines 32—1 to 32—9 respectively receive from the least significant to the most significant the bits of the coefficient data coming from the stack memory 31 by the intermediate of lines 32. Line 32-10 receives from the stack memory K 31 the data relating to the sign. Another input information for the network multiplier 30 is received via the bus line 40. The lines 40-1 to 40-12 of the bus line 40 carry the bits respectively from the least significant to the most significant and line 40-13 carries the sign information of the feed 40. In FIG. 9, we can see a whole network of elements having the reference signs A, B, C or D (the elements without reference signs are elements of type A, that is to say correspond to FIG. 10a. These elements AD correspond to the circuits represented in FIGS 10a-10d, respectively, reference will be made briefly to these figures 10a-10d. The circuits in question are each represented surrounded by a frame line in dotted lines. beyond this framework line and their relative position corresponds to the way in which they are put in relation by conductors which connect them, in Fig. 9. On the latter, the elements are arranged on eight horizontal lines and twelve columns. eight lines correspond to the eight stages mentioned above of the network multiplier 30. These stages are identified on the right side of Fig. 9 and they include the eight shift register cells 31 coupled to line 40-13. to the thirteen bits of digital data (on lines 40-1 to 40—12) entered as inputs on the network multiplier 30. The data on lines 40-1 to 40-13 propagates through the network multiplier 30 stages by stage in the manner of what happens in a shift register, at the same time that they are multiplied adequately in the multiplier 30. Thus, the time of propagation through any given stage is of the order of the interval of aforementioned time of five microseconds.

La ligne 32-1 de la mémoire à empilements K 31 est couplée à une entrée de douze portes ET 52—1 à 52—12 dont les secondes entrées sont respectivement couplées chacune à une des lignes 40-1 à 40-12. Les signaux de sortie des portes ET Line 32-1 of the stacking memory K 31 is coupled to an input of twelve AND gates 52—1 to 52—12, the second inputs of which are respectively coupled to one of lines 40-1 to 40-12. ET gate output signals

52-12 à 52—1 sont appliqués aux entrées de somme partielle des éléments de type A et B de l'étage 1 (voir fig. 10a et 10b). 52-12 to 52—1 are applied to the partial sum inputs of type A and B elements of stage 1 (see fig. 10a and 10b).

Les lignes 32—2 à 32-8 sont couplées aux entrées «de mémoire à empilements» (K-stack) des éléments de type A (fig. Lines 32—2 to 32-8 are coupled to the K-stack inputs of type A elements (fig.

510a) dans les étages 1 à 7 du multiplicateur en réseau 30 respectivement. La ligne 32-9 est couplée à l'entrée «line 32-9» des éléments de type C de l'étage 8 (voir fig. 10c). Les données sur les lignes 40-1 à 40-12 sont amenées sur les entrées «data-in» des éléments de l'étage 1 et, par celui-ci aux éléments des étages io 2 à 8 en passant par les sorties «data-out» de ces différents éléments. L'entrée de somme partielle des éléments de l'étage 1 reçoit l'information de sortie des portes ET 52-1 à 52-12, et, dans les étages suivants, cette entrée reçoit la sortie de somme partielle du prochain bit plus significatif (de l'étage précédent), 15 à l'exception de l'entrée de somme partielle des éléments dans lesquels se trouvent déjà les bits les plus significatifs, cas dans lequel l'entrée de somme partielle «partial sum» reçoit son signal depuis la sortie de report «carry out» du bit le plus significatif de l'étage précédent. Sinon les connexions de report de 20 tous les éléments sont connectées aux entrées de report (carry in) dans chaque étage. 510a) in stages 1 to 7 of the network multiplier 30 respectively. Line 32-9 is coupled to the "line 32-9" input of type C elements of stage 8 (see fig. 10c). The data on lines 40-1 to 40-12 are brought to the “data-in” inputs of the elements of stage 1 and, by this one to the elements of stages io 2 to 8 via the outputs “data -out 'of these different elements. The partial sum input of the elements of stage 1 receives the output information from AND gates 52-1 to 52-12, and, in the following stages, this input receives the partial sum output of the next most significant bit (from the previous stage), 15 with the exception of the partial sum entry of the elements in which the most significant bits are already found, case in which the partial sum entry "partial sum" receives its signal from the carry-out output of the most significant bit of the previous stage. Otherwise, the carry-over connections of all the elements are connected to the carry-in inputs in each stage.

Dans le circuit de la fig. 10a, la donnée provenant de la mémoire d'empilements K (K-stactlc) 31 détermine la connexion de la sortie «partial sum out» soit directement, en transit 25 par la porte 60, avec l'entrée «partial sum in» soit, par l'intermédiaire de la porte 61, avec la sortie de la porte OU EXCLUSIF 62. Une porte ET 63 et une porte OU EXCLUSIF 64 fonctionnent en réponse aux deux données «data-in» et «partial sum in». La porte OU EXCLUSIF 62 répond à la sortie de la 30 porte OU EXCLUSIF 64 et à l'entrée «carry in». Une porte ET 65 foncitonne en réponse à la sortie de la porte OU EXCLUSIF 64 et à l'entrée «carry in» et la sortie de cette porte est amenée, parallèlement à la sortie de la porte ET 63, à l'entrée d'une porte OU 66 qui délivre le signal de sortie «carry out». La sortie 35 «data out» correspond à l'entrée «data in», retardée par une section de registre à décalage 67 comprenant par exemple deux inverseurs. Comme on peut le voir sur la fig. 10c, un élément de type C est identique à un élément de type A à part le fait qu'il ne comprend pas de connexion de sortie «data out» et qu'il n'est 40 donc pas muni des sections de registres à décalage 67. In the circuit of fig. 10a, the data coming from the stacking memory K (K-stactlc) 31 determines the connection of the output “partial sum out” either directly, in transit 25 through gate 60, with the input “partial sum in” either , via gate 61, with the output of the EXCLUSIVE OR gate 62. An AND gate 63 and an EXCLUSIVE OR gate 64 operate in response to the two data “data-in” and “partial sum in”. The EXCLUSIVE OR gate 62 responds to the output of the EXCLUSIVE OR gate 64 and to the “carry in” input. An AND gate 65 operates in response to the output of the EXCLUSIVE OR gate 64 and to the “carry in” input and the output of this gate is brought, parallel to the output of the AND gate 63, to the input of an OR 66 gate which delivers the "carry out" output signal. The output 35 "data out" corresponds to the input "data in", delayed by a shift register section 67 comprising for example two inverters. As can be seen in fig. 10c, an element of type C is identical to an element of type A except for the fact that it does not include an output connection "data out" and that it is therefore not provided with sections of shift registers 67.

La fig. 10b montre un élément de type B qui fournit simplement, d'une part, une sortie «data out» couplée par l'intermédiaire d'éléments de registres à décalage 67' avec l'entrée «data in», et d'autre part, une sortie «carry out» provenant de la sortie 45 d'une porte ET 68 dont les deux entrées reçoivent respectivement les informations d'entrée «data in» et «partial sum in». A la fig. lOd, on voit qu'un élément de type D fournit simplement une sortie «carry out» qui provient d'une porte ET INVERSE 68' dont les entrées reçoivent les signaux «data in» et «partial 50 sum in». Fig. 10b shows a type B element which simply provides, on the one hand, a “data out” output coupled via shift register elements 67 ′ with the “data in” input, and on the other hand , a “carry out” output coming from the output 45 of an AND gate 68, the two inputs of which respectively receive the “data in” and “partial sum in” input information. In fig. lOd, we see that a type D element simply provides a "carry out" output which comes from an AND INVERSE 68 'gate whose inputs receive the signals "data in" and "partial 50 sum in".

Comme on peut le voir, une nouvelle somme partielle est calculée à chaque étage, ce calcul incluant le nécessaire transfert de l'information de report entre les éléments d'un étage, mais la sortie de somme partielle «partial sum out» reste inchangée si 55 l'information de la ligne provenant de la mémoire à empilements - K est un niveau logique zéro ou est additionnée à la donnée «data in» pour fournir la valeur de sortie «partial sum out» si l'information sur la ligne provenant de la mémoire de mémorisation des coefficients 31 est un niveau logique « 1 ». Les 60 sommes partielles sont décalées sur les places de bits moins significatrices, lorsque les données sont décalées à travers le multiplicateur à réseau. Naturellement, le digit de la position la moins significative est perdu à chaque étage du multiplicateur à réseau, mais, étant donné que l'indication de coefficient Kn pro-65 venant de la mémoire d'empilements 31 des coefficients K correspond à un nombre situé dans le domaine décimal de — 1 à + 1, cela est impliqué par le fait que la précision relative reste la même. Ainsi, si des niveau ligiques zéro apparaissent sur les As can be seen, a new partial sum is calculated for each stage, this calculation including the necessary transfer of the carry-over information between the elements of a stage, but the partial sum output “partial sum out” remains unchanged if 55 the line information coming from the stacking memory - K is a logic level zero or is added to the data “data in” to provide the output value “partial sum out” if the information on the line coming from the memory for memorizing the coefficients 31 is a logic level "1". The 60 partial sums are shifted to the least significant bit locations when the data is shifted through the grating multiplier. Naturally, the digit of the least significant position is lost on each stage of the network multiplier, but, since the indication of coefficient Kn pro-65 coming from the stack memory 31 of the coefficients K corresponds to a number located in the decimal range from - 1 to + 1, this is implied by the fact that the relative precision remains the same. Thus, if zero ligic levels appear on the

9 9

633 922 633,922

lignes 32-1 à 32-9, la sortie du multiplicateur en réseau 30 sera discutés en détail, puisqu'il s'agit d'éléments classiques bien un niveau logique zéro et, inversément, si les données sur les connus en eux-mêmes. Le circuit additionneur/soustracteur 33 lines 32-1 to 32-9, the output of the network multiplier 30 will be discussed in detail, since these are classic elements although a logic level zero and, conversely, if the data on the known in themselves . The adder / subtractor circuit 33

lignes 32-1 à 32-9 sont toutes des niveaux logiques 1, l'infor- (ou 33') reçoit des informations munies de signes sur ses deux mation entrant sur l'entrée omnibus 40 sera transmise de façon entrées et il doit déterminer s'il doit effectuer une opération de inchangée à la sortie du multiplicateur en réseau 30. Pour les 5 soustraction ou d'addition, en tenant compte du signe particulier autres combinaisons de données possibles sur les lignes 32—1 à introduit avec chacune des deux informations. lines 32-1 to 32-9 are all logical levels 1, the information (or 33 ') receives information provided with signs on its two mation entering on the omnibus entry 40 will be transmitted in entry way and it must determine if it must perform an unchanged operation at the output of the network multiplier 30. For the 5 subtraction or addition, taking into account the particular sign other possible combinations of data on lines 32—1 to be introduced with each of the two information.

32-9, les données arrivant sur l'amenée omnibus 40 seront réduites à une valeur intermédiaire entre leur valeur d'entrée et la Table I valeur zéro, ceci en 29 pas possible, en fonction de la valeur des données combinées sur les lignes 32-1 à 32-9. 10 EQUATION ETAGES 32-9, the data arriving on the omnibus 40 feed will be reduced to an intermediate value between their input value and Table I value zero, this in 29 not possible, depending on the value of the data combined on lines 32 -1 to 32-9. 10 STOREY EQUATION

Du fait que les données se décalent à travers le multiplicateur en réseau 30 étage par étage, à la manière de ce qui se passe Y 10(i)= Yii(i) K10b10(i-1) 10 dans un registre à décalage, les données de la mémoire à empilements K 31 pour les coefficients sont réparties «obliquement» Y9(i)=Y 10(i) — K9b9(i-1) 9 comme le montrent par exemple les tables II et III, pour assurer 15 b 10(i)=b9(i-I)+K9Y9 (i) 9 que le bit approprié du coefficient approprié arrive à l'instant approprié sur le multiplicateur en réseau 30. Sur les fig. 10a à Y8(i)=Y9(i)— K8b8(i-1) 8 Because the data shifts through the network multiplier 30 stages by stage, in the manner of what happens Y 10 (i) = Yii (i) K10b10 (i-1) 10 in a shift register, the data from the stacking memory K 31 for the coefficients are distributed “obliquely” Y9 (i) = Y 10 (i) - K9b9 (i-1) 9 as shown for example in tables II and III, to ensure 15 b 10 (i) = b9 (iI) + K9Y9 (i) 9 that the appropriate bit of the appropriate coefficient arrives at the appropriate time on the network multiplier 30. In fig. 10a to Y8 (i) = Y9 (i) - K8b8 (i-1) 8

10c, les impulsions de cadencement pour faire fonctionner les b9(i) — b8(i-l)+K8Yg(i) 8 10c, the timing pulses to operate the b9 (i) - b8 (i-l) + K8Yg (i) 8

circuits à la façon d'un registre à décalage, comme mentionné ci- circuits like a shift register, as mentioned above

dessus, ne sont pas représentées, étant donné qu'il s'agit de 20Y7(i)=Y8(i)-K7b7(i-l) 7 circuits bien connus des gens de métier. De telles fonctions de b8(i)=b7(i-l)+K7Y7(i) 7 cadencement peuvent être établies en ajoutant des portes commandées par des impulsions d'horloge au circuit selon les fig. Y6(i)='Y7(i) — KLgb6(i-l) 6 10a à 10c, ou en utilisant une logique du type à préparation et à b7(i)=b6(i-l)+K6Y6(i) 6 relâchement conditionné. Il n'y a donc pas lieu d'entrer ici en 25 above, are not shown, since it is 20Y7 (i) = Y8 (i) -K7b7 (i-l) 7 circuits well known to those skilled in the art. Such functions of b8 (i) = b7 (i-l) + K7Y7 (i) 7 timing can be established by adding gates controlled by clock pulses to the circuit according to fig. Y6 (i) = 'Y7 (i) - KLgb6 (i-l) 6 10a to 10c, or using a logic of the preparation type and in b7 (i) = b6 (i-l) + K6Y6 (i) 6 loosely conditioned. There is therefore no need to enter here in 25

détail dans des considérations concernant ce cadencement. Y5(i)=Y6(i)— K5b5(i-1) 5 Revenant à nouveau brièvement à la fig. 9, on remarque b6(i)=b5(i-l) + K5Y5(i) 5 encore que l'information de signe, sur la ligne 40-13 est simplement transférée, avec retard, à travers les huit étages du multi- Y4(i) = Y5(i) — K4b4(i-1) 4 plicateur en réseau 30, par des éléments de registres à décalage 30 b5(i)=b4(i-l)+K4Y4(i) 4 51, puis comparée avec le signe de la donnée de coefficient provenant de la mémoire 31, sur laligne 32-10, aumoyend'une Y3(i)=Y4(i)— K3b3(i-1) 3 porte OU EXCLUSIF 53, ce par quoi le signe correct est dévolu b4(i)=b3(i-l)+K3Y3(i) 3 à l'information qui apparaît à la sortie du multiplicateur, conformément aux règles normales de la multiplication. 35 Y2(i)=Y3(i)-K2b2(i-l) 2 En considérant à nouveau brièvement les fig. 5 et 7, on note b3(i)=b2(i-l)+K2Y2(i) 2 que l'on a principalement discuté en détail le multiplicateur en réseau 30 (ou 30'). Les autres éléments, tels que par exemple le Yx(i)=Y2(i)— Kjb^i-l) 1 detail in considerations regarding this timing. Y5 (i) = Y6 (i) - K5b5 (i-1) 5 Returning briefly to fig. 9, we notice b6 (i) = b5 (il) + K5Y5 (i) 5 although the sign information, on line 40-13 is simply transferred, with delay, through the eight stages of multi- Y4 ( i) = Y5 (i) - K4b4 (i-1) 4 network plicator 30, by elements of shift registers 30 b5 (i) = b4 (il) + K4Y4 (i) 4 51, then compared with the sign of the coefficient data coming from memory 31, on line 32-10, by means of a Y3 (i) = Y4 (i) - K3b3 (i-1) 3 gate OR EXCLUSIVE 53, whereby the correct sign is assigned b4 (i) = b3 (il) + K3Y3 (i) 3 to the information that appears at the output of the multiplier, in accordance with normal rules of multiplication. 35 Y2 (i) = Y3 (i) -K2b2 (i-l) 2 By briefly considering figs again. 5 and 7, we denote b3 (i) = b2 (i-l) + K2Y2 (i) 2 which we mainly discussed in detail the network multiplier 30 (or 30 '). The other elements, such as for example the Yx (i) = Y2 (i) - Kjb ^ i-l) 1

circuit additionneur/soustracteur 33 (ou 33') ou le circuit à re- b2(i)=b1(i-l)+K1Y1(i) 1 adder / subtractor circuit 33 (or 33 ') or the circuit at re- b2 (i) = b1 (i-l) + K1Y1 (i) 1

tard d'une période 34 (ou 34'), ou encore le registre à décalage 40 late in a period 34 (or 34 '), or the shift register 40

35 (ou 35') et la mémoire à verrou 36 (ou 36') n'ont pas été b1(i)=Y1(i) 35 (or 35 ') and the lock memory 36 (or 36') were not b1 (i) = Y1 (i)

45 45

Table II Table II

DONNES DELIVREES PAR LA MEMOIRE 31 DES COEFFICIENTS + PAR INTERVALLES DE TEMPS SORTIE MEM. DATA DELIVERED BY MEMORY 31 OF THE COEFFICIENTS + BY TIME-OUT INTERVALS MEM.

Bit ligne Bit line

Tl Tl

T2 T2

T3 T3

T4 T4

T5 T5

T6 T6

T7 T7

T8 T8

T9 T9

T10 T10

Tll Tll

T12 T12

T13 T13

T14 T14

T15 T15

T16 T16

T17 T17

T18 T18

T19 T19

T20 T20

LSB LSB

32-1 32-1

k2 k2

K! K!

K10 K10

k9 k9

k8 k8

k7 k7

KO

K5 K5

k4 k4

k3 k3

32-2 32-2

k2 k2

K10 K10

k9 k9

k8 k8

k7 k7

k6 k6

k5 k5

k4 k4

k3 k3

32-3 32-3

k3 k3

k2 k2

Ki Ki

K10 K10

k9 k9

k8 k8

k7 k7

Ke k5 Ke k5

k4 k4

32-4 32-4

k4 k4

k3 k3

k2 k2

Kx Kx

K10 K10

k9 k9

k8 k8

k7 k7

k6 k6

k5 k5

32-5 32-5

k5 k5

k4 k4

k3 k3

k2 k2

Kt Kt

K10 K10

Kg k8 Kg k8

k7 k7

Ke Ke

32-6 32-6

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

Kx Kx

K10 K10

k9 k9

k8 k8

k7 k7

32-7 32-7

k7 k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

K! K!

K10 K10

k9 k9

k8 k8

32-8 32-8

k8 k8

k7 k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

Ki Ki

K10 K10

k9 k9

MSB MSB

32-9 32-9

k9 k9

k8 k8

k7 k7

K6 K6

k5 k5

k4 k4

k3 k3

k2 k2

K! K!

K10 K10

SIGN. SIGN.

BIT BIT

32-10 32-10

k9 k9

k8 k8

k7 k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

K, K,

K10 K10

o o

Table III Table III

DONNEES DELIVREES PAR LA MEMOIRE 31 ' DES COEFFICIENTS, PAR INTERVALLES DE TEMPS SORTIE MEM. DATA DELIVERED BY THE MEMORY 31 'OF THE COEFFICIENTS, BY TIME-OUT INTERVALS MEM.

Bit Bit

Ligne Line

Tl Tl

T2 T2

T3 T3

T4 T4

T5 T5

T6 T6

T7 T7

T8 T8

T9 T9

T10 T10

Tll Tll

T12 T12

T13 T13

T14 T14

T15 T15

T16 T16

T17 T17

T18 T18

T19 T19

T20 T20

LSB LSB

32-1 32-1

k2 k2

Kj K J

A AT

k9 k9

Kg k7 Kg k7

KO

k5 k5

k4 k4

k3 k3

k2 k2

Ki Ki

Kio k9 Kio k9

Kg k7 Kg k7

k6 k6

Ks k4 Ks k4

k3 k3

32-2 32-2

k2 k2

Ki Ki

A AT

k9 k9

K8 K8

k7 k7

k6 k6

Ks k4 Ks k4

k3 k3

k2 k2

Ki kio k9 Ki kio k9

Kg k7 Kg k7

k6 k6

k5 k5

k4 k4

k3 k3

32-3 32-3

k3 k3

k2 k2

kj K J

A AT

k9 k9

Kg k7 Kg k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

K, K,

kio k9 kio k9

Kg k7 Kg k7

k6 k6

k5 k5

k4 k4

32-4 32-4

k4 k4

k3 k3

k2 k2

Ki Ki

A AT

k9 k9

Kg k7 Kg k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

Ki Ki

Kio k9 Kio k9

Kg k7 Kg k7

k6 k6

Ks Ks

32-5 32-5

k5 k5

K, K,

k3 k3

k2 k2

Ki Ki

A AT

k, k,

Kg k7 Kg k7

kfi k5 kfi k5

k4 k4

k3 k3

k2 k2

ki kio k9 ki kio k9

Kg k7 Kg k7

k5 k5

32-6 32-6

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

«•i "• i

A AT

k9 k9

Kg k7 Kg k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

ki ki

Kio k9 Kio k9

Kg k7 Kg k7

32-7 32-7

k7 k7

Ke k5 Ke k5

k4 k4

k3 k3

k2 k2

k! k!

A AT

k9 k9

Kg k7 Kg k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

ki kio k9 ki kio k9

Kg Kg

32-8 32-8

Kg k7 Kg k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

Ki Ki

A AT

k9 k9

Kg k7 Kg k7

k6 k6

Ks k4 Ks k4

k3 k3

k2 k2

ki kio k9 ki kio k9

MSB MSB

32-9 32-9

k9 k9

Kg k7 Kg k7

K6 K6

k5 k5

k4 k4

k3 k3

k2 k2

Ki Ki

A AT

k9 k9

Kg k7 Kg k7

k5 k5

k5 k5

k4 k4

k3 k3

k2 k2

ki kio ki kio

SIGN SIGN

32-10 32-10

k9 k9

Kg k7 Kg k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

k! k!

A AT

k9 k9

Kg k7 Kg k7

k6 k6

k5 k5

k4 k4

k3 k3

k2 k2

Ki kio Ki kio

B B

Claims (10)

633 922 633,922 2 2 REVENDICATIONS 1. Filtre digital fonctionnant en réponse à un signal d'excitation digital et à une pluralité de valeurs digitales représentant des coefficients de filtre, comprenant: 1. Digital filter operating in response to a digital excitation signal and to a plurality of digital values representing filter coefficients, comprising: - une première mémoire (31 ; 31') pour emmagasiner une pluralité de dites valeurs digitales, - a first memory (31; 31 ') for storing a plurality of said digital values, - un circuit multiplicateur (30 ; 30'), - a multiplier circuit (30; 30 '), - des premiers moyens (32 ; 32') pour coupler la dite première mémoire et le dit circuit multiplicateur, - first means (32; 32 ') for coupling said first memory and said multiplier circuit, - un circuit arithmétique (33 ; 33') ayant une entrée couplée au dit circuit multiplicateur, - an arithmetic circuit (33; 33 ') having an input coupled to said multiplier circuit, - une seconde mémoire (34,35,36; 34', 35', 36') pour emmagasiner les informations sortant du dit circuit arithmétique, et - a second memory (34,35,36; 34 ', 35', 36 ') for storing the information leaving the said arithmetic circuit, and - des seconds moyens (40 ; 40') pour coupler les informations de sortie du dit circuit arithmétique à une entrée du dit circuit multiplicateur, - second means (40; 40 ') for coupling the output information of said arithmetic circuit to an input of said multiplier circuit, caractérisé en ce que les dits seconds moyens couplent également (38C; 38C'), d'une façon sélective, l'information de sortie de la dite seconde mémoire à une entrée du dit circuit multiplicateur. characterized in that said second means also couple (38C; 38C '), selectively, the output information from said second memory to an input of said multiplier circuit. 2. Filtre digital selon la revendication 1, caractérisé en ce que la dite seconde mémoire comprend des premier et second circuits de retard (34,35 ; 34', 35'), le retard associé avec le dit second circuit de retard étant plus long que le retard associé avec le dit premier circuit de retard, et les dits seconds moyens couplant sélectivement (38B, 38C; 38B', 38C') les sorties des dits premier et second circuits de retard au dit circuit multiplicateur. 2. Digital filter according to claim 1, characterized in that said second memory comprises first and second delay circuits (34,35; 34 ', 35'), the delay associated with said second delay circuit being longer that the delay associated with said first delay circuit, and said second means selectively coupling (38B, 38C; 38B ', 38C') the outputs of said first and second delay circuits to said multiplier circuit. 3. Filtre digital selon la revendication 1 ou 2, caractérisé en ce qu'il comprend de plus des troisièmes moyens (37D, 37C, 37B; 37D', 37C', 37B') pour coupler sélectivement les sorties de la dite seconde mémoire et du dit circuit arithmétique à une autre entrée de ce circuit arithmétique. 3. Digital filter according to claim 1 or 2, characterized in that it further comprises third means (37D, 37C, 37B; 37D ', 37C', 37B ') for selectively coupling the outputs of said second memory and from said arithmetic circuit to another input of this arithmetic circuit. 4. Filtre digital selon la revendication 2, caractérisé en ce que la dite second mémoire comprend de plus des moyens de mémorisation à verrou (36 ; 36') pour emmagasiner temporairement l'information sortant du dit second circuit de retard, les dits seconds moyens étant agencés pour coupler sélectivement (38C; 38C) la sortie des dits moyens de mémorisation à verrou au dit circuit multiplicateur. 4. Digital filter according to claim 2, characterized in that said second memory further comprises lock storage means (36; 36 ') for temporarily storing the information leaving said second delay circuit, said second means being arranged to selectively couple (38C; 38C) the output of said latch storage means to said multiplier circuit. 5. Filtre digital selon la revendication 4, caractérisé en ce qu'il comprend de plus des troisièmes moyens (37D, 37C, 37B ; 37D', 37C', 37B') pour coupler sélectivement les sorties des dits moyens de mémorisation à verrou, dudit second circuit de retard, et du dit circuit arithmétique, à une autre entrée de ce circuit arithmétique. 5. Digital filter according to claim 4, characterized in that it further comprises third means (37D, 37C, 37B; 37D ', 37C', 37B ') for selectively coupling the outputs of said lock storage means, from said second delay circuit, and from said arithmetic circuit, to another input of this arithmetic circuit. 6. Filtre digital selon la revendication 5, caractérisé en ce que les dits seconds moyens comprennent des premiers moyens commutateurs (38C, 38B, 38A; 38C', 38B', 38A') pour coupler sélectivement les sorties des dits moyens de mémorisation à verrou, du dit premier circuit de retard et du dit circuit arithmétique, à une entrée du dit circuit multiplicateur, les dits troisièmes moyens comprenant des seconds moyens commutateurs (37D, 37C, 37B ; 37D', 37C', 37B') pour coupler sélectivement les sorties des dits moyens de mémorisation à verrou, du dit second circuit de retard et du dit circuit arithmétique, à la dite autre entrée de ce circuit arithmétique. 6. Digital filter according to claim 5, characterized in that said second means comprise first switching means (38C, 38B, 38A; 38C ', 38B', 38A ') for selectively coupling the outputs of said lock storage means , of the said first delay circuit and of the said arithmetic circuit, at an input of the said multiplier circuit, the said third means comprising second switching means (37D, 37C, 37B; 37D ', 37C', 37B ') for selectively coupling the outputs of said locking storage means, of said second delay circuit and of said arithmetic circuit, at said other input of this arithmetic circuit. 7. Filtre digital selon une des revendications 1 à 6, caractérisé en ce que le dit signal d'excitation (11) est couplé au dit circuit multiplicateur par les dits seconds moyens (40 ; 40'), un facteur d'amplification associé avec le dit signal d'excitation étant emmagasiné dans la dite première mémoire avec les dites valeurs digitales. 7. Digital filter according to one of claims 1 to 6, characterized in that said excitation signal (11) is coupled to said multiplier circuit by said second means (40; 40 '), an amplification factor associated with said excitation signal being stored in said first memory with said digital values. 8. Filtre digital selon l'une des revendications 1 à 7, caractérisé en ce que le dit signal d'excitation est couplé au dit circuit arithmétique. 8. Digital filter according to one of claims 1 to 7, characterized in that said excitation signal is coupled to said arithmetic circuit. 9. Filtre digital selon l'une des revendications 1 à 8, caractérisé en ce qu'il est agencé de manière que chacune des dites valeurs digitales soit réajustée une fois durant une pluralité de cycles, tandis que le dit signal d'excitation est réajusté une fois durant chaque cycle, chacun de ces cycles incluant une pluralité s d'intervalles de temps durant chacun desquels le dit circuit multiplicateur fait débuter une nouvelle opération de multiplication, celle-ci prenant une pluralité de dits intervalles de temps pour s'achever. 9. Digital filter according to one of claims 1 to 8, characterized in that it is arranged so that each of said digital values is readjusted once during a plurality of cycles, while said excitation signal is readjusted once during each cycle, each of these cycles including a plurality of time intervals during each of which the said multiplier circuit causes a new multiplication operation to begin, the latter taking a plurality of said time intervals to complete. 10. Utilisation du filtre digital selon la revendication 1, dans io un dispositif de synthèse de voix, pour produire des paroles humaines synthétisées, en réponse au dit signal d'excitation et aux dites valeurs digitales, le dispositif de synthèse de voix comprenant des moyens (13,14) couplés pour recevoir des signaux de sortie sélectionnés de la dite seconde mémoire et les conver-i5 tir en paroles humaines synthétisées audibles. 10. Use of the digital filter according to claim 1, in a voice synthesis device, to produce synthesized human words, in response to said excitation signal and said digital values, the voice synthesis device comprising means (13,14) coupled to receive selected output signals from said second memory and converts them into audible synthesized human speech.
CH666378A 1977-06-17 1978-06-19 Digital filter and use thereof in a voice-synthesis device CH633922A5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US80746177A 1977-06-17 1977-06-17

Publications (1)

Publication Number Publication Date
CH633922A5 true CH633922A5 (en) 1982-12-31

Family

ID=25196423

Family Applications (1)

Application Number Title Priority Date Filing Date
CH666378A CH633922A5 (en) 1977-06-17 1978-06-19 Digital filter and use thereof in a voice-synthesis device

Country Status (20)

Country Link
JP (1) JPS547838A (en)
AR (1) AR218313A1 (en)
AU (1) AU520897B2 (en)
BE (1) BE868205A (en)
BR (1) BR7803856A (en)
CA (1) CA1118104A (en)
CH (1) CH633922A5 (en)
CS (1) CS266303B2 (en)
DE (1) DE2826570A1 (en)
ES (3) ES470853A1 (en)
FR (1) FR2394933A1 (en)
GB (1) GB1603993A (en)
IL (1) IL54878A (en)
IT (1) IT1156831B (en)
MX (1) MX144810A (en)
NL (1) NL186425C (en)
PL (1) PL116404B1 (en)
SE (1) SE437747B (en)
SU (1) SU886760A3 (en)
ZA (1) ZA783305B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2020077B (en) 1978-04-28 1983-01-12 Texas Instruments Inc Learning aid or game having miniature electronic speech synthesizer chip
GB2131659B (en) * 1979-10-03 1984-12-12 Nippon Telegraph & Telephone Sound synthesizer
JPS6054680B2 (en) * 1981-07-16 1985-11-30 カシオ計算機株式会社 LSP speech synthesizer
AU588334B2 (en) * 1985-07-18 1989-09-14 Raytheon Company Digital sound synthesizer and method
US5048088A (en) * 1988-03-28 1991-09-10 Nec Corporation Linear predictive speech analysis-synthesis apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2199427A5 (en) * 1972-09-12 1974-04-05 Ibm France
US3979557A (en) * 1974-07-03 1976-09-07 International Telephone And Telegraph Corporation Speech processor system for pitch period extraction using prediction filters
NL7506141A (en) * 1975-05-26 1976-11-30 Philips Nv DIGITAL FILTER.
US3980873A (en) * 1975-06-27 1976-09-14 Aeronutronic Ford Corporation Digital convolutional filter
US4022974A (en) * 1976-06-03 1977-05-10 Bell Telephone Laboratories, Incorporated Adaptive linear prediction speech synthesizer

Also Published As

Publication number Publication date
SU886760A3 (en) 1981-11-30
NL7806366A (en) 1978-12-19
ES470853A1 (en) 1979-10-01
JPS6144320B2 (en) 1986-10-02
SE7806380L (en) 1978-12-18
CS266303B2 (en) 1989-12-13
BE868205A (en) 1978-10-16
FR2394933B1 (en) 1983-09-30
DE2826570C2 (en) 1988-10-20
GB1603993A (en) 1981-12-02
PL116404B1 (en) 1981-06-30
NL186425C (en) 1990-11-16
AR218313A1 (en) 1980-05-30
ZA783305B (en) 1980-01-30
IL54878A0 (en) 1978-08-31
BR7803856A (en) 1979-04-17
AU520897B2 (en) 1982-03-04
CS401978A2 (en) 1989-02-10
IT7849909A0 (en) 1978-06-16
MX144810A (en) 1981-11-23
IT1156831B (en) 1987-02-04
ES477928A1 (en) 1979-10-16
FR2394933A1 (en) 1979-01-12
JPS547838A (en) 1979-01-20
PL207704A1 (en) 1979-04-09
SE437747B (en) 1985-03-11
ES477929A1 (en) 1979-10-16
DE2826570A1 (en) 1979-01-04
IL54878A (en) 1980-07-31
NL186425B (en) 1990-06-18
AU3701778A (en) 1979-12-20
CA1118104A (en) 1982-02-09

Similar Documents

Publication Publication Date Title
FR2638883A1 (en) DIGITAL AUDIO SIGNAL GENERATION APPARATUS
EP0309037A1 (en) Serial pipeline multiplier
EP0198729A1 (en) Electronic circuit simulation system
FR2484172A1 (en) METHOD AND DEVICE FOR GENERATING A SERIES OF INTERPOLINE SAMPLES
BE897587A (en) PARALLEL CIRCUIT FOR CYCLIC REDUNDANCY CONTROL
EP0428445B1 (en) Method and apparatus for coding of predictive filters in very low bitrate vocoders
FR2488079A1 (en) DIGITAL FILTERING DEVICE
EP0022513B1 (en) Device for calculating a bidimensional discrete fourier transform
CH633922A5 (en) Digital filter and use thereof in a voice-synthesis device
EP0262032B1 (en) Binary adder having a fixed operand, and a parallel/serial multiplier comprising such an adder
FR2653557A1 (en) APPARATUS AND METHOD FOR SPEECH PROCESSING.
FR2648585A1 (en) METHOD AND DEVICE FOR RAPID MULTIPLICATION OF COMPLEMENT A 2 CODES IN A DIGITAL SIGNAL PROCESSING SYSTEM
EP0476592A2 (en) Address generator for the data storage of a processor
EP0237382A1 (en) Digital sampled signal cosine transforming device
FR2475250A1 (en) Fast multiplier for long binary numbers - uses multiple and=gates to multiply one bit of first number simultaneously with every bit of second number and groups like weighted bits
FR2466826A1 (en) SYNTHESIZER OF SOUNDS
EP0320352B1 (en) Numeric computation integrated circuit for convolution-like computations
EP1972061A2 (en) Cabac-type encoding device and method
JPH0230040B2 (en)
FR2463966A1 (en) CURVE SYNTHESIZER BY ADDITION OF DIFFERENT CURVES
EP0689366B1 (en) Telephonic tone detection circuit
EP0667680A1 (en) Method and device for vectorial quantification of a digital signal, applied in particular for compressing digital pictures
JP2556560B2 (en) Music tone generation method
EP0408439A1 (en) Programmable logic state signal generator
FR2723274A1 (en) PULSE GENERATOR AND METHOD FOR TESTING A NEUTRON COINCIDENCE SYSTEM

Legal Events

Date Code Title Description
PL Patent ceased