Professional Documents
Culture Documents
I TDS Analyse Filtres Num
I TDS Analyse Filtres Num
de filtres numériques
Hugues GARNIER
hugues.garnier@univ-lorraine.fr
TNS 1 H. Garnier
Etapes principales pour effectuer un traitement
numérique sur un signal analogique
Signal
analogique
original
Echantillonnage
-
Quantification
TNS 2 H. Garnier
Filtrer mais pourquoi faire ?
TNS 3 H. Garnier
Analyse/conception de filtres
Première situation rencontrée
•On connaît le filtre et on souhaite déterminer ses caractéristiques :
type de filtrage réalisé, valeurs de fréquence de coupure
è Analyse de filtres
1 1
y(k)= e(k)+ e(k-1)
2 2
TNS 4 H. Garnier
Analyse/conception de filtres
TNS 5 H. Garnier
Signal du jour
Anomalies de température : écart entre la température mesurée en un lieu en degrés Celsius
par rapport à la température moyenne normale calculée sur une période d'au moins 30 ans
Source : GISTEMP Team, 2019: GISS Surface Temperature Analysis (GISTEMP), version 4.
NASA Goddard Institute for Space Studies. Dataset accessed 2019-11-20 at https://data.giss.nasa.gov/gistemp/
Température moyenne normale calculée sur la période 1950-1981
TNS 6 H. Garnier
Exemple d’application de filtrage :
Lissage des anomalies de température
Premier lissage : calcul sur une fenêtre glissante de 2 échantillons de la valeur moyenne
1 1 1
y( k ) = ∑ e( k−m ) =
2 m=0 2
( )
e( k )+e( k -1)
TNS 7 H. Garnier
Exemple d’application de filtrage :
Lissage des anomalies de température
Deuxième lissage : calcul sur une fenêtre glissante de 10 échantillons de la valeur moyenne
1 9
y( k ) = ∑ e( k−m )
10 m=0
Le réchauffement climatique
semble s’accélérer clairement
à partir de 1980
TNS 8 H. Garnier
Forme récursive / non récursive
d’un traitement numérique
e(k) H y(k)
Forme non récursive du calcul sur une fenêtre glissante de N échantillons de la moyenne d’un signal
y( k ) =
1
N
N−1
∑ e( k−m ) y(k)= H(e(k))
m=0
Forme récursive du calcul sur une fenêtre glissante de N échantillons de la valeur moyenne d’un signal
N−1 N
1 1 1 1 1
y( k ) = e( k ) + ∑ e( k−m ) + N e( k − N ) − N e( k − N ) y( k − 1) =
N
∑ e( k−m )
N N
!###"###$
m=1 m=1
y( k−1)
y( k ) = y( k − 1) +
1
N
1
e( k ) − e( k − N )
N
y(k)= H(y(k-1),e(k),e(k-N))
TNS 9 H. Garnier
Forme générale d’un traitement numérique
e(k) H y(k)
TNS 10 H. Garnier
Outil d’analyse des caractéristiques
d’un filtre numérique linéaire
• Un filtre numérique linéaire peut être décrit par :
– une équation aux différences
– un produit de convolution
– sa fonction de transfert
– sa réponse impulsionnelle
– sa réponse fréquentielle
– son diagramme des pôles et des zéros
TNS 11 H. Garnier
Transformée en Z
• Soit un signal numérique x(k) causal. La transformée en Z est
définie par :
x(k)
+∞
Z ( x(k)) =X ( z) = ∑ x( k ) z−k
k=0
0 1 k
où
– z est la variable de la transformée en Z
– z = r e jθ = α + j β
TNS 12 H. Garnier
Lien entre transformée de Fourier
et transformée en Z
• La transformée en Z définie précédemment est en fait la
transformée en Z monolatère
Il existe en effet la transformée en Z bilatère définie par :
+∞
()
X z = ∑ x( k ) z−k
k=−∞
j 2π fTe
z=e
TNS 13 H. Garnier
Lien entre transformée de Laplace
et transformée en Z
Pour un signal échantillonné idéalement x(kTe)=x(k), la transformée
de Laplace est donnée par :
+∞
-ksTe
+∞
⎛ -sTe ⎞k
X e (s ) = ∑ x(k)e = ∑ x(k) ⎜ e ⎟
k=0 k=0
⎝ ⎠
+∞
sTe
En posant z=e () ( ) ∑ x(k) z-k
X z = Z xe (t) =
k=0
TNS 14 H. Garnier
Propriétés de la transformée en Z
les plus importantes
•Linéarité
Z (a x(k)+b y(k))=a X(z)+bY(z)
• Retard temporel
Z ( x(k-i)) =z−i X(z)+z−i+1x( −1) + z−i+2 x( −2 ) +!+ x( −i )
• Produit de convolution
Z ( x(k)*y(k)) = X(z) ×Y(z)
TNS 15 H. Garnier
Table de Transformées en z
x(k) X(z)
δ (k) 1
z
u( k ) z-1
z
ku( k ) 2
( )
z-1
k z
a u( k ) z-a
( )
sin Ωo k u( k )
z sin Ωo( )
z 2 − 2cos (Ωo ) z +1
z ( z - cos (Ωo ))
( )
cos Ωo k u( k )
z 2 − 2cos (Ωo ) z +1
TNS 16 H. Garnier
Equation aux différences
TNS 17 H. Garnier
Réponse impulsionnelle
TNS 18 H. Garnier
Produit de convolution
• La réponse impulsionnelle h(k) permet de calculer la sortie du filtre
y(k) à toute entrée e(k) via le produit de convolution discret
+∞ +∞
y(k ) = h(k )* e(k ) = ∑ h(m) e(k - m) = ∑ h(k - m) e(m)
m=-∞ m=-∞
+∞
y(k ) = h(k )* e(k ) = ∑ h(m) e(k - m)
m=0
TNS 19 H. Garnier
Fonction de transfert en Z
• Soit l’équation aux différences d’un filtre :
a0 y( k ) + a1y( k -1) +… + aN y( k - N ) = b0e( k ) + b1e( k -1) +… + bM e( k - M )
(a +a z
0 1
−1
) (
+… + aN z −N Y (z) = b0 +b1z −1 +… + bM z −M ) E(z)
-1 -M
Y ( z ) b0 + b1z + … + bM z
()
H z = =
E( z ) a + a z -1 + … + a z -N
en supposant les CI nulles
0 1 N
TNS 20 H. Garnier
Fonction de transfert en Z
-
Exemple
s( n ) − 0.8s( n −1) = 0.2e( n )
S( z )
G( z ) = =?
E( z )
S( z ) 0,2 0,2z
G( z ) = = =
E( z ) 1 − 0,8z −1 z − 0,8
TNS 21 H. Garnier
Lien entre fonction de transfert et
équation aux différences
Soit la fonction de transfert d’un filtre numérique 0,2z
H( z ) =
z − 0,8
0,2z z −1 0,2
On exprime H(z) en puissance négative de z H( z ) = × =
z − 0,8 z −1 1− 0,8z −1
TNS 22 H. Garnier
Diagramme des pôles/zéros
TNS 23 H. Garnier
Stabilité d’un filtre numérique
TNS 24 H. Garnier
Conditions de stabilité
filtres analogiques/filtres numériques
STABLE we
-we /2
module
TNS 25 H. Garnier
Réponse d’un filtre à un signal sinusoïdal
(
e( k ) = E sin 2πf0 k )
dans un filtre linéaire de réponse fréquentielle
H( f ) = H( f ) e jϕ ( f )
• La sortie en régime permanent s’écrit :
( )
y( k ) = E H( f0 ) sin 2πf0k + ϕ ( f0 )
TNS 26 H. Garnier
Réponse fréquentielle d’un filtre
sTe ⎫⎪
z=e j 2 π fT
• Si on connaît H(z) ⎬ z=e e H(f ) = H( z ) j 2 π fTe
s= jω = j2 π f ⎪⎭ z=e
• Caractéristiques
– Réponses fréquentielles périodiques de « période » fe
– L’analyse et le tracé se limitent à la plage de fréquences [0 ; fe /2]
– Pas de pentes particulières au niveau du diagramme de Bode
TNS 27 H. Garnier
Fréquence de coupure (rappel)
H( f )
H( fc ) = ou HdB ( fc ) = HdB ( f ) − 3dB
2
10
Ga in dB
0
-3 dB
-10
-20
10 -1 10 0
Fréquence (Hz)
fc 101
TNS 28 H. Garnier
Il existe 2 types de filtres numériques
y( k ) = b0e( k ) +…+ bM e( k − M ) 0 1 4
k
TNS 29 H. Garnier
Filtres RIF ou filtres non récursifs
Caractéristiques principales
• Equation de récurrence (y(k) ne dépend que de l’entrée)
M
y( k ) = ∑ hi e( k − i ) = h0e( k ) + …+ hM e( k − M )
i =0
•Fonction de transfert
M M
∑ hi z −i
∑ hi zM−i
B( z ) i =0 i =0
H( z ) = = =
A( z ) 1 zM
– M : ordre du filtre
– Un filtre RIF d’ordre M possède N=M+1 coefficients ( bi=hi )
• Stabilité
– pôles : tous en pi=0 => pôles à l’intérieur du cercle unité
• filtres RIF toujours stables
TNS 30 H. Garnier
Réponse fréquentielle d’un filtre RIF
• Fonction de transfert
M
H( z) = ∑ h( k )z−k
k=0
• Réponse fréquentielle
f f
⎧s = j2 π f j 2π M − j 2π k
j 2 π fTe fe fe
⎨ z=e =e H( f ) = ∑ h( k ) e
sT
⎩z = e e k =0
TNS 31 H. Garnier
Caractéristique de la réponse fréquentielle en phase
d’un filtre RIF
• La phase est linéaire (on parle de filtres à phase linéaire)
ϕ (f ) = Arg (H(f )) = −α f
−α f + β
ϕ( f )
τϕ = = cste
2π f
TNS 32 H. Garnier
Exemple
Analyse d’un filtre RIF d’ordre 1
1 1
y(k)= e(k)+ e(k-1)
2 2
Déterminer :
a) la fonction de transfert en z
b) la réponse impulsionnelle
c) le diagramme des pôles et des zéros. Conclure sur la stabilité
d) la réponse fréquentielle en amplitude et en phase
e) En déduire le type du filtrage réalisé
f) Préciser la (ou les) fréquence(s) de coupure
TNS 33 H. Garnier
Réponse fréquentielle
d’un filtre RIF passe-bas d’ordre 1
1 1
H(z) = + z−1
2 2
Sous Matlab :
B=[0.5 0.5];
A=[1 0];
fe=1; % Te=1 année
[H,f]=freqz(B,A,512,fe);
subplot(2,1,1)
plot(f,abs(H)),grid
subplot(2,1,2)
plot(f,angle(H)),grid
xlabel(‘fréquence (année^{-1})')
TNS 34 H. Garnier
Filtrage RIF d’ordre 1
des anomalies de température
Lissage : calcul sur une fenêtre glissante de 2 échantillons de la valeur moyenne
= filtrage RIF d’ordre 1
1 1
y( k ) = e( k ) + e( k - 1)
2 2
TNS 35 H. Garnier
Réponse fréquentielle
d’un filtre RIF passe-bas d’ordre 10
1 9 −k
H( z ) = ∑z
10 k=0
Sous Matlab :
N=10;
B=1/N*ones(1,N);
A=1;
fe=1; % Te=1 année
[H,f]=freqz(B,A,512,fe);
subplot(2,1,1)
plot(f,abs(H)),grid
subplot(2,1,2)
plot(f,angle(H)),grid
xlabel(‘fréquence (année^{-1})')
TNS 36 H. Garnier
Filtrage RIF d’ordre 10
des anomalies de température
Lissage : calcul sur une fenêtre glissante de 10 échantillons de la valeur moyenne
= filtrage RIF d’ordre 10
1 9
y( k ) = ∑ e( k−m )
10 m=0
TNS 37 H. Garnier
Filtres RII ou filtres récursifs
Caractéristiques principales
• Equation de récurrence (y(k) dépend de l’entrée et des sorties passées)
+∞ N−1 M
y( k ) = ∑ h( k )e( k − i ) = − ∑ ai y( k - i ) + ∑ bi e( k - i )
i =0 i =1 i =0
• Fonction de transfert
M
∑ bi z−i
i =0 ( z − z1 )( z − z2 )…( z − zM )
H(z) = =C
N ( z − p1 )( z − p2 )…( z − pN )
1+ ∑ a j z− j
j =1
N : ordre du filtre
• Stabilité
Présence de pôles => vérifier la stabilité pi < 1
TNS 38 H. Garnier
Filtres RII du 1er et 2nd ordre
b0 b0 z
H( z ) = =
1 + a1z−1 z + a1
Pôle : p1= - a1
Stable si |p1|=|a1|<1
b0 b0 z2 b0 z2
H( z ) = = =
2
1 + a1z −1
+ a2 z −2
z + a1z + a2 (z − p1 ) (z − p2 )
Stable si |p1|<1 et |p2|<1
TNS 39 H. Garnier
Réponse fréquentielle
Filtre RII du 1er ordre
• Fonction de transfert
b0
H( z ) =
1 + a1z−1
f
j 2π
• Réponse fréquentielle z=e
fe
b0 b0
H( f ) = =
f ⎛ f ⎞ ⎛ f ⎞
− j 2π
fe 1 + a1 cos ⎜⎜ 2 π ⎟⎟ − ja1 sin ⎜⎜ 2 π ⎟⎟
1 + a1e ⎝ fe ⎠ ⎝ fe ⎠
b0=0.2 a1=-0.8
TNS 40 H. Garnier
Exemple
Analyse d’un filtre RII d’ordre 1
Soit le filtre numérique décrit par l’équation de récurrence :
4 1
y( k ) = y( k - 1) + e( k )
5 5
Déterminer :
a) la fonction de transfert en z
b) la réponse impulsionnelle
c) le diagramme des pôles et des zéros. Conclure sur la stabilité
d) la réponse fréquentielle en amplitude et en phase
e) En déduire le type de filtrage réalisé
f) Préciser la (ou les) fréquence(s) de coupure
TNS 41 H. Garnier
Réponse fréquentielle
d’un filtre RII passe-bas d’ordre 1
1/ 5
H(z) =
1− 4 / 5z−1
Sous Matlab :
B=1/5;
A=[1 -4/5];
fe=1;
[H,f]=freqz(B,A,512,fe);
subplot(2,1,1)
plot(f,abs(H)),grid
subplot(2,1,2)
plot(f,angle(H)),grid
xlabel(‘Fréquence (année^{-1})’)
TNS 42 H. Garnier
Filtrage RII d’ordre 1
des anomalies de température
4 1
y( k ) = y( k − 1) + e( k )
5 5
TNS 43 H. Garnier
Analyse d’un filtre numérique
En résumé !
Produit de convolution Equation aux différences
y( k ) = h( k )* e( k ) y( k ) = −a1y( k −1) + b0e( k )
Z Fonction
Z
Z -1 de transfert -1
Z
Y(z)
H(z) =
E(z) z=
e j2 p
f/fe
Z
-1
Z Im(z)
h(k)
0 Re(z)
Diagramme des pôles/zéros
f
H( f ) = H( z ) j2π
fe = H( f ) e jϕ ( f )
z=e
Réponse impulsionnelle TFtd
Réponse fréquentielle
h(k) TFtd-1
H(f)
TNS 44 H. Garnier