Produit de convolution

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}

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é).

Fichier:Convolucion Funcion Pi.gif
Convolution d'une fonction porte par elle-même.

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>}}

&= \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>.

&= \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>,

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).

Modèle:Démonstration

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.

Modèle:Démonstration

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 :

Modè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

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

Fichier:Dirac fonction.png
Dirac : limite d'une suite de fonctions.

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 xa 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>

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

Modèle:Références


Voir aussi

Modèle:Autres projets

Articles connexes

Bibliographie

Modèle:Ouvrage

Liens externes

Modèle:Palette Modèle:Portail