Menggunakan ayat kontinu transformasi wavelet diskrit dalam aplikasi digital

14

Saya akrab dengan banyak latar belakang matematika di balik wavelet. Namun ketika mengimplementasikan algoritma pada komputer dengan wavelet saya kurang yakin apakah saya harus menggunakan wavelet kontinu atau diskrit. Pada kenyataannya semua yang ada di komputer tentu saja diskrit, sehingga tampak jelas bahwa wavelet diskrit adalah pilihan yang tepat untuk pemrosesan sinyal digital. Namun menurut wikipedia, ini adalah transformasi wavelet kontinu yang terutama digunakan dalam kompresi gambar (digital) serta sejumlah besar kegiatan pemrosesan data digital lainnya. Apa pro dan kontra yang perlu dipertimbangkan ketika memutuskan apakah akan menggunakan transformasi wavelet kontinyu (perkiraan) alih-alih transformasi wavelet diskrit (tepat) untuk gambar digital atau pemrosesan sinyal?

PS (Memeriksa asumsi di sini) Saya mengasumsikan transformasi wavelet kontinu digunakan dalam pemrosesan digital dengan hanya mengambil nilai wavelet kontinu pada titik-titik spasi yang sama dan menggunakan urutan yang dihasilkan untuk perhitungan wavelet. Apakah ini benar?

PPS Biasanya wikipedia cukup tepat tentang matematika, jadi saya berasumsi bahwa aplikasi dalam artikel tentang Continuous Wavelet Transforms sebenarnya adalah aplikasi dari Continuous Wavelet Transforms. Tentu saja itu menyebutkan beberapa yang secara khusus CWT sehingga jelas ada beberapa penggunaan CWT dalam aplikasi digital.

John Robertson
sumber

Jawaban:

9

Seperti yang dinyatakan oleh Mohammad, istilah Continuous Wavelet Transforms (CWT) dan Discrete Wavelet Transforms (DWT) sedikit menyesatkan. Mereka berhubungan kira-kira sebagai (Continuous) Fourier Transform (matematika. Integral transformasi) ke DFT (Discrete Fourier Transform).

Untuk memahami detailnya, ada baiknya melihat konteks historisnya. Transformasi wavelet pada awalnya diperkenalkan dalam geofisika oleh Morlet, dan pada dasarnya transformasi Gabor dengan Window yang tumbuh dan menyusut bersama dengan skala / frekuensi yang dipilih. Kemudian Daubchies (seorang fisikawan-ett dari Belgia) menyadari bahwa dengan memilih basis wavelet ortogonal khusus, CWT yang sangat berlebih-lebihan dapat disampel secara kritis pada grid diad. Dari DWT yang dihasilkan, CWT lengkap yang sesuai dapat diperoleh dengan menggabungkan DWT dengan kernel reproduksi dari masing-masing wavelet. Kernel mereproduksi adalah CWT dari wavelet itu sendiri.

Temuan Daubchies memberi dorongan besar pada teori wavelet di awal 80-an. Hasil besar berikutnya adalah bahwa DWT dapat dihitung dengan sangat efisien (ini kadang-kadang disebut FWT [fast WT] juga) dengan menggunakan teknik dari teori bank filter, yaitu filter cermin kuadratur (QMF) bersama dengan filter bank downsampling. Dengan membangun QMF khusus, DWT yang sesuai dapat dihitung melalui penyaringan dan downsampling, yang merupakan algoritma paling canggih untuk menghitung DWT saat ini. Anda tidak perlu fungsi penskalaan untuk menghitung DWT, itu hanya detail implementasi yang proses FWT.

Mengenai sisi aplikasi, CWT adalah kandidat yang lebih ideal untuk analisis sinyal atau deret waktu karena resolusi berbutirnya lebih baik dan biasanya dipilih pada sebagian besar tugas (misalnya deteksi singularitas). DWT lebih menarik dalam konteks transformasi non-redundan cepat. DWT memiliki pemadatan energi yang sangat baik dan karenanya merupakan kandidat yang baik untuk kompresi lossy dan transmisi sinyal.


Harapan yang mengklarifikasi hal.

André Bergner
sumber
Terima kasih Andre atas perspektif sejarah dan klarifikasi tentang penamaan. Saya telah berjuang persis karena kebingungan yang disebabkan oleh nama-nama ini!
Yanshuai Cao
6

Mis-konsepsi yang sangat umum namun tidak menguntungkan di bidang wavelet berkaitan dengan terminologi "Continuous Wavelet Transforms".

Hal pertama yang pertama: Continuous Wavelet Transform, (CWT), dan Discrete Wavelet Transform (DWT), keduanya, titik-demi-titik, digital, transformasi yang mudah diimplementasikan pada komputer.

Perbedaan antara Transformasi "Kontinu", dan Transformasi "Diskrit" dalam konteks wavelet, berasal dari:

1) Jumlah sampel yang dilewati saat Anda berkorelasi silang dengan wavelet Anda.

2) Jumlah sampel yang dilewati saat Anda melebarkan wavelet Anda.

3) CWT hanya menggunakan wavelet, sedangkan DWT menggunakan wavelet dan scale-let. (Tidak penting untuk diskusi ini, tetapi di sini untuk kelengkapan).

Tapi jangan salah - CWT, seperti halnya DWT, selalu merupakan operasi yang terpisah dan digital.

Biarkan contoh ini menggambarkan ini: Pertimbangkan Haar Wavelet, [1 -1]. Katakanlah kami ingin melakukan DWT dengan Haar Wavelet. Jadi, Anda membelit sinyal Anda, dengan wavelet ibu Haar, [1 -1], tetapi hanya pada penundaan diad. Sebagai contoh, katakanlah sinyal Anda adalah vektor berikut:

x=[1 2 3 4 5 6 7 8]

Hasil pertama dari konvolusi DWT dengan Haar Wavelet Anda adalah:

1(1)+2(1)

3(1)+4(1)

Selanjutnya adalah:

5(1)+6(1)

Dan akhirnya yang terakhir adalah:

7(1)+8(1)

Apakah ada sesuatu yang menurutmu aneh? Saya bilang ambil konvolusi sinyal Anda dengan wavelet - jadi kenapa saya hanya berakhir dengan empat nilai? Ini karena saya melewatkan sampel ketika saya melakukan konvolusi di DWT. Saya pertama kali mengambil [1 2], membuat produk titik, dan kemudian mengambil [3 4]. Apa yang terjadi pada [2 3]? Saya melewatkannya.

Kapan kamu tidak melewatkannya? Ketika Anda melakukan CWT. Jika Anda melakukan CWT, itu akan menjadi konvolusi digital sinyal Anda yang normal, dengan wavelet Haar.


Hal kedua, adalah cara Anda melebarkan wavelet Anda. Pada contoh teratas, Haar Wavelet adalah [1 -1] untuk dekomposisi tingkat pertama. Di tingkat kedua, DWT Haar Wavelet menjadi [1 1 -1 -1]. Namun, dalam CWT, wavelet Haar tingkat kedua adalah [1 0 -1]. Sekali lagi, di DWT, saya tidak memperluas point for point - saya tidak pernah memiliki panjang gelombang tiga panjang. Namun, di CWT, saya pergi dari panjang 2, ke panjang 3. Di DWT, saya langsung dari panjang 2, ke panjang 4.

Ini adalah panjang dan pendeknya, semoga ini membantu.

Spacey
sumber
1
Meskipun benar bahwa dalam realisasi DSP dari setiap transformasi Wavelet (CWT atau DWT), implementasinya cenderung dilakukan sebagai titik demi titik yang berlipat ganda dengan fungsi wavelet diskrit (mirip dengan cara DFT dirumuskan), namun definisi matematis dari CWT kontinu. Ada versi DWT yang dikembangkan untuk data diskrit, sehingga beberapa implementasi DWT tepat berdasarkan definisi. Setiap implementasi CWT adalah perkiraan yang tiba dengan mengubah operasi lanjutan (integrasi) dengan fungsi wavelet kontinu, menjadi operasi diskrit.
user2718
@BruceZenone Tentu saja, dan definisi tentu mengambil dari konteksnya. Dua ahli matematika berbicara tentang "CWT" akan berarti versi kontinu dengan integral, sementara dua insinyur yang merenungkan implementasi akan mengatakan "CWT" dan berarti versi diskrit, (yang tidak sama dengan DWT), maka sumber Kebingungan OP.
Spacey
Cukup benar. Saya ingin melihat implementasi CWT (katakanlah Morlet) yang didokumentasikan dengan baik untuk DSP untuk melihat rincian tentang bagaimana operasi / fungsi kontinu diterjemahkan ke dunia pemrosesan diskrit. Perhatikan bahwa transformasi DFT dan Fourier adalah binatang yang sangat berbeda secara matematis.
user2718