Đề xuất thuật toán
Về cơ bản, phương pháp đề xuất có nguyên lý hoạt động tương tự như phương pháp mà Schuessler giới thiệu [72]. Tuy nhiên, thay vì sử dụng chính tín hiệu có thở để tạo ra tín hiệu đại diện của phần biến đổi do tim, tác giả sử dụng thêm tín hiệu TEB của đối tượng đo khi ở trạng thái ngừng thở để tạo ra mẫu tín hiệu đại diện. Điều này có thể được thực hiện bằng phương pháp trung bình toàn bộ theo các chu kì tim được đánh dấu bằng đỉnh R trong tín hiệu ECG tham chiếu được đo thêm một cách đồng thời. Mẫu tín hiệu đại diện cho thành phần biến đổi do tim sau đó cũng được đảo pha (đổi dấu) và cộng vào tín hiệu ở trạng thái có thở. Tín hiệu sau đó được đưa qua một bộ lọc thông thấp số để loại bỏ tất cả các thành phần nhiễu tần số cao còn sót lại cũng như các đoạn chuyển tiếp khi thực hiện phép trừ. Sơ đồ khối thực của thuật toán được miêu tả trong Hình 3.12.
Thuật toán được phát triển trong nghiên cứu này không nhằm mục đích tích hợp vào thiết bị hay xử lý thời gian thực tín hiệu ICG. Dựa trên thuật toán đề xuất, một công cụ phần mềm hữu ích có thể được phát triển để trích xuất nhiễu thở từ dữ liệu TEB thu thập được. Điều này sẽ được dự kiến sẽ tạo điều kiện thuận lợi cho việc phát triển cơ sở dữ liệu, phân tích phân bố công suất, dải tần số của nhiễu thở đặc biệt trong phép đo ICG. Nó nhằm mục đích hỗ trợ các nghiên cứu về các kỹ thuật lọc nhiễu thở cũng như đánh giá hiệu quả của các kỹ thuật lọc nhiễu này.
Một số tham số chính của các phần xử lý khi triển khai thực tế thuật toán xử lý tín hiệu ECG được mô tả như sau:
91
− Bộ lọc thông dải: sử dụng bộ lọc IIR bậc 6 với dải tần 0,2 Hz – 40 Hz. − Vi phân số: sử dụng công thức vi phân 5 điểm.
− Tích phân cửa sổ dịch chuyển: sử dụng cửa sổ có động rộng 64 điểm. − Số mẫu đồng bộ lại tín hiệu: 40 mẫu, tương đương 200 ms.
Hình 3.12 Sơ đồ thực hiện thuật toán tách nhiễu thở từ tín hiệu TEB
Triển khai thuật toán
Tín hiệu TEB trước tiên được lọc bằng bộ lọc số thông thấp số để loại bỏ mọi thành phần nhiễu tần số cao. Bộ lọc được sử dụng trong phương pháp này là bộ lọc FIR dựa trên cửa sổ Hamming với tần số cắt fc = 10 Hz, bậc bộ lọc là 100 để tối đa hóa độ phẳng trong dải thông và giảm thiểu độ méo pha. Trước khi cắt dữ liệu tín hiệu thành các phần, tín hiệu ICG được đồng bộ hóa lại theo thời gian với tín hiệu ECG thu được do độ trễ gây ra bởi các bộ lọc.
Toàn bộ dữ liệu sau đó được chọn để phân tách thành ba cặp dữ liệu bao gồm một phần chỉ chứa dao động tim (ngừng thở) và một phần chứa cả tín hiệu hô hấp và dao động tim (thở) cho mỗi cặp. Tập tín hiệu ngừng thở có chiều dài 2.000 mẫu trong khi tập tín hiệu thở có chiều dài 3.000 mẫu. Các tập tín hiệu được chọn để phân đoạn là liên tiếp để giảm thiểu các thay đổi trong thành phần dao động tim giữa các tập dữ liệu do sự thay đổi sinh lý theo thời gian.
Bằng cách ánh xạ tương ứng các vị trí của các đỉnh R trong tín hiệu ECG tham chiếu theo thuật toán được mô tả ở phần trước, các tập dữ liệu con này được phân đoạn thành các chu kỳ dữ liệu của tim. Tập dữ liệu đại diện của thành phần dao động tim được xây dựng bằng cách lấy trung bình tất cả các chu kỳ của dữ liệu. Tuy nhiên,
Thiết bị đo Máy tính
I+ I- V+ V- Tín hiệu ECG Tín hiệu TEB Tín hiệu ngừng thở Tín hiệu có thở Vị trí đỉnh R Mẫu TEB đại diện Phát hiện đỉnh R Phân loại tín hiệu Phân đoạn và
chuẩn hóa độ dài
Phân đoạn và chuẩn hóa độ dài Trung bình Trừ Lọc thông thấp Nhiễu thở thu được
92
độ dài của tất cả các chu kỳ dữ liệu không giống nhau do biến đổi nhịp tim. Để khắc phục tình trạng này, độ dài tối thiểu của chu kỳ dữ liệu được xác định trước khi thực hiện tính trung bình tổng thể. Thuật toán tính trung bình tất cả các chu kỳ dữ liệu để tạo ra một mẫu đại diện duy nhất của thành phần dao động tim. Công thức tính từng phần tử của mẫu trung bình được mô tả như sau:
N n M x x M m mn n = =1 , , =0... (3.1)
Trong đó, phần tử trung bình ở vị trí thứ n của mẫu trung bình, xm,n, là phần tử ở vị trí thứ n tương ứng của chu kỳ dữ liệu thứ m, N là chiều dài của mẫu trung bình, M là số chu kỳ dữ liệu. Tất cả các dữ liệu tại các vị trí vượt quá độ dài tối thiểu của tất cả các chu kỳ dữ liệu đều không được sử dụng. Độ dài của mẫu đại diện bằng với độ dài tối thiểu của tất cả các chu kỳ dữ liệu.
Sau khi xây dựng xong mẫu dữ liệu đại diện, mỗi chu kỳ dữ liệu trong các phần của tín hiệu thở đã phân đoạn được trừ đi tương ứng bởi mẫu đại diện. Các chu kì đại diện sau khi thực hiện phép trừ sẽ được ghép nối lại để tạo thành tín hiệu chứa thành phần nhiễu thở liên tục. Các phần dữ liệu được xử lý của tín hiệu thở sau đó được đưa qua bộ lọc thông thấp FIR để làm mềm các đoạn ghép nối của các chu kì tín hiệu, cũng như loại bỏ một số thành phần nhiễu tần số cao còn sót lại trong tín hiệu. Bộ lọc có tần số cắt gấp 20 lần tần số thở cơ bản, bậc 100, sử dụng cửa sổ Hamming để xây dựng đáp ứng xung.
Kết quả và đánh giá
a) Kết quả và đánh giá thuật toán phát hiện đỉnh R
Thuật toán phát hiện các đỉnh R của tín hiệu ECG tham chiếu được triển khai trên toàn bộ tập dữ liệu của 26 tình nguyện viên tham gia thí nghiệm trong nghiên cứu với chiều dài tối thiểu 15.000 mẫu tương ứng với thời gian đo tối thiểu là 75 giây cho mỗi tình nguyện viên được thu thập từ hệ thống thu nhận tín hiệu do tác giả hoàn thành. Tuy nhiên trên thực tế quá trình đo, thời gian đo thường kéo dài hơn khá nhiều do có khoảng nghỉ ngắn giữa các lần đo và khoảng thời gian chờ tín hiệu ổn định do đó chiều dài tập dữ liệu thực tế cao hơn khá nhiều (khoảng 40.000 mẫu đến 70.000 mẫu tương đương với 200 giây đến 350 giây).
Độ chính xác của thuật toán trong việc xác định đỉnh R trong tín hiệu ECG được đánh giá thông qua các chỉ số:
93
− False positive (FP): là số lượng đỉnh R bị thuật toán phát hiện nhầm (không phải là đỉnh R nhưng lại được phát hiện).
− False negative (FN): là số lượng đỉnh R bị thuật toán phát hiện sót (đúng là đỉnh R nhưng không phát hiện được).
− Absolute failed detection (AFD): là tổng số đỉnh R bị thuật toán phát hiện sai bao gồm phát hiện sót và phát hiện nhầm, AFD = FP + FN.
− Percentage failed detection (PFD, %): là phần trăm thuật toán phát hiện sai đỉnh R, PFD = 100% × tổng số đỉnh R phát hiện sai / tổng số đỉnh R thực tế.
− Mean percentage failed detection (𝑃𝐹𝐷, %): là giá trị trung bình phần trăm thuật toán phát hiện sai đỉnh R của các tình nguyện viên.
Với dữ liệu của 26 tình nguyện viên, thuật toán cho thấy khả năng phát hiện các đỉnh R trong tín hiệu ECG với độ chính xác cao cụ thể chỉ số trung bình phần trăm phát hiện sai 𝑃𝐹𝐷 = 0.047% ± 0.016% tương đương độ chính xác đạt 99.953% ± 0.016%. Vị trí của các đỉnh R sau đó được đồng bộ hóa với các tín hiệu ICG được phân đoạn để tách chúng thành các mẫu dữ liệu theo chu kỳ tim. Hai đỉnh R liên tiếp xác định điểm bắt đầu và điểm kết thúc của mẫu dữ liệu tương đương với chu kỳ tim. Một ví dụ về quá trình xử lý của thuật toán phát hiện đỉnh R trong tín hiệu ECG được mô tả như trong Hình 3.13.
(a) Tín hiệu ECG sau lọc (b)Tín hiệu ECG sau đạo hàm
(c) Tín hiệu ECG sau bình phương (d)Tín hiệu ECG sau tích phân
Hình 3.13 Kết quả các phép xử lý trung gian của thuật toán phát hiện đỉnh R
Hình ảnh một ví dụ về tín hiệu ECG thu thập từ các tình nguyện viên với các đỉnh R đã được đánh đánh dấu được được minh họa trong Hình 3.14 được cắt ra từ phần mềm hỗ trợ xử lý dữ liệu ICG và ECG đã được trình bày ở phần trước.
0 200 400 600 800 1000 1200 1400 1600 1800 2000 Tín hiệu ECG sau lọc
0 200 400 600 800 1000 1200 1400 1600 1800 2000 Tín hiệu ECG sau đạo hàm
0 200 400 600 800 1000 1200 1400 1600 1800 2000 Tín hiệu ECG sau bình phương
0 200 400 600 800 1000 1200 1400 1600 1800 2000 Tín hiệu ECG sau tích phân
94
Hình 3.14 Tín hiệu ECG với các đỉnh R đã được phát hiện và đánh dấu
b) Kết quả và đánh giá thuật toán tách nhiễu thở
Thuật toán đề xuất được áp dụng để xử lý dữ liệu được thu thập từ 26 tình nguyện viên tại phòng thí nghiệm với chiều dài 2.000 mẫu cho mỗi tập dữ liệu ngừng thở và chiều dài 3.000 mẫu cho mỗi tập dữ liệu thở. Các giá trị nhịp tim biến thiên giữa các cá nhân, dao động từ 55 đến 97 nhịp/phút. Các giá trị nhịp thở không chỉ khác nhau giữa các cá nhân mà ngay cả giữa các trạng thái thở khác nhau, đối với thở bình thường là 16,8 ± 4,2 nhịp/phút, khi thở nhanh là 26,4 ± 4,2 nhịp/phút và 12,0 ± 4,8 nhịp/phút khi thở gắng sức. Độ suy hao trung bình ở tần số nhịp tim (HR) của các đối tượng là −34,8 ± 5,6 dB (trung bình ± độ lệch chuẩn) cho thở bình thường, −31,5 ± 6,2 dB cho thở nhanh và −32,7 ± 5,5 dB cho thở gắng sức. Độ suy hao trung bình ở tần số nhịp thở (RR) của các đối tượng là −0,95 ± 0,2 dB đối với thở bình thường, −1,25 ± 0,2 dB đối với thở nhanh và −1,34 ± 0,3 dB đối với thở gắng sức.
Hình thái của tín hiệu ICG được ghi nhận ở ba trạng thái thở bao gồm thở bình thường, thở nhanh, và thở gắng sức trong miền thời gian của một tình nguyện viên trước và sau khi xử lý được thể hiện trong Hình 3.15, Hình 3.16, và Hình 3.17, tương ứng. Trạng thái thở bình thường cho biên độ nhiễu ở mức trung bình, tần số cơ bản của nhiễu thở nhỏ hơn nhiều so với tín hiệu ICG. Hình dạng của thành phần dao động do tim có thể dễ dàng quan sát được. Trạng thái thở nhanh cho thấy sự biến dạng đáng kể của thành phần biến đổi do tim trong tín hiệu ICG do tần số cơ bản của nhiễu thở tăng mạnh so với trạng thái thở bình thường. Trạng thái thở gắng sức tạo ra biên độ lớn nhất của nhiễu thở và gây ra hiện tượng trôi đường cơ sở mạnh của tín hiệu ICG.
95
Hình 3.15 Tín hiệu trở kháng ngực ở trạng thái thở bình thường
Hình 3.16 Tín hiệu trở kháng ngực ở trạng thái thở nhanh
Hình 3.17 Tín hiệu trở kháng ngực ở trạng thái thở gắng sức
Phổ công suất của các tín hiệu ICG có thở thu được trước và sau xử lý bằng thuật toán đề xuất được minh họa trong Hình 3.18 bằng cách sử dụng biến đổi Fourier nhanh (FFT). Về tín hiệu trước khi xử lý, hai đỉnh sóng hài lớn nhất được hiển thị trong hình tương ứng với tần số cơ bản của các thành phần thở và tim. Tần số cơ bản của thành phần thở thay đổi với sự thay đổi của nhịp thở do sự thay đổi của trạng thái thở. Ngoài ra, có phần chồng phổ giữa các dải phổ của hai thành phần này. Độ rộng của phần chồng phổ phụ thuộc vào trạng thái thở. Trạng thái thở nhanh cho vùng chồng phổ rộng nhất. 0 1000 2000 3000 4000 5000 0 2000 4000 6000 8000 10000 G iá t rị A D C Thời gian (ms) Trước xử lý Sau xử lý -1000 0 1000 2000 3000 4000 5000 0 2000 4000 6000 8000 10000 G iá t rị A D C Thời gian (ms) Trước xử lý Sau xử lý -2000 -1000 0 1000 2000 3000 4000 5000 0 2000 4000 6000 8000 10000 G iá t rị A D C Thời gian (ms) Trước xử lý Sau xử lý
96
Bên phải của hình biểu diễn phổ công suất của tín hiệu sau khi xử lý bằng thuật toán đề xuất. Rõ ràng có thể quan sát được từ hình này rằng đỉnh của tần số cơ bản của thành phần dao động do tim được làm suy hao đáng kể. Dải tần số của thành phần thở gần như được bảo tồn. Thuật toán hoạt động hiệu quả ngay cả trong trường hợp chồng phổ mạnh hoặc tỷ số tín hiệu trên nhiễu (SNR) thấp.
(a) Thở bình thường
(b) Thở nhanh
(c) Thở gắng sức
Hình 3.18 Phổ tín hiệu trở kháng ngực trước và sau khi xử lý ở ba trạng thái