Penjelasan Synchrosqueezing Wavelet Transform?

Nov 12 2020

Bagaimana cara kerja Synchrosqueezing Wavelet Transform, secara intuitif? Apa yang dilakukan bagian "sinkronisasi", dan apa yang membedakannya dari Transformasi Wavelet (berkelanjutan)?

Jawaban

3 OverLordGoldDragon Nov 12 2020 at 01:41

Synchrosqueezing adalah metode penugasan ulang yang kuat . Untuk memahami mekanismenya, kami membedah Transformasi Wavelet (berkelanjutan), dan bagaimana jebakannya dapat diatasi. Interpretasi fisik dan statistik disediakan.

Jika tidak terbiasa dengan CWT, saya merekomendasikan tutorial ini . SSWT diimplementasikan di MATLAB sebagai wsst , dan dengan Python, ssqueezepy . (- Semua kode jawaban )


Mulailah dengan CWT dengan nada murni:

Garis lurus pada bidang frekuensi waktu (lebih tepatnya, skala waktu), untuk sinusoid frekuensi tetap kita sepanjang waktu - wajar. ... kecuali apakah itu garis lurus? Tidak, ini adalah pita garis, yang tampaknya berpusat pada beberapa maksimum, kemungkinan besar adalah "skala sebenarnya". Pembesaran,

membuat ini lebih jelas. Mari kita plot baris dalam pita yang diperbesar ini, satu per satu:

dan semua ditumpangkan, masing-masing untuk sampel 0 hingga 127 (zoom horizontal):

Perhatikan sesuatu yang menarik? Semuanya memiliki frekuensi yang sama . Ini tidak khusus untuk sinusoid ini, tetapi bagaimana CWT bekerja dalam menghubungkan wavelet dengan sinyal.

Tampaknya banyak informasi "berulang"; ada redundansi . Bisakah kita memanfaatkan ini? Nah, jika kita berasumsi bahwa semua pita yang berdekatan ini sebenarnya berasal dari satu pita yang sama, maka kita dapat menggabungkannya menjadi satu - dan ini, singkatnya, adalah yang dilakukan oleh sinkronisasi. Tentu ini lebih rumit dari ini, dengan peringatan, tetapi gagasan yang mendasarinya adalah kita menjumlahkan komponen dari frekuensi sesaat yang sama untuk mendapatkan representasi frekuensi waktu yang lebih tajam dan terfokus.

Ini CWT yang sama, disinkronkan:

Nah, itu garis lurus.


Bagaimana sebenarnya cara kerjanya?

Kami punya ide, tapi bagaimana tepatnya ini dirumuskan secara matematis? Dimotivasi oleh identifikasi pembicara dan Dekomposisi Mode Empiris, SSWT dibangun di atas model modulasi :

$$ f(t) = \sum_{k=1}^{K} A_k(t) \cos(\phi_k (t)), \tag{1} $$

dimana $A_k(t)$ adalah amplitudo sesaat dan

$$ \omega_k(t) = \frac{d}{dt}(\phi_k(t)) \tag{2} $$

frekuensi sesaat dari komponen $k$, di mana kami berusaha untuk menemukan $K$seperti "komponen" yang berjumlah sinyal asli. Lebih lanjut tentang ini di bawah, "MM vs FT".

Pada tahap ini, kami hanya memiliki CWT, $W_f(a, b)$(a = skala, b = timeshift); bagaimana cara kita mengekstrak$\omega$dari itu? Kunjungi kembali plot nada murni yang diperbesar; lagi, itu$b$-ketergantungan mempertahankan osilasi harmonik asli pada frekuensi yang benar, terlepas dari$a$. Ini menyarankan kami menghitung, untuk apa pun$(a, b)$, frekuensi sesaat melalui

$$ \omega(a, b) = -j[W_f(a, b)]^{-1} \frac{\partial}{\partial b}W_f(a, b), \tag{3} $$

tempat kami mengambil turunan log ,$f' / f$. Untuk melihat alasannya, kami dapat menunjukkan bahwa CWT dari$f(t)=A_0 \cos (\omega_0 t)$ adalah:

$$ W_f(a, b) = \frac{A_0}{4 \pi} \sqrt{a} \overline{\hat{\psi}(a \omega_0)} e^{j b \omega_0} \tag{4} $$

dan dengan demikian wrt perbedaan parsial $b$, kami mengekstrak $\omega_0$, dan sisanya di (3) akan dibagi. ("Tapi bagaimana jika$f$ kurang bagus? "- lihat peringatan).

Akhirnya dilengkapi dengan $\omega (a, b)$, kami mentransfer informasi dari $(a, b)$-penerbangan ke a $(\omega, b)$ pesawat:

$$ \boxed{ S_f (\omega_l, b) = \sum_{a_k\text{ such that } |\omega(a_k, b) - w_l| \leq \Delta \omega / 2} W_f (a_k, b) a_k^{-3/2}} \tag{5} $$

dengan $w_l$ dipisahkan oleh $\Delta w$, dan $a^{-3/2}$ untuk normalisasi (lihat "Catatan").

Dan itu saja. Intinya, ambil CWT kami, dan tetapkan kembali , dengan cerdas.


Jadi dimana "komponen" nya? - Diekstrak dari kurva nilai tinggi (punggungan) di bidang SSWT; dalam kasus nada murni, itu satu baris, dan$K=1$. Lebih banyak contoh ; kami memilih bagian dari pesawat dan membalikkannya sebanyak yang diperlukan.


Model Modulasi vs Transformasi Fourier :

Apa $(1)$semua tentang, dan mengapa tidak menggunakan FT saja? Pertimbangkan sebuah pendulum yang berosilasi dengan periode tetap dan redaman konstan, dan FT-nya:

$$ s(t) = e^{-t} \cos (25t) u(t)\ \Leftrightarrow\ S(\omega) = \frac{1 + j\omega}{(1 + j\omega)^2 + 625} $$

Apa yang diberitahukan oleh Transformasi Fourier kepada kita? Frekuensi yang tak terbatas , tetapi setidaknya memuncak pada frekuensi sebenarnya dari bandul. Apakah ini deskripsi fisik yang masuk akal? Hampir tidak (hanya dalam pengertian tidak langsung tertentu); masalahnya adalah, FT menggunakan frekuensi sinusoid kompleks amplitudo tetap sebagai blok pembangunnya (fungsi basis, atau "basis"), sedangkan di sini kita memiliki amplitudo variabel yang tidak dapat dengan mudah diwakili oleh frekuensi konstan, sehingga FT dipaksa untuk "mengimbangi" dengan semua "frekuensi" tambahan ini.

Ini tidak terbatas pada modulasi amplitudo; semakin kurang sinusoidal atau non-periodik fungsinya, semakin kurang bermakna spektrum FT-nya (meskipun tidak selalu). Contoh sederhana: gelombang segitiga 1Hz, beberapa frekuensi FT. Modulasi frekuensi juga menderita; lebih banyak intuisi di sini .

Ini adalah perangkap yang ingin diatasi Model Modulasi - dengan memisahkan amplitudo dan frekuensi dari waktu ke waktu dari sinyal global, daripada mengasumsikan amplitudo dan frekuensi yang sama (dan konstan!) Untuk semua waktu.

Sementara itu, SSWT - kesempurnaan:


Apakah keajaiban sinkronisasi?

Kami tampaknya mendapatkan banyak keuntungan dengan melakukan ssqueezing - resolusi frekuensi yang tampaknya sempurna, melanggar ketidakpastian Heisenberg, dan pembatalan noise parsial ("Catatan"). Bagaimana ini bisa terjadi?

A sebelumnya . Kami berasumsi $f(t)$ ditangkap dengan baik oleh $A_k(t) \cos(\phi_k (t))$komponen, misalnya berdasarkan pengetahuan kita tentang proses fisik yang mendasari. Sebenarnya kami berasumsi lebih dari itu, ditampilkan sedikit kemudian, tetapi idenya adalah, ini berfungsi dengan baik pada subset dari semua sinyal yang mungkin:

Memang, ada banyak cara sinkronisasi dapat berjalan salah, dan semakin banyak masukan yang mematuhi asumsi SSWT (yang tidak terlalu membatasi, dan banyak sinyal secara alami mematuhi), semakin baik hasilnya.


Apa asumsi SSWT? (kapan akan gagal?)

Ini adalah topiknya sendiri (yang mungkin saya posting nanti), tetapi secara singkat, rumusannya sebagai berikut. Pertama-tama perhatikan bahwa kita harus membatasi apa$A(t)$ dan $\psi(t)$ bisa, kalau tidak, misalnya, $A(t)$dapat dengan mudah membatalkan kosinus dan menjadi fungsi lainnya. Lebih tepatnya, komponennya harus sedemikian rupa sehingga:

Info lebih lanjut ada di ref 2.


Bagaimana penerapannya? Sekarang ada kode Python , bersih & dikomentari. Terlepas dari itu, perlu diperhatikan:

  1. Untuk koefisien CWT yang sangat kecil, fase tidak stabil (seperti untuk DFT), yang kami kerjakan dengan membidik semua koefisien tersebut di bawah ambang yang diberikan.
  2. Untuk setiap baris / bin frekuensi $w_l$ di pesawat SSWT, kami ditugaskan kembali dari $W_f(a, b)$berdasarkan apa yang paling dekat dengan $w_l$ berdasarkan $\omega (a, b)$, dan untuk CWT skala log kami menggunakan jarak log .

Ringkasan :

SSWT adalah alat analisis frekuensi waktu. CWT mengekstrak informasi frekuensi waktu, dan menyelaraskan dengan cerdas menetapkannya kembali - memberikan representasi yang lebih jarang, lebih tajam, tahan derau, dan sebagian ditolak. Keberhasilan synchrosqueezing didasarkan dan dijelaskan sebelumnya; Semakin banyak masukan yang mematuhi asumsi, semakin baik hasilnya.


Catatan & peringatan :

  • Bagaimana jika $f$ tidak bagus $\omega(a, b)$contoh? Pertanyaan yang valid ; dalam praktiknya, semakin fungsi memenuhi asumsi yang disebutkan di atas, semakin sedikit masalahnya, seperti yang ditunjukkan oleh penulis melalui berbagai lemma.
  • Dalam SSWT pendulum teredam, saya menipu sedikit dengan memperpanjang waktu sinyal $(-2, 6)$; ini hanya untuk mencegah efek batas, yang merupakan fenomena CWT yang dapat diperbaiki; di sini langsung 0 sampai 6 .
  • Peredam bising parsial? Memang; lihat hal 536 dari referensi 1.
  • Apa itu $a^{-3/2}$ di $(5)$? Sinkronisasi pembalik secara efektif $W_f$ke bidang yang ditetapkan ulang, menggunakan iCWT satu integral .
  • "Fourier buruk?" Perbandingan saya sebelumnya rentan terhadap kritik. Untuk lebih jelasnya, FT adalah basis paling solid dan tujuan umum yang kami miliki untuk kerangka sinyal. Tapi itu bukan yang terbaik untuk semua tujuan ; tergantung pada konteksnya, konstruksi lain lebih bermakna dan lebih berguna.

Dimana untuk mempelajari lebih lanjut?

Makalah yang dirujuk adalah sumber yang baik, begitu juga kode sumber MATLAB wsstdan cwtdokumen serta ssqueezepy. Saya juga dapat menulis Tanya Jawab lebih lanjut, yang dapat memberi tahu Anda dengan mengganti utas ini .


Referensi :

  1. Pemerasan Nonlinear dari CWT Berdasarkan Model Saraf Auditori - I. Daubechies, S. Maes. Makalah asli yang sangat baik dengan intuisi yang ringkas.
  2. Synchrosqueezed Wavelet Transforms: alat untuk Dekomposisi Mode Empiris - I. Daubechies, J. Lu, HT Wu. Makalah tindak lanjut yang bagus dengan contoh.
  3. Algoritma Synchrosqueezing untuk analisis spektral yang bervariasi waktu: sifat ketahanan dan aplikasi paleoklimat baru - G. Thakur, E. Brevdo, et al. Eksplorasi lebih lanjut dari properti ketahanan dan detail implementasi (termasuk pengaturan ambang).