Jaka jest różnica między splotem a korelacją krzyżową?

47

W wielu witrynach zauważyłem, że splot i korelacja krzyżowa są podobne (w tym tag wiki wiki dla splotu), ale nigdzie nie znalazłem, jak się różnią.

Jaka jest różnica między nimi? Czy możesz powiedzieć, że autokorelacja jest również rodzajem splotu?

Mina
źródło
2
Warto zauważyć, że w przypadku parzystych, rzeczywistych funkcji korelacja krzyżowa i splot dają ten sam wynik.
2
Jedna wykorzystuje gwiazdę 5-ramienną ★, a druga używa gwiazdy 6-ramiennej ✶.
endolith

Odpowiedzi:

41

Jedyną różnicą między korelacją krzyżową a splotem jest odwrócenie czasu na jednym z danych wejściowych. Dyskretna splot i korelacja krzyżowa są zdefiniowane następująco (dla sygnałów rzeczywistych; zaniedbałem koniugaty potrzebne, gdy sygnały są złożone):

x[n]h[n]=k=0h[k]x[nk]

corr(x[n],h[n])=k=0h[k]x[n+k]

Oznacza to, że można zastosować algorytmy szybkiego splotu, takie jak nakładanie-zapisywanie, w celu wydajnego wdrożenia korelacji krzyżowej; najpierw odwróć jeden z sygnałów wejściowych. Autokorelacja jest identyczna z powyższą, z wyjątkiem , więc możesz postrzegać ją jako powiązaną ze splotem w ten sam sposób.h[n]=x[n]

Edycja: Ponieważ ktoś inny właśnie zadał duplikat pytania, zainspirowałem się do dodania jeszcze jednej informacji: jeśli zaimplementujesz korelację w dziedzinie częstotliwości za pomocą algorytmu szybkiego konwolucji, takiego jak zapisywanie nakładania się, możesz uniknąć kłopotów związanych z czasem- najpierw odwrócenie jednego z sygnałów przez sprzężenie jednego z sygnałów w dziedzinie częstotliwości. Można wykazać, że koniugacja w dziedzinie częstotliwości jest równoważna odwróceniu w dziedzinie czasu.

Jason R.
źródło
12
Ta odpowiedź jest dobra dla prawdziwych sygnałów, ale Jason przywołał sygnały o złożonej wartości, w którym to przypadku należy zauważyć, że nie do końca jest tak, że „jedyną różnicą jest ... odwrócenie czasu ...” Rzeczywiście, złożone koniugaty są potrzebne na jednym z dwóch sygnałów we wzorze korelacji (który jest sprzężony jest kwestią konwencji - niektórzy mówią, że ma się, a niektórzy mówią, że mah - ale oba nazywają owoc warzywem). Z drugiej strony żaden sygnał nie jest sprzężony we wzorze splotu.
Dilip Sarwate,
1
ale co to znaczy, że są tak podobne? Używając głębokich intuicyjnych słów!
Diego
Nie rozumiem, jak to odwraca, zamiast przesuwać w przeciwnym kierunku niż to, co jest przydatne?
Jonathan.
@ Jonathan .: Odwrócenie następuje, ponieważ indeks czasowy wewnątrz sumowania jest zanegowany w przypadku korelacji versus splot. Jeśli wypracujesz matematykę dla przykładowego sygnału, zobaczysz efekt. k
Jason R
@JasonR, to z pewnością powoduje przesunięcie w przeciwnym kierunku? Próbowałem to wypracować i wszystko, co się dzieje, to wejście x przesuwa się od wejścia h i wszystko kończy się na zero. jsfiddle.net/ua5d1uo2
Jonathan.
12

Dla ciągłego splotu i ciągłej korelacji krzyżowej Łatwo wykazać, że korelacja krzyżowa operator jest sprzężony z operatorem operatora splotu .

[Hf](x)f(x)h(x)dxh(xx)f(x)
G H
[Gf](x)f(x)h(x)dxh(xx)f(x)
GH

Ponadto operacja splotu jest przemienna podczas gdy korelacja krzyżowa nie ma takiej właściwości.

f(x)h(x)=h(x)f(x),

chaohuang
źródło
5

Jako student byłem zaangażowany w ten sam problem co ty. Pozwól, że wyjaśnię ci najprostsze słowa bez matematyki.

Konwolucja: służy do splotu dwóch funkcji. Może zabrzmi to zbędnie, ale podam przykład: chcesz zwołać (w matematycznym znaczeniu, aby „połączyć”) komórkę elementarną (która może zawierać wszystko, co chcesz: białko, obraz itp.) I strukturę sieci. W wyniku tego ta komórka jednostkowa jest zorganizowana w każdym punkcie sieci, tworząc zorganizowaną powtarzalną strukturę komórki jednostkowej.

Korelacja krzyżowa: służy do identyfikacji komórki wewnątrz struktury. Na przykład masz obraz małego kawałka miasta i obraz całego miasta. Dzięki korelacji krzyżowej możesz określić, gdzie znajduje się ten mały obraz w całym obrazie miasta. Mówiąc prościej, „skanuje”, aż znajdzie dopasowanie. Teraz sposób polega na znalezieniu współczynnika korelacji krzyżowej, który pochodzi z sumy różnych wielokrotności wartości pochodzącej z każdego obrazu.

To bardzo proste. Jeśli chcesz lepiej zrozumieć matematykę w przyjazny sposób, obejrzyj ten film. Ten profesor z CALTECH wyjaśnia to w najlepszy sposób, jaki kiedykolwiek widziałem.

https://www.youtube.com/watch?v=MQm6ZP1F6ms

Powodzenia.

Andres
źródło
2

Oto wizualizacja tych dwóch na wypadek, gdyby pomogło to intuicyjnie:

http://www.youtube.com/watch?v=Ma0YONjMZLI

użytkownik2084538
źródło
3
Jest to bardzo źle dobrana ilustracja różnicy między dwiema operacjami, ponieważ pozostawia wrażenie, że wynik korelacji krzyżowej jest odwrotnością czasową wyniku splotu.
Dilip Sarwate,