3. Systèmes L.I.T. 3.0. Systèmes LIT, introduction Afin de faciliter la compréhension des notions abordées dans ce chapitre, des signaux numériques (signaux à temps discret) seront utilisés. Ce sont des suites de nombres dont l’ordre ‘n’ joue le rôle du temps ‘t’ des signaux continus: x(n)={x(0), x(1), x(2), …} L’impulsion de Dirac prend une valeur infinie en t=0: (t)= pour t=0 L’impulsion numérique prend la valeur 1 en n=0: N(n)=1 pour n=0 En effet, on a : N(n)
3. Systèmes L.I.T. 3.1. Systèmes LIT, équation aux différences finies Un Système Linéaire et Invariant dans le Temps (LIT) transforme un signal temporel x(t) en un autre y(t). Dans l’exemple ci-dessous, la source est un haut-parleur et le récepteur un microphone. Le système LIT est constitué de l’air ambiant et des parois sur lesquelles se réfléchit le son. Adoptons un raisonnement « discret » avec x(n) = {x(1), x(2), x(3), ...} où l’indice n joue le rôle du temps continu t. On voit sur la figure qu’à un instant n donné, la réponse y(n) dépend de l’entrée telle qu’elle est à l’instant n, mais aussi à cause des différents chemins de parcours, de l’entrée telle qu’elle existait aux instants n-1, n-2, .... On écrit d’une manière générale que y est une combinaison linéaire de l’entrée courante x(n), des entrées passées x(n-1), x(n-2), ... et même des sorties pécèdentes y(n-1), y(n-2), ... : provient de x(t-t0) provient de x(t) Récepteur y(t) Source x(t) Cette relation est appelée « équation aux différences finies » Remarquer qu’on a pris a0=1.
3. Systèmes L.I.T. 3.2. graphe de fluence d’un système LIT numérique Il est possible de visualiser l’équation de récurrence associée à un système LIT, sous la forme d’une structure (ou graphe de fluence) faisant apparaître les éléments de base suivants : * L’additionneur, symbolisé par , qui additionne les signaux à ses entrées. * Le multiplieur, symbolisé par a , qui multiplie un signal par un scalaire a * L’élément « délai », symbolisé par z-1 , qui produit une sortie retardée de une valeur par rapport à son entrée. La fonction filter(b, a, x) implémente cette transformation y(n) = LIT[x(n)]. Ainsi par exemple : b=[1, 0.25]; a=[1, -0.5, -0.25]; x=[0:0.1:3, 0:0.1:3]; y=filter(b, a, x); subplot(211),stem(x) subplot(212), stem(y,'r') Implémente: 1 y(n) = 1 x(n) + 0.25 x(n-1) + 0.5 y(n-1) + 0.25 y(n-2)
3. Systèmes L.I.T. 3.3. propriétés LIT, Réponse impulsionnelle d’un SLIT Un Système Linéaire et Invariant dans le Temps (SLIT) présente les propriétés : Linéarité Invariance dans le Temps Une impulsion brève, injectée à l'entrée d'un LIT, donne en sortie un signal h(t). Cette réponse est appelée réponse impulsionnelle (ou percussionnelle) du filtre :
3. Systèmes L.I.T. 3.4. Convolution numérique Dans le raisonnement discret, la réponse y(n) à une entrée quelconque x(n) peut être déterminée autrement qu’en utilisant l’Equation aux Différences Finies si on connaît déjà la réponse impulsionnelle LIT[δ(n)]=h(n). On peut toujours considérer qu’une séquence d’entrée: x(n)={x(0), x(1), x(2), …} est une somme d’impulsions numériques pondérées et décalées : x(n) = {x(0), 0, 0, 0, ...} x(0).{1, 0, 0, 0, ...} + {0, x(1), 0, 0, ...} + x(1).{0, 1, 0, 0, ...} + {0, 0, x(2), 0, ...} + x(2).{0, 0, 1, 0, ...} + ........ + ........ ⟹ x(n)= x(0).{1, 0, 0, 0, ...} + x(1).{0, 1, 0, 0, ...} + x(2).{0, 0, 1, 0, ...} + ... ⟹ x n =x 0 .𝛿 𝑛 + x 1 .𝛿 𝑛−1 + x 2 .𝛿 𝑛−2 + …= 𝑖∈ℤ 𝑥 𝑖 𝛿(𝑛−𝑖) Calculons y(n) = LIT[x(n)]: LIT x n =LIT x 0 .𝛿 𝑛 +x 1 .𝛿 𝑛−1 +x 2 .𝛿 𝑛−2 +… =x 0 .LIT 𝛿 𝑛 +x 1 .LIT 𝛿 𝑛−1 +x 2 .LIT 𝛿 𝑛−2 +… =x 0 .ℎ 𝑛 + x 1 .ℎ 𝑛−1 + x 2 .ℎ 𝑛−2 + …= 𝑖∈ℤ 𝑥 𝑖 ℎ(𝑛−𝑖) On définit le produit de convolution numérique: Linéarité Invariance dans le Temps x n ∗𝛿 𝑛 =x(n)
𝑦 𝑛 = 𝑖∈ℤ 𝑥 𝑖 ℎ(𝑛−𝑖) ↭ 𝑦 𝑡 = −∞ +∞ 𝑥 𝜏 .ℎ 𝑡−𝜏 𝑑𝜏 3. Systèmes L.I.T. 3.5. Définition du Produit de Convolution (continue), δ(n) élément neutre de la convolution 𝑦 𝑛 = 𝑖∈ℤ 𝑥 𝑖 ℎ(𝑛−𝑖) ↭ 𝑦 𝑡 = −∞ +∞ 𝑥 𝜏 .ℎ 𝑡−𝜏 𝑑𝜏 On trouve l’expression ‘continue’ à partir de l’expression ‘discrète’ : Le produit de convolution entre 2 signaux x(t) et h(t) est défini par la relation : 𝑦 𝑡 =𝑥 𝑡 ∗ℎ 𝑡 = −∞ +∞ 𝑥 𝜏 .ℎ 𝑡−𝜏 𝑑𝜏 𝑥 𝑡 ∗𝛿 𝑡 = −∞ +∞ 𝑥 𝜏 .𝛿 𝑡−𝜏 𝑑𝜏 =𝑥(𝑡) On a l’égalité suivante : en effet: propriété de localisation est élément neutre de la convolution −∞ +∞ 𝑥 𝜏 .𝛿 𝑡−𝜏 𝑑𝜏 = −∞ +∞ 𝑥 𝑡 .𝛿 𝑡−𝜏 𝑑𝜏 =𝑥(𝑡) −∞ +∞ 𝛿 𝑡−𝜏 𝑑𝜏 =𝑥(𝑡) 1
3. Systèmes L.I.T. 3.6. Produit de convolution On peut refaire avec la convolution en temps continu ce qui a été fait pour la convolution numérique (3.4.): On écrit : La réponse du SLIT est :
3. Systèmes L.I.T. 3.7. Produit de convolution
3. Systèmes L.I.T. 3.8. Propriétés du produit de convolution Définition Commutativité: x*y = y*x Distributivité sur l’addition: x*(u + v) = x*u + x*v Associativité: x*(y*z) = (x*y)*z est élément neutre: x* = x Translation: x(t)*(t-t0) = x(t-t0) On admettra : La TF d’un produit de convolution est un produit simple et réciproquement.
réponse impulsionnelle h(t) SLIT réponse en fréquence H(f) TFi TF 3. Systèmes L.I.T. 3.8bis. Systèmes LIT, Propriétés du produit de convolution 𝑥 𝑡 𝑋 𝑓 TFi TF t f SLIT réponse impulsionnelle h(t) SLIT réponse en fréquence H(f) TFi TF 𝑦 𝑡 =𝑥 𝑡 ∗ℎ(𝑡) 𝑌 𝑓 =𝑋 𝑓 .𝐻(𝑓) 𝐻 𝑓 =𝑇𝐹 ℎ(𝑡) 𝑦 𝑡 𝑌 𝑓 TFi TF t f
3. Systèmes L.I.T. 3.9. Filtre fréquentiel (A) Un filtre est un système Linéaire et Invariant dans le Temps (LIT): Filtrer x(t) c'est supprimer ou atténuer certaines fréquences que contient X(f). Cette sélection est effectuée dans le domaine fréquentiel par une multiplication : produit de X(f) par H(f). Le produit dans le domaine fréquentiel est remplacé par un produit de convolution dans le domaine temporel : convolution de x(t) par Un filtre fréquentiel est un multiplieur fréquentiel et un convolueur temporel.
3. Systèmes L.I.T. 3.10. Filtre fréquentiel (B) Allure du module du spectre des filtres idéaux. Soit H(f) la fonction de transfert (ou réponse en fréquence) d'un filtre. Le diagramme de Bode est la représentation en gain et en phase de H(f) : Module de H(f) ou gain ou en décibels Argument de H(f) ou phase :
3. Systèmes L.I.T. 3.11. Filtre temporel L'apodisation (ou filtre temporel) consiste à observer un signal à travers une fenêtre d'observation de durée donnée. Un filtre temporel est un multiplieur temporel et un convolueur fréquentiel . Il n'existe pas de filtre temporel ne modifiant pas le spectre des signaux d'entrée. Dans la pratique, les signaux temporels sont toujours traités sur un support fini (une « tranche temporelle »). Pour prélever une partie du signal, l'opération la plus simple consiste à multiplier le signal par une fonction porte de type P(t—t0)
La convolution permet d’effectuer une translation Commutativité Démontrer que x(t)*y(t) = y(t)*x(t). Partir de la définition de la convolution. Dans le calcul on posera une nouvelle variable u=t-. La convolution permet d’effectuer une translation Démontrer que x(t)*(t-t0) = x(t-t0). Partir de la définition de la convolution et utiliser la propriété de localisation du produit par un Dirac. Que réalise ce SLIT ? Analyser le programme suivant, l’ exécuter et dire ce que réalise la commande filter. Donner le graphe de fluence correspondant. t=linspace(0,10,200); f=0.5; x=cos(2*pi*f*t); subplot(311), plot(t, x) n=0.25*randn(size(t)); x=x+n; subplot(312), plot(t, x) longueur=8; b=1/longueur*ones(1,longueur); a=1; x=filter(b,a,x); subplot(313), plot(t, x)
L’impulsion de Dirac est élément neutre de la convolution Sous Matlab, créer une porte p(n) comportant N=100 éléments: p(n)=1 pour 20 n 30; p(n)=0 ailleurs. Créer une impulsion de Dirac(n) comportant N=100 éléments et Dirac(1)=1. Calculer en utilisant la fonction conv, la convolution : p * Dirac. Syntaxe : nouveau_signal = conv(p, Dirac) Vérifier graphiquement que p*Dirac = p. Convolution d’une porte par elle-même Reprendre la porte définie précédemment (L’impulsion de Dirac est élément neutre de la convolution) et représenter sa convolution par elle-même (p*p). Créer de l’écho (décaler un signal par convolution) Créer sous Matlab un signal « rampe » de N=1000 éléments telle que rampe(n)=n/20 pour 1 n 50 (n est l’indice des éléments de rampe) et rampe=0 ailleurs. Créer le signal echo de N éléments, partout nul sauf pour les indices = 200, 400, 600 et 800 pour lesquels on a echo(200)=2, echo(400)=1, echo(600)=0.75 et echo(800)=0.60 (il s’agit d’étudier : echo = 2.(n-n1) + 1.(n-n2) + 0.75.(n-n3) + 0.60.(n-n4)). Calculer sous Matlab la convolution rampe*echo. Réaliser les représentations graphiques. Réaliser un effet similaire en utilisant filter.