Với điều kiện trực giao chuẩn, ta có biến đổi ngược :
, , 1 ( ) ( , ). j k( ) j k f t D j k t C ψ = ∑ (3.5)
trong đó C là 1 hằng số phụ thuộc vào ψ.
Một cách hữu hiệu để thực hiện sơ đồ này là sử dụng các bộ lọc được phát triển năm 1988 bởi Mallat. Thuật toán Mallat là sơ đồ kinh điển được biết đến trong cộng đồng xử lý tín hiệu như là bộ mã hóa băng con hai kênh. Thuật toán lọc có tính thực tế cao này dẫn đến biến đổi Wavelet nhanh.
3.4 Lọc một – tầng: Xấp xỉ (Approximation) và Chi tiết (Detail)
Với nhiều tín hiệu, nội dung tần số thấp là phần quan trọng nhất. Nó xác định tín hiệu. Trái lại, nội dung tần số cao chỉ truyền đạt thêm hương vị hay sắc thái. Ta xét tiếng nói con người, nếu ta gỡ bỏ các nội dung tần số cao, các âm dường như khác nhau, nhưng ta vẫn có thể cho biết những gì đang được nói. Tuy nhiên, nếu ta gỡ bỏ đủ các thành phần tần số thấp, ta sẽ nghe câu nói bị sai ngữ pháp.
Các xấp xỉ có hệ số tỷ lệ cao, các thành phần tần số thấp của tín hiệu. Các chi tiết có hệ số tỷ lệ thấp, các thành phần tần số cao. Quá trình lọc tại mức cơ bản như sau:
Hình 3.3: Lọc lấy xấp xỉ và chi tiết
Tín hiệu gốc S, đi qua hai bộ lọc bổ sung và đưa ra hai tín hiệu. Thật không may, nếu chúng ta thực hiện thuật toán này với tín hiệu số thực, ta phải giải quyết gấp đôi dữ liệu mà ta đưa vào. Chẳng hạn, ta giả sử tín hiệu gốc S gồm 1000 mẫu dữ liệu, thì mỗi xấp xỉ và chi tiết sẽ có 1000 mẫu, như vậy ta có tổng cộng 2000 mẫu.
Để sửa vấn đề này, ta giới thiệu khái niệm về lấy mẫu xuống (downsampling). Lấy mẫu xuống chỉ đơn giản là bỏ đi từng điểm dữ liệu ở vị trí thứ hai.
Hình 3.4: Lấy mẫu xuống trước xấp xỉ và chi tiết
Để có được sự đánh giá tốt hơn về quá trình này, ta thực hiện biến đổi wavelet rời rạc của một tín hiệu. Tín hiệu ở đây sử dụng là tín hiệu thuần sin được cộng nhiễu tần số cao vào.
Ta xem sơ đồ với các tín hiệu thực được chèn vào:
Hình 3.4: Lấy xấp xỉ và chi tiết Lập trình trong MATLAB cần để tạo ra s, cD và cA là:
S = sin(20.*linspace(0, pi, 1000)) + 0.5.*rand(1, 1000); [cA,cD] = dwt(s, 'db2');
Trong đó db2 là tên của wavelet mà ta muốn sử dụng để phân tích.
Chú ý là các hệ số chi tiết cD bao gồm chủ yếu nhiễu tần số cao, trong khi đó các hệ số xấp xỉ cA chứa đựng ítnhiễu hơn so với tín hiệu gốc ban đầu.
» [length(cA) length(cD)] ans =
Ta có thể thấy rằng chiều dài thực sự của các véc tơ hệ số xấp xỉ và chi tiết nhiều hơn đôi chút so với một nửa chiều dài tín hiệu gốc. Việc này phải thực hiện với quá trình lọc, quá trình được thực hiện bởi nhân chập tín hiệu với một lọc. Phép nhân chập “smears” tín hiệu đưa ra thêm một vài mẫu trong kết quả thu được.