Brevet FR2668319A1 — publié le 19920424

L'invention concerne les filtres numériques, et plus particulièrement un filtre numérique à moyenne d'amplitude qui présente une réponse rapide à des valeurs d'entrée reçues. Des filtres numériques sont bien connus dans l'art antérieur De tels filtres peuvent être configurés sur des calculateurs à usage général tels que représentés en 10 sur la figure 1 des dessins annexés décrits ci-après. Un tel calculateur à usage général comprend une unité arithmétique et logique (UAL) 12 qui comprend une partie réservée pour un logiciel 14 de filtre (qui a été précédem- ment chargé dans cette unité). Un convertisseur analogique-numérique (A/N) 16 reçoit un signal analogique d'entrée qui lui est appliqué par un conducteur 18 Après la conversion du signal d'entrée en valeurs numériques, ces dernières sont appliquées à un bus 20 d'o elles sont transportées soit à une mémoire vive (RAM) 22, soit à une mémoire sur disque 24 L'unité arithmétique logique 12, en association avec son logiciel de filtre, peut alors travailler sur les valeurs numériques reçues, soit en tant réel, soit en différé Le signal filtré est ensuite réappliqué au bus 20 et transmis, par l'intermédiaire d'une surface 26 d'en- trée/sortie, à un dispositif récepteur. Le convertisseur A/N 16 échantillonne périodi- quement des signaux d'entrée apparaissant sur le conducteur 18 et en produit des valeurs d'amplitude numérique distinctes La cadence à laquelle le convertisseur A/N 16 applique des signaux au bus 20 est commandée par des ordres provenant de l'unité arithmétique logique 12 Le filtre est mis à jour une fois par échantillon. L'un des meilleurs algorithmes de logiciel de filtrage d'amplitude connus crée une fonction de filtrat appelée "filtre à moyenne mobile" Dans un tel filtre, chaque valeur d'échantillon d'entrée est multipliée par une fraction appelée ci-après "le facteur du filtre" et est ensuite additionnée aux moyennes de valeurs de lecture établies précédemment, multipliées par 1 le facteur de filtre pour produire une nouvelle valeur moyenne L'opéra- tion de ce filtre est exprimée par: AV Gi = ( 1 x)(AVG)i-_ + x(RDG) i ( 1) o: AV Gi = ième valeur moyenne RD Gi = ième valeur de lecture x = facteur de filtre (inférieur à 1) La réponse d'un tel filtre à moyenne mobile est montrée sur la figure 2 Une forme d'onde 30 apparait en réponse à une entrée étagée 32 qui passe d'une tension E 1 à une tension E 2 La forme d'onde 30 du filtre peut être exprimée par: E(n) = (l-x)E(n-1) + x E 2 ( 2) L'équation 2 est le résultat de l'application de l'équation 1 aux formes d'ondes de la figure 2, n représentant le nombre numéro de l'échantillon de tension particulier appliqué au filtre. En utilisant la technique de filtre à moyenne mobile, les amplitudes des signaux distincts qui résultent de l'opération de l'équation 2 sont les suivantes: E( 0) = E 1 E( 1) = ( 1-x)E( 0) + x E 2 = E 2 (E 2-E 1) ( 1-x)2 E( 2) = ( 1-x)E( 1) + x E 2 = E 2 (E 2-E 1)( 11-x)3 E( 3) = ( 1-x)E( 2) + x E 2 = E 2 (E 2-E 1)( 1-x) E(n) = E 2 (E 2-E 1) ( 1-x) n ( 3) L'inverse du facteur de filtre x, appelé ci- après "la constante de filtre", est habituellement une puissance entière de deux pour l'efficacité du logiciel, mais sans limitation d'une telle puissance. On peut voir d'après l'équation 3 que, étant donné une constante de filtre relativement modérée (par exemple 64 ou 128), le temps mis par le signal de sortie du filtre à atteindre 95 % de sa valeur en régime permanent peut demander de nombreuses lectures, de l'ordre de plusieurs centaines Ceci engendre un retard indésiré dans la poursuite du traitement du signal filtré et doit être évité. Un objet de l'invention est donc de procurer un filtre à moyenne mobile qui atteint la valeur de régime permanent plus rapidement que les filtres de l'art antérieur. Un autre objet de l'invention est de procurer un filtre à moyenne mobile qui modifie sa bande passante en fonction des caractéristiques des signaux d'entrée. Il est décrit un filtre à logiciel qui fait fonctionner un calculateur de façon à exécuter un procédé de filtrage à moyenne mobile Le procédé consiste à désigner une constante de filtre initial pour maîtriser le temps de réponse du filtre; à maintenir une valeur de signal moyenne mobile de l'amplitude du signal; à trouver une valeur de différence entre la valeur de signal moyenne mobile et chaque nouvelle amplitude d'échantillon de signal avant que la nouvelle amplitude d'échantillon de signal soit incorporée dans la valeur de signal moyenne mobile; à mettre à jour la valeur de signal moyenne mobile en lui additionnant, à l'instant de chaque nouvel échantillon de signal, une valeur calculée par division de la valeur de différence trouvée pour un nouvel échantillon de signal par la constante de filtre initiale; et, lorsqu'une suite des valeurs de différence trouvées présente une polarité identique, à diviser la constante de filtre initiale par un facteur entier pour engendrer une constante de filtre réduite qui réduit le temps de réponse du filtre Lorsque, par contre, une valeur de différence trouvée présente une polarité différente d'une valeur de différence trouvée immédiatement avant, la constante de filtre est multipliée par un facteur entier pour augmenter le temps de réponse du filtre. L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemple nullement limitatif et sur lesquels: la figure 1 est un schéma fonctionnel très simplifié d'un calculateur destiné à exécuter des opéra- tions de filtrage sur un signal d'entrée; la figure 2 montre une forme d'onde étagée d'entrée et des valeurs de sortie résultantes provenant d'un filtre à moyenne mobile fonctionnant conformément à l'art antérieur; les figures 3 a et 3 b représentent un or- ganigramme évolué du fonctionnement du filtre de l'inven- tion; la figure 4 est un graphique montrant un jeu de formes d'ondes qui illustre la réponse d'un filtre configuré conformément à l'invention en réponse à une fonction d'entrée étagée; et la figure 5 est un graphique montrant un jeu de formes d'ondes qui illustre la réponse du filtre selon l'invention en réponse à une forme d'onde d'entrée à impulsions. En référence de nouveau à la figure 1, le procédé de l'invention nécessite que, à l'intérieur de l'unité arithmétique et logique 12, il y ait deux registres qui sont mis en oeuvre pendant le fonctionnement du logiciel 14 du filtre Le premier de ces registres est un compteur 13 de polarité égale qui possède à la fois des entrées de comptage et de remise à zéro Le second de ces registres est un registre 15 à constante de filtre Les fonctions de ces registres seront mieux comprises à la lecture de la description, ci-dessous, de l'organigramme des figures 3 a et 3 b. Comme montré sur la figure 3 a, initialement, il est appliquée une entrée qui établit la constante maximale du filtre Nmax (par exemple 64 ou 128) (pavé 50) Ensuite, la lecture de tension actuelle Rdgi est saisie à partir du convertisseur A/N 16 (pavé 52). La valeur moyenne mobile précédente Avgi 1 est ensuite soustraite de Rdgi pour que l'on obtienne une valeur de différence DIF Fi qui est représentative de la différence de la lecture de tension la plus récente et de la valeur de tension moyenne accumulée précédemment (pavé 54) La valeur de DIF Fi est à présent testée pour déter- miner si elle est égale à O (pavé 56) S'il s'avère qu'elle n'est pas égale à 0, la polarité Diffi est testée pour déterminer si elle est égale à la polarité de DIF Fi-î (pavé de décision 58) Plus particulièrement, il est déterminé si la tension de différence obtenue entre l'échantillon de tension le -plus récent et la moyenne précédente est de la même polarité que la différence de tension découlant de l'échantillon de tension immédiatement précédent. Si les tensions de différence s'avèrent être de la même polarité, le compteur 13 de polarités égales dans l'unité arithmétique et logique 12 est alors incrémenté de 1 (pavé 60) et la valeur du compteur est testée (pavé de décision 62) pour déterminer si son compte est égal ou supérieur à 5 Autrement dit, si l'on a trouvé au moins 5, ou plus de 5, polarités égales dans les valeurs DIFF, on suppose que le signal a changé dans un sens et que le temps de réponse du filtre doit être réduit pour permettre à la moyenne mobile d'atteindre plus rapidement la valeur d'entrée La valeur de 5 est quelque peu arbitraire et dépend, dans une certaine mesure, du caractère prévu du signal d'entrée Par conséquent, (voir pavé 64), la valeur du registre à constante de filtre, qui indique présentement un compte de Ni, est diminuée par division de son compte par un facteur entier, de préférence 2 Le compte du registre à constante de filtre ne peut évidemment pas être diminué à moins d'une valeur de 1, de sorte qu'il est établi en tant que limite minimale. A ce stade, le logiciel calcule une nouvelle valeur pour Avgi en divisant la valeur de DIF Fi par la nouvelle valeur de Ni Le résultat de cette division est ensuite additionné à Avgi l pour que l'on obtienne une nouvelle valeur moyenne mobile (pavé 66) Il convient de noter qu'en utilisant la valeur diminuée de Ni en tant que diviseur, on additionne une plus grande partie de DIF Fi à la moyenne mobile précédente (Avgi-1) de sorte que la valeur d'entrée est atteinte plus rapidement. Pour revenir au pavé de décision 62, si le compte de "polarité égale" est déterminé comme étant inférieur à 5, la valeur Ni du registre à constante de filtre n'est alors pas diminuée et le calcul de la valeur moyenne mobile montré dans le pavé 66 se poursuit, la dernière constante du filtre étant utilisée comme diviseur. Pour revenir à présent au pavé de décision 56, si la valeur de DIF Fi s'avère égale à 0, le programme passe alors immédiatement au pavé 68 o la valeur Ni, telle que mise en évidence par le registre 15 à constante du filtre, est augmentée d'un facteur entier, de préférence 2 Sa valeur est limitée de façon que Ni ne dépasse pas Nmax La même action a lieu s'il s'avère que la polarité de DIF Fi n'est pas égale à la polarité de DIF Fi(pavé 58) Par conséquent, dans chaque cas, on suppose qu'un changement de polarité a lieu et que la moyenne mobile est proche de la valeur d'entrée et que le temps de réponse du filtre doit être augmenté pour réduire l'amplitude du bruit Ceci est réalisé par une remise à zéro du compteur 13 de polarité égale (pavé 70), puis par une utilisation de la valeur accrue de Ni dans le registre 15 à constante de filtre dans le calcul indiqué dans le pavé 66. Par conséquent, en utilisant cette plus grande valeur pour la constante du filtre, on réduit la valeur DIF Fi/Ni et on augmente le temps de réponse du filtre jusqu'à ce que le compte de polarités égales mette de nouveau évidence un compte supérieur ou égal à 5 En ce point, la constante du filtre est diminuée d'un facteur entier. Après chaque calcul de la valeur moyenne mobile Avgi, le programme revient au pavé 52 pour saisir la nouvelle lecture Rdgi+ 1 etc et le programme se déroule. En référence à présent aux figures 4 et 5, on montre des exemples qui comparent l'action du filtre de commande à bande passante adaptative fonctionnant comme monté sur les figures 3 a et 3 b avec le filtre à moyenne mobile de l'art antérieur. Sur les figures 4 et 5, on suppose que la constante maximale Nmax du filtre est de 128 et que la cadence de lecture est de 2,5 lectures par seconde (période = 400 ms) On suppose en outre qu'un signal de fonction étagée 100 (voir figure 4) est appliqué à la fonction de filtre On peut voir que les valeurs Avgi sont les suivantes pour chaque numéro de lecture indiqué spécifiquement (tel que calculé par l'équation montrée dans le pavé 70, figure 3 b). (Avg)l = 100 + 50/128 = 100,39 (Avg)2 = 100,39 + 49,61/128 = 100,78 (Avg)3 = 100,78 + 49,22/128 = 101,163 (Avg)4 = 101,163 + 48,837/128 = 101,55 (Avg)5 = 101,55 + 48,45/64 = 102,30 (Avg)6 = 102,30 + 47, 70/32 = 103,79 (Avg)11 = 135,78 + 14,22/1 = 150 On peut voir que le nombre total de lectures pour que le filtre à bande passante adaptative de l'inven- tion atteigne à 100 % sa valeur en régime permanent est de 11 Le temps total de filtrage est alors: T = = 4,4 secondes n de lecture /s Pour trouver le temps demandé pour un filtre à moyenne mobile de l'art antérieur pour atteindre 95 % de sa valeur en régime permanent, l'équation 3 indique ce qui suit: 0,95 E 2 = E 2 (E 2 E 1) ( 1-1/128)n o: E 2 = 150 E 1 = 100 La solution de l'équation ci-dessus montre que N = 242 lectures et que le temps demandé pour le traitement est t = 97 secondes. Comme montré sur la figure 5, une impulsion d'entrée 102, ayant une période inférieure à 400 mil- lisecondes (inférieure à une période correspondant à la cadence de lecture), est appliquée au filtre avec une constante de filtre donnée de 64 (Nmax = 64) En utilisant l'algorithme de filtre tel que montré sur les figures 3 a et 3 b, les lectures Avgi individuelles sont les suivantes: (Avg)j = 100 + 50/64 = 100,781 (Avg)2 = 100,78 + -0,781/128 = 100,755 (Avg)12 = 100,222 + -0,222/1 = 100 On peut voir que 12 lectures sont nécessaires pour que le filtre atteigne 100 % de sa valeur en régime permanent et que le temps demandé pour ce processus est de 4,8 secondes. En utilisant le filtre à moyenne mobile de l'art antérieur avec une constante de filtre égale à 64, le nombre de lectures demandées pour lire la valeur filtrée à 99,92 % de la valeur en régime permanent est d'environ 144 et le temps demandé est de 58 secondes. Il va de soi que de nombreuses modifications peuvent être apportées au procédé décrit et représenté sans sortir du cadre de l'invention. REVENDICATIONS 1 Procédé pour modifier le temps de réponse d'un filtre ( 14) à logiciel qui fait fonctionner le calculateur ( 10) pour exécuter un processus de filtrage à moyenne mobile, le procédé étant caractérisé en ce qu'il consiste à désigner une constante de filtre initiale pour régler le temps de réponse du filtre; à maintenir une valeur moyenne mobile d'amplitudes d'échantillons du signal; à trouver une valeur de différence entre ladite valeur moyenne mobile et chaque nouvelle amplitude d'échantillon de signal, avant que la nouvelle amplitude d'échantillon de signal soit incorporée dans la valeur moyenne mobile; à mettre à jour la valeur moyenne mobile en lui additionnant, à l'instant de chaque nouvel échantil- lon de signal, une valeur calculée par division de la valeur de différence trouvée pour le nouvel échantillon de signal par la constante de filtre initiale; et à déter- miner lorsque plusieurs, successives, des valeurs de différences trouvées présentent une polarité identique et, à la suite de cette détermination, à diviser la constante de filtre initiale par un facteur pour créer une constante de fil réduite, de façon à réduire ainsi le temps de réponse du filre. 2 Procédé selon la revendication 1, carac- térisé en ce que, à chaque fois que la suite de valeurs de différences trouvées présente ladite polarité identique, on divise la constante de filtre réduite par un facteur entier pour réduire encore la constante de filtre à une valeur inférieure, mais jamais inférieure à une valeur de un. 3 Procédé selon la revendication 2, carac- térisé en ce qu'il consiste en outre, lorsqu'une valeur de différence trouvée présente une polarité différente de celle d'une valeur de différence trouvée imédiatement avant, à multiplier la constante de filtre par un facteur afin d'augmenter sa valeur, mais jamais au- delà de ladite il constante de filtre initiale. 4 Procédé selon la revendication 3, carac- térisé en ce qu'il consiste en outre, lorsqu'une valeur de différence trouvée est égale à 0, à multiplier la constante de filtre par un facteur pour augmenter sa valeur, mais jamais au-delà de la valeur de filtre initiale. Procédé selon la revendication 2, carac- térisé en ce que le facteur entier est égal à 2. 6 Procédé selon la revendication 4, carac- térisé en ce que le facteur est un entier. 7 Procédé selon la revendication 6, carac- térisé en ce que le facteur entier est égal à deux. 8 Procédé selon la revendication 5, carac- térisé en ce que la suite des valeurs de différences trouvées est égale à cinq. 9 Procédé selon la revendication 7, carac- térisé en ce que la suite des valeurs de différences trouvées est égale à cinq.