FR2511169A1 - Processeur numerique de signal en temps reel - Google Patents

Processeur numerique de signal en temps reel Download PDF

Info

Publication number
FR2511169A1
FR2511169A1 FR8115102A FR8115102A FR2511169A1 FR 2511169 A1 FR2511169 A1 FR 2511169A1 FR 8115102 A FR8115102 A FR 8115102A FR 8115102 A FR8115102 A FR 8115102A FR 2511169 A1 FR2511169 A1 FR 2511169A1
Authority
FR
France
Prior art keywords
memory
processor
bus
input
multiplier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8115102A
Other languages
English (en)
Other versions
FR2511169B1 (fr
Inventor
Giuseppe Di Giugno
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IRCAM
Original Assignee
IRCAM
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 IRCAM filed Critical IRCAM
Priority to FR8115102A priority Critical patent/FR2511169B1/fr
Publication of FR2511169A1 publication Critical patent/FR2511169A1/fr
Application granted granted Critical
Publication of FR2511169B1 publication Critical patent/FR2511169B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Complex Calculations (AREA)

Abstract

PROCESSEUR NUMERIQUE DE SIGNAL EN TEMPS REEL. CE PROCESSEUR COMPREND DES MOYENS DE TRAITEMENT NUMERIQUE DE SIGNAL CONSTITUES PAR UNE PLURALITE DE MODULES DE TRAITEMENT INTERCONNECTES, CHAQUE MODULE COMPRENANT : UNE UNITE ARITHMETIQUE 115, UN MULTIPLICATEUR RAPIDE 120, UN REGISTRE A DECALAGE 130, UNE MEMOIRE DE FORMES D'ONDES 140, UNE MEMOIRE DE DONNEES 150, UNE MEMOIRE D'ADRESSES 160, UNE MEMOIRE DE MICROPROGRAMMES 180, CHAQUE MICROPROGRAMME CONTENANT DES INSTRUCTIONS APTES A INTERCONNECTER L'UNITE ARITHMETIQUE 110, LE MULTIPLICATEUR 120, LE REGISTRE A DECALAGE 130, LA MEMOIRE DE FORMES D'ONDES 140 SELON UNE CONFIGURATION PARTICULIERE. APPLICATION EN TRAITEMENT DE SIGNAL.

Description

La présente invention a pour objet un processeur numérique de signal en temps réel. Elle trouve des applications en traitement du son, en télécommunications, en traitement d'images, dans l'optimisation de conduite de processus, etc... et plus généralement dans toutes les techniques de traitement de signal en temps réel.
Il est fréquent dans les systèmes informatiques, d'associer à un ordinateur un organe périphérique chargé d'effectuer des traitements particuliers, ce qui décharge l'ordinateur de certaines tâches et le rend disponible pour d'autres.
L'organisation générale d'un tel système est illustré sur la figure 1. Un ord-inateur 10 est relié à une mémoire de masse 12 et à des organes de dialogue 14. Cet ordinateur est associé à un processeur périphérique 16. Ce processeur comprend tout d'abord un circuit 20 d'entrées-sorties ; certaines entrées 21 sontmunies d'un convertisseur numérique analogique 22 et d'autres, 23, d'un convertisseur analogique numérique 24. Ces entrées-sorties travaillent donc en analogique. Les autres entrées 25 et sorties 26 travaillent en numérique. Le processeur périphérique comprend encore une unité 30 de gestion des entrées-sorties, un circuit 40 de couplage avec l'ordinateur 10, une mémoire-tampon 50, des moyens 60 de traitement numérique et un circuit 70 de gestion des moyens 60. L'ensemble de ces moyens est interconnecté par un bus 80.
Dans un tel système l'ordinateur 10 gère le processeur périphérique 16. La mémoire de masse 12 stocke des informations destinées au processeur ou provenant de celui-ci.
Des signaux provenant de l'extérieur peuvent être appliqués aux entrées 21, 25. De même, des signaux délivrés par les sorties 23, 26 peuvent être appliqués à des moyens extérieurs non représentés et dont la nature dépend naturellement de l'application en cours.
Les processeurs périphériques utilisés jus qu'à ce jour comprennent des moyens de traitement numérique dont les différents éléments présentent une configuration déterminée à l'avance et qui est fonc-tion du traitement à effectuer. Si cette solution convient bien lorsque ce traitement est toujours le même, elle présente naturellement un inconvénient lorsqu'il s'agit d'effectuer des opérations différentes, pouvant varier en cours de traitement, ou d'un traitement à l'autre.
La présente invention résout ce problème en proposant des moyens de traitement composés d'éléments susceptibles d'être organisés selon diverses configurations. Celles-ci sont commandées par des microprogrammes qui sont enregistrés dans une mémoire spéciale. L'invention porte donc essentiellement sur un processeur tel que l'ensemble 16 de la figure 1 et plus particulièrement sur la structure et la fonction des moyens 60 du système appartenant à ce processeur.
De façon précise, la présente invention a pour objet un processeur numérique de signal en temps réel, destiné à être couplé à un ordinateur, ce processeur comprenant comme indiqué en référence à la figure 1, un circuit 20 d'entrées-sorties, une unité 30 de gestion des entrées-sorties, un circuit 40 de couplage avec l'ordinateur, une mémoire tampon 50, des moyens 60 de traitement numérique de signal, un circuit 70 de gestion des moyens 60 de traitement ; ce processeur est caractérisé en ce que les moyens 60 de traitement numérique de signal sont constitués par une pluralité de modules de traitement interconnectés; chaque module comprenant - une unité arithmétique, - un multiplicateur rapide, - un #registre à décalage, - une mémoire de fonctions, - une mémoire de données adressable contenant toutes
données manipulées par les différentes fonctions du
processeur, - une mémoire d'adresses exploitée séquentiellement
et permettant une exploration de la mémoire de don
nées, - une mémoire de microprogrammes, chaque micropro
gramme contenant des instructions aptes à intercon
necter l'unité arithmétique, le multiplicateur, le
registre à décalage et la mémoire de formes d'ondes,
selon une configuration particulière.
De toute façon, les caractéristiques et avantages de l'invention apparaîtront mieux après la description qui suit, d'exemples de réalisation donnés à titre illustratif et nullement limitatif. Cette description se réfère à des dessins annexés, qui font suite à la figure 1 déjà décrite et sur lesquels ::
- la figure 2 représente schématiquement l'organisation des cartes portant les circuits du processeur et leur mode de liaison,
- la figure 3 représente un schéma synoptique d'un des modules conforme à l'invention,
- la figure 4 montre un exemple de configuration réalisable avec un module de l'invention,
- les figures Sa, 5b, 5c et 5d illustrent quatre traitements pouvant être obtenus avec la configuration de la figure 3,
- la figure 6 montre un autre exemple de configuration réalisable avec un module de l'invention, cette configuration correspondant à un générateur de formes d'ondes,
- la figure 7 représente quatre fonctions possibles pouvant être obtenues avec la configuration de la figure précédente,
- la figure 8 illustre une autre configuration dérivée de celle de la figure 5 et permettant d'obtenir une modulation d'amplitude,
- la figure 9 représente encore une autre configuration faisant intervenir un registre à décalage,
- la figure 10 montre l'organisation de la mémoire d'adresses,
la la figure 11 représente trois diagrammes illustrant l'adressage du système,
- les figures 12a, 12b et 12c représentent à titre d'exem#ple d'application des circuits permettant de réaliser une fonction de filtrage.
Selon une technique connue, la plupart des circuits du processeur de 11 invention sont rassemblés sur des cartes. Celles-ci sont rassemblées dans un tiroir standardisé placé dans une baie. Cette baie contient également une alimentation 7,5 V servant à commander des régulateurs 5V implantés sur chaque carte.
La figure 2 représente schématiquement l'organisation pratique des circuits du processeur et précise les liaisons entre ces circuits.
Tel que représenté le processeur comprend huit cartes identiques de traitement, référencées de 101 à 108, l'ensemble formant un moyen 60 de traitement. La mémoire-tampon 50 est disposée sur une neuvième carte 109. L'unité de gestion 30 des entréessorties ainsi que le circuit 70 de gestion -sont groupés sur une carte supplémentaire 110. Enfin, le circuit 40 de couplage avec l'ordinateur est disposé sur une onzième carte 111.
Les cartes de traitement 101 à 108 ainsi que les cartes 109 et 110 sont reliées par un bus d'inter connexion 81 composé d'un bus récepteur 82, d'un bus émetteur 83 et d'un bus de données 84. Par ailleurs, toutes les cartes sont reliées par un bus-système 85 (bus Hz S) composé d'un bus de sélection 86, d'un bus d'adresses 87, d'un bus d'adresses de formes d'ondes 88 et d'un bus de données 89.
La communication entre le calculateur et les différentes cartes, via la carte de couplage 40, s'opère comme suit : un adressage hiérarchisé permet de choisir - une carte parmi 10, (de 101 à 110) par décodage, via
le bus 86 de sélection, - une mémoire dans la carte sélectionnée, hormis la
mémoire de formes d'ondes, par la partie haute du
bus d'adresses 87, - une position dans la mémoire sélectionnée, par la
partie basse du bus d'adresses 87.
Les données sont véhiculées par le bus bidirectionnel de données 89.
Les mémoires de formes d'ondes des cartes de traitement sont adressées par le bus d'adresses 88 issu d'une logique particulière implantée dans la carte 50.
La communication entre cartes est régie par - le bus émetteur 83 qui sélectionne la carte émet
teur, - le bus récepteur 82 qui sélectionne la ou les cartes
réceptrices, - le bus de données 84 véhiculant les données.
Avant de décrire plus en détail les cartes de traitement 101 à 108, quelques indications seront données sur la structure des cartes 109 à 111 qui leur sont associées.
La carte 109 tout d'abord contient une mémoire de lecture-écriture, à stockage permanent, d'une capacité de 16 K mots de 16 bits (K = 1024), assurant la liaison entre le processeur et les dispositifs placés sur le bus système 85 (bande magnétique, disque, etc...).
Cette mémoire-tampon est chargée de stocker deux types d'informations, des données et exceptionnellement des configurations fonctionnelles - les données sont, soit des informations produites
par le processeur, qui doivent être stockées en vue
d'une utilisation ultérieure ; soit des informa
tions destinées au processeur en vue d'un traite
ment ; - les configurations fonctionnelles sont des éléments
de programmation permettant de créer les différentes
structures fonctionnelles des cartes ; celles-ci
transitent habituellement directement de l'ordina
teur 10 vers la mémoire concernée, via le bus 85 ;
ce qui permet de créer et d'utiliser une bibliothè
que de structures fonctionnelles.
Un exemple tiré du domaine électro-acoustique peut être donné : après avoir obtenu une configuration orchestrale, la programmation définissant celle-ci peut être mémorisée en vue de sa réutilisation.
D'autre part, l'oeuvre produite peut également être mémorisée sous forme de données. Une oeuvre ainsi préenregistrée peut servir de données de base à un traitement ultérieur.
Quant à la carte 110, elle comprend : - des circuits d'horloge assurant la génération de si
gnaux d'interruption, - une logique d'arbitrage du bus d'interconnexion 81
et sa mémoire de signal associée, le tout consti
tuant le circuit de gestion 70, - l'unité de gestion des entrées-sorties assurant la
liaison entre le processeur et l'extérieur.
Les circuits d'horloge sont des compteurs programmables qui permettent de déterminer des intervalles de temps à la fin desquels une requête d'intervention au calculateur (interruption) l'oblige à suspendre la tâche qu'il effectuait, afin de modifier des éléments du traitement en cours dans le processeur.
Dans le domaine électro-acoustique par exemple, les principales applications des circuits d'horloge sont, l'élaboration d'enveloppes pour l'évolution des amplitudes et des fréquences des oscillateurs, l'évolution des fréquences de coupure de filtres, etc....
La logique d'arbitrage permet le transfert de données entre une carte et d'autres parmi les huit cartes de traitement, la carte mémoire 50 et la carte 110 elle-même, ceci par l'intermédiaire du bus d'interconnexion 81. Les interconnexions à réaliser sont spécifiées par le contenu d'une mémoire de 512 mots de 14 bits préalablement chargée par le calculateur.
L'unité de gestion des entrées-sorties gère la communication avec l'extérieur, soit sous forme numérique (entrées 25, sorties 26 de la figure 1), soit sous forme analogique (entrées 21, sorties 23) ; dans ce cas, elle prend en charge la gestion des convertisseurs analogiques-numériques et numériques-analogiques placés à l'extérieur.
En ce qui concerne la carte d'interface 40, elle assure la fonction classique de couplage entre le processeur et l'ordinateur choisi. Une partie de celle-ci est invariante, puisqu'elle crée le bus système 85, alors qu'une autre partie est spécifique de l'ordinateur utilisé et donc doit changer avec celuici.
Les cartes de traitement vont maintenant être décrites.
Chaque carte communique avec l'ordinateur
et sa périphérie par l'intermédiaire de la carte 40, à
l'aide du bus système 85, soit directement, soit par
l'intermédiaire d'une mémoire-tampon. Elle peut aussi
échanger les informations traitées avec les autres
cartes par l'intermédiaire du bus d'interconne
xion 81.
La structure fonctionnelle de la carte de traitement est illustrée par la figure 3. Les éléments fonctionnels communiquent entre eux par l'intermédiaire d'un bus A et d'un bus B selon une structure dite "pipe-line". Cette structure permet d'accroitre la vitesse de traitement. Elle consiste en une série de sections, chargées chacune d'effectuer une partie du traitement, les informations se succédant dans les sections comme le fait un fluide dans une canalisation.
Les éléments fonctionnels constituant la carte comprennent a) - une unité arithmétique 115 pouvant effectuer, sur
des nombres X et Y, des opérations arithmétiques
telles que X+Y, X-Y, Y-X, par exemple sur 24
bits ; b) - un multiplicateur rapide 120 réalisant l'opéra
tion XxY sur 16 bits en entrée, avec 24 bits en
sortie c) - un registre à décalage 130 permettant de réaliser
des interpolations linéaires en conjugaison avec
l'unité arithmétique 115 et le multiplica
teur 120 ; d) - une mémoire de fonctions 140, par exemple de 64
Kmots de 16 bits, contenant les échantillons des
formes d'ondes que l'on désire créer.Cette mé
moire peut être divisée au maximum en 64 blocs de
1 Kmot, ce qui permet de disposer de 64 formes
d'ondes différentes; e) - une mémoire données 150, par exemple de 512 mots
de. 24 bits, contenant les informations traitées
par l'unité 115, le multiplicateur 120 et conte
nant aussi des adresses pour la mémoire de fonc
tions 140 ; l'ordinateur ainsi que les autres
cartes du processeur peuvent avoir accès à cette
mémoire ; f) - une mémoire d'adresses 160, par exemple de 1024
mots de 9 bits, permettant l'exploration séquen
tielle de la mémoire de données 150 pendant le
déroulement du microprogramme ; cette explora
tion est commandée par un compteur 161 relié à un
multiplexeur 162 ; par ailleurs la mémoire
d'adresses 160 est reliée à la mémoire de données
150 par un multiplexeur d'adresses 170 ; g) - une mémoire de microprogrammes 180, par exemple
de 512 mots de 32 bits, contenant jusqu'à 16 con
figurations de fonctionnement pour la carte ;
chaque configuration, constituée par 32 mots de
32 bits, permet l'interconnexion des différents
éléments de la carte et constitue le micropro
gramme exécuté ; (un microprogramme est la suite
des opérations à effectuer pour exécuter une ins
truction) ; h) - chaque carte peut comprendre également deux mé
moires-tampon 181, 185 disposées respectivement
entre le bus A et le bus d'interconnexion 81 et
le bus B et le bus système 85.
L'ensemble de ces éléments, interconnectés selon le microprogramme en cours, peut échanger des informations (données ou adresses) avec les autres cartes du système, via le bus d'interconnexion 81 ou avec l'extérieur via le bus système 85.
Les éléments décrits ci-dessus peuvent être utilisés séparément ; toutefois, c'est par leur assem blage en structures fondamentales, réalisé par microprogrammation que se trouvent matérialisés les éléments fonctionnels du traitement à effectuer.
Parmi un large éventail de possibilités, les figures 4, 5, 6, 8, 9 représentent quelques structures fondamentales parmi les plus utilisées dans le traitement du signal. Chacune de ces structures permet de réaliser plusieurs types de traitement.
La structure de la figure 4 tout d'abord montre un multiplicateur 120 à deux entrées el et e2, une unité arithmétique 115 dont une entrée e3 est reliée au multiplicateur 120 et dont une autre entrée est notée e4. Cette unité délivre un signal sur une sortie s.
Selon les signaux appliqués aux entrées el, e2 et e41 on obtient différentes fonctions comme le montrent, de manière non exhaustive, les schémas des figures Sa, 5b, 5c et 5d.
Selon le schéma de la figure Sa, deux nom bres ai et bi (i représentant un rang dans une suite)
i I sont appliqués sur les entrées du multiplicateur 120 et l'entrée e3 de l'unité arithmétique 115 est fixée à 0. La sortie de cette unité délivre un nombre noté si+l égal au produit de ai par b. :
si+l = aibi
Selon le schéma de la figure 5b, l'entrée e reçoit un nombre ai, l'entrée e2 un signal unitaire 1, et l'entrée e4 un nombre bi. La sortie s délivre alors un signal somme
si+l = ai + bi
Selon le schéma de la figure 5c, les entrées el et e2 reçoivent des nombres ai et bi, et l'entrée
I i e4 est reliée à la sortie s.On obtient alors un signal de sortie si+l de la forme :
si+l = ai bi + Si ce qui permet le calcul d'expressions du type
agbg + albl + a2b2
Enfin, selon le schéma de la figure 5d, l'entrée el est rebouclée sur la sortie s, l'entrée e2 reçoit un signal x, et l'entrée e4 un signal ai. Le signal de sortie est de la forme :
si+l = Si X + ai ce qui permet le calcul de polynomes par la formule récurrente : Si+l = (Si-l X + af-1)x X + ai
La figure 6 illustre une configuration faisant intervenir l'unité arithmétique 115 qui travaille avec trois entrées e3, e4, e5 et la mémoire de formes d'ondes 140. Cette dernière contient des échantillons des fonctions à reproduire.Cette mémoire comprend une entrée de sélection e6 et une seconde entrée e7 qui correspond à une adresse. Cette entrée est reliée à la sortie s de l'unité 115. La mémoire 140 possède par ailleurs une sortie t.
Une forme d'onde particulière est obtenue, d'une part en choisissant un signal approprié sur l'entrée e6 et, d'autre part, en explorant séquentiellement la mémoire afin de placer sur la sortie t la suite des échantillons correspondants. La figure 7 re présente quatre fonctions possibles. Le mode d'exploration détermine l'occurrence temporelle de la forme d'onde. Ainsi, une incrémentation simple de l'adresse de la mémoire 140 fera apparaître, dans le cas de l'onde n0 1, une sinusoïde dont la fréquence est liée à l'incrément (plus l'incrément est grand, plus la fréquence est élevée). Un incrément variable permet de réaliser une modulation de fréquence.
Sur les entrées de l'unité 115, on peut présenter la phase initiale Yi (entrée e3) la fréquence F (entrée e4), le pas de fréquence tF (entrée e5) et les paramètres de la modulation de fréquence. Dans ce cas, la sortie s délivrant 3 est rebouclée sur l'en
i+l trée e3.
Le schéma de la figure 8 correspond à celui de la figure 6 (unité arithmétique 115 et mémoire de formes d'ondes 140) avec, en plus, un multiplicateur 120 relié à la sortie de la mémoire 140. Par ailleurs, ce multiplicateur-recoit sur son entrée e2 un signal A permettant d'obtenir une modulation d'amplitude.Le signal de sortie noté SS1 délivré par le multiplicateur 120 peut être mélangé à un autre signal, noté SS2, par une seconde unité arithmétique 115' recevant ces deux signaux sur ses entrées e3 et e5,.
La figure 9 représente une variante dans laquelle le circuit de la figure 6 est complété par le registre à décalage 130 dont l'entrée e8 est reliée à la sortie s de l'unité 115. Ce circuit permet de réaliser une interpolation linéaire en utilisant les bits de poids faible, (en deçà du 16ème, par exemple, pour 24 bits manipulés pendant le calcul).
Naturellement, plusieurs configurations fonctionnelles telles que celles qui viennent d'etre décrites peuvent être regroupées par microprogrammation sur une même carte.
Pour ce qui est du séquencement du système, il est obtenu par une horloge dont la fréquence est, selon un mode de réalisation utilisé par le demandeur, de 1E,384 MHz. Dans ce cas, un cycle d'instruction élémentaire, ou microcycle a une durée de 61,035 ns.
Durant chaque microcycle, la mémoire du mi croprogramme délivre une microinstruction qui établit la configuration fonctionnelle correspondant à l'action exécutée durant ce microcycle. Les opérandes sur lesquelles travaillent les microinstructions ont leurs adresses dans la mémoire d'adresses 160. Les 32 microinstructions, correspondant aux 32 mots de la mémoire de microprogrammes 180, forment un cycle intermédiaire de durée 1,95 :#s.
Le microprogramme, dans un cycle complet de durée 62,5 '#s est exécuté 32 fois avec des données différentes, ce qui implique que la mémoire d'adresses 160 ait une taille de 32x32 mots, soit 1024 mots.
L'organisation de cette mémoire est illustrée sur la figure 10. Les 32 blocs de la mémoire 160 sont référencés respectivement : Ao pour celui qui contient les adresses relatives au cycle O, A1 pour celui qui contient les adresses relatives au cycle 1, etc... et A pour le dernier.
L'exploration des adresses est illustrée sur la figure 11, qui comprend trois diagrammes temporels : le premier, a, représente les impulsions d'hor- loge de microprogramme H > P, le second, b, les adresses explorées dans la mémoire de microprogrammes 180, soit A#P, et le troisième, c, les adresses de la mémoire d'adresses 160, soit AMA.
On remarque que les structures fondamentales créées durant un cycle intermédiaire sont obtenues 32 fois durant le cycle complet.
Par exemple, il est possible de créer sept multiplieurs-additionneurs du type de la figure 4 du rant un cycle intermédiaire, soit 7x32 = 224 multi plieurs-additionneurs travaillant sur des données distinctes durant un cycle complet. La période d'échantillonnage du traitement du signal est dans ce cas de 62,5 sss, soit une fréquence d'échantillonnage de 16000 Hz, ce qui correspond à une bande passante de signal traité de 8000 Hz. (Le théorème de Shannon montre que la bande passante maximale d'un si gnal échantillonné est la moitié de la fréquence d'échantillonnage).
Pour traiter des signaux de bande passante supérieure, il faut répéter à l'intérieur du cycle complet, le microcycle utilisé.
Il est ainsi possible d'échantillonner à des fréquences de 32 kHz, 64 kHz, 128 kHz, 256 kHz, 512 kHz, soit des bandes passantes de 16 kHz, 32 kHz, 64 kHz, 128 kHz, 256 kHz. Toutefois, le nombre de structures fondamentales créées est réduit dans le meme rapport.
A titre d'exemple d'application une configuration réalisant une fonction complexe de filtrage va maintenant être décrite.
Un système du second ordre satisfait à l'équation différentielle : S" + S' + S# =
Q
Si E est une entrée on peut montrer que S est une sortie correspondant à un filtrage passe-bas, SQX une
Q sortie correspondant à un filtrage passe-bande, et n une sortie correspondant à un filtrage passe-haut.
La lettre w désigne une pulsation d'accord et Q un coefficient de surtension. Cette équation peut être résolue à partir du circuit analogique de la figure 12a. Ce circuit comprend deux intégrateurs 201 et 202, deux multiplicateurs 203 et 204 et un additionneur-soustracteur 205 à trois entrées. Les grandeurs d'entrée sont les signaux UQ, appliqués sur le multiplicateur 203, w2 sur le multiplicateur 204 et E sur une entrée positive de l'additionneur-soustracteur 205.
Les intégrateurs peuvent être réalisés numériquement à l'aide d'additionneurs-accumulateurs par un simple rebouclage, ce qui conduit au schéma de la figure 12b qui résout l'équation
Su ~ SI
Sw ~ (E-S) X Q plus propre à fournir les trois sorties désirées. Le circuit représenté comprend quatre multiplicateurs 211, 212, 213 et 214 et quatre additionneurs 221, 222, 223 et 224. Ce schéma peut être réalisé à l'aide de l'élément fonctionnel de la figure 4 et conduit au schéma de la figure 12c qui comprend quatre ensembles 231, 232, 233 et 234.
Pour illustrer les possibilités du système qui vient d'être décrit, quelques exemples de réalisation de cartes spécialisées vont être inventoriés.
EXEMPLE 1
Une carte rassemble l'équivalent de 128 oscillateurs indépendants à deux entrées en fréquence.
En utilisant huit cartes semblables, il est possible de disposer de 1024 oscillateurs.
Ces 128 oscillateurs sont obtenus par multiplexage temporel - quatre oscillateurs sont créés durant un cycle in
termédiaire (déroulement complet du microprogram
me), - la sucession des 32 cycles intermédiaires formant le
cycle complet conduit au total de 128.
EXEMPLE 2
Une carte représente l'équivalent de 224 multiplicateurs-additionneurs (32 cycles de sept multiplicateurs-additionneurs) pouvant réaliser jusqu'à 56 filtres du deuxième ordre.
EXEMPLE 3
Une carte représente l'équivalent, simultanément de : - 64 oscillateurs à plus d'une entrée, permettant de
réaliser jusqu'à 32 interpolateurs ou 32 retards va
riables, - 64 opérateurs linéaires (multiplicateurs-addition
neurs) permettant par exemple de réaliser 16 filtres
universels du deuxième ordre (passe-haut, passe
bas, passe-bande) ou des filtres d'ordres plus éle
vés, - 32 unités logiques, - et 32 oscillateurs d'écriture dans la table mémoire
de fonctions.
EXEMPLE 4
Une carte contient les circuits aptes à effectuer la transformée de FOURIER rapide d'un signal selon les algorithmes de COOLEY et SANDE. Les résultats suivants ont été obtenus : - le signal étant échantillonné à la fréquence de
16000 Hz, donc une bande passante de 8000 Hz, il est
possible de traiter 512 points si les valeurs sont
réelles, ou 256 dans le cas de valeurs complexes.
Ainsi, le siqnal Peut avoir une durée de :
Figure img00160001
d'une finesse d'analyse de 30 Hz.
en échantillonnant le signal à la fréquence de
512 kHz, donc une bande passante de 256 kHz, en
traitant le même nombre de points, la durée est ra
menée à 1 ms, d'où une finesse d'analyse de 1000 Hz.
Les valeurs intermédiaires sont évidemment possi
bles.
Cette opération met en jeu environ un quart de la carte, la partie restante pouvant effectuer d'autres opérations.
il est possible d'utiliser 8 cartes analogues, ce qui permet de traiter plusieurs signaux simultanément et ainsi de calculer des transformées de
FOURIER rapides multidimensionnelles.
Le logiciel associé au système qui vient d'être décrit doit être appréhendé à divers niveaux - le logiciel de configuration du système : micropro
grammation et macroprogrammation, - le logiciel d'utilisation.
Pour le logiciel de configuration du système me, la microprogrammation s'effectue à deux niveaux : - l'écriture de la mémoire de microprogrammes détermi
ne des structures fondamentales telles que celles
présentées sur les figures 4, 6, 8, 9. Pour un champ
d'application donné, cela conduit à la détermination
une fois pour toutes d'un certain nombre de modèles
qui seront les éléments de base utilisés par la sui
te dans ce type d'application ; - l'écriture de la mémoire d'adresses détermine les
liaisons entre les structures fondamentales du modè
le pour effectuer un traitement particulier à l'in
térieur du champ d'application.
Les modèles étant créés, l'utilisation du système consiste essentiellement à réaliser les interconnexions, c'est-à-dire l'écriture de la mémoire d'adresses. C'est pourquoi un logiciel évolué peut être mis au point pour faciliter cette tache.
I1 peut exister plusieurs versions de ce logiciel, dit logiciel d'interconnexion, qui s'adressent à des utilisateurs distincts. Certains restent près du matériel (utilisation des grandeurs en octal, définition des mémoires utilisées, etc...) d'autres veulent ignorer la machine (utilisation de noms de variables mnémoniques, introduction des fréquences en Hz, etc...),
Tous ces logiciels sont "transportables", c'est-à-dire qu'ils peuvent fonctionner sans modification sur plusieurs ordinateurs différents. Seules quelques instructions en assembleur, pour gérer les ordres d'entrées-sorties, sont à reprendre.
Quant au logiciel d'utilisation du système, il est défini par cette utilisation, en fonction du traitement à effectuer.
Après cette description, on voit que le processeur de l'invention présente les caractéristiques suivantes : il s'agit d'un périphérique #intelligent et autonome. Pendant son fonctionnement, l'ordinateur hôte peut être utilisé à d'autres tâches, telles que la gestion des modes de fonctionnement du système, ou tout traitement préparatoire ne s'effectuant pas en temps réel, les traitements en temps réel étant entièrement pris en charge par le processeur.
Le concept de base dans ce système est la multiplication apparente des structures fondamentales, par multiplexage temporel.
Le système de l'invention est apte à traiter numériquement des problèmes complexes dans les domaines linéaire et non linéaire, ce qui en fait un outil tout indiqué dans le traitement numérique du signal et de l'information. Les principales fonctions pouvant être remplies sont les suivantes - génération de signaux pour toutes les méthodes de
synthèse connues, - transformée de FOURIER réciproque (obtention du si
gnal à partir de son spectre), - mesure, - analyse de spectre, - détermination de fonctions de transfert, - mesure des propriétés statiques, - détermination des transformées de FOURIER (trans
formation de FOURIER rapide), - corrélation, convolution, déconvolution, - filtrage, - intégration cohérente, - égalisation, - simulation en temps réel et émulation, - filtrage et synthèse par codage linéaire prédic
tif (LPC).

Claims (1)

  1. REVENDICATION
    Processeur -numérique de signal en temps réel, destiné à être couplé à un ordinateur (10), ce processeur comprenant un circuit (20) d'entrées-sorties, une unité (30) de gestion des entrées-sorties, un circuit (40) de couplage avec l'ordinateur, une mémoire-tampon (50), des moyens (60) de traitement numérique de signal, un circuit (70) de gestion des moyens (60) de traitement, ce processeur étant caractérisé en ce que les moyens (60) de traitement numérique de si-gnal sont constitués par une pluralité de modules de traitement (101, 102, 103...) interconnectés, chaque module comprenant : : - une unité arithmétique (115), - un multiplicateur rapide (120), - un registre à décalage (130), - une mémoire de fonctions (140), - une mémoire de données (150) adressable contenant
    toutes données manipulées par les différentes fonc
    tions du processeur, - une mémoire d'adresses (160) exploitée séquentiel
    lement et permettant une exploration de la mémoire
    de données, - une mémoire de microprogrammes (180), chaque micro
    programme contenant des instructions aptes à inter
    connecter l'unité arithmétique (110), le multipli
    cateur (120), le registre à décalage (130), la
    mémoire de formes d'ondes (140) selon une configura
    tion particulière.
FR8115102A 1981-08-04 1981-08-04 Processeur numerique de signal en temps reel Expired FR2511169B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8115102A FR2511169B1 (fr) 1981-08-04 1981-08-04 Processeur numerique de signal en temps reel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8115102A FR2511169B1 (fr) 1981-08-04 1981-08-04 Processeur numerique de signal en temps reel

Publications (2)

Publication Number Publication Date
FR2511169A1 true FR2511169A1 (fr) 1983-02-11
FR2511169B1 FR2511169B1 (fr) 1987-05-07

Family

ID=9261150

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8115102A Expired FR2511169B1 (fr) 1981-08-04 1981-08-04 Processeur numerique de signal en temps reel

Country Status (1)

Country Link
FR (1) FR2511169B1 (fr)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EXBK/78 *
EXBK/81 *

Also Published As

Publication number Publication date
FR2511169B1 (fr) 1987-05-07

Similar Documents

Publication Publication Date Title
Sid-Ahmed Image processing, theory, algorithms and architectures
CA1211220A (fr) Processeur de signaux numeriques a reseau de commutation a barres croisees
US5375250A (en) Method of intelligent computing and neural-like processing of time and space functions
CN106794009A (zh) 超声信号处理电路及相关设备和方法
US6018754A (en) Apparatus for filtering a signal utilizing recursion and decimation
US4627026A (en) Digital real-time signal processor
EP0275765A1 (fr) Circuit intégré de traitement numérique de signaux
EP0171305A1 (fr) Circuit de calcul de la transformée de Fourier discrète
EP0104290B1 (fr) Processeur numérique de signal en temps réel
EP0285316A2 (fr) Filtre numérique programmable à plusieurs étages
US5029079A (en) Apparatus and method for flexible control of digital signal processing devices
US5841681A (en) Apparatus and method of filtering a signal utilizing recursion and decimation
US4554629A (en) Programmable transform processor
FR2511169A1 (fr) Processeur numerique de signal en temps reel
EP0043745B1 (fr) Système de traitement et de mémorisation de données numériques, notamment pour tomodensitomètre
EP0327445A1 (fr) Multiplieur numérique généralisé et filtre numérique mettant en oeuvre ce multiplieur
Reeves Optimized fast Hartley transform for the MC 68000 with applications in image processing
Nordström Real time digital signal processing using Matlab
Kaiser The digital filter and speech communication
Wins I DALANCO SPRY I
FR2741448A1 (fr) Procede et dispositif d'analyse spectrale rapide et reconfigurable
Schell The Engineer's Choice for the Latest in Signal Processing
JPH05173584A (ja) 効果付加装置
EP1218820A1 (fr) Procede de placement automatique des taches d'une application dans une machine de traitement de signal
Brodersen et al. Evolution of microsystem design

Legal Events

Date Code Title Description
CL Concession to grant licences
ST Notification of lapse