Traitement du Signal James L. Crowley Deuxième Année ENSIMAG première Bimestre 2/22 Séance 6 : 26 octobre 2 Le Filtrage Numérique Formule du Jour... 2 Le Convolution Numérique... 2 Rappel : Convolution Analogique :...2 Le Convolution Numérique...3 Le Filtrage Numérique... 4 Filtrage Non-Recursif...4 Filtrage Récursif...5 Filtrage par Produit de Transformée de Fourier Discrète...6 Caractérisation de Filtres:...7 La Fonction de Transfert...8 Transformée de Fourier d'un signal numérique...9 Quelques Exemples des Filtres... Calcul de la dérivée d'un signal numérique... Intuition : Symétrie et Anti-symmetrie...2 Une pense Bête pour les relations trigonométriques...3 Lissage d'un signal numérique : Les Filtres Binomiaux...3
Formule du Jour Le Convolution Numérique Rappel : Convolution Analogique : δ(t) g(t) t Transmission t Un système linéaire est modèlisé par sa réponse à une impulse, δ(t). δ(t) Reponse Impulsionnelle : * f(t) f(t) f(t) = f[δ(t)]. La réponse d'un système linéaire a une entrée x(t) est une superpostion (une somme) de réponses impulsionnelle amplifiées par les valeurs instantanées de x(t). Cette opération est appelé le "Convolution" de x par f. x(t) * f(t) y(t) =x * f(t) L équation générale de la convolution est une somme de réponse impulsionnelle pour les réponses. La convolution est commutative. y(t) = x * f(t) = x(t τ) f(τ) dτ = f * x(t) x(τ) f(t τ)dτ La convolution est l opération de traitement de signale la plus fondamentale. Elle indique que la valeur du signal de sortie à l instant t est obtenue par la sommation (intégrale) pondérée des valeurs passées du signal d'excitation x(t). La fonction de pondération est précisément la réponse impulsionnelle f(t). 6-2
Le Convolution Numérique Les séquences apériodique sont supposé d'exister avec valeurs nuls hors de leur intervalle de définition. Exemple : Considère les deux séquences numériques apériodiques potentiellement non-nul sur les intervalles de duration N x et N h. Soit x(n) de non-nul pour n [, N x -] et f(n) de non-nul pour n [, N h -]. x(n) n N x -, f(n) n N f - La convolution apériodique de x(n) et f(n) est une produit scalaire pour chaque m y(m) = f * x(m) = x(n).f(m n) = x(m n).f(n) n=- n= Ce produit est potentiellement non-nul sur un intervalle [, N x +N h -2 ] La duré du résultat potentiellement non-nul est de N x + N h échantillons. Démonstration. Le premier valeur non nul est cré pour n = : x(m) non-nul pour m N x -, f(n-m) non-nul pour -N f + m Le dernier valeur non nul est cré pour n = N x + N h : x(n) non-nul pour n N x -, f(n-m) non-nul pour N x m N x + N f ie. ( n-n f - < m < n) 6-3
Le Filtrage Numérique Un filtre numérique est une combinaison linéaire d échantillons. Le filtrage et l analyse spectrale sont des techniques de base dans le traitement numérique du signal. Quelques domaines d application du filtrage (liste non-exhaustive): Communications : téléphone, radio, télevisision, etc. Musique Radar Reconnaissance de Parole Traitement d image (ex : satellite, médicale, inspection industrielle) Vision par ordinateur Il existe trois techniques: Filtrage non-recursif Filtrage Récursif, Filtrage par produit de TFD. Filtrage Non-Recursif Une opération de filtrage définie par une convolution avec une séquence de durée finie f(n). Les filtres non-recursif ont une réponse impulsionnelle finie. Ils sont parfois connus sous le nom: FIR (Finite Impulse Response) ou Réponse Impulsionnelle Finie Considère les deux séquences numériques apériodiques potentiellement non-nul sur les intervalles de duration N x et N h. Soit x(n) de non-nul pour n [, N x -] et f(n) de non-nul pour n [, N h -]. x(n) n N x -, f(n) n N f - La convolution apériodique de x(n) et f(n) est une produit scalaire pour chaque m 6-4
y(m) = f * x(m) = x(n).f(m n) = x(m n).f(n) n=- n= Ce produit est potentiellement non-nul sur un intervalle [, N x +N h -2 ] La duré du résultat potentiellement non-nul est de N x + N h échantillons. Avantages: ) La phase d'un filtre non-recursif est linéaire, qui voudrait dire délai de réponse le même pour toute fréquence. Un signal n'est pas dispersé. Ceci est important pour les images, mais moins important pour le son. 2) Les filtres non-recursif sont stables. Leur réponse et finie. 3) Il existe des méthodes de conception de filtre RIF simple à mettre en œuvre. Inconvénients: ) Cher en réalisation. 2) Le retard entre l'entrer et le sorti (la phase) peut être relativement long. Filtrage Récursif 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), n<n et b(n), n<m : N- M- y(n) = b(m) x(n-m) a(m) y(n-m-) m= m= 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 ) leur faible coût en calcul. 2) leur faible retard (Tres outil pour les communications) Les inconvénients des filtres récursifs sont ) leur non-linéairité en phase et 2) leur instabilité numérique. 6-5
Les filtres RII peuvent être conçu par des méthodes semblables à ceux utilisés pour les filtres analogiques. Ceci n'est pas vraie pour les filtres RIF. Filtrage par Produit de Transformée de Fourier Discrète. Un des intérêt principale de la TFD est qu'il permet de faire les convolutions de deux signaux de taille N échantillons avec un coût de calcul de l'ordre de 2N Log(N) en lieu de N 2. Mais le TFD réalise une convolution périodique. Ceci peut poser un piège. Soit x(n) de durée n [, N x -] et f(n) de durée n [, N f -]. TFD{f(n)}. TFD {x(n)} f x(n) est convolution circulaire y p (n) = f x(n) = f p * x p(n) ou f p (n) est un signal périodique : f p (n) = f(n + k N f ) k= et x p (n) est un signal périodique : x p (n) = x(n + k N x ) k= et y p (n) est un signal périodique : y p (n) = k= y(n + k N y ) y p (n) = ITFD { TFD{f(n)}. TFD {x(n)} } Il est possible de calculer une convolution apériodique, f * x(n), par une produit de TFD. Mais pour ce faire, il faut incruster f(n) et x(n) dans des séquences périodiques en ajoutant les zéros. 6-6
Caractérisation de Filtres: Un filtre est caractérisé par ) sa réponse, f(n), à l impulse numérique δ(n), ou également par 2) sa fonction de transfert F(ω) ou F(z) calculé par sa TFTD ou transformée en z. Les filtres sont généralement spécifiés dans le domaine Fourier ou dans le domaine z. Pour un filtre RIF, la réponse à l impulse numérique est précisément son jeu de coefficients f(n). f(n) = f(n) * δ(n) Pour un filtre récursif, f(n) est de durée infini. Il faut sa fonction de transfert F(ω). L'intérêt dudomaine Fourier (ou Z) provient de le fait que convolution en temps est équivalente d'un produit en domaine Fourier. et y(t) = x(t) * f(t) Y(ω) = X(ω) F(ω) y(t) = x(t) f(t) Y(ω) = X(ω) * F(ω) Ceci est valable pour les séquences numériques périodiques. et y p (n) = x(n) * f(n) Y(ω) = X(ω) F(ω) y(n) = x(n) f(n) Y(ω) = X(ω) * F(ω) Il est plus facile de concevoir et d'analyses les opérations de convolutions en domaine Fourier que domaine t ou n. En conséquence, la description d un filtre est plus simple en Fourier 6-7
La Fonction de Transfert. X(ω) F(ω) Y(ω) = X(ω) F(ω) La fonction de transfert 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. Y(ω) X(ω) = X(ω) F(ω) X(ω) = F(ω) F(ω) = F(ω) e jϑ(ω) = F(ω) cos(ϑ(ω)) + j F(ω) sin (ϑ(ω)) On peut interpréter ceci comme une expression dufait que le système impose un décalage en temps) et une attention en amplitude F(ω) pour chaque fréquence. Pour toute fonction linéaire (convolution, corrélation) les fonctions caractéristiques sont les exponentiels complexes: E(ω) = e ±jωt = Cos(ω t) ± j Sin(ω t) C.-à-d. Une fonction linéaire h(n) modifiera chaque exponentielle, ωo par une attentuation (ou amplification), et d un retard en temps (phase). L'atténuation et le retard sont exprimés par une fonction complexe H(). Ceci est unique et indépendant pour chaque valeur de. La fonction de transfert d'un système f(t) est une fonction complexe F(e jω ) qui donne le changement d'amplitude et phase unique à chaque e jω t. 6-8
Transformée de Fourier d'un signal numérique La Transformée de Fourier de Temps Discrète (TFTD) ou "DTFT" en Anglais. est défini par : F(ω) = f(m) e jωm m= F(ω) décrit l'effet sur chaque fréquence d un filtre f(n). Dérivation : La convolution par f(t) avec une exponentielle donne le même exponentielle mais retardé en temps et multiplié en amplitude par F(e jω ). F(e jω ) e jω n = F(e jω ) e jω n f(n) * e jω n = f(m) e jω (n m) m= F(e jω ) e jωn = f(m) e jω n m= e jω m F(e jω ) e jω n = e jω n f(m) e jω m m= F(e jω ) = F(ω ) = f(m) e jω m m= et pour tout ω : F(ω) = f(m) e jωm m= 6-9
Quelques Exemples des Filtres Calcul de la dérivée d'un signal numérique. La dérivée d'une fonction s(t) est définie par s(t) t s(t) s(t t) Lim { t t } pour un signal numérique, s(n), la limite n'existe pas. n = 2 : s(n) n n = : s(n) n n = : s(n) n = = s(n) s(n-2) 2 s(n) s(n-) =!!! Conclusion : On ne peut pas calculer une dérivée pour un signal discret. Mais on peut calculer une première différence : s(n) n ou bien n s(n) La différence d'un signal est une convolution avec un filtre! n = : s(n) n = s(n) s(n-) = s(n) * [ ] mais aussi n = 2 : s(n) n = s(n) s(n-2) 2 = s(n) * [ 2 2 ] Comment les comparer les deux filtres? Par leur fonction de transferts. La Transformé de Fourier d'une dérivée a une fonction est { s(t) t } = 2πj ω {f(t)} 6-
et donc s(t) t = { 2πj ω f(t)} = { 2πj ω } * {f(t)} Donc, une dérivée est un FILTRE avec une fonction de transfert 2πj ω f(t) t = t * s(t) = { 2πj ω} * s(t) Les filtres linéaires sont associatifs, distributifs et commutative. { 2πj ω} a une durée infinie. Mais on peut faire une approximation de durée finie par d (n) = [ ] ou encore d 2 (n) = 2 [,, ] Lequel est mieux? Im{ H( ω) } 2j ω 2j sin( ω / 2 ) - π 2j sin( ω) ω π ) Pour d 2 (n) = [,, ] D 2 (ω) = d(m) e jωm m= 2) Pour d(n) = [ ] = e jω + e jω = 2j sin(ω) = d( ) e jω( ) + d() e jω(+) Astuce: pour calculer la fonction de transfert, rendre la fonction symétrique par un retard d'une demi-echantillon j= i+/2. Donc les coefficients sont localisés à -/2 et /2. 6-
La fonction de transfert est D (ω) = d(m) e jωm = d( 2 ) e jω( ) + d( 2 ) e jω(+) m= = e jω + e jω = 2j sin( ω 2 ) La dérivée première amplifie" les hautes fréquences. Mais le numériseur embrouille les hautes fréquences. Nota : la transformé de Fourier en Temps Discrète est un suite de Cosinus et j Sinus. Intuition : Symétrie et Anti-symmetrie Chaque paire de coefficient Anti-symmetric contribue une jsin() 2 j sin(ω) 2 j sin(2ω) 2 j sin(3ω)... du même 2 cos(ω) 2 cos(2ω) 2 jcos(3ω) Note : [ ] * [ ] 2 j sin(ω) 2 j sin(ω) [ 2 ] -4 sin(ω) 2 mais { [ 2 ] } = 2 + 2cos (2ω) donc 4 sin(ω) 2 = 2 2 cos (2ω) 6-2
Une pense Bête pour les relations trigonométriques On peut utiliser les petits filtres comme rappellent des relations trigonometrique.!! exemples : a) 4 cos(ω) 2 = 2 + 2cos (2ω) { [ ] * [ ] } = { [ 2 ] } b) 4j cos(ω) sin(ω) = 2j sin (2ω) { [ ] * [ ] } = { [ ] } Lissage d'un signal numérique : Les Filtres Binomiaux (coefficients binomiaux) sont les coefficients dupolynôme : n/2 (x + y) n = m= n/2 b m,n x n m y m b m,n = n m = n! (n-m)! m! = b n (m) Les coefficients du séries binomiaux sont générés par le triangle de Pascal : 2 3 3 4 6 4 5 5 6 5 2 5 6 7 2 35 35 2 7 8 29 56 7 56 29 8 Level (n) 2 3 4 5 6 7 8 Sum 2 4 8 6 32 64 28 256 2 Variance ( σ ) n / 4 / 2 3/4 5/4 6/4 7/4 2 Std. /2 2/2 3/2 5/2 6/2 7/2 2 Ses coefficients forme des filtres avec des propriétés remarquables. Ils sont les coefficients de la meilleure approximation du filtre Gaussien 6-3
sujet aux contraintes d être discret et fini. Filtres Binomiaux : bn (m) = bo(m) *n = [, ] *n = n convolution de [ ] Gain : bn = 2 n Variance : Var{bn) = n * Var{bo} = Fonction de Transfert : Bn(ω) = [2 cos( ω 2 ) ] n n 4 Pour n paire : Var{bn(m)} = Bn(ω) = [2 + 2 Cos(ω)]n/2 n/2 2 n b n(m) m 2 m= n/2 exemple: Var [, 4, 6, 4, ] = = 6 { (2) 2 + 4 ()2 + 6 ()2 + 4 ()2 + (2)2 } 6 { 4 + 4 + 4 + 4} = Var[, ] = 2 { ( ( 2 )2 + ( 2 )2 } = 2 ( 4 + 4 ) = 4 Les Filtres Binomiaux donnent des filtres Gaussiens "finis et discrets" La fonction de transfert des binomiaux peut être calculé facilement à la main : Exemples b (m) = [ ] B (ω) = e jω(-/2) + e jω(/2) = 2 cos(ω/2) 2 -π π b2(m) = [ 2 ] (Deuxième filtre Binomial) 6-4
B2(ω) = e jω( ) + 2 e jω() + e jω() = 2 + e jω + e jω B2(ω) = 2 + 2 Cos(ω) = [2cos(ω/2)] 2 4 -π π b 4 (m) = [ ] *4 = [ 4 6 4 ] B 4 (ω) = 6 + 8 cos(ω) + 2 cos(2ω) = [2cos(ω/2)] 4 ω 6 -π π ω 6-5