Konvolüsyon ve çapraz korelasyon arasındaki sinyal analiz bakış açısından fark


33

Konvolüsyon ile çapraz korelasyon arasındaki farkı anlamaya çalışıyorum. Bu cevabı anladım . Ayrıca aşağıdaki resmi de anlıyorum.

Ancak, sinyal işleme açısından, (hakkında çok az şey bildiğim bir alan ..), İki sinyal verilmiş (veya belki bir sinyal ve bir filtre?), Ne zaman evrişim kullanacağız ve ne zaman çapraz korelasyon kullanmayı tercih edeceğiz? demek ki, gerçek hayatta analiz yaparken evrişimi ve ne zaman çapraz korelasyonu tercih edeceğiz.

Bu iki terimin çok fazla kullanımı var gibi görünüyor, peki bu kullanım nedir?

Covolution

* Burada çapraz korelasyon g*fyerine okumak gerekirf*g

Yanıtlar:


24

Sinyal işlemede iki sorun yaygındır:

  • Girişi olduğunda bu filtrenin çıktısı nedir ? Cevap, x ( t ) h ( t ) ile verilir ; burada h ( t ) , filtrenin "impuls yanıtı" olarak adlandırılan bir sinyaldir ve , evrişim işlemidir.x(t)x(t)h(t)h(t)

  • Gürültülü bir sinyal verildiğinde, x ( t ) sinyali bir şekilde y ( t ) 'de mevcut mu? Diğer bir deyişle, bir y ( t ) bir şekilde bir x ( t ) + N ( t ) , N ( t ) gürültü? Cevap, y ( t ) ve x ( t ) ' nin korelasyonuyla bulunabilir . Korelasyon belirli bir zaman gecikmesi için büyüksey(t)x(t)y(t)y(t)x(t)+n(t)n(t)y(t)x(t) , o zaman cevabın evet olduğunu söyleyerek kendimize güvenebiliriz.τ

İlgili sinyaller simetrik olduğunda, evrişim ve çapraz korelasyonun aynı işlem haline geldiğini unutmayın; Bu durum DSP'nin bazı alanlarında da oldukça yaygındır.


Anladım. Net ve parlak cevabınız için çok teşekkür ederiz!
MathBgu

3
Dürtü yanıtı açıklaması hakkında sevdiğim şey, evrişimin neden "ters" olduğu konusunda bir sezgiye sahip olmanız. Kesin olarak, mevcut çıkış, önceki girişlerden gelen dürtü yanıtlarından 0 + artık çıkış sırasındaki akım girişi x dürtü yanıtıdır (giriş n-1 * dürtü 1 + giriş n-2 * dürtü 2 vb.).
Jean-Frederic PLANTE

@ Jean-FredericPLANTE evet, açıklamak için iyi bir yol.
MBaz

@ Jean-FredericPLANTE yorumu ile bu cevap daha mantıklı kılar.
tpk

12

İki terim evrişim ve çapraz korelasyon DSP'de çok benzer bir şekilde uygulanmaktadır.

Hangisini kullanacağınız uygulamaya bağlıdır.

Doğrusal, zamanla değişmeyen bir filtreleme işlemi yapıyorsanız , sinyali sistemin dürtü yanıtı ile sarsın .

İki sinyal arasındaki "benzerliği ölçüyorsanız", o zaman onları çapraz korelasyona sokarsınız.

Eşleşen bir filtre üretmeye çalıştığınızda iki terim bir araya gelir .

Burada, verilen bir sinyalin nin bilinen bir "darbe" (sinyal), p [ n ] içerip içermediğine karar vermeye çalışıyorsunuz . Bunu yapmanın bir yolu, verilen bir sinyal evriştirilir için s bilinen darbenin zaman tersine çevrilmesi ile s : Şimdi bilinen bir darbe ile verilen sinyalin çapraz korelasyon yapmak için konvolüsyonu kullanıyor.s[n]p[n]sp


Bir Not

"Çapraz korelasyon" terimi (bazıları için) DSP alanında kötüye kullanılır.

İstatistikçiler için, bir korelasyon iki değişkenin ne kadar yakın olduğunu ve ile + 1 arasında olması gerektiğini ölçen bir değerdir .1+1

Vikipedi çapraz-korelasyon girişinden görebileceğiniz gibi , DSP versiyonu kullanılmış ve şöyle yazmışlardır:

çapraz korelasyon, iki serinin birinin diğerine göre gecikmesinin bir fonksiyonu olarak benzerliğinin bir ölçüsüdür.

mx[n]y[n+m]

1
Bu benim için son derece yararlı. Teşekkür ederim!
MathBgu

3

Sinyal işlemede, bir LTI sisteminin çıktısını elde etmek için evrişim gerçekleştirilir. Korelasyon (otomatik veya çapraz korelasyon) genellikle başka hesaplamaları yapmak için daha sonra kullanılmak üzere hesaplanır.

Korelasyon, kovaryans ve korelasyon katsayısını karıştırmamak için dikkatli olmalısınız. Korelasyonun -1 ile 1 arasında olması şart değildir. Korelasyon katsayısı ( https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient ) -1 ile 1 arasındadır, çünkü iki rastgele değişken varyansı ile ölçeklendirilir. . Hatırlamamız gereken şey, istatistiksel sinyal işlemede iki rasgele değişkenin ne kadar ilişkili olduğunu analiz etmek için yapılması gereken gerçek işlemin korelasyon değil "Kovaryans" olmasıdır. Ancak, bir sinyalin bir sensör tarafından yakalandığı ve bir voltaja dönüştürüldüğü ve bir ADC ile sayısallaştırıldığı çoğu uygulama için, sinyalin sıfır ortalama olduğunu, dolayısıyla korelasyonun kovaryansa eşit olduğunu varsayabilirsiniz.


Bu bağlantıya bir göz atacağım. Teşekkür ederim!
MathBgu

3

@MathBgu Yukarıda verilen tüm cevapları okudum, hepsi daha iyi anlamanız için eklemek istediğim çok bilgi verici, aşağıdaki konvolüsyon formülünü dikkate alarak

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

ve çapraz korelasyon için

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

(t)(-t)

İki blok / sinyal içeren bir sistemin çıktısını / sonucunu almak için evrişimi kullanıyoruz ve bunlar zaman aralığında doğrudan yan yana (seri halinde).


Bu eklemeyle uğraşma noktasından bahsettiğin için teşekkürler!
MathBgu

F * 'daki * karmaşık eşlenik anlamına mı geliyor? "Y ekseni boyunca" yerine, "zaman eksenini tersine çevir" ifadesini kullanın, çünkü çevirme dikey bir şey oluyormuş gibi hisseder, özellikle. y ekseninden söz ederken.
Petrus Theron

2

Evrişim ve korelasyon anlamları arasında çok fazla incelik vardır. Her ikisi de, lineer cebirdeki iç ürünler ve çıkıntılar hakkındaki daha geniş fikirlere aittir, yani ikincisinin yönünde ne kadar "güçlü" olduğunu belirlemek için bir vektörü diğerine yansıtır.

Bu fikir, sinir ağları alanına uzanır; burada bir matrisin her satırına bir veri örneği yansıtırız, bu sıranın ne kadar "uyduğunu" belirlemek için. Her satır belirli bir nesne sınıfını temsil eder. Örneğin, her satır, el yazısı tanıma için alfabedeki bir mektubu sınıflandırabilir. Her bir sırayı bir nöron olarak adlandırmak yaygındır, ancak aynı zamanda eşleşen filtre olarak da adlandırılabilir.

Temelde, iki şeyin ne kadar benzer olduğunu veya bir şeyde belirli bir özelliği bulmaya çalıştığını ölçüyoruz, örneğin bir sinyal veya görüntü. Örneğin, bir bant geçiş filtresi ile bir sinyal ilettiğinizde, o grupta hangi içeriğe sahip olduğunu bulmaya çalışıyorsunuz. Sinyali bir sinüzoitle, örneğin DFT ile ilişkilendirdiğinizde sinüsoidün sinyal içindeki frekansının gücünü ararsınız. İkinci durumda, korelasyonun kaymadığını unutmayın, ancak yine de iki şeyi "ilişkilendiriyorsunuz". Sinyali sinüzoid üzerine yansıtmak için bir iç ürün kullanıyorsunuz.

Öyleyse fark nedir? Konvolüsyonda sinyalin filtreye göre geriye doğru olduğunu düşünün. Zamanla değişen bir sinyalle, bu verilerin filtreye girme sırasına göre bağıntılı olduğu etkisine sahiptir. Bir an için, korelasyonu basit bir nokta ürünü olarak tanımlayalım, yani bir şeyi diğerine yansıtıyor. Bu yüzden, başlangıçta, sinyalin ilk kısmını filtrenin ilk kısmı ile ilişkilendiririz. Sinyal filtre boyunca devam ettikçe, korelasyon daha eksiksiz hale gelir. Sinyaldeki her bir öğenin yalnızca, söz konusu zamanda “temas ettiği” filtre öğesinin ile çarpıldığına dikkat edin.

Öyleyse, evrişim ile bir anlamda ilişki kurarız, ancak sinyallerin sistemle etkileşime girmesiyle meydana gelen değişikliklerin sırasını da korumaya çalışıyoruz. Filtre simetrik ise, ancak, çoğu zaman olduğu gibi, aslında önemli değil. Evrişim ve korelasyon aynı sonuçları verecektir.

Korelasyonla, sadece iki sinyali karşılaştırıyoruz ve bir olay sırasını korumaya çalışmıyoruz. Onları karşılaştırmak için aynı yöne bakmalarını istiyoruz; Bir sinyali diğerinin üzerine kaydırırız, böylece birbirleriyle faz dışı olmaları veya her birinde daha büyük bir sinyal için daha küçük bir sinyal arayarak her zaman penceresinde benzerliklerini test edebiliriz.

Görüntü işlemede, işler biraz farklıdır. Zaman umrumda değil. Evrişim yine de bazı matematiksel özelliklere sahiptir . Bununla birlikte, daha büyük bir görüntünün bölümlerini daha küçük bir görüntüyle eşleştirmeye çalışıyorsanız (örn. Eşleşen filtreleme), çevirmek istemeyeceksiniz çünkü o zaman özellikler sıralanmayacak. Tabii ki filtre simetrik olmadığı sürece. Görüntü işlemede, korelasyon ve evrişim bazen, özellikle sinir ağları ile birbirinin yerine kullanılabilir . Açıkçası, eğer görüntü bir boyutlu bir zaman olan - örneğin spektrogram olan 2 boyutlu verinin soyut bir gösterimi ise, zaman hala önemlidir.

Dolayısıyla, özet olarak, hem korelasyon hem de evrişim sürtünen iç ürünlerdir, bir şeyi başka bir yere yansıtmak için kullanılırlar. Evrişim, sipariş önemli olduğunda kullanılır ve genellikle verileri dönüştürmek için kullanılır. Korelasyon tipik olarak daha büyük bir şeyin içinde daha küçük bir şey bulmak, yani eşleştirmek için kullanılır. İki "şeyden" en az birinin simetrik olması durumunda, hangisini kullandığınız önemli değildir.


0

Sinyal İşlemeyi bir kenara bırakın, sadece Konvolüsyon ve Korelasyonda neler olup bittiğini anlamaya çalışırsanız, ikisi de benzer işlemlerdir. Tek fark Convolution'dadır, ürün birikimini gerçekleştirmeden önce değişkenlerden biri ters çevrilir (çevrilir). Bakın yukarıdaki sinyal kelimesini kullanmıyorum . Sadece yapılan işlemler açısından konuşuyorum.

Şimdi, Sinyal İşleme'ye geçelim.

Evrişim işlemi, bir giriş singal ( x ) ve sistemin ( h ) dürtü yanıtı verilen bir Doğrusal Zamanla Değişmeyen Sistemin (LTI sistemi) çıkışını hesaplamak için kullanılır . Bir LTI sisteminin çıktısını almak için neden sadece Konvolüsyon işleminin kullanıldığını anlamak için büyük türev vardır. Lütfen burada türevi bulun.

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

Korelasyon işlemi, iki x ve y sinyalleri arasındaki benzerliği bulmak için kullanılır. Korelasyon değeri arttıkça, iki sinyal arasındaki benzerlik daha fazla olur.

Buradaki farkı anlayın.

  • Dönüşüm -> sinyal ve bir sistem arasında (filtre)

  • Korelasyon -> iki sinyal arasında

Bu nedenle, sinyal analizi açısından, Evrişim işlemi kullanılmaz. Sinyal analizi açısından sadece korelasyon kullanılır. Oysa evrişim, Sistem analizi açısından kullanılır.

Konvolüsyon ve korelasyonun operasyonlarını anlamanın en iyi yolu, sorudaki şemalarda gösterildiği gibi iki sürekli değişken arasında iki konvolüsyon ve korelasyon yapıldığında ne olduğunu anlamaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.