Różnica między splotem a korelacją krzyżową z punktu widzenia analizy sygnałów
On 12 lutego, 2021 by adminPróbuję zrozumieć różnicę między splotem a korelacją krzyżową. Przeczytałem zrozumiałą tę odpowiedź. Rozumiem również poniższe zdjęcie.
Ale jeśli chodzi o przetwarzanie sygnału (dziedzina, o której niewiele wiem …), Biorąc pod uwagę dwa sygnały (a może sygnał i filtr?), Kiedy użyjemy splotu, a kiedy będziemy wolę używać korelacji krzyżowej, mam na myśli, kiedy w prawdziwym życiu będziemy preferować splot, a kiedy, korelację krzyżową.
Wygląda na to, że te dwa terminy mają wiele zastosowań, więc co to jest używać?
* Korelacja krzyżowa tutaj należy przeczytać g*f
zamiast f*g
Odpowiedź
W przetwarzaniu sygnału występują dwa problemy:
-
Jaki jest wynik działania tego filtra, gdy jego wejście to $ x (t) $? Odpowiedź daje $ x (t) \ ast h (t) $, gdzie $ h (t) $ jest sygnałem zwanym „odpowiedzią impulsową” filtru, a $ \ ast $ jest operacją splotu.
-
Biorąc pod uwagę szumy sygnał $ y (t) $, czy sygnał $ x (t) $ jest w jakiś sposób obecny w $ y (t) $? Innymi słowy, czy $ y (t) $ ma postać $ x (t) + n (t) $, gdzie $ n (t) $ to szum? Odpowiedź można znaleźć na podstawie korelacji $ y (t) $ i $ x (t) $. Jeśli korelacja jest duża dla danego opóźnienia czasowego $ \ tau $, to możemy być pewni, że odpowiedź brzmi tak.
Zwróć uwagę, że gdy zaangażowane sygnały są symetria, splot i korelacja krzyżowa stają się tą samą operacją; ten przypadek jest również bardzo powszechny w niektórych obszarach DSP.
Komentarze
- Rozumiem. Bardzo dziękuję za jasną i jasną odpowiedź!
- W wyjaśnieniu odpowiedzi impulsowej podoba mi się to, że naprawdę wiesz, dlaczego splot jest ” odwrócony „. W kategoriach dyskretnych, wyjście prądowe to wejście prądowe x odpowiedź impulsowa w czasie 0 + wyjście resztkowe z odpowiedzi impulsowych poprzednich wejść (wejście n-1 * impuls 1 + wejście n-2 * impuls 2 itd.).
- @ Jean-FredericPLANTE tak, to ' to dobry sposób na wyjaśnienie.
- Ta odpowiedź z komentarzem @ Jean-FredericPLANTE czyni ją bardziej sensowną.
Odpowiedź
Dwa terminy splot i korelacja krzyżowa są zaimplementowane w bardzo podobny sposób w DSP.
To, którego użyjesz, zależy od aplikacji.
Jeśli wykonujesz liniową, niezmienną w czasie operację filtrowania, splatasz sygnał z impulsem systemu
Jeśli mierzysz podobieństwo między dwoma sygnałami, to korelujesz je krzyżowo .
Te dwa terminy łączą się, gdy próbujesz produkować dopasowany filtr .
Tutaj próbujesz zdecydować, czy dany sygnał, $ s [n] $, zawiera znany „impuls” (sygnał), $ p [n] $. Jednym ze sposobów jest splatanie danego sygnału, $ s $ z odwróceniem czasu znanego impulsu, $ p $: teraz używasz splotu do wykonania korelacji krzyżowej danego sygnału ze znanym impulsem.
Uwaga dodatkowa
Termin „korelacja krzyżowa” jest (dla niektórych) nadużywany w dziedzinie DSP.
Dla statystyków korelacja to wartość, która mierzy, jak blisko są dwie zmienne i powinna wynosić od -1 $ do $ + 1 $.
Jak widać z wpisu Wikipedii na temat korelacji krzyżowej , używana jest wersja DSP i podaje ona:
korelacja krzyżowa to miara podobieństwa dwóch szeregów jako funkcja opóźnienia jednej względem drugiej.
Problem z definicją DSP: $$ \ sum _ {\ forall m} x [n] y [n + m] $$ polega na tym, że miara „podobieństwa” zależy od energii każdego sygnału.
Komentarze
- Jest to dla mnie niezwykle pomocne. Dziękuję!
Odpowiedź
@MathBgu Przeczytałem wszystkie powyższe odpowiedzi, wszystkie są bardzo pouczające. Dla lepszego zrozumienia dla lepszego zrozumienia chcę dodać następującą formułę splotu
$$ f (x) * g (x) = \ int \ limits_ {- \ infty} ^ {\ infty} f (\ tau) g (x- \ tau) \, d \ tau $$
i dla korelacji krzyżowej
$$ (f \ star g) (t) \ stackrel {\ text {def}} {=} \ int \ limits _ {- \ infty} ^ {\ infty} f ^ * (\ tau) g (t + \ tau) \, d \ tau, $$
dowiadujemy się, że pod względem równania jedyną różnicą jest to, że w splotach, przed wykonaniem przesuwny iloczyn skalarny odwracamy sygnał wzdłuż osi y i.e zmieniamy $ (t) $ na $ (- t) $ , podczas gdy korelacja krzyżowa to tylko przesuwny iloczyn skalarny dwóch sygnałów.
Używamy splotu, aby uzyskać wyjście / wynik systemu, który ma dwa bloki / sygnały i są one bezpośrednio obok siebie (szeregowo) w dziedzinie czasu.
Komentarze
- Dziękuję za wspomnienie o tym dodatkowym punkcie wyjaśniającym!
- Czy * in f * oznacza koniugat złożony? Zamiast ” wzdłuż osi Y „, rozważ ” odwróć oś czasu „, ponieważ flip sprawia wrażenie, że dzieje się coś pionowego, zwł. wspominając o osi y.
Odpowiedź
W przetwarzaniu sygnału, splot jest wykonywany w celu uzyskania wyniku systemu LTI. Korelacja (korelacja automatyczna lub korelacja krzyżowa) jest zwykle obliczana do późniejszego wykorzystania do wykonania innych obliczeń
Należy uważać, aby nie pomylić korelacji, kowariancji i współczynnika korelacji. Korelacja niekoniecznie musi wynosić od -1 do 1. Współczynnik korelacji ( https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient ) mieści się w przedziale – 1 i 1, ponieważ jest skalowany przez wariancje dwóch zmiennych losowych. Musimy pamiętać, że prawdziwą operacją, jaką należy wykonać w statystycznym przetwarzaniu sygnału, aby przeanalizować, jak powiązane są dwie zmienne losowe, jest „Kowariancja”, a nie korelacja. Jednak w przypadku większości zastosowań, w których sygnał jest wychwytywany przez czujnik i przekształcany w napięcie, a następnie przetwarzany na postać cyfrową za pomocą przetwornika ADC, można założyć, że sygnał ma średnią zero, stąd korelacja jest równa kowariancji.
Komentarze
- Rzucę okiem na ten link. Dziękuję!
Odpowiedź
Istnieje wiele subtelności między znaczeniami splotu i korelacji. Oba należą do szerszej koncepcji iloczynów wewnętrznych i rzutów w algebrze liniowej, tj. Rzutowania jednego wektora na inny w celu określenia, jak „silny” jest on w kierunku tego drugiego.
Ta idea rozciąga się na dziedzinę sieci neuronowych, gdzie rzutujemy próbkę danych na każdy wiersz macierzy, aby określić, jak dobrze pasuje ona do tego wiersza. Każdy wiersz reprezentuje określoną klasę obiektów. Na przykład każdy wiersz może klasyfikować literę alfabetu w celu rozpoznawania pisma ręcznego. Często zdarza się, że każdy wiersz odnosi się do neuronu, ale można go również nazwać filtrem dopasowanym.
W istocie „mierzymy podobieństwo dwóch rzeczy lub próbujemy znaleźć określoną cechę w czymś np sygnał lub obraz. Na przykład, kiedy konwertujesz sygnał z filtrem pasmowoprzepustowym, „próbujesz dowiedzieć się, jaka zawartość ma w tym paśmie. Kiedy korelujesz sygnał z sinusoidą, np. DFT,” szukasz siły częstotliwość sinusoidy w sygnale. Zauważ, że w tym drugim przypadku korelacja nie ślizga się, ale nadal „korelujesz” dwie rzeczy. Używasz iloczynu wewnętrznego do rzutowania sygnału na sinusoidę.
Zatem jaka jest różnica? Cóż, weźmy pod uwagę, że w przypadku splotu sygnał jest odwrócony w stosunku do filtra. W przypadku sygnału zmieniającego się w czasie ma to taki wpływ, że dane są skorelowane w Porządkujmy to wchodzi do filtra. Przez chwilę zdefiniujmy korelację po prostu jako iloczyn skalarny, czyli rzutowanie jednej rzeczy na drugą. Tak więc na początku korelujemy pierwszą część sygnału z pierwszą częścią filtra. W miarę jak sygnał przechodzi przez filtr, korelacja staje się pełniejsza. Należy zauważyć, że każdy element sygnału jest mnożony tylko przez element filtru „styka się” w tym momencie.
Zatem w przypadku splotu „w pewnym sensie korelujemy”, ale staramy się również zachować porządek w czasie, w którym zachodzą zmiany, gdy sygnał oddziałuje z systemem. Jeśli jednak filtr jest symetryczny, jak to często bywa, nie ma to znaczenia. Konwolucja i korelacja dadzą te same wyniki.
W przypadku korelacji porównujemy tylko dwa sygnały, a nie próbujemy aby zachować porządek wydarzeń. Aby je porównać, chcemy, aby były skierowane w tym samym kierunku, tj. Ustawiły się w jednej linii. Przesuwamy jeden sygnał nad drugim, abyśmy mogli przetestować ich podobieństwo w każdym oknie czasowym, na wypadek, gdyby „nie były ze sobą w fazie” lub szukaliśmy mniejszego sygnału w większym.
W przetwarzaniu obrazów sytuacja wygląda trochę inaczej. Nie przejmujemy się czasem. Konwolucja nadal ma jednak pewne przydatne właściwości matematyczne . Jeśli jednak „próbujesz dopasować części większego obrazu do mniejszy (tj. filtrowanie dopasowane), nie będziesz chciał go odwracać, ponieważ wtedy funkcje nie zostaną wyrównane. O ile oczywiście filtr nie jest symetryczny.W przetwarzaniu obrazu korelacja i splot są czasami używane zamiennie, szczególnie w przypadku sieci neuronowych . Oczywiście czas jest nadal istotny, jeśli obraz jest abstrakcyjną reprezentacją danych dwuwymiarowych, gdzie jeden wymiar to czas – np. spektrogram.
Podsumowując, zarówno korelacja, jak i splot są przesuwnymi iloczynami wewnętrznymi, używanymi do rzutowania jednej rzeczy na drugą, gdy zmieniają się w czasie lub przestrzeni. Konwolucja jest używana, gdy kolejność jest ważna, i jest zwykle używana do przekształcania danych. Korelacja jest zwykle używana do znalezienia mniejszej rzeczy w większej rzeczy, tj. Do dopasowania. Jeśli przynajmniej jedna z tych dwóch „rzeczy” jest symetryczna, to nie ma znaczenia, którego użyjesz.
Odpowiedź
Odłóż na bok przetwarzanie sygnału, jeśli po prostu spróbujesz zrozumieć, co dzieje się w konwolucji i korelacji, obie są bardzo podobnymi operacjami.Jedyna różnica polega na splataniu, jedna ze zmiennych jest odwracana (odwracana) przed wykonaniem akumulacji produktu. Zobacz, że nigdzie powyżej nie używam słowa signal . Mówię tylko o wykonanych operacjach.
A teraz przejdźmy do przetwarzania sygnałów.
Operacja splotu jest używana do obliczenia wyniku liniowego systemu niezmiennego w czasie (systemu LTI) z danym sygnałem wejściowym ( x ) i odpowiedź impulsowa systemu ( h ). Aby zrozumieć, dlaczego tylko operacja Convolution jest używana do uzyskania danych wyjściowych systemu LTI , istnieje duże pochodzenie. Tutaj znajdziesz wyprowadzenie.
http://www.rctn.org/bruno/npb163/lti-conv/lti-convolution.html
Operacja korelacji służy do znalezienia podobieństwa między dwoma sygnałami x i y. Im większa wartość korelacji, tym większe podobieństwo między dwoma sygnałami.
Zrozum tutaj różnicę,
-
Konwolucja -> pomiędzy sygnałem a systemem (filtrem)
-
Korelacja -> między dwoma sygnałami
Zatem z punktu widzenia analizy sygnału operacja splotu nie jest używana . Z punktu widzenia analizy sygnału używana jest tylko korelacja. Natomiast splot jest używany z punktu widzenia analizy systemowej.
Najlepszym sposobem zrozumienia operacji splotu i korelacji jest zrozumienie, co się dzieje, gdy dwa splot i korelacja są wykonywane między dwiema zmiennymi ciągłymi, jak pokazano na diagramach w pytaniu.
Dodaj komentarz