Wavelet là một công cụ rất mạnh được ứng dụng rộng rãi không chỉ trong xử
lý tín hiệu mà còn nhiều lĩnh vực khác nhau của đời sống xã hội, do đó, hướng phát
triển cho nghiên cứu Wavelet cũng rất rộng:
- Xử lý nhiễu trên điện não đồ, điện cơ đồ và điện nhãn đồ,
- Xử lý ảnh, âm thanh, nhận dạng tiếng nói, nhận dạng dấu vân tay,
- Phát triển ngưỡng mới kết hợp ưu điểm của ngưỡng cứng và ngưỡng mềm.
- Xây dựng hàm Wavelet mới cho phân tích, xử lý và tái tạo ứng với từng đối
tượng tín hiệu cụ thể.
- Wavelet chỉ nghiên cứu trên tín hiệu 1 chiều và hình ảnh 2 chiều chứ chưa
nghiên cứu trên ảnh 3 chiều, do đó, ta có thể phát triển Wavelet 3 chiều hứa hẹn
sẽ mang lại những kết quả và ứng dụng hiệu quả trong y học như CT, MRI,
SPECT/CT, PET/CT, cũng như các lĩnh vực khác nhằm nâng cao chất lượng
cuộc sống con người.
89 trang |
Chia sẻ: builinh123 | Lượt xem: 1527 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Cải tiến xử lý nhiễu của tín hiệu điện tim bằng phép biến đổi Wavelet packet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
rạc và phép biến đổi Wavelet Packet, tôi tiến hành
chạy code trên cùng tín hiệu đã xử lý ứng với nhiễu Gauss trắng đưa vào tín hiệu có
SNR tăng dần từ 0dB đến 18dB với bước nhảy là 0,5. Cuối cùng, dựa vào giá trị
37
SNR tính được có thể đánh giá được hiệu quả xử lý nhiễu của phép biến đổi
Wavelet rời rạc và phép biến đổi Wavelet Packet. Code được chạy với mức phân
tách tối ưu và Wavelet tối ưu của phép biến đổi Wavelet rời rạc và Wavelet Packet
là rbio5.5 ứng với quy tắc entropy tối ưu là entropy Threshold.
0 2 4 6 8 10 12 14 16 18
8
10
12
14
16
18
20
22
DWT
WPT
SN
R
ou
t (
dB
)
SNR in (dB)
Hình 4.9. Đồ thị đánh giá phép biến đổi Wavelet rời rạc và Wavelet Packet về hiệu
quả xử lý nhiễu.
Hình 4.9 cho thấy khi tăng giá trị SNR đưa vào tín hiệu từ 0dB lên 18dB với
bước nhảy là 0,5; tức là mức nhiễu Gauss trắng đưa vào tín hiệu giảm dần thì giá trị
SNR thu được tương ứng với phép biến đổi Wavelet Packet và phép biến đổi
Wavelet rời rạc đều tăng lên. Tuy nhiên, giá trị SNR thu được từ phép biến đổi
Wavelet Packet đều lớn hơn so với các giá trị SNR thu được từ phép biến đổi
Wavelet rời rạc. Điều đó chứng tỏ rằng hiệu quả xử lý nhiễu của phép biến đổi
Wavelet Packet thì hiệu quả hơn so với phép biến đổi Wavelet rời rạc.
Hình 4.10. So sánh hiệu quả xử lý nhiễu giữa DWT và WPT.
38
Hình 4.10 thể hiện kết quả khử nhiễu tín hiệu điện tim bằng phép biến đổi
Wavelet Packet và phép biến đổi Wavelet rời rạc với nhiễu Gauss trắng cộng vào tín
hiệu có 5SNR dB= tại mức phân tách tối ưu của hai phép biến đổi này. Kết quả cho
thấy lượng nhiễu còn tồn đọng rất nhiều trong tín hiệu sau khử nhiễu bằng phép
biến đổi Wavelet rời rạc, còn tín hiệu sau khử nhiễu trong phép biến đổi Wavelet
Packet thì rất sạch nhiễu. Điều đó chứng tỏ rằng hiệu quả khử nhiễu của phép biến
đổi Wavelet Packet thì tốt hơn so với phép biến đổi Wavelet rời rạc.
4.2.2. Về độ phân giải tín hiệu
Để so sánh và đánh giá khả năng duy trì độ phân giải hay nói cách khác là khả
năng duy trì các thông tin lâm sàng trong tín hiệu sau khử nhiễu giữa phép biến đổi
Wavelet rời rạc và Wavelet Packet, tôi tiến hành chạy code trên cùng tín hiệu đã xử
lý với cùng mức nhiễu Gauss trắng đưa vào tín hiệu có 5SNR dB= ứng với mức
phân tách tăng dần từ 1N = đến 10N = . Cuối cùng, dựa vào giá trị SNR tính được
có thể đánh giá được khả năng duy trì các thông tin lâm sàng trên tín hiệu của phép
biến đổi Wavelet Packet và phép biến đổi Wavelet rời rạc. Code được chạy với
Wavelet tối ưu của phép biến đổi Wavelet rời rạc và Wavelet Packet là Rbio5.5 ứng
với quy tắc entropy tối ưu là entropy Norm.
0 1 2 3 4 5 6 7 8 9 10 11
7
8
9
10
11
12
13
DWT
WPTTy
û le
ä tín
hi
eäu
tre
ân n
hie
ãu S
NR
(d
B)
Möùc phaân taùch (N)
Hình 4.11. Đồ thị đánh giá DWT và WPT về độ phân giải tín hiệu.
Hình 4.11 cho thấy khi mức phân tách tăng từ 1N = đến 10N = thì giá trị
SNR tính được của phép biến đổi Wavelet Packet và của phép biến đổi Wavelet rời
rạc tăng đến giá trị cực đại lần lượt tại mức phân tách 4N = và 3N = . Tuy nhiên,
39
giá trị cực đại của SNR tính được tại các mức phân tách tối ưu của phép biến đổi
Wavelet Packet thì lớn hơn so với phép biến đổi Wavelet rời rạc, điều đó một lần
nữa chứng tỏ rằng khử nhiễu tín hiệu bằng phép biến đổi Wavelet Packet thì tốt hơn
so với phép biến đổi Wavelet rời rạc. Mặc khác, các giá trị SNR tính được từ mức
phân tách 4N = đến mức phân tách 10N = của phép biến đổi Wavelet Packet ứng
với quy tắc entropy Norm giảm rất ít trong khi giá trị tính được của phép biến đổi
Wavelet rời rạc giảm rất nhanh. Điều đó chứng tỏ rằng khả năng giữ lại độ phân
giải tín hiệu hay nói cách khác là khả năng giữ lại các thông tin cũng như các đặc
tính địa phương của phép biến đổi Wavelet Packet thì tốt hơn so với phép biến đổi
Wavelet rời rạc.
Hình 4.12. So sánh khả năng giữ lại các thông tin trên tín hiệu giữa DWT và WPT
tại mức phân tách 2N = và 4N = .
Hình 4.13. So sánh khả năng giữ lại các thông tin trên tín hiệu giữa DWT và WPT
tại mức phân tách 6N = và 8N = .
40
Hình 4.14. So sánh khả năng giữ lại các thông tin trên tín hiệu giữa DWT và WPT
tại mức phân tách 10N = .
Hình 4.12, 4.13 và 4.14 thể hiện tín hiệu sạch và tín hiệu sau khử nhiễu bằng
phép biến đổi Wavelet rời rạc và Wavelet Packet tại các mức phân tách khác nhau.
Kết quả khử nhiễu bằng phép biến đổi Wavelet rời rạc cho thấy tín hiệu sạch và tín
hiệu sau khử nhiễu đã có sự khác nhau rất lớn khi số mức phân tách tăng về mặt
hình dạng và biên độ. Đặc biệt trong hình 4.14 cho thấy các sóng P không còn thể
hiện rõ trên tín hiệu điện tim so với ban đầu, đồng thời biên độ tín hiệu điện tim sau
khử nhiễu giảm mạnh đặc biệt là đối với đỉnh R. Còn kết quả khử nhiễu bằng phép
biến đổi Wavelet Packet cho thấy mức độ tương quan giữa tín hiệu sau khử nhiễu và
tín hiệu sạch ban đầu rất lớn và không thay đổi nhiều khi số mức phân tách tăng.
Điều đó có nghĩa là khả năng giữ lại các đặc tính địa phương hay thông tin lâm sàng
trên tín hiệu của phép biến đổi Wavelet Packet thì tốt hơn so với Wavelet rời rạc.
4.2.3. Áp dụng trên các tín hiệu khác nhau
Như vậy, kết quả ở mục 4.1 đã tìm được hàm Wavelet mẹ và mức phân tách
tốt nhất cho phân tách, xử lý và tái tạo tín hiệu điện tim bằng phép biến đổi Wavelet
Packet, đồng thời bước đầu đánh giá, so sánh hiệu quả khử nhiễu và khả năng giữ
lại các thông tin lâm sàng giữa DWT và WPT trên cùng một tín hiệu điện tim. Mặc
khác, hiệu quả của DWT và WPT còn được đánh giá bằng cách áp dụng trên một số
mẫu tín hiệu khác nhau được tải từ [14] với cùng mức nhiễu Gauss trắng có
5SNR dB= . Bằng cách so sánh giữa tín hiệu sau tái tạo và tín hiệu ban đầu thông
qua giá trị SNR tính được có thể đánh giá hiệu quả của DWT và WPT.
41
Bảng 4.2. Thông tin về các mẫu tín hiệu dùng để so sánh.
STT Tín hiệu
Thông tin
Bệnh nhân Kỹ thuật Lâm sàng
1 Mgh005
_ Giới tính: Nam.
_ Tuổi: 56 tuổi.
_ Thời gian: 10s.
_ Số mẫu: 3600 mẫu.
_ Ngưỡng: mềm.
_ Rối loạn nhịp
tim.
_ Nhồi máu trước
tim.
_ Phình động
mạch chủ.
2 Mgh022
_ Giới tính: Nam.
_ Tuổi: 74 tuổi.
_ Thời gian: 10s.
_ Số mẫu: 3600 mẫu.
_ Ngưỡng: mềm.
_ Nhồi máu cơ
tim giai đoạn cấp
tính.
3 Mgh036
_ Giới tính: Nữ.
_ Tuổi: 66 tuổi.
_ Thời gian: 10s.
_ Số mẫu: 3600 mẫu.
_ Ngưỡng: mềm.
_ Nhồi máu cơ
tim vùng trong và
trước tim.
_ Block nhánh
trái.
4 Mgh072
_ Giới tính: Nữ.
_ Tuổi: 78 tuổi.
_ Thời gian: 10s.
_ Số mẫu: 3600 mẫu.
_ Ngưỡng: mềm.
_ Nhồi máu cơ
tim vùng trong.
_ Phình to thất
trái.
5 Mgh090
_ Giới tính: Nữ.
_ Tuổi: 24 tuổi.
_ Thời gian: 10s.
_ Số mẫu: 3600 mẫu.
_ Ngưỡng: mềm.
_ Giập tim.
_ Trao đổi vật
chất không bình
thường khi ngủ.
Bảng 4.3. Kết quả tính SNR thu được từ một số mẫu tín hiệu khác nhau ứng với
phép biến đổi Wavelet Packet và phép biến đổi Wavelet rời rạc.
STT Tín hiệu
SNR (dB)
DWT WPT
42
1 Mgh005 10,8317 11,8136
2 Mgh022 11,8661 12,3022
3 Mgh036 11,9299 12,2624
4 Mgh072 9,8708 10,3472
5 Mgh090 12,1873 12,5948
Bảng 4.3 trình bày kết quả tính SNR thu được từ một số mẫu tín hiệu khác
nhau ứng với phép biến đổi Wavelet rời rạc và Wavelet Packet. Kết quả cho thấy
giá trị SNR tính được từ các tín hiệu khi khử nhiễu bằng phép biến đổi Wavelet
Packet luôn lớn hơn so với khử nhiễu bằng phép biến đổi Wavelet rời rạc, điều đó
có nghĩa là phép biến đổi Wavelet Packet xử lý nhiễu hiệu quả hơn so với phép biến
đổi Wavelet rời rạc. Dưới đây là những hình ảnh so sánh hiệu quả khử nhiễu tín
hiệu điện tim bằng phép biến đổi Wavelet Packet và phép biến đổi Wavelet rời rạc.
Hình 4.15. Tín hiệu mgh072 (trái), mgh090 (phải) trước và sau khử nhiễu bằng
DWT và WPT.
Hình 4.15 thể hiện tín hiệu mgh072, mgh090 trước và sau khi khử nhiễu bằng
phép biến đổi Wavelet Packet và phép biến đổi Wavelet rời rạc. Từ hình 4.15 có thể
thấy rằng tín hiệu sau khử nhiễu bằng phép biến đổi Wavelet rời rạc còn tồn đọng
một lượng nhiễu khá lớn, các thông tin lâm sàng trên tín hiệu chưa thể hiện rõ vì
còn bị ảnh hưởng bởi nhiễu khá nhiều. Mặc khác, tín hiệu sau khử nhiễu bằng phép
biến đổi Wavelet Packet thì rất sạch nhiễu và các thông tin lâm sàng trên tín hiệu
được thể hiện rất rõ ràng, đồng thời mức độ tương quan về mặt biên độ và hình
dạng so với tín hiệu ban đầu rất cao. Điều này chứng tỏ thêm rằng phép biến đổi
43
Wavelet Packet tốt hơn phép biến đổi Wavelet rời rạc về cả hiệu quả xử lý nhiễu lẫn
khả năng giữ lại các đặc tính địa phương trên tín hiệu.
Kết quả này có thể được giải thích như sau: do phép biến đổi Wavelet rời rạc
chỉ phân tích thành phần xấp xỉ trên tín hiệu và khi tiến hành đặt ngưỡng các hệ số
chi tiết vô tình làm ảnh hưởng đến các thành phần có ích như độ sắc và độ nét của
tín hiệu và đó cũng là lý do mà độ phân giải tín hiệu giảm rất nhanh khi mức phân
tách tăng. Phép biến đổi Wavelet Packet phân tích cả thành phần xấp xỉ lẫn chi tiết
trên tín hiệu nên hạn chế được ảnh hưởng của nhiễu và quá trình khử nhiễu lên tín
hiệu, mặc khác, nó còn sử dụng quy tắc entropy để tính toán cây phân tích tối ưu, do
đó sẽ hạn chế được sự mất mát thông tin trên tín hiệu sau khử nhiễu. Như vậy, phép
biến đổi Wavelet Packet vừa khử nhiễu hiệu quả vừa giữ lại được nhiều thông tin
lâm sàng trên tín hiệu, đáp ứng được yêu cầu đặt ra khi khử nhiễu tín hiệu điện tim.
4.3. Xây dựng giao diện xử lý nhiễu tín hiệu điện tim bằng phép biến đổi
Wavelet Packet
Trong Matlab, GUIDE được biết đến như một công cụ để xây dựng giao diện
nhằm tạo ra sự tương tác giữa người sử dụng và chương trình. Do giới hạn của đề
tài và thời gian có hạn nên giao diện xử lý nhiễu tín hiệu điện tim được xây dựng
với mục đích nhằm phục vụ cho các nghiên cứu tiếp theo. Khi hoàn thành, giao diện
sẽ thực hiện các chức năng chính sau:
- Tải một tín hiệu từ bên ngoài vào giao diện;
- Cộng nhiễu Gauss trắng vào trong tín hiệu;
- Chọn hàm Wavelet mẹ, mức phân tách;
- Chọn quy tắc tính entropy;
- Hiển thị cây phân tách Wavelet Packet và các giá trị entropy tương ứng;
- Hiển thị cây phân tách tối ưu;
- Chọn ngưỡng cứng, ngưỡng mềm;
- Khử nhiễu tín hiệu;
- Tính SNR , MSE và PRD ;
- RESET các thiết lập và thoát khỏi giao diện.
44
Quá trình xây dựng giao diện xử lý nhiễu tín hiệu điện tim gồm hai giai đoạn
chính là thiết kế giao diện và thực thi hàm trong GUIDE.
4.3.1. Thiết kế giao diện
Đầu tiên, để khởi động GUIDE, gõ lệnh “guide” vào cửa sổ Comment
Windows trong Matlab và nhấn Enter, kết quả xuất hiện hộp thoại GUIDE Quick
Start, chọn “Blank GUI (Default)” và nhấn OK để xuất hiện giao diện trống. Trước
khi tạo giao diện, cần lưu lại; Matlab sẽ tự động lưu 2 file trong đó một file có đuôi
“.m” để thực thi hàm và một file đuôi “.fig” để thiết kế giao diện.
Hình 4.16. Giao diện GUIDE.
Trong giao diện, phía trên là các thanh công cụ chức năng và phía bên trái là
nhóm các biểu tượng được Matlab hỗ trợ sẵn:
- : Push Button là nút nhấn, khi nhấn vào sẽ thực thi lệnh trong hàm
Callback.
- : Slider là thanh trượt cho phép di chuyển thanh trượt để thực thi lệnh.
- : Radio Button là nút chỉ được chọn một lần duy nhất trong nhóm nhiều nút,
khi một nút được chọn thì các nút còn lại xem như bỏ chọn.
- : Check Box dùng để đánh dấu tích (thực thi) và có thể chọn nhiều lựa
chọn.
- : Edit Text dùng để nhận ký tự, có thể thay đổi được.
- : Static Text dùng để hiển thị các ký tự thông qua các hàm Callback hay
viết nhãn cho các biểu tượng, nội dung không thể thay đổi được.
45
- : Pop – up Menu dùng để mở danh sách các lựa chọn khi người dùng nhấp
chuột vào và chỉ chọn được 1 mục duy nhất.
- : Listbox là hộp danh sách các mục, có thể chọn một hoặc nhiều mục.
- : Toggle Button là nút nhấn 2 điều khiển, nhấn vào lần thứ nhất thì lệnh
thực thi, nhấn vào lần thứ 2 để hủy lệnh thực thi.
- : Table dùng để tạo ra bảng tương tự trong excel.
- : Axes để tạo giao diện đồ họa hình ảnh 2 chiều hoặc 3 chiều.
- : Panel nhóm các biểu tượng lại với nhau để dễ kiểm soát và thao tác.
- : Button Group quản lý lựa chọn các nút Radio Button.
- : ActiveX Control quản lý nhóm các nút hoặc các chương trình liên quan
trong Active.
Lần lượt dùng chuột kéo thả các nút vào giao diện (hình 4.33). Sau khi chọn
và kéo thả các hộp thoại vào vùng thiết kế, mỗi hộp thoại có các thông số tùy chỉnh
riêng, để chỉnh các thông số cho các hộp thoại thì nhấp đôi chuột vào hộp thoại đó
sẽ xuất hiện hộp thoại Inspector. Trong hộp thoại Inspector, phía bên trái là tên các
thuộc tính được thực thi bằng lệnh, phía bên phải là giá trị thuộc tính do người dùng
đặt (hình 4.17). Lần lượt thiết lập các giá trị thuộc tính cho tất cả các hộp thoại đã
được đưa vào trong giao diện. Các giá trị thuộc tính được thiết lập theo bảng 4.4 và
thứ tự được đánh số như trong hình 4.17.
Hình 4.17. Thiết kế giao diện và hộp thoại Inspector.
46
Bảng 4.4. Các giá trị thuộc tính của các hộp thoại trong giao diện thiết kế.
STT Tên thuộc tính Giá trị thuộc tính Giải thích
1
Fontsize 13
String Ho Chi Minh City University of Education
2 Fontsize 13 String Faculty of Physics
3 Fontsize 13 String Nguyen Trung Hieu – k37.105.046
4
Fontsize 15
String Load Signal
Tag Load
5 Fontsize 13 String White Gaussian Noise
6 Fontsize 13 String SNR =
7
Fontsize 13
String Để trống
Tag snr
8 Fontsize 13 String dB
9 Fontsize 15 String Add to Signal
10 Fontsize 13 String Wavelet Function
11
Fontsize 13
String
Haar
Db1
Db2
Db3
Db4
Db5
Db6
Db7
Db8
Db9
Db10
Sym2
Sym3
Sym4
Sym5
Sym6
Sym7
Coif1
Coif2
Coif3
Coif4
Coif5
Bior1.1
Bior1.3
Bior1.5
47
Bior2.2
Bior2.4
Bior2.6
Bior2.8
Bior3.1
Bior3.3
Bior3.5
Bior3.7
Bior3.9
Bior4.4
Bior5.5
Bior6.8
Rbio1.1
Rbio1.3
Rbio1.5
Rbio2.2
Rbio2.4
Rbio2.6
Rbio2.8
Rbio3.1
Rbio3.3
Rbio3.5
Rbio3.7
Rbio3.9
Rbio4.4
Rbio5.5
Rbio6.8
Dmey
Tag Wname
12 Fontsize 13 String Decomposition Level
13
Fontsize 13
String
1
2
3
4
5
6
7
8
9
10
Tag N
14 Fontsize 13 String Entropy
15
Fontsize 13
String
Shannon
Loagrit energy
Norm
Sure
Threshold
Tag entropy
48
16 Fontsize 10 Title Threshold
17
Fontsize 13
String Hard
Tag hard
18 Fontsize 13 String Soft
19 Fontsize 15 String Denoise
Tag denoise
20
Fontsize 15
String RESET
Tag clc
21
Fontsize 13
String Analyze
Tag analyze
22 Fontsize 13 String Entropy Value
23
Fontsize 12
String
Tag entropy1
24
Fontsize 13
String Best tree
Tag besttree
25
Fontsize 15
String
DENOISING ELECTROCARDIAGRAM
SIGNAL USING WAVELET PACKET
TRANSFORM
26
Fontsize 13 Thuộc tính Visible
là thuộc tính cho
phép chọn hiện
(on) hay ẩn (off).
String Signal
Tag nhan1
Visible off
27 Tag Axes1 Visible off
28
Fontsize 13
String Noissy Signal Tag nhan2
Visible off
29 Tag Axes1 Visible off
30
Fontsize 13
String Denoise Signal Tag nhan3
Visible off
31 Tag Axes3 Visible off
32 Fontsize 13 String SNR =
33 Fontsize 13 String
49
Tag snro
34 Fontsize 13 String dB
35 Fontsize 13 String MSE =
36
Fontsize 13
String
Tag mseo
37 Fontsize 13
String 10^-6(mV^2)
38 Fontsize 13 String PRD =
39
Fontsize 13
String
Tag prdo
40 Fontsize 13 String %
41
Fontsize 15
String EXIT
Tag close
Sau khi thiết lập các thông số của thuộc tính trong các hộp thoại, dùng chuột
và các nút chức năng bố trí các hộp thoại theo sẽ được giao diện như hình 4.18.
Hình 4.18. Giao diện sau khi thiết lập các thuộc tính.
Tiếp theo, thiết lập tùy chọn nâng cao bằng cách vào Menu Tool, chọn GUI
options. Tại hộp thoại GUI options, chọn “Proportional” ở mục Resize behavior để
cho phép người dùng có thể thay đổi kích thước giao diện, sau đó nhấn OK.
50
4.3.2. Thực thi hàm trong GUIDE
Thực thi hàm trong GUIDE là cách thiết lập các công việc cho các đối tượng
trong giao diện thông qua các câu lệnh của các hàm CallBack được thiết kế sẵn
trong Mfile. Cấu trúc một hàm Callback như sau: Function Tag_ Callback (hObject,
evendata, handles).
Trong đó: Tag là các giá trị của thuộc tính tag đã thiết lập trong Inspector,
hObject là hàm truy cập nội bộ của mỗi function riêng lẻ, eventdata là hàm xác định
thuộc tính của function và handles là hàm truy cập liên kết giữa các function dùng
để truy xuất qua các điều khiển khác. Ngoài ra, người ta thường dùng các hàm Get
để gọi thuộc tính đối tượng và hàm Set để đặt giá trị thuộc tính cho đối tượng. Để
tạo liên kết giữa các hàm Callback với nhau, GUI có hỗ trợ thêm một biến chung
gọi là biến hệ thống, bất cứ hàm Callback nào cũng có thể sử dụng nó. Biến hệ
thống có cấu trúc: Handles.unit_input. Để thực thi hàm Callback cần vào màn hình
giao diện GUI vừa thiết kế, nhấp đôi chuột vào đối tượng muốn thực thi hàm, sau
đó nhấn phải chuột, chọn ViewCallback và chọn Callback. Hàm Callback sẽ tự
động được gọi và con trỏ chuột sẽ tìm đến vị trí của nó trong Mfile.
a. Nút Load Signal
Công việc của nút “Load Signal” là khi nhấn vào nút này thì sẽ đưa một tín
hiệu từ bên ngoài vào và vẽ tín hiệu này lên trên đồ thị thứ nhất.
Hình 4.19. Hàm Callback cho nút Load Signal.
51
Giải thích:
Câu lệnh 1: set(handles.nhan1, ‘visible’, ‘on’): dùng để đặt thuộc tính của nhan1 ở
trạng thái on (hiển thị).
Câu lệnh 2: set(handles.axes1, ‘visible’, ‘on’): dùng để đặt thuộc tính của axes1 ở
trạng thái on (hiển thị).
Câu lệnh 3: ELEVATE = []
[fname path] = uigetfile(‘*.mat’);
fname = strcat(path,fname);
load(fname);
Câu lệnh 3 dùng để tải một tín hiệu từ bên ngoài vào có định dạng .mat.
Câu lệnh 4: plot(handles.axes1,k): vẽ tín hiệu vừa tải được vào trong đồ thị có thuộc
tính tag là axes1.
Câu lệnh 5: handles.unit_input=k;
guidata(hObject, handles);
Câu lệnh 5 dùng để lưu k dưới dạng biến hệ thống dùng chung cho tất cả các
hàm Callback, như vậy giá trị của biến hệ thống handles.unit_input là k.
b. Nút Add to Signal
Công việc của nút “Add to Signal” là khi nhấn vào nút này thì tín hiệu sạch sẽ
được cộng nhiễu Gauss trắng vào và vẽ tín hiệu này lên trên đồ thị thứ hai.
Hình 4.20. Hàm Callback cho nút Add to Signal.
Giải thích:
52
Câu lệnh 1: b=str2num(get(handles.snr, ‘string’)): dùng để chuyển dữ liệu trong hộp
thoại có thuộc tính tag là snr từ kiểu ký tự sang kiểu số để máy tính hiểu và tính
toán.
Câu lệnh 2: set(handles.nhan2, ‘visible’, ‘on’) và set(handles.axes2, ‘visible’, ‘on’):
để đặt thuộc tính của nhan2 và axes2 ở trạng thái on (hiển thị).
Câu lệnh 3: plot(handles.axes2,s): vẽ tín hiệu s vào đồ thị có thuộc tính tag là axes2.
Câu lệnh 4: handles.unit_input1=s;
guidata(hObject, handles);
Câu lệnh 4 dùng để lưu s dưới dạng biến hệ thống có tên là handles.unit_input1.
c. Wavelet Function
Hình 4.21. Hàm Callback cho hộp thoại Wavelet Function.
Giải thích:
Câu lệnh 1: y=get (handles.Wname, ‘value’)
If y==1;
Wname=‘haar’;
elseif y==2;
Wname=‘db1’;
53
Câu lệnh 1: dùng để lấy thuộc tính (Value) của hộp thoại có Tag là “Wname”.
Thuộc tính Value được chọn tương ứng với các hàng của nó. Ví dụ: nếu chọn
Wavelet Haar, thì Haar ở dòng thứ nhất, do đó thuộc tính Value của nó bằng 1
tương ứng với dòng thứ nhất và tương tự cho các dòng còn lại.
Câu lệnh 2: handles.unit_input2=Wname;
Guidata(hObject, handles);
Câu lệnh 2 dùng để lưu Wname vào biến hệ thống chung cho các hàm Callback
có tên là handles.unit_input2.
d. Decomposition Level
Hình 4.22. Hàm Callback cho hộp thoại Decomposition.
Giải thích: tương tự như đoạn code trong hình 4.20, nhưng ở đây lấy thuộc
tính Value của hộp thoại có Tag là N. Sau đó, lưu N vào biến hệ thống chung cho
các hàm Callback có tên là handles.unit_input3.
e. Entropy
54
Hình 4.23. Hàm Callback cho hộp thoại Entropy.
Giải thích: tương tự như đoạn code trong hình 4.20, nhưng ở đây lấy thuộc
tính Value của hộp thoại có Tag là entropy. Sau đó tính cây phân tách Wavelet
Packet “tree” và giá trị entropy của các hệ số “t1”. Cuối cùng, lưu tree và t1 vào
biến hệ thống chung cho các hàm Callback có tên lần lượt là handles.unit_input5 và
handles.unit_input8.
f. Nút Analyze
Công việc của nút “Analyze” là hiển thị cây phân tách Wavelet Packet và tính
các giá trị entropy tương ứng với các hệ số Wavelet.
Hình 4.24. Hàm Callback cho nút Analyze.
Giải thích: Vẽ đồ thị của biến hệ thống có tên là Handles.unit_input5 và tính
giá trị entropy trên các hệ số “nent”, sau đó, hiển thị giá trị “nent” tại ô có thuộc tính
Tag là entropy1.
g. Nút Besttree
Công việc của nút “Besttree” là hiển thị cây phân tách tối ưu.
Hình 4.25. Hàm Callback cho nút Besttree.
Giải thích: đầu tiên, tính cây phân tách tốt nhất của biến hệ thống chung có tên
là handles.unit_input5 và đặt là t, sau đó vẽ t, đồng thời lưu t vào biến hệ thống
chung của các hàm Callback có tên là handles.unit_input6.
55
h. Threshold
Hình 4.26. Hàm Callback cho hộp thoại Threshold.
Giải thích: tương tự như đoạn code trong hình 4.20, nhưng ở đây lấy thuộc
tính Value của hộp thoại có Tag là soft. Sau đó, lưu sorh vào biến hệ thống chung
cho các hàm Callback có tên là handles.unit_input7.
i. Nút Denoise
Hình 4.27. Hàm Callback cho nút Denoise.
Giải thích:
Câu lệnh 1: set(handles.nhan3, ‘visible’, ‘on’);
set(handles.axes3, ‘visible’, ‘on’);
Đặt thuộc tính visible cho hộp thoại có Tag là nhan3 và axes3 ở trạng thái on
(hiển thị).
Câu lệnh 2: set(handles.snro, ‘string’,snr): dùng để chuyển dữ liệu kiểu số thành dữ
liệu kiểu chuỗi và hiển thị tại ô có thuộc tính tag là snro.
j. Nút RESET
56
Hình 4.28. Hàm Callback cho nút RESET.
Giải thích: đưa thuộc tính String đối với tất cả các hộp thoại có Tag là snr,
snro, mseo, prdo và entropy1 về trạng thái rỗng “ ” ban đầu. Mặc khác, đưa thuộc
tính Value đối với các hộp thoại có Tag là Wname, entropy và N về trạng thái 1
mặc định ban đầu là Wavelet Haar, entropy Shannon và mức phân tách 1N = .
k. Nút EXIT
Hình 4.29. Hàm Callback cho nút EXIT.
4.3.3. Sử dụng giao diện xử lý nhiễu tín hiệu điện tim bằng phép biến đổi
Wavelet Packet
Hình 4.30. Giao diện xử lý nhiễu tín hiệu điện tim.
57
Để sử dụng giao diện xử lý nhiễu tín hiệu điện tim bằng phép biến đổi
Wavelet Packet cần thực hiện theo những bước sau:
- Bước 1: Nhấn vào nút “Load Signal”, hộp thoại “Select to Open” hiện lên, chọn
đường dẫn đến nơi chứa tín hiệu cần dùng có dạng Mfile, chọn tín hiệu và nhấn
chuột trái vào nút open. Tín hiệu được chọn sẽ hiển thị bên cạnh. Đây là tín hiệu
sạch.
- Bước 2: Nhập SNR của nhiễu Gauss trắng vào và nhấn vào nút “Add to
Signal”, tín hiệu sau khi được cộng nhiễu sẽ được hiển thị.
- Bước 3: Chọn hàm Wavelet mẹ, mức phân tách và quy tắc tính entropy, sau đó,
nhấn nút “Analyze”, cây phân tách Wavelet Packet sẽ được hiển thị và các giá
trị entropy sẽ được tính và hiển thị bên cạnh.
- Bước 4: Nhấn nút “Besttree” để tính và hiển thị cây phân tách tốt nhất.
- Bước 5: Chọn ngưỡng cứng hay ngưỡng mềm và nhấn nút “Denoise”, tín hiệu
sau khử nhiễu sẽ được hiển thị cùng với các giá trị SNR , MSE và PRD được
hiển thị ngay bên cạnh.
- Bước 6: Để xóa các dữ liệu đã tính toán và thiết lập thì chọn nút “RESET”, để
thoát khỏi giao diện chọn nút “EXIT”.
4.3.4. Đánh giá giao diện xử lý nhiễu tín hiệu điện tim bằng phép biến đổi
Wavelet Packet
Như vậy, giao diện xử lý nhiễu tín hiệu điện tim sau khi được xây dựng sẽ có
dạng như hình 4.30. Mặc khác, trong cơ sở dữ liệu của Matlab có giao diện đồ họa
Wavelet Toolbox Main Menu cũng có chứa giao diện xử lý nhiễu tín hiệu bằng
phép biến đổi Wavelet Packet. Tuy nhiên, giao diện này có hạn chế là vẫn còn thiếu
một số chức năng rất cần thiết cho công tác nghiên cứu xử lý tín hiệu y sinh. Giao
diện xử lý nhiễu tín hiệu điện tim bằng phép biến đổi Wavelet Packet được phát
triển dựa trên cơ sở của giao diện trong Wavelet Toolbox Main Menu nhằm khắc
phục các hạn chế trên. Giao diện vừa xây dựng có thể giúp làm chủ được lượng
nhiễu đưa vào tín hiệu, hiển thị được tín hiệu nhiễu và tín hiệu sau khử nhiễu và tính
được giá trị SNR , MSE và PRD rất thuận tiện trong công tác nghiên cứu. Ngoài
58
ra, giao diện vừa xây dựng còn có ưu điểm so với giao diện trong Wavelet Toolbox
Main Menu là tính và hiển thị giá trị entropy trên các hệ số hỗ trợ cho việc nghiên
cứu cây phân tách tốt nhất.
4.4. Xây dựng giao diện ngân hàng tín hiệu điện tim
Trong nghiên cứu tín hiệu y sinh trong đó có tín hiệu điện tim, ngoài việc phải
tìm ra phương pháp xử lý tín hiệu hiệu quả thì các tín hiệu và thông tin về tín hiệu
cũng đóng một vai trò rất quan trọng. Trước thực tế đó đặt ra yêu cầu là cần có một
ngân hàng tín hiệu điện tim giúp cho các nhà nghiên cứu hoặc các bác sĩ có thể
tham khảo và nghiên cứu trên đó. Để đáp ứng được yêu cầu trên, tôi tiến hành xây
dựng giao diện ngân hàng tín hiệu điện tim phục vụ cho công tác nghiên cứu cũng
bằng lập trình giao diện GUIDE. Khi xây dựng xong, giao diện sẽ có những chức
năng chính như sau:
- Chọn một bệnh nhân muốn xem thông tin (dữ liệu 200 bệnh nhân).
- Hiển thị các thông tin về:
o Dữ liệu bệnh nhân (tuổi, giới tính, chẩn đoán, tiền sử bệnh, hỗ trợ dược lý
và nhận định chuyên môn).
o Dữ liệu điện tâm đồ (nhịp cơ sở, giải thích điện tâm đồ, thông tin về máy
điều hòa nhịp tim (nếu có) và nhận xét chuyên môn).
o Dữ liệu huyết lưu (ART, PAP, RAP, MEAN, PCW).
o Kiểu sóng.
o Dữ liệu hô hấp (tốc độ, phương thức lọc máu bằng oxy, ghi nhận CO2).
Quá trình xây dựng giao diện ngân hàng tín hiệu điện tim gồm 04 giai đoạn
chính là tiền xử lý tín hiệu, xử lý tín hiệu, thiết kế giao diện và nhập dữ liệu (thực
thi hàm trong GUIDE).
4.4.1. Tiền xử lý tín hiệu
Tín hiệu sử dụng để xây dựng ngân hàng tín hiệu điện tim được tải về từ trang
physionet.org [14]. PhysioNet Resource được thành lập vào năm 1999, được thiết
kế để khuyến khích nghiên cứu các tín hiệu y sinh học và sinh lý phức tạp và được
tài trợ bởi Viện Y Sinh và kỹ thuật sinh học (NIBIB) và viện khoa học y học
59
(NIGMS) tại viện y tế quốc gia. Đây là một dự án được khởi xướng bởi một nhóm
các nhà khoa học máy tính, các nhà vật lý, toán học, các nhà nghiên cứu y sinh học,
các bác sĩ và các nhà giáo dục tại Boston của trung tâm y khoa Beth Israel
Deaconess, trường y Harvard, đại học Boston và đại học McGill. Nó gồm có 03
thành phần chính là PhysioBank, PhysioToolkit và PhysioNetWords. Trong đó,
PhysioBank là kho lưu trữ lớn các tín hiệu sinh lý và các dữ liệu liên quan được sử
dụng bởi cộng đồng nghiên cứu y sinh học. Tất cả các công trình nghiên cứu về kỹ
thuật y sinh trên thế giới đều lấy tín hiệu trên Physionet làm tín hiệu chuẩn để phân
tích, so sánh và đánh giá.
Trong cơ sở dữ liệu MGH/MF của PhysionetBank, có các tín hiệu của 250
bệnh nhân được khảo sát ở các điều kiện khác nhau. Tuy nhiên, cơ sở dữ liệu của
250 bệnh nhân này vẫn chưa đầy đủ và cần được đánh giá, chọn lọc trước khi xây
dựng ngân hàng tín hiệu điện tim.
4.4.2. Xử lý tín hiệu
Sau khi khảo sát và đánh giá các tín hiệu của 250 bệnh nhân, tôi chọn ra được
200 tín hiệu tiêu biểu cần cho xây dựng ngân hàng tín hiệu điện tim. Sau đó, tôi
dùng công cụ cắt tín hiệu trong Wavelet Toolbox Main Menu để cắt và thay đổi tên
thuộc tính của tín hiệu để dễ dàng khi thực thi hàm.
4.4.3. Thiết kế giao diện
Quá trình xây dựng giao diện ngân hàng tín hiệu điện tim hoàn toàn tương tự
như quá trình xây dựng giao diện xử lý nhiễu tín hiệu điện tim bằng phép biến đổi
Wavelet Packet. Mở giao diện GUIDE và lần lượt dùng chuột kéo thả các đối tượng
vào giao diện và tùy chỉnh để thiết lập các thuộc tính cho tất cả các đối tượng. Sau
khi các đối tượng được thiết lập thuộc tính, giao diện có dạng như hình 4.31.
60
Hình 4.31. Giao diện ngân hàng tín hiệu điện tim sau khi thiết lập các thuộc tính.
4.4.4. Nhập dữ liệu (Thực thi hàm trong GUIDE)
Quá trình thực thi hàm khi xây dựng ngân hàng tín hiệu điện tim cũng tương
tự như quá trình xây dựng giao diện xử lý nhiễu tín hiệu điện tim. Trong giao diện
này, công việc chủ yếu là thực thi hàm cho nút “Information”. Công việc của nút
này là vẽ các tín hiệu điện tim và hiển thị các thông tin tương ứng với bệnh nhân
cần xem dữ liệu.
Hình 4.32. Hàm Callback cho nút Information.
Câu lệnh 1: N=get(handles.patient,'value'): dùng để lấy thuộc tính giá trị của đối
tượng có thuộc tính Tag là patient.
61
Câu lệnh 2: load('D:\Signal\Patient_0011');
x=detrend(Patient_0011,'constant');
Giải thích: Câu lệnh 2 dùng để tải 1 tín hiệu theo 1 đường dẫn đã được quy định
trước, sau đó đặt tín hiệu đó là x.
Câu lệnh 3: set(handles.nhan1,'string','Lead V1'): đặt thuộc tính string cho đối tượng
có thuộc tính Tag là nhan1 thành Lead V1.
Câu lệnh 4: plot(handles.axes1,x): dùng để vẽ tín hiệu x vào đối tượng có thuộc tính
Tag là axes1.
Quá trình thực thi hàm cứ tương tự như vậy cho các bệnh nhân còn lại. Thực
thi hàm cho nút “Exit” cũng tương tự như ở giao diện xử lý nhiễu tín hiệu điện tim
bằng phép biến đổi Wavelet Packet.
Cách sử dụng ngân hàng tín hiệu điện tim rất đơn giản. Đầu tiên, chọn một
bệnh nhân cần xem thông tin, sau đó nhấn vào nút “Information”, các thông tin về
bệnh nhân sẽ được hiển thị tương ứng. Nhấn “Exit” để thoát khỏi giao diện.
Như vậy, giao diện ngân hàng tín hiệu điện tim vừa được xây dựng có thể
phục vụ cho các nghiên cứu của bác sĩ và các nhà nghiên cứu tín hiệu điện tim. Tuy
nhiên, do giới hạn của đề tài và hạn chế về mặt thời gian, nên ngân hàng tín hiệu
điện tim vẫn còn một số hạn chế nhất định cần được khắc phục như thông tin về các
bệnh nhân vẫn chưa đầy đủ và chỉ thể hiện ba tín hiệu của ba chuyển đạo khác nhau
trong khi tổng cộng có đến 12 chuyển đạo.
62
Hình 4.33. Giao diện ngân hàng tín hiệu điện tim.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết luận
Luận văn “Cải tiến xử lý nhiễu tín hiệu điện tim bằng phép biến đổi Wavelet
Packet” đã đạt được những kết quả nhất định so với mục tiêu ban đầu đã đề ra:
63
- Khảo sát hàm Wavelet mẹ và mức phân tách tối ưu của các quy tắc entropy
trong phép biến đổi Wavelet Packet.
- Khảo sát quy tắc entropy tối ưu trong phép biến đổi Wavelet Packet về hiệu quả
xử lý nhiễu và khả năng giữ lại các thông tin lâm sàng trên tín hiệu điện tim.
- Đánh giá, so sánh hiệu quả xử lý nhiễu và khả năng giữ lại các thông tin lâm
sàng trên tín hiệu điện tim giữa phép biến đổi Wavelet rời rạc và Wavelet
Packet.
- Xây dựng giao diện xử lý nhiễu tín hiệu điện tim bằng phép biến đổi Wavelet
Packet và ngân hàng tín hiệu điện tim.
Kết quả luận văn cho thấy phép biến đổi Wavelet Packet có hiệu quả xử lý
nhiễu và khả năng giữ lại độ sắc, độ nét trong tín hiệu hay nói cách khác là khả
năng giữ lại các thông tin lâm sàng trên tín hiệu tốt hơn so với phép biến đổi
Wavelet rời rạc. Như vậy, phép biến đổi Wavelet Paccket đã cải tiến những hạn chế
của phép biến đổi Wavelet rời rạc, đáp ứng được mục tiêu đề ra của luận văn.
Hướng phát triển
Wavelet là một công cụ rất mạnh được ứng dụng rộng rãi không chỉ trong xử
lý tín hiệu mà còn nhiều lĩnh vực khác nhau của đời sống xã hội, do đó, hướng phát
triển cho nghiên cứu Wavelet cũng rất rộng:
- Xử lý nhiễu trên điện não đồ, điện cơ đồ và điện nhãn đồ,
- Xử lý ảnh, âm thanh, nhận dạng tiếng nói, nhận dạng dấu vân tay,
- Phát triển ngưỡng mới kết hợp ưu điểm của ngưỡng cứng và ngưỡng mềm.
- Xây dựng hàm Wavelet mới cho phân tích, xử lý và tái tạo ứng với từng đối
tượng tín hiệu cụ thể.
- Wavelet chỉ nghiên cứu trên tín hiệu 1 chiều và hình ảnh 2 chiều chứ chưa
nghiên cứu trên ảnh 3 chiều, do đó, ta có thể phát triển Wavelet 3 chiều hứa hẹn
sẽ mang lại những kết quả và ứng dụng hiệu quả trong y học như CT, MRI,
SPECT/CT, PET/CT, cũng như các lĩnh vực khác nhằm nâng cao chất lượng
cuộc sống con người.
64
- Thiết kế thiết bị chẩn đoán tự động và chính xác các bệnh lý tim mạch góp phần
giảm nhẹ lý thuyết điện tâm đồ và cải thiện chất lượng cuộc sống của các bệnh
nhân bệnh tim mạch.
Hi vọng đề tài sẽ được phát triển hơn nữa góp phần nâng cao hiệu quả trong
chẩn đoán và điều trị các bệnh tim mạch, khai thác được những thông tin lâm sàng
quý giá từ tín hiệu điện tim, qua đó tạo tiền đề cho những nghiên cứu sâu hơn, chất
lượng hơn trong lĩnh vực xử lý tín hiệu y sinh tại khoa Vật Lý, trường Đại học Sư
phạm Thành phố Hồ Chí Minh nói riêng và nghành Vật lý kỹ thuật y sinh tại Việt
Nam nói chung.
65
DANH MỤC CÔNG TRÌNH ĐÃ CÔNG BỐ
1. Trần Đặng Bảo Ân, Nguyễn Hữu Đông, Lê Công Nhân, Nguyễn Trung Hiếu
(2015), “Các hàm Wavelet tối ưu trong xử lý tín hiệu điện cơ”, Hội nghị Khoa
học Kỹ thuật Đo lường toàn quốc lần thứ VI – Hà Nội, tr503 – 510.
2. Nguyễn Trung Hiếu (2015), Ứng dụng phép biến đổi Wavelet trong xử lý nhiễu
tín hiệu điện tim, Luận văn tốt nghiệp, Trường Đại học Sư phạm Thành phố Hồ
Chí Minh, Hồ Chí Minh.
66
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Nhà xuất bản y học (2009), Điện tâm đồ trong thực hành lâm sàng, Đại học Y
dược Thành phố Hồ Chí Minh, Hồ Chí Minh.
[2] Nguyễn Hữu Đông (2014), Thu nhận và xử lý tín hiệu điện cơ bằng phép biến
đổi Wavelet, Luận văn thạc sĩ, Trường Đại học Bách Khoa Thành phố Hồ Chí
Minh, Hồ Chí Minh.
[3] Hoàng Mạnh Hà (2011), Các phương pháp thích nghi trong lọc nhiễu tín hiệu
điện tim, Luận án tiến sĩ toán học, Viện công nghệ thông tin, Hà Nội.
[4] Nguyễn Hoàng Hải, Nguyễn Việt Anh, Phạm Minh Toàn, Hà Trần Đức (2005),
Công cụ phân tích Wavelet và ứng dụng trong Matlab, Nhà xuất bản khoa học và kỹ
thuật, Hà Nội.
[5] Nguyễn Trung Hiếu (2015), Ứng dụng phép biến đổi Wavelet trong xử lý tín
hiệu điện tim, Luận văn tốt nghiệp, Trường Đại học Sư phạm Thành phố Hồ Chí
Minh, Hồ Chí Minh.
[6] Đỗ Huy Khôi, Đỗ Văn Toàn, Thái Quang Vinh (2014), “Phương pháp triệt
nhiễu xung tín hiệu RF bằng biến đổi Wavelet Packet kết hợp với thống kê bậc cao
(HOS)”, Tạp chí khoa học và công nghệ, tr101 – 108.
[7] Quách Mỹ Phượng (2006), Thiết kế và chế tạo thiết bị đo ECG giao tiếp
với máy tính, Luận văn tốt nghiệp, Trường Đại học Bách Khoa Thành phố Hồ Chí
Minh, Hồ Chí Minh.
[8] Đoàn Minh Quân, Nguyễn Kim Dung, Nguyễn Hữu Trường, Hà Thị Lan Anh
(2011), Phép biến đổi Wavelet, Báo cáo chuyên đề môn học, Học viện công nghệ
bưu chính viễn thông, Hà Nội.
[9] Bùi Phương Thảo (2007), Xử lý nhiễu tín hiệu ECG bằng Wavelet, Luận văn tốt
nghiệp, Trường Đại học Bách Khoa Thành phố Hồ Chí Minh, Hồ Chí Minh.
67
Tiếng Anh
[10] Donoho, D.L. (1995), “De-noising by soft-thresholding”, IEEE, Trans. on Inf.
Theory, 41, 3, pp. 613–627.
[11] Himanshu Gothwal, Silky Kedawat, Rajesh Kumar (2011), “Cardiac
arrhythmias detection in an ECG beat signal using fast fourier transform and
artificial neutron network”, J. Biomedical Science and Engineering, pp. 289 – 296.
[12] Mahajan (2014), “Hybrid ECG signal compression system: a step toward
efficient telecadiology”, IEEE, pp. 437 – 442.
[13] Wang Jungchen, Zheng Yi, Wang Zhongqiu, Ni XiuHui (2012), “Application
and Simulation of Wavelet Packet Transform in Unserwater Acoustic Signal
Denoising”, The 2nd International Conference on Computer Application and System
Modeling, pp. 911 – 914.
Trang Web
[14] Truy cập 04/02/2015.
68
PHỤ LỤC
PL1. Entropy Logarit energy
PL1.1. Khảo sát hàm Wavelet mẹ tốt nhất
Bảng kết quả tính SNR , MSE và PRD thu được từ 54 hàm Wavelet khác nhau
ứng với entropy Logarit energy trong phép biến đổi Wavelet Packet.
STT Wavelet SNR (dB) MSE (10-6mV) PRD (%)
1 Haar 9,7871 37,2877 0,3242
2 Db1 9,7990 37,1841 0,3238
3 Db2 11,1020 27,5562 0,2787
4 Db3 11,5632 24,7880 0,2643
5 Db4 11,6259 24,4330 0,2624
6 Db5 11,7159 23,9297 0,2597
7 Db6 11,7511 23,7349 0,2587
8 Db7 11,7309 23,8457 0,2593
9 Db8 11,7770 23,5953 0,2579
10 Db9 11,6969 24,0291 0,2603
11 Db10 11,8054 23,4378 0,257
12 Sym2 11,1103 27,5031 0,2784
13 Sym3 11,5595 24,8117 0,2645
14 Sym4 11,6667 24,2036 0,2612
15 Sym5 11,6027 24,5608 0,2631
16 Sym6 11,7603 23,6847 0,2584
17 Sym7 11,6693 24,1901 0,2611
18 Sym8 11,8363 23,2753 0,2561
19 Coif1 11,1555 27,2209 0,2770
20 Coif2 11,7299 23,8517 0,2593
21 Coif3 11,7024 24,0038 0,2601
22 Coif4 11,8396 23,2558 0,2560
23 Coif5 11,7617 23,6759 0,2583
24 Bior1.1 9,79203 37,2455 0,3240
25 Bior1.3 9,74200 37,6745 0,3259
26 Bior1.5 9,5893 39,0254 0,3317
27 Bior2.2 11,6418 24,3430 0,2619
28 Bior2.4 12,0624 22,0989 0,2496
29 Bior2.6 12,1806 21,5041 0,2462
30 Bior2.8 12,0572 22,1228 0,2497
31 Bior3.1 7,8083 58,8194 0,4072
32 Bior3.3 10,8048 29,5190 0,2884
33 Bior3.5 11,3595 25,9783 0,2706
34 Bior3.7 11,5478 24,8783 0,2648
35 Bior3.9 11,6363 24,3800 0,2621
36 Bior4.4 11,5348 24,9463 0,2652
37 Bior5.5 11,3375 26,0972 0,2713
38 Bior6.8 11,7018 24,0061 0,2601
39 Rbio1.1 9,7915 37,2454 0,3241
69
40 Rbio1.3 11,2131 26,8660 0,2752
41 Rbio1.5 11,1522 27,2421 0,2771
42 Rbio2.2 9,0917 43,7588 0,3512
43 Rbio2.4 10,9764 28,3675 0,2828
44 Rbio2.6 11,3996 25,7334 0,2693
45 Rbio2.8 11,3659 25,9348 0,2704
46 Rbio3.1 -0,4957 397,6458 1,0589
47 Rbio3.3 7,4708 63,5411 0,4233
48 Rbio3.5 9,9796 35,6705 0,3171
49 Rbio3.7 10,9165 28,7540 0,2847
50 Rbio3.9 11,3368 26,1059 0,2713
51 Rbio4.4 11,6041 24,5524 0,2631
52 Rbio5.5 12,1576 21,6203 0,2469
53 Rbio6.8 11,6913 24,0651 0,2605
54 Dmey 11,8275 23,3240 0,2564
0 10 20 30 40 50 60
0
2
4
6
8
10
12
14
Ty
û le
ä tí
n h
ieä
u t
re
ân n
hie
ãu S
NR
(d
B)
Haøm Wavelet meï
0 10 20 30 40 50 60
0.0
1.0x10-5
2.0x10-5
3.0x10-5
4.0x10-5
5.0x10-5
Ño
ä le
äch
bì
nh
ph
öô
ng
tr
un
g b
ình
M
SE
(m
V2
)
Haøm Wavelet meï
Đồ thị thể hiện mối quan hệ giữa SNR và MSE với 54 hàm Wavelet.
0 10 20 30 40 50 60
0.0
0.1
0.2
0.3
0.4
0.5
0.6
Ph
aàn
tr
aêm
ca
ên b
aäc
ha
i
tru
ng
bì
nh
bì
nh
ph
öô
ng
sa
i s
oá P
RD
(%
)
Haøm Wavelet meï
Đồ thị thể hiện mối quan hệ giữa PRD với 54 hàm Wavelet.
70
PL1.2. Tìm mức phân tách tốt nhất
0 1 2 3 4 5 6 7 8 9 10 11
0
2
4
6
8
10
12
14
16
dB10
Sym8
Coif4
Bior2.6
Rbio5.5T
yû l
eä t
ín
hie
äu t
re
ân n
hie
ãu S
NR
(d
B)
Möùc phaân taùch (N)
0 2 4 6 8 10
0.0
1.0x10-5
2.0x10-5
3.0x10-5
4.0x10-5
5.0x10-5
6.0x10-5
7.0x10-5
Ño
ä le
äch
bì
nh
ph
öô
ng
tr
un
g b
ình
M
SE
(m
V2
)
dB10
Sym8
Coif4
Bior2.6
Rbio5.5
Möùc phaân taùch (N)
Đồ thị biểu diễn sự phụ thuộc của SNR và MSE vào số mức phân tách.
0 1 2 3 4 5 6 7 8 9 10 11
0.2
0.3
0.4
0.5
dB10
Sym8
Coif4
Bior2.6
Rbio5.5
Ph
aàn
tr
aêm
ca
ên b
aäc
ha
i
tru
ng
bì
nh
bì
nh
ph
öô
ng
sa
i s
oá P
RD
(%
)
Möùc phaân taùch (N)
Đồ thị biểu diễn sự phụ thuộc của PRD vào số mức phân tách.
PL2. Entropy Sure
PL2.1. Khảo sát hàm Wavelet mẹ tốt nhất
Bảng kết quả tính SNR , MSE và PRD thu được từ 54 hàm Wavelet khác nhau
ứng với entropy Sure trong phép biến đổi Wavelet Packet.
STT Wavelet SNR (dB) MSE (10-6mV) PRD (%)
1 Haar 9,7868 37,2891 0,3242
2 Db1 9,7865 37,2905 0,3242
3 Db2 11,1119 27,4970 0,2784
4 Db3 11,5526 24,8495 0,2647
5 Db4 11,6299 24,4093 0,2623
6 Db5 11,7054 23,9893 0,2600
7 Db6 11,7510 23,7369 0,2587
8 Db7 11,7119 23,9546 0,2599
9 Db8 11,7884 23,5368 0,2576
10 Db9 11,6979 24,0291 0,2603
71
11 Db10 11,8051 23,4425 0,2571
12 Sym2 11,1010 27,5652 0,2788
13 Sym3 11,5545 24,8382 0,2646
14 Sym4 11,6522 24,2861 0,2616
15 Sym5 11,6004 24,5748 0,2632
16 Sym6 11,7602 23,6861 0,2584
17 Sym7 11,6570 24,2558 0,2615
18 Sym8 11,8136 23,3976 0,2568
19 Coif1 11,1656 27,1578 0,2767
20 Coif2 11,7420 23,7884 0,2589
21 Coif3 11,6879 24,0844 0,2606
22 Coif4 11,8152 23,3984 0,2568
23 Coif5 11,7188 23,9322 0,2597
24 Bior1.1 9,8002 37,1733 0,3237
25 Bior1.3 9,7509 37,6026 0,3256
26 Bior1.5 9,5820 39,0944 0,3320
27 Bior2.2 11,5975 24,6231 0,2634
28 Bior2.4 12,0104 22,4045 0,2512
29 Bior2.6 12,0780 22,0890 0,2493
30 Bior2.8 11,8915 23,1115 0,2549
31 Bior3.1 7,7464 59,6561 0,4101
32 Bior3.3 10,4647 32,0737 0,3003
33 Bior3.5 11,0027 28,3748 0,2824
34 Bior3.7 11,0931 27,8199 0,2795
35 Bior3.9 11,0698 27,9951 0,2803
36 Bior4.4 11,5415 24,9079 0,2650
37 Bior5.5 11,4057 25,6916 0,2691
38 Bior6.8 11,6835 24,1105 0,2607
39 Rbio1.1 9,7888 37,2723 0,3242
40 Rbio1.3 11,2122 26,8727 0,2752
41 Rbio1.5 11,1375 27,3350 0,2776
42 Rbio2.2 9,1644 43,0338 0,3483
43 Rbio2.4 11,0644 27,7961 0,2799
44 Rbio2.6 11,4930 25,1864 0,2665
45 Rbio2.8 11,4586 25,3854 0,2675
46 Rbio3.1 -0,4905 397,1830 1,0582
47 Rbio3.3 7,4533 63,7988 0,4241
48 Rbio3.5 9,9791 35,6747 0,3171
49 Rbio3.7 10,9191 28,7411 0,2846
50 Rbio3.9 11,3363 26,1091 0,2713
51 Rbio4.4 11,5950 24,6074 0,2634
52 Rbio5.5 12,0944 21,9721 0,2488
53 Rbio6.8 11,6798 24,1327 0,2608
54 Dmey 11,8362 23,2696 0,2561
72
0 10 20 30 40 50 60
-2
0
2
4
6
8
10
12
14
Ty
û le
ä tí
n h
ie
äu
tre
ân
nh
ie
ãu
SN
R
(d
B)
Haøm Wavelet meï
0 10 20 30 40 50 60
-5.0x10-5
0.0
5.0x10-5
1.0x10-4
1.5x10-4
2.0x10-4
2.5x10-4
3.0x10-4
3.5x10-4
4.0x10-4
4.5x10-4
Ño
ä le
äch
bì
nh
ph
öô
ng
tr
un
g b
ìn
h M
SE
(m
V2
)
Haøm Wavelet meï
Đồ thị thể hiện mối quan hệ giữa SNR và MSE với 54 hàm Wavelet.
0 10 20 30 40 50 60
0.0
0.2
0.4
0.6
0.8
1.0
1.2
Ph
aàn
tra
êm
ca
ên b
aäc
ha
i
tru
ng
bì
nh
bì
nh
ph
öô
ng
sa
i s
oá P
RD
(%
)
Haøm Wavelet meï
Đồ thị thể hiện mối quan hệ giữa PRD với 54 hàm Wavelet.
PL2.2. Tìm mức phân tách tốt nhất
0 1 2 3 4 5 6 7 8 9 10 11
0
2
4
6
8
10
12
14
dB10
Sym8
Coif4
Bior2.6
Rbio5.5Ty
û le
ä tí
n h
ieäu
tr
eân
nh
ieãu
SN
R
(dB
)
Möùc phaân taùch (N)
0 1 2 3 4 5 6 7 8 9 10 11
1.0x10-5
2.0x10-5
3.0x10-5
4.0x10-5
5.0x10-5
6.0x10-5
7.0x10-5
8.0x10-5
9.0x10-5
Ño
ä le
äch
bì
nh
ph
öô
ng
tr
un
g b
ìn
h M
SE
(m
V2
)
dB10
Sym8
Coif4
Bior2.6
Rbio5.5
Möùc phaân taùch (N)
Đồ thị biểu diễn sự phụ thuộc của SNR và MSE vào số mức phân tách.
73
0 1 2 3 4 5 6 7 8 9 10 11
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
dB10
Sym8
Coif4
Bior2.6
Rbio5.5
Ph
aàn
tr
aêm
ca
ên b
aäc
ha
i
tru
ng
bì
nh
bì
nh
ph
öô
ng
sa
i s
oá P
RD
(%
)
Möùc phaân taùch (N)
Đồ thị biểu diễn sự phụ thuộc của PRD vào số mức phân tách.
PL3. Entropy Threshold
PL3.1. Khảo sát hàm Wavelet mẹ tối ưu
Bảng kết quả tính SNR , MSE và PRD thu được từ 54 hàm Wavelet khác nhau
ứng với entropy Threshold trong phép biến đổi Wavelet Packet.
STT Wavelet SNR (dB) MSE (10-6mV) PRD (%)
1 Haar 9,8122 37,0692 0,3233
2 Db1 9,7954 37,2127 0,3239
3 Db2 11,0969 27,5908 0,2789
4 Db3 11,5594 24,8090 0,2644
5 Db4 11,6341 24,3838 0,2622
6 Db5 11,6986 24,0294 0,2603
7 Db6 11,7495 23,7453 0,2587
8 Db7 11,7161 23,9280 0,2597
9 Db8 11,7929 23,5066 0,2574
10 Db9 11,7050 23,9884 0,2600
11 Db10 11,8068 23,4300 0,2570
12 Sym2 11,1015 27,5606 0,2787
13 Sym3 11,5444 24,8973 0,2649
14 Sym4 11,6634 24,2180 0,2613
15 Sym5 11,6010 24,5693 0,2632
16 Sym6 11,7677 23,6466 0,2582
17 Sym7 11,6636 24,2194 0,2613
18 Sym8 11,8120 23,3628 0,2566
19 Coif1 11,1630 27,1748 0,2768
20 Coif2 11,7289 23,8600 0,2593
21 Coif3 11,7051 23,9869 0,2600
22 Coif4 11,8390 23,2606 0,2561
23 Coif5 11,7580 23,6979 0,2585
24 Bior1.1 9,7960 37,2086 0,3239
25 Bior1.3 9,7807 37,3420 0,3245
26 Bior1.5 9,6296 38,6633 0,3302
74
27 Bior2.2 11,6432 24,3329 0,2619
28 Bior2.4 12,0609 22,1067 0,2496
29 Bior2.6 12,1690 21,5607 0,2465
30 Bior2.8 12,0704 22,0567 0,2493
31 Bior3.1 7,5764 62,0336 0,4182
32 Bior3.3 10,5915 30,9925 0,2956
33 Bior3.5 11,1785 27,0767 0,2763
34 Bior3.7 11,3669 25,9294 0,2704
35 Bior3.9 11,4491 25,4427 0,2678
36 Bior4.4 11,5502 24,8588 0,2647
37 Bior5.5 11,4004 25,7223 0,2693
38 Bior6.8 11,6939 24,0478 0,2604
39 Rbio1.1 9,8124 37,0713 0,3233
40 Rbio1.3 11,2172 26,8397 0,2751
41 Rbio1.5 11,1551 27,2240 0,2770
42 Rbio2.2 9,1561 43,1138 0,3486
43 Rbio2.4 11,0646 27,7953 0,2799
44 Rbio2.6 11,5008 25,1415 0,2662
45 Rbio2.8 11,4521 25,4232 0,2677
46 Rbio3.1 -0,4954 397,6112 1,0588
47 Rbio3.3 7,4568 63,7498 0,4239
48 Rbio3.5 9,9744 35,7115 0,3173
49 Rbio3.7 10,9144 28,7711 0,2848
50 Rbio3.9 11,3367 26,1071 0,2713
51 Rbio4.4 11,5895 24,6393 0,2635
52 Rbio5.5 12,1728 21,5448 0,2464
53 Rbio6.8 11,6871 24,0876 0,2606
54 Dmey 11,8290 23,3090 0,2563
0 10 20 30 40 50 60
-2
0
2
4
6
8
10
12
14
Ty
û le
ä tí
n
hi
eäu
tr
eân
n
hi
eãu
S
NR
(d
B)
Haøm Wavelet meï
0 10 20 30 40 50 60
-5.0x10-5
0.0
5.0x10-5
1.0x10-4
1.5x10-4
2.0x10-4
2.5x10-4
3.0x10-4
3.5x10-4
4.0x10-4
4.5x10-4
Ño
ä le
äch
bì
nh
ph
öô
ng
tr
un
g b
ìn
h M
SE
(m
V2
)
Haøm Wavelet meï
Đồ thị thể hiện mối quan hệ giữa SNR và MSE với 54 hàm Wavelet.
75
0 10 20 30 40 50 60
0.0
0.2
0.4
0.6
0.8
1.0
1.2
Ph
aàn
tr
aêm
ca
ên b
aäc
ha
i
tru
ng
bì
nh
bì
nh
ph
öô
ng
sa
i s
oá P
RD
(%
)
Haøm Wavelet meï
Đồ thị thể hiện mối quan hệ giữa PRD với 54 hàm Wavelet.
PL3.2. Tìm mức phân tách tối ưu
0 1 2 3 4 5 6 7 8 9 10 11
0
2
4
6
8
10
12
14
dB10
Sym8
Coif4
Bior2.6
Rbio5.5T
yû
leä
tí
n h
ieä
u t
re
ân n
hie
ãu
SN
R
(d
B)
Möùc phaân taùch (N)
0 1 2 3 4 5 6 7 8 9 10 11
1.0x10-5
2.0x10-5
3.0x10-5
4.0x10-5
5.0x10-5
6.0x10-5
7.0x10-5
8.0x10-5
9.0x10-5
1.0x10-4
1.1x10-4
1.2x10-4
Ño
ä le
äch
bì
nh
ph
öô
ng
tr
un
g b
ìn
h M
SE
(m
V2
)
dB10
Sym8
Coif4
Bior2.6
Rbio5.5
Möùc phaân taùch (N)
Đồ thị biểu diễn sự phụ thuộc của SNR và MSE vào số mức phân tách.
0 1 2 3 4 5 6 7 8 9 10 11
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
dB10
Sym8
Coif4
Bior2.6
Rbio5.5
Ph
aàn
tr
aêm
ca
ên b
aäc
ha
i
tru
ng
bì
nh
bì
nh
ph
öô
ng
sa
i s
oá P
RD
(%
)
Möùc phaân taùch (N)
Đồ thị biểu diễn sự phụ thuộc của PRD vào số mức phân tách.
76
PL4. Entropy Norm
PL4.1. Khảo sát hàm Wavelet mẹ tốt nhất
Bảng kết quả tính SNR , MSE và PRD thu được từ 54 hàm Wavelet khác nhau
ứng với entropy Norm trong phép biến đổi Wavelet Packet.
STT Wavelet SNR (dB) MSE (10-6mV) PRD (%)
1 Haar 9,8039 37,1395 0,3236
2 Db1 9,7979 37,1917 0,3238
3 Db2 11,1020 27,5582 0,2787
4 Db3 11,5594 24,8089 0,2644
5 Db4 11,6300 24,4075 0,2623
6 Db5 11,7020 24,0076 0,2601
7 Db6 11,7521 23,7295 0,2586
8 Db7 11,7131 23,9453 0,2598
9 Db8 11,7892 23,5252 0,2575
10 Db9 11,7039 23,9950 0,2601
11 Db10 11,8079 23,4245 0,2570
12 Sym2 11,1083 27,5190 0,2785
13 Sym3 11,5599 24,8091 0,2644
14 Sym4 11,6525 24,2861 0,2616
15 Sym5 11,6064 24,5418 0,2630
16 Sym6 11,7741 23,6116 0,2580
17 Sym7 11,6594 24,2405 0,2614
18 Sym8 11,8243 23,3381 0,2565
19 Coif1 11,1583 27,2077 0,2769
20 Coif2 11,7262 23,8731 0,2594
21 Coif3 11,6998 24,0205 0,2602
22 Coif4 11,8267 23,3265 0,2564
23 Coif5 11,7587 23,6917 0,2584
24 Bior1.1 9,7962 37,2085 0,3239
25 Bior1.3 9,7482 37,6203 0,3257
26 Bior1.5 9,5710 39,1875 0,3324
27 Bior2.2 11,5996 24,5811 0,2632
28 Bior2.4 12,0400 22,2109 0,2502
29 Bior2.6 12,1393 21,7098 0,2474
30 Bior2.8 12,0458 22,1838 0,2501
31 Bior3.1 6,9327 71,9127 0,4503
32 Bior3.3 10,7466 30,1050 0,2908
33 Bior3.5 11,6349 24,4306 0,2623
34 Bior3.7 11,8337 23,3431 0,2564
35 Bior3.9 11,7784 23,7336 0,2582
36 Bior4.4 11,5295 24,9763 0,2653
37 Bior5.5 11,3299 26,1407 0,2715
38 Bior6.8 11,7044 23,9929 0,2601
39 Rbio1.1 9,7975 37,1962 0,3238
40 Rbio1.3 11,2068 26,9048 0,2754
41 Rbio1.5 11,1435 27,2990 0,2774
77
42 Rbio2.2 9,0170 44,5168 0,3543
43 Rbio2.4 10,9012 28,8600 0,2852
44 Rbio2.6 11,3515 26,0196 0,2708
45 Rbio2.8 11,3180 26,2202 0,2719
46 Rbio3.1 -0,4927 397,3735 1,0585
47 Rbio3.3 7,4635 63,6483 0,4236
48 Rbio3.5 9,9593 35,8391 0,3179
49 Rbio3.7 10,9259 28,6939 0,2844
50 Rbio3.9 11,3269 26,1637 0,2716
51 Rbio4.4 11,5996 24,5799 0,2632
52 Rbio5.5 12,1595 21,6121 0,2468
53 Rbio6.8 11,6882 24,0797 0,2605
54 Dmey 11,8254 23,3286 0,2565
0 10 20 30 40 50 60
-2
0
2
4
6
8
10
12
14
Ty
û le
ä tí
n h
ieä
u t
re
ân n
hie
ãu S
NR
(d
B)
Haøm Wavelet meï
0 10 20 30 40 50 60
-5.0x10-5
0.0
5.0x10-5
1.0x10-4
1.5x10-4
2.0x10-4
2.5x10-4
3.0x10-4
3.5x10-4
4.0x10-4
4.5x10-4
Ño
ä le
äch
bì
nh
ph
öô
ng
tr
un
g b
ình
M
SE
(m
V2
)
Haøm Wavelet meï
Đồ thị thể hiện mối quan hệ giữa SNR và MSE với 54 hàm Wavelet.
0 10 20 30 40 50 60
0.0
0.2
0.4
0.6
0.8
1.0
1.2
Ph
aàn
tr
aêm
ca
ên b
aäc
ha
i
tru
ng
bì
nh
bì
nh
ph
öô
ng
sa
i s
oá P
RD
(%
)
Haøm Wavelet meï
Đồ thị thể hiện mối quan hệ giữa PRD với 54 hàm Wavelet.
78
PL4.2. Tìm mức phân tách tốt nhất
0 1 2 3 4 5 6 7 8 9 10 11
0
2
4
6
8
10
12
14
dB10
Sym8
Coif4
Bior2.6
Rbio5.5Ty
û le
ä tí
n h
ieäu
tr
eân
nh
ieãu
SN
R
(dB
)
Möùc phaân taùch (N)
0 1 2 3 4 5 6 7 8 9 10 11
1.0x10-5
2.0x10-5
3.0x10-5
4.0x10-5
5.0x10-5
6.0x10-5
dB10
Sym8
Coif4
Bior2.6
Rbio5.5
Ño
ä le
äch
bì
nh
ph
öô
ng
tr
un
g b
ình
M
SE
(m
V2
)
Möùc phaân taùch (N)
Đồ thị biểu diễn sự phụ thuộc của SNR và MSE vào số mức phân tách.
0 1 2 3 4 5 6 7 8 9 10 11
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
dB10
Sym8
Coif4
Bior2.6
Rbio5.5
Ph
aàn
tr
aêm
ca
ên b
aäc
ha
i
tru
ng
bì
nh
bì
nh
ph
öô
ng
sa
i s
oá P
RD
(%
)
Möùc phaân taùch (N)
Đồ thị biểu diễn sự phụ thuộc của PRD vào số mức phân tách.
Các file đính kèm theo tài liệu này:
- cai_tien_xu_ly_nhieu_cua_tin_hieu_dien_tim_bang_phep_bien_doi_wavelet_packet_8252.pdf