From ab2cc57737c379f5fe1cb3c962fa24d7fbab3f58 Mon Sep 17 00:00:00 2001 From: Orestis Malaspinas <orestis.malaspinas@hesge.ch> Date: Thu, 21 Nov 2019 13:52:17 +0100 Subject: [PATCH] updated convolutions --- cours.md | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 82 insertions(+), 6 deletions(-) diff --git a/cours.md b/cours.md index d28d32e..a2a38df 100644 --- a/cours.md +++ b/cours.md @@ -880,19 +880,95 @@ les réseaux de neurones convolutifs entre autres. La convolution de deux fonctions intégrables, $f(t)$, et $g(t)$, notée $f\ast g$ se définit comme \begin{equation} -(f\ast g)(t)=\int_{-\infty}^\infty f(\tau)f(t-\tau)\dd \tau. +(f\ast g)(x)=\int_{-\infty}^\infty f(x-t)g(t)\dd t. \end{equation} -On constate que le membre de gauche de l'équation ci-dessus n'est rien d'autrequ'une fonction de $t$. -Pour chaque valeur de $t=t_0$, on calcule l'intégrale, +On constate que le membre de gauche de l'équation ci-dessus n'est rien d'autre qu'une fonction de $x$. +Pour chaque valeur de $x=x_0$, on calcule l'intégrale, \begin{equation} -\int_{-\infty}^\infty f(\tau)f(t_0-\tau)\dd \tau. +\int_{-\infty}^\infty f(x_0-t)g(t)\dd t. \end{equation} -On peut interprêter la convolution comme la moyenne de $f(\tau)$ pondérée par la fonction $g(-\tau)$. +--- -### La convolution discrète +Exercice (Commutativité) +.# + +Démontrer que le produit de convolution est commutatif, soit +\begin{equation} +(f\ast g)(x)=(g\ast f)(x). +\end{equation} + +Indication: utiliser la substitution $\tau=x-t$. + +--- + +Afin de pouvoir interpêter un peu +ce que cela veut dire, il est intéressant de faire un calcul +"simple" pour se faire une idée. + +--- + +Exercice +.# + +Calculer la convolution du signal $f(t)$ + +\begin{equation} +f(t)=\left\{\begin{array}{ll} + 1,&\mbox{ si }t\in[0,1]\\ + 0,&\mbox{ sinon.} + \end{array}\right. +\end{equation} + +Indication: faites un dessin de ce que représente la convolution de ce $f$ avec lui-même. + +--- +#### Interprétation avec les mains + +Afin d'interpréter ce que représente le produit de convolution, introduisons la fonction delta de Dirac, $\delta_a(x)$. Cette fonction est un peu particulière, elle vaut zéro partout sauf en $0$ (où elle est "infinie"), et son +intégrale vaut $1$ +\begin{equation} +\int_{-\infty}^\infty\delta(x)\dd x=1. +\end{equation} +Même si cela peut sembler étrange, on peut tenter de construire une telle fonction en prenant une suite de rectangles, centrés en $0$, +dont la surface vaut 1. Puis on rend ces rectangles de plus en plus fins, en imposant que la surface vaut toujours 1 et le tour est joué. + +Cette fonction est intéressante, car elle a la propriété suivante lorsqu'on l'utilise pour effectuer des convolutions. +\begin{equation} +\int_{-\infty}^\infty f(y)\delta(y-x)\dd y=f(x). +\end{equation} +En d'autre termes cette intégrale est égale à la valeur de $f$ au point où l'argument du $\delta$ est nul. + +A présent, si nous considérons la convolution de $f(t)$ avec +la fonction $\delta(t-a)=\delta_a$, on obtient +\begin{equation} +(f\ast\delta_a)(x)=\int_{-\infty}^\infty f(x-t)\delta(t-a)\dd t=f(x-a). +\end{equation} +En fait la convolution d'une fonction $f$ avec le delta de Dirac centré en $a$ ne fait que translater la fonction $f$ d'une distance $a$. + +En effectuant à présent la convolution avec une combinaison linéaire de $\delta$ de Dirac +\begin{equation} +(f\ast(\alpha\cdot \delta_a+\beta\cdot \delta_b))(x)=\int_{-\infty}^\infty f(x-y)(\alpha\cdot\delta(y-a)+\beta\cdot\delta(y-b))\dd y=\alpha\cdot f(x-a)+\beta\cdot f(x-b). +\end{equation} +La convolution est donc la moyenne pondérée de $f$ translatée en $a$ et en $b$ par $\alpha$ et $\beta$ respectivement. + +On voit que de façon générale, qu'on peut interpréter la convolution de deux fonctions $f(t)$ et $g(t)$ comme la moyenne de $f(t)$ pondérée par la fonction $g(t)$. + +#### Le lien avec les filtres + +Il se trouve que dans le cas où le filtre est linéaire (filtrer la combinaison de deux signaux +est la même chose que de faire la combinaison linéaires des signaux filtrés) +et indépendant du temps (les translations temporelles n'ont aucun effet sur lui) +alors on peut lier la convolution et le filtrage. + +Si on définit la réponse impulsionnelle d'un filtre, $h(t)$, le filtrage d'un signal $s(t)$, +noté $f(s)$, n'est autre que la convolution de $h(t)$ avec $s(t)$ +\begin{equation} +f(s)=(s\ast h)(x)=\int_{-\infty}^\infty f(x-t)g(t)\dd t. +\end{equation} + +### La convolution discrète +En se rappelant que l'intégrale n'est rien d'autre qu'une somme un peu plus compliquée Intégration numérique --------------------- -- GitLab