Produit de convolution
Modèle:À sourcer En mathématiques, le produit de convolution est un opérateur bilinéaire et un produit commutatif, généralement noté « Modèle:Math », qui, à deux fonctions Modèle:Mvar et Modèle:Mvar sur un même domaine infini, fait correspondre une autre fonction « Modèle:Math » sur ce domaine, qui en tout point de celui-ci est égale à l'intégrale sur l'entièreté du domaine (ou la somme si celui-ci est discret) d'une des deux fonctions autour de ce point, pondérée par l'autre fonction autour de l'origine — les deux fonctions étant parcourues en sens contraire l'une de l'autre (nécessaire pour garantir la commutativité).
Le produit de convolution généralise l'idée de moyenne glissante et est la représentation mathématique de la notion de filtre linéaire. Il s'applique aussi bien à des données temporelles (en traitement du signal par exemple) qu'à des données spatiales (en traitement d'image). En statistique, on utilise une formule très voisine pour définir la corrélation croisée.
Définition du produit de convolution
Le produit de convolution de deux fonctions réelles ou complexes Modèle:Mvar et Modèle:Mvar, est une autre fonction, qui se note généralement <math> f\ast g</math> et qui est définie par :
- <math> (f\ast g) (x) = \int_{-\infty}^{+\infty} f(x-t)g(t) \, \mathrm dt = \int_{-\infty}^{+\infty} f(t)g(x-t) \, \mathrm dt</math>
Parfois l'opération Modèle:Maths'appelle loi de convolution et <math> f\ast g</math> s'appelle la convoluée<ref>Modèle:Lien web</ref>.
Pour des suites (en remplaçant la mesure de Lebesgue par la mesure de comptage) :
- <math>(f \ast g)(n) = \sum_{m=-\infty}^{\infty} {f(n - m)g(m)}= \sum_{m=-\infty}^{\infty} {f(m)g(n - m)}</math>.
Lorsqu'il s'agit de séries, on parle de produit de Cauchy (mais dans ce qui suit, nous n'utiliserons que la version « continue »).
On peut considérer cette formule comme une généralisation de l'idée de moyenne mobile.
Pour que cette définition ait un sens, il faut que Modèle:Mvar et Modèle:Mvar satisfassent certaines hypothèses ; par exemple, si ces deux fonctions sont intégrables au sens de Lebesgue (c'est-à-dire qu'elles sont mesurables et que l'intégrale de leur module est finie), leur produit de convolution est défini pour presque tout x et est lui-même intégrable. Plus généralement, si Modèle:Math et Modèle:Math et <math>\frac1p+\frac1q=1+\frac1r</math> avec <math>p,q,r\in[1,+\infty]</math>, alors Modèle:Math : cf. « Inégalité de Young pour la convolution ».
Propriétés du produit de convolution
Propriétés algébriques
Le produit de convolution est bilinéaire, associatif et commutatif :
- <math>f\ast (g+\lambda h)=(f\ast g)+\lambda(f\ast h)</math> (pour tout scalaire Modèle:Math) ;
- <math>(f\ast g)\ast h=f\ast(g\ast h)</math> ;
- <math>f\ast g=g\ast f</math>.
Modèle:Démonstration{=} (f\ast g)(x) + (f\ast h) (x).\end{align}</math>}}
- Le produit de convolution est associatif lorsqu'on considère des fonctions intégrables (pour lesquelles s'applique le théorème de Fubini) :Modèle:Retrait{=} \int_{-\infty}^{+\infty}\left(\int_{-\infty}^{+\infty} f((y-x)-t)g(t) \, \mathrm dt\right)h(x)\, \mathrm dx\\
&= \int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty} f(y-T)g(T-x)h(x) \, \mathrm dx\, \mathrm dT\\ &= \int_{-\infty}^{+\infty}f(y-T)\left(\int_{-\infty}^{+\infty} g(T-x)h(x) \, \mathrm dx\right)\, \mathrm dT\\ &\stackrel{\mathrm {def.}}{=} (f\ast(g\ast h)) (y)\end{align}</math>}}où <math>T=x+t</math>, soit <math>t=T-x</math>, et <math>\mathrm dt=\mathrm dT</math>.
- Le produit de convolution est commutatif. On le voit aisément en opérant le changement de variable suivant :Modèle:Retrait{=} \int_{-\infty}^{+\infty} f(x-t)g(t) \, \mathrm dt\\
&= \int_{+\infty}^{-\infty} f(T)g(x-T) \, \mathrm d(-T) \\ &= \int_{-\infty}^{+\infty} f(T)g(x-T) \, \mathrm dT \; \\ &\stackrel{\mathrm {def.}}{=} (g\ast f) (x)\end{align}</math>}}où Modèle:Math, soit Modèle:Math, et Modèle:Math. }}
Pseudo-anneau
L'ensemble des fonctions intégrables muni de l'addition et du produit de convolution forme donc un pseudo-anneau, c'est-à-dire un anneau non unitaire. En effet, si cet anneau était unitaire, l'élément unité Modèle:Mvar devrait vérifier (pour tout Modèle:Mvar et toute fonction Modèle:Mvar) :
- <math> f(x) =\int_{-\infty}^{+\infty} f(t)\delta(x-t) \, \mathrm dt</math>.
On vérifie aisément que ce n'est possible que si Modèle:Mvar est la distribution de Dirac… qui n'est pas une fonction.
Le cadre naturel pour une bonne généralisation du produit de convolution est celui de la théorie des distributions, mais il n'est pas abordé dans cet article. On trouvera dans l'article consacré aux distributions une définition précise du produit de convolution dans ce cas, ainsi qu'une étude de ses principales propriétés.
Compatibilité avec les translations
Le produit de convolution est compatible avec les translations temporelles. Si l'on note Modèle:Mvar la translation sur les fonctions définie par
- <math>(\tau_h f)(x)=f(x-h)</math>,
alors
- <math>(\tau_h f)\ast g=\tau_h(f\ast g).</math>
Dans le cadre plus large de la convolution des mesures,
- <math>\tau_h f=\delta_h\ast f</math>,
où Modèle:Mvar désigne la masse de Dirac en h, et la compatibilité avec les translations n'est qu'une conséquence immédiate de l'associativité du produit de convolution des mesures :
- <math>(\tau_h f)\ast g=(\delta_h\ast f)\ast g=\delta_h\ast(f\ast g)=\tau_h(f \ast g).</math>
Cette propriété doit par ailleurs être rapprochée des applications des produits de convolution au filtrage.
Parité
La convolution suit la règle des signes pour la parité des fonctions :
- Modèle:Math est paire (resp. impaire) si Modèle:Mvar et Modèle:Mvar sont de même parité (resp. de parités contraires).
Cette propriété combinée avec l'invariance sous translation permet de prouver que le produit de convolution par une fonction paire préserve les symétries axiales des fonctions :
- Si Modèle:Mvar est paire et si Modèle:Math alors Modèle:Math.
Intégration d'un produit de convolution
On a (en appliquant le théorème de Fubini) la formule : <math>\int_{-\infty}^{+\infty}(f\ast g)(t)\,\mathrm{d}t=\left(\int_{-\infty}^{+\infty}f(t)\,\mathrm dt\right)\left(\int_{-\infty}^{+\infty}g(t)\,\mathrm dt\right).</math>
Dérivation
Dans le cas d'une seule variable, si Modèle:Mvar (par exemple) est de classe [[Classe de régularité|Modèle:Math]] et si Modèle:Mvar, Modèle:Mvar et Modèle:Mvar appartiennent à [[Espace L1|Modèle:Math]] alors
- <math>(f * g)' = f' * g</math>.
Plus généralement dans les cas de fonctions de plusieurs variables on a
- <math>\frac{\partial}{\partial x_i}(f * g) = \frac{\partial f}{\partial x_i} * g</math>.
Produit de convolution et transformée de Fourier
La transformée de Fourier d'un produit de convolution s'obtient par multiplication des transformées de Fourier des fonctions :
- si Modèle:Mvar et Modèle:Mvar sont intégrables alorsModèle:Retrait
- si Modèle:Mvar est intégrable et si Modèle:Mvar est de carré intégrable, on a aussi
- si Modèle:Mvar et Modèle:Mvar sont de carré intégrable alorsModèle:Retrait
où <math>\mathcal F</math> désigne la transformation de Fourier et <math>\mathcal F^{-1}</math> la transformation de Fourier inverse (« théorème de convolution »).
Ces formules se restreignent à l'espace de Schwartz, puis s'étendent partiellement à la transformation de Fourier pour les distributions tempérées, appliquée par exemple à la convoluée d'une distribution tempérée par une distribution à support compact. Plus généralement, si S et T sont deux distributions tempérées dont l'une est un convoleur, alors leurs transformées de Fourier sont des distributions tempérées dont l'une est un multiplieur, et elles vérifient :Modèle:Retrait
Dans ce cadre, la distribution de Dirac (convoleur neutre) et la fonction constante Modèle:Math (multiplieur neutre) sont deux distributions tempérées (paires) transformées de Fourier l'une de l'autre.
L'intérêt principal du calcul du produit de convolution par transformées de Fourier est que ces opérations sont moins coûteuses en temps pour un ordinateur que le calcul direct de l'intégrale.
Utilisation du produit de convolution
- Le produit de convolution est utilisé dans le traitement du signal, lorsque l'on utilise des filtres (passe-bas, passe-haut, passe-bande). Si l'on a un signal entrant Modèle:Math et un élément filtrant ayant une fonction de transfert Modèle:Math alors le signal de sortie Modèle:Math sera la convolution de ces deux fonctions :Modèle:Retrait où Modèle:Math, Modèle:Math et Modèle:Math sont les transformées de Fourier des fonctions du temps Modèle:Math , Modèle:Math et Modèle:Math.
- En audio numérique, et particulièrement dans le mixage musical ou audiovisuel, des logiciels de réverbération à convolution existent. Ils effectuent, dans le domaine fréquentiel, un produit de convolution entre le signal audio entrant et une réponse impulsionnelle sélectionnée par l'utilisateur. Ces logiciels disposent d'une banque de réponses impulsionnelles correspondant à divers environnements dont on souhaite reproduire la réverbération sonore (pièces, grottes, églises, ...), réponses obtenues en enregistrant la réverbération du lieu à un signal source donné.
- En cristallographie, le théorème de convolution est utilisé dans les méthodes directes pour déterminer la phase des facteurs de structure lors de la détermination d'une structure cristalline.
- En probabilité, la densité de probabilité de la somme de deux variables aléatoires réelles indépendantes (à densité) est le produit de convolution des densités de probabilité de ces deux variables indépendantes, comme on le voit à l'aide d'un changement de variables<ref>Modèle:Lien web</ref>.
- Une autre utilisation des produits de convolution se situe dans le domaine de la mécanique quantique, où l'on réalise des produits de convolution à partir des fonctions d'onde bra et ket.
- De manière générale, on peut écrire les équations différentielles linéaires correspondant à de nombreux problèmes physiques sous la forme du produit de convolution d'un opérateur par une fonction décrivant le système. On peut alors résoudre de manière générique le problème en déterminant l'inverse de convolution de l'opérateur (appelé fonction de Green). Joseph Fourier a été à l'origine de cette méthode lorsqu'il a cherché à résoudre l'équation de la chaleur. Sa formulation moderne a dû attendre l'arrivée de la théorie des distributions introduite par Laurent Schwartz.
- Le produit de convolution se généralise à de nombreuses algèbres d'un groupe, par exemple aux algèbres d'un groupe fini. Si de plus le groupe est abélien, alors la théorie de l'analyse harmonique sur un groupe abélien fini permet d'établir tous les résultats classiques du produit de convolution.
- En apprentissage profond, des opérateurs de convolution constituent les banques de filtres des réseaux neuronaux convolutifs pour la vision par ordinateur ou le traitement automatique du langage naturel.
Produit de convolution de mesures
Convolution de mesures sur la droite réelle
Par extension, on peut définir le produit de convolution de deux mesures sur <math>(\R,\mathcal B(\R)),</math> avec l'interprétation probabiliste suivante : lorsque les lois de probabilité Modèle:Math et Modèle:Math de deux variables aléatoires réelles indépendantes n'ont pas toutes les deux des densités par rapport à la mesure de Lebesgue, la loi de leur somme est le produit de convolution de Modèle:Math par Modèle:Math, noté Modèle:Math et défini, pour toute partie borélienne Modèle:Mvar de <math>\R,</math> par
- <math> \mu\ast\nu(A)=\int_{\R^2}\ 1_A(x+y)\, \mu(\mathrm dx)\,\nu(\mathrm dy).</math>
L'intégrale d'une fonction θ par rapport à la mesure Modèle:Math est donnée par
- <math> \int_{\R}\ \theta(s)\, (\mu\ast\nu)(\mathrm ds)\ =\ \int_{\R^2}\ \theta(x+y)\, \mu(\mathrm dx)\,\nu(\mathrm dy).</math>
Le produit de convolution Modèle:Math est la mesure image par la fonction φ, définie sur <math>\R^2</math> par Modèle:Math, de la mesure produit Modèle:Math. En particulier, si Modèle:Math et Modèle:Math ont toutes les deux des densités, respectivement Modèle:Mvar et Modèle:Mvar, par rapport à la mesure de Lebesgue, alors Modèle:Math a aussi une densité par rapport à la mesure de Lebesgue, et une de ses densités est Modèle:Math.
Convolution de mesures sur un groupe commutatif
Cette définition du produit de convolution peut être étendue à un groupe topologique commutatif Modèle:Math muni de sa tribu borélienne, de manière immédiate : pour toute partie borélienne Modèle:Mvar de Modèle:Mvar,
- <math> \mu\ast\nu(A)=\int_{G^2}\ 1_A(x\oplus y)\, \mu(\mathrm dx)\,\nu(\mathrm dy).</math>
L'intégrale d'une fonction θ par rapport à la mesure Modèle:Math est donnée par
- <math> \int_G\ \theta(s)\, (\mu\ast\nu)(\mathrm ds)\ =\ \int_{G^2}\ \theta(x\oplus y)\, \mu(\mathrm dx)\,\nu(\mathrm dy).</math>
La notion de mesure de Haar du groupe Modèle:Mvar s'écrit alors en termes de produit de convolution : Modèle:Math est une mesure de Haar de Modèle:Mvar si et seulement si, pour tout élément Modèle:Mvar de Modèle:Mvar,
- <math> \delta_g\ast\mu=\mu.</math>
Si le groupe n'est pas commutatif, on peut quand même définir un produit de convolution en précisant convolution à gauche ou à droite.
Plus généralement, on peut définir un produit de convolution pour une action de groupe. Soit Modèle:Mvar un groupe mesurable agissant sur un espace mesurable K, d'action notée . et soient Modèle:Math une mesure sur Modèle:Mvar et Modèle:Math une mesure sur K. On définit le produit de convolution par la formule
- <math>\mu * \nu (A)=\int_K\int_G\mathsf1_A(g.x)\,\mu(\mathrm dg)\,\nu(\mathrm dx) </math> où A est une partie mesurable de K.
C'est une mesure sur K. Si K = G et si l'action est la multiplication (ou la multiplication à gauche ou à droite si le groupe n'est pas commutatif), alors on retrouve le produit de convolution sur les groupes décrit plus haut.
Approche vulgarisée
Convolution avec un dirac
La manière la plus simple de représenter le produit de convolution consiste à considérer la fonction δ de Dirac Modèle:Math ; cette « fonction » vaut 0 si x ≠ a et son intégrale vaut 1. Ceci peut paraître contre-intuitif, mais on peut l'imaginer comme la limite d'une suite de fonctions, des courbes en cloche ou des rectangles ayant toutes la même surface 1, mais de plus en plus fines (donc de plus en plus hautes) ; lorsque la largeur des courbes tend vers 0, sa hauteur tend vers +∞, mais la surface reste égale à 1. Pour des raisons pratiques, on représente souvent le dirac comme un bâton placé en Modèle:Mvar et de hauteur 1.
Le produit de convolution par un dirac Modèle:Math correspond à une translation de la fonction initiale d'une valeur de Modèle:Mvar
- <math>f \ast \delta_a(x) = f(x-a)</math>
produit de convolution d'une fonction par un dirac
Produit de convolution d'une fonction par le dirac en a
En particulier pour a = 0, on voit que δ0 laisse invariante la fonction <math>f</math> : <math>f\ast\delta_0(x) = f(x-0)</math>. Ainsi δ0 est l'élément neutre du produit de convolution
Convolution avec une somme pondérée de deux diracs
Si l'on considère maintenant le produit de convolution par une somme pondérée de deux diracs (Modèle:Math), on obtient la superposition de deux courbes translatées.
produit de convolution d'une fonction par une somme pondérée de deux diracs
Produit de convolution d'une fonction par une somme pondérée de deux diracs
Convolution avec une fonction porte
Considérons maintenant une fonction porte Pa,b ; c'est une fonction qui vaut 1/(b-a) entre a et b, et 0 ailleurs (son intégrale vaut 1). Cette fonction peut être vue comme une succession de diracs. La convolution de Modèle:Mvar par Pa,b va donc s'obtenir en faisant glisser Modèle:Mvar sur l'intervalle [a;b]. On obtient un « élargissement » de Modèle:Mvar.
produit de convolution d'une fonction par une fonction porte
Produit de convolution d'une fonction par une fonction porte
Si l'on considère maintenant une fonction quelconque Modèle:Mvar, on peut voir Modèle:Mvar comme une succession de diracs pondérés par la valeur de Modèle:Mvar au point considéré. Le produit de convolution de Modèle:Mvar par Modèle:Mvar s'obtient donc en faisant glisser la fonction Modèle:Mvar et en la dilatant selon la valeur de Modèle:Mvar.
produit de convolution d'une fonction par une fonction quelconque
Produit de convolution d'une fonction par une fonction quelconque
Le produit de convolution et le filtrage
Le produit de convolution est lié à la notion de filtrage sous deux conditions, à savoir la linéarité et l'indépendance du filtre vis-à-vis du temps (système invariant). À partir de ces deux conditions, l'opérateur de convolution peut être construit. La convolution correspond à la réponse du filtre à une entrée donnée (notée Modèle:Math ). Le filtre est entièrement caractérisé par sa réponse impulsionnelle Modèle:Math. Mise en équation, la réponse du filtre est Modèle:Math.
La construction de l'opérateur de convolution s'élabore de la manière suivante. Tout d'abord, on s'intéresse aux deux conditions imposées sur le filtre. On note Modèle:Math le filtrage réalisé par le filtre sur l'entrée Modèle:Var. La linéarité du filtre implique que :
- <math>f(\lambda e)=\lambda f(e)</math>
- <math>f(e_1+e_2)=f(e_1)+f(e_2)</math>
On peut noter que la réponse du filtre à un signal nul est nulle. L'indépendance du temps se résume par :
- <math>f(e^d) = (f(e))^d</math>
où Modèle:Mvar est le signal Modèle:Mvar retardé de la quantité Modèle:Mvar.
À partir de là, on peut construire la réponse du filtre linéaire et indépendant du temps à l'entrée Modèle:Math . En effet, comme le filtre est linéaire, on peut décomposer le signal Modèle:Math en parties indépendantes, à l'aide d'un ensemble de signaux Modèle:Mvar avec des supports disjoints compacts de telle sorte que <math>e(t) = \Sigma_i e_i(t)</math>. On injecte chaque partie du signal dans le filtre puis l'on somme les différentes réponses. Ainsi le filtrage donnera : <math>f(e) = \Sigma_i f(e_i)</math>. Cette décomposition temporelle de Modèle:Math peut s'effectuer de manière récursive sur les signaux Modèle:Math. À la fin, on obtient une suite de signaux dont le support se résume à un point. Ces signaux, élémentaires parce que non décomposables temporellement, correspondent chacun d'entre eux à la distribution de Dirac Modèle:Math centrée en Modèle:Math avec une amplitude Modèle:Math, l'impulsion s'écrit Modèle:Math. Il suffit de sommer toutes les impulsions suivant la variable Modèle:Math pour obtenir le signal Modèle:Math :
- <math>e(t)=\int \delta(t-\tau)e(\tau) \,\mathrm d\tau</math>
On applique l'opération de filtrage sur Modèle:Math . Comme le filtre est linéaire et indépendant du temps, nous avons :
- <math>\begin{align}f(e)&=\int f(\delta(t-\tau)e(\tau))\,\mathrm d\tau\\
&=\int e(\tau)f(\delta(t-\tau))\,\mathrm d\tau&\text{(linéarité)}\\ &=\int e(\tau)(f\circ\delta)(t-\tau)\,\mathrm d\tau&\text{(indépendance du temps).}\end{align}</math>
La réponse du filtre Modèle:Mvar à l'impulsion Modèle:Math est nommée la réponse impulsionnelle du filtre Modèle:Math. Finalement on a :
- <math>f(e) = \int e(\tau)h(t-\tau) \,\mathrm d\tau</math>
qui n'est autre que le produit de convolution.
En conclusion : si le filtre est linéaire et indépendant du temps, alors il est entièrement caractérisé par sa réponse Modèle:Math et la réponse du filtre à l'entrée Modèle:Math est donnée par l'opérateur de convolution.
Autre conclusion fondamentale des filtres linéaires et indépendants du temps : si l'on entre un signal Modèle:Math, le signal de sortie sera :
- <math>\begin{align}s(t)&=\int\mathrm e^{2\pi\jmath f\tau}h(t-\tau)\,\mathrm d\tau\\
&=\int\mathrm e^{2\pi\jmath f(t-\tau)}h(\tau)\,\mathrm d\tau\\ &=\mathrm e^{2\pi\jmath ft}\int\mathrm e^{-2\pi\jmath f\tau}h(\tau)\,\mathrm d\tau\\ &=\mathrm e^{2\pi\jmath ft}H(f).\end{align}</math>
Le signal Modèle:Math sera aussi un signal de la forme Modèle:Math au facteur Modèle:Math près. Ce facteur n'est autre que la transformée de Fourier de Modèle:Math.
Notes et références
Voir aussi
Articles connexes
- Approximation de l'unité
- Convolution de Dirichlet
- Déconvolution
- Dualité de Pontriaguine
- Fenêtrage
- Intégrale paramétrique
Bibliographie
Liens externes
- {{#invoke:Langue|indicationDeLangue}} Animation de la Johns Hopkins University qui explique la convolution de façon graphique
- Viva la Convolution : application de la convolution à l'acoustique