You are on page 1of 49

FILTRAGE NUMERIQUE - Plan

1 Notions de base
1.1 Transformée de Laplace 1.4 Systèmes
1.2 Transformée en Z 1.5 Fonction de transfert
1.3 Signaux

2 Filtrage
2.1 Introduction 2.6 Synthèse d’un filtre RII
2.2 Filtre analogique 2.7 Transformation bilinéaire
2.3 Filtre RIF 2.8 Application au filtre de Butterworth
2.4 Filtre RII 2.9 Choix d’un filtre RII
2.5 Critère de stabilité 2.10 Synthèse d’un filtre RIF

3 Logiciels
3.1 Routines Fortran
3.2 Filtrage avec Matlab

4. Filtre de Vondrak

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Transformée de Laplace (Rappel)
9 La transformée de Fourier

⇒ Bien adaptée pour l’analyse des signaux stationnaires et des régimes permanents
des systèmes
⇒ Inadéquate pour l’analyse des phénomènes transitoires
9 La transformée de Laplace se révèle bien mieux adaptée à l’analyse des signaux
transitoires

+∞

Définition : L{x (t )}= X L (s) = ∫ x (t )e − pt


dt, avec p = σ + iω et σ ,ω ∈ ℜ
0

• XL(s) = fonction complexe de la variable complexe p


• Pour un signal causal (x(t<0) = 0): XL(i2pf) = X(f)
• XL = généralisation de la T.F. dans le plan complexe
• XL = outil de caractérisation des systèmes de traitement des signaux

1 σ +iω
Transformée inverse : x (t ) = ∫
2πi σ −i∞
X L ( p)e pt dp

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Transformée de Laplace (Rappel)
Propriétés de la transformée de Laplace:

linéarité: L{a ⋅ x (t ) + b ⋅ y (t )}= a ⋅ X L (p) + b ⋅ YL ( p)

décalage temporel: L{x(t − t o )} = X L (p) ⋅ e− pt o

L{x(t) ⋅ e−at }= X L (p + a)
décalage 'fréquentiel':

 dx(t) 
signal à t=0-
dérivation : L  = p ⋅ X L ( p) − x (0)
 dt 

n−2 df (0) df n−1 (0)


 d n x(t) 
dérivation multiple : L n
 = p ⋅ X L ( p) − p ⋅ x (0) − p ⋅
n n−1
−L −
 dt  dt dt n−1

t  X L ( p)
L ∫ x (t')dt' =
intégration : 0  p

L{x(t) ∗ y(t)} = X L (p)YL ( p)


Produit de convolution :
L{x(t)y(t)} = X L ( p) ∗YL ( p)

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Transformée en Z (rappel)

9 Comme pour les signaux analogiques, la transformée en Z est mieux adaptée à l’analyse
des régimes transitoires que la transformée de Fourier

Définition
+∞
"Transformée en z de x[k]"
T.z{x [k ]}= X z (z) = ∑ x [k ]⋅ z −k
, avec z complexe
k=−∞

• Xz(z) = fonction complexe de la variable complexe z


• Pour les signaux usuels le domaine de convergence est un anneau centré sur l'origine du
plan complexe, de rayon R1 et R2 (c’est-à-dire que XZ(z) est défini pour R1<|z|<R2)
−1 / k
R1 = lim x [k ]
1/ k
R 2 = lim x [− k ]
k →+∞ k → +∞

• pour z = ei2π f, Xz(z) ≡ X(f) ⇒ Xz = généralisation de la T.F.


• Xz = outil de caractérisation des systèmes de traitement numérique des signaux

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Transformée en Z (rappel)
Propriétés de la transformée en Z:

Symétrie : si x[k] ∈ ℜ ⇔ X ∗ (z) = X(z∗ )


Théorème du retard : TZ (x[k − k 0 ]) = X(z)z−k0

Translation fréquentielle : TZ (x[k]e j 2 πkλ0 )= X (ze− j 2 πλ0 )

Amortissement géométrique : TZ (r k x[k])= X(z / r)

Réversibilité : TZ (x[−k]) = X (z−1 )

Produit de convolution : TZ (h[k]∗ x[k]) = H(z)X (z)

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Signaux (Notion)

9 On appelle signal une fonction d’une ou plusieurs variables engendrée par un phénomène physique

9 Classification des signaux:

- un signal à temps continu (signal analogique) x(t) correspond à une grandeur dont la valeur
existe à chaque instant t

- un signal à temps discret x[n] correspond à une grandeur dont la valeur n’est disponible qu’à
certains instants t

- un signal échantillonné est un cas particulier de signal discret, obtenu en faisant une mesure à
intervalles de temps réguliers d’une grandeur analogique x[n]=x(nTe)

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Signaux (Notion)

9 Classification des signaux:


+∞ 2
- un signal d’énergie finie si E(x) = −∞
x(t) dt est convergente


T /2 2
- un signal de puissance finie si P(x) = limT −>+∞ T x(t) dt est bornée
1
−T / 2

- un signal est déterministe si ses valeurs peuvent être prédites de façon exacte par un modèle
mathématique

- un signal aléatoire (ou stochastique) n’est pas entièrement prédictible et ses valeurs sont
considérées comme dépendant en partie du hasard

- un signal est dit causal s’il est identiquement nul pour les instants négatifs

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Systèmes (Notion)

9 Un système est un ensemble de dispositifs qui établit un lien de cause à effet entre des signaux
d’entrée (excitations) et des signaux de sortie (réponses ou mesures)

9 Il faut distinguer deux types d’excitations : les commandes et les perturbations

Perturbations

Commandes Système Mesures

9 De façon générale, la relation de cause à effet qui lie la commande x(t) et la mesure y(t) est de la
forme

y(t) = S(x;t)

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Systèmes (Notion)

9 Un système est linéaire s’il vérifie le principe de superposition

S( λ1 x1 + λ2 x 2 ;t) = λ1S(x1;t) + λ2 S(x 2 ;t)


9 Un tel système est alors parfaitement caractérisé par ses réponses impulsionnelles

Si x(t) = A1δ (t − t1 ) + A2δ (t − t 2 )


alors y(t) = A1S [δ (t − t1 );t ] + A2 S [δ (t − t 2 );t ]
= A1k(t,t1 ) + A2 k(t,t 2 )
où k(t,t1) correspond à la réponse du système à une impulsion produite à l’instant t1

9 Généralisation à un signal quelconque :


+∞
∀x(t), x(t) = x(u)δ (t − u)du
−∞

y(t) = ∫
+∞
donc x(u)k(t,u)du
−∞

9 La réponse d’un système linéaire s’écrit donc comme moyenne pondérée des valeurs de l’excitation
correspondante.

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Systèmes (Notion)

9 Un système est dit intemporel (ou stationnaire ou invariant par translation temporelle) si sa réponse
à une excitation décalée x(t-t0) est la version décalée de la réponse correspondante y(t-t0)

9 Pour un système linéaire intemporel, la réponse à une impulsion produite à l’instant t1 est égale à la
version décalée de t1 de la réponse du système à une impulsion produite à l’instant t=0

k(t,t1 ) = S [δ (t − t1 );t ] = S [δ (t);t − t1 ] = k(t − t1,0)

9 Tout système linéaire intemporel est donc parfaitement caractérisé par un signal particulier qui
correspond à sa réponse à une impulsion h(t)=k(t,0)

9 La réponse à un signal quelconque s’écrit donc comme le produit de convolution entre l’excitation et la
réponse impulsionnelle

∫ ∫
+∞ +∞
y(t) = −∞
h(t − τ )x(τ )dτ = −∞
h(v)x(t − v)dv

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Systèmes (Notion)

9 Propriété des systèmes linéaires intemporels : leur réponse à une excitation sinusoïdale (réponse
harmonique) est une sinusoïde de même fréquence, éventuellement atténuée et déphasée

Si x(t) = e λt e jωt alors


+∞
y(t) = S(x;t) = h(v)e λ(t−v )e jω (t−v )dv
−∞

= {∫ }
+∞

−∞
h(v)e− λv e− jωv dv e λt e jωt

{∫ dv}x(t)
+∞
= h(v)e− λv e− jωv
−∞

Facteur d’atténuation
et de déphasage

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Systèmes (Notion)

9 Un système est causal si sa réponse ne précède jamais l’excitation qui lui correspond. Ainsi la réponse
d’un tel système à une excitation causale et un signal causal.

9 Un système est dit réel si sa réponse y(t) à une excitation x(t) réelle quelconque est un signal réel. La
plupart des phénomènes physiques constituent des systèmes réels.

9 Un système est stable si sa réponse y(t) à une excitation bornée quelconque est un signal borné.

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Fonction de transfert

9 Une fonction de transfert est une représentation mathématique de la relation entre l’entrée et la
sortie d’un système

9 Pour les signaux continus, la fonction de transfert est le rapport entre la transformée de Laplace de
y(t) sur la transformée de Laplace de x(t)

Y ( p)
H( p) =
X( p)
9 Pour les signaux discrets, la fonction de transfert s’exprime à partir des transformées en Z des
signaux d’entrée et de sortie

Y (z)
H(z) =
X(z)

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Fonction de transfert
9 Exemple d’un système dynamique décrit par une équation différentielle à coefficients constants:
q p
dn y dm x
∑ an dt n (t) = ∑ bm dt m (t) avec p < q
n= 0 m= 0

9 Transformée de Laplace de l’équation différentielle :

 n
q n−1 k
d y + n−k−1 
p  m m−1 l
d x + m−l−1
a0Y( p) + ∑ an  p Y ( p) − ∑ k (0 ) p  = b0 X( p) + ∑ bm  p X( p) − ∑ l (0 ) p 
n=1  k= 0
dt  m=1  l= 0
dt 

⇒ Y( p) = YL ( p) + YF ( p) Réponse forcée
Réponse libre
p
q n−1
d y k p m−1
dxl

∑ ∑ an dt k (0+ ) pn−k−1 − ∑ ∑ bm dt l (0+ ) pm−l−1 ∑b m pm


YL ( p) = n=1 k= 0 m=1 l= 0 YF ( p) = m= 0
q
X( p)
q

∑a np
n
∑a n pn
n= 0 n= 0

YF ( p)
∑b m pm
Fonction de Transfert H( p) = = m= 0
q
X( p)
∑a n pn
n= 0

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Fonction de transfert
9 Exemple d’un système linéaire intemporel discret décrit par une équation aux différences à
coefficients constants:
p q

∑ a[i]y[n − i] = ∑ b[ j]x[n − j] avec a[0] ≠ 0


i= 0 j= 0
9 Transformée en Z de l’équation aux différences :
+∞  p  +∞  q 
∑ ∑ a[i]y[n − i]z = ∑ ∑ b[ j]x[n −
−n
j]z−n
n=−∞  i= 0  n=−∞  j= 0 
p  +∞  q  +∞ 
∑ a[i] ∑ y[n − i]z z = ∑ b[ j] ∑ x[n − j]z z
−(n−i) −i −(n− j ) − j

i= 0  n=−∞  j= 0  n=−∞ 
 p  +∞   q  +∞ 
∑ a[i]z  ∑ y[n]z  =  ∑ b[ j]z  ∑ x[n]z 
−i −n
 −j
 −n

 i= 0  n=−∞   j= 0  n=−∞ 
Y(z) X(z)
q

∑ b[ j]z −j

Y (z)
Fonction de Transfert H(z) = = j= 0
p
X(z)
∑ a[i]z −i

i= 0

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Introduction

9 Dans de nombreux cas, les localisations fréquentielles du signal recherché et des perturbations sont
connues ⇒ envie de de construire un nouveau signal en excluant les perturbations

9 C’est exactement le but du filtrage déterministe

9 Il consiste à concevoir et à utiliser un système linéaire causal intemporel dont la fonction de


transfert répond aux spécifications de l’utilisateur exprimé dans un gabarit fréquentiel.

9 Nous allons montrer la nécessité de développer des formes standards de filtres analogiques et le
besoin d’une méthodologie de conception des filtres numériques

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Introduction
9 Exemple d’un filtre passe-bas d’ordre 1:

dVs
Ve Vs Equation différentielle Ve (t) = Vs (t) + RC (t)
dt
R
C Vs ( p) 1
Fonction de transfert H( p) = =
Ve ( p) 1+ RCp

⇒ Pente d’atténuation de -20dB/décade

9 Pour améliorer les performances de filtrage (Pente d’atténuation inférieure à -20dB/décade)


⇒ N cellules d’ordre 1 en cascade par exemple

d NVs d N −1Vs
aN N (t) + aN −1 N −1 (t) + ...+ Vs (t) = Ve (t)
dt dt

1
H( p) =
aN p N + aN −1 p N −1 + ...+ 1
⇒ Pente d’atténuation de -Nx20dB/décade

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Introduction
9 Passage au filtre numérique : il suffit d’échantillonner le signal analogique d’entrée aux instants nTe
où Te est la période d’échantillonnage, puis de faire subir à ces échantillons une opération
mathématique.
9 Filtre passe-bas d’ordre 1 : on fait correspondre à l’équation différentielle une équation aux
différences finies

Vs (nTe ) − Vs ((n −1)Te )


Ve (nTe ) = Vs (nTe ) + RC
Te

9 D’où la relation de récurrence :

 RC   RC 
Vs (nTe ) =  V
 s ((n −1)Te ) +  Ve (nTe )
 e
T + RC   e
T + RC 

9 Filtre d’ordre N : Il faudrait faire correspondre à l’équation différentielle d’ordre N une équation
aux différences finies ⇒ démarche très « lourde »
9 Nécessité de développer une méthodologie simple permettant d’obtenir rapidement les fonctions de
récurrence des filtres numériques
9 Les coefficients des filtres sont calculés à partir de fonctions modèles: réponse impulsionnelle ou
réponse en fréquence de filtres analogiques connus

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Introduction

9 Dans le cas où la fonction modèle est la réponse impulsionnelle, les éléments h(k) de la réponse
impulsionnelle numérique se calculent à partir de la réponse impulsionnelle analogique h(t). D’où, la
fonctionde transfert en Z du filtre:

H(z) = ∑ h(k)z−k ⇒ Relation de récurrence


k

9 Dans le cas où la fonction modèle est la réponse en fréquence, la procédure d’obtention de la relation
de récurrence est la suivante:

Fonction de transfert Relation fonctionnelle Fonction de transfert Relation de récurrence


analogique H(p) p=f(z) numérique H(z) y(n)=…

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtre analogique

9 Un filtre analogique est caractérisé par sa fonction de transfert H(p) :

∑a p i
i

H( p) = i= 0
N
avec M ≤ N
∑b p j
j

j= 0

9 Ordre du filtre définit le comportement asymptotique quand ω tend vers zéro ou l’infini. Par
exemple, filtre d’ordre 4 ⇒ pente de -80dB/décade.
9Tout filtre peut être réalisé à partir de filtre d’ordre deux et un.

Filtre ordre 5

Filtre ordre 2 Filtre ordre 2 Filtre ordre 1

9 Filtre d’ordre 1 : H(p)=1/(1+τp) pour un passe-bas et H(p)=τp/(1+τp) pour un passe haut.

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtre analogique
Fréquence
caractéristique
9 filtre passe-bas d’ordre deux:

H( p) =
a0 ω 02
Forme canonique H( p) = ALP
b0 + b1 p + b2 p 2 p2 + p
ω0
Q + ω 02

Gain basse Coefficient de


fréquence surtension
En variable réduite s=p/ω0

1
H(s) = ALP
s2 + Qs + 1

Q=0.707 ⇒ Butterworth
Q=0.577 ⇒ Bessel
Q=0.863 ⇒ Chebyschev (ripple band = 0.5dB)
Q=1.128 ⇒ Chebyschev (ripple band = 2dB)

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtre analogique

9 Remarque: le filtre passe-bas idéal serait le filtre suivant:


H(f) = 1 si -Fc<f<Fc
= 0 sinon

sin(2πFc t)
9 Réponse impulsionnelle : h(t) =
πt

⇒ Ce filtre est irréalisable car non causal (la réponse précède l’entrée)

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtre RIF

9 Un filtre numérique est un algorithme de calcul qui fait correspondre à une suite d’échantillons x(n)
une autre suite d’échantillons y(n) :
M N
y(n) = ∑ bi x(n − i) + ∑ a j y(n − j)
i= 0 j=1

Filtre RIF

9 Les filtres à réponse impulsionnelle finie (RIF ou FIR). Les coefficients aj sont nuls :

M
y(n) = ∑ bi x(n − i)
i= 0

9 La fonction de transfert des filtres RIF s’écrit :


M
H(z) = ∑ bi z−i
i= 0

9 H(z) est aussi la transformée en Z de la réponse impulsionnelle ⇒ H(z) = ∑ h(k)z−k


k= 0
⇒ bi=h(i) et les coefficients h(k) = 0 pour k>M
⇒ d’où filtre à réponse impulsionnelle finie
⇒ filtre toujours stable car la sortie revient toujours à zéro après suppression de l’excitation

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtre RII
Filtre RII

9 Les filtres à réponse impulsionnelle infinie (RII ou IIR). Les coefficients aj sont non-nuls :
M N
y(n) = ∑ bi x(n − i) + ∑ a j y(n − j)
i= 0 j=1

9 La fonction de transfert des filtres RII s’écrit :


M

∑b z i
−i

H(z) = i= 0
N
1− ∑ a j z− j
j=1

9 La réponse impulsionnelle de ces filtres est infinie


⇒ Ces filtres peuvent devenir instables

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Critère de stabilité
9 La décomposition en éléments simples de H(z) conduit :

A
- soit à des termes de la forme pour un pôle situé en z=a
(1− az−1 )
B + Cz−1
- soit à des termes de la forme pour des pôles
(1− 2βz−1 + α 2 z−2 )

imaginaires conjugués situés en z1,2 = β ± α 2 − β 2 de module |z1,2|=α

9 Les transformées inverses de ces deux expressions sont des suites qui convergent uniquement
si a et α sont inférieurs à l’unité

9 Un système numérique est stable si le module des pôles reste inférieur à l’unité

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Synthèse d’un filtre RII
9 La procédure d’obtention de la relation de récurrence est la suivante:

Fonction de transfert Relation fonctionnelle Fonction de transfert Relation de récurrence


analogique H(p) p=f(z) numérique H(z) y(n)=…

9 Deux difficultés apparaissent:


- Calculer la fonction de transfert numérique H(z) à partir de la fonction de transfert
analogique H(p) ⇒ transformation bilinéaire
- Calculer les coefficients aj et bi de H(z) pour obtenir la relation de récurrence à appliquer
⇒ calcul des pôles de H(p)

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Transformation bilinéaire
9 On définit la variable de Laplace réduite s=p/ωc où ωc=2πfc avec fc la fréquence de coupure du filtre
analogique modèle

9 On établit une relation entre la variable s et la variable z. Les variables z et ω sont liées par la
relation suivante :
 ω
z = exp j2π 
 ωe 

où ωe=2πfe avec fe la fréquence d’échantillonnage. On en déduit une relation entre p et z : p=feln(z)

9 Si p/fe reste voisin de zéro alors z est voisin de 1. En posant z=(1+x)/(1-x) avec x<<1, on peut alors
montrer que :
z −1
ln(z) ≈ 2
z +1
9 D’où l’expression théorique de la transformation bilinéaire:
z −1
p = 2 fe
z +1
⇒ cette transformation engendre une distorsion des fréquences entre le domaine
analogique et le domaine numérique

9 Dans la pratique, pour minimiser la distorsion autour de la fréquence de coupure du filtre


utilisé, on utilise la formule suivante:
1 z −1
s=
tan(πf c / f e ) z + 1

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Application au filtre de Butterworth
9 L’expression de la fonction de transfert d’un filtre de Butterworth d’ordre n est :

2 1
H n (ω ) =
( )
2n
ω
1+ ωc

9 |Hn(0)|2=1 et |Hn(ω)|2 tend vers 0 quand ω tend vers l’infini. Au voisinage de ωc :

2
H n (ω ) = 12 − 2ωn c (ω − ω c ) + O((ω − ω c ) 2 )

⇒ Ceci montre que la pente de |Hn(ω)|2 augmente avec l’ordre n mais aussi avec 1/ωc : le filtre est
d’autant plus sélectif que la fréquence de coupure est basse

9 La fonction de transfert en variable de Laplace réduite est :


2 1
H n (s) =
1+ (−1) n s2 n
9 Comme Hn(s) est la fonction de transfert d’un système réel, ses coefficients sont réels. De plus,
comme |Hn(s)|2 est paire, |Hn(s)|= |Hn(-s)|. On peut alors montrer que Hn(s) est la fraction rationnelle
regroupant les n pôles de |Hn(s)|2 se trouvant à gauche de l’axe imaginaire (σi) :

1
H n (s) = n

∏ (s − σ ) i
i=1

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Application au filtre de Butterworth
9 Si n est pair, on peut montrer que :
 2i −1 π 
σ i = exp j1+   i = [1,..,n ]
 n  2

n /2
1
H n (s) = ∏
 2i −1 π 
i=1
s2 + 2ssin  +1
 n  2

9 Si n est impair, on peut montrer que :


 i π  n −1 n −1
σ i = exp j1+   i = − ,..,
   n 2  2 2 
(n−1)/ 2
1 1
H n (s) =
s+1
∏  i  
i=1
s2 + 2scos π  + 1
 n  

9 Par exemple pour n=2 et n=3 :

1 1
H 2 (s) = H 3 (s) =
s2 + 2s + 1 s3 + 2s2 + 2s + 1

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Application au filtre de Butterworth
9 En appliquant la transformation bilinéaire, on obtient l’expression de la fonction de transfert
numérique :
(z + 1) n
avec k = [tan(πf c / f e )]
−1
H n (z) = n

∏ [k(z −1) − σ (z + 1)]


i
i=1

9 On en déduit que les pôles de Hn(z) sont :

k + σi
zi =
k −σi

9 Hn(z) est une fraction rationnelle qui s’écrit :

(z + 1) n a0 + a1z−1 + ...+ an z−n


H n (z) = =
n
1+ b1z−1 + ...+ bn z−n
∏ (z − z ) i
i=1

9 Connaissant les pôles de Hn(z), on peut en déduire par identification les coefficients ai et bj, d’où la
relation de récurrence ⇒ méthode très « lourde » lorsque n est grand

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Application au filtre de Butterworth
9 Il est aussi possible de décomposer Hn(z) en cellule d’ordre 2 :

 a(i)
n /2 (i) −1 (i) −2 
0 + a1 z + a2 z
H n (s) = ∏ (i) (i) −1 (i) −2  si n est pair
i=1  b0 + b1 z + b2 z 

 1 + 1 z−1  2  a(i) + a(i)z−1 + a(i)z−2 


n−1

−1 ∏ (i)
H n (s) =  1+k 1−k
1+k 0 1
(i) −1
2
(i) −2 
si n est impair
 1+ 1+k z  i=1  b0 + b1 z + b2 z 

1
9 l’expression des coefficients est la suivante : 0 =
a(i)
k 2 − 2ℜ(σ i )k + 1
2
a1(i) = 2
k − 2ℜ(σ i )k + 1
1
a(i) =  n
k 2 − 2ℜ(σ i )k + 1
2
pour i ∈ 1, 
b0(i) = 1  2
2 − 2k 2
b1 = 2
(i)

k − 2ℜ(σ i )k + 1
k 2 + 2ℜ(σ i )k + 1
b2 = 2
(i)

k − 2ℜ(σ i )k + 1

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Application au filtre de Butterworth
9 Pour passer d’un filtre passe-bas à un filtre passe-haut de même fréquence de coupure, il suffit de
soustraire le résultat du filtre passe-bas au signal original.
9 En terme de fonction de transfert, cela revient à remplacer s par 1/s
9 D’où l’expression de la fonction de transfert numérique:
 c (i)
n /2 (i) −1
0 + c1 z + c 2 z
(i) −2 
H n (s) = ∏ (i) (i) −1 (i) −2 
si n est pair
i=1  d 0 + d1 z + d 2 z 

 k − k z−1  2  c (i) + c (i)z−1 + c (i)z−2 


n−1

−1 ∏ (i)
H n (s) =  1+k k−1
1+k 0 1
(i) −1
2
(i) −2 
si n est impair
 1− 1+k z  i=1  0
d + d1 z + d 2 z 

k2
c = 2
(i)

k − 2ℜ(σ i )k + 1
0

−2k 2
c1 = 2
(i)

k − 2ℜ(σ i )k + 1
k2
c2 = 2
(i)
 n
k − 2ℜ(σ i )k + 1 pour i ∈ 1, 
 2
d0(i) = 1
2 − 2k 2
d1 = 2
(i)

k − 2ℜ(σ i )k + 1
k 2 + 2ℜ(σ i )k + 1
d2 = 2
(i)

k − 2ℜ(σ i )k + 1
Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Choix d’un filtre RII
9 Comment choisir l’ordre d’un filtre?
⇒ A priori il suffit d’augmenter l’ordre à volonté pour obtenir une sélectivité maximale

9 Il faut tout de même garder en mémoire les points suivants:

9 Un filtre RII a une période d’initialisation avant le régime permanent qui augmente avec l’ordre du
filtre

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Choix d’un filtre RII
9 Un filtre RII déphase le signal. Le
déphasage augmente avec l’ordre du filtre.

9 Problème numérique lorsque k=1/tan(πfc /fe) très grand. Le dénominateur de Hn(z) contient un terme
en kn et un terme égal à un. Par exemple si fe=10Hz et fc=3.10-4Hz ⇒ k=104. Avec 16 chiffres
significatifs, il ne faut pas dépasser l’ordre 4.

⇒ Utiliser plus de chiffres significatifs pour calculer puis appliquer le filtre


⇒ Sous échantillonner si cela n’entraîne pas de perte du signal utile (filtre pass-bas avant pour
éviter le phénomène de repliement)

9 Si k>>1 alors les pôles sont proches du cercle unité. Une faible erreur numérique peut rendre le filtre
instable.

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Synthèse d’un filtre RIF
9 Le calcul des coefficients repose sur l’utilisation de la transformée numérique et des fenêtres
spectrales (rectangulaire, Hanning, Hamming,…)
9 Exemple: Calcul du filtre RIF ayant la fonction de transfert suivante

H(f)

-Fe/2 -Fc Fc Fe/2 f

9 Les échantillons de la réponse impulsionnelle sont calculés de la manière suivante:

sin(2πFc nTe )

Fc / 2 j 2 πfnTe
h(n) = Te e df =
−Fc / 2 πn

9 Deux problèmes :
- La suite des échantillons est infinie
- h(n) est non causal

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Synthèse d’un filtre RIF
9 Le premier problème est résolu en tronquant h(n)
9 Pour ce faire, on multiplie h(n) par une fenêtre de pondération (rectangulaire, hanning,…)

h1 (n) = h(n)y(n) 
→ H1 ( f ) = H( f ) ∗Y ( f )

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Synthèse d’un filtre RIF
9 Conséquences:
- la transition entre la bande passante et la bande d’arrêt (transition de Gibbs) est moins abrupte
- l’apparition d’ondulations dans les bandes passantes et d’arrêt

9 Selon les types de fenêtre, la transition de Gibbs et les ondulations sont plus ou moins prononcés

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Synthèse d’un filtre RIF

9 Pour supprimer la non-causalité du filtre, il faut translater les échantillons h(n) de manière à rendre
le filtre causal

h2 (n) = h1 (n − N2−1 )

9Cette translation ne modifie pas le module de la fonction de transfert du filtre (pas de modification
des capacités de réjection) mais par contre il y a une modification linéaire de la phase

 N −1
Arg[H 2 ( f )] = −2πf  T
 2  e

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Comparaison RII et RIF

Type de filtre RII RIF


Méthode de calcul des Fonctions modèles Fenêtrage
coefficients (Butterworth,…) (rectangulaire, Hanning,…)

Avantages Peu de coefficients: Phase linéaire (pas de


-> rapidité de calcul déformation des signaux)
-> peu d’espace mémoire Toujours stable

Inconvénients Phase non linéaire Nombre de coefficients


Risque d’instabilité élevé:
-> temps de calcul long
->espace mémoire important

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Routines FORTRAN
9 Ces routines ont été développées pour préparer le traitement des données de la mission
MICROSCOPE
9 Elles ont été testées pour le traitement des données GOCE.
9 3 Routines en Fortran 90 :
CALCOF : Calcul des coefficients d‘un filtre RII de Butterworth passe-bas ou passe-haut
CALIIR : Application d’un filtre RII passe-bas ou passe-haut. Les coefficients sont soit calculés
avec les formules précédentes soit lus dans un fichier
BPASS : Application d’un filtre RII passe-bande par applications successives d’un filtre passe-bas
et d’un filtre passe haut

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtrage avec Matlab
9 Synthèse d’un filtre RII :
N=5; % Ordre du filtre
B=1000; % Bande passante
fe=10000; % Fréquence d’échantillonnage
[num,den]=butter(N,2*B/fe) % Calcul des coefficients
figure(1)
impz(num,den); % Affichage de la réponse impulsionnelle
figure(2)
freqz(num, den) ; % Diagramme de Bode

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtrage avec Matlab
x=ones(100,1); % x=saut unité
y=filter(num,den,x); % y=réponse indicielle
figure(3)
plot(y,’bo’) % Affichage de la réponse indicielle
figure(4)
P=roots(den) % Calcul des pôles
Z=roots(num) % Calcul des zéros
zplane(num,den) ; % Affichage des pôles er des zéros

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtrage avec Matlab
9Matlab permet aussi de calculer les coefficients d’un filtre RII en le décomposant en cellules
d’ordre 2
N=5; % Ordre du filtre
B=1000; % Bande passante
fe=10000; % Fréquence d’échantillonnage
[num,den]=butter(N,2*B/fe) % Calcul des coefficients
[Z,P,K]=tf2zp(num,den); % Calcul des pôles, des zéros et du facteur
% multiplicatif K
[SOS,G]=zp2sos(Z,P,K); % donne la matrice SOS et le gain

b0(1) + b1(1)z−1 b0(i) + b1(i)z−1 + b2(i)z−2


i= 3
H(z) = G × (1) (1) −1
× ∏ (i) (i) −1 (i) −2
a0 + a1 z i= 2 a0 + a1 z + a2 z

 b0(1) b1(1) 0 a(1)


0 a1(1) 0 
 
SOS = b0(2) b1(2) b2(2) a(2)
0 a1(2) a(2)
2 
b(3) b(3) b(3) a(3) a1(3) a(3) 
 0 1 2 0 2 

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtrage avec Matlab
9 Synthèse de filtres RIF
N=20; % Ordre du filtre
A=[1]; % Pas de contre-réaction
% Calcul des coefficients de 3 filtres
num_rect=fir1(N,0.5,’low’,boxcar(N+1),’noscale’);
num_hann=fir1(N,0.5,’low’,hanning(N+1),’noscale’);
num_hamm=fir1(N,0.5,’low’,hamming(N+1),’noscale’);
% Calcul des fonctions de transfert
[ft_rect,w]=freqz(num_rect,A);
[ft_hann,w]=freqz(num_hann,A);
[ft_hamm,w]=freqz(num_hamm,A);
% Transformation en dB
ft_rect_db=20*log10(abs(ft_rect));
ft_hann_db=20*log10(abs(ft_hann));
ft_hamm_db=20*log10(abs(ft_hamm));
% Affichage des digrammes de Bode
plot(w,ft_rect_db,w,ft_hann_db,w,ft_hamm_db)
legend(‘Rectangulaire’,’Hanning’,’Hamming’)
xlabel(‘frequency (rad/sample)’)
ylabel(‘Amplitude (dB)’)

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtrage avec Matlab

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtre de Vondrak
9 L’algorithme de Vondrak permet de filtrer une série temporelle de mesures non-équidistantes en
tenant compte du poids de chaque mesure.
9 Cet algorithme est présenté en détail dans les 2 articles suivant:
- « A contribution to the problem of smoothing observational data », J.Vondrak, Bull. Astron.
Inst. Czech. 20 (1969), 349-355
- « Problem of smoothing observational data II », J.Vondrak, Bull. Astron. Inst. Czech. 28
(1977), 84-89

9 L’algorithme est basé sur la minimisation de la fonction suivante :

S
Q=F + avec ε > 0
ε
1
∫ [Φ (t)]dt
n
F = (n − 3) −1
∑ p (x[i] − y[i])2 S= '''
i T T
i=1

Poids des mesures Signal filtré Fonction spline cubique


ajustée sur les points
voisins
Signal original

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtre de Vondrak
9 Les fonctions F et S sont normalisées afin d’obtenir une filtrage dont la qualité est
indépendante de la longueur de la série et de la densité des points
9 Problème: Choix du paramètre ε en fonction des caractéristiques du filtre souhaité
Soit R(P) la fonction représentant le pouvoir de réjection filtre à la période P
On définit P0, P1 et P2 de telle sorte que R(P0)=0.5 , R(P1)=0.01 et  R(P2)=0.99
Le filtre est synthétisé en fixant P0
=> Calcul de P1 et P2

P1 = P010−0.367 P2 = P010 0.367


=> Calcul de ε

pmoy10 4.75 1
N
ε= avec pmoy = ∑ pi
P06 N i=1

9 Il est aussi possible d’obtenir des filtres passe-haut, passe-bande, coupe-bande.

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtre de Vondrak
9 Série temporelle de la composante Y du géocentre mesurée par SLR
9 Série échantillonnée à 7 jours
9 Application du filtre de Vondrak et d’un filtre de Butterworth d’ordre 2

9 Inconvénients du filtre de Butterworth par rapport au filtre de Vondrak: phase d’initialisation


et déphasage du signal
9 Avantages du filtre de Butterworth par rapport au filtre de Vondrak: il est possible d’augmenter
le pouvoir de réjection en augmentant l’ordre du filtre. Impossible pour le filtre de Vondrak.

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006
FILTRAGE NUMERIQUE - Filtree de Vondrak
9 Exemple d’application du filtre de Vondrak sur une série temporelle non-équirépartie

Philippe Berio - OCA/GEMINI Ecole d’été GRGS « Méthodes et Logiciels pour la Géodésie Spatiale », 4-8 Septembre 2006

You might also like