Der Unterschied zwischen Faltung und Kreuzkorrelation aus Sicht der Signalanalyse
On Februar 12, 2021 by adminIch versuche, den Unterschied zwischen Faltung und Kreuzkorrelation zu verstehen. Ich habe eine verstandene Diese Antwort gelesen. Ich verstehe auch das Bild unten.
Aber in Bezug auf die Signalverarbeitung (ein Feld, über das ich wenig weiß), wenn zwei Signale (oder vielleicht ein Signal und ein Filter?) gegeben sind, wann werden wir Faltung verwenden und wann werden wir Ich meine, lieber Kreuzkorrelation verwenden, wenn wir in der Analyse des wirklichen Lebens Faltung bevorzugen und wann Kreuzkorrelation.
Es scheint, dass diese beiden Begriffe viel Verwendung haben. Also, was ist das? Verwenden Sie?
* Die Kreuzkorrelation Hier sollte g*f
anstelle von f*g
Antwort
Bei der Signalverarbeitung treten häufig zwei Probleme auf:
-
Was ist die Ausgabe dieses Filters, wenn seine Eingabe $ x (t) $ ist? Die Antwort wird durch $ x (t) \ ast h (t) $ gegeben, wobei $ h (t) $ ein Signal ist, das als „Impulsantwort“ des Filters bezeichnet wird, und $ \ ast $ die Faltungsoperation ist.
-
Ist bei einem verrauschten Signal $ y (t) $ das Signal $ x (t) $ irgendwie in $ y (t) $ vorhanden? Mit anderen Worten, ist $ y (t) $ von der Form $ x (t) + n (t) $, wobei $ n (t) $ Rauschen ist? Die Antwort kann durch die Korrelation von $ y (t) $ und $ x (t) $ gefunden werden. Wenn die Korrelation für eine bestimmte Zeitverzögerung $ \ tau $ groß ist, können wir sicher sein, dass die Antwort Ja lautet.
Beachten Sie, dass es sich um Signale handelt Symmetrie, Faltung und Kreuzkorrelation werden zur gleichen Operation; Dieser Fall ist auch in einigen Bereichen von DSP sehr häufig.
Kommentare
- Verstanden. Vielen Dank für Ihre klare und klare Antwort!
- Was mir an der Erklärung der Impulsantwort gefällt, ist, dass Sie wirklich eine Vorstellung davon bekommen, warum die Faltung “ umgekehrt „. In diskreten Begriffen ist der Stromausgang die Stromeingabe x Impulsantwort zum Zeitpunkt 0 + Restausgang von vorherigen Eingangsimpulsantworten (Eingabe eines n-1 * Impuls 1 + Eingang n-2 * Impuls 2 usw.).
- @ Jean-FredericPLANTE Ja, dass ‚ eine gute Möglichkeit ist, dies zu erklären.
- Diese Antwort mit dem Kommentar @ Jean-FredericPLANTE macht es sinnvoller.
Antwort
Die beiden Begriffe Faltung und Kreuzkorrelation werden in DSP auf sehr ähnliche Weise implementiert. P. >
Welche Sie verwenden, hängt von der Anwendung ab.
Wenn Sie eine lineare, zeitinvariante Filteroperation ausführen, falten Sie das Signal mit dem Impuls des Systems Antwort.
Wenn Sie die Ähnlichkeit zwischen zwei Signalen „messen“, korrelieren Sie sie gegenseitig.
Die beiden Begriffe kommen zusammen, wenn Sie es versuchen produzieren ein übereinstimmender Filter .
Hier versuchen Sie zu entscheiden, ob ein gegebenes Signal $ s [n] $ einen bekannten „Impuls“ (Signal) $ p [n] $ enthält. Eine Möglichkeit, dies zu tun, besteht darin, das gegebene Signal $ s $ mit der Zeitumkehr des bekannten Impulses $ p $ zu falten: Sie verwenden jetzt die Faltung, um die Kreuzkorrelation des gegebenen Signals mit dem bekannten Impuls durchzuführen.
Eine Randnotiz
Der Begriff „Kreuzkorrelation“ wird (für einige) im Bereich DSP missbraucht.
Für Statistiker ist eine Korrelation ein Wert, der misst, wie nahe zwei Variablen sind und zwischen $ -1 $ und $ + 1 $ liegen sollte.
Wie Sie dem Wikipedia-Eintrag zur Kreuzkorrelation entnehmen können, wird die DSP-Version verwendet und es wird Folgendes angegeben:
Kreuzkorrelation ist ein Maß für die Ähnlichkeit zweier Reihen als Funktion der Verzögerung einer relativ zur anderen.
Das Problem mit der DSP-Definition: $$ \ sum _ {\ forall m} x [n] y [n + m] $$ ist, dass dieses „Ähnlichkeitsmaß“ von der Energie in jedem Signal abhängt.
Kommentare
- Das ist sehr hilfreich für mich. Vielen Dank!
Antwort
@MathBgu Ich habe alle oben angegebenen Antworten gelesen, alle sind sehr informativ Ich möchte zum besseren Verständnis hinzufügen, indem ich die Faltungsformel wie folgt betrachte:
$$ f (x) * g (x) = \ int \ border_ {- \ infty} ^ {\ infty} f (\ tau) g (x- \ tau) \, d \ tau $$
und für die Kreuzkorrelation
$$ (f \ star g) (t) \ stackrel {\ text {def}} {=} \ int \ limitiert _ {- \ infty} ^ {\ infty} f ^ * (\ tau) g (t + \ tau) \, d \ tau, $$
Wir wissen, dass der einzige Unterschied in Bezug auf die Gleichung darin besteht, dass in der Faltung, bevor wir dies tun Gleitendes Punktprodukt Wir drehen das Signal über die y-Achse i.e wir ändern $ (t) $ in $ (- t) $ , während die Kreuzkorrelation gerade ist das gleitende Punktprodukt zweier Signale.
Wir verwenden die Faltung, um die Ausgabe / das Ergebnis eines Systems zu erhalten, das zwei Blöcke / Signale hat und im Zeitbereich direkt nebeneinander (in Reihe) liegt.
Kommentare
- Vielen Dank, dass Sie diesen zusätzlichen Klärungspunkt erwähnt haben!
- Bedeutet das * in f * ein komplexes Konjugat? Anstelle von “ über die y-Achse “ sollten Sie “ die Zeitachse „, weil sich Flip so anfühlt, als ob etwas Vertikales passiert, insb. Wenn die y-Achse erwähnt wird.
Antwort
Bei der Signalverarbeitung wird die Faltung durchgeführt, um die Ausgabe zu erhalten eines LTI-Systems. Die Korrelation (Auto- oder Kreuzkorrelation) wird normalerweise berechnet, um später für andere Berechnungen verwendet zu werden.
Sie müssen darauf achten, Korrelation, Kovarianz und Korrelationskoeffizienten nicht zu verwechseln. Die Korrelation muss nicht unbedingt zwischen -1 und 1 liegen. Der Korrelationskoeffizient ( https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient ) liegt zwischen – 1 und 1, weil es durch die zwei Zufallsvariablenvarianzen skaliert wird. Wir müssen uns daran erinnern, dass die eigentliche Operation, die bei der statistischen Signalverarbeitung durchgeführt werden muss, um zu analysieren, wie verwandt zwei Zufallsvariablen sind, die „Kovarianz“ ist, nicht die Korrelation. Bei den meisten Anwendungen, bei denen ein Signal von einem Sensor erfasst und in eine Spannung umgewandelt und mit einem ADC digitalisiert wird, können Sie davon ausgehen, dass das Signal ein Mittelwert von Null ist, daher ist die Korrelation gleich der Kovarianz.
Kommentare
- Ich werde einen Blick in diesen Link werfen. Vielen Dank!
Antwort
Zwischen den Bedeutungen von Faltung und Korrelation besteht eine große Subtilität. Beide gehören zu der breiteren Idee innerer Produkte und Projektionen in der linearen Algebra, d. H. Projizieren eines Vektors auf einen anderen, um zu bestimmen, wie „stark“ er in Richtung des letzteren ist.
Diese Idee erstreckt sich auf das Gebiet der neuronalen Netze, in denen wir eine Datenprobe auf jede Zeile einer Matrix projizieren, um zu bestimmen, wie gut sie in diese Zeile „passt“. Jede Zeile repräsentiert eine bestimmte Klasse von Objekten. Beispielsweise könnte jede Zeile einen Buchstaben im Alphabet zur Handschrifterkennung klassifizieren. Es ist üblich, jede Zeile als Neuron zu bezeichnen, aber es kann auch als übereinstimmender Filter bezeichnet werden.
Im Wesentlichen messen wir, wie ähnlich zwei Dinge sind, oder versuchen, ein bestimmtes Merkmal zu finden in etwas, z ein Signal oder Bild. Wenn Sie beispielsweise ein Signal mit einem Bandpassfilter falten, versuchen Sie herauszufinden, welchen Inhalt es in diesem Band hat. Wenn Sie ein Signal mit einer Sinuskurve, z. B. der DFT, korrelieren, suchen Sie nach der Stärke des Sinusfrequenz im Signal. Beachten Sie, dass im letzteren Fall die Korrelation nicht gleitet, Sie aber immer noch zwei Dinge „korrelieren“. Sie verwenden ein inneres Produkt, um das Signal auf die Sinuskurve zu projizieren.
Also, was ist der Unterschied? Nun, bedenken Sie, dass bei der Faltung das Signal in Bezug auf das Filter rückwärts ist. Bei einem zeitlich variierenden Signal hat dies den Effekt, dass die Daten in der korreliert werden Damit es in den Filter gelangt. Definieren wir die Korrelation für einen Moment einfach als Punktprodukt, dh projizieren Sie eine Sache auf eine andere. Zu Beginn korrelieren wir also den ersten Teil des Signals mit dem ersten Teil des Filters. Wenn das Signal durch den Filter läuft, wird die Korrelation vollständiger. Beachten Sie, dass jedes Element im Signal nur mit dem multipliziert wird Element des Filters, das es zu diesem Zeitpunkt „berührt“.
Mit der Faltung korrelieren wir also in gewissem Sinne, aber wir versuchen auch, die zeitliche Reihenfolge beizubehalten, in der Änderungen auftreten, wenn das Signal mit dem System interagiert. Wenn der Filter jedoch wie so oft symmetrisch ist, spielt er keine Rolle. Faltung und Korrelation führen zu denselben Ergebnissen.
Bei der Korrelation vergleichen wir nur zwei Signale und versuchen es nicht eine Reihenfolge der Ereignisse zu bewahren. Um sie zu vergleichen, möchten wir, dass sie in die gleiche Richtung zeigen, d. H. Ausrichten. Wir schieben ein Signal über das andere, damit wir ihre Ähnlichkeit in jedem Zeitfenster testen können, falls sie „phasenverschoben“ sind oder wir nach einem kleineren Signal in einem größeren suchen.
Bei der Bildverarbeitung sieht es etwas anders aus. Die Zeit ist uns egal. Die Faltung hat jedoch immer noch einige nützliche mathematische Eigenschaften . Wenn Sie jedoch versuchen, Teile eines größeren Bildes mit einem zu vergleichen Bei einer kleineren (dh einer angepassten Filterung) möchten Sie sie nicht umdrehen, da dann die Funktionen nicht übereinstimmen. Es sei denn natürlich, der Filter ist symmetrisch.Bei der Bildverarbeitung werden Korrelation und Faltung manchmal synonym verwendet, insbesondere bei neuronalen Netzen . Offensichtlich ist die Zeit immer noch relevant, wenn das Bild eine abstrakte Darstellung zweidimensionaler Daten ist, wobei eine Dimension die Zeit ist – z. Spektrogramm.
Zusammenfassend sind also sowohl Korrelation als auch Faltung gleitende innere Produkte, mit denen eine Sache auf eine andere projiziert wird, da sie sich räumlich oder zeitlich unterscheiden. Faltung wird verwendet, wenn die Reihenfolge wichtig ist, und wird normalerweise zum Transformieren der Daten verwendet. Die Korrelation wird typischerweise verwendet, um ein kleineres Ding innerhalb eines größeren Dings zu finden, d. H. Um übereinzustimmen. Wenn mindestens eines der beiden „Dinge“ symmetrisch ist, spielt es keine Rolle, welches Sie verwenden.
Antwort
Lassen Sie die Signalverarbeitung beiseite. Wenn Sie nur versuchen zu verstehen, was in Faltung und Korrelation geschieht, sind beide Operationen sehr ähnlich. Der einzige Unterschied besteht in Faltung. Eine der Variablen wird invertiert (gespiegelt), bevor die Akkumulation des Produkts durchgeführt wird. Sehen Sie, dass ich das Wort Signal nirgendwo oben verwende. Ich spreche nur in Bezug auf die durchgeführten Operationen. P. >
Kommen wir nun zur Signalverarbeitung.
Die Faltungsoperation wird verwendet, um die Ausgabe eines linearen zeitinvarianten Systems (LTI-System) bei einem eingegebenen Singal ( x ) und Impulsantwort des Systems ( h ) Um zu verstehen, warum nur die Faltungsoperation verwendet wird, um die Ausgabe eines LTI-Systems zu erhalten gibt es große Ableitung. Die Ableitung finden Sie hier.
http://www.rctn.org/bruno/npb163/lti-conv/lti-convolution.html
Die Korrelationsoperation wird verwendet, um die Ähnlichkeit zu ermitteln zwischen den beiden Signalen x und y. Je höher der Wert der Korrelation, desto größer ist die Ähnlichkeit zwischen den beiden Signalen.
Verstehen Sie den Unterschied hier,
-
Faltung -> zwischen Signal und System (Filter)
-
Korrelation -> zwischen zwei Signalen
Aus Sicht der Signalanalyse wird die Faltungsoperation also nicht verwendet . Aus Sicht der Signalanalyse wird nur die Korrelation verwendet. Während die Faltung aus Sicht der Systemanalyse verwendet wird.
Der beste Weg, um die Operationen der Faltung und Korrelation zu verstehen, besteht darin, zu verstehen, was passiert, wenn zwei Faltungen und Korrelationen zwischen zwei kontinuierlichen Variablen durchgeführt werden, wie in den Diagrammen in der Frage gezeigt.
Schreibe einen Kommentar