Filtres Numériques
Généralités
Transformée en Z
Cas continu :
( ) ( ) ds t( ) e t s t RC
= + dt
( )
( ) S p
( )
H p = E p H f( ) = H p( ) p j= 2π f
discrètisation :
[ ] [ ] [ ]
e(
1)
ee e
e
s nT s n T e nT s nT RC
T
⎡ ⎤
− ⎣ − ⎦
= +
( )
= S z H("f ") = H z( )
Transformée de Laplace d’un signal échantillonné :
( ) ( )
pt avec( ) ( )
e e e e
X p x t e dt x t x nT
+∞ −
−∞
=
∫
=( ) [ ]
npTee e
n
X p x n e
+∞ −
=−∞
=
∑
Transformée en Z
( ) [ ]
nn
X z x n z
+∞ −
=−∞
=
∑
( ) [ ]
npTe =[ ]
n avec pTee e e
n n
X p x n e x n z z e
+∞ +∞
− −
=−∞ =−∞
=
∑ ∑
=Propriétés
linéarité
Décalage temporel (théorème du retard)
Convolution (théorème de)
Systèmes LIT
Stabilité
Fonction de transfert discrète :
( ) [ ]
nn
H z h n z
+∞ −
=−∞
=
∑
+∞
Causalité
[ ] [ ] [ ]
0 m
y n h m x n m
+∞
=
=
∑
−( ) [ ]
0
n n
H z h n z
+∞ −
=
=
∑
Filtres numériques
Équations aux différences
Fonctions de transfert rationnelle
…(suite)
( ) ( )
( )
( )
1
0 1
1
1 1
1 ( )
1 1
q q
i i i
i i
p p
i
i i
i i
z N z b z
H z D z
a z z
β α
− −
= =
− −
= =
−
= = =
+ −
∑ ∏
∑ ∏
Pôles et zéros
( ) ( )
0 0
z = βi ⇒ N z = ⇒ H z = Zéros de transmission
Pôles
( ) ( )
0
z =αi ⇒ D z = ⇒ H z → ∞
Fonction de transfert :
amplitude, phase et temps de groupe ( ) ( )
( )
( )
( ) ( )
2
1 1
1 1
1 ( )
1
j f
q
i i
p
i
i z e
N z z N f
H z D z D f
z
π
β α
−
=
−
= =
−
= = =
−
∏
∏
( ) ( ) ( )
( )( )
( )( )
( )
( ( ) ( ))j f
j f f
j f
N f e N f
N f e
D f D f e D f
θ
θ ϕ
ϕ
= = −
( )
1 d(
( ) ( )f f)
T f
θ ϕ
π
= − −
Spécifications en amplitude
Gabarit (linéaire)
Spécifications en phase
Phase linéaire
…(suite)
(
h, v) (
h, v)
j(2 h( )fh 2 v( )fv )X f f = X f f e πϕ + πϕ
(
h, v)
j(2 h( )fh 2 v( )fv )Xϕ f f = e πϕ + πϕ Xmod
(
fh, fv)
= X f(
h, fv)
Filtres numériques
Filtres RIF (FIR)
Phase linéaire
donc
…(suite)
Temps de groupe
( )
1(
2 0)
2
d f
T f
df
π τ ϕ π τ
− +
= − =
Condition
• h(t) doit être symétrique ou antisymétrique
• Non réalisable avec les filtres analogiques
Synthèse
méthode de la fenêtre
• Spécification en fréquence sous la contrainte d’une réponse impulsionnelle symétrique ou anti-symétrique.
• Filtre idéal :
Aparté 1
(Fonctions rectangle et sinus cardinal)
(
2)
1 if0 else.
c c
f f
rect f f ⎧ <
= ⎨⎩
sin( 2 )
2 sinc(2 ) 2
2
c
c c c
f f t f f t
f t π
= π TF−1
⎯⎯⎯ →
Réponse impulsionnelle finie
Aparté 2
(théorème du fenêtrage)
1
( ). ( ) ( ) ( )
TF
TF
x t y t X υ Y f υ υ d
−
+∞
−∞
⎯⎯→ −
←⎯⎯ ⎯ ∫
Longueur de la fenêtre
Fenêtres
Fenêtres
Filtre obtenu
Phase
Système causal
( ) (
f)
TF( )
exp(
2 f)
h t ∗δ t −t ⎯⎯→H f − j π f t
( )
fT f = t
Phase (cas discret)
Soit h[n] = h(nTe) et LTe = tf , alors,
[ ] [ ]
TFD[ ]
exp 2e
h n n L H k j k L
δ ⎛ π F ⎞
∗ − ⎯⎯⎯→ ⎜− ⎟
⎝ ⎠
Causalité :
N coefficients : 1
2 L N −
=
…(suite)
Types de filtre (exemple)
Réponse impulsionnelle, fonction de transfert, stabilité et équation aux différences
Réponse impulsionnelle : h[n]
Fonction de transfert :
( ) ( )
( )
1[ ]
0 N
k k
H z Y z h k z
X z
− −
=
= =
∑
Equation aux différences :
( ) [ ]
1[ ] ( ) ( ) ( )
0 1
N
k k
k k
N z N z
H z h k z h k z
D z
+∞ −
− −
=−∞ =
=
∑
=∑
= =( )
1[ ] ( )
1( )
0 0
N N
k k
k
k k
Y z h k X z z b X z z
− −
− −
= =
=
∑
=∑
[ ] ∑
N−1[ ]
Implantation [ ] [ ]
1
0 N
k k
y n b x n k
−
=
=
∑
−…(suite)
[ ]
1[ ]
0 N
k k
y n b x n k
−
=
=
∑
−Algorithme
…(suite)
Filtres numériques
Filtres RII (IIR)
Étapes de conception
• Prototype analogique
- Fonctions d’approximation
• Transposition numérique
– Transposition pÆz
– Structure de réalisation
• Methode numérique directe : Yule Walker
– Méthode par optimisation
Transformation pÆz
2 j π f +∞
−∞
j
e 2 F
e 2
−F
2 e
j FT
e π
f : fréquence analogique
…(suite)
• Transformation bilinéaire :
• Réalise une relation bijective entre les fréquences analogiques et les fréquences numériques.
• Repose sur l’approximation de l’intégrale continue par la méthode des trapèzes.
( ) ( )
t
y t x u du
−∞
=
∫ (
1)
2
n
k k
n e
k
x x
y T
−=−∞
= ∑ +
( ) 1 ( ) Y p X p
= p 1
1
( ) 1 ( )
2 1 T
ez
Y z X z
z
−
−
= +
−
−1
−
Transformée de Laplace Transformée en z
…(suite)
( )
1 2 1
exp 2
2 1 1
e
p j f
e j FT
p z
T z
π
π
−
= −
= −
+
1 tan(
e)
e
f FT
π = T π
2 j π f
2 e
j FT
e π
FTe
π π f
Prédistorsion
f
Synthèse
• Définition du gabarit numérique en fonction de l’application.
• Prédistorsion des fréquences caractéristiques du gabarit (fp, fs).
• Ce gabarit prédistorsion est utilisé pour calculer un filtre prototype analogique en utilisant les fonctions
d’approximations :
• Butterworth
• Tchebycheff I
• Tchebycheff II
• Elliptic (Cauer)
• …
• Le filtre prototype analogique est transformé en filtre
numérique avec la transformation bilinéaire qui supprime la prédistorsion introduite à l’étape précédente. Ce filtre respecte
Filtres numériques
Équations aux différences
Fonctions de transfert rationnelle
Caractéristiques des filtres RII
2
2
( ) 1
1
N
c
H f
f f
= ⎛ ⎞ + ⎜ ⎟
⎝ ⎠
• Filtres de Butterworth
• Défini par son ordre N et sa fréquence de coupure fc.
• Fonction de transfert en module monotone.
% Butterworth filter
% sampling frequency : 16 kHz
% Fp : 1800 Hz
% Fa : 4000 Hz
% Rp : 0.01 dB % Ra : 50 dB
[N, Wn]= buttord(1800/8000,4000/8000,0.01,50);
[B,A] = butter(N,Wn);
H=freqz(B,A);
plot(linspace(0,1,512),abs(H))
…(suite)
• Filtres de Tchebycheff I
2
2 2
( ) 1
1 N
p
H f
T f ε f
= ⎛ ⎞
+ ⎜⎜ ⎟⎟
⎝ ⎠
• Défini par son ordre N et la fréquence
délimitant la bande passante fp et ε l’ondulation en bande passante.
• Ondulation en bande passante et monotone en bande atténuée.
% Chebyshev I filter
% sampling frequency : 16 kHz
% Fp : 1800 Hz
% Fa : 4000 Hz
% Rp : 0.01 dB
% Ra : 50 dB [N, Wn] =
cheb1ord(1800/8000,4000/8000,0.01,50); [B,A] = cheby1(N,0.01,Wn);
2
2 2
( ) 1 1
1 N s
H f f
T f
ε
= − ⎛ ⎞
+ ⎜ ⎟
⎝ ⎠
…(suite)
• Filtres de Tchebycheff II
• Défini par son ordre N, la fréquence délimitant la bande atténuée fs et l’atténuation ε.
• Monotone en bande passante et ondulation en bande atténuée.
% Chebyshev II filter
% sampling frequency : 16 kHz
% Fp : 1800 Hz
% Fa : 4000 Hz
% Rp : 0.01 dB
% Ra : 50 dB [N, Wn] =
cheb2ord(1800/8000,4000/8000,0.01,50); [B,A] = cheby2(N,50,Wn);
H=freqz(B,A);
2
2 2
( ) 1
1 N
p s
H f
R f ε f f
= ⎛ ⎞
⎜ ⎟
+ ⎜⎝ ⎟⎠
…(suite)
• Filtres elliptique
• Défini par son ordre N et la fréquence délimitant la bande atténuée fs, la fréquence délimitant la bande passante fp et ε l’atténuation et l’ondulation en bande passante.
• Ondulation en bande passante et ondulation en bande atténuée.
% Elliptic filter
% sampling frequency : 16 kHz
% Fp : 1800 Hz
% Fa : 4000 Hz
% Rp : 0.01 dB % Ra : 50 dB [N, Wn] =
ellipord(1800/8000,4000/8000,0.01,50);
Pôles et zéros
( ) ( )
( )
( )
1
0 1
1
1 1
1 ( )
1 1
q q
i i i
i i
p p
i
i i
i i
z N z b z
H z D z
a z z
β α
− −
= =
− −
= =
−
= = =
+ −
∑ ∏
∑ ∏
( ) ( )
0 0
z = βi ⇒ N z = ⇒ H z = Zéros de transmission
Pôles
( ) ( )
0
z =αi ⇒ D z = ⇒ H z → ∞
…(suite)
Butterworth
Tchebycheff I
…(suite)
Tchebycheff II
Elliptique
Temps de groupe
( )
1( )
2
d f
T f df
φ
= − π
…(suite)
Fréquence d’échantillonnage : 16 kHz Fp : 1800 Hz, Fs : 4000 Hz
Rp : 0.01 dB, Rs : 50 dB
Structure d’implantation
z-1
z-1
z-1
z-1
z-1
z-1 b1
b0
b2
b3
-a1
-a2
-a3
xn yn
) ( ) 1 ( )
(z B z A z
H =
Forme directe I
…(suite)
zz--11
zz--11
zz--11
zz--11
b1 b0
b2
b3
bQ-1 -a1
-a2
-a3
-aQ-1
yn xn
) ) (
( ) 1
( B z
z z A
H =
Forme directe II
…(suite)
b2
b3
-a1
-a2
-a3
xn
z-1 b1
z-1 b2
z-1
yn
) ) (
( ) 1
( B z
z z A
H =
Forme directe transposée II
Quantification des coefficients
• La précision finie des processeurs et des cases mémoires implique la quantification des coefficients.
k k k
a =a + Δa et bk = + Δbk bk
• La modification des coefficients modifie la fonction de transfert.
• Plus le filtre est d’ordre élevé, plus la pertubation introduite par la quantification est importante
…(suite)
• sensibilité des coefficients à la quantification Æ cellules d’ordre 2
2 2 1 1
1 1 0
1 − −
−
+ +
+
z a z
a
z b b
2 2 1 1
1 1 0
1 − −
−
+ +
+
z a z
a
z b
xn b yn
Décomposition en éléments simples
∑−
= − −
−
+ +
+ +
= 0 1 0 1 1 1 2 1
) (
)
( N i i
z a z
a
z b c b
z A
z B
c0
Structure parallèle Structure cascade
2 2 1 1
2 2 1 1 0
1 − −
−
−
+ +
+ +
z a z
a
z b z
b b
2 2 1 1
2 2 1 1 0
1 − −
−
−
+ +
+ +
z a z
a
z b z
b
x b
xnn yynn
Factorisation spectrale
∏−
= − −
−
−
+ +
+
= 0 1 + 1 11 2 22 1
1 )
( )
( N i i
z a z
a
z b z
b b z A
z B
Quantification
Structure directe Structure cascade
Factorisation spectrale
%calcul des racines P=roots(A)
Z=roots(B)
% fabrication des polynomes d’ordre 2
%à partir des racines complexes conjuguées A1=poly(P(1:2))
B1=poly(Z(3:4)) A2=poly(P(3:4)) B2=poly(Z(5:6)) A3=poly(P(5:6)) B3=poly(Z(1:2))
% Cela peut être fait automatiquement par la fonction matlab
% [sos,g]=tf2sos(B,A);
11 22 33
Calcul
ACC=x(n)
ACC=ACC - a1 × w(n-1) ACC=ACC - a2 × w(n-2) w(n)=ACC
ACC=w(n) × b0
ACC=ACC + b2 × w(n-2) ACC=ACC + b1 × w(n-1) ACC
y(n)=ACC
w(n-2)=w(n-1) w(n-1)=w(n) zz--11
zz--11
b1 b0
b -a1
-a2
yn xn