La différence entre la convolution et la corrélation croisée du point de vue de lanalyse du signal
On février 12, 2021 by adminJessaie de comprendre la différence entre la convolution et la corrélation croisée. Jai lu une réponse Cette comprise. Je comprends aussi limage ci-dessous.
Mais, en termes de traitement du signal, (un domaine que je connais peu ..), étant donné deux signaux (ou peut-être un signal et un filtre?), Quand allons-nous utiliser la convolution et quand allons-nous préfère utiliser la corrélation croisée, je veux dire, quand, dans la vraie vie, nous préférerons la convolution, et quand, la corrélation croisée.
Il semble que ces deux termes soient très utiles, alors, quest-ce que cest utiliser?
* La corrélation croisée ici devrait lire g*f
au lieu de f*g
Réponse
Dans le traitement du signal, deux problèmes sont courants:
-
Quelle est la sortie de ce filtre lorsque son entrée est $ x (t) $? La réponse est donnée par $ x (t) \ ast h (t) $, où $ h (t) $ est un signal appelé « réponse impulsionnelle » du filtre, et $ \ ast $ est lopération de convolution.
-
Étant donné un signal bruyant $ y (t) $, le signal $ x (t) $ est-il en quelque sorte présent dans $ y (t) $? En dautres termes, $ y (t) $ est-il de la forme $ x (t) + n (t) $, où $ n (t) $ est du bruit? La réponse peut être trouvée par la corrélation de $ y (t) $ et $ x (t) $. Si la corrélation est grande pour un délai donné $ \ tau $, alors nous pouvons être sûrs de dire que la réponse est oui.
Notez que lorsque les signaux impliqués sont symétrique, convolution et corrélation croisée deviennent la même opération; ce cas est également très courant dans certaines zones de DSP.
Commentaires
- Compris. Merci beaucoup pour votre réponse claire et brillante!
- Ce que jaime dans lexplication de la réponse impulsionnelle, cest que vous comprenez vraiment pourquoi la convolution est » inversée « . En termes discrets, la sortie de courant est la réponse impulsionnelle dentrée de courant x au temps 0 + sortie résiduelle des réponses impulsionnelles des entrées précédentes (entrée a n-1 * impulsion 1 + entrée n-2 * impulsion 2 et ainsi de suite).
- @ Jean-FredericPLANTE oui, que ‘ est un bon moyen de lexpliquer.
- Cette réponse avec le commentaire de @ Jean-FredericPLANTE le rend plus sensible.
Réponse
Les deux termes convolution et les corrélations croisées sont implémentées de manière très similaire dans DSP.
Celui que vous utilisez dépend de lapplication.
Si vous effectuez une opération de filtrage linéaire, invariant dans le temps, vous convolvez le signal avec limpulsion du système réponse.
Si vous « mesurez la similitude » entre deux signaux, alors vous les intercalez .
Les deux termes se rejoignent lorsque vous essayez produire un filtre correspondant .
Ici, vous essayez de décider si un signal donné, $ s [n] $ contient une « impulsion » (signal) connue, $ p [n] $. Une façon de faire est de convoluer le signal donné, $ s $ avec linversion temporelle de limpulsion connue, $ p $: vous utilisez maintenant la convolution pour effectuer la corrélation croisée du signal donné avec limpulsion connue.
Une note complémentaire
Le terme « corrélation croisée » est (pour certains) mal utilisée dans le domaine du DSP.
Pour les statisticiens, une corrélation est une valeur qui mesure la proximité de deux variables et devrait être comprise entre $ -1 $ et $ + 1 $.
Comme vous pouvez le voir dans lentrée Wikipedia sur la corrélation croisée , la version DSP est utilisée et ils indiquent:
La corrélation croisée est une mesure de la similitude de deux séries en fonction du décalage de lune par rapport à lautre.
Le problème avec la définition du DSP: $$ \ sum _ {\ forall m} x [n] y [n + m] $$ est que cette mesure de « similarité » dépend de lénergie de chaque signal.
Commentaires
- Ceci est extrêmement utile pour moi. Merci!
Réponse
@MathBgu Jai lu toutes les réponses données ci-dessus, toutes sont très informatives une chose Je veux ajouter pour votre meilleure compréhension, en considérant la formule de convolution comme suit
$$ f (x) * g (x) = \ int \ limits_ {- \ infty} ^ {\ infty} f (\ tau) g (x- \ tau) \, d \ tau $$
et pour la corrélation croisée
$$ (f \ star g) (t) \ stackrel {\ text {def}} {=} \ int \ limits _ {- \ infty} ^ {\ infty} f ^ * (\ tau) g (t + \ tau) \, d \ tau, $$
nous en arrivons à savoir que, en termes déquation, la seule différence est que, en convolution, avant de faire produit scalaire glissant, nous inversons le signal sur laxe y i.e nous changeons $ (t) $ en $ (- t) $ , alors que la corrélation croisée est juste le produit scalaire glissant de deux signaux.
Nous utilisons la convolution pour obtenir la sortie / résultat dun système qui a deux blocs / signaux et ils sont directement côte à côte (en série) dans le domaine temporel.
Commentaires
- Merci de mentionner ce point supplémentaire de clarification!
- Est-ce que * dans f * implique un conjugué complexe? Au lieu de » sur laxe des y « , considérez » inverser laxe du temps « , parce que le retournement donne limpression que quelque chose de vertical se passe, esp. lors de la mention de laxe des y.
Réponse
Dans le traitement du signal, la convolution est effectuée pour obtenir la sortie dun système LTI. La corrélation (auto, ou corrélation croisée) est généralement calculée pour être utilisée plus tard pour effectuer dautres calculs
Vous devez faire attention à ne pas confondre corrélation, covariance et coefficient de corrélation. La corrélation ne doit pas nécessairement être comprise entre -1 et 1. Le coefficient de corrélation ( https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient ) se situe entre – 1 et 1 car il est mis à léchelle par les deux variances aléatoires. La chose dont nous devons nous souvenir est que lopération réelle à effectuer dans le traitement statistique du signal pour analyser la relation entre deux variables aléatoires est la «covariance», et non la corrélation. Mais pour la plupart des applications où un signal est capturé par un capteur et transformé en tension et numérisé avec un CAN, vous pouvez supposer que le signal est une moyenne nulle, donc la corrélation est égale à la covariance.
Commentaires
- Je vais jeter un œil sur ce lien. Merci!
Réponse
Il y a beaucoup de subtilité entre les significations de convolution et de corrélation. Les deux appartiennent à lidée plus large des produits internes et des projections en algèbre linéaire, cest-à-dire projetant un vecteur sur un autre pour déterminer à quel point il est « fort » en direction de ce dernier.
Cette idée sétend au domaine des réseaux de neurones, où nous projetons un échantillon de données sur chaque ligne dune matrice, pour déterminer dans quelle mesure il « sadapte » à cette ligne. Chaque ligne représente une certaine classe dobjets. Par exemple, chaque ligne pourrait classer une lettre dans lalphabet pour la reconnaissance de lécriture manuscrite. Il est courant de désigner chaque ligne comme un neurone, mais cela peut également être appelé un filtre correspondant.
En substance, nous mesurons la similitude de deux choses ou essayons de trouver une caractéristique spécifique dans quelque chose, par exemple un signal ou une image. Par exemple, lorsque vous convollez un signal avec un filtre passe-bande, vous essayez de savoir quel contenu il contient dans cette bande. Lorsque vous corrélez un signal avec une sinusoïde, par exemple le DFT, vous recherchez la force du la fréquence de la sinusoïde dans le signal. Notez que dans ce dernier cas, la corrélation ne glisse pas, mais vous «corrélez» toujours deux choses. Vous utilisez un produit interne pour projeter le signal sur la sinusoïde.
Alors, quelle est la différence? Eh bien, considérez quavec la convolution le signal est inversé par rapport au filtre. Avec un signal variant dans le temps, cela a pour effet que les données sont corrélées dans le pour quelle entre dans le filtre. Pour un instant, définissons la corrélation simplement comme un produit scalaire, cest-à-dire projetant une chose sur une autre. Ainsi, au début, nous « re corrélons la première partie du signal avec la première partie du filtre. Au fur et à mesure que le signal continue à travers le filtre, la corrélation devient plus complète. Notez que chaque élément du signal est seulement multiplié par le élément du filtre quil « touche » à ce moment-là.
Donc, avec la convolution, nous « corrélons dans un sens, mais nous » essayons également de préserver lordre dans le temps dans lequel les changements se produisent lorsque le signal interagit avec le système. Si le filtre est symétrique, cependant, comme cest souvent le cas, cela na pas vraiment dimportance. La convolution et la corrélation donneront les mêmes résultats.
Avec la corrélation, nous comparons simplement deux signaux et nessayons pas pour conserver un ordre des événements. Pour les comparer, nous voulons quils soient tournés dans le même sens, cest-à-dire quils salignent. Nous glissons un signal sur lautre afin de pouvoir tester leur similitude dans chaque fenêtre temporelle, au cas où ils seraient « déphasés lun par rapport à lautre » ou si nous recherchions un signal plus petit dans un plus grand.
En traitement dimage, les choses sont un peu différentes. Nous ne nous soucions pas du temps. Cependant, la convolution a encore quelques propriétés mathématiques utiles . Cependant, si vous essayez de faire correspondre des parties dune image plus grande à une plus petit (filtrage correspondant par exemple), vous ne voudrez pas le retourner parce qualors les fonctionnalités ne seront pas alignées. À moins, bien sûr, que le filtre ne soit symétrique.Dans le traitement dimage, la corrélation et la convolution sont parfois utilisées de manière interchangeable, en particulier avec les réseaux neuronaux . De toute évidence, le temps est toujours pertinent si limage est une représentation abstraite de données à 2 dimensions, où une dimension est le temps – par ex. spectrogramme.
Donc, en résumé, la corrélation et la convolution sont des produits internes glissants, utilisés pour projeter une chose sur une autre car ils varient dans lespace ou le temps. La convolution est utilisée lorsque lordre est important et est généralement utilisée pour transformer les données. La corrélation est généralement utilisée pour trouver une chose plus petite à lintérieur dune chose plus grande, cest-à-dire pour correspondre. Si au moins lune des deux « choses » est symétrique, alors peu importe ce que vous utilisez.
Réponse
Gardez le traitement du signal de côté, si vous essayez juste de comprendre ce qui se passe dans la convolution et la corrélation, les deux sont des opérations très similaires.La seule différence est dans la convolution, lune des variables est inversée (retournée) avant deffectuer laccumulation du produit. Voyez que je nutilise le mot signal nulle part ci-dessus. Je ne parle que des opérations effectuées.
Passons maintenant au traitement du signal.
Lopération de convolution est utilisée pour calculer la sortie dun système invariant dans le temps linéaire (système LTI) étant donné un singal dentrée ( x ) et réponse impulsionnelle du système ( h ). Pour comprendre pourquoi seule lopération de convolution est utilisée pour obtenir la sortie dun système LTI , il y a une grande dérivation. Veuillez trouver la dérivation ici.
http://www.rctn.org/bruno/npb163/lti-conv/lti-convolution.html
Lopération de corrélation est utilisée pour trouver la similitude entre les deux signaux x et y. Plus la valeur de la corrélation est élevée, plus la similitude entre les deux signaux est importante.
Comprenez la différence ici,
-
Convolution -> entre le signal et un système (filtre)
-
Corrélation -> entre deux signaux
Donc, du point de vue de lanalyse du signal, lopération de convolution nest pas utilisée . Seule la corrélation est utilisée du point de vue de lanalyse du signal. Alors que la convolution est utilisée du point de vue de lanalyse du système.
La meilleure façon de comprendre les opérations de convolution et de corrélation est de comprendre ce qui se passe lorsque deux convolution et corrélation sont effectuées entre deux variables continues comme indiqué dans les diagrammes de la question.
Laisser un commentaire