Estou tentando entender a diferença entre convolução e correlação cruzada. Eu li um entendido Esta resposta. Eu também entendo a imagem abaixo.
Mas, em termos de processamento de sinal (um campo sobre o qual sei pouco ...), dados dois sinais (ou talvez um sinal e um filtro?), Quando usaremos a convolução e quando preferiremos usar a correlação cruzada? Quer dizer, quando analisarmos na vida real, preferimos a convolução e quando, a correlação cruzada.
Parece que esses dois termos têm muito uso, então, qual é esse uso?
* A correlação cruzada aqui deve ser lida em g*f
vez def*g
Os dois termos convolução e correlação cruzada são implementados de maneira muito semelhante no DSP.
Qual você usa depende do aplicativo.
Se você estiver executando uma operação de filtragem linear e invariante no tempo, convolve o sinal com a resposta de impulso do sistema.
Se você está "medindo a semelhança" entre dois sinais, correlaciona- os.
Os dois termos se reúnem quando você tenta produzir um filtro correspondente .
Aqui, você está tentando decidir se um determinado sinal, contém um "pulso" (sinal) conhecido, p [ n ] . Uma maneira de fazer isso é convencer o sinal dado, s com a inversão do tempo do pulso conhecido, p : você está usando a convolução para executar a correlação cruzada do sinal fornecido com o pulso conhecido.s [ n ] p [ n ] s p
Uma nota lateral
O termo "correlação cruzada" é (para alguns) mal utilizado no campo do DSP.
Para estatísticos, uma correlação é um valor que mede a proximidade de duas variáveis e deve estar entre e + 1 .- 1 + 1
Como você pode ver na entrada da Wikipedia sobre correlação cruzada , a versão DSP é usada e eles declaram:
fonte
No processamento do sinal, a convolução é realizada para obter a saída de um sistema LTI. A correlação (correlação automática ou cruzada) geralmente é calculada para ser usada posteriormente para outros cálculos.
Você deve ter cuidado para não confundir correlação, covariância e coeficiente de correlação. A correlação não precisa necessariamente estar entre -1 e 1. O coeficiente de correlação ( https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient ) cai entre -1 e 1 porque é dimensionado pelas duas variáveis aleatórias . O que devemos lembrar é que a operação real a ser realizada no processamento estatístico de sinais para analisar o quão relacionadas são duas variáveis aleatórias é a "Covariância", não a correlação. Mas para a maioria das aplicações em que um sinal é capturado por um sensor e transformado em tensão e digitalizado com um ADC, você pode assumir que o sinal tem média zero, portanto a correlação é igual à covariância.
fonte
@MathBgu Eu li todas as respostas acima, todas são uma coisa muito informativa que gostaria de acrescentar para sua melhor compreensão, considerando a fórmula da convolução da seguinte maneira
e para a correlação cruzada
Usamos a convolução para obter a saída / resultado de um sistema que possui dois blocos / sinais e eles estão diretamente próximos um do outro (em série) no domínio do tempo.
fonte
Há muita sutileza entre os significados de convolução e correlação. Ambos pertencem à idéia mais ampla de produtos internos e projeções na álgebra linear, ou seja, projetando um vetor sobre o outro para determinar o quão "forte" é na direção do último.
Essa idéia se estende ao campo das redes neurais, onde projetamos uma amostra de dados em cada linha de uma matriz, para determinar quão bem "se encaixa" nessa linha. Cada linha representa uma certa classe de objetos. Por exemplo, cada linha pode classificar uma letra no alfabeto para reconhecimento de manuscrito. É comum se referir a cada linha como um neurônio, mas também pode ser chamado de filtro correspondente.
Em essência, estamos medindo como duas coisas são semelhantes ou tentando encontrar um recurso específico em algo, por exemplo, um sinal ou imagem. Por exemplo, quando você envolve um sinal com um filtro passa-banda, está tentando descobrir qual conteúdo ele tem nessa banda. Quando você correlaciona um sinal com um sinusóide, por exemplo, a DFT, procura a força da frequência do sinusóide no sinal. Observe que, no último caso, a correlação não desliza, mas você ainda está "correlacionando" duas coisas. Você está usando um produto interno para projetar o sinal no sinusóide.
Então, qual é a diferença? Bem, considere que, com a convolução, o sinal é inverso em relação ao filtro. Com um sinal variável no tempo, isso faz com que os dados sejam correlacionados na ordem em que entram no filtro. Por um momento, vamos definir a correlação simplesmente como um produto escalar, ou seja, projetando uma coisa na outra. Portanto, no início, estamos correlacionando a primeira parte do sinal com a primeira parte do filtro. À medida que o sinal continua através do filtro, a correlação se torna mais completa. Observe que cada elemento no sinal é multiplicado apenas pelo elemento do filtro que está "tocando" naquele momento.
Então, com a convolução, estamos nos correlacionando em certo sentido, mas também estamos tentando preservar a ordem no tempo em que as mudanças ocorrem à medida que o sinal interage com o sistema. Se o filtro for simétrico, no entanto, como costuma ser, não importa. Convolução e correlação produzirão os mesmos resultados.
Com a correlação, estamos apenas comparando dois sinais, e não tentando preservar uma ordem de eventos. Para compará-los, queremos que eles estejam na mesma direção, ou seja, alinhados. Deslizamos um sinal sobre o outro para testar sua semelhança em cada janela de tempo, caso estejam fora de fase um com o outro ou procuremos um sinal menor em um maior.
No processamento de imagens, as coisas são um pouco diferentes. Nós não nos importamos com o tempo. A convolução ainda possui algumas propriedades matemáticas úteis . No entanto, se você estiver tentando combinar partes de uma imagem maior com uma menor (por exemplo, filtragem correspondente), não será necessário invertê-la, pois os recursos não serão alinhados. A menos, é claro, que o filtro seja simétrico. No processamento de imagens, a correlação e a convolução são às vezes usadas de forma intercambiável, particularmente com redes neurais . Obviamente, o tempo ainda é relevante se a imagem for uma representação abstrata de dados bidimensionais, onde uma dimensão é o tempo - por exemplo, espectrograma.
Portanto, em resumo, tanto a correlação quanto a convolução são produtos internos deslizantes, usados para projetar uma coisa na outra, pois variam ao longo do espaço ou do tempo. A convolução é usada quando a ordem é importante e geralmente é usada para transformar os dados. A correlação é normalmente usada para encontrar uma coisa menor dentro de uma coisa maior, ou seja, para combinar. Se pelo menos uma das duas "coisas" for simétrica, não importa qual você use.
fonte
Mantenha o Processamento de Sinais de lado, se você apenas tentar entender o que está acontecendo em Convolução e Correlação, ambas são operações muito semelhantes. A única diferença está na convolução, uma das variáveis é invertida (invertida) antes de realizar o acúmulo do produto. Veja que não estou usando a palavra sinal em nenhum lugar acima. Estou falando apenas em termos das operações realizadas.
Agora, vamos ao processamento de sinais.
A operação de convolução é usada para calcular a saída de um sistema linear invariante no tempo (sistema LTI), dada uma entrada de entrada ( x ) e resposta de impulso do sistema ( h ). Para entender por que apenas a operação Convolution é usada para obter a saída de um sistema LTI, existe uma grande derivação. Por favor, encontre a derivação aqui.
http://www.rctn.org/bruno/npb163/lti-conv/lti-convolution.html
A operação de correlação é usada para encontrar a semelhança entre os dois sinais x e y. Mais o valor da correlação, mais é a semelhança entre os dois sinais.
Entenda a diferença aqui,
Convolução -> entre sinal e um sistema (filtro)
Correlação -> entre dois sinais
Portanto, do ponto de vista da análise de sinal, a operação de convolução não é usada. Somente a correlação é usada do ponto de vista da análise de sinal. Enquanto a convolução é usada do ponto de vista da análise do sistema.
A melhor maneira de entender as operações de convolução e correlação é entender o que acontece quando duas convoluções e correlações são feitas entre duas variáveis contínuas, como mostrado nos diagramas da pergunta.
fonte