Sử dụng các câu liên tục biến đổi wavelet rời rạc trong các ứng dụng kỹ thuật số


14

Tôi quen thuộc với phần lớn nền tảng toán học đằng sau wavelet. Tuy nhiên, khi thực hiện các thuật toán trên máy tính có sóng con, tôi không chắc lắm về việc tôi nên sử dụng sóng con liên tục hay rời rạc. Trong thực tế, tất cả mọi thứ trên máy tính đều rời rạc, nên có vẻ như rõ ràng rằng các sóng nhỏ rời rạc là lựa chọn phù hợp để xử lý tín hiệu số. Tuy nhiên, theo wikipedia, nó là biến đổi wavelet liên tục được sử dụng chủ yếu trong nén ảnh (kỹ thuật số) cũng như một số lượng lớn các hoạt động xử lý dữ liệu kỹ thuật số khác. Những ưu và nhược điểm cần xem xét khi quyết định nên sử dụng biến đổi sóng con liên tục (gần đúng) thay vì biến đổi sóng con rời rạc (chính xác) để xử lý tín hiệu hoặc hình ảnh kỹ thuật số?

PS (Kiểm tra một giả định ở đây) Tôi giả sử các phép biến đổi wavelet liên tục được sử dụng trong xử lý kỹ thuật số bằng cách đơn giản lấy giá trị của wavelet liên tục tại các điểm cách đều nhau và sử dụng chuỗi kết quả cho các tính toán sóng con. Điều này có đúng không?

PPS Thông thường wikipedia khá chính xác về toán học, vì vậy tôi giả sử rằng các ứng dụng trong bài viết về Biến đổi Wavelet liên tục trong thực tế là các ứng dụng của Biến đổi Wavelet liên tục. Chắc chắn nó đề cập đến một số đặc biệt là CWT vì vậy rõ ràng có một số sử dụng CWT trong các ứng dụng kỹ thuật số.

Câu trả lời:


9

Như Mohammad đã nêu, các thuật ngữ Biến đổi Wavelet liên tục (CWT) và Biến đổi Wavelet rời rạc (DWT) là một chút sai lệch. Chúng liên quan xấp xỉ dưới dạng (Liên tục) Biến đổi Fourier (biến đổi toán học. Tích phân) với DFT (Biến đổi Fourier rời rạc).

Để hiểu các chi tiết, thật tốt khi xem bối cảnh lịch sử. Biến đổi wavelet ban đầu được giới thiệu trong địa vật lý bởi Morlet và về cơ bản là một biến đổi Gabor với một Cửa sổ phát triển và co lại cùng với tỷ lệ / tần số đã chọn. Sau này Daubchies (một nhà vật lý-ett đến từ Bỉ) nhận ra rằng bằng cách chọn các bước sóng trực giao đặc biệt, CWT dư thừa vô hạn có thể được lấy mẫu cực kỳ nghiêm trọng trên lưới dyadic. Từ DWT kết quả, CWT đầy đủ tương ứng có thể thu được bằng cách kết hợp DWT với hạt nhân sao chép của sóng con tương ứng. Hạt nhân sao chép là CWT của chính wavelet.

Những phát hiện của Daubchies đã thúc đẩy lớn cho lý thuyết sóng con vào đầu những năm 80. Kết quả lớn tiếp theo là DWT có thể được tính toán rất hiệu quả (đôi khi còn được gọi là FWT [fast WT]) bằng cách sử dụng các kỹ thuật từ lý thuyết về các bộ lọc, cụ thể là bộ lọc gương cầu phương (QMF) cùng với các bộ lọc xuống dưới. Bằng cách xây dựng các QMF đặc biệt, DWT tương ứng có thể được tính toán thông qua lọc và lấy mẫu xuống, đây là thuật toán tiên tiến để tính toán DWT ngày nay. Bạn không cần chức năng chia tỷ lệ để tính toán DWT, đây chỉ là một chi tiết triển khai mà FWT xử lý.

Liên quan đến phía ứng dụng, CWT là ứng cử viên lý tưởng hơn cho phân tích chuỗi tín hiệu hoặc chuỗi thời gian do độ phân giải hạt mịn hơn và thường được chọn trong hầu hết các nhiệm vụ (ví dụ: phát hiện điểm kỳ dị). DWT được quan tâm nhiều hơn trong bối cảnh biến đổi nhanh không dư thừa. DWT có sự nén chặt năng lượng rất tốt và do đó là một ứng cử viên tốt cho việc nén và truyền tín hiệu.


Hy vọng rằng làm rõ mọi thứ.


Cảm ơn Andre vì quan điểm lịch sử và làm rõ về việc đặt tên. Tôi đã đấu tranh chính xác vì những nhầm lẫn gây ra bởi những cái tên này!
Yanshuai Cao

6

Một quan niệm sai lầm rất phổ biến nhưng đáng tiếc trong lĩnh vực sóng con phải liên quan đến thuật ngữ không rõ ràng của "Biến đổi Wavelet liên tục".

Điều đầu tiên: Biến đổi Wavelet liên tục, (CWT) và Biến đổi Wavelet rời rạc (DWT), cả hai đều là các phép biến đổi từng điểm, kỹ thuật số, dễ dàng thực hiện trên máy tính.

Sự khác biệt giữa Biến đổi "Liên tục" và Biến đổi "Rời rạc" trong bối cảnh sóng con, xuất phát từ:

1) Số lượng mẫu bị bỏ qua khi bạn tương quan chéo tín hiệu với wavelet của bạn.

2) Số lượng mẫu bị bỏ qua khi bạn làm giãn sóng con.

3) CWT chỉ sử dụng một wavelet, trong khi DWT sử dụng cả wavelet và scale-let. (Không quan trọng cho cuộc thảo luận này, nhưng ở đây cho sự hoàn chỉnh).

Nhưng đừng nhầm lẫn - một CWT, giống như DWT, luôn luôn là một hoạt động rời rạc, kỹ thuật số.

Hãy để ví dụ này minh họa điều này: Hãy xem xét Haar Wavelet, [1 -1]. Hãy để chúng tôi nói rằng chúng tôi muốn thực hiện một DWT với Haar Wavelet. Vì vậy, bạn xác nhận tín hiệu của mình, với sóng con mẹ Haar, [1 -1], nhưng chỉ ở độ trễ dyadic. Ví dụ: giả sử tín hiệu của bạn là vectơ sau:

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

Kết quả đầu tiên của phép tích hợp DWT với Haar Wavelet của bạn là:

1(-1)+2(1)

3(-1)+4(1)

Tiếp theo là:

5(-1)+6(1)

Và cuối cùng là cái cuối cùng là:

7(-1)+số 8(1)

Có điều gì đó đánh bạn là kỳ quặc? Tôi đã nói hãy tích hợp tín hiệu của bạn với wavelet - vậy tại sao tôi chỉ kết thúc với bốn giá trị? Điều này là do tôi bỏ qua các mẫu khi tôi thực hiện các kết quả trong DWT. Lần đầu tiên tôi lấy [1 2], làm một sản phẩm chấm, rồi lấy [3 4]. Điều gì đã xảy ra với [2 3]? Tôi bỏ qua nó.

Khi nào bạn không bỏ qua nó? Khi bạn làm một CWT. Nếu bạn đã thực hiện CWT, đó sẽ là một tổ hợp kỹ thuật số 'bình thường' của tín hiệu của bạn, với sóng con Haar.


Điều thứ hai, là cách bạn làm giãn sóng con. Trong ví dụ trên, Haar Wavelet là [1 -1] cho phân tách cấp độ đầu tiên. Ở cấp độ thứ hai, DWT Haar Wavelet trở thành [1 1 -1 -1]. Tuy nhiên, trong CWT, sóng con Haar cấp hai là [1 0 -1]. Một lần nữa, trong DWT, tôi không mở rộng điểm - tôi không bao giờ có sóng con ba chiều. Tuy nhiên, trong CWT, tôi đi từ chiều dài 2, đến chiều dài 3. Trong DWT, tôi đã đi thẳng từ chiều dài 2, đến chiều dài 4.

Đây là dài và ngắn của nó, hy vọng điều này sẽ giúp.


1
Mặc dù đúng là trong việc thực hiện DSP của bất kỳ biến đổi Wavelet nào (CWT hoặc DWT), việc triển khai có thể được thực hiện như một điểm từng điểm nhân với một hàm sóng con rời rạc (tương tự như cách tạo ra DFT), định nghĩa toán học của CWT là liên tục. Có các phiên bản DWT được phát triển cho dữ liệu rời rạc, do đó, một số triển khai DWT chính xác theo định nghĩa. Bất kỳ việc thực hiện CWT nào cũng là một xấp xỉ đã đạt được bằng cách chuyển đổi một hoạt động liên tục (tích hợp) với chức năng sóng con liên tục, thành một hoạt động riêng biệt.
dùng2718

@BruceZenone Chắc chắn, và định nghĩa chắc chắn lấy từ bối cảnh. Hai nhà toán học nói về "CWT" có nghĩa là phiên bản liên tục với các tích phân, trong khi hai kỹ sư nói về việc triển khai sẽ nói "CWT" và có nghĩa là phiên bản rời rạc, (không giống với DWT), do đó là nguồn của Sự nhầm lẫn của OP.
Spacey

Đúng đủ rồi. Tôi muốn thấy một triển khai CWT (nói Morlet) được ghi chép rõ ràng cho DSP để xem chi tiết về cách các hoạt động / chức năng liên tục được dịch sang thế giới xử lý rời rạc. Lưu ý rằng các biến đổi DFT và Fourier là những con thú khá khác nhau về mặt toán học.
dùng2718
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.