La differenza tra convoluzione e correlazione incrociata dal punto di vista dell'analisi del segnale


33

Sto cercando di capire la differenza tra la convoluzione e la correlazione incrociata. Ho letto un inteso Questa risposta. Capisco anche l'immagine qui sotto.

Ma, in termini di elaborazione del segnale, (un campo di cui poco so ...), dati due segnali (o forse un segnale e un filtro?), Quando useremo la convoluzione e quando preferiremo usare la correlazione incrociata, io significa, quando nella vita reale analizzeremo preferiremo la convoluzione e quando la correlazione incrociata.

Sembra che questi due termini siano molto utili, quindi, a che serve?

Covolution

* La correlazione incrociata qui dovrebbe leggere g*finvece dif*g

Risposte:


24

Nell'elaborazione del segnale, due problemi sono comuni:

  • Qual è l'output di questo filtro quando il suo input è ? La risposta è data da x ( t ) h ( t ) , dove h ( t ) è un segnale chiamato "risposta all'impulso" del filtro, e è l'operazione di convoluzione.X(t)X(t)*h(t)h(t)*

  • Dato un segnale rumoroso , il segnale x ( t ) è in qualche modo presente in y ( t ) ? In altre parole, y ( t ) della 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 determinato ritardoy(t)X(t)y(t)y(t)X(t)+n(t)n(t)y(t)X(t) , allora possiamo essere fiduciosi nel dire che la risposta è sì.τ

Si noti che quando i segnali coinvolti sono simmetrici, la convoluzione e la correlazione incrociata diventano la stessa operazione; questo caso è anche molto comune in alcune aree del DSP.


Fatto. Grazie mille per la tua risposta chiara e brillante!
MathBgu,

3
quello che mi piace della spiegazione della risposta all'impulso è che hai davvero un'intuizione sul perché la convoluzione è "invertita". In termini discreti, l'uscita corrente è la risposta all'impulso dell'ingresso corrente x al tempo 0 + uscita residua dalle risposte all'impulso degli ingressi precedenti (input a n-1 * impulse 1 + input n-2 * impulse 2 e così via).
Jean-Frederic PLANTE,

@ Jean-FredericPLANTE sì, è un buon modo per spiegarlo.
MBaz,

Questa risposta con il commento di @ Jean-FredericPLANTE la rende più sensata.
TPK

12

I due termini convoluzione e correlazione incrociata sono implementati in modo molto simile in DSP.

Quale usi dipende dall'applicazione.

Se si esegue un'operazione di filtro lineare invariante nel tempo, si contorce il segnale con la risposta all'impulso del sistema.

Se si "misura la somiglianza" tra due segnali, li si mette in correlazione incrociata .

I due termini si incontrano quando si tenta di produrre un filtro corrispondente .

S[n]p[n]Sp


Una nota a margine

Il termine "correlazione incrociata" è (per alcuni) abusato nel campo del DSP.

-1+1

Come puoi vedere dalla voce di Wikipedia sulla correlazione incrociata , viene utilizzata la versione DSP e dichiarano:

la correlazione incrociata è una misura della somiglianza di due serie in funzione del ritardo di una rispetto all'altra.

ΣmX[n]y[n+m]

1
Questo è estremamente utile per me. Grazie!
MathBgu,

3

Nell'elaborazione del segnale, la convoluzione viene eseguita per ottenere l'output 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 necessariamente essere 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é è ridimensionato in base alle due varianti variabili casuali . La cosa che dobbiamo ricordare è che la vera operazione da eseguire nell'elaborazione del segnale statistico per analizzare come 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 tensione e digitalizzato con un ADC, si può presumere che il segnale sia zero media, quindi la correlazione è uguale alla covarianza.


Daremo un'occhiata a quel link. Grazie!
MathBgu,

3

@MathBgu Ho letto tutte le risposte sopra riportate, tutte sono una cosa molto istruttiva che voglio aggiungere per la tua migliore comprensione, considerando la formula della convoluzione come segue

f(X)*g(X)=-f(τ)g(X-τ)dτ

e per la correlazione incrociata

(fg)(t)=DEF-f*(τ)g(t+τ)dτ,

(t)(-t)

Usiamo la convoluzione per ottenere output / risultato di un sistema che ha due blocchi / segnali e sono direttamente uno accanto all'altro (in serie) nel dominio del tempo.


Grazie per aver menzionato il punto più clamoroso!
MathBgu,

* In f * implica un coniugato complesso? Invece di "attraverso l'asse y", considera "inverti l'asse del tempo", perché il flip sembra che stia accadendo qualcosa di verticale, esp. quando si parla dell'asse y.
Petrus Theron,

2

C'è molta sottigliezza tra i significati di convoluzione e correlazione. Entrambi appartengono all'idea più ampia di prodotti interni e proiezioni in algebra lineare, ovvero proiettare un vettore su un altro per determinare quanto "forte" sia nella direzione di quest'ultimo.

Questa idea si estende nel campo delle reti neurali, dove proiettiamo un campione di dati su ogni riga di una matrice, per determinare quanto "si adatti" a quella riga. Ogni riga rappresenta una determinata classe di oggetti. Ad esempio, ogni riga può classificare una lettera nell'alfabeto per il riconoscimento della grafia. È comune riferirsi ad ogni riga come un neurone, ma potrebbe anche essere chiamato un filtro abbinato.

In sostanza, stiamo misurando quanto sono simili due cose o stiamo cercando di trovare una caratteristica specifica in qualcosa, ad esempio un segnale o un'immagine. Ad esempio, quando contorti un segnale con un filtro passa-banda, stai cercando di scoprire quale contenuto ha in quella banda. Quando si collega un segnale a una sinusoide, ad esempio il DFT, si sta cercando la forza della frequenza della sinusoide nel segnale. Nota che in quest'ultimo caso, la correlazione non scorre, ma stai ancora "correlando" due cose. Stai usando un prodotto interno per proiettare il segnale sulla sinusoide.

Allora, qual è la differenza? Bene, considera che con convoluzione il segnale è all'indietro rispetto al filtro. Con un segnale che varia nel tempo, ciò ha l'effetto che i dati sono correlati nell'ordine in cui entrano nel filtro. Per un momento, definiamo la correlazione semplicemente come un prodotto punto, ovvero proiettando una cosa su un'altra. Quindi, all'inizio, stiamo correlando 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. Si noti che ogni elemento nel segnale viene moltiplicato solo per l'elemento del filtro che "tocca" in quel momento.

Quindi, con convoluzione, ci stiamo correlando in un certo senso, ma stiamo anche cercando di preservare l'ordine nel tempo in cui si verificano i cambiamenti mentre il segnale interagisce con il sistema. Se il filtro è simmetrico, tuttavia, come spesso accade, in realtà non importa. La convoluzione e la correlazione produrranno gli stessi risultati.

Con la correlazione, stiamo solo confrontando due segnali e non stiamo cercando di preservare un ordine di eventi. Per confrontarli, vogliamo che siano rivolti nella stessa direzione, cioè allineati. Facciamo scorrere un segnale sull'altro in modo da poter testare la loro somiglianza in ogni finestra temporale, nel caso in cui siano sfasati l'uno con l'altro o stiamo cercando un segnale più piccolo in uno più grande.

Nell'elaborazione delle immagini, le cose sono leggermente diverse. Non ci interessa il tempo. La convoluzione ha ancora alcune utili proprietà matematiche , però. Tuttavia, se stai provando a far corrispondere parti di un'immagine più grande a una più piccola (ovvero un filtro abbinato), non vorrai capovolgerla perché le funzionalità non si allineeranno. A meno che, ovviamente, il filtro non sia simmetrico. Nell'elaborazione delle immagini, la correlazione e la convoluzione sono talvolta utilizzate in modo intercambiabile, in particolare con le reti neurali . Ovviamente, il tempo è ancora rilevante se l'immagine è una rappresentazione astratta di dati bidimensionali, dove una dimensione è il tempo, ad esempio lo spettrogramma.

Quindi, in sintesi, sia la correlazione che la convoluzione sono prodotti interni scorrevoli, usati per proiettare una cosa su un'altra mentre variano nello spazio o nel tempo. La convoluzione viene utilizzata quando l'ordine è importante e in genere viene utilizzata per trasformare i dati. La correlazione viene in genere utilizzata per trovare una cosa più piccola all'interno di una cosa più grande, cioè per abbinare. Se almeno una delle due "cose" è simmetrica, non importa quale usi.


0

Tieni da parte l'elaborazione del segnale, se cerchi solo di capire cosa sta succedendo in Convoluzione e Correlazione, entrambe sono operazioni molto simili. L'unica differenza è in Convoluzione, una delle variabili viene invertita (capovolta) prima di eseguire l'accumulo del prodotto. Vedi che non sto usando il segnale di parola da nessuna parte sopra. Sto parlando solo in termini di operazioni eseguite.

Ora, veniamo al Signal Processing.

L'operazione di convoluzione viene utilizzata per calcolare l'output di un sistema lineare invariante (sistema LTI) dati un input singal ( x ) e una risposta all'impulso del sistema ( h ). Per capire perché viene utilizzata solo l'operazione di convoluzione per ottenere l'output di un sistema LTI, esiste una grande derivazione. Si prega di trovare la derivazione qui.

http://www.rctn.org/bruno/npb163/lti-conv/lti-convolution.html

L'operazione di correlazione viene utilizzata per trovare la somiglianza tra i due segnali xey. Più è il valore della correlazione, più è la somiglianza tra i due segnali.

Comprendi la differenza qui,

  • Convoluzione -> tra segnale e un sistema (filtro)

  • Correlazione -> tra due segnali

Quindi, dal punto di vista dell'analisi del segnale, l'operazione di convoluzione non viene utilizzata. Solo la correlazione viene utilizzata dal punto di vista dell'analisi del segnale. Considerando che la convoluzione viene utilizzata dal punto di vista dell'analisi 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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.