1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xử lý tín hiệu ECG bằng Wavelet phần 6

21 550 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 321,35 KB

Nội dung

Xử lý tín hiệu ECG bằng Wavelet

Trang 1

www.bme.vn

Trang 2

Coif3 0.66525 1.4270 2.2107 2.5169 2.4254 2.4254 Coif4 6.2048 48.022 48.022 132.68 136.39 135.94 Coif5 1496.6 9330.2 21836 28455 28574 28826 haar 0.000444 0.0013323 0.001776 0.001776 0.001776 0.001776 Nhận xét:

Khả năng tương thích của các wavelet đối với các tín hiệu là rất cao nhưng giữa các wavelet với nhau thì độ chênh lệch lớn

Các wavelet ‘bior’ khả năng tương thích cao nhất đối với tín hiệu do kết hợp được các đặc tính đối xứng và các bộ lọc FIR, đồng thời độ ổn định cao, các hàm phân tách và hàm tái tạo là khác nhau

Sử dụng các wavelet có bậc càng cao đô ổn định tăng nhưng khả năng tái tạo lại tín hiệu là không tốt

Với các wavelet có độ trơn và đối xứng cao thì kết quả tương thích càng tăng

Trang 3

Mô hình xử lý nhiễu bằng phương pháp đặt ngưỡng:

Trang 4

Sử dụng biến đổi wavelet và mức phân tách tốt nhất :

ü Thực hiện các mức ngưỡng khác nhau đối với các thành phần chi tiết đã được phân tách, tổng hợp và đánh giá kết quả so với đặt ngưỡng toàn cục

ü Thay đổi SNR và đánh giá kết quả - Tạo giao diên chương trình trong matlab - Áp dụng với tín hiệu thực tế

Tham số đánh giá tác động khử nhiễu là RMSE và SNR

Thay đổi mức độ nhiễu trắng khác nhau bằng cách thay đổi tỉ số SNR

Đánh giá khả năng khử nhiễu của từng loại wavelet khác nhau bằng RMSE Đánh giá tác động khử nhiễu trên các thành phần hệ số khai triển và khôi phục wavelet, sử dụng cùng loại wavelet, mức nhiễu và cùng loại tín hiệu thử

Chương trình cho phép đánh giá RMSE, của tín hiệu được so sánh wavelet, của thành phần hệ số wavelet xấp xỉ và các thành phần hệ số wavelet chi tiết Chương trình cho phép so sánh giữ tín hiệu chưa nhiễu và tín hiệu đã thực hiện khử nhiễu

Tiến hành so sánh RMSE mổi thành phần hệ số wavelet của tín hiệu gốc với tín hiệu bị nhiễu, tín hiệu gốc với tín hiệu đã khử nhiễu ECG, ta sẽ thấy rõ được tác động

Trang 5

của nhiễu trắng và khả năng loại bỏ nhiễu trắng trên mỗi thành phần xấp xỉ hoặc chi tiết trong khai triển wavelet

Các thông số của tín hiệu thử:

File tín hiêu ECGdata.mat Tốc độ lấy mẫu : 200 mẫu/s Tần số của tín hiệu: 1,27389 Hz Chu kì của tín hiệu: 0.785s Số mẫu được lấy: 5455 mẫu

Biên độ tín hiệu : Min: -1.12823 mV Max: 2.89307 mV Tín hiệu thu được từ máy biopac

Thực hiện cấy nhiễu trắng Gaussian cho tín hiệu với tỉ SNR thay đổi được bằng

hàm awgn

4.1.1 Phân tách tín hiệu:

Sử dụng file tín hiệu ECGdata.mat

Cấy nhiễu trắng với SNR=10dB (mức trung bình)

Phân tách tín hiệu sử dụng wavelet ‘bior1.3’, mức phân tách 3, biểu diễn các hệ số xấp xỉ A3, hệ số chi tiết C1,C2,C3

Hình 4.1: Tín hiệu có nhiễu

Trang 6

Hình 4.2: Hệ số chi tiết D1

Hình 4.3: Hệ số chi tiết D2

Hình 4.4: Hệ số chi tiết D3

Hình 4.5: Hệ số xấp xỉ A3

Trang 7

4.1.2 Lấy ngưỡng tự động và khử nhiễu tự động :

a.Thực nghiệm tín hiệu cấy nhiễu trắng có SNR= 10, sử dụng mức phân tách 3, tính RMSE của tín hiệu khứ nhiễu so với tín hiệu gốc

Bảng 4.2

Loại wavelet

Mức phân tách tối đa

Trang 8

b Hàm khử nhiễu tự động wden sử dụng quy tắc chọn lựa ngưỡng:

Dựa trên 4 nguyên tắc: rigrsure, heursure,swtwolog, minimaxi

Thực hiện trên các loại wavelet khác nhau, với mức phân tách 3, hai loại ngưỡng mềm và ngưỡng cứng

Bảng 4.3

Rigsure (s/h) Heusure (s/h) Sqtwolog (s/h) Minimaxi (s/h) Db2 0.1908/0.1711 0.2795/0.2579 0.2822/0.2772 0.2632/0.2339 Db4 0.1771/0.1555 0.2777/0.2777 0.2777/0.2777 0.2647/0.2220 Db6 0.1851/0.1536 0.2792/0.2792 0.2792/0.2792 0.2721/0.2352 Db8 0.1889/0.1543 0.2822/0.2822 0.2822/0.2822 0.0.279/0.2561 Db10 0.1962/0.1637 0.2845/0.2845 0.2845/0.2845 0.2819/0.2673 Sym2 0.1908/0.1711 0.2795/0.2579 0.2822/0.2772 0.2632/0.2339 Sym4 0.1966/0.1652 0.2845/0.2617 0.2884/0.2842 0.2670/0.2328 Sym6 0.1702/0.1481 0.2887/0.2769 0.2900/0.2900 0.2685/0.2222 Sym8 0.1719/0.1481 0.2794/0.2759 0.2797/0.2797 0.2663/0.2391 Sym10 0.1731/0.1468 0.2712/0.2633 0.2721/0.2797 0.2594/0.2234 Bior1.3 0.2241/0.2217 0.2826/0.2996 0.2807/0.3214 0.2975/0.2467 Bior2.4 0.2003/0.1674 0.2857/0.2566 0.2922/0.2675 0.2602/0.2053 Bior2.8 0.1780/0.1546 0.2663/0.2398 0.2712/0.2509 0.2459/0.2030

Trang 9

Bior3.5 0.1949/0.1652 0.2741/0.2495 0.2807/0.2693 0.2536/0.2114 Bior4.4 0.1878/0.1488 0.2904/0.2833 0.2917/0.2917 0.2738/0.2234 Bior6.8 0.1695/0.1463 0.2710/0.2620 0.2722/0.2722 0.2581/0.2198 Coif1 0.2057/0.1796 0.2852/0.2629 0.2907/0.2851 0.2720/0.2512 Coif2 0.1812/0.1545 0.2833/0.2627 0.2851/0.2795 0.2674/0.2308 Coif3 0.1832/0.1545 0.2783/0.2712 0.2795/0.2813 0.2660/0.2411 Coif4 0.1819/0.1483 0.2810/0.2728 0.2813/0.2813 0.2674/0.2353 Coif5 0.1901/0.1565 0.2778/0.2707 0.2784/0.2784 0.2673/0.2441 Haar 0.2371/0.2151 0.3227/0.3151 0.3238/0.3238 0.3012/0.2511

Đối với đặt ngưỡng SURE và minimax, khoảng 3% các hệ số được giữ lại Các phương pháp khác mọi hệ số được đặt về 0 Các quy tắc chọn ngưỡng Minimax và SURE rõ hơn và tiện hơn khi có các chi tiết nhỏ của hàm nằm gần dải nhiễu

Với các loại wavelet khác nhau thì cho các hệ số phân tách khác dẫn đến giá trị ngưỡng đặt chung không triệt khử hết các hệ số nhiễu dẫn đến RMSE khác nhau

4.1.3 Giá trị ngưỡng bằng công thức trên lý thuyết:

Công thức tính trên thực tế ngưỡng chung toàn cục và cục bộ cho tín hiệu: SURE λ= 2.ln(Nk.ln(Nk))= 4.638

FIXTHES λ = 2.ln(Nk)= 4.148

MINIMAX λ=0.3936+0.1829.lg(Nk)= 1.077 Đánh giá kết quả dựa trên RMSE

Trang 10

Nhận xét: Dựa trên kết quả tính RMSE:

Sử dụng ngưỡng Minimax cho kết quả tốt hơn so với ngưỡng Sure và Fixthes do là ngưỡng cải tiến của các loại ngưỡng trên

Các giá trị ngưỡng tính toán vẫn chưa đạt được giá trị tối ưu, ngưỡng lý thuyết đưa ra cho xử lý trên các mức hệ số chi tiết khác nhau, áp dụng cứng cho toàn bộ tín hiệu dưa trên số mẫu của tín hiệu nêu chưa có được giá trị mềm phù hợp với tín hiệu

Trang 11

So sánh kết quả với chương trình khử nhiễu tự động:

Ngưỡng tính toán của chương trình cho kết quả khử nhiễu tốt hơn so với cách tính ngưỡng bằng công thức rồi đưa vào Do khả năng ước lượng nhiễu trong matlab tốt hơn Công thức ngưỡng đưa ra là các loại ngưỡng tính toán chung cho các loại tín hiệu nên đối với từng loại tín hiệu và từng loại nhiễu là không chính xác

4.1.4 Thử nghiệm trên tất cả các mức cho đến mức tối đa:

Mức tối đa của wavelet được chọn tính tư động Tính từ mức phân tách 1 cho đến mức tối đa Thử nghiêm với chương trình khử nhiễu tự động Nhiễu trắng với SNR=10dB

Bảng 4.5 :

Db4 0.0015 0.0016 0.0018 0.0021 0.0024 0.0026 0.0027 0.0028 Db6 0.0014 0.0013 0.0018 0.0022 0.0026 0.0027 0.0028 0.0028 Db8 0.0014 0.0013 0.0018 0.0023 0.0027 0.0028 0.0029 0.0028 Sym6 0.0014 0.0013 0.0017 0.0021 0.0024 0.0026 0.0027 0.0027 sym8 0.0014 0.0013 0.0017 0.0021 0.0025 0.0026 0.0027 0.0027 sym10 0.0014 0.0012 0.0017 0.0021 0.0025 0.0026 0.0027 0.0027 Bior2.8 0.0014 0.0014 0.0016 0.0018 0.0020 0.0022 0.0027 0.0022 Bior4.4 0.0014 0.0013 0.0018 0.0021 0.0024 0.0026 0.0027 0.0027 Bior6.8 0.0014 0.0012 0.0017 0.0020 0.0023 0.0025 0.0027 0.0026 Coif2 0.0014 0.0014 0.0017 0.0021 0.0024 0.0026 0.0027 0.0027 Coif3 0.0014 0.0013 0.0017 0.0021 0.0024 0.0026 0.0027 0.0027 Coif4 0.0014 0.0016 0.0018 0.0021 0.0024 0.0026 0.0027 0.0027

Trang 12

Mức đô khử nhiễu tín hiệu là tương đương nhau đối với các loại wavelet khác nhau

4.1.6 Với giá trị SNR thay đổi:

4.1.7 Ước lượng nhiễu tín hiệu:

Ước lượng độ lệch chuẩn trên toàn bộ tín hiệu:

Phân tách toàn bộ tín hiệu bằng wavelet ở mức phân tách 5

Trang 13

Sử dụng ước lượng thô cho vector hệ số wavelet bằng hàm median trong matlab: 6745

Nhận xét: Độ lệch chuẩn được ước lượng trên các hệ số phân tách wavelet, với

các wavelet khác nhau thì giá tri ước lượng khác nhau, do chưa có giá trị chính xác trên thưc tế bên không thể kết luận

Ước lượng độ lệch chuẩn trên hệ số chi tiết: - Sử dụng hàm wnoisest

- Sử dụng ước lượng thô bằng hàm median

- Thực hiện trên tín hiệu ECG có nhiễu, wavelet được sử dụng là db3 mức phân tách 3

Trang 14

4.2 GIẢI PHÁP GIẢM RMSE VÀ TĂNG SNR CHO TÍN HIÊU ECG ĐƯƠC KHỬ NHIỄU:

Tác dụng khử nhiễu wavelet lên các hệ số chi tiết của các mức khai triển không đồng đều nhau Tham số ngưỡng nhiễu λ áp dụng như nhau lên hệ số chi tiết của tất cả các mức phân tách sẽ không cho kết quả khử nhiễu tốt nhất

Giải pháp sử dụng tham số ngưỡng nhiễu kλ Trong đó k hệ số thay đổi theo mức khai triển Bằng cách lập trình hệ số k ta xác định được tham số ngưỡng nhiễu chính xác hơn cho từng mức phân tách wavelet khác nhau

Trang 15

Lưu đồ tính hệ số k cho tất cả các mức khai triển khử nhiễu wavelet như sau:

Trang 16

Thủ tục tính tham số ngưỡng nhiễu kλ, sao cho đạt RMSE tối ưu sẽ theo lưu đồ:

Trang 17

Lấy ngưỡng theo phương pháp UNIVERSAL:

UNIVERSAL λ=δk 2ln(Nk)Thực hiện trên ngưỡng toàn cục:

σ =0.2880

λ=2.226 RMSE=0.0035

Thực hiện với wavelet db3, mức phân tách 5, khử nhiễu trên từng mức

Trang 18

Hình 4.6

Nhân xét:

Các nhiễu không còn trên tín hiệu hiệu nhưng tín hiệu sau khử nhiễu bị biến dạng so với tín hiệu gốc nên dẫn đến hệ số RMSE là khá lớn vậy chương trình chưa đạt được kết quả tốt khi khử nhiễu trên từng mức tín hiệu

4.3 GIẢI QUYẾT VỚI NHIỄU KHÔNG TỈ LỆ VÀ NHIỄU KHÔNG TRẮNG

Không thể sử dụng trực tiếp mô hình cơ bản Ta có thể giải quyết với mô hình độ lệch trong hàm khử nhiễu chính wden: sd=wden(s,tptr,sorh,scal,n,wav), sẽ trả về phiên bản đã khử nhiễu sd của tín hiệu gốc s:

Tptr : quy tắc chọn ngưỡng rigrsure, heursure, sqtwolog, minimax Scale: ‘mln’:mô hình cơ bản với nhiễu không trắng

‘sln’: mô hình cơ bản với nhiễu không tỉ lệ

Xử lý tái tỉ lệ ngưỡng sử dụng một dự đoán đơn của nhiều mức dựa trên các hệ số mức 1 Các ngưỡng cần được tái tỉ lệ bằng một dự đoán theo mức của nhiễu mức, sử dụng nhờ dự đoán σlev theo từng mức Ước lượng này được cài đặt trong M-file wnoisest, xử lý trực tiếp cấu trúc phân tách wavelet của tín hiệu gốc

Có thể sử dụng hàm wdencmp thực hiện đặt ngưỡng các hệ số wavelet, wdencmp cho phép định nghĩa chiến thuật đặt ngưỡng riêng tùy mục đích

4.4 TỪ KẾT QUẢ TÍNH ĐƯỢC ÁP DỤNG VÀO TRONG THƯC TẾ:

Sử dụng 3 loại tín hiệu nhiễu:

Trang 19

NhieuECG1.mat Số mẫu : 12000 NhieuECG2.mat

Số mẫu: 3945 NhieuECG3.mat

Trang 20

Dạng tín hiệu sau khử nhiễu có dạng tương đối giống với tín hiệu điện tim: NhieuECG3.mat

- Giao diện không đẹp

- Chương trình không có khả năng khử nhiễu trên từng mức - Khó có khả năng cải tiến chất lượng

- Chưa thể hiện hết được tính ưu việt của wavelet

Trang 21

Hình 4.10

www.bme.vn

Ngày đăng: 16/11/2012, 12:12

HÌNH ẢNH LIÊN QUAN

Bảng 4.1: - Xử lý tín hiệu ECG bằng Wavelet phần 6
Bảng 4.1 (Trang 1)
Mô hình xử lý nhiễu bằng phương pháp đặt ngưỡng: - Xử lý tín hiệu ECG bằng Wavelet phần 6
h ình xử lý nhiễu bằng phương pháp đặt ngưỡng: (Trang 3)
Hình 4.1: Tín hiệu có nhiễu - Xử lý tín hiệu ECG bằng Wavelet phần 6
Hình 4.1 Tín hiệu có nhiễu (Trang 5)
Hình 4.2: Hệ số chi tiết D1 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Hình 4.2 Hệ số chi tiết D1 (Trang 6)
Hình 4.3: Hệ số chi tiết D2 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Hình 4.3 Hệ số chi tiết D2 (Trang 6)
Bảng 4.2 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Bảng 4.2 (Trang 7)
Bảng 4.3 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Bảng 4.3 (Trang 8)
Bảng 4.4: - Xử lý tín hiệu ECG bằng Wavelet phần 6
Bảng 4.4 (Trang 10)
Bảng 4.5: - Xử lý tín hiệu ECG bằng Wavelet phần 6
Bảng 4.5 (Trang 11)
Bảng 4.6 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Bảng 4.6 (Trang 12)
Bảng 4.7 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Bảng 4.7 (Trang 13)
Hình 4.6 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Hình 4.6 (Trang 18)
Hình 4.7 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Hình 4.7 (Trang 19)
Hình 4.9 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Hình 4.9 (Trang 20)
Hình 4.10 - Xử lý tín hiệu ECG bằng Wavelet phần 6
Hình 4.10 (Trang 21)

TỪ KHÓA LIÊN QUAN

w