Filtres numériques Traitement du Signal Polytech Marseille IRM 2013
Filtrage temporel Spectre de cos(nω 0 ) sur 5 périodes Intervalle de mesure filtrage par une porte 2
Pondération ou apodisation Fenêtres de N+1 points : k=0,, N Hanning Hamming Blackman w(k) = w(k) w(k) 0.42 = = 2 π k 0.50 0.50 cos N 2 π k 0.54 0.46 cos N 2 π k 0.50 cos N + 4 π k 0.08 cos N 3
Pondération ou apodisation (2) Hanning Hamming Blackman 4
Porte versus Hanning 5
Hamming et Blackman 6
Spectre non pondéré 7
Spectre pondéré par Blackman 8
Filtrage fréquentiel 9
Filtres élémentaires Retard : s(n) = e(n k) h(n) = δ(n k) Dérivée numérique : s (n) = e(n) e(n 1) h(n) = δ (n) δ (n 1) Intégration numérique : s(n) = s(n 1) + e(n) δ(n) = u(n) u(n 1) h (n) = u(n) 10
Signal ad hoc de référence : x(n) 11
Signal ad hoc de référence : x(n) N =70 ; n1 = 0 ; n2 = N-1 ; n = n1:n2 ; x = zeros(1,n) ; a = 0.2 ; x(11:20) = a.*(n(11:20).-10) ; b = a*(n(21)-10) ; a = 0.5 ; x(21:30) = (a.*(n(21:30)-20))+b ; x(31:40) = x(30) ; a = -2 ; b = 10 ; x(41:50) = (a*(n(41:50)-40))+b ; a = 0.3 ; x(51:n) = x(50)*exp(-a*(n(51:n)-49)) ; 12
Dérivée numérique : y(n) = h(n)*x(n) h(n) = δ(n) δ(n 1) 13
Produit de convolution Définition : x(n) * y(n) + k= Si séquences limitées : x(n) : [n 1, n 2 ] y(n) : [n 3, n 4 ] = x(k) y(n k) x(n)*y(n) : [n 1 + n 3, n 2 + n 4 ] 14
x(n) = 1 0 si 10 n ailleurs 20 15
h(n) = n 0 si 5 ailleurs n 5 16
y(n) = h(n)*x(n) est défini sur l intervalle [5, 25] 17
Intégration numérique : z(n) = u(n)*y(n) 18
Comparaison x(n) et z(n) 19
Signal retardé : δ(n-k)*x(n) k = 10 20
Filtre passe-bas Fréquence réduite de coupure : υ c = 0.1 21
Réponse impulsionnelle En analogique : h(t) = TF 1 Π ω ω c = ω c π sin ( ω ω c c t t) = sin ( ω π t c t) En numérique : h(n) = sin (2πν πn c n) 22
h(n) et H(υ) 23
Amélioration avec Blackman Bande de transition : 24
Comparaison des pondérations Hanning Hamming Blackman 25
Comparaison des pondérations (2) Hanning Hamming Blackman 26
Bande de transition N = 17 N = 33 N = 129 B T = 4 N 27
Exemple de filtre passe-bas % Filtre passe-bas N = 4097 ; % Nombre de points du noyau Nc = floor(n/2) ; n = 0:N-1 ; nu_c = 0.0095 ; % Fréquence réduite de coupure v = 2*nu_c*(n-Nc) ; h = 2*nu_c*sinc(v) ; nh = n-nc ; % Pondération de Blackman w = 0.42.-(0.5*cos(2*pi*n/N))+(0.08*cos(4*pi*n/N)) ; h = w.*h ; 28
Signal de référence fe = 44100 ; % fréquence d échantillonnage dt1 = 0.5 ; dt2 = 0.5 ; Nr = (7.*(dt1+dt2)+dt1) * fe ; n = 0:Nr-1 ; la = 440 ; f(1) = 16*la/27 ; % do f(2) = 2*la/3 ; % ré f(3) = 3*la/4 ; % mi f(4) = 64*la/81 ; % fa f(5) = 8*la/9 ; % sol f(6) = la ; % la f(7) = 9*la/8 ; % si 29
Signal de référence (2) x = 0.2*sin(2*pi*la*n/fe) ; for i=1:7 n1 = (((i-1)*(dt1+dt2))+dt1)*fe ; n2 = n1+(dt2*fe) ; dn = n1:n2 ; x(dn) = x(dn).+0.2*sin(2*pi*f(i)*dn/fe) ; endfor plot(x) ; wavwrite(x',fe,16,"before.wav") ; 30
Signal de référence (3) 31
Signal filtré y = conv(h,x) ; plot(y) ; wavwrite(y',fe,16,"after.wav") ; 32
Signal filtré (2) 33
Filtre passe-haut (n) h 1 = δ(n) h(n) ( ν) = TFD[ δ(n) h(n) ] = 1 H( ν) H 1 34
Filtre passe-haut (2) Changement de signe d un échantillon sur deux Fréquence de coupure : 0.5-υ c 35
Filtres passe-bande et coupe-bande Deux filtres successifs : x(n) = h 1 s(n) = h 2 (n) *e(n) (n) * x(n) s(n) = h 2 (n) * h 1 (n) * e(n) Filtre équivalent : h(n) = h1(n) * h 2(n) 36
Filtre passe-bande Passe-bas (coupure 0.4) et passe-haut (coupure 0.1) 37
Filtre coupe-bande Passe-bas (coupure 0.2) et passe-haut (coupure 0.3) 38
Filtre à moyenne glissante Caractéristique : s(n) = 1 M M 1 k = 0 e(n moyenne de M échantillons Réponse impulsionnelle : porte de largeur M et d amplitude 1/M Forme récursive : k) M s(n + 1) = M s(n) + e(n + 1) e(n M + 1) 39
Filtre à moyenne glissante (2) Fenêtre glissante sur 21 échantillons 40
Filtres adaptés Signal à analyser : s(n) Recherche d un signal x(n) dans du bruit 41
Filtres adaptés (2) 42
Filtres adaptés (3) Supposons connue l allure temporelle du signal à détecter 43
Filtres adaptés (4) Moyenne glissante 44
Filtres adaptés (5) Inter-corrélation entre s(n) et x(n) 45
Filtres adaptés (6) Filtre de Wiener : H W ( ν) = X( ν) X( ν) 2 + 2 B( ν) 2 46
Filtres adaptés (7) Réponse impusionnelle du filtre de Wiener Transformée de Fourier inverse de la fonction de transfert H W (υ) Avec pour TFD -1 : x(n) = 1 N N 1 2 π k X N k = 0 e jn 2 π k / N 47
Filtres adaptés (8) 48
Filtres adaptés (9) 49
Réalisation d un filtre à réponse fréquentielle spécifiée 50
Réalisation d un filtre à réponse fréquentielle spécifiée (2) Méthode : Transformée de Fourier numérique inverse pour N échantillons de la fonction de transfert prise sur une période complète : -0.5 à 0.5. 51
Réalisation d un filtre à réponse fréquentielle spécifiée (3) Exemple pour N = 63 En général, on peut négliger la partie imaginaire 52
Réalisation d un filtre à réponse fréquentielle spécifiée (4) Réponse fréquentielle pour N = 63 53
Réalisation d un filtre à réponse fréquentielle spécifiée (5) Réponse fréquentielle pour N = 257 54
Réalisation d un filtre à réponse fréquentielle spécifiée (6) Réponse fréquentielle pour N = 257 échantillons pondérés par Blackman 55