Signaux et systemes Phenomene de Gibbs Phenomene de

publicité
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
Téléchargement