Brevet FR2317819A1 — publié le 19770204

L'invention se réfere au traitement de données numériques et concerne en particulier un filtre numérique récursif, dont les racines du numérateur de la fonction de transfert sont sur un cercle de rayon unité et dont l'échantillon de sortie est obtenu de l'échantillon d'entrée par une suite d'additions de produits partiels selon la formule où a i et bij sont des coefficients constants du filtre, Wi(n k) sont des valeurs discrètes Win retardés de k instants, et M est un nombre entier positif significatif de l'ordre du filtre. D'une manière générale, la substitution à un échantillon d'entrée dufiltre Xn, d'un échantillon de sortie ' Un but de l'invention est de réduire le nombre de multiplieurs et d'addi tionnsurs rentrant dans la constitution d'un filtre numérique d'ordre élevé, en vue de sa réalisation dans une unité de calcul à programmation ciblée et à complexité réduite. Ce résultat est atteint dans un filtre numérique récursif comme il est défini en préambule, qui est caractérisé selon l'invention par le fait qu'il est constitué d'une unité de calcul comportant une mémoire morte pour les coefficients a et b, une mémoire vive pour le stockage intermédiaire des valeurs discrètes Win, un multiplieur parallèle-série recevant selon un plan de ladite formule d'un c8té les coefficients a et b, et de l'autre coté les valeurs Win un additionneur série et un accumulateur série qui accumulent les données sortant du multiplieur et délivrent en fin de calcul la valeur Y n On voit donc qu'on peut faire le calcul selon la formule indiquée à l'aide d'un seul accumulateur, d'un seul multiplieur et d'un seul additionneur et l'échantillon de sortie s'établit successivement dans l'accumulateur série, sans avoir recours à des mémoires intermédiaires pour mémoriser les produits partiels. L'invention sera'décrite ci-après plus en détail à l'aide de deux figures et d'un exemple de réalisation. La figure 1 montre un schéma de principe du filtre numérique décomposé en cellule; d'ordre deux, à configuration canonique. La figure 2 représente un schéma de l'unité de calcul selon l'invention qui accomplit la fonction du filtre selon la figure 1. Le filtre selon la figure 1 correspond à la formule citée ci-dessus. il est composé de M cellules d'ordre deux, tells que 7. qui sont disposées en série entre une entre 2 pour l'échantillon d'entrée Xn, et une sortie 3, qui délivre l'échantillon de sortie Y . Chaque cellule a une configuration canonique, cela n vaut dire qu'elle comporte deux éléments à décalage 4 et 5 en série, disposés entre un additionneur 6 et un additionneur 7. La cellule comporte en outre trois multiplieurs à facteurs constants 8, 9 et 10. Ces facteurs constants constituent les coefficients caractéristiques de la cellule.Deux de ces multiplieurs 8 et 9, qui sont alimentés respectivement par la valeur qui est disponible à la sortie du deuxième élément à décalage 5, et celle qui est disponible à la sortie du premier élément de décalage 4, sont branchés sur l'additionneur 6, qui reçoit en outre l'entrée de la cellule. L'autre additionneur 7 reçoit la sortie de l'élément à décalage 5, la sortie de l'additionneur 6 et, à travers le multiplieur 10, la sortie du premier élément à décalage 4. La sortie de cet additionneur 7 constitue la sortie de la cellule. Dans la cellule i, le coefficient associé au multiplieur 8 est appelé bí le coefficient associé au multiplieur 9 s'appelle bi1, le coefficient associé au multiplieur 10 s'appelle ai, et la valeur discrète Wi à l'instant n est disponible à la sortie de l'additionneur 6. Les éléments de décalage 4 et 5 sont commandés de manière à retarder respectivement les valeurs Win et W1 (n-l) d'un instant unitaire du filtre. La valeur qui est disponible entre les deux éléments à décalage 4 et 5, est donc appelée Witn~1X, et la valeur disponible à la sortie de l'élément 5 s'appelle Wi(n 2). Toutes les cellules sont identiques entre elles, et entre l'entrée 2 et la première cellule on a disposé un autre multiplieur 11, auquel est associé le facteur aO. La structure du filtre numérique récursif selon l'invention, qui réalise le schéma de la figure 1, est représentée dans la figure 2. Ce filtre est réalisé comme unité de calcul numérique, qui comporte principalement une mémoire morte 12, une mémoire vive 13, un multiplieur 14 parallèle-série, et un accumulateur 15 série comportant un additionneur série 23. Pour la description qui suit, on suppose que les cellules de mémoire contiennent chacune quatre bits, qui peuvent être inscrits et extraits de la mémoire en parallèle et que la mémoire vive est associée à un registre 16 d'entrée-sortie, dont on peut extraire les informations multiplicateur en série en commençant par le bit de poids le plus faible. Les quatre bits sortant de la mémoire morte multiplicande sont transférés en mode parallèle à travers quatre portes ET 17 à l'entrée d'un additionneur parallèle 18 Les résultats de l'addition sont chargés en mode synchrone dans un registre universel 22. L'additionneur 18 et le registre 22 font partie du multiplieur 14.La multiplication est effectuée lorsqu'un signal de commande permet le passage des bits du registre 16 à travers une porte 21 vers les portes 17..Après chaque multiplication du multiplicande par un bit du multiplicateur le bit de poids le plus faible sortant de l'additionneur 18 est ajouté au contenu de l'accumulateur 15 et les quatre bits de poids forts en sortie de l'additlonneur 18 sont chargés en parallèle dans le registre 22 Après quatre multiplications élémentaires, ledit signal de commande ferme la porte 21 et un autre signal de commande, non représente, fait vider le registre 22 qui travaille alors en registre à décalage vers l'accumulateur série 15. Le transfert des bits de poids faibles et de poids forts vers l'accumulateur série 15, est commandé par le circuit d'aiguillage 24. Pour pouvoir effectuer un programme comme il est défini dans le schéma de principe de la figure 1, il faut que l'on inscrive d'abord la valeur initiale X dans le registre 16. On rsmet à zéro le contenu de l'accumulateur 15. Ensuite on extrait le coefficient aO de la mémoire 12 et on effectue la multiplication de ces deux valeurs selon le processus de multiplication expliqué ci-dessus. A chaque pas de la multiplication, un bit (selon les poids croissants) est délivré à l'accumulateur 15, et en fin de la multiplication le résultat est affiché dans cet accumulateur 15. Ensuite on sort la valeur discrète Wi(n1) de la mémoire vive, c'est-àdire, la valeur W1 de l'instant précédent, et on le multiplie avec le coefficient b11. Le résultat de cette multiplication est simultanément additionné au contenu précédent de l'accumulateur 15. Ensuite on sort la valeur discrète W1( 2) on la multiplie avec le coefficient b12, et on additionne ce produit au contenu précédent de l'accumulateur 15. Cet accumulateur affiche maintenant la valeur discrète W1n, qui est inscrite par une ligne sérielle 19 dans le registre 16 qui la transmet ensuite à la mémoire vive 13. Une opération analogue est répétée pour chaque produit partiel, et la valeur de sortie Y est obtenue à la fin de la dernière multiplication partielle n dans l'accumulateur série 15. Les différents cycles de multiplication, ainsi que la coordination des opérations à l'intérieur d'un tel cycle, sont commandés par une unité de commande 20 c blée, qui peut comporter une horloge pilote, des compteurs et un démultiplexeur des signaux de commande. De telles unités de commande sont bien connues dans la technique des calculateurs et ne nécessitent pas une description détaillée ici. La capacité de lEaccumulateur série 15 est suffisamment grande pour éviter le dépassement de capacité. L'ensemble des opérations multiplication et accumulation ne nécessite que N impulsions d'horloge. si N est la capacité de l'accumulateur série 15. il est à noter que le filtre selon l'invention -est relativement simple en vue de la structure du filtre choisi. Il ne comporte pas de mémoire de stockage pour les produits partiels, car le fonctionnement simultané du multiplieur 14 et de l'accumulateur 15 permettent de les accumuler aussitt dans cet accumulateur. En outre, le transfert en mémoire vive des valeurs discrètes calculées W s'effectue sans interruption du cycle d'accumulation. REVENDICATION Filtre numérique récursif, dont les racines du numérateur de la fonction de transfert sont sur un cercle d'unité et dont l'échantillon de sortis (Yn) est obtenu de l'échantillon d'entrée (Xn) par une suite d'additions de produits partiels selon la formule où ai et bij sont des coefficients constants du filtre, Wi(n-k) sont des valeurs discrètes Wik retardées de k instants et M est un entier positif qui est significatif de l'ordre du filtre, caractérisé par le fait qu'il est constitué d'une unité de calcul comportant une mémoire morte t12) pour les coefficients a et b, une mémoire vive t13) pour le stockage intermédiaire des valeurs discrètes Win, un multiplieur parallèle-série t14) recevant d'un côté les coefficients a et b et de l'autre c6té les valeurs Winî et un accumulateur-série unique (15) qui accumule les donnés sortant du multiplieur et délivre en fin de calcul la valeur Y n