Signaux et systemes Cours 3 Phenomene de Gibbs • Un des exemples populaires de la serie de Fourier, c’est l’onde carree • Au debut, ca commence avec un sinus • Et en ajoutant des termes, le haut s’applitit et les cotes deviennent plus verticaux 1.5 1.5 1.5 1 1 1 0.5 0.5 0.5 0 -0.5 -1 -1.5 0 0.5 1 1.5 2 2.5 3 3.5 x 10 0 0 -0.5 -0.5 -1 -1 -1.5 4 0 0.5 1 1.5 2 2.5 3 -1.5 3.5 0 0.5 1 1.5 2 2.5 3 4 x 10 3 3.5 x 10 7 4 17 Phenomene de Gibbs • Le plus de sinus qu’on ajoute, le plus que ca ressemble a une onde carree • Cependant, il reste encore des pics aux moments des transitions • On s’imagine que les “depassements” s’arreteront quand N→∞ 1.5 1.5 1.5 1 1 1 0.5 0.5 0.5 0 0 0 -0.5 -0.5 -0.5 -1 -1 -1.5 0 0.5 1 1.5 2 2.5 3 3.5 -1.5 -1 0 0.5 1 1.5 4 2 2.5 3 3.5 4 x 10 57 -1.5 0 0.5 1 1.5 2 x 10 97 2.5 3 3.5 x 10 397 4 Phenomene de Gibbs • Plus N est grand: • Plus la frequence des oscillations est grande • Plus le depassement converge a 9% de l’amplitude total • Ces depassements ne cessent pas, contrairement a ce qu’on aimerait croire 1.5 1.2 1 Amplitude=2 (‐1 a +1) 1.15 1.1 0.5 1.05 0 Overshoot de 0.18 1 -0.5 0.95 0.9 -1 0.85 -1.5 0 1 2 3 9000 4 9500 10000 10500 4 x 10 Phenomene de Gibbs 1.5 1.5 1 1 0.5 0.5 0 0 -0.5 -0.5 -1 -1 -1.5 0 1 2 3 4 4 -1.5 0 1 2 3 4 4 x 10 x 10 Retournons aux transformees de Fourier... Rect • On a appris des signaux de bases de style percussion, echelon et rampe • Dans le monde des signaux, il y a d’autres fonctions de base a connaitre • On par entre autres des fonctions Rect et Sinc • Allons voir ce que c’est... Rect • La fonction Rect est une forme de rectangle: • Rect(t) ressemble a ceci: • On peut lui donner differente durees τ: • Rect(t/τ) ressemble a ceci: La duree se trouve SOUS le t Sinc • La fonction sinc est appelee sinus cardinal: • Mathematiquement: 1 0.8 0.6 sinc(t ) = 0.4 0.2 sin (πt ) πt sinc(t ) = ou sin (t ) t 0 -0.2 -0.4 -40 -20 0 20 40 • Avec differents parametres, on peut avoir des formes differentes 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 -0.2 -0.4 -40 -0.2 -20 0 20 -0.4 -40 40 -20 0 20 40 Rect et Sinc • Trouvons la transformee de Fourier de RECT ∞ ⎛t⎞ ∫ RECT ⎜⎝ τ ⎟⎠e − jωt dt −∞ • RECT est 1 entre ‐τ/2 et τ/2: τ 2 ∫τ e − jω t dt − 2 • On fait l’integrale: e − jωt − jω τ 2 −τ 2 = e − jω τ −e − jω 2 jω τ 2 Ca ressemble a un sinus exprime avec des exponentielles Rect et Sinc • On manipule pour que ca devienne la forme d’un sinus (d’apres Euler) e jω τ 2 −e jω − jω τ 2 = τ − jω ⎛ jω τ 2 ⎜e 2 −e 2 ⎜ 2j ⎝ ω⎜ • On remplace par un sinus: ⎞ ⎟ ⎟ ⎟ ⎠ 1 0.8 0.6 ⎛ τ⎞ sin ⎜ ω ⎟ ⎝ 2⎠ 0.4 0.2 ω 0 -0.2 2 • On manipule et ca devient sinc: τ -0.4 -40 -20 0 20 40 ⎛ τ⎞ sin ⎜ ω ⎟ ⎝ 2 ⎠ = τsinc⎛ ω τ ⎞ ⎜ ⎟ ωτ ⎝ 2⎠ 2 Rect et Sinc • Pourquoi est‐ce que rect et sinc sont interessants? • Parfois on veut un filtre qui ressemble a rect en frequences • Pour l’obtenir, il faut avoir un h(t)=sinc dans le domaine du temps... 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -40 -20 0 20 40 Tronquage de donnees • Considerons un signal qui entre dans un filtre • On veut connaitre la sortie du systeme • Si l’entree et le systeme ont une equation mathematique, on peut utiliser Laplace pour resoudre • Sinon, on peut trouver la sortie avec des mesures de l’entree et de la reponse a la percussion h(t) • On appliquerait la convolution numerique Tronquage de donnees • Pour ce faire, on prendrait des mesures de l’input et on ferait un tableau • On ferait la meme chose avec h(t) • Le probleme est que h(t) dure souvent jusqu’a l’infini e − at (b sin ωnt + c cos ωnt ) e − at sin ωnt e − at sinc • Pour faire la convolution, on ne veut PAS calculer une infinite d’elements • Il faut donc tronquer: • On va enlever les donnees “moins significatives” Tronquage de donnees • Pour un filtre passe bas, on aurait ceci: 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -40 -20 0 20 40 • Ca demande que la reponse vienne avant le temps 0 (avant le stimulus) • Systeme non‐causal de duree infini... Ce n’est pas facile! Tronquage de donnees • Solution? Tronquer! 1 1 0.8 1 0.8 0.6 0.8 0.6 0.4 X 0.2 = 0.6 0.4 0.2 0.4 0 0 0.2 -0.2 -0.2 -0.4 -5 0 h(t) 5 0 -5 0 tronquer(t) 5 -0.4 -5 0 5 ht (t) • Apres une certaine longueur, on fait semblant que h(t) devient zero • Ca semble raisonnable... Tronquage de donnees • Quel genre d’impact est‐ce que ca peut avoir? • Si j’avais un h(t)=sinc, ca me donnerait un filtre ideal 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -5 0 5 |H(jω)| h(t) • En tronquant, est‐ce que ca change quelque chose? 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -5 0 5 |H(jω)| h(t) Tronquage de donnees • Un tronquage c’est une multiplication par un rectangle • Une multiplication dans le temps, c’est une convolution en frequences • On a multiplie notre h(t) par un rectangle: • Pour voir l’effet, on fait la convolution en frequences x 10 1 -3 10 0.8 9 8 0.6 7 0.4 * (convolution) 6 = 0.2 0 5 4 3 2 -0.2 1 -0.4 -5 0 5 Tronquage(ω) |H(jω)|ideal 0 4920 4940 4960 4980 5000 5020 5040 5060 5080 |H(jω)|reel Tronquage de donnees • Probleme: le tronquage coupe les signaux de facon abrupte 1 0.8 0.6 Dans le temps 0.4 0.2 0 -0.2 -0.4 -5 0 5 • Ca introduit des composantes frequentielles • Ca se traduit mathematiquement en oscillations dans la reponse en FREQUENCES... x 10 -3 10 9 8 En frequences Prenez le temps de bien digerer ca... 7 6 5 4 3 2 1 0 4920 4940 4960 4980 5000 5020 5040 5060 5080 Tronquage de donnees • Exemple pour illustrer la situation: • On met un signal dont la frequence augmente 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 -0.2 -0.2 LPF -0.4 -0.4 -0.6 -0.6 -0.8 -0.8 -1 -1 0.5 1 1.5 2 2.5 3 3.5 4 x 10 0 4 0.5 1 1.5 2 2.5 3 6 x 10 1.004 1.002 1 Changement d’amplitude dans la passe bande 0.998 0.996 0.994 0.992 1 2 3 4 5 6 7 8 9 5 x 10 Fenetrage • A la place d’utiliser un rectangle, on peut utiliser d’autres formes: • Ces formes devraient introduire une coupure MOINS abrupte • Ici, on utilise un triangle (Bartlett) 1 1 1 0.9 0.8 0.8 0.8 0.6 0.7 0.6 0.6 0.4 0.4 = 0.5 X 0.2 0.4 0.2 0.3 0 0 0.2 -0.2 -0.4 0.1 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 -0.2 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 -0.4 h(t) 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 ht (t) tronquer(t) Fenetrage • On superpose h(t) avec ht(t) pour voir l’effet dans le temps 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 • On voit l’effet dans le domaine frequentiel • Moins d’oscillations dans la reponse en frequences 200 180 160 140 120 100 80 60 40 20 0 4940 4960 4980 5000 5020 5040 5060 Fenetrage • L’usage d’un rectangle ou d’un triangle pour limiter un signal s’appelle le fenetrage • Il existe d’autres fonctions qui sont plus performants: • Hamming • Hanning (von Hann)... • Les fonctions de fenetrage differents ont des caracteristiques differentes • Le choix se fait selon nos besoins... Fenetrage • Le fenetrage peut etre utilise pour plusieurs applications: • Reduire la duree de h(t) dans la conception des filtres • S’assurer que la transformee de Fourier d’un signal de duree limitee se fasse bien • Ce sera couvert en traitement numerique des signaux Convolution • En DS2, on a vu la convolution • C’est une operation mathematique t f (t ) * h(t ) = ∫ f (τ )h(t − τ )dτ 0 • Dans notre cas, on s’en sert pour trouver la sortie d’un systeme • Si f(t) est l’input et h(t) est la reponse impusionelle, la convolution donnerait la sortie Convolution • Quand on connait les equations pour f(t) et h(t), ca fonctionne bien • Quand les equations ne sont pas connues, ca ne fonctionne plus • Cependant, il existe la convolution numerique qui peut arranger les problemes f (t ) * h(t ) = Δt ⎣t / Δt ⎦ f (t ) * h(t ) = Δt ∑ f (τ )h(t − τ ) ∑ f (nΔt )h(t − nΔt ) n =0 Moins complet mais plus simple... nΔt c’est l’equivalent de τ Convolution • Pour faire la convolution, on mesure f(t) et h(t) a intervalles regulieres: a chaque Δt • On sauvegarde les valeurs en quelque part • Et on fait les calculs • Une fonction peut etre vue comme une somme de percussions Convolution • Chaque percussion genere une reponse a la percussion h(t) 1 2 3 4 5 • La sortie a un temps donne est la somme des contributions de toutes les autres reponses • Au temps 5, ce sera: Δt [ f (1)h(4) + f (2)h(3) + f (3)h(2) + f (4)h(1)] Convolution • Nous avons appris une maniere de faire la convolution en DS2: • • • • Prendre f(t), remplacer t par τ Prendre h(t), remplacer t par t‐τ Remplir le tableau Par exemple, t=5 et Δt = 1 τ t‐τ f(τ) h(t‐τ) f(τ)h(t‐τ) 0 5 f(0) h(5) f(0)h(5) Σ f(0)h(5) 1 4 f(1) h(4) f(1)h(4) f(0)h(5)+f(1)h(4) ... ... ... ... ... ... A la fin, multiplier par Δt Convolution • La convolution fait parti de la matiere de signaux et systemes aussi... • On va apprendre une autre facon de faire • Derivons cette nouvelle technique avec l’equation de la convolution: f (t ) * h(t ) = Δt ∑ f (τ )h(t − τ ) • Imaginons que h(τ) c’etait cette fonction • De quoi aurait l’air h(t‐τ)? Convolution • Pour transformer h(τ) en h(t‐τ), il faut faire 2 choses: h(τ ) • Il faut le “renverser sur lui‐meme” h(−τ ) • Il faut le decaler par t h(t − τ ) Convolution • Une fois qu’on a obtenu l’onde pour h(t‐τ), on peut faire la convolution f (t ) * h(t ) = Δt ∑ f (τ ) h(t − τ ) • La convolution c’est: • Multiplier ces 2 formes ensembles • Faire la somme du produit Convolution • Faisons un calcul rapide pour t=5 • On multiplie la 1re percussion f(1) par h(τ) qui a eu 4 secondes pour tomber (donc, h(4)) • On additionne a la 2e percussion f(2) par h(τ) qui a eu 3 secondes pour tomber (h(3)) • On additionne a la 3e percussion f(3) par h(τ) qui a eu 2 secondes pour tomber (h(2)) • On additionne a la 4e percussion f(4) par h(τ) qui a eu 1 seconde pour tomber (h(1)) Δt [ f (1)h(4) + f (2)h(3) + f (3)h(2) + f (4)h(1)] Meme reponse que tantot... Exemple (E3.20) • Trouvez le signal de sortie si l’entree la reponse a la percussion etaient: t 0 1 2 3 4 5 6 f(t) 1 1 1 1 1 1 0 h(t) 0 1 2 3 2 1 0 Exemple (E3.20) 0 0 0 0 0 0 1 1 1 1 1 1 0 1 2 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 2 3 2 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 1 2 3 2 1 0 0 0 0 Somme=0 Somme=1 Somme=3 Exemple (E3.20) 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 2 3 2 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 2 3 2 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 2 3 2 1 0 Somme=6 Somme=8 Somme=9 Exemple (E3.20) • f(t) et h(t) sont symetriques et donc, le signal de sortie sera aussi symetrique • On n’a pas besoin de calculer • On peut simplement recopier... Exemple (seul) • Faites la convolution graphique de ces 2 fonctions: t 0 0.1 0.2 0.3 0.4 0.5 f(t) 1 1 2 2 1 1 h(t) 0.19 0.17 0.12 0.07 0.02 0.01 • Trouvez la sortie au temps 0.2 et au temps 0.3 Exemple (seul) • Choses a faire: • Renverser le h(τ) 0 1 2 2 1 1 0.01 0.02 0.07 0.12 0.17 0.19 0 0 0 0 0 1 0 0 0 0 2 • Decaler de t (de 0.2) 0 0 0 2 1 1 0 0 0.01 0.02 0.07 0.12 0.17 0.19 0 0 0 1 1 0 0 • (0.12+0.17+2*0.19)=0.67 Sortie= 0.1 * 0.67 = 0.067 Exemple (seul) • Choses a faire: • Decaler de t (de 0.3) 0 0 0 0 1 1 0 0 0 0.01 0.02 0.07 0.12 0.17 0.19 0 0 1 1 2 0 • 0.07+0.12+2*0.17+2*0.19=0.91 Sortie= 0.1 * 0.91 = 0.091 2 Correlation • La correlation est une operation mathematique qui ressemble a la convolution ∞ RFG = ∫f ∗ (t ) g (t + τ )dt −∞ • Les applications, cependant, sont differentes • On s’en souvent avec les signaux de type aleatoire • Puisque c’est la premiere fois qu’on le voit, passons plus de temps a l’explorer… Correlation • Les signaux aleatoires ne sont pas previsibles avec des equations mathematiques • Ils sont specifies par des distributions statistiques • La distribution la plus importante est probablement la distribution Gaussienne • Moyenne • Variance (ou ecart‐type) 3500 3000 2500 2000 1500 1000 500 0 -5 -4 -3 -2 -1 0 1 2 3 4 5 Correlation • Addition de distributions • L’addition de 2 gaussiennes donne une autre gaussienne • Les moyennes et les variances changent. • Multiplication de distributions • La multiplication de 2 gaussiennes donne une differente distribution 15000 10000 5000 0 -10 -5 0 5 10 Correlation • Chose a savoir: • La distribution est quand meme symmetrique • Il y a quand meme une moyenne et les variations sont les memes d’un bord et de l’autre 10 15000 5 10000 0 5000 -5 -10 0 1000 2000 3000 4000 0 -10 5000 -5 0 5 10 Correlation • Cette fonction va avoir une moyenne • Plusieurs valeurs sont plus grandes et plusieurs valeurs sont plus petites que cette moyenne • On sait que la moyenne est ceci: T /2 Moyenne = 1 f (t ) dt T −T∫/ 2 Moyenne = 1 N N ∑ f ( n) n =0 • On additionne N valeurs et on divise par N Correlation • Il est possible de rearranger l’equation comme suit: N N ⋅ Moyenne = ∑ f (n) n =0 • Apres avoir additionne N valeurs f(n) ensemble, ca donne N*Moyenne • Si 2 fonctions ont la meme moyenne, la somme de N valeurs de chaque fonction donnera N*Moyenne • Si 100 fonctions ont la meme moyenne, la somme donnerait aussi N*Moyenne Correlation • Pour nous convaincre, prenons 3 fonctions aleatoires avec une moyenne de 3 • Ces fonctions ont des variances differentes: 3, 30 et 300 • Apres l’addition de 5000000 valeurs, la fonction avec variance de 3 donnait 1.5008x107 • La fonction avec variance de 30 donnait 1.4948x107 • Et la fonction avec variance de 300 donnait 1.5140x107 • Ca donne a peu pres la meme chose… Prenons cette logique et considerons une autre situation... Propriete #1 • Considerons 2 signaux Gaussiens: 4 4 2 2 0 0 -2 -2 -4 0 1000 2000 3000 4000 -4 0 5000 1000 2000 3000 4000 5000 • Le produit des 2 signaux donne une distribution quelconque avec une moyenne… • En additionnant toutes les valeurs pendant une intervalle de temps, j’aurais une valeur X • Avec 2 autres fonctions qui ont la meme distribution, la somme serait la meme valeur X (presque) Propriete #2 • Une fonction gaussienne decalee dans le temps reste gaussienne • Preuve: • Prenez par exemple 3 sections d’un meme signal aleatoire gaussien 5 4 3 2 1 0 -1 -2 -3 -4 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 4 x 10 600 800 800 600 600 500 400 300 400 400 200 100 0 -4 200 200 -2 0 2 4 0 -4 -2 0 2 4 0 -4 -2 0 2 4 Propriete #2 • On sait que multiplier 2 gaussien donne ceci: 4 2 1500 0 -2 -4 0 4 1000 1000 2000 3000 4000 5000 500 2 0 0 -10 -2 -4 0 1000 2000 3000 4000 -5 0 5 10 5000 • On sait que chaque partie d’un gaussien est un gaussien: • La multiplication donnerait aussi quelque chose comme 1500 5 4 3 1000 2 1 0 500 -1 -2 -3 -4 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 -10 5 4 x 10 -5 0 5 10 Correlation • Donc, SI je multipliais un signal gaussien avec une version decalee de lui‐meme: • C’est une multiplication de 2 signaux gaussien • En additionnant les valeurs, je devrais avoir des sommes semblables quel que soit le decalage • Faisons un graphique qui montre la somme des valeurs versus le decalage 5000 4000 3000 2000 1000 0 -1000 -5000 0 5000 Correlation • Il y a une exception quand le decalage est 0 • Dans les autres places, il y a des valeurs positives et negatives qu’on additionne ensemble • Quand le decalage est 0, les negatifs se multiplient et les positifs se multiplient: • Toutes les valeurs a additionner sont positifs • On obtient donc le resultat le plus eleve 5000 4000 3000 2000 1000 0 -1000 -5000 0 5000 Correlation • Le resultat est faible quand les 2 signaux sont differents • Un signal aleatoire et une version decalee de lui‐meme sont consideres “differents” • Cependant, quand on multiplie le signal par lui meme, le resultat devient eleve • Semble donner une grande valeur quand les signaux sont semblables 5000 4000 3000 2000 1000 0 -1000 -5000 0 5000 Correlation • Le fait de multiplier 2 signaux ensembles et d’integrer nous rapelle des souvenirs ∫ t2 t1 f (t ) g (t )dt • C’est le produit scalaire de 2 signaux: • Si c’est 0, les signaux sont orthogonaux • Si c’est maximum, les signaux sont “paralleles” • A la place d’utiliser le mot parallele, on va utiliser le mot “semblable” ou “correle” Correlation • Alors, dans ce cas‐ci, on voit qu’un signal gaussien decale est orthogonal a lui‐meme • Il est seulement hautement correle quand le decalage est de 0 • Ce qui est normal parce qu’un decalage de 0 veut dire que c’est le signal LUI‐MEME 5000 4000 3000 2000 1000 0 -1000 -5000 0 5000 Correlation • Que se passe‐t‐il si la fonction est complexe ou imaginaire? • Par exemple, f(t=2s)=3j… • Quand le signal n’est pas decale, on aimerait avoir la plus grosse valeur possible • Or, si la sortie etait 3j, quand 2 signaux sont superposes, on aurait (3j)2=‐9 • Notre pic serait donc REDUIT de ‐9 meme si les signaux sont correles… pas bon! Correlation • Pouvons‐nous nous assurer d’avoir des nombres positifs avec un signal aligne? • Pour avoir des nombres positives, on pourrait multiplier un nombre complexes par son conjugue… R(τ ) = ∞ ∫f * (t ) f (t + τ )dt −∞ • Pour les nombres reels, ca ne change rien • Pour les nombres complexes, la multiplication donne un nombre positif: 3j * ‐3j = 9 Correlation • Une correlation c’est un lien ou une dependance: • La fonction de correlation nous dit donc s’il existe une similitude entre 2 signaux • Il existe 2 types de correlation: • Autocorrelation: s’il existe un lien entre un signal et une version decalee de lui‐meme • “Cross‐Correlation”: s’il existe un lien entre 2 signaux differents (on va simplement appeler ca “correlation”) Correlation: Application • Il existe plusieurs situations ou il peut y avoir des echos indesirables: • Lignes de transmission avec differentes impedances • Systemes de communication avec plusieurs chemins On aimerait annuler ces echos... Correlation: Application • Considerons un signal avec un echo • Comment faire pour l’enlever? 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7 4 x 10 Correlation: Application • L’autocorrelation nous dit s’il y a un lien entre un signal et une version decalee de lui‐meme • L’echo est une version decalee du signal • Il nous dit donc s’il y a presence d’echo • On peut trouver QUAND l’echo survient • On peut aussi trouver l’amplitude de l’echo • De cette facon, il est possible de s’en debarasser... Correlation: Application • Voici l’autocorrelation d’un signal et du meme signal avec un echo 5000 5000 4000 4000 3000 3000 2000 2000 1000 1000 0 0 -1000 -1000 -2000 0 2 4 6 8 10 12 -2000 14 0 2 4 6 8 10 12 4 14 4 x 10 x 10 Pas d’echo Echo Correlation: Application • En zoomant, on voit que l’echo: • Survient 8820 echantillons apres le signal • Est 0.4 fois la taille du signal initial 4000 3000 2000 1000 0 -1000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 SansEcho(t ) = AvecEcho(t ) − K ⋅ AvecEcho(t − decalage) Correlation: Application • On pourrait penser a une equation comme celle‐ci pour enlever l’echo: SansEcho(t ) = AvecEcho(t ) − K ⋅ AvecEcho(t − decalage) • On sait que l’echo est 0.4 fois la taille du signal initial et qu’il survient apres 8820 echantillons • On pourrait entrer ces parametres dans l’equation SansEcho(t ) = AvecEcho(t ) − 0.4 ⋅ AvecEcho(t − 8820) Correlation: Application • Apres l’operation mathematique, on obtient ceci: • L’echo semble etre disparu • Ca confirme que la correlation peut etre utilisee pour l’annulation de l’echo 5000 5000 4000 4000 3000 3000 2000 2000 1000 1000 0 0 -1000 -1000 -2000 0 2 4 6 8 10 12 -2000 14 x 10 Avant 4 0 5 10 Apres 15 4 x 10 Autocorrelation • Je prends une fonction et j’en prends une 2e copie: • Je prends la copie et je la decale • Je multiplie les 2 versions ensemble • Je fais ca pour toutes les decalages possibles et je fais a sommation de toutes les valeurs R(τ ) = ∞ ∫f * (t ) f (t + τ )dt −∞ Cross‐Correlation • Je prends deux fonctions : • Je prends la conjuguee complexe d’une fonction • Je prends la 2e fonction et je la decale d’une certaine quantite • Je multiplie les 2 fonctions • Je fais ca pour toutes les decalages possibles et je fais a sommation de toutes les valeurs ∞ RFG = ∫f −∞ ∗ (t ) g (t + τ )dt Exemple • Considerez la fonction suivante: f (t ) = u (t ) − u (t − 1) 1 1 t • Trouvez la fonction autocorrelation de cette fonction Exemple • L’autocorrelation est defini par: ∞ ∫ f (t ) f (t + τ )dt • On le remplace par notre propre fonction R (τ ) = −∞ • On va y aller lentement pour la premiere fois f (t + τ ) = u (t + τ ) − u (t − 1 + τ ) f (t ) = u (t ) − u (t − 1) • La correlation devient donc: ∞ R(τ ) = ∫ [u(t ) − u(t − 1)][u(t + τ ) − u(t − 1 + τ )]dt −∞ • La multiplication se developpe: ∞ R(τ ) = ∫ u (t )u (t + τ ) − u (t )u (t − 1 + τ ) − u (t − 1)u (t + τ ) + u (t − 1)u (t − 1 + τ )dt −∞ Exemple • Considerons 4 situations: • Pour τ > 1: Ca donne 0 • Pour 0 < τ < 1: L’integrale va de 0 a (1‐τ) • Pour ‐1 < τ < 0: L’integrale va de τ a 1 • Pour τ < ‐1 Ca donne 0 On n’aura que 2 integrales a faire... Exemple • Pour ‐1 < τ < 0, il y a 2 facons de proceder: • Re‐ecrire l’equation • Examiner chaque partie et raisonner • On pourrait re‐ecrire l’equation en regardant la figure suivante: • Le signal monte a ‐τ et descend a 1 ∞ 1 −∞ −τ R(τ ) = ∫ u (t + τ ) − u (t − 1)dt = ∫ dt =1 + τ Exemple • L’autre facon c’est d’examiner partie par R(τ ) = ∫ u (t )u (t + τ ) − u (t )u (t − 1 + τ ) − u (t − 1)u (t + τ ) + u (t − 1)u (t − 1 + τ )dt partie ∞ −∞ • Avec u(t) et u(t+τ), u(t) est inutile parce qu’il arrive avant (quand u(t+τ) est encore 0) • Avec u(t) et u(t‐1+τ), u(t) est inutile parce qu’il arrive avant u(t‐1+τ) • Avec u(t‐1) et u(t+τ), u(t+τ) est inutile parce qu’il arrive avant • Avec u(t‐1) et u(t‐1+τ), u(t‐1) est inutile parce qu’il vient av ∞ R(τ ) = ∫ u (t + τ ) − u (t − 1 + τ ) − u (t − 1) + u (t − 1 + τ ) dt −∞ Exemple • On peut simplifier l’equation resultant: ∞ R(τ ) = ∫ u (t + τ ) − u (t − 1) − u (t − 1 + τ ) + u (t − 1 + τ )dt −∞ • Deux elements s’annulent: ∞ R (τ ) = ∫ u (t + τ ) − u (t − 1)dt −∞ • On peut re‐ecrire le tout… 1 R (τ ) = ∫ dt = 1 + τ −τ Exemple • Pour 0 < τ < 1, il y a aussi 2 facons de proceder: • On pourrait re‐ecrire l’equation en regardant la figure suivante: ∞ 1−τ −∞ 0 R (τ ) = ∫ u (t ) − u (t − 1 + τ )dt = ∫ dt = 1 − τ Exemple • L’autre facon c’est de tout regarder: ∞ R (τ ) = ∫ u (t )u (t + τ ) − u (t )u (t − 1 + τ ) − u (t − 1)u (t + τ ) + u (t − 1)u (t − 1 + τ )dt −∞ • Avec u(t) et u(t+τ), u(t+τ) est inutile parce qu’il arrive avant u(t) (quand u(t) est encore 0) • Avec u(t) et u(t‐1+τ), u(t) est inutile parce qu’il arrive avant u(t‐1+τ) • Avec u(t‐1) et u(t+τ), u(t+τ) est inutile parce qu’il arrive avant • Avec u(t‐1) et u(t‐1+τ), u(t‐1+τ) est inutile parce qu’il vient avant ∞ R (τ ) = ∫ u (t ) − u (t − 1) − u (t − 1 + τ ) + u (t − 1)dt −∞ Exemple • On peut manipuler l’equation: ∞ R(τ ) = ∫ u (t ) − u (t − 1) − u (t − 1 + τ ) + u (t − 1)dt −∞ • On voit que u(t‐1) disparait ∞ 1−τ −∞ 0 R(τ ) = ∫ u (t ) − u (t − 1 + τ )dt = ∫ dt = 1 − τ Exemple • Si on combinait les resultats des 2parties, on obtiendrait ceci: 1−τ 1+τ Exemple (seul) • Calculez l’autocorrelation de la fonction suivante: ∫ ∞ −∞ f (t ) f (t + τ )dt Exemple (seul) • Examinons les differentes situations: τ > 1 0 < τ < 1 ‐1 < τ < 0 τ < ‐1 Integrale donne 0 Integrale de 0 a (1‐τ) Integrale de (‐τ) a 1 Integrale donne 0 Exemple (seul) • Quand 0 < τ < 1: τ ∫ (1 − t )(1 − τ − t )dt 1− 0 • On developpe la multiplication: τ ∫ (1 − 2t − τ + tτ + t )dt 1− • On integre 2 0 1−τ ⎛ t2 t3 ⎞ ⎜⎜ t − t 2 − tτ + τ + ⎟⎟ 2 3 ⎠0 ⎝ Exemple (seul) • On recopie l’equation 1−τ ⎛ t2 t3 ⎞ ⎜⎜ t − t 2 − tτ + τ + ⎟⎟ 2 3 ⎠0 ⎝ • On met les limites ⎛ (1 − τ )2 τ + (1 − τ )3 ⎞⎟ ⎜ (1 − τ ) − (1 − τ )2 − (1 − τ )τ + ⎜ 2 3 ⎟⎠ ⎝ • On developpe les puissances: ⎛ (1 − 2τ + τ 2 )τ + (1 − 2τ + τ 2 )(1 − τ ) ⎞⎟ ⎜⎜1 − τ − (1 − 2τ + τ 2 ) − (τ − τ 2 ) + ⎟ 2 3 ⎝ ⎠ Exemple (seul) • On developpe la derniere partie a droite: ⎛ τ − 2τ 2 + τ 3 1 − 2τ + τ 2 − τ + 2τ 2 − τ 3 ⎞ 2 2 + ⎜⎜1 − τ − 1 + 2τ − τ − τ + τ + ⎟⎟ 2 3 ⎝ ⎠ • On met sur le meme denominateur: 3τ − 6τ 2 + 3τ 3 + 2 − 4τ + 2τ 2 − 2τ + 4τ 2 − 2τ 3 6 • L’autocorrelation entre 0 et 1 nous donne: τ 3 − 3τ + 2 6 Exemple (seul) • Quand ‐1 < τ < 0: ∫ τ (1 − t )(1 − τ − t )dt 1 − • On developpe la multiplication ∫ τ (1 − τ − 2t + tτ + t )dt 1 2 − • On calcule l’integrale: 1 ⎛ t 2τ t 3 ⎞ ⎜⎜ t − tτ − t 2 + + ⎟ 2 3 ⎟⎠ −τ ⎝ Exemple (seul) • On met les limites de l’integrale τ 1⎞ ⎛ τ 2τ − τ 3 ⎞ ⎛ 2 2 ⎟ + ⎜1 − τ − 1 + + ⎟ − ⎜⎜ − τ + τ − τ + 2 3⎠ ⎝ 2 3 ⎟⎠ ⎝ • On simplifie un peu: τ 1⎞ ⎛ τ 3 −τ 3 ⎞ ⎛ ⎟ ⎜ − τ + + ⎟ − ⎜⎜ − τ + + 2 3⎠ ⎝ 2 3 ⎟⎠ ⎝ • On ouvre les parentheses et on simplifie... τ 1 τ3 τ3 + − + 2 3 2 3 Exemple (seul) • On recopie l’equation: τ 2 1 τ3 τ3 + − + 3 2 3 • On le met sur le meme denominateur: 3τ 2 3τ 3 2τ 3 + − + 6 6 6 6 • L’autocorrelation entre ‐1 et 0 sera donc: − τ 3 + 3τ + 2 6 Exemple (seul) • Quand on met les 2 resultats ensemble, on obtient: 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 -0.05 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 • En dehors de cette region, on a 0 partout... Signal periodique • La correlation fonctionne aussi pour des signaux periodiques • L’autocorrelation d’une fonction periodique sera aussi periodique • Utile pour plusieurs applications: • Par exemple, dans les applications audio: l’identification du tempo, ou d’une tonalite 1 0.5 0 -0.5 -1 0 1000 2000 3000 4000 5000 6000 Signal Periodique • Imaginez qu’on ait ce signal • On va dire que c’est de la musique • On aimerait identifier la periodicite (le “beat”) 20 10 0 -10 -20 0 1000 2000 • Comment trouver ca? 3000 4000 5000 6000 Signal Periodique • Considerons un signal et sa version decalee… 2. Milieu 1. Maximum 4. Milieu 3. Minimum 5. Maximum 6. Milieu Et le cycle continue… Signal Periodique • L’autocorrelation d’un signal periodique est aussi periodique (meme periode) 1 • Note: a droite, l’axe des X est 2 fois plus long… 6000 4000 0.5 2000 0 0 -2000 -0.5 -4000 -1 0 1000 2000 3000 4000 5000 6000 -6000 0 2000 4000 6000 8000 10000 12000 • Les pics changent de grandeur a cause de la duree non infinie dans MATLAB Signal Periodique • Faisons ca maintenant avec notre signal: 4 x 10 20 3 10 2 0 1 -10 -20 0 0 1000 2000 3000 4000 5000 6000 2000 4000 6000 8000 • On voit clairement qu’il y a periodicite: • Oui, avec du bruit… mais periodique quand meme Signal Periodique • Pour les signaux periodiques, la formule devrait etre changee… • Pour chaque “point”, on aura une valeur egale a A2, ou A est l’amplitude. • Si on integrait de ‐∞ a +∞, on aurait ∞ • Meme quand ce n’est pas parfaitement synchronise, on peut obtenir ∞ • Pas tres interessant Signal Periodique • Une facon de regler le probleme est de reduire la duree du signal: • Si c’est un signal periodique, on peut arreter apres une periode et ensuite faire la moyenne R (τ ) = 1 T T ∫f * (t ) f (t + τ )dt 0 Signal Periodique 1 T R(τ ) = 1 T T ∫f 0 * (t ) f (t + τ ) dt Signal Periodique τ=0 1 τ=T/2 1 T R(τ ) = 1 T /2 1 t = T 0 2 T R(τ ) = 0 1 dt = 0 T ∫0 ‐T/2 < τ < 0 1 0 < τ < T/2 1 T R (τ ) = 1 T ⎛1 τ ⎞ ∫ dt = ⎜⎝ 2 + T ⎟⎠ −τ T /2 T R (τ ) = 1 T T / 2−τ ⎛1 τ⎞ ∫ dt = ⎜⎝ 2 − T ⎟⎠ 0