traitement du signal (MP) · Chapitre 2 · Exercice de TD
Un passe-bas dans une balance électronique : écrire l'algorithme, le régler, en connaître les limites
Électronique numérique : échantillonnage et filtrage · F. Filtrage numérique · niveau 3 (difficile)
Énoncé
Dans une balance électronique, un pont de jauges de contrainte, suivi d'un amplificateur, délivre une tension proportionnelle à la masse posée. Elle est échantillonnée à . La masse varie lentement (on pose un objet en une fraction de seconde), mais la mesure est polluée par un parasite à rayonné par le secteur. Le microcontrôleur, qui calcule en entiers, exécute à chaque nouvel échantillon x l'instruction y = y + (x - y) / 16, puis affiche y.
1) Montrer que l'instruction réalise et donner . Pourquoi diviser par 16 est-il commode sur un microcontrôleur ? Combien de valeurs le filtre garde-t-il en mémoire ?
2) Par l'analogie avec le passe-bas du cours, donner la constante de temps et la fréquence de coupure . Pour un échelon () avec , montrer que . Au bout de combien d'échantillons la sortie atteint-elle ? Comparer à .
3) Simuler. Écrire en Python la boucle qui applique ce filtre à (une masse posée, plus le parasite) et qui mesure l'amplitude du résiduel en régime établi. La simulation donne . Comparer à la prévision de l'analogie . Que faudrait-il pour diviser le parasite par 100, et à quel prix ?
4) Cas limite. Un autre programmeur veut une coupure à et calcule . Sa simulation montre que le gain passe sous dès et ne descend jamais sous . Expliquer. À quelle condition l'analogie est-elle valable ?
5) Un autre passe-bas. On remplace le filtre par la moyenne des 20 derniers échantillons. Montrer que le parasite à et tous ses harmoniques sont exactement éliminés. Temps de réponse ? Coût en mémoire ?
Corrigé
La stratégie. On traduit l'instruction en équation aux différences, on règle le filtre par l'analogie , puis on vérifie par la simulation : c'est elle, pas la formule qui a servi à régler, qui juge le filtre. Les écarts qu'elle révèle se comprennent par la condition de l'analogie, .
1) L'équation aux différences. L'instruction donne : c'est le filtre récursif du premier ordre avec et . Diviser par revient, sur des entiers en binaire, à décaler de 4 bits vers la droite : une opération immédiate, sans division. Le filtre ne garde qu'une valeur en mémoire, la sortie précédente.
2) Constante de temps et réponse indicielle. De on tire et . Pour l'échelon, montrons par récurrence : ; si , alors . La sortie atteint quand , soit : au 47e échantillon, après . Le équivalent atteint à : l'accord est bon, parce que est grand devant .
3) La simulation et le compromis. Une boucle qui reproduit exactement le calcul du microcontrôleur :
import numpy as np
fe = 1000.0
a = 15/16
n = np.arange(2000) # 2 s de signal
x = 1 + 0.5*np.cos(2*np.pi*50*n/fe) # masse + parasite
y = np.zeros(len(x))
yprec = 0.0 # la seule valeur en memoire
for k in range(len(x)):
yprec = a*yprec + (1 - a)*x[k] # equation aux differences
y[k] = yprec
regime = y[1000:] # apres le regime transitoire
residu = (regime.max() - regime.min())/2
print(residu, residu/0.5) # 0.101 et 0.202
L'amplitude résiduelle correspond à un gain de à . L'analogie prévoit : accord à près. Le parasite n'est divisé que par 5 : sur l'afficheur, il reste une oscillation de de la mesure. Pour le diviser par 100, il faut un gain de à , soit , , et . Mais alors et la sortie n'atteint qu'après échantillons, près d'une seconde : la balance devient lente. C'est le compromis de tout passe-bas : rejeter loin et répondre vite sont deux exigences contraires, liées par .
4) Cas limite : n'est pas petite devant . L'analogie remplace la dérivée par : c'est légitime si varie peu pendant , c'est-à-dire si , ou . Avec , est plus court que : l'approximation ne vaut plus rien. De plus, le filtre numérique ne connaît que les fréquences de à : son gain ne peut pas suivre la pente du jusqu'à l'infini, il s'arrête en à la valeur que donne une entrée alternée . En régime établi, la sortie est alors , avec , d'où . Le gain plafonne donc à en , et la coupure réelle tombe à au lieu de .
Pour aller plus loin : le gain exact. Comme en régime sinusoïdal forcé, on injecte et l'on cherche . L'équation aux différences donne , soit En , et l'on retrouve . Pour , donne : le gain du quand est proche de 1. C'est la formule qu'emploie la simulation ; elle donne pour la balance, à (au lieu de ) pour un filtre réglé à avec .
5) La moyenne glissante sur 20 échantillons. . Vingt échantillons à couvrent , exactement une période du ; pour l'harmonique de rang (), exactement périodes. Or la somme de valeurs équiréparties d'une sinusoïde sur un nombre entier de périodes est nulle (les échantillons forment, par symétrie, des paires et des groupes qui se compensent : c'est la somme des racines -ièmes de l'unité). Le parasite et tous ses harmoniques sont exactement éliminés, quelle que soit leur phase ; une masse constante passe intacte. Le temps de réponse est de exactement (la sortie atteint la nouvelle valeur quand les 20 échantillons sont tous postérieurs à l'échelon), plus court que les du filtre récursif, qui, lui, laisse du parasite. Le prix : 20 valeurs en mémoire au lieu d'une, et une efficacité limitée aux multiples de (une fréquence de ne serait divisée que par ). Ordre de grandeur : les multimètres de précision intègrent la tension pendant un nombre entier de périodes du secteur (, ou un multiple) pour la même raison.
Ce que l'exercice installe. Un passe-bas numérique s'écrit (une ligne, une valeur en mémoire), se règle par l'analogie , , et se vérifie par la simulation, qui seule juge. L'analogie n'est valable que si ; près de , le gain plafonne à . Tout passe-bas impose un compromis rejet-rapidité ; une moyenne sur une période exacte d'un parasite connu l'élimine entièrement.
100 % gratuit
La suite du chapitre est sur Adloun
- 14 autres exercices corrigés dans ce chapitre, et 11 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre et la correction filmée du TD : 2 minutes sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.