Filtrage linéaire On considère le système dont l entrée x(n) et la sortie y(n) vérifient l équation récurrente : y(n)+a 1 y(n 1)+ +a p y(n p) = b 0 x(n)+b 1 x(n 1)+ +b q x(n q) (1) On pose : B(z) = b 0 + b 1 z 1 + + b q z q A(z) = 1 + a 1 z 1 + + a p z p Les racines de B(z) s appellent les zéros de la FT et les racines de A(z) s appellent les pôles de la FT. ENST/BTS/1A February 1, 2003 p.1
Stabilité On dit qu un système est stable si à tout entrée bornée correspond une sortie bornée. L équation (1) définit un filtre linéaire stable ssi le polynôme : A(z) 0 pour z = 1 ENST/BTS/1A February 1, 2003 p.2
Réponse impulsionnelle On montre que la sortie du filtre stable s écrit : y(n) = + k= h(k)x(n k) où h(k) est la suite des coefficients du développement en série de Fourier de : qui s écrit : H(e 2jπf ) où H(z) = B(z) A(z) H(e 2jπf ) = + k= On montre que h(k) de module sommable. h(k)e 2jπfk ENST/BTS/1A February 1, 2003 p.3
Terminologie h(k) s appelle la réponse impulsionnelle, H(z) s appelle la fonction de transfert, H(e 2jπf ) s appelle la réponse en fréquence, H(e 2jπf ) s appelle le gain en fréquence, arg(h(e 2jπf )) s appelle la phase. La réponse impulsionnelle est finie (RIF) ssi A(z) = 1. Dans le cas contraire le filtre est à réponse impulsionnelle infinie (RII). ENST/BTS/1A February 1, 2003 p.4
Causalité Trois cas se présentent : H(z) a tous ses pôles strictement à l intérieur du cercle unité, alors h(k) = 0 pour k < 0. La réponse est causale. H(z) a tous ses pôles strictement à l extérieur du cercle unité, alors h(k) = 0 pour k 0. La réponse est anti-causale. H(z) a des pôles à l extérieur et à l intérieur du cercle unité, alors la réponse est bi-latérale. Un filtre (stable) est causal ssi tous ses pôles sont à l intérieur du cercle unité. ENST/BTS/1A February 1, 2003 p.5
Fonction de transfert La fonction : X(z) = + n= x(n)z n où z C = {z C : R 1 < z < R 2 } avec C, s appelle la transformée en Z de x(n). En supposant que X(z) et H(z) existent, l équation y(n) = k h(k)x(n k) donne : Y (z) = H(z)X(z) Si les coefficients a i, b j de l équation récurrente (1) sont réels, les racines de A(z) et B(z) sont soit réelles soit vont par paires de complexes conjuguées et H(z) = H (1/z ). ENST/BTS/1A February 1, 2003 p.6
Réponse en fréquence La fonction périodique de période 1 définie par : H(e 2jπf ) s appelle la réponse en fréquence. Comme h(k) est de module sommable, H(e 2jπf ) est continue. si les coefficients a i, b j de l équation (1) sont réels, la suite h(k) est réelle et H(e 2jπf ) = H (e 2jπf ) (module pair et phase impaire). si X(e 2jπf ) existe, Y (e 2jπf ) = H(e 2jπf )X(e 2jπf ). si x(n) = e 2jπf 0n alors y(n) = H(e 2jπf 0 )e 2jπf 0n. ENST/BTS/1A February 1, 2003 p.7
Fonction filter Sous Matlab l opération de filtrage s obtient avec la fonction filter. Comme Matlab met en œuvre la solution causale il faut impérativement que les pôles soient à l intérieur du cercle unité. Taper : b=[1 0.95 1]; a=[1-1.8 0.9]; w=randn(1000,1); x=filter(b,a,w); subplot(211), plot(w) subplot(212), plot(x) ENST/BTS/1A February 1, 2003 p.8
Réponse d une second ordre purement récursif H(z) = Sur le cercle unité on a : 1 1 + a 1 z 1 + a 2 z 2 = z 2 (z p)(z p ) H(e 2jπf ) = 1 MP MP ENST/BTS/1A February 1, 2003 p.9
f=1/4 P M f=1/2 f= 1/2 f=0 P f= 1/4 Figure 1: Position des pôles et des zéros/réponse en fréquence. ENST/BTS/1A February 1, 2003 p.10
3.5 3 1 0.5 0 0.5 P M 2.5 2 1.5 1 1 0 1 1 0.5 0 0 0.5 Figure 2: Position des pôles et des zéros/réponse en fréquence. ENST/BTS/1A February 1, 2003 p.11
Réponse en fréquence versus pôles et zéros Bases de Traitement du Signal Filtrage H(z) = 1 + 0.7z 1 + z 2 1 1.2z 1 + 0.7z 2 1 0 1 1 0 1 0 0 0.1162 0.5 Figure 3: Position des pôles et des zéros/réponse en fréquence. ENST/BTS/1A February 1, 2003 p.12
De façon générale, les pôles sont associés à la bande passante et les zéros à la bande atténuée. [b,a]=ellip(4,0.5,20,2*[0.1 0.3]) 1 0 1 1 0 1 0 0 0.5 Figure 4: Position des pôles et des zéros/réponse en fréquence. ENST/BTS/1A February 1, 2003 p.13
Exemple Soit le filtre défini par l équation récurrente : y(n) 2ρ cos(φ)y(n 1)+ρ 2 y(n 2) = H 0 (x(n) 2 cos(φ)x(n 1)+x(n 2)) (2) 1. déterminer la condition sur ρ pour que le filtre soit stable et causal. 2. écrire, sous Matlab, un programme qui trace H(e 2jπf ) en fonction de f. 3. On considère le signal provenant du fichier desgenssin500.wav qui contient un signal de parole échantillonné à F e = 8000 Hz et perturbé par une sinusoïde de fréquence 500Hz. Comment peut-on utiliser le filtre précédent pour supprimer ce brouillage? ENST/BTS/1A February 1, 2003 p.14