Telechargé par Vintage Effect

Tp Acq 5

publicité
Filtrage numérique des signaux
16 novembre 2016
1 Étude d'un ltre numérique
1.1 Introduction
Soit un ltre passe bas du second ordre dont l'équation diérentielle est la suivante :
d2 y(t)
dy(t)
+ 2mωn y(t)
+ ωn2 y(t) = ωn2 x(t)
dt
dt
La fonction de transfert du ltre passe bas du second ordre, avec ωn la pulsation de coupure, s'écrit :
H(s) =
ωn2
s² + 2mωn s + ωn2
1.2 Numérisation du ltre
La forme générale d'un ltre numérique où xi est l'entrée échantillonnée et yi la sortie :

yi =
NX
b −1
1 
a0
bj xi−j −
j=0
NX
a −1

ak yi−k 
k=1
Cette équation est appelée équation aux diérences. A partir de cette expression, nous pouvons distinguer deux grandes
familles de ltres : les ltres non récursifs (FIR) pour lesquels tous les coecients ak sont nuls (avec k > 0) et les ltres
récursifs (IIR) pour lesquels au moins un coecient ak est non nul.
Pour passer d'une fonction de transfert Laplace en équation aux diérence on peux utiliser la transformée en Z, en eet
l'opérateur z −1 est l'opérateur retard on peux ainsi écrire l'équivalence : xi−1 → x(z)z −1
1.3 Transformation d'Euler ou équivalence de la dérivation
1.3.1 Calcul du ltre
Étant donné une équation diérentielle reliant deux signaux x(t) et y(t), la méthode, qui correspond à une démarche
classique en analyse numérique, consiste à donner une approximation de la dérivée d'une fonction continue. Dans le cas de
la transformation d'Euler, l'approximation réalisée est la plus simple :
y(t) =
dx
xn − xn−1
→ yn =
dt
Te
Cette méthode consiste donc à réaliser dans Laplace la transformation suivante :
Calculer H(z), la fonction de transfert en Z de H(s), en utilisant la transformation d'Euler par substitution de
−1
l'opérateur s par 1−z
Te
Développer et mettre sous la forme :
a0 y(z) = b0 x(z) + b1 x(z)z −1 + ... + bNb x(z)z −Nb − a1 y(z)z −1 − a2 y(z)z −2 − ... − aNa y(z)z −Na
En déduire par identication les coecients a0 a1 a2 et b0 en fonction de Te , m et ωn
Écrire l'équation aux diérences sous la forme développée en fonction de a0 a1 a2 et b0
1
1.3.2 Test du ltre
Pour tous les tests nous utiliserons les valeurs numériques suivantes :
Une fréquence de coupure f c à 50Hz
Un coecient d'amortissement m à 0,1
Une fréquence d'échantillonnage à fe à 500Hz
Ouvrir le chier butter.vi et modier le diagramme suivant en adaptant les formules de calcul des coecients à celles
calculées précédemment. Pensez à ajouter une commande pour le coecient d'amortissement.
Expliquez succinctement, en utilisant l'aide, le rôles des diérents éléments
transformez ce vi en sous vi et le sauvez sous le nom de votre choix.
Ouvrir le chier bode1.vi Le ltre réalisé précédemment est utilisé comme sous vi à la place du vi ltre , modier le diagramme en conséquence.
Quel est le rôle du générateur d'impulsion
?
2
A quoi servent les éléments
avant les graphes ? Que calcul le
Quand on exécute le vi, que visualise-t-on sur les graphes ?
et le
?
La fréquence d'échantillonnage est xée à 10kHz, quelle est la fréquence théorique maximale utilisable en entrée de ce
ltre ?
1.4 Transformation bilinéaire ou équivalence de l'intégration numérique
1.4.1 Calcul du ltre
Delà même manière que précédemment, cette méthode consiste à donner une approximation de l'intégrale d'une fonction
continue. Dans ce cas, l'approximation réalisée est celle de la méthode des trapèzes :
ˆt
y(t)dt → xn = xn−1 +
x(t) =
Te
(yn + yn−1 )
2
0
Cette méthode consiste donc à réaliser dans Laplace la transformation suivante :
s→
2(1 − z −1 )
Te (1 + z −1 )
Calculer H(z), la fonction de transfert en Z de H(s), en utilisant la transformation bilinéaire par substitution de
−1
)
l'opérateur s par T2(1−z
−1 )
e (1+z
3
Développer et mettre sous la forme :
a0 y(z) = b0 x(z) + b1 x(z)z −1 + ... + bNb x(z)z −Nb − a1 y(z)z −1 − a2 y(z)z −2 − ... − aNa y(z)z −Na
En déduire par identication les coecients a0 a1 a2 et b0 b1 b2 en fonction de Te , m et ωn
Modier les diagrammes précédents et comparer les réponses avec le ltre précédent.
1.5 Filtre de Butterworth
1.5.1 Cas particulier du ltre de Butterworth
Un ltre de Butterworth est un type de ltre linéaire, conçu pour posséder un gain aussi constant que possible dans sa
bande passante.
Le gain d'un ltre de Butterworth est le plus constant possible dans la bande passante et tend vers 0 dans la bande de coupure.
Sur un diagramme de Bode logarithmique, cette réponse décroît linéairement vers -∞, de -6 dB/octave (-20 dB/décade) pour
un ltre de premier ordre, -12 dB/octave soit -40 dB/décade pour un ltre de second ordre, -18 dB/octave soit -60 dB/décade
pour un ltre de troisième ordre, etc.
Pour un ltre passe bas du second ordre le polynôme du dénominateur de la fonction de transfert H(s) doit être de la forme :
s² +
√
2s + 1
Ce polynôme au dénominateur est appelé polynôme de Butterworth, où les pôles sont conjugués et à partie réelle négative
pour la stabilité.
√
Un ltre de Butterworth correspond donc à un ltre ayant un coecient d'amortissement m = 22 soit à 0, 707.
Vous pouvez changer la valeur du coecient d'amortissement du ltre précédent pour obtenir un ltre de Butterworth.
1.5.2 Filtre des bibliothèques de Labview
Ouvrir le chier bode2.vi Le ltre étudié est un ltre de Butterworth du second ordre fournit dans les bibliothèques de Labview.
Exécuter le vi et comparer les résultats avec nos ltres, qu'en concluez-vous sur l'algorithme utilisé par Labview dans
ce ltre.
2 Filtrage FIR ou par convolution
2.1 Introduction
Le principe du ltrage par convolution consiste à calculer le produit de convolution entre le signal d'entrée du ltre
et la réponse impulsionnelle de ce ltre préalablement identiée. La méthode la plus directe pour identier un processus
est d'utiliser un générateur d'impulsions et d'enregistrer la réponse. Mais un générateur d'impulsions fournit une impulsion
d'amplitude limitée et de durée courte mais non nulle. C'est donc une approximation imparfaite de l'impulsion de Dirac
(impulsion d'amplitude innie et de durée nulle).
Pour éliminer ce problème, l'identication peut être réalisée en utilisant un corrélateur et un générateur de bruit blanc.
4
2.2 Principe de l'identication par bruit blanc
Nous utilisons le montage suivant :
Soit un générateur de bruit blanc fournissant un signal e(t), nous savons que le résultat de la corrélation d'un bruit blanc
avec lui même est le produit d'une impulsion de Dirac et d'une constante :
Cee (τ ) = e(t) ∗ e∗ (−t) = B0 δ(τ )
Le signal de sortie s(t) du système à identier est le produit de convolution entre la réponse h(t) de ce système et le
signal e(t) :
s(t) = h(t) ∗ e(t)
Calculer la sortie du corrélateur Cse (t) et montrer que nous obtenons la réponse impulsionnelle à une constante près.
2.3 Filtrage FIR directe
Dans le cas de systèmes linéaires invariants, nous pouvons utiliser l'équation de convolution discrète qui s'exprime par la
relation suivante :
yk =
N
X
hi xk−i
i=0
Le chier echo.txt contiens la réponse impulsionnelle d'une chambre d'écho, identiée et numérisée à l'aide d'un bruit
blanc et d'un corrélateur (cf 2.2). Le chier contient 1000 points et la fréquence d'échantillonnage est de 10kHz.
Modier le chier butter.vi pour réaliser un ltre par convolution en utilisant l'élément FIR et l'élément de lecture
d'un chier tableur. Utiliser le chier bode1.vi pour analyser les réponses du ltre.
Peut-on utiliser l'élément IIR à la place de l'élément FIR ?
2.4 Filtrage fréquentiel
Un produit de convolution dans le domaine temporel deviens un simple produit dans le domaine fréquentiel.
Nous pouvons exploiter avantageusement cette propriété pour réaliser un ltrage fréquentiel. Pour cela nous devons
calculer la FFT de notre réponse impulsionnelle, la FFT du signal d'entrée de notre ltre, calculer le produit des deux FFT
puis eectuer la FFT inverse pour retrouver notre signal ltré :
Modier le programme précédent pour utiliser ce principe et comparer les résultats.
Quel est l'avantage de cette méthode par rapport à la précédente ?
5
Téléchargement