Comment on filtre un signal audio Séance 6, importante, 1 heure Version : avril 2005 Auteur: Jean-Paul Stromboni Objectifs de la séance : Il s’agit d’introduire le concept de filtre , de filtre en temps discret, les propriétés et les représentations basiques des filtres. on énumère quatre propriétés importantes des filtres discrets on analyse le cas du filtre linéaire et stationnaire (en anglais LTI) on distingue des représentations équivalentes des filtres que l’on relie à l’équation aux différences : la fonction de transfert en z, la réponse harmonique, la réponse impulsionnelle on crée un filtre discret avec Goldwave Savez vous répondre aux questions suivantes ? Le filtre suivant est il causal ? Quelle est la fonction de transfert du filtre : Que réalise selon vous le filtre ? Quelle est la réponse impulsion-nelle de Ce filtre est il IIR ou FIR Comment trouver la réponse harmonique du filtre précédent ? Celui là est il stable ? Que vaut le gain statique de
Un filtre est un opérateur capable de modifier la composition fréquentielle d’un signal audio. Quand on programme un filtre, on obtient un filtre discret : cela consiste à programmer le calcul des valeurs successives du signal filtré à partir des échantillons d’un signal à filtrer En particulier, on utilise un banc de filtre pour découper des bandes de fréquences dans les spectres des signaux à compresser Traduit dans le domaine fréquentiel, filtrer c’est multiplier le spectre du signal à filtrer par la réponse harmonique (ou fréquentielle) du filtre: entrée du filtre signal filtré Filtre programmé
Linéarité, stationnarité, causalité, et stabilité sont des propriétés essentielles des filtres Linéarité, le principe de superposition s’applique : Stationnarité, ou invariance temporelle dit que la relation d’entrée sortie est indépendante du temps Causalité : assure qu’à l’instant nTe, la sortie yn ne dépend pas d’instants futurs, (n+k)Te, k>0. Il faut distinguer : signal causal, ou signal nul pour nTe<0 filtre causal, dont la sortie reste nulle tant que son entrée est nulle Stabilité (au sens E.B.S.B) : si l’entrée reste bornée en amplitude, la sortie est bornée en amplitude aussi (d’où l’appellation E.B.S.B). Vérifier les propriétés des filtres ci-dessous :
L’équation aux différences (ou EaD) permet de programmer un filtre Voici la forme générale d’une EaD On note l’échantillon ou la valeur Les bk et les aj sont les coefficients du filtre, On note N l’ordre du filtre, et M+N sa longueur Les xj constituent le signal d’entrée du filtre et les yk le signal de sortie ou signal filtré. Un filtre qui calcule yn à partir des seuls xj est dit non récursif ou FIR (pour Finite Impulse Response) Un filtre qui utilise les yk, avec k < n pour calculer yn est récursif ou IIR Exemples, pour Te = 1/2000 s : dérivateur discret filtre intégrateur discret filtre passe bas filtre préaccentuateur
On peut aussi représenter un filtre linéaire et stationnaire avec sa réponse impulsionnelle La relation d’entrée sortie d’un filtre linéaire et stationnaire (LTI, pour Linear Time Invariant) est un produit de convolution : h caractérise le filtre Si d(nTe) est la fonction de Kronecker, l’impulsion discrète, (1 si n = 0, 0 sinon), on vérifie aisément : Si on note h(nTe) la réponse impulsionnelle, c’est-à-dire la sortie d’un filtre en réponse à l’entrée d(nTe), on déduit de la linéarité et de la stationnarité que : : réponse impulsionnelle de F On peut donc utiliser la réponse impulsionnelle h (ou RI) pour caractériser un filtre LTI et calculer la sortie par produit de convolution de l’entrée avec h. Calculer les réponses impulsionnelles de : et
La fonction de transfert en z représente le rapport sortie sur entrée H(z)=Y(z)/X(z). On définit la transformation en z (Tz) par adaptation de la transformation de Laplace aux signaux discrets Théorème du retard de Tz (pour Te=1s) : Transformée en z du produit de convolution : La fonction de transfert en z s’obtient à partir de l’équation aux différences par transformée en z à conditions initiales nulles : Quelle est la fonction de transfert de ?
La réponse harmonique regroupe les mo-difications du spectre opérées par le filtre Voici par exemple la réponse harmonique RH (ou réponse fréquentielle) calculée par Matlab du filtre Quel est l’effet du filtre sur la note pure LA3 ? donner le facteur d’atténuation ou gain : donner le déphasage : Quel est le gain du filtre à fréquence nulle ? À quelle fréquence le filtre divise t’il par 2 ? À quelle fréquence retarde t’il de 45° ? Quel est le gain minimum du filtre, et pour quelle fréquence ?
On peut relier réponse harmonique, répon-se impulsionnelle et fonction de transfert Pour un filtre d’entrée x(nTe), de sortie y(nTe) et de réponse impulsionnelle h(nTe), on vérifie à la fois : La réponse harmonique (ou fréquentielle) d’un filtre notée ici RH , est la transformée de Fourier discrète (TFD) de sa réponse impulsionnelle : De plus, la fonction de transfert d’un filtre est la transformée en z de sa réponse impulsion-nelle, et réciproquement. En effet : cqfd ! Quelle est la périodicité de RH ?
On peut relier réponse harmonique, répon-se impulsionnelle et fonction de transfert Du fait de l’identité de la transformée en z et de la transformée de Fourier discrète du signal h(nTe) s’il est causal, on passe de l’une à l’autre par un changement de variable : Question d’application : préciser les représentations du filtre
On détermine la stabilité E. B. S. B On détermine la stabilité E.B.S.B. et le gain statique avec la fonction de transfert En utilisant la formule des résidus (donnée à titre documentaire en annexe) pour l’inversion de la transformée en z, on établit la condition suivante de stabilité au sens E.B.S.B. : les pôles de la fonction de transfert du filtre doivent être tous de module strictement inférieur à un. En cas de stabilité E.B.S.B., un filtre d’entrée constante atteint un régime permanent où la sortie est constante aussi. On nomme alors gain statique le rapport sortie sur entrée. Dans EaD, le régime permanent fait disparaître le temps n : xn+1 = xn =… = X, yn = yn-1 = …=Y Dans FTz, faire tendre z vers 1 donne le gain statique: Application : le filtre préaccentuateur est-il stable ? Quel est le gain statique du dérivateur ?
Pour créer un filtre, Goldwave utilise les coefficients de l’équation aux différences Le menu de Goldwave Effects/Filter/User defined permet de définir et de nommer des filtres selon l’équation aux différences : Pour le filtre ‘monfiltre’, retrouver les coefficients a(i) et b(j) à partir de l’EaD : Application : comment programmer les filtres dérivateur et pré-accentuateur précédents ?
Voici les effets du filtre ‘monfiltre’ sur le son du fichier piano_c3 Voici les effets du filtre ‘monfiltre’ sur le son du fichier piano_c3.wav, fe = 2kHz. On voit la note non filtrée, puis la note filtrée Quel est l’effet de monfiltre sur piano_c3 et sur son spectre ?
Annexe : la formule des résidus offre un moyen d’inversion de la transformée en z Pour inverser H(z), on peut utiliser une table de transformées en z ou la formule des résidus soit : On définit le résidu de en pôle d’ordre de par : Application : inverser X(z) ci-dessous Question à creuser : comment prouver avec la formule des résidus la condition de stabilité EBSB donnée plus haut, sachant (1) que la sortie d’un filtre LTI est un produit de convolution avec la réponse impulsionnelle et (2) que la transformée en z de la réponse impulsionnelle est la fonction de transfert ? ?