Industrial controller applying moving-average filtering to an analog signal

Filtres de moyenne mobile dans les boucles d’API et de DCS : bruit, retard et validation

Les filtres à moyenne mobile peuvent atténuer les signaux analogiques tout en retardant les commandes et les alarmes. Découvrez comment le temps d’échantillo...

Une tendance lissée d’une variable de procédé peut donner l’impression qu’une boucle de régulation est saine, tout en retardant discrètement les informations dont le contrôleur a besoin. Le filtrage par moyenne mobile est simple, explicable et efficace contre certains types de bruit, mais chaque échantillon supplémentaire dans la fenêtre modifie le comportement dynamique de la boucle.

La décision d’ingénierie ne consiste pas à déterminer si une courbe filtrée est plus esthétique. Il s’agit de vérifier si le filtre élimine le bruit de mesure sans masquer les variations réelles du procédé, une défaillance d’instrument, des conditions d’alarme ou les premiers signes d’un incident.

Contrôleur Honeywell Experion C300 utilisé pour le conditionnement des signaux de procédé

Un DCS peut filtrer une mesure à plusieurs niveaux ; le chemin complet du signal doit donc être documenté.

Le calcul est simple ; la temporisation ne l’est pas

Une moyenne mobile uniforme mémorise les N derniers échantillons, les additionne et divise le résultat par N. Chaque nouvel échantillon entre dans la fenêtre tandis que l’échantillon le plus ancien en sort. Si l’intervalle d’échantillonnage est Ts, le comportement du filtre dépend à la fois de N et de Ts ; reprendre uniquement N d’un autre contrôleur ne reproduit pas la même réponse en temps réel.

Pour les signaux évoluant lentement, une moyenne mobile uniforme causale se comporte approximativement comme si la mesure était retardée de la moitié de la fenêtre. Un véritable échelon n’apparaît pas immédiatement à sa pleine amplitude : la sortie progresse d’un N-ième de l’échelon à chaque remplacement d’une ancienne valeur par un nouvel échantillon, et n’atteint sa valeur finale qu’une fois la fenêtre remplie d’échantillons postérieurs à l’échelon.

Cette rampe prévisible est utile pour supprimer le bruit aléatoire, mais elle présente un risque pour une mesure rapide de pression, de débit, de vitesse ou liée à la protection. Le PID, l’alarme, l’historien et l’opérateur agissent tous sur une représentation retardée du procédé, sauf si la valeur brute est également conservée.

La longueur de fenêtre doit être exprimée en temps

Dix échantillons pris une fois par seconde décrivent un filtre très différent de dix échantillons pris toutes les 100 millisecondes. Documentez le déclenchement de l’échantillonnage, la période de tâche, la longueur de fenêtre, la durée temporelle effective, le comportement d’initialisation et la destination qui utilise la valeur filtrée.

Ne supposez pas que le cycle du programme correspond à l’intervalle d’échantillonnage. Un bloc fonctionnel peut s’exécuter à chaque cycle, mais n’accepter un nouvel échantillon que lorsque SampleEnable est vrai. Un module de contrôle DCS peut également avoir sa propre période d’exécution, différente de la mise à jour des E/S et de celle du transmetteur.

La documentation de l’instruction MAVE de Rockwell Automation explicite cette distinction : NumberOfSamples définit l’étendue, SampleEnable contrôle le moment où un échantillon est enregistré, et le bloc signale l’état des entrées invalides ainsi que des dimensions de tableau incorrectes.

Le bruit périodique peut être rejeté — et mal diagnostiqué

Une moyenne mobile possède des zéros de réponse en fréquence régulièrement espacés. Lorsque la fenêtre couvre un nombre entier de cycles d’une perturbation périodique stable, les portions positives et négatives peuvent s’annuler fortement. C’est pourquoi une fenêtre choisie délibérément peut réduire une ondulation électrique ou mécanique répétitive.

Le rejet n’est toutefois pas universel. Si la fréquence de la perturbation change, si l’intervalle d’échantillonnage varie ou si le signal se replie spectralement avant d’atteindre le filtre, l’annulation diminue. Une tendance plus lisse peut également dissimuler des problèmes de mise à la terre, de blindage, de ligne d’impulsion, de capteur ou d’installation qui devraient être corrigés à leur source.

Avant d’augmenter la fenêtre, comparez le signal brut à une référence indépendante et examinez le spectre du bruit ou, au minimum, sa période dans le domaine temporel. Vérifiez que la perturbation est bien du bruit et non un véritable cycle du procédé.

Plateforme d’API ABB AC500 traitant des mesures analogiques

Le même principe de moyenne mobile s’applique aux plateformes PLC et DCS, mais l’exécution et la gestion des défauts dépendent de la plateforme.

La moyenne mobile et le filtrage du premier ordre répondent à des problèmes différents

Une moyenne mobile uniforme est un calcul à fenêtre finie. Chaque échantillon mémorisé possède le même poids jusqu’à sa sortie de la fenêtre. Un filtre passe-bas du premier ordre est récursif : la nouvelle sortie combine la dernière entrée et la sortie précédente selon une constante de temps.

La moyenne mobile fournit un historique fini et visible, un fort rejet à certaines fréquences et une réponse à un échelon qui atteint sa valeur finale lorsque la fenêtre est remplie. Le filtre du premier ordre utilise peu de mémoire et produit une réponse exponentielle, sans les creux périodiques de la moyenne mobile.

Une moyenne mobile pondérée se situe entre ces deux choix. Donner davantage de poids aux échantillons récents peut réduire le retard apparent, mais cela modifie la réponse en fréquence et rend le comportement moins évident pour le personnel de maintenance. Les poids doivent être normalisés, documentés et testés.

La sélection doit tenir compte de la perturbation et de l’objectif de régulation. Utilisez une moyenne mobile lorsqu’une fenêtre finie est pertinente ou lorsqu’il faut atténuer une composante périodique stable. Utilisez un filtre du premier ordre lorsqu’une réponse exponentielle et une constante de temps documentée conviennent à la boucle. Utilisez un filtre coupe-bande ou un autre filtre conçu à cet effet uniquement lorsque la fréquence des interférences est connue et suffisamment stable pour le justifier.

Évitez les filtres cachés en série

Une même mesure peut être amortie dans le transmetteur, moyennée dans un module d’entrée, filtrée de nouveau dans la logique PLC ou DCS, lissée dans l’IHM et compressée par l’historien. Chaque niveau peut sembler inoffensif pris isolément, alors que la chaîne complète crée un retard important.

Créez une fiche du chemin du signal présentant l’entrée électrique brute, la mise à l’échelle et le filtrage du module, le filtre du contrôleur, la source de l’alarme, la variable de procédé du PID, la valeur affichée par l’IHM et la variable de l’historien. Déterminez quels utilisateurs ont besoin de données brutes, validées ou filtrées. Un diagnostic de maintenance doit généralement conserver l’accès à la mesure brute, même lorsque les opérateurs utilisent un affichage filtré.

Les liens internes vers le matériel Honeywell Experion PKS C300 et la gamme de PLC ABB fournissent un contexte sur les plateformes, mais la disponibilité et le comportement du filtre doivent être vérifiés avec le contrôleur installé, le logiciel et l’environnement d’exécution.

Les données de qualité insuffisante nécessitent une réponse définie

Une moyenne mobile ne doit pas transformer un circuit ouvert, une valeur hors plage, un résultat de communication obsolète ou une valeur à virgule flottante invalide en une variable de procédé crédible. Enregistrez ou transmettez la qualité séparément de la valeur numérique et définissez le comportement du bloc lorsque la qualité devient mauvaise.

Les stratégies possibles comprennent le maintien de la dernière valeur filtrée correcte, la déclaration immédiate d’une sortie invalide, l’effacement de la fenêtre ou la réinitialisation à partir du premier échantillon correct après récupération. Le choix approprié dépend du fait que la valeur commande une régulation, une alarme, un affichage ou un rapport. Ce comportement doit être visible pour les opérateurs et la logique en aval.

L’initialisation est également importante. Remplir un tableau vide de zéros crée une fausse rampe au démarrage. Effectuer une moyenne progressive uniquement sur les échantillons valides déjà recueillis évite le biais dû aux zéros, mais modifie la fenêtre effective pendant la phase de démarrage. Initialiser la sortie avec l’entrée valide actuelle assure un démarrage sans à-coup, mais ne fournit initialement aucune réduction du bruit. Choisissez et documentez un comportement.

Le filtrage modifie les performances du PID et des alarmes

Ajouter un filtre modifie le chemin de mesure vu par le contrôleur. Un réglage PID auparavant acceptable peut devenir lent ou oscillant lorsqu’un retard supplémentaire est introduit. L’action dérivée est particulièrement sensible au bruit de mesure, mais filtrer le bruit sans revoir le réglage existant n’est pas automatiquement sûr.

Après toute modification du filtre, répétez le test de réponse de la boucle dans des conditions contrôlées. Vérifiez le rejet des perturbations, la réponse aux consignes, les mouvements de vanne, le dépassement, la temporisation des alarmes et le temps nécessaire pour détecter une véritable excursion du procédé. Évaluez la boucle sur les différentes vitesses normales de fonctionnement, et pas uniquement en régime stable.

La conception des alarmes peut nécessiter des chemins distincts pour les signaux bruts et filtrés. Une alarme intempestive peut bénéficier d’une logique de persistance ou de temporisation, tandis qu’une limite de protection peut exiger des données validées plus rapides. Ne résolvez pas le cliquetis d’une alarme en ralentissant silencieusement la mesure de régulation pour tous les utilisateurs.

Éléments probants pour l’implémentation et la mise en service

Pour une implémentation PLC personnalisée, utilisez un tableau de taille limitée ou un tampon circulaire ainsi qu’une somme glissante afin de remplacer la contribution la plus ancienne par la nouvelle. Protégez l’index, définissez la précision numérique et empêchez les erreurs de limites de tableau. Si l’exécution de la tâche peut être interrompue, vérifiez que le tampon et la somme ne peuvent pas devenir incohérents.

Effectuez la mise en service avec des valeurs stables connues, un échelon contrôlé, des états de qualité insuffisante, une interruption de tâche, des modifications de SampleEnable et des changements en fonctionnement de la fenêtre demandée. Comparez les tendances brutes et filtrées avec des horodatages sur la même échelle. Enregistrez le retard observé et la réduction du bruit au lieu d’approuver le filtre parce que la courbe paraît lisse.

Point de vue éditorial : le filtrage fait partie de la conception de la mesure, et non de la simple mise en forme esthétique d’une tendance. La meilleure implémentation expose la valeur brute, la valeur filtrée, la qualité, l’intervalle d’échantillonnage et la longueur de fenêtre afin qu’un autre ingénieur puisse expliquer exactement ce que le contrôleur savait — et à quel moment il le savait.

Questions fréquemment posées

Combien d’échantillons une moyenne mobile doit-elle utiliser ?

Il n’existe pas de valeur universelle. Choisissez N avec l’intervalle d’échantillonnage en fonction des caractéristiques du bruit et de l’événement réel le plus rapide que la régulation ou l’alarme doit détecter, puis validez le retard obtenu sur le procédé.

Une fenêtre plus grande améliore-t-elle toujours la régulation ?

Non. Elle réduit davantage les variations haute fréquence, mais ajoute un retard de mesure. Un filtrage excessif peut affaiblir le rejet des perturbations, retarder les alarmes et donner l’impression qu’un PID correctement réglé est lent.

Faut-il désactiver l’amortissement du transmetteur ?

Pas automatiquement. Documentez chaque filtre de la chaîne du signal et attribuez-lui un objectif. Évitez de cumuler un amortissement non documenté et un filtrage dans le contrôleur, ce qui pourrait produire un retard total supérieur à celui prévu.

Que doit-il se passer lorsque la qualité de l’entrée devient mauvaise ?

Le bloc doit signaler la mauvaise qualité et appliquer une stratégie définie de maintien, d’invalidation ou de réinitialisation. Une entrée en défaut ne doit pas être moyennée pour produire une valeur de procédé valide d’apparence plausible.

Une moyenne mobile convient-elle aux mesures de sécurité ou de déclenchement ?

Uniquement dans une architecture validée qui autorise explicitement le retard supplémentaire et le comportement diagnostique. Il ne faut jamais supposer qu’un filtrage de régulation ordinaire satisfait une exigence de temps de réponse d’une fonction de sécurité.


Filtres de moyenne mobile dans les boucles d’API et de DCS : bruit, retard et validation

Les filtres à moyenne mobile peuvent atténuer les signaux analogiques tout en retardant les commandes et les alarmes. Découvrez comment le temps d’échantillonnage, la longueur de la fenêtre, la qua...

Une tendance lissée d’une variable de procédé peut donner l’impression qu’une boucle de régulation est saine, tout en retardant discrètement les informations dont le contrôleur a besoin. Le filtrage par moyenne mobile est simple, explicable et efficace contre certains types de bruit, mais chaque échantillon supplémentaire dans la fenêtre modifie le comportement dynamique de la boucle.

La décision d’ingénierie ne consiste pas à déterminer si une courbe filtrée est plus esthétique. Il s’agit de vérifier si le filtre élimine le bruit de mesure sans masquer les variations réelles du procédé, une défaillance d’instrument, des conditions d’alarme ou les premiers signes d’un incident.

Contrôleur Honeywell Experion C300 utilisé pour le conditionnement des signaux de procédé

Un DCS peut filtrer une mesure à plusieurs niveaux ; le chemin complet du signal doit donc être documenté.

Le calcul est simple ; la temporisation ne l’est pas

Une moyenne mobile uniforme mémorise les N derniers échantillons, les additionne et divise le résultat par N. Chaque nouvel échantillon entre dans la fenêtre tandis que l’échantillon le plus ancien en sort. Si l’intervalle d’échantillonnage est Ts, le comportement du filtre dépend à la fois de N et de Ts ; reprendre uniquement N d’un autre contrôleur ne reproduit pas la même réponse en temps réel.

Pour les signaux évoluant lentement, une moyenne mobile uniforme causale se comporte approximativement comme si la mesure était retardée de la moitié de la fenêtre. Un véritable échelon n’apparaît pas immédiatement à sa pleine amplitude : la sortie progresse d’un N-ième de l’échelon à chaque remplacement d’une ancienne valeur par un nouvel échantillon, et n’atteint sa valeur finale qu’une fois la fenêtre remplie d’échantillons postérieurs à l’échelon.

Cette rampe prévisible est utile pour supprimer le bruit aléatoire, mais elle présente un risque pour une mesure rapide de pression, de débit, de vitesse ou liée à la protection. Le PID, l’alarme, l’historien et l’opérateur agissent tous sur une représentation retardée du procédé, sauf si la valeur brute est également conservée.

La longueur de fenêtre doit être exprimée en temps

Dix échantillons pris une fois par seconde décrivent un filtre très différent de dix échantillons pris toutes les 100 millisecondes. Documentez le déclenchement de l’échantillonnage, la période de tâche, la longueur de fenêtre, la durée temporelle effective, le comportement d’initialisation et la destination qui utilise la valeur filtrée.

Ne supposez pas que le cycle du programme correspond à l’intervalle d’échantillonnage. Un bloc fonctionnel peut s’exécuter à chaque cycle, mais n’accepter un nouvel échantillon que lorsque SampleEnable est vrai. Un module de contrôle DCS peut également avoir sa propre période d’exécution, différente de la mise à jour des E/S et de celle du transmetteur.

La documentation de l’instruction MAVE de Rockwell Automation explicite cette distinction : NumberOfSamples définit l’étendue, SampleEnable contrôle le moment où un échantillon est enregistré, et le bloc signale l’état des entrées invalides ainsi que des dimensions de tableau incorrectes.

Le bruit périodique peut être rejeté — et mal diagnostiqué

Une moyenne mobile possède des zéros de réponse en fréquence régulièrement espacés. Lorsque la fenêtre couvre un nombre entier de cycles d’une perturbation périodique stable, les portions positives et négatives peuvent s’annuler fortement. C’est pourquoi une fenêtre choisie délibérément peut réduire une ondulation électrique ou mécanique répétitive.

Le rejet n’est toutefois pas universel. Si la fréquence de la perturbation change, si l’intervalle d’échantillonnage varie ou si le signal se replie spectralement avant d’atteindre le filtre, l’annulation diminue. Une tendance plus lisse peut également dissimuler des problèmes de mise à la terre, de blindage, de ligne d’impulsion, de capteur ou d’installation qui devraient être corrigés à leur source.

Avant d’augmenter la fenêtre, comparez le signal brut à une référence indépendante et examinez le spectre du bruit ou, au minimum, sa période dans le domaine temporel. Vérifiez que la perturbation est bien du bruit et non un véritable cycle du procédé.

Plateforme d’API ABB AC500 traitant des mesures analogiques

Le même principe de moyenne mobile s’applique aux plateformes PLC et DCS, mais l’exécution et la gestion des défauts dépendent de la plateforme.

La moyenne mobile et le filtrage du premier ordre répondent à des problèmes différents

Une moyenne mobile uniforme est un calcul à fenêtre finie. Chaque échantillon mémorisé possède le même poids jusqu’à sa sortie de la fenêtre. Un filtre passe-bas du premier ordre est récursif : la nouvelle sortie combine la dernière entrée et la sortie précédente selon une constante de temps.

La moyenne mobile fournit un historique fini et visible, un fort rejet à certaines fréquences et une réponse à un échelon qui atteint sa valeur finale lorsque la fenêtre est remplie. Le filtre du premier ordre utilise peu de mémoire et produit une réponse exponentielle, sans les creux périodiques de la moyenne mobile.

Une moyenne mobile pondérée se situe entre ces deux choix. Donner davantage de poids aux échantillons récents peut réduire le retard apparent, mais cela modifie la réponse en fréquence et rend le comportement moins évident pour le personnel de maintenance. Les poids doivent être normalisés, documentés et testés.

La sélection doit tenir compte de la perturbation et de l’objectif de régulation. Utilisez une moyenne mobile lorsqu’une fenêtre finie est pertinente ou lorsqu’il faut atténuer une composante périodique stable. Utilisez un filtre du premier ordre lorsqu’une réponse exponentielle et une constante de temps documentée conviennent à la boucle. Utilisez un filtre coupe-bande ou un autre filtre conçu à cet effet uniquement lorsque la fréquence des interférences est connue et suffisamment stable pour le justifier.

Évitez les filtres cachés en série

Une même mesure peut être amortie dans le transmetteur, moyennée dans un module d’entrée, filtrée de nouveau dans la logique PLC ou DCS, lissée dans l’IHM et compressée par l’historien. Chaque niveau peut sembler inoffensif pris isolément, alors que la chaîne complète crée un retard important.

Créez une fiche du chemin du signal présentant l’entrée électrique brute, la mise à l’échelle et le filtrage du module, le filtre du contrôleur, la source de l’alarme, la variable de procédé du PID, la valeur affichée par l’IHM et la variable de l’historien. Déterminez quels utilisateurs ont besoin de données brutes, validées ou filtrées. Un diagnostic de maintenance doit généralement conserver l’accès à la mesure brute, même lorsque les opérateurs utilisent un affichage filtré.

Les liens internes vers le matériel Honeywell Experion PKS C300 et la gamme de PLC ABB fournissent un contexte sur les plateformes, mais la disponibilité et le comportement du filtre doivent être vérifiés avec le contrôleur installé, le logiciel et l’environnement d’exécution.

Les données de qualité insuffisante nécessitent une réponse définie

Une moyenne mobile ne doit pas transformer un circuit ouvert, une valeur hors plage, un résultat de communication obsolète ou une valeur à virgule flottante invalide en une variable de procédé crédible. Enregistrez ou transmettez la qualité séparément de la valeur numérique et définissez le comportement du bloc lorsque la qualité devient mauvaise.

Les stratégies possibles comprennent le maintien de la dernière valeur filtrée correcte, la déclaration immédiate d’une sortie invalide, l’effacement de la fenêtre ou la réinitialisation à partir du premier échantillon correct après récupération. Le choix approprié dépend du fait que la valeur commande une régulation, une alarme, un affichage ou un rapport. Ce comportement doit être visible pour les opérateurs et la logique en aval.

L’initialisation est également importante. Remplir un tableau vide de zéros crée une fausse rampe au démarrage. Effectuer une moyenne progressive uniquement sur les échantillons valides déjà recueillis évite le biais dû aux zéros, mais modifie la fenêtre effective pendant la phase de démarrage. Initialiser la sortie avec l’entrée valide actuelle assure un démarrage sans à-coup, mais ne fournit initialement aucune réduction du bruit. Choisissez et documentez un comportement.

Le filtrage modifie les performances du PID et des alarmes

Ajouter un filtre modifie le chemin de mesure vu par le contrôleur. Un réglage PID auparavant acceptable peut devenir lent ou oscillant lorsqu’un retard supplémentaire est introduit. L’action dérivée est particulièrement sensible au bruit de mesure, mais filtrer le bruit sans revoir le réglage existant n’est pas automatiquement sûr.

Après toute modification du filtre, répétez le test de réponse de la boucle dans des conditions contrôlées. Vérifiez le rejet des perturbations, la réponse aux consignes, les mouvements de vanne, le dépassement, la temporisation des alarmes et le temps nécessaire pour détecter une véritable excursion du procédé. Évaluez la boucle sur les différentes vitesses normales de fonctionnement, et pas uniquement en régime stable.

La conception des alarmes peut nécessiter des chemins distincts pour les signaux bruts et filtrés. Une alarme intempestive peut bénéficier d’une logique de persistance ou de temporisation, tandis qu’une limite de protection peut exiger des données validées plus rapides. Ne résolvez pas le cliquetis d’une alarme en ralentissant silencieusement la mesure de régulation pour tous les utilisateurs.

Éléments probants pour l’implémentation et la mise en service

Pour une implémentation PLC personnalisée, utilisez un tableau de taille limitée ou un tampon circulaire ainsi qu’une somme glissante afin de remplacer la contribution la plus ancienne par la nouvelle. Protégez l’index, définissez la précision numérique et empêchez les erreurs de limites de tableau. Si l’exécution de la tâche peut être interrompue, vérifiez que le tampon et la somme ne peuvent pas devenir incohérents.

Effectuez la mise en service avec des valeurs stables connues, un échelon contrôlé, des états de qualité insuffisante, une interruption de tâche, des modifications de SampleEnable et des changements en fonctionnement de la fenêtre demandée. Comparez les tendances brutes et filtrées avec des horodatages sur la même échelle. Enregistrez le retard observé et la réduction du bruit au lieu d’approuver le filtre parce que la courbe paraît lisse.

Point de vue éditorial : le filtrage fait partie de la conception de la mesure, et non de la simple mise en forme esthétique d’une tendance. La meilleure implémentation expose la valeur brute, la valeur filtrée, la qualité, l’intervalle d’échantillonnage et la longueur de fenêtre afin qu’un autre ingénieur puisse expliquer exactement ce que le contrôleur savait — et à quel moment il le savait.

Questions fréquemment posées

Combien d’échantillons une moyenne mobile doit-elle utiliser ?

Il n’existe pas de valeur universelle. Choisissez N avec l’intervalle d’échantillonnage en fonction des caractéristiques du bruit et de l’événement réel le plus rapide que la régulation ou l’alarme doit détecter, puis validez le retard obtenu sur le procédé.

Une fenêtre plus grande améliore-t-elle toujours la régulation ?

Non. Elle réduit davantage les variations haute fréquence, mais ajoute un retard de mesure. Un filtrage excessif peut affaiblir le rejet des perturbations, retarder les alarmes et donner l’impression qu’un PID correctement réglé est lent.

Faut-il désactiver l’amortissement du transmetteur ?

Pas automatiquement. Documentez chaque filtre de la chaîne du signal et attribuez-lui un objectif. Évitez de cumuler un amortissement non documenté et un filtrage dans le contrôleur, ce qui pourrait produire un retard total supérieur à celui prévu.

Que doit-il se passer lorsque la qualité de l’entrée devient mauvaise ?

Le bloc doit signaler la mauvaise qualité et appliquer une stratégie définie de maintien, d’invalidation ou de réinitialisation. Une entrée en défaut ne doit pas être moyennée pour produire une valeur de procédé valide d’apparence plausible.

Une moyenne mobile convient-elle aux mesures de sécurité ou de déclenchement ?

Uniquement dans une architecture validée qui autorise explicitement le retard supplémentaire et le comportement diagnostique. Il ne faut jamais supposer qu’un filtrage de régulation ordinaire satisfait une exigence de temps de réponse d’une fonction de sécurité.


Laisser un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être publiés.