La differenza tra convoluzione e correlazione incrociata dal punto di vista dellanalisi del segnale
Su Febbraio 12, 2021 da adminSto cercando di capire la differenza tra convoluzione e correlazione incrociata. Ho letto una risposta questa comprensibile. Capisco anche limmagine qui sotto.
Ma, in termini di elaborazione del segnale, (un campo di cui conosco poco ..), Dati due segnali (o forse un segnale e un filtro?), Quando useremo la convoluzione e quando lo faremo preferiamo usare la correlazione incrociata, voglio dire, quando nella vita reale si analizzerà preferiremo la convoluzione e quando la correlazione incrociata.
Sembra che questi due termini siano molto utili, quindi, cosè che utilizzare?
* La correlazione incrociata qui dovrebbe essere visualizzato g*f
invece di f*g
Risposta
Nellelaborazione del segnale, due problemi sono comuni:
-
Qual è loutput di questo filtro quando il suo ingresso è $ x (t) $? La risposta è data da $ x (t) \ ast h (t) $, dove $ h (t) $ è un segnale chiamato “risposta allimpulso” del filtro e $ \ ast $ è loperazione di convoluzione.
-
Dato un segnale rumoroso $ y (t) $, il segnale $ x (t) $ è in qualche modo presente in $ y (t) $? In altre parole, $ y (t) $ ha la forma $ x (t) + n (t) $, dove $ n (t) $ è rumore? La risposta può essere trovata dalla correlazione di $ y (t) $ e $ x (t) $. Se la correlazione è grande per un dato ritardo di tempo $ \ tau $, allora possiamo essere sicuri di dire che la risposta è sì.
Nota che quando i segnali coinvolti sono simmetrica, convoluzione e correlazione incrociata diventano la stessa operazione; questo caso è anche molto comune in alcune aree di DSP.
Commenti
- Capito. Grazie mille per la tua risposta chiara e brillante!
- Quello che mi piace della spiegazione della risposta allimpulso è che hai davvero unidea del perché la convoluzione è ” invertita “. In termini discreti, luscita in corrente è lingresso corrente x risposta allimpulso al tempo 0 + uscita residua dagli ingressi precedenti risposte allimpulso (ingresso a n-1 * impulso 1 + ingresso n-2 * impulso 2 e così via).
- @ Jean-FredericPLANTE sì, ‘ è un buon modo per spiegarlo.
- Questa risposta con il commento di @ Jean-FredericPLANTE lo rende più sensato.
Risposta
I due termini convoluzione e correlazione incrociata sono implementate in modo molto simile in DSP.
Quello che usi dipende dallapplicazione.
Se stai eseguendo unoperazione di filtraggio lineare e tempo-invariante, convolgi il segnale con limpulso del sistema risposta.
Se stai “misurando la somiglianza” tra due segnali, allora li correlali .
I due termini si uniscono quando provi produrre un filtro corrispondente .
Qui stai cercando di decidere se un dato segnale, $ s [n] $, contiene un “impulso” (segnale) noto, $ p [n] $. Un modo per farlo è convolgere il segnale dato, $ s $ con linversione temporale dellimpulso noto, $ p $: ora stai usando la convoluzione per eseguire la correlazione incrociata del segnale dato con limpulso noto.
Una nota a margine
Il termine “correlazione incrociata” è (per alcuni) abusato nel campo del DSP.
Per gli statistici, una correlazione è un valore che misura quanto sono vicine due variabili e dovrebbe essere compreso tra $ -1 $ e $ + 1 $.
Come puoi vedere dalla voce di Wikipedia sulla correlazione incrociata , viene utilizzata la versione DSP e si afferma:
la correlazione incrociata è una misura della somiglianza di due serie in funzione del ritardo di una rispetto allaltra.
Il problema con la definizione DSP: $$ \ sum _ {\ forall m} x [n] y [n + m] $$ è che questa misura di “somiglianza” dipende dallenergia in ogni segnale.
Commenti
- Questo è estremamente utile per me. Grazie!
Risposta
@MathBgu Ho letto tutte le risposte fornite sopra, sono tutte molto istruttive una cosa Voglio aggiungere per una migliore comprensione, considerando la formula della convoluzione come segue
$$ f (x) * g (x) = \ int \ limits_ {- \ infty} ^ {\ infty} f (\ tau) g (x- \ tau) \, d \ tau $$
e per la correlazione incrociata
$$ (f \ star g) (t) \ stackrel {\ text {def}} {=} \ int \ limits _ {- \ infty} ^ {\ infty} f ^ * (\ tau) g (t + \ tau) \, d \ tau, $$
veniamo a sapere che dal punto di vista dellequazione lunica differenza è che, in convoluzione, prima di fare prodotto scalare facendo scorrere il segnale sullasse y i.e cambiamo $ (t) $ in $ (- t) $ , mentre la correlazione incrociata è solo il prodotto scalare scorrevole di due segnali.
Usiamo la convoluzione per ottenere output / risultato di un sistema che ha due blocchi / segnali e sono direttamente uno accanto allaltro (in serie) nel dominio del tempo.
Commenti
- Grazie per aver menzionato questo punto di chiarimento aggiuntivo!
- * in f * implica coniugato complesso? Invece di ” sullasse y “, considera ” invertire lasse temporale “, perché capovolgi sembra che stia accadendo qualcosa di verticale, specialmente. quando si menziona lasse y.
Risposta
Nellelaborazione del segnale, la convoluzione viene eseguita per ottenere loutput di un sistema LTI. La correlazione (auto o correlazione incrociata) di solito viene calcolata per essere utilizzata in seguito per eseguire altri calcoli
Devi stare attento a non confondere correlazione, covarianza e coefficiente di correlazione. La correlazione non deve essere necessariamente compresa tra -1 e 1. Il coefficiente di correlazione ( https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient ) è compreso tra – 1 e 1 perché è scalato dalle varianze delle due variabili casuali. La cosa che dobbiamo ricordare è che la vera operazione da fare nellelaborazione statistica dei segnali per analizzare quanto siano correlate due variabili casuali è la “Covarianza”, non la correlazione. Ma per la maggior parte delle applicazioni in cui un segnale viene catturato da un sensore e trasformato in un voltaggio e digitalizzato con un ADC, si può presumere che il segnale sia medio zero, quindi la correlazione è uguale alla covarianza.
Commenti
- Darò unocchiata a quel collegamento. Grazie!
Risposta
Cè molta sottigliezza tra i significati di convoluzione e correlazione. Entrambi appartengono allidea più ampia di prodotti interni e proiezioni in algebra lineare, cioè proiettare un vettore su un altro per determinare quanto sia “forte” nella direzione di questultimo.
Questa idea si estende al campo delle reti neurali, dove proiettiamo un campione di dati su ogni riga di una matrice, per determinare quanto bene “si adatta” a quella riga. Ogni riga rappresenta una determinata classe di oggetti. Ad esempio, ogni riga potrebbe classificare una lettera dellalfabeto per il riconoscimento della grafia. È comune riferirsi a ciascuna riga come un neurone, ma potrebbe anche essere chiamato un filtro corrispondente.
In sostanza, stiamo misurando quanto siano simili due cose o cercando di trovare una caratteristica specifica in qualcosa, ad es un segnale o unimmagine. Ad esempio, quando convolgi un segnale con un filtro passa-banda, stai “cercando di scoprire quale contenuto ha in quella banda. Quando metti in correlazione un segnale con una sinusoide, ad esempio il DFT,” stai cercando la forza del la frequenza della sinusoide nel segnale. Nota che in questultimo caso la correlazione non scivola, ma “stai ancora” correlando “due cose. Stai utilizzando un prodotto interno per proiettare il segnale sulla sinusoide.
Allora, qual è la differenza? Ebbene, considera che con la convoluzione il segnale è allindietro rispetto al filtro. Con un segnale variabile nel tempo, questo ha leffetto che i dati sono correlati nel ordine entra nel filtro. Per un momento, definiamo la correlazione semplicemente come un prodotto scalare, cioè proiettare una cosa su unaltra. Quindi, allinizio, “correliamo la prima parte del segnale con la prima parte del filtro. Man mano che il segnale continua attraverso il filtro, la correlazione diventa più completa. Notare che ogni elemento del segnale viene moltiplicato solo per il elemento del filtro si “s” tocca “in quel momento.
Quindi, con la convoluzione, “stiamo correlando in un certo senso, ma stiamo” anche cercando di preservare lordine nel tempo in cui i cambiamenti avvengono quando il segnale interagisce con il sistema. Se il filtro è simmetrico, tuttavia, come spesso accade, non ha importanza. Convoluzione e correlazione produrranno gli stessi risultati.
Con la correlazione, stiamo solo confrontando due segnali e non provando per preservare un ordine degli eventi. Per confrontarli, vogliamo che siano rivolti nella stessa direzione, cioè allineati. Facciamo scorrere un segnale sullaltro in modo da poter testare la loro somiglianza in ogni finestra temporale, nel caso in cui “siano fuori fase tra loro o stiamo cercando un segnale più piccolo in uno più grande.
Nellelaborazione delle immagini, le cose sono leggermente diverse. Non ci interessa il tempo. Convolution ha ancora alcune proprietà matematiche utili , però. Tuttavia, se stai cercando di abbinare parti di unimmagine più grande a quello più piccolo (cioè il filtro corrispondente), non vorrai capovolgerlo perché in tal caso le funzioni non saranno allineate. A meno che, ovviamente, il filtro non sia simmetrico.Nellelaborazione delle immagini, la correlazione e la convoluzione vengono talvolta utilizzate in modo intercambiabile, in particolare con le reti neurali . Ovviamente, il tempo è ancora rilevante se limmagine è una rappresentazione astratta di dati bidimensionali, dove una dimensione è il tempo – ad es. spettrogramma.
Quindi, in sintesi, sia la correlazione che la convoluzione sono prodotti interni scorrevoli, utilizzati per proiettare una cosa su unaltra mentre variano nello spazio o nel tempo. La convoluzione viene utilizzata quando lordine è importante e in genere viene utilizzata per trasformare i dati. La correlazione viene tipicamente utilizzata per trovare una cosa più piccola allinterno di una cosa più grande, cioè per abbinare. Se almeno una delle due “cose” è simmetrica, non importa quale si utilizza.
Risposta
Tieni da parte lelaborazione del segnale, se cerchi solo di capire cosa sta succedendo in Convolution e Correlation, entrambe sono operazioni molto simili. Lunica differenza è in Convolution, una delle variabili viene invertita (capovolta) prima di eseguire laccumulo del prodotto. Tieni presente che non sto usando la parola signal da nessuna parte sopra. Sto solo parlando in termini di operazioni eseguite.
Veniamo ora allelaborazione del segnale.
Loperazione di convoluzione viene utilizzata per calcolare loutput di un sistema LTI (Linear Time Invariant System) dato un input singal ( x ) e la risposta allimpulso del sistema ( h ) Per capire perché viene utilizzata solo loperazione Convolution per ottenere loutput di un sistema LTI , cè una grande derivazione. Si prega di trovare la derivazione qui.
http://www.rctn.org/bruno/npb163/lti-conv/lti-convolution.html
Loperazione di correlazione viene utilizzata per trovare la somiglianza tra i due segnali x e y. Maggiore è il valore della correlazione, maggiore è la somiglianza tra i due segnali.
Comprendi la differenza qui,
-
Convoluzione -> tra il segnale e un sistema (filtro)
-
Correlazione -> tra due segnali
Quindi, dal punto di vista dellanalisi del segnale, loperazione di convoluzione non viene utilizzata . Viene utilizzata solo la correlazione dal punto di vista dellanalisi del segnale. Mentre la convoluzione viene utilizzata dal punto di vista dellanalisi del sistema.
Il modo migliore per comprendere le operazioni di convoluzione e correlazione è capire cosa succede quando due convoluzioni e correlazioni vengono eseguite tra due variabili continue come mostrato nei diagrammi nella domanda.
Lascia un commento