Dalgacık dönüşüm grafiğini okuma


15

Bir dalgacık dönüşümü ile çizilen arsanın nasıl okunacağını anlamakta zorlanıyorum,

İşte benim basit Matlab kodum,

load noissin;
% c is a 48-by-1000 matrix, each row 
% of which corresponds to a single scale.
c = cwt(noissin,1:48,'db4','plot');

resim açıklamasını buraya girin

Yani en parlak kısım, ölçekleme katsayısı boyutunun daha büyük olduğu anlamına gelir, ancak orada neler olduğunu tam olarak nasıl anlayabilirim? Lütfen bana yardım et.


Matlab t = 0: 0.001: 2'de aşağıdaki kodu denedim; y = sin (2 * pi * 20 * t) wname = 'cmor0.5-1' ölçeği = 1: 0.1: 80; cwt (y, ölçek, wname 'arsa'); Aşağıdaki komplo var! Görüntü açıklamasını buraya girin , morw dalgacıyla CWT'de gözlenen boşlukları gösteren gerçek ve hayali parçalar. Yani bir şekilde karmaşık morlet dalgacıklı CWT de faz bilgisi içerir. Bunu nasıl açıklayabilirim?

Yanıtlar:


15

Bir saniyeliğine, burada kırmızı renkte görebileceğiniz gibi, daubechies-4 dalgacınızı çizdiğinizi düşünün .

resim açıklamasını buraya girin

Şimdi bu dalga formunu kırmızıyla aldığınızı ve sadece sinyalinizle çapraz korelasyon yaptığınızı hayal edin. Bu sonucu çiziyorsunuz. Bu, grafiğinizin ilk satırı olacaktır. Bu ölçek-1. Daha sonra, Daubechies-4 dalgacınızı genişletirsiniz (yani, onu zamanla, bir faktörle 'gerdirirsiniz'). Ardından, bu yeni dalga formunun sinyalinizle tekrar çapraz korelasyonunu yaparsınız. Daha sonra arsanızın ikinci satırını alırsınız. Bu ölçek-2. Bunu tüm ölçekler için yapmaya devam edersiniz, yani orijinal 'anne' dalgacınızı almaya devam edersiniz ve dilatasyona devam edersiniz, daha sonra çapraz korelasyon, dilatasyon ve çapraz korelasyon, vb. diğerleri.

CWT grafiğinin gösterdiği budur. Sinyallerinizin farklı ölçeklerde, yani farklı dilatasyon (streç) faktörlerinde bir dalgacık ile çapraz korelasyonunun sonuçları.

Şimdi resminizi yorumlayalım. İlk satırda, çapraz korelasyonunuzda zayıf genliklere sahip olduğunuzu görebilirsiniz. Bu, size sinyalinizdeki neredeyse hiçbir şeyin, dalga boyunuzu ölçek-1'deyken (en küçük ölçekte olduğu zaman) ilişkilendirmediğini (veya "eşleştirmediğini") anlamına gelir. Dalgacınızı uzatmaya ve ilişki kurmaya devam edersiniz ve yine de ölçek 31'e ulaşana kadar sinyalinizdeki hiçbir şeyle eşleşmez. Bu yüzden dalgacınızı 31 kez gerdiğinizde ve çapraz korelasyon gerçekleştirdiğinizde, bazı parlak noktaları görmeye başlarsınız, bu da gergin dalgacınızla sinyaliniz arasında iyi çapraz korelasyon skorları elde ettiğiniz anlamına gelir.

Ancak en tepeye bakarsanız, en parlak noktalara sahibiz. Yani ölçek-46 için, o dalgayı orijinal dalgacınızı 46 kez uzatarak yaptınız ve daha sonra sinyalinizle çapraz ilişkilendirdiniz ve bu da sıra-46'nız. Yani çok güzel parlak noktalar görüyorsunuz. ~ 25, ~ 190 ve ~ 610 konumlarında (x ekseni) parlak noktalara sahip olduğumu görebilirsiniz. Böylece, sinyalinizde 46 kez uzanan dalgacınıza çok benzeyen bazı özellikler var . Yani bu yerlerde dalgacınıza çok yakışan 'bir şeyler' var.

(Tabii ki, sizin durumunuzda, gürültü kullandınız, bu yüzden bahsettiğim pozisyonlar rastgele - yani, gerçekten 'ilginç' olan bir şey yok. Sinüs darbesi ile bir CWT yapın ve söylediklerim size açıklık getirin.)

Özetle, CWT, şablon / eşleşen filtreniz (bu durumda daub-4 dalgacık) arasındaki farklı korelasyon puanlarını, farklı konumlarda, (x ekseni), ayrıca farklı gerilmiş faktörlerde (y ekseni) gösterir. .

Umarım bu yardımcı olmuştur.


Çok teşekkür ederim, bu gerçekten yardımcı oldu, ancak bu işlemle sinyalimin frekansını ve zamanını bulduğumu nasıl söyleyebilirim?
Sufiyan Ghori

1
@Effected Sinyalinizde, maksimum korelasyon skorlarını elde ettiğiniz bazı özelliklerin 'zamanını' buldunuz. (Örnek, ~ 25, ~ 190, ~ 610). Bu noktada sinyalin frekans içeriğini elde etmek için, sadece sinyalin o kısmının FFT'sine bakabilirsiniz, VEYA, dalgacınızın FFT'sine o ölçekte bakabilir ve frekans cevabına bakabilirsiniz.
Spacey

Peki, hem zaman hem de frekans bileşenlerine sahip olmak için dalgacıktan sonra DCT almamız gerekiyor mu? Eğer bir sinüs dalgası (x ekseni = zaman, y ekseni = genlik) varsa ve onun FFT alırsanız o zaman orijinal sinyal fft ve zaman bileşenleri frekans bileşenleri varsa o zaman neden dalgacık kullanmak için varsayalım?
Sufiyan Ghori

1
@Effected DFT / DCT'yi kullanmanızın nedeni global frekans içeriği elde etmektir . DFT / DCT frekans içeriğinizi tüm sinyal için söyler. Zaman içinde belirli bir frekans nerede? Bilmiyorsun. Ancak dalgacıklar kullanıyorsanız, sadece frekansınızın ne olduğunu (DFT / DCT'ye benzer) değil, aynı zamanda bu frekansa sahip olduğunuz yeri de bulabilirsiniz . (Zaman içindeki konum).
Spacey

Kayıt için, frekans sadece küresel bir kavram olarak mevcuttur. Frekansı bir zaman aralığına sabitlemeye çalıştığınız anda, gerçekten bir frekans dağılımından bahsediyorsunuz. Zaman aralığı veya ölçek arttıkça dağılım daralır. Farklı ölçeklerdeki dalgacıkların DFT'sinin hesaplanması, ilişkili dönüşüm sonuçlarının frekans alanına nasıl yorumlanacağı hakkında bir fikir verecektir; bant geçiren filtre düşünüyorum. Morlet dalgacık, Fourier kavramlarına geri dönmek için çok uygun olan güzel bir Gauss frekans dağılımına sahiptir. @endolith yanıtında buna değindi.
user2718

11

Bu araziler, bir STFT arka planından gelen anlamam için yararlı oldu :

Kompleks (sinüzoidal) Morlet dalgacık (dan türemiş yana STFT kompleks çekirdek gibi görünür ve davranır Gabor dönüşümü , STFT türü). Aynı frekanstaki bir sinyali "geçtiğinizde", ölçtüğünüz sinyalin fazı ne olursa olsun, her noktada bir büyüklük ve faz ölçümü üreterek eşleşir (ve bu yalnızca büyüklüğün bir grafiğidir):

Karmaşık Morlet dalgacık dönüşümünün büyüklüğü

Karmaşık Morlet dalgacık dönüşümünün büyüklük grafiği

Gerçek değerli Morlet sadece dalgacık eşleştiğinde dalgacık evreleri ve sinyal hattı. Böylece, ölçtüğünüz sinyalin ötesine kaydırdığınızda, fazın içine ve dışına gider, iptal ettikçe veya güçlendirdikçe maxima ve minima üretir:

Sürekli gerçek Morlet dalgacık dönüşümünün büyüklüğü

Sürekli gerçek Morlet dalgacık dönüşümünün büyüklüğü

(Aslında, bu durumda, büyüklük planlıyoruz, bu yüzden hem pozitif hem de negatif eşleşmeler turuncu noktalar üretiyor. Bunun yerine, bazı piklerin fazda olduğunu ve diğerlerinin faz dışında olduğunu göstermek için iki kutuplu bir renk haritasına geçmek daha iyidir ) :

Bipolar renk haritası kullanarak sürekli gerçek Morlet dalgacık dönüşümü

Bipolar renk haritası kullanarak sürekli gerçek Morlet dalgacık dönüşümü

Gerçek değerli Morlet ile, büyüklük ve faz bilgisi tek bir çıkış değerinde birleştirilir.

En sık kullanılan dalgacıklar gerçek değerlidir, bu yüzden sadece ölçtüğünüz dalga ve test ettiğiniz dalga hizalandığında eşleşir ve bu da birbirini geçtikçe skalogramdaki salınımlara veya dalgalanmalara yol açar.


Bu arazileri nereden aldın, btw?
Spacey

@Mohammad: Oh, bağlantıları takip eğer onlar hakkında daha fazla bilgiye sahip, fakat Kısacası, ben bu kod ile onları yaptı: phy.uct.ac.za/courses/python/examples/...
Endolit

Bağlantı artık düzeydeyseniz öldü github.com/emanuele/cwt veya gist.github.com/endolith/2783866
Endolit

1
Çok hoş! Dalgacıklar hakkında bilgi almaya karar verdim, googled ve beş dakika içinde, iyi yazılmış bir "aha!" - sınıf cevabı için yığın değiş tokuş ekosistemine geri döndüm. Bu, iyi seçilmiş, minimal bir görüntü dizisidir. Teşekkür ederim!
uhoh

4

Bu Dalgacık arsa anlamak için en iyi olduğunu düşünüyorum örneğidir.

Aşağıdaki resme bir göz atın, Dalga Formu (A) orijinal Sinyalimizdir, Dalga Formu (B) başlangıçta (t = 0) başlayan ve etkili bir şekilde sona eren yaklaşık 1/8 saniye uzunluğunda bir Daubechies 20 (Db20) dalgacını gösterir. 1/4 saniyeden önce. Sıfır değerleri tam 1 saniyeye uzatılır. Nabız sinyalimiz (A) ile nokta nokta karşılaştırma * çok zayıf olacaktır ve çok küçük bir korelasyon değeri elde edeceğiz.

önce gerilmemiş temel veya ana dalgayı hafifçe sağa kaydırıyoruz ve başka bir korelasyon değeri elde etmek için sinyalin bu yeni dalga formu ile başka bir karşılaştırmasını gerçekleştiriyoruz. Kaymaya devam ediyoruz ve Db20 dalgacık (C) 'de gösterilen pozisyondayken (B)' ye göre biraz daha iyi bir karşılaştırma yapıyoruz, ancak yine de çok zayıf çünkü (C) ve (A) farklı frekanslar.

Dalgayı 1 saniyelik zaman aralığının sonuna kadar kaydırmaya devam ettikten sonra, başlangıçta hafifçe gerilmiş bir dalgacıkla başlıyoruz ve bu korelasyon değerlerinin tam bir setini elde etmek için tekrar tekrar sağa kaydırıyoruz. Dalga formu (D), frekansın kabaca (A) ile kabaca aynı olduğu yere gerilmiş ve tepeler ve vadiler oldukça iyi hizalanana kadar sağa kaydırılan Db20 dalgasını gösterir. Bu belirli kaydırma ve germe miktarlarında çok iyi bir karşılaştırma ve büyük bir korelasyon değeri elde etmeliyiz. Bununla birlikte, sağa doğru daha fazla kayma, bu aynı gerginlikte bile, giderek zayıf korelasyonlar sağlayacaktır. Daha fazla gerdirme hiç yardımcı olmaz çünkü sıraya konulduğunda bile nabız ve aşırı gerilmiş dalgacık aynı frekansta olmayacaktır.

resim açıklamasını buraya girin

CWT'de, her gerilmiş dalgacığın her kayması için bir korelasyon değerine sahibiz. † Tüm bu gerilmeler ve kaymalar için korelasyon değerlerini (“eşleşme” kalitesi) göstermek için 3 boyutlu bir ekran kullanıyoruz.

İşte gidiyor,

resim açıklamasını buraya girin

Parlak noktalar, gerilmiş ve kaydırılmış dalgacığın zirvelerinin ve vadilerinin, gömülü nabzın zirveleri ve vadileri ile en iyi hizalandığını gösterir (hizalanmadığında karanlık, sadece bazı zirvelerin ve vadilerin sıralandığı daha sönük, ancak tüm zirvelerin ve vadilerin en parlak olduğu yer aynı hizada olduğu). Bu basit örnekte, dalgacıkın 40 ila 20 Hz arasında 2 faktör gerilmesi (filtrenin orijinal 20 noktadan 40 noktaya uzatılması) ve 3/8 saniye kaydırılması en iyi korelasyonu verdi ve bildiklerimizle aynı fikirde nabız hakkında önceden veya “yukarı ön” (nabız 3/8 saniyede ortalanmış, nabız frekansı 20 Hz).

Db20 dalgacını seçtik çünkü nabız sinyaline biraz benziyor. Olayın nasıl göründüğünü önceden bilmiyorsak, hangisinin en parlak noktalara sahip bir CWT ekranı ürettiğini (en iyi korelasyonu gösteren) görmek için birkaç dalgayı (yazılımı kolayca değiştirebilir) deneyebiliriz. Bu bize olayın şekli hakkında bir şeyler söylerdi.

Yukarıdaki basit öğretici örnek için, nabzın (A) yerini ve sıklığını görsel olarak fark edebilirdik. Bir sonraki örnek, gerçek dünyada konum ve frekansın çıplak gözle görülmediği dalgacıkların biraz daha temsilcisidir.

Aşağıdaki örneğe bakın,

resim açıklamasını buraya girin

Dalgacıklar yerel olayları analiz etmek için kullanılabilir. Biz yavaş yavaş değişen bir sinüs dalga sinyali 300 nokta inşa ve zaman = 180 küçük bir "aksaklık" veya süreksizlik (eğimde) eklemek. Biz closeup (b) bakmak sürece aksaklık fark olmaz.

Şimdi FFT'nin bu Glitch'i nasıl göstereceğini görelim, bir göz atın, resim açıklamasını buraya girin

Sinüs dalgasının düşük frekansının fark edilmesi kolaydır, ancak küçük aksaklık görülemez.

Ancak FFT yerine CWT kullanırsak, bu aksaklığı açıkça gösterecektir, resim açıklamasını buraya girin

Gördüğünüz gibi CWT dalgacık ekranı = 180 ve düşük ölçeklerde dikey bir çizgi açıkça gösteriyor. (Dalgacık düşük ölçeklerde çok az esneme gösterir, bu da aksaklığın çok kısa olduğunu gösterir.) CWT aynı zamanda aksaklığı gizleyen büyük salınımlı sinüs dalgasıyla da karşılaştırır. Bu yüksek ölçeklerde dalgacık gerildi (daha düşük bir frekansa) ve böylece sinüs dalgasının zirvesini ve vadisini zamanında buluyor = 75 ve 225, Bu kısa süreksizlik için kısa bir 4 nokta Db4 kullandık en iyi karşılaştırma için dalgacık (gösterildiği gibi).

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.