Diferența dintre convoluție și corelație încrucișată din punct de vedere al analizei semnalului
On februarie 12, 2021 by adminÎncerc să înțeleg diferența dintre convoluție și corelație încrucișată. Am citit un răspuns înțeles Acest . Înțeleg și poza de mai jos.
Dar, în ceea ce privește procesarea semnalului, (un câmp despre care știu puțin ..), Având în vedere două semnale (sau poate un semnal și un filtru?), Când vom folosi convoluția și când vom prefer să folosim corelația încrucișată, adică, când în analiza vieții reale vom prefera convoluția și când, corelarea încrucișată.
Se pare că acești doi termeni au o mulțime de utilizare, deci, ce este asta utilizați?
* Corelarea încrucișată aici ar trebui să citiți g*f
în loc de f*g
Răspuns
În procesarea semnalului, două probleme sunt frecvente:
-
Care este ieșirea acestui filtru când intrarea sa este $ x (t) $? Răspunsul este dat de $ x (t) \ ast h (t) $, unde $ h (t) $ este un semnal numit „răspuns impuls” al filtrului, iar $ \ ast $ este operația de convoluție.
-
Având un semnal zgomotos $ y (t) $, este semnalul $ x (t) $ cumva prezent în $ y (t) $? Cu alte cuvinte, este $ y (t) $ de forma $ x (t) + n (t) $, unde $ n (t) $ este zgomot? Răspunsul poate fi găsit prin corelația $ y (t) $ și $ x (t) $. Dacă corelația este mare pentru o anumită întârziere $ \ tau $, atunci putem fi siguri că spunem că răspunsul este da.
Rețineți că atunci când semnalele implicate sunt simetric, convoluție și corelație încrucișată devin aceeași operație; acest caz este, de asemenea, foarte frecvent în unele domenii ale DSP.
Comentarii
- Am înțeles. Mulțumesc mult pentru răspunsul tău clar și luminos!
- ceea ce îmi place la explicația răspunsului la impuls este că ai cu adevărat o intuiție de ce convoluția este ” inversată „. În termeni discreți, ieșirea curentă este intrarea curentă x răspuns de impuls la momentul 0 + ieșire reziduală din răspunsurile de impuls de intrare anterioare (intrare a n-1 * impuls 1 + intrare n-2 * impuls 2 și așa mai departe).
- @ Jean-FredericPLANTE da, că ‘ este o modalitate bună de a-l explica.
- Acest răspuns cu comentariul @ Jean-FredericPLANTE îl face mai sensibil.
Răspuns
Cei doi termeni convoluție și corelație încrucișată sunt implementate într-un mod foarte similar în DSP.
Pe care îl utilizați depinde de aplicație.
Dacă efectuați o operație de filtrare liniară, invariantă în timp, convolți semnalul cu impulsul sistemului răspuns.
Dacă „măsurați similitudinea” dintre două semnale, atunci le corelați pe acestea.
Cei doi termeni se reunesc atunci când încercați a produce un filtru potrivit .
Aici, încercați să decideți dacă un semnal dat, $ s [n] $ conține un „puls” (semnal) cunoscut, $ p [n] $. O modalitate de a face acest lucru este de a convolva semnalul dat, $ s $ cu inversarea în timp a impulsului cunoscut, $ p $: acum utilizați convoluția pentru a efectua corelația încrucișată a semnalului dat cu pulsul cunoscut.
O notă laterală
Termenul „corelare încrucișată” este (pentru unii) folosit în mod greșit în domeniul DSP.
Pentru statistici, o corelație este o valoare care măsoară cât de apropiate sunt două variabile și ar trebui să fie între $ -1 $ și $ + 1 $.
După cum puteți vedea din intrarea Wikipedia privind corelația încrucișată , se utilizează versiunea DSP și se menționează:
corelația încrucișată este o măsură a similarității a două serii în funcție de decalajul uneia față de cealaltă.
Problema cu definiția DSP: $$ \ sum _ {\ forall m} x [n] y [n + m] $$ este că această măsură de „similaritate” depinde de energia din fiecare semnal.
Comentarii
- Acest lucru este extrem de util pentru mine. Vă mulțumim!
Răspuns
@MathBgu Am citit toate răspunsurile date mai sus, toate sunt foarte informative un singur lucru Vreau să adaug pentru o mai bună înțelegere, luând în considerare formula convoluției după cum urmează
$$ f (x) * g (x) = \ int \ limits_ {- \ infty} ^ {\ infty} f (\ tau) g (x- \ tau) \, d \ tau $$
și pentru corelația încrucișată
$$ (f \ star g) (t) \ stackrel {\ text {def}} {=} \ int \ limits _ {- \ infty} ^ {\ infty} f ^ * (\ tau) g (t + \ tau) \, d \ tau, $$
ajungem să știm că din punct de vedere ecuațional, singura diferență este că, în convoluție, înainte de a face produsul cu punct glisant întoarcem semnalul pe axa y i.e schimbăm $ (t) $ în $ (- t) $ , în timp ce corelația încrucișată este doar produsul cu puncte glisante din două semnale.
Folosim convoluția pentru a obține rezultatul / rezultatul unui sistem care are două blocuri / semnale și sunt direct unul lângă celălalt (în serie) în domeniul timpului.
Comentarii
- Vă mulțumim că ați menționat acest punct suplimentar clară!
- Implică * în f * conjugat complex? În loc de ” pe axa y „, luați în considerare ” inversați axa timpului „, deoarece flip simte că se întâmplă ceva vertical, în special. când se menționează axa y.
Răspuns
În procesarea semnalului, convoluția se realizează pentru a obține ieșirea a unui sistem LTI. Corelația (auto sau corelație încrucișată) este de obicei calculată pentru a fi utilizată ulterior pentru a face alte calcule
Trebuie să aveți grijă să nu confundați corelația, covarianța și coeficientul de corelație. Corelația nu trebuie neapărat să fie între -1 și 1. Coeficientul de corelație ( https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient ) se încadrează între – 1 și 1 deoarece este scalat de cele două variații aleatorii ale variabilelor. Lucrul pe care trebuie să-l amintim este că operația reală care trebuie făcută în procesarea statistică a semnalului pentru a analiza cât de corelate sunt două variabile aleatorii este „Covarianța”, nu corelația. Dar pentru majoritatea aplicațiilor în care un semnal este captat de un senzor și transformat într-o tensiune și digitalizat cu un ADC, puteți presupune că semnalul este zero mediu, prin urmare corelația este egală cu covarianța.
Comentarii
- Voi arunca o privire în acel link. Vă mulțumim!
Răspuns
Există o mulțime de subtilitate între semnificațiile de convoluție și corelație. Ambele aparțin ideii mai largi a produselor interioare și a proiecțiilor în algebră liniară, adică proiectarea unui vector pe altul pentru a determina cât de „puternic” este în direcția acestuia din urmă.
Această idee se extinde în domeniul rețelelor neuronale, unde proiectăm un eșantion de date pe fiecare rând al unei matrice, pentru a determina cât de bine se „potrivește” acel rând. Fiecare rând reprezintă o anumită clasă de obiecte. De exemplu, fiecare rând ar putea clasifica o literă în alfabet pentru recunoașterea scrisului de mână. Este obișnuit să ne referim la fiecare rând ca la un neuron, dar ar putea fi numit și un filtru potrivit.
În esență, măsurăm cât de asemănătoare sunt două lucruri sau încercăm să găsim o caracteristică specifică. în ceva, de ex un semnal sau o imagine. De exemplu, atunci când convolți un semnal cu un filtru bandpass, încercați să aflați ce conținut are în acea bandă. Când corelați un semnal cu un sinusoid, de exemplu, DFT, căutați puterea frecvența sinusoidală în semnal. Rețineți că, în acest din urmă caz, corelația nu alunecă, dar „continuați să„ corelați ”două lucruri. Folosiți un produs interior pentru a proiecta semnalul pe sinusoid.
Deci, care este diferența? Ei bine, luați în considerare faptul că, cu convoluție, semnalul este invers în raport cu filtrul. Cu un semnal care variază în timp, acest lucru are ca efect corelarea datelor în pentru un moment, să definim corelația pur și simplu ca un produs dot, adică proiectând un lucru pe altul. Deci, la început, corelăm prima parte a semnalului cu prima parte a filtrului. Pe măsură ce semnalul continuă prin filtru, corelația devine mai completă. Rețineți că fiecare element din semnal este multiplicat doar cu elementul filtrului pe care îl „atinge” în acel moment.
Deci, cu convoluție, „corelăm într-un anumit sens, dar încercăm, de asemenea, să păstrăm ordinea în timp în care se produc modificări pe măsură ce semnalul interacționează cu sistemul. Dacă filtrul este simetric, totuși, așa cum este adesea, nu contează. Convoluția și corelația vor produce aceleași rezultate.
Cu corelația, comparăm doar două semnale și nu încercăm pentru a păstra o ordine a evenimentelor. Pentru a le compara, vrem să se confrunte în aceeași direcție, adică să se alinieze. Alunecăm un semnal peste celălalt, astfel încât să putem testa similitudinea lor în fiecare fereastră de timp, în cazul în care acestea sunt „defazate între ele sau căutăm un semnal mai mic într-unul mai mare.
În procesarea imaginilor, lucrurile stau puțin diferit. Nu ne pasă de timp. Convoluția are încă câteva proprietăți matematice utile . Cu toate acestea, dacă încercați să potriviți părți ale unei imagini mai mari cu o unul mai mic (adică filtrare potrivită), nu veți câștiga „nu doriți să o întoarceți, pentru că atunci caracteristicile câștigate” nu se aliniază. Cu excepția cazului în care, desigur, filtrul nu este simetric.În procesarea imaginilor, corelația și convoluția sunt uneori folosite interschimbabil, în special cu rețele neuronale . Evident, timpul este încă relevant dacă imaginea este o reprezentare abstractă a datelor bidimensionale, unde o dimensiune este timpul – de ex. spectrogramă.
Deci, în rezumat, atât corelația, cât și convoluția sunt produse interioare glisante, utilizate pentru a proiecta un lucru pe altul, deoarece acestea variază în spațiu sau timp. Convoluția este utilizată atunci când ordinea este importantă și este de obicei utilizată pentru a transforma datele. Corelația este de obicei folosită pentru a găsi un lucru mai mic în interiorul unui lucru mai mare, adică pentru a se potrivi. Dacă cel puțin unul dintre cele două „lucruri” este simetric, atunci nu contează pe care îl folosiți.
Răspuns
Păstrați procesarea semnalului deoparte, dacă încercați doar să înțelegeți ce se întâmplă în convoluție și corelație, ambele sunt operațiuni foarte similare. Singura diferență este în convoluție, una dintre variabile este inversată (răsturnată) înainte de a efectua acumularea produsului. Vedeți că nu folosesc cuvântul semnal nicăieri deasupra. Vorbesc doar în ceea ce privește operațiunile efectuate.
Acum, haideți să ajungem la Procesarea semnalului.
Operațiunea de convoluție este utilizată pentru a calcula ieșirea unui sistem liniar de timp invariant (sistem LTI) cu un singur intrare ( x ) și răspunsul de impuls al sistemului ( h ). Pentru a înțelege de ce se folosește numai operația Convolution pentru a obține ieșirea unui sistem LTI , există o derivare mare. Vă rugăm să găsiți derivarea aici.
http://www.rctn.org/bruno/npb163/lti-conv/lti-convolution.html
Operația de corelare este utilizată pentru a găsi similaritatea între cele două semnale x și y. Mai mult este valoarea corelației, mai mult este asemănarea dintre cele două semnale.
Înțelegeți diferența aici,
-
Convolution -> între semnal și un sistem (filtru)
-
Corelație -> între două semnale
Deci, din punctul de vedere al analizei semnalului, operația de convoluție nu este utilizată . Doar corelația este utilizată din punctul de vedere al analizei semnalului. În timp ce convoluția este utilizată din punctul de vedere al analizei sistemului.
Cel mai bun mod de a înțelege operațiile de convoluție și corelație este de a înțelege ce se întâmplă atunci când se realizează două convoluții și corelații între două variabile continue, așa cum se arată în diagramele din întrebare.
Lasă un răspuns