Brevet FR2719955A1 — publié le 19951117

Procédé de filtrage d'un signal de franchissement de seuil Un signal de franchissement de seuil sert à informer un appareil ou un utilisateur du fait qu'une grandeur physique, saisie par un capteur fournissant le signal, a varié et que sa valeur a franchi un seul déterminé. Comme grandeur physique, on considérera ici, mais à titre d'exemple seulement, le niveau d'essence dans un réservoir de voiture. Lorsqu'il descend en-dessous d'une valeur limite, correspondant à une "réserve" assurant à la voiture une marge d'autonomie, un voyant s'allume. L'information visuelle fournie au conducteur de la voiture doit présenter une certaine fiabilité, c'est-à-dire ne pas apparaître ni prématurément ni de façon inopinée; elle ne doit pas détourner exagérément l'attention du conducteur par des clignotements répétés, dus aux cahots et accélérations perturbant l'équilibre de l'essence et provoquant un clapotis modifiant la hauteur de son niveau à l'endroit du capteur. Dans ce cas, le signal est entaché d'un bruit gênant. II faut donc filtrer ce signal pour en éliminer le bruit, c'est-à-dire ses variations "haute fréquence" par rapport à son évolution normale, par un filtrage passebas visant à fournir une valeur moyenne du signal, correspondant à cette évolution normale. La demande de brevet FR 2 684 179 enseigne de détecter, de façon binaire, le niveau d'essence du réservoir d'un véhicule par un capteur de niveau changeant d'état lorsque le niveau d'essence descend au-dessous d'un seuil correspondant à un volume résiduel, ou réserve, d'essence. L'état binaire du capteur 1, fourni au point intermédiaire 3 d'un pont diviseur 1, 2, est échantillonné à rythme fixe et, à chaque échantillonnage, il fait progresser ou régresser d'une unité, selon qu'il est égal à O ou à 1, un compteur-décompteur 4, commandé par une horloge 5. Le compteur 4 commande un indicateur 6 lorsque son état de comptage correspond à un seuil de décision prédéterminé, c'est-à-dire que, depuis la position de repos du compteur 4, la différence entre le nombre de comptages et le nombre de décomptages dépasse un nombre représentant ce seuil de décision. En d'autres termes, le signal du capteur présente, sur une période d'observation se terminant à un instant présent, des alternances d'états binaires 1 et d'états binaires O et le compteur 4 est un intégrateur effectuant le cumul des durées de chacun des deux états O et 1 et commandant l'indicateur 6 lorsque la différence de ces cumuls dépasse le seuil de décision. Ainsi, lorsque le niveau d'essence, pendant la période d'observation, oscille autour du seuil, alors qu'au repos il se situerait légèrement en-dessous, le compteur tend à progresser et, franchissant le seuil de décision, commande l'indicateur signalant que la réserve d'essence est entamée. Lors de ses progressions et régressions, le compteur 4 fournit ainsi au cours du temps, depuis sa position de repos à zéro, des suites montantes ou descendantes de nombres, suites présentant une pente fixe, positive ou négative, correspondant à la variation unitaire du compteur à chaque échantillonnage. Un tel procédé de filtrage présente des inconvénients. En effet, lorsque le niveau d'essence est légèrement au-dessus du seuil, mais que le véhicule subit une accélération tendant à le faire descendre sous ce seuil, la suite des signaux échantillonnées présente une petite majorité d'états indiquant ce passage sous le seuil, si bien que le compteur 4 tend à progresser lentement et, à terme, commande quand même l'indicateur 6. Dans cet état, le compteur 4 est alors sensible à toutes les perturbations du capteur 1, c'est-à-dire que toute accélération subie par le véhicule n'est plus filtrée puisque le nombre en sortie du compteur 4 est de valeur très voisine de celle du seuil de décision, c'est-à-dire que la marge de filtrage due à l'écart entre la valeur de repos du compteur 4 et la valeur de seuil de décision a quasiment disparu. En d'autres termes encore, le filtrage perd son efficacité dans la zone de transition du capteur 1, c'est-à-dire la zone dans laquelle se manifestent les perturbations dues à l'évolution du véhicule. La présente invention vise à présenter une fonctionnalité semblable à celle de l'art antérieur indiqué ci-dessus, mais en utilisant un concept différent, offrant de meilleures possibilités de filtrage. A cet effet, I'invention concerne un procédé de filtrage numérique passe-bas d'un signal de niveau d'un liquide dans un réservoir, pour commander un indicateur de franchissement d'un seuil de niveau lorsque le signal filtré atteint au moins un seuil de décision, procédé dans lequel on prélève, à une fréquence d'échantillonnage déterminée, des échantillons successifs du signal, procédé caractérisé par le fait qu'on détermine et mémorise le signal filtré présent en effectuant une addition d'un échantillon présent du signal à filtrer et du signal filtré de l'échantillonnage précédent. On remarquera tout d'abord que le concept de l'invention consiste finalement à utiliser un filtre éliminant les hautes fréquences, par rebouclage de sa sortie sur son entrée, alors que l'art antérieur propose un intégrateur qui, ne présentant pas de rebouclage, ne peut effectuer de discrimination de fréquence et laisse passer des incréments unitaires pour toutes les fréquences, son effet étant de retarder, par intégration et comparaison au seuil de décision, le changement d'état de l'indicateur, dans la mesure où, comme indiqué plus haut, ce compteur ne présente pas déjà un état en sortie voisin du seuil de décision, pour lequel il est inefficace. Ainsi, alors que, dans l'art antérieur, le signal à filtrer est un signal binaire de commande d'un dispositif évoluant de façon prédéterminée selon l'un de deux états de fonctionnement possibles, comptage ou décomptage, I'évolution dans chaque état de fonctionnement étant prédéterminée (ajout ou retrait d'une unité) et donc en particulier indépendante du signal à filtrer et du signal filtré, dans le procédé de l'invention, au contraire, le signal à filtrer et le signal filtré, qui en résulte et qui est appliqué à l'entrée du filtre par une boucle de rétroaction spécifique à ce procédé, subissent un traitement récursif de signal. De ce fait, le signal à filtrer ne commande pas, comme dans l'art antérieur, un dispositif à évolution prédéterminée dont la sortie commande l'indicateur, mais c'est le signal lui-même qui, dans l'invention, se propage et qui, après un filtrage éliminant les hautes fréquences, assure la commande de l'indicateur. En particulier, on peut prendre en compte un signal à filtrer qui évolue de façon quasiment continue en fonction du niveau du liquide, c'est-à-dire qui ne présente pas de discontinuité au passage du seuil, et qui comporte donc des altérations d'amplitude moindre que dans le cas du signal binaire de l'art antérieur, pour lequel une réserve presque pleine ou complétement vide correspondent à un même état logique du capteur, c'est-à-dire que, comme expliqué plus haut, un faible clapotis du liquide autour du seuil peut faire progresser le compteur jusqu'au voisinage de la valeur du seuil de décision et faire osciller la commande de l'indicateur. Avantageusement, L'addition de l'échantillon présent à filtrer et du signal filtré est effectuée avec une pondération pour déterminer la fréquence de coupure de filtrage. Avantageusement encore, on adapte la pondération à l'amplitude du signal filtré. On peut ainsi faire varier la forme de la courbe de réponse du filtre. Avantageusement toujours, quand le signal filtré atteint le seuil de décision, on modifie la pondération. On peut de cette façon créer de l'hystérésis s'opposant aux changements d'état du signal de commande de l'indicateur. Dès franchissement du seuil de décision, on peut abaisser ce seuil pour encore créer cet hystérésis. Dans la mise en oeuvre préférée du procédé de l'invention, dès franchissement du seuil de décision, on diminue la fréquence d'échantillonnage. Une fois l'indicateur commandé, les fréquences hautes de la bande-passante initiale sont alors considérées comme des perturbations. Ainsi, le filtre présente, pour commander l'indicateur, une constante de temps déterminée évitant un retard excessif de cette commande, tandis que, pour désactiver l'indicateur, le filtre présente une constante de temps accrue. L'invention sera mieux comprise à l'aide de la description suivante de la forme de réalisation préférée et de variantes d'un filtre passe-bas pour la mise en oeuvre du procédé de l'invention, en référence au dessin annexé, sur lequel: - la figure 1 est un schéma par blocs du filtre numérique de l'art antérieur, introduit dans le préambule; - la figure 2 est un schéma par blocs du filtre numérique de l'invention; - la figure 3 est un organigramme illustrant le procédé de l'invention; - la figure 4 représente la caractéristique fréquentielle du filtre de l'invention, - la figure 5 illustre l'évolution temporelle du signal filtré et - les figures 6 et 7 illustrent la théorie du filtrage numérique d'un signal échantillonné. Le filtre de l'invention, représenté sur la figure 2, est relié en entrée au point intermédiaire 13 d'un pont diviseur 11-12 alimenté sous une tension d'alimentation Vcc et constitué d'un capteur de niveau d'essence 1 1 situé dans le réservoir d'une voiture, représenté schématiquement par une lame mobile de contact, en série avec une résistance 12. Le signal E(t) présent au point 13, t représentant le temps, est appliqué à une bascule 14, de type D, mémorisant cycliquement le signal E(t) sous la forme d'un signal E(nT), avec n entier positif, sous la commande d'une horloge 24 fournissant un signal d'horloge de période T, et transmettant le signal E(nT) mémorisé à un multiplieur 15 qui en effectue la multiplication par un coefficient A, réel, issu d'une mémoire 16. Dans cet exemple, le signal E(t) fourni par le pont diviseur 11-12 est binaire, si bien que la sortie du multiplieur 15 ne peut prendre que les valeurs 0 ou A, codé ici sur 1 octet. Pour sa multiplication par A, le signal, ou bit, E(nT) est converti en un octet ayant deux valeurs possibles : zéro et, par exemple, 128. On comprendra que, en pratique, le multiplieur 15 peut être remplacé par la seule mémoire 16 contenant une table de décision à deux adresses, fournissant respectivement les valeurs 0 et A par adressage par le signal E(nT). La sortie parallèle, sur un octet, du multiplieur 15 est reliée à des premieres entrées parallèles d'un additionneur 17 relié en sortie à un registre tampon 18 commandé par l'horloge 24. Les sorties parallèles du registre 18 sont reliées à un multiplieur 19, recevant aussi un nombre B, réel, issu d'une mémoire 20, et relié en sortie à des secondes entrées de l'additionneur 17. Un comparateur 21 est relié en entrée aux sorties du registre 18 ainsi qu'à une mémoire 22 de seuil de décision et commande un voyant 23 relié à la source d'alimentation Vcc. Le fonctionnement du filtre de l'invention est illustré par l'organigramme de la figure 3. On rappellera tout d'abord quelques éléments de la théorie du filtrage numérique d'un signal échantillonné. Un signal E à filtrer est lu cycliquement pendant un court instant et subit une transformation bilinéaire en z, H(z) (figure 6) fournissant un signal filtré S, ici par un filtrage passe-bas. Le signal filtré de sortie S évolue donc au rythme des échantillonnages, de période d'échantillonnage T. On peut poser: p 2 I-z-' Tl+z' avec: P: variable de Laplace et z: transformée en z du signal d'entrée dans le plan complexe soit = 2-TP 2+TP Le signal de sortie S(z) est obtenu par composition du signal d'entrée E(z) et du signal de sortie S(z) de la période d'échantillonnage précédente, qui a été mémorisé. Il s'agit donc d'un filtrage récursif de la forme: S(z) = A.E(z) ±-' B.S(z) A et B étant des coefficients de réglage du filtrage, d'ou la transformation, ou atténuation apportée au signal d'entrée E(z): S(z) ~ A E(z) I - B -' que l'on peut transformer en: La pulsation de coupure wl (figure 7) vaut: W I = T( I +B) et la pulsation w2 limitant la retombée, avec une pente de -20dB/décade, de la caractéristique de filtrage vaut; 2 w2=- T Pour revenir à l'exemple considéré, le signal E(t), supposé présenter, avant et après mémorisation, un état binaire continu, 0 ou 1, perturbé, d'une mémorisation à la suivante, par des passages à l'autre état, 1 ou 0, est mis à l'échelle, c'est-à-dire transformé en un nombre d'un octet, de valeur 0 ou 128, pour reprendre l'exemple donné, c'est-à-dire, ici, appliqué à l'entrée de bit de poids fort du multiplieur 15. Le multiplieur 15 fournit donc un octet de valeur 0 ou 128 x A. Ces opérations correspondent aux étapes 31, de lecture du signal E(nT) en 13 à l'instant nT, et 32, de multiplication du signal E(nT) par A. A une étape 33, on lit le contenu Y((n-1 )T), appelé S dans le rappel théorique, déterminé comme expliqué plus loin, du registre 18, représentant la sortie du filtre à l'instant ((n-1 )T) du cycle de calcul, ou échantillonnage, précédent. Le nombre Y((n-1)T) est appliqué au multiplieur 19 et le résultat B x Y((n-1)T) de sa multiplication par le coefficient B est appliqué, à une étape 35, à l'additionneur 17 pour y ajouter la valeur A x E(nT) et obtenir une valeur présente de sortie du filtre: Y(nT) = A x E(nT) + B x Y ((n-I )T) Y(nT) est mémorisé dans le registre 18 sous la commande de l'horloge 24 pour fournir la sortie retardée du filtre au multiplieur 19 lors du cycle suivant et elle est aussi comparée au seuil de décision SD de la mémoire de seuil de décision 22 pour allumer le voyant 23 si la sortie Y(nT) est inférieure ou égale au seuil de décision SD (étapes 36-38). La bascule 14 a pour seule fonction de figer l'entrée, apparente, du filtre lors de la mémorisation de la sortie Y(nT) et éviter ainsi de mémoriser un octet Y(nT) de valeur fausse, dont certains bits auraient, du fait d'une variation de E(nT) à l'instant même de la mémorisation de Y (nT), changé d'état alors que d'autres n'en auraient pas encore eu le temps. La figure 4 illustre la caractéristique 40 de réponse Y(nT) du filtre de l'invention, en ordonnée, en fonction de la fréquence f en abscisse perturbant le signal E(t). Cette caractéristique 40 est sensiblement constante d'une fréquence nulle à une fréquence de coupure fc, puis elle décroît asymptotiquement vers l'axe des fréquences. Compte tenu de cette réduction, après filtrage, de l'amplitude des composantes haute fréquence du signal E(nT), le signal filtré Y(nT) présente, au cours du temps, des variations limitées lorsqu'il comporte des impulsions parasites de courte durée, donc de haute fréquence. Ainsi, sur la figure 5 qui représente la courbe 50 du signal E(nT) en fonction du temps t, on voit que le signal E(nT) est initialement à l'état 1 (Vcc) et qu'il y apparaît de plus en plus fréquemment des impulsions descendantes de durées globalement croissantes à mesure que le niveau d'essence baisse et se rapproche du seuil de niveau. Pour la forme, on confirme que le signal Y(nT) ne change d'état qu'une fois par période T du signal d'échantillonnage et se présente donc comme une suite de marches de hauteur variable. La représentation, lissée, de Y(nT) sur la figure 5 foumit la pente de l'enveloppe de ces marches, ou, autrement dit, suppose une fréquence d'échantillonnage suffisamment élevée pour que les marches individuelles ne soient pas discernables. Les impulsions descendantes de courte durée, par exemple les impulsions initiales 52-54, sont donc des perturbations à haute fréquence, fortement atténuées, tandis que les impulsions suivantes 55-57 et 59, plus larges et donc équivalant à des fréquences basses, sont mieux prises en compte pour faire décroitre Y(nT). Le seuil de décision SD est supposé être franchi lors de l'impulsion 57 et on remarquera que les impulsions montantes à haute fréquence 57C, 58C qui suivent sont bien filtrées et ont surtout pour effet global de sensiblement figer le niveau du signal Y(nT) en interrompant sa descente, sans toutefois le faire remonter sensiblement vers le seuil de décision SD. En variante, on peut utiliser un capteur analogique de niveau, comme un potentiométre commandé par un flotteur, et convertir le signal correspondant en un nombre proportionnel à la hauteur du niveau d'essence, pouvant varier de O à 255, en considérant une précision sur 8 bits. On dispose alors d'une information plus précise sur le niveau d'essence, c'est-à-dire que l'on peut calculer une valeur Y(nT) relativement grande lorsque le niveau est nettement au-dessus du seuil de niveau et ainsi accroître la dynamique du filtre, donc bien rejeter l'influence des perturbations sans devoir toutefois accroître exagérément son temps de réponse, c'est-à-dire sans devoir diminuer la pente de sa caractéristique (figure 5). On peut cependant, dans ce cas, restreindre les variations du signal E(nT) à filtrer par écrêtage de ses variations autour du seuil de niveau, afin de ne pas étendre exagérément et inutilement la dynamique du filtre. L'invention portant sur le fait qu'on effectue une addition d'un échantillon présent du signal à filtrer E(nT) et du signal filtré Y((n-1 )T) de l'échantillonnage précédent, cette addition est ici pondérée par les coefficients A et B, qui fixent la fréquence de coupure du filtre. On remarquera que l'un des coefficients A et B peut être fixé à la valeur 1, par exemple A = 1, ce qui évite l'emploi du multiplieur 15, I'autre coefficient prenant une valeur B' = B/A et la valeur de seuil de décision une valeur SD' = SD/A. En variante encore, on peut adapter cette pondération à l'amplitude du signal filtré Y(nT), afin de donner à la caractéristique du filtre (figure 5) toute forme voulue, c'est-à-dire régler sa pente pour chaque valeur de Y(nT) et, par exemple, franchir le seuil de décision SD selon une pente élevée, limitant le risque d'oscillation. Pour modifier la pondération, il suffit de compléter l'une des mémoires 16 et 20 par des valeurs supplémentaires et de l'adresser par la sortie Y(nT) du registre 18. Sur la figure 5, la courbe 51 en pointillés illustre le fait que les impulsions haute fréquence 56C, 57C, 58 et 58C sont alors encore moins prises en compte. De même, quand le signal filtré Y(nT) atteint le seuil de décision SD, on peut modifier la pondération pour, par exemple, diminuer l'influence relative de E(nT) une fois le voyant 23 allumé et ainsi disposer d'une constante de temps accrue permettant de mieux filtrer les perturbations tendant à l'extinction. Selon une autre variante, dès franchissement du seuil de décision SD, on abaisse ce seuil à un niveau de seuil SDE. On comprendra que "abaisser le seuil" signifie le déplacer en sens inverse du sens de franchissement de ce seuil. On crée ainsi de l'hystérésis autour du seuil de décision SD, dans un sens et dans l'autre, en fixant un seuil de décision SDA pour l'allumage du voyant 23 et SDE pour son extinction, ce qui accroît la dynamique avant décision de changement d'état du voyant 23. On peut, encore, prévoir de régler la fréquence d'échantillonnage et, par exemple, dès franchissement du seuil de décision SD ou lorsque l'amplitude de la sortie Y(nT) décroît, on diminue la fréquence d'échantillonnage. On peut ainsi obtenir une caractéristique fréquentielle modifiée du filtre, représentée par la courbe 41 de la figure 4 définissant une bande-passante réduite fc et, par exemple, considérer comme hautes fréquences, une fois le voyant 23 allumé, des fréquences, entre les fréquences de coupure Cc et fc, initialement non filtrées pour son allumage. Cette restriction de la bande-passante augmente ainsi le temps de réponse du filtre et assure une meilleure réjection des impulsions E(t) tendant à une extinction parasite du voyant 23. Il peut encore être prévu d'effectuer plusieurs filtrages passe-bas en cascade sur le signal E(t), c'est-à-dire traiter Y(nt) comme l'a été E(t), par exemple par partage de temps des circuits arithmétiques 15, 17 et 19. REVENDICATIONS 1. Procédé de filtrage numérique passe-bas d'un signal E(t) de niveau d'un liquide dans un réservoir, pour commander un indicateur (23) de franchissement d'un seuil de niveau lorsque le signal filtré Y(nT) atteint au moins un seuil de décision (SD), procédé dans lequel on prélève, à une fréquence d'échantillonnage déterminée, des échantillons successifs du signal E(t), procédé caractérisé par le fait qu'on détermine et mémorise le signal filtré Y(nT) présent en effectuant une addition d'un échantillon présent E(nT) du signal à filtrer E(t) et du signal filtré Y((n-1 )T) de l'échantillonnage précédent. 2. Procédé selon la revendication 1, dans lequel l'addition de l'échantillon présent E(nT) à filtrer et du signal filtré Y((n-1)T) est effectuée avec une pondération (A, B) pour déterminer la fréquence de coupure (fc) de filtrage. 3. Procédé selon la revendication 2, dans lequel on adapte la pondération (A, B) à l'amplitude du signal filtré Y(nT). 4. Procédé selon la revendication 3, dans lequel, quand le signal filtré Y(nT) atteint le seuil de décision (SD), on modifie la pondération. 5. Procédé selon l'une des revendications 1 à 4, dans lequel, dés franchissement du seuil de décision (SD), on abaisse ce seuil (SDE). 6. Procédé selon l'une des revendications 1 à 5, dans lequel, dès franchissement du seuil de décision (SD), on diminue la fréquence d'échantillonnage (24). 7. Procédé selon l'une des revendications 1 à 6, dans lequel on écrête les variations du signal à filtrer E(t) autour du seuil de niveau.