Traitement du Signal Filtres à Réponse Impulsionelle Infinie

Transcription

Traitement du Signal Filtres à Réponse Impulsionelle Infinie
Traitement du Signal
James L. Crowley
Deuxième Année ENSIMAG
Séance 10 :
première Bimestre 2001/2002
26 novembre 2001
Filtres à Réponse Impulsionelle Infinie
Les filtre Non-recursif (RIF).................................. 2
Définition de la Transformée en Z........................... 3
Lien avec la transformé de Fourier ...........................................4
Filtres à Réponse Impulsionelle Infinie (RII ou “IIR”)... 5
Exemple d'un filtre récursif du premier ordre ...........................6
Fonction de Transfert ..............................................................7
Stabilité d'un filtre de premier ordre :.......................................8
Représentations fréquentielles des filtres du premier ordre..........9
Conception des Filtres Récursifs............................10
Spécification ...........................................................................10
Transformation en Z inverse ....................................................11
Développement par division.............................................11
Relation Intégrale...........................................................12
Decomposition en Série............................................................13
Méthodes de Conception des Filtres Récursif..............................14
Représentation par pôles et zéros...............................................14
Linéairité de phase par renversement du temps...........16
Filtrage Récursif.
Séance 12
Les filtre Non-recursif (RIF)
Soit un filtre RIF : f(n) = fs(n) ·w N(n)
Le filtrage est fait par une convolution.
M–1
M–1
y(k) = ∑ x(k-m) f(m) = ∑ x(m) f(k-m)
m=0
m=0
Schematiquement :
x(t)
* f(t)
y(t) =x * f(t)
La fonction de transfert, F() est le ratio de la sortie sur l'entrée d'un système. Y/X.
Pour un système linéaire, ceci est trivial en domaine Fourier.
X(ω)
F(ω)
Y(ω) = X(ω) F(ω)
Y(ω)
X(ω) F(ω)
F(ω) = X(ω) =
X(ω)
F(ω) = | F(ω) |
e –jϑ(ω)
= | F(ω) | cos(ϑ(ω)) + j | F(ω) | sin (ϑ(ω))
Un filtre RIF peut être réalisé par une structure :
x(n)
...
z–1
f0
z–1
fN
f1
...
y(n)
ou z-1 represent un rérard d'un pas (un "shift register" en anglais).
un retard est :
z-1 = e –jω
Ceci nous conduit sur la Transformée en z.
12-2
Filtrage Récursif.
Séance 12
Définition de la Transformée en Z
La transformé en z peut être considéré comme une généralisation de la
transformation de Fourier à laquelle elle peut s'identifier dans un cas particulier.
La transformée en z constitue l’outil privilégie pour l’étude des systèmes discrets.
Elle joue un rôle équivalent à celui de la transformée de Laplace.
Par exemple, la transformée en z permet de représenter un signal possédant un
infinité d'échantillons par un ensemble fini de nombre.
La transformé en z peut être considéré comme une généralisation de la
transformation de Fourier à laquelle elle peut s'identifier dans un cas particulier.
Elle constitue l’outil privilégie pour l’étude des systèmes discrets (echantilloné).
La transformée en Z (bilatérale) est définie par
∞
X(z) = Z{x(n)} =
∑ x(n)
z –n
n=–∞
La transfomée en Z est une fonction complexe définie sur la plan complexe.
z = ℜ{z} + j ℑ {z}
= x + j y = r ejω
j ℑ {z}
r
ω
parce que
f * x(n)
ℜ{z}
z = ℜ{z} + j ℑ {z} = r ejω
⇔
F(z) X(z)
En transformé de Z, ca donne une fonction de transfert de :
Y(z) F(z) X(z)
F(z) = X(z) =
X(z) =
N-1
∑ f(n) z –n
n=0
= f(0) + f(1) z–1 + ... + f(n) z–N
12-3
Filtrage Récursif.
Séance 12
C'est une convolution avec une filtre R.I.F.
M–1
y(k) = ∑ x(k-m) f(m)
m=0
où f(m) = b m
Lien avec la transformé de Fourier
Soit z = r ejω
Donc X(z) = X(r ejω) =
∞
∞
n=–∞
n=–∞
∑ x(n) (re jω)-n = ∑ x(n) r –n e –jωn
∞
Pour |r| = 1, X(z) = X(ω) =
∑ x(n) e –jωn
n=–∞
Donc, la transformé de Fourier est un transformé de z pour lesquelle |z| = 1.
On peut trouver la transformée de Fourier sur l'anneau |z| = 1
Im{z}
Transformée de
Fourier
|z |= 1
ω
Re{z}
12-4
Filtrage Récursif.
Séance 12
Filtres à Réponse Impulsionelle Infinie (RII ou “IIR”)
Les filtres récursifs sont définis par une équation de récurrence.
Le filtre est spécifié par deux jeux de coefficients a(n), 1 ≤n<N et b(n), 0≤ n<M :
M
y(n) =
∑ b(m) x(n-m)
m=0
N
–
∑ a(m) y(n-m)
m=1
Sauf quelques exceptions, les filtres récursifs ont une Réponse Impulsion Infinie
(RII ou “IIR”). Il est possible de réaliser certain filtre RIF par un calcul récursif,
mais ceci est rare et plutôt difficile.
L’intérêt des filtres récursifs est
1) leur faible coût en calcul.
2) leur faible retard (Tres outil pour les communications)
Les inconvénients des filtres récursifs sont
1) leur non-linéairité dans la phase (Le rétard n'est pas le même pour tous ω.)
2) leur instabilité numérique. (Il est possible d'obtenir une réponse infinit. )
12-5
Filtrage Récursif.
Séance 12
Exemple d'un filtre récursif du premier ordre
Considêr un compte d'epargne avec versemement annuel d'intêret .
Soit :
n : année
x(n) : virement au compte (soit x(n) = 0 n < 0)
y(n) : solde du compte
α : facteur annuel (α = 1 + taux)
Simulation :
Soit x(0) = δ(n)
y(0) = x(0)
y(1) = x(1) + α y(0)
y(2) = x(2) + α y(1)
y(n) = x(n) + α y(n-1)
Il s'agit d'un filtre recursif du premier ordre,
définie par la relation de récurrence suivante :
y(n) =
x(n) + a y(n–1)
où a est une constante réelle. Un tel filtre est réalisé par une structure du forme :
x(n)
+
y(n)
+
a
z–1
où z –1 est un rétard de ∆T.
12-6
Filtrage Récursif.
Séance 12
Fonction de Transfert
Y(z)
H(z) = X(z)
La ratio de la sortie sur l'entrée :
On peut écrire :
Y(z) = X(z) + Y(z) a z-1 =>
Y(z) (1 – a z-1) = X(z)
et donc :
Y(z)
1
H(z) = X(z) = 1 – a z –1
Note que cette ratio a une pôle (valeur infinie) à : 1 – a z-1 = 0
ou bien quand a z–1 = 1 ou
1
z–1 = a ou z = a
h(n) = an
La réponse impulsionnelle est donnée par
Exemple : a = 0.9
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
12-7
Filtrage Récursif.
Séance 12
Stabilité d'un filtre de premier ordre :
La stabilité d'un filtre est définit par :
∞
∑|
h(n) | < ∞
n=0
h(n) = an
La filtre recursif de premier ordre a :
Elle est stable quand | a |< 1.0.
I
Z
R
Le condition de stabilité est que les racines du denominator (les pôles) se trouve
à l'intérieur du cercle : | z | = 1.0.
(un compte banquaire est stable si sa solde reste bornée :-) )
12-8
Filtrage Récursif.
Séance 12
Représentations fréquentielles des filtres du premier ordre
La réponse en fréquence s’obtient pour le cercle du plan z : z = ejωt
Y(z)
1
H(z) = X(z) = 1 – a z –1
H(ejω) =
1
1
=
(1–aCos(ω))–jaSin(ω)
1 – a e –jω
H(ejω) =
1 – a cos(ω) –j a sin (ω)
1 – 2 a cos(ω) + a 2
1 – a cos(ω)
Re{H(ejω)}= 1 – 2 a cos(ω) + a 2
(1–aCos(ω))+jaSin(ω)
(1–aCos(ω))+jaSin(ω)
– a sin (ω)
Im{H(ejω)} = 1 – 2 a cos(ω) + a 2
12-9
Filtrage Récursif.
Séance 12
Conception des Filtres Récursifs
Les filtres récursifs sont définis par une équation de récurrence.
Le filtre est spécifié par deux jeux de coefficients a(n), 1 ≤n<N et b(n), 0≤ n<M :
M
y(n) =
∑ b(m) x(n-m)
N
–
m=0
∑ a(m) y(n-m)
m=1
Spécification
Soit h(n), la réponse impulsionnelle d'un filtre recursif.
Pour être réalisable, un filtre récursif doit respecter
et
h(n) = 0 n < 0
∞
∑ | h(n) | < ∞
n=0
La réponse impulsionnelle n'est pas directement accessible.
Il faut passer par la transformée en Z.
M
b(m) z –m
∑
∞
Y(z)
m=0
H(z) = X(z) = ∑ h(n) z –n =
N
n=0
1+ ∑ a(n) Z -n
n=1
Il faut qu'au moins un des coefficients a(n) soit non-nul et que les racines de la
denominateur ne soit pas les même que les numérateur.
Par exemple, un filtre
(1 – z -8)
H(z) = (1 – z –1)
Le racine de la dénominateur (z=1) est nullé par un des racines de la numérateur En
conséquent, H(z) est un simple polynome en z, et le filtre est un simple RIF.
Un filtre récursif a M zeros (racine de la dénominateur) et N pôles (racines de la
numérateur). Les zéros peuvent être placer n'apporte où dans le plan z.
Les pôles doivent être à l'intérieur de la circle unitaire pour obténir un filtre stable.
En générale M ≤ N et on dit que le filtre est d'ordre N.
12-10
Filtrage Récursif.
Séance 12
Transformation en Z inverse
Il y a 3 methodes de découvrir h(z) à partire de H(z) :
1) Développement par division
2) Relation Intégrale
3) Développement en série de Puissance
Développement par division
On exprime :
M
∏ (z
Y(z)
H(z) = X(z) =
– z m)
m=1
N
∏ (z
=
b 0 + b 1 z –1 + . . . + b N z –N
1 + a 1 z –1 +...+ a N z –N
– p n)
n=1
Ensuite on fait le division de Y(z) par X(z). La suite de coefficients est h(n)
N
H(z) =
∑ h(n)
z –n
n=0
Exemple : Exercise de séance 10.
1
Soit H(z) = (1 – 0.8 z –1) ( 1 + 0 . 8 z -1)
Quelle est la réponse impulsionnelle, h(n), de ce filtre?
Y(z)
1
H(z) = X(z) = =(1 – 0.8z –1 ) ( 1 + 0.8z -1)
1
= (1 – 0.64 z –2 )
Par division des polynômes
∞
∞
–n
H(z) = ∑ h(z) z = ∑ 0.8 2n z–2n
n=0
n=0
h(n) =



0.8 n
n paire et n ≥ 0
0
ailleurs
12-11
Filtrage Récursif.
Séance 12
Relation Intégrale
Parce que la transformée en Z est une fonction complexe définit sur le plan
complexe, son inverse demande de l'intégration par contours. (Ca depasse ce cours)
1
x(n) = Z-1{X(z)} = 2πj
∫ X(z)
z n-1 dz
Γ
Valable pour tout les valeur de n, le contour d'intégration Γ doit être dans la région
de convergence.
Il doit être fermé et il foi entourer l'origine du plan des z dans le sens positif (sens
invers des aiguilles d'une montre).
On evalue l'intégrale par la méthode des résidus. La théoreme de Cauchy sur
l'intégrale le long d'un contour indique que
1
x(n) = 2πj
∫ X(z)
Γ
z n-1 dz =
Σ résidus de X(z) zn-1 dans Γ.
à un pôle (z=a) d'ordre 1, la résidu du fonction [X(z) zn-1] est donnée par
Res 1a =
Lim
z→a
{ (z – a) X(z) xn-1 }
à un pôle (z=a) d'ordre q, la fonction [X(z) zn-1] est donnée par
Res qa =
Lim
z→a
{
1
dq-1
(q–1)! dzq-1
{ X(z) x n-1 (z – a) q}}
En calculant tous les résidus aux pôles de la contion [X(z) zn-1] à l'intérieur du
contour Γ, on obtient par sommation le signal x(n).
12-12
Filtrage Récursif.
Séance 12
Decomposition en Série
Une autre structure est obtenu par la forme :
K
Y(z)
H(z) = X(z) = ∏ H i(z)
i=1
Ce qui donne une structure en cascade :
x(n)
H1(z)
H2(z)
...
y(n)
HK(z)
Dans la plipart de cas, fonctions de transfert partielles sont soir du premier ordre,
soit du deuxième ordre :
Donc :
1 + b i1z–1
1 + b i1z–1 + b i2z–2
Hi(z) = 1 + a z –1 ou bien Hi(z) = 1 + a z –1 + a z –2
i1
i1
i2
Le filtre de premier order aura ses pôles et zéros sur l'axe reél du plan z.
Un filtre de deuxieme ordre permet d'avoir les pôles et les zéros complexe
pour la fonction de transfert globale, tout en restant avec les coefficient réel.
12-13
Filtrage Récursif.
Séance 12
Méthodes de Conception des Filtres Récursif
Il y a trois méthode de conception des filtres récursifs :
1) Transposition d'un filtre analogique.
2) Conception par placement des Pôles et Zéros dans le plan z.
3) Conception assisté par ordinateur utilisant l'optimisation linéaire.
Représentation par pôles et zéros
Une grande classe de transformée peut se mettre sour la forme :
M
∏(z-zm)
P(z)
m=1
X(z) = Q(z) = N
∏(z-pn)
n=1
Les racines de P(z) sont des racines de X(z), Les racines de Q(z) sont de poles de
X(z). La région de convergence ne contient aucun pôle.
Considérons H(z) = Z{h(n)}.
Les pôles de H(z) sont les valeurs de z pour lesquelles H(z) tend vers l'infini.
Les zéros de H(z) sont les valeurs de z pour lesquelles H(z) est null.
Si X(z) possède M zéros z m et N pôles, pn, on peut la mettre sous la forme :
M
Y(z)
H(z) = X(z) =
∏ (z
– z m)
m=1
N
∏ (z
=
b 0 + b 1 z –1 + . . . + b N z –N
1 + a 1 z –1 +...+ a N z –N
– p n)
n=1
On peut toujours écrire une transformée en z sous cette forme, et représenter le
signal par les listes de pôles et zéros.
Les zéros et les pôles complexes de H(z) sont du type α ± jβ.
12-14
Filtrage Récursif.
Séance 12
Exemple : considérons h(n) = an u(n). (avec |a| < 1)
∞
H(z) =
∑ a n z –n =
n=0
1
1 – az –1 =
z
z – a
Donc un zéro pour z1 = 0 et un pôle pour p1 = a.
Im{Z}
ωo
θ
ϕ
Re{Z}
a
On note que z = r ejω
Donc, La transformé de Fourier est une transformée de z pour lesquelle |z| = 1.
H(ω ο) = A
ejωo
e jωo – a
La numérateur est un vecteur joignant l'origine au point z = ejωo
La dénominateur est la différance de deux vecteurs.
La module de X(ω ο) est la rapport des modules de | ejωo| et | ejωo – a|
La phase et la différence d'angles fait par ce deux vecteurs avec l'axe réel.
On note que la module est proportional à l'inverse de la distance avec
la pôle (parce que la zéro est à l'origine.
12-15
Filtrage Récursif.
Séance 12
Linéairité de phase par renversement du temps
H(z) = H(z–1)
Linéairité implique
On peut l'obtenir par deux passages du filtre avec une renversement du temps.
∞
soit :
X(z) =
∑ x(n)
z –n
n=0
Renversement de temps : r(n) = x(-n)
En z
R(z) =
∞
∑
∞
r(n) z –n =
n=0
∑
n=0
x(n)
∞
x(-n) z –n =
z n = X(z -1)
n=0
r(n)
Renversement
∑ x(n)
s(n)
w(n)
H(z)
Renversement
y(n)
H(z)
Étapes :
pour 0 ≤ n < D
1) Renversement de temps :
M
2) Passe 1 :
s(n) =
∑ b(m) r(n-m)
m=0
N
–
m=1
M
y(n) =
∑ a(m) s(n-m)
pour 0 ≤ n < D
3) Renversement de temps :
4) Passe 2 :
r(n) = x(D-n)
∑ b(m) w(n-m)
m=0
w(n) = s(D-n)
N
–
∑ a(m) y(n-m)
m=1
En Z :
R(z) = X(z-1)
S(z) = H(z) R(z) = H(z) X(z-1)
W(z) = S(z -1) = H(z -1) X(z)
Y(z) = H(z) H(z-1) X(z)
Y(z)
et F(z) = H(z) H(z-1) = X(z)
aura une phase null.
12-16
Filtrage Récursif.
Séance 12
12-17