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