Để wavelet mẹ có thể thích ứng được với một tín hiệu hoặc một lớp các tín hiệu cần phân tích, phương pháp trong bài báo sẽ thực hiện tối ưu hoá các bộ lọc wavelet trên cơ sở các gói w
Trang 1XỬ LÝ TÍN HIỆU BẰNG LỌC THÍCH NGHI WAVELET
TS ĐỖ XUÂN THIỆU
Bộ môn Kỹ thuật điện tử Khoa Điện – Điện tử Trường Đại học Giao thông Vận tải
Tóm tắt: Kết quả biến đổi tín hiệu sử dụng wavelet phụ thuộc vào wavelet mẹ Để
wavelet mẹ có thể thích ứng được với một tín hiệu hoặc một lớp các tín hiệu cần phân tích,
phương pháp trong bài báo sẽ thực hiện tối ưu hoá các bộ lọc wavelet trên cơ sở các gói
wavelet Viêc tối ưu bộ lọc sử dụng phân giải lưới, đi đến giải thuật biến đổi nhanh không
ràng buộc
Summary: The wavelet transform results depend on the mother wavelet For the purpose
of adaptation of mother wavelet to a specific signal or to a class of signal, the method in this
paper is optimization the wavelet filters based on wavelet packets The optimization uses
lattice decomposition and leads to a fast unconstrained algorithm.
I ĐẶT VẤN ĐỀ
CT 2
Biến đổi wavelet rời rạc bằng cách đưa tín hiệu qua các bộ lọc thông thấp và thông cao sau
đó thực hiện phân chia hệ số hai Giữ lại các hệ số thông cao, lặp lại lọc và phân chia tiếp cho
các hệ số thông thấp… cho đến khi tín hiệu còn bằng độ dài của bộ lọc [3] Quá trình biến đổi
này phải thoả mãn một số điều kiện ràng buộc nào đó Thoả mãn điều kiện trực giao sẽ cho các
hệ số trực giao Những ràng buộc này được biểu diễn qua các dạng khác nhau Hướng nghiên
cứu sẽ dựa vào phương pháp vùng thời gian và phương pháp lưới Phương pháp vùng thời gian
thể hiện những ràng buộc trực tiếp trên các hệ số lọc, thực hiện giải thuật tối ưu hoá các ràng
buộc Phương pháp lưới dựa vào cấu trúc lưới để tái tạo tham số các hệ số đến khi các ràng buộc
tự thoả mãn, thực hiện giải thuật tối ưu hoá không ràng buộc
II PHƯƠNG PHÁP VÙNG THỜI GIAN
Để có thể đưa ra được các điều kiện ràng buộc, hãy xét ví dụ phân tích một mẫu tín hiệu có
độ dài bằng 8:
T 7
0, ,x ] x
[
x=
sử dụng bộ lọc có độ dài bằng 4, các hệ số lọc thông thấp và thông cao tương ứng sẽ là: c0,… c3,
và d0,…d3 Tín hiệu sau khi qua các bộ lọc được đưa đến bộ phân chia hệ số 2 Các giải thuật
này được biểu diễn theo ma trận như sau:
Trang 2CT 2
} { σ0, σ1, σ2, σ3, δ0, δ1, δ2, δ3 T = C1x r , (2)
trong đó:
(3)
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
⎡
=
2 3 0
1
0 1 2 3
0 1 2 3
0 1 2 3
2 3 0
1
0 1 2 3
0 1 2 3
0 1 2 3
1
d d 0 0 0 0 d d
d d d d 0 0 0 0
0 0 d d d d 0 0
0 0 0 0 d d d d
c c 0 0 0 0 c c
c c c c 0 0 0 0
0 0 c c c c 0 0
0 0 0 0 c c c c
C
Quá trình lại lặp lại với các hệ số lọc thông thấp:
3 2 1 0 1 0 1
0, ξ , η , η , δ , δ , δ , δ = C
3 2 1 0 3 2 1
0, σ , σ , σ , δ , δ , δ , δ
trong đó:
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
⎡
=
0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 d d d d
0 0 0 0 d d d d
0 0 0 0 c c c c
0 0 0 0 c c c c
0 1 2 3
1 3 0 2
0 1 2 3
Kết hợp hai bước biến đổi tín hiệu yr sẽ là:
x C C x C
Dễ dàng thấy rằng C1 là trực giao và do vậy, C2 và C cũng trực giao Điều kiện trực giao sẽ là:
0 c c c c
1 c c c c
3 1 2 0
2 3
2 2
2 1
2 0
= +
= + + +
0 d d d d
1 d d d d
3 1 2 0
2 3
2 2
2 1
2 0
= +
= + + +
Trang 30 d c d c
0 d c d c
0 d c d c d c d c
1 3 0 0
3 1 2 0
3 3 2 2 1 1 0 0
= +
= +
= +
+ +
Trong các điều kiện trên, điều kiện với các hệ số c thoả mãn thì các điều kiện còn lại cũng
thoả mãn, bằng cách chọn:
( ) 1 c ; k 0 , , 3
Trong trường hợp tổng quát, với độ dài bộ lọc: N+1 và độ dài tín hiệu: M+1, biến đổi
wavelet:
x C
với:
max 0
1 1 Q
C
Qmax là số mức phân giải cực đại, phụ thuộc vào độ dài tín hiệu và độ dài bộ lọc:
) 1 N
1 M (log floor
+
+
Các điều kiện trực giao tổng quát sẽ là:
( )
∑
−
= δ
=
N
k n
k n n
2
1 N , , 0 k
; k c
( )
∑
−
= δ
=
N
k
1 N , , 0 k
; k d
( ) ( )
∑
∑
−
= δ
=
−
= δ
= N
k
N
k n
k n n
2
1 N , , 0 k
; k d
c
2
1 N , , 0 k
; k d
c
Các hệ số lọc thông cao có thể được tính từ thông thấp:
(17)
( ) 1 c ; k 0 , , N
dk = − k N−k =
III PHƯƠNG PHÁP LƯỚI
Phương pháp tái tạo các tham số lọc để các ràng buộc tự thoả mãn Ta hãy bắt đầu bằng ví
dụ lọc 4 hệ số, điều kiện ràng buộc (7) cụ thể sẽ là:
1 c c c
Trang 4Điều kiện này tự thoả mãn bằng cách đặt:
⎪
⎪
⎩
⎪
⎪
⎨
⎧
θ θ
=
θ θ
−
=
θ θ
=
θ θ
=
2 1 3
2 1 2
2 1 1
2 1 0
cos sin c
sin sin c
sin cos c
cos cos c
Trường hợp tổng quát:
2
1 N , , 0 k
; 1 c
c k 2 + ∑ k 1 2 = = −
Đặt:
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ θ
=
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ θ
=
−
−
=
−
=
2 / ) 1 N (
0
2 / ) 1 N (
0
2 / ) 1 N (
0
2 / ) 1 N (
0
sin c
; cos
c
Công thức (19) có thể viết lại như sau:
⎪
⎪
⎩
⎪
⎪
⎨
⎧
θ
= θ θ
=
θ
−
= θ θ
−
=
θ
= θ θ
=
θ
= θ θ
=
2 ) 1 ( 1 2 1 )
2 ( 3
2 ) 1 ( 1 2 1 )
2 ( 2
2 ) 1 ( 0 2 1 )
2 ( 1
2 ) 1 ( 0 2 1 )
2 ( 0
cos c cos sin c
sin c sin
sin c
sin c sin cos c
cos c cos cos c
CT 2
viết dưới dạng ma trận:
⎥
⎥
⎦
⎤
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
θ θ
θ
−
θ
=
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎣
⎡
) 1 ( 0
) 1 ( 1
2 2 2
2
) 2 ( 0
) 2 ( 1
) 2 ( 2
) 2 ( 3
c c cos 0
sin 0
0 sin
0 cos
c c c c
Có thể mở rộng cho 6 hệ số:
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
⎡
−
−
=
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
⎡
) 2 ( 0
) 2 ( 1
) 2 ( 2
) 2 ( 3
3 3
3 3
3 3 3 3
) 3 ( 0
) 3 ( 1
) 3 ( 2
) 3 ( 3
) 3 ( 4
) 3 ( 5
c c c c
k 0 0 0
s 0 0 0
0 k k 0
0 k s 0
0 0 0 s
0 0 0 k
c c c c c c
Trang 5Với sj=sinθj và kj=cosθj Thế (23) vào (24) và làm tương tự với các hệ số d, kết hợp ma trận
các hệ số c và d ta được:
⎥
⎦
⎤
⎢
⎣
⎡
) 3 ( 0 ) 3 ( 1 ) 3 ( 2 ) 3 ( 3 )
3
(
4
)
3
(
5
) 3 ( 0 ) 3 ( 1 ) 3 ( 2 ) 3 ( 3 )
3
(
4
)
3
(
5
d d d d
d
d
c c c c
c
c
=
⎦
⎤
⎢
⎣
⎡
− 1
1
1
1
s
k
k
s
⎥
⎦
⎤
⎢
⎣
2 2
2 2
k s 0 0
0 0 s k
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−
−
−
3 3
3 3
3 3
3 3
k s 0 0 0 0
0 0 s k 0 0
0 0 k s 0 0
0 0 0 0 s k
Như vậy ma trận biến đổi tầng lọc wavelet thứ nhất được biểu diễn dưới dạng:
) ( R S ).
( R S ).
( R E
trong đó, R(θj) là ma trận vòng:
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
⎡
−
−
−
−
= θ
j j
j j
j j
j j
j j
j j
j j
j j
j
s k 0 0 0 0 0 0
k s 0 0 0 0 0 0
0 0 s k 0 0 0 0
0 0 k s 0 0 0 0
0 0 0 0 s k 0 0
0 0 0 0 k s 0 0
0 0 0 0 0 0 s k
0 0 0 0 0 0 k s
) ( R
CT 2
và S là ma trận dịch lên:
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
⎡
=
0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
S
E để tách các hệ số lọc thông cao từ thông thấp
Trường hợp tổng quát, với bộ lọc dài 2K:
) ( R S )
( R S ).
( R E
Trang 6Ma trận biến đổi wavelet tính cho các gói wavelet sẽ là:
) R S
R S R E ) (
R S
R S R E ( C
C
1 1 ) 2 ( 1 1 ) 1 ( 1 1 ) K ( Q Q ) 2 ( Q Q ) 1 ( Q Q 1
=
Cơ sở gói tốt nhất sẽ được chọn trong thư viện các gói wavelet theo một số tiêu chuẩn nào
đó [2] Phương pháp trong bài báo này là tối ưu gradient, xác định tham số tái tạo tối ưu tín hiệu hoặc một lớp tín hiệu bằng cách cực tiểu hàm mục tiêu tương ứng, thủ tục đơn giản là tính vi phân các tham số biến đổi wavelet Gradient của hàm mục tiêu theo các tham số biến đổi wavelet:
(31)
φ
∇
= φ
p
trong đó Jp là Jacobi [4] của ℑ, với ℑ [ ] x r = C x r:
[( C)x,( C)x, ( C)x]
+ θ θ
θ
= θ θ
∂jC( 1, K) E.RQ( 1 SQ DQRQ( j) S1R1( K)
+E.RQ(θ1 SQ DQ−1RQ−1(θj) S1R1(θK)+
…
CT 2
+E.RQ(θ1 SQ D1R1(θj) S1R1(θK), (33)
⎦
⎤
⎢
⎣
⎡
− 1 0
1 0
Kết hợp chọn cơ sở tốt nhất trong thư viện các gói wavelet [1] và tối ưu gradient các hệ số biến đổi Điều này có thể phát sinh ràng buộc cho các hệ số lọc như số các điểm triệt tiêu, trở thành tối ưu hoá có ràng buộc Tuy nhiên, giá của điều kiện trung bình không đối với các hệ số lọc thông cao lại rất thấp cho nên tối ưu ràng buộc lại trở về không ràng buộc
IV KẾT QUẢ THỰC NGHIỆM
Thực nghiệm phương pháp biến đổi wavelet trong môI trường Matlab đối với các tín hiệu mẫu: Doppler, Bumps, HeaviSine, Blocks và tín hiệu thực đo khí mêtan đề tài KC03-04 Kết quả liệt kê trong bảng 1 so sánh sai số cực đại của phép biến đổi sử dụng wavelet Daubechies: db8 và phương pháp của đề tài, với sai số cực đại:
) x s
Trang 7trong đó sk là tín hiệu gốc, xk là tín hiệu khôi phục Các kết quả cho thấy sai số giữa tín hiệu
khôi phục và tín hiệu gốc đối với các dạng tín hiệu thử nghiệm khác nhau của phương pháp lọc
thích nghi wavelet nhỏ hơn khi sử dụng hàm wavelet mẹ db8
Bảng 1 Kết quả thử nghiệm đối với các dạng tín hiệu khác nhau
Tín hiệu khôi phục
Sử dụng db8
Tín hiệu khôi phục
Sử dụng lọc thích nghi wavelet
Tín hiệu
(Gốc max)
Giá trị
Giá trị
Doppler
Bumps
HeaviSine
Blocks
Đo mêtan
CT 2
V KẾT LUẬN
Phương pháp lọc thích nghi wavelet có khả năng chọn được cơ sở wavelet mẹ tối ưu thích
ứng với các dạng tín hiệu cụ thể nên có thể nâng cao được chất lượng đáng kể khi thực hiện xử
lý các tín hiệu có các dạng khác nhau Các giải thuật để thực hiện phương pháp lọc đã được mô
phỏng trong môi trường Matlab, có thể lập trình được cho hệ vi xử lý kết hợp với DSP biến đổi
tín hiệu sử dụng wavelet, ứng dụng được trong thực tế
Tài liệu tham khảo
[1] Đỗ Xuân Thiệu (2002), Nghiên cứu ứng dụng khai triển wavelet để giảm nhiễu tín hiệu - Phương pháp
sử dụng các gói wavelet, Tuyển tập các báo cáo khoa học Hội nghị toàn quốc về tự động hóa VICA 5, Hà
nội
[2] Coifman, R.R and Wickerhauser, M.V (1992), Entropi-based algorithm for best basis selection, Yale
University New Haven, Connecticut 06520, USA
[3] Lovescu, C (2002), Wavelet transforms in the TMS320C55x, Texas Instruments Application report,
SPRA800
[4] Thomas S Shores Applied Linear Algebra and Matrix Analysis, McGraw-Hill Primus Custom
Publishing, Copyright â November 2003 All Rights Reserved ♦