Wavelet là gì? Phép biến đổi sóng xử lý tín hiệu và nén dữ liệu

Wavelet (sóng con) là một dạng dao động ngắn, bắt đầu ở biên độ bằng 0, tăng hoặc giảm rồi trở lại 0 một hay nhiều lần. Phép biến đổi wavelet chia tín hiệu thành các thành phần tần số theo nhiều tỉ lệ, nhờ đó vừa biết “tần số bao nhiêu” vừa biết “sự kiện xảy ra ở thời điểm nào”.

Đồ thị hàm scaling function và hàm wavelet của họ Daubechies bốn chạm

Wavelet khác biệt Fourier ở đâu?

Phép biến đổi Fourier truyền thống cho biết thành phần tần số nào có trong tín hiệu nhưng đánh mất hoàn toàn thông tin vị trí: hai tín hiệu giống hệt nhau dù đảo thứ tự sẽ cho cùng một phổ Fourier. Wavelet giải quyết vấn đề này bằng cách dùng họ cửa sổ có tỉ lệ thời gian–tần số thay đổi theo nhau: ở tần số cao, cửa sổ ngắn để bắt các sự kiện bất ngờ; ở tần số thấp, cửa sổ dài để đo chu kỳ dài hạn.

Tên “wavelet” xuất phát từ tiếng Pháp ondelette nghĩa là “sóng nhỏ”, được Jean Morlet và Alex Grossmann dùng vào đầu những năm 1980. Trong vật lý cổ điển, hiện tượng nhiễu sóng cũng được giải thích bằng nguyên lý Huygens–Fresnel, nơi mỗi điểm trên mặt sóng lan truyền được coi là một tập hợp sóng con nhỏ.

Theo nguyên lý bất định, không thể đồng thời xác định chính xác vị trí và tần số của một sự kiện. Trong biểu đồ scaleogram của phép biến đổi wavelet liên tục, một sự kiện sẽ chiếm một vùng trong mặt phẳng thời gian–tần số, rộng bằng nửa vùng tần số tín hiệu. Nhờ đó wavelet rất hiệu quả cho việc phân tích âm thanh, tín hiệu y sinh, ảnh và video — những loại dữ liệu mà phép Fourier cổ điển xử lý kém.

So sánh bốn nguyên tử thời gian tần số riêng của STFT với tập nguyên tử đa phân giải của phép biến đổi wavelet

Ba lớp phép biến đổi wavelet

Các phép biến đổi wavelet được chia thành ba nhóm chính:

  • Biến đổi wavelet liên tục (CWT) — tích phân tín hiệu với họ hàm wavelet mẹ ở mọi tỉ lệ và mọi vị trí liên tục. Cho thông tin phong phú nhất, có thể dựng lại tín hiệu bằng cách tích phân lại các thành phần, nhưng tốn nhiều phép tính nên chỉ hợp với khảo sát tín hiệu.
  • Biến đổi wavelet rời rạc (DWT) — lấy mẫu wavelet trên lưới nhị phân, sinh ra một tập hệ số tối ưu cho nén và khử nhiễu. Đây là biến thể được dùng trong JPEG 2000 và trong các thư viện xử lý tín hiệu thực tế.
  • Phân tích đa phân giải (Multiresolution) — lặp lại phép lọc băng tần trên nhiều cấp để tách chi tiết ở mọi quy mô, từ thô đến tinh.

Trong DWT, tín hiệu đi qua hai bộ lọc song song: một bộ thông thấp tạo ra hệ số xấp xỉ (đại diện cho phần tần số thấp) và một bộ thông cao tạo ra hệ số chi tiết (đại diện cho tần số cao). Hai bộ lọc này liên hệ với nhau theo quan hệ bộ lọc gương quadrature (quadrature mirror filter, QMF).

Vì mỗi nhánh chỉ giữ lại một nửa dải tần số, theo định lý Nyquist ta có thể giảm một nửa số mẫu ở mỗi nhánh — nhờ đó biến đổi là không mất thông tin và hoàn toàn khôi phục được tín hiệu gốc. Mỗi cấp phân giải mới lại lặp lại quy trình trên phần xấp xỉ, tạo nên cấu trúc cây đa phân giải đặc trưng của wavelet.

Dạng sóng Mexican hat wavelet, ví dụ điển hình về wavelet mẹ có phổ tần số băng thông hữu hạn

Họ wavelet Daubechies và ứng dụng thực tế

Trong số các họ wavelet, họ Daubechies nổi bật nhờ hai tính chất quan trọng: hệ wavelet trực giao (orthonormal) và toàn bộ bộ lọc đều có đáp ứng xung hữu hạn (FIR). Nhờ đó việc lọc diễn ra bằng tổng tích phân, rẻ hơn đáng kể so với bộ lọc vô hạn đáp ứng (IIR) — về mặt toán học, mã tận kinh điển giống một bộ lọc FIR, còn bộ lọc đệ quy giống bộ lọc IIR.

Các ứng dụng nổi bật của wavelet trong kỹ thuật:

  • Nén dữ liệu: chuẩn JPEG 2000, các phần nén video MPEG-4, và phần lớn định dạng ảnh y tế DICOM đều dựa trên DWT.
  • Khử nhiễu âm thanh: lọc bỏ tiếng ồn nền trong nhận dạng giọng nói và trong các hội nghị trực tuyến.
  • Phân tích tín hiệu y sinh: nhận diện phức bộ QRS trong ECG, phân tích sóng não EEG, và đọc dữ liệu địa chấn.
  • Phân tích thị giác máy tính: nhận dạng khuôn mặt, phân đoạn ảnh y tế, phát hiện cạnh và nén ảnh.
  • Tài chính: phân tích đa tần số để phát hiện xu hướng cổ phiếu và phát hiện gian lận trong giao dịch tần số cao (HFT).

Trong nghiên cứu địa chấn, tín hiệu sóng được phân tích bằng phép biến đổi wavelet liên tục để định vị độ sâu và thời điểm phát sinh động đất — đây là ứng dụng kinh điển từ chính khởi đầu của ngành wavelet. Bên cạnh đó, biến đổi wavelet cũng được dùng để phân tích dao động của cầu, chẩn đoán hỏng động cơ và định vị rò rỉ đường ống.

Khi nào nên dùng wavelet thay vì Fourier?

Quy tắc chọn khá đơn giản: nếu tín hiệu cần biết “khi nào” sự kiện xảy ra và sự kiện đó là bất ngờ, hãy chọn wavelet. Nếu chỉ cần biết “có bao nhiêu năng lượng ở tần số nào” và tín hiệu ổn định theo thời gian, Fourier vẫn đơn giản và nhanh hơn. Với tín hiệu không đều, phi tuyến hoặc nhiều tần số chồng lấn, wavelet cho kết quả trực quan và chính xác hơn hẳn.

Kết luận

Wavelet là công cụ xử lý tín hiệu mạnh mẽ nhờ khả năng vừa nắm bắt tần số vừa xác định vị trí xảy ra. Biến đổi wavelet rời rạc đã được chuẩn hóa và áp dụng rộng rãi trong nén ảnh, xử lý âm thanh và phân tích dữ liệu số. Với các thư viện như PyWavelets hay OpenCV, bạn có thể thử nghiệm wavelet trong vài dòng mã Python.

Nguồn: Wikipedia – Wavelet, Wikipedia – Discrete wavelet transform

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Btrfs là gì? Hệ thống tệp copy-on-write cho Linux và snapshot

Btrfs là gì? Hệ thống tệp copy-on-write cho Linux Btrfs là hệ thống tệp (filesystem) copy-on-write cho Linux, được xây dựng trên cấu trúc dữ liệu B-tree và cung cấp…

Xem thêm

NFC là gì? Công nghệ giao tiếp không dây tầm ngắn và cách dùng

NFC là gì? Công nghệ giao tiếp không dây tầm ngắn và cách dùng Chip NFC cỡ nhỏ dán trên thẻ, kích thước tương đương một đồng tiền Nguyên lý…

Xem thêm

Confidential Computing là gì? Bảo vệ dữ liệu khi đang xử lý

Confidential Computing là gì? Bảo vệ dữ liệu đang chạy trong môi trường không tin cậy Confidential Computing là một mô hình bảo mật phần cứng nhằm bảo vệ dữ…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất