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

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.

pdf89 trang | Chia sẻ: builinh123 | Lượt xem: 1385 | Lượt tải: 0download
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:

  • pdfcai_tien_xu_ly_nhieu_cua_tin_hieu_dien_tim_bang_phep_bien_doi_wavelet_packet_8252.pdf
Luận văn liên quan