3.2 Xây dựng bộ cơng cụ hỗ trợ xử lý tín hiệu ICG
3.2.2 Xây dựng công cụ phần mềm thiết kế và thực hiện lọc số
Bộ cơng cụ phần mềm này có chức năng hỗ trợ người dùng thiết kế các bộ lọc số
đồng thời cho phép thực hiện lọc với bộ lọc đã thiết kế trên cùng một phần mềm một
cách trực quan. Phần mềm cũng có các chức năng hiển thị và lưu trữ dữ liệu trước và sau lọc. Tác giả tiến hành xây dựng một thư viện lọc số cho phép tựđộng xuất ra các hệ số bộ lọc tương ứng với các tham số truyền vào và sau đó thực hiện lọc với bộ lọc
đã thiết kế với tín hiệu đầu vào mà khơng cần sử dụng đến phần mềm Matlab. Sau
khi hoàn thành việc xây dựng thư viện, tác giả tiến hành tích hợp vào ứng dụng với giao diện người dùng được tác giả xây dựng bằng C# trên nền Windows Form thuận tiện cho hiển thị, sử dụng và lưu trữ. Phần mềm được xây dựng cho phép người dùng thiết kế hai bộ lọc IIR và FIR một cách dễ dàng và trực quan như trong Hình 3.5 và Hình 3.6.
83
Hình 3.6 Giao diện phần mềm khi thiết kế bộ lọc FIR
Đáp ứng tần số của bộ lọc bao gồm đáp ứng biên độ và đáp ứng pha, đáp ứng xung được hiển thị ngay sau khi người dùng tiến hành thiết lập các tham số bộ lọc
cho phép người dùng quan sát được đáp ứng của bộ lọc để có thể thực hiện điều chỉnh.
Các hệ số của bộ lọc và loại bộ lọc cũng như bậc của bộ lọc được hiển thị đầy đủ ở phần bên phải của phần mềm. Người dùng hồn tồn có thể copy các hệ số này để tích hợp vào nền tảng phần cứng thấp hơn để xử lý tín hiệu.
Điểm ưu việt của phần mềm là người dùng có thể trực tiếp tải dữ liệu tín hiệu
dạng file text (.txt) trực tiếp vào phần mềm sau đó thực hiện lọc với bộ lọc đã thực hiện trước đó. Tín hiệu trước lọc và sau lọc được hiển thị lên cùng một đồ thị cho
phép người dùng có thể trực tiếp quan sát được sự thay đổi của tín hiệu sau khi lọc như trong Hình 3.7. Tín hiệu sau lọc cũng có thể được lưu lại một cách dễ dàng dưới định dạng file text như trên.
84
3.2.3 Xây dựng công cụ phần mềm phân tích và xử lý tín hiệu ICG
Các tính năng vàthuật tốn trong phần mềm a) Bộ biến đổi wavelet
Trong Chương 4 của luận án, tác giảđề xuất một thuật tốn giảm nhiễu thở có sử
dụng đến phép biến đổi wavelet, do đó trước khi tiến hành thuật toán, tác giảđã xây
dựng một bộ công cụ phần mềm thứ hai nhằm mục đích triển khai phép biến đổi wavelet sử dụng thuật toán hỗ trợ việc xử lý dữ liệu ở các pha tiếp theo.
b) Thuật toán phát hiện đỉnh R
Việc phát hiện đỉnh R trong tín hiệu ECG là để phục vụ cho q trình xử lý tín hiệu ở các phần tiếp theo của luận án. Các đỉnh R được phát hiện bằng thuật toán Pan- Tompkins. Việc triển khai được thực hiện bằng ngơn ngữ lập trình C# với những điều chỉnh phù hợp. Trong thực tế triển khai, dữ liệu chứa tín hiệu ECG được lưu dưới
định dạng file text. Phần mềm đọc file, giải mã, xử lý bằng thuật toán Pan-Tompkins,
rồi trả về kết quả là vị trí của các đỉnh R dưới dạng mảng để chuẩn bị cho các pha xử lý tiếp theo.
c) Thuật tốn trung bình tồn bộ
Một thuật tốn rất quan trọng xun suốt các mơ hình xử lý tín hiệu mà tác giả đề xuất đó là thuật tốn trung bình tồn bộ (ensemble averaging) cũng được nghiên cứu và triển khai sau đó tích hợp vào phần mềm. Điều này giúp việc triển khai, kiểm thử
và đánh giá các mơ hình thuật tốn của tác giả được diễn ra một cách nhanh chóng, nâng cao hiệu quả xử lý về mặt thời gian một cách rõ rệt, đặc biệt là trong trường hợp có một lượng lớn dữ liệu cần xử lý.
Các tính năng phụ trợ
Bên cạnh việc thực thi các ý tưởng, thuật toán mà tác giả đề xuất, bộ cơng cụ phần mềm hỗ trợ xử lý tín hiệu cịn có các chức năng đọc và hiển thị dữ liệu được lưu dưới dạng file text. Đồ thị tín hiệu được hiển thị trực quan bằng công cụđồ thị Chart tool trên Windows Form của phần mềm Visual Studio. Các nút chức năng theo giao diện
người dùng cũng được xây dựng trên phần mềm này cung cấp các lựa chọn xử lý cho người dùng. Do với đặc thù xử lý phải bóc tách dữ liệu thành nhiều phần khác nhau
trên một chuỗi dữ liệu dài được thu nhận, tác giả cũng bổ sung thêm các chức năng cắt dữ liệu tại các vị trí mong muốn, sau đó lưu trữ thành các file riêng biệt gán nhãn với dạng tín hiệu cụ thể.
85
Kết quả xây dựng phần mềm
Công cụ giúp xử lý dữ liệu thu thập được từ các tình nguyện viên sau khi xây dựng có giao diện như Hình 3.8 và Hình 3.9.
Hình 3.8 Giao diện cơng cụ phần mềm phân tích và xử lý tín hiệu ICG
Hình 3.9 Giao diện cửa sổ xử lý tín hiệu ICG bằng biến đổi wavelet
Ở cửa sổ chính, cơng cụ phần mềm này có đầy đủ các chức năng như tải dữ liệu
file text vào phần mềm sau đó thực hiện thuật toán phát hiện đỉnh R trên tín hiệu ECG, tải dữ liệu TEB đồng thời ánh xạ các đỉnh R đã được phát hiện và đánh dấu lên
86
dạng sóng. Cơng cụ cũng cung cấp một đồ thị để biểu diễn dạng sóng sau tích phân cửa sổ dịch chuyển của tín hiệu ECG.
Chức năng cắt tín hiệu chính xác theo cận trên và cận dưới để lựa chọn các đoạn tín hiệu thở và ngừng thở từ đó tạo các mẫu tín hiệu đại diện bằng thuật tốn trung bình tồn bộ, sau đó thực hiện phép trừ để thu được tín hiệu nhiễu thở thơ.
Ngồi ra phần mềm cũng hỗ trợ xuất dữ liệu sau xử lý ra các text box và file text thuận tiện cho việc lưu trữ và hiển thị dữ liệu sau này. Ở cửa sổ phụ, phần mềm hiển thị tín hiệu ICG trước và sau khi xử lý bằng phép biến đổi wavelet. Thuật tốn sử
dụng sẽđược trình bày ởChương 4 của luận án.
3.3 Quy trình xây dựng bộ dữ liệu nhiễu thở trong phép đo ICG
3.3.1 Mục đích
Phần này của luận án trình bày các quy trình thu nhận và xử lý dữ liệu trở kháng vùng ngực từ các tình nguyện viên. Dựa trên các phép xử lý, tín hiệu trở kháng vùng ngực với các trạng thái thở và ngừng thở xen kẽ có thể được sử dụng để xây dựng nên bộ cơ sở dữ liệu về nhiễu thở trong phép đo ICG phục vụ mục đích nghiên cứu
và đánh giá thuật toán lọc nhiễu được tác giả đề xuất trong Chương 4 của luận án.
3.3.2 Xây dựng quy trình thu nhận dữ liệu
Với mục tiêu thu nhận đồng thời tín hiệu trở kháng ngực TEB và tín hiệu điện tâm
đồ ECG từ đó xây dựng nên bộ cơ sở dữ liệu về nhiễu thở trong phép đo ICG phục
vụ cho nghiên cứu, tác giả đã tiến hành đo và thu nhận trên các tình nguyện viên là
các nam sinh đang theo học chuyên ngành Kỹ thuật Y sinh tại trường Đại học Bách
Khoa Hà Nội. Tác giả sử dụng phương pháp đo dựa trên 8 điện cực điểm theo mơ
hình do Bernstein đề xuất [33]. Đây là một cấu hình điện cực được sử dụng rộng rãi
hiện nay trong nghiên cứu và thực tế trên các thiết bị đo thương mại. Trong đó bốn
điện cực ngoài được sử dụng để đưa dòng kích thích vào cơ thể trong khi bốn điện cực trong được sử dụng để lấy điện áp ra. Tín hiệu ECG sẽđược thiết bị trích xuất trực tiếp từ bốn điện cực trong này mà không cần dán thêm bất kì điện cực nào khác.
Điều này làm giảm sự khó chịu cho tình nguyện viên khi đo.
Quá trình thu nhận và xử lý dữ liệu được thực hiện dựa trên hệ thống thu nhận dữ liệu do tác giả tự đề xuất và xây dựng như đã trình bày ở phần trước của luận án. Hệ thống thu nhận bao gồm đầy đủ cả mạch đo và phần mềm thu nhận, hiển thị và lưu
trữ dữ liệu. Hệ thống đo là hệ thống đã được xây dựng trong Mục 3.1 của luận án,
87
trên như cường độdòng điện, tần sốdòng điện kích thích, điện áp cách điện, dòng dò của mạch nguồn, đảm bảo cách ly khi truyền về phần mềm trên máy tính. Cấu hình cụ thể của mạch đo được lượt kê trong Bảng 3.2.
Các tình nguyện viên được cho nghỉ ngơi ít nhất ba giờ trước khi đo mà khơng ăn hay uống bất kì loại thức ăn, nước uống hay bất kì loại thuốc nào. Tác giả tiến hành thu thập dữ liệu về trở kháng vùng ngực TEB bao gồm cả thành phần do hô hấp (nhiễu thở) và thành phần biến đổi do tim (ICG) với bốn trạng thái khác nhau bao gồm: ngừng thở, thở bình thường, thở nhanh, và thở gắng sức. Quá trình được diễn ra với
sáu bước liên tục bao gồm: (1) ngừng thở trong 15 giây, (2) thởbình thường trong 30 giây, (3) ngừng thở trong 15 giây, (4) thở nhanh trong 30 giây, (5) ngừng thở trong 15 giây và (6) thở gắng sức trong 30 giây. Tất cả được thực hiện với tư thế nằm nghỉ. Mỗi tình nguyện viên sẽ được đo và lấy dữ liệu hai lần. Dữ liệu sau đó sẽ được mạch thu nhận gửi lên máy tính và lưu trữ dưới định dạng .csv.
3.3.3 Lựa chọn tình nguyện viên
Với mục tiêu đánh giá và thử nghiệm thuật toán cộng với quy mơ cịn nhỏ của nghiên cứu, tác giả thực hiện thu thập dữ liệu trên 26 tình nguyện viên là các nam sinh viên tại phịng thí nghiệm với độ tuổi từ 19 đến 23 mà khơng có tiền sử bệnh liên
quan đến tim mạch. Tất cả các phép đo được thực hiện với sự hỗ trợ của các bác sĩ
làm việc tại Trung tâm y tế, Trường Đại học Bách Khoa Hà Nội.
Tuy nhiên trong tương lai, ở các nghiên cứu tiếp theo, tác giả mong muốn được mở rộng đối tượng đo là các đối tượng hiện đang có các bệnh liên quan đến tim mạch tại các bệnh viện với nhiều độ tuổi và giới tính khác nhau từ đó xây dựng được một bộ dữ liệu về nhiễu thở đầy đủ và có ý nghĩa hơn trong nghiên cứu cũng như trong lâm sàng.
3.3.4 Thực hiện thu nhận dữ liệu
Trước khi tiến hành đo thu thập dữ liệu, các tình nguyện viên sẽ được phổ biến về quy trình đo, chỉ tiêu kĩ thuật, chỉ tiêu an tồn điện của thiết bị đo và mục đích sử
dụng dữ liệu cho hoạt động nghiên cứu. Sau đó các tình nguyện viên tham gia sẽ ghi thơng tin và cam kết tham gia thí nghiệm trong một biên bản. Phần biên bản cam kết tham gia thí nghiệm được trình bày trong phần Phụ lục 2.
Quá trình dán điện cực và thu nhận tín hiệu trên các tính nguyện viên được diễn ra dưới sự hướng dẫn của các bác sĩ có chun mơn (Hình 3.10 và Hình 3.11). Thiết
88
thực hiện đúng theo quy trình đã trình bày ở trên. Tồn bộcác phép đo đều được thực hiện ở trên phịng thí nghiệm của Trung tâm Điện tử Y sinh của trường Đại học Bách Khoa Hà Nội. Dữ liệu thu nhận được từ các tình nguyện viên sẽ được truyền và lưu trữ trên máy tính để chờ xử lý.
Hình 3.10 Hình ảnh tác giảdán các điện cực đo dưới sựhướng dẫn của bác sĩ
89
3.3.5 Xử lý và chuẩn hóa dữ liệu
Dữ liệu thu sau khi số hóa hai dạng tín hiệu là tín hiệu điện tâm đồ ECG và tín hiệu trở kháng vùng ngực TEB được mạch đo truyền lên máy tính thơng qua cổng USB vật lý trên máy tính và được nhận diện dưới dạng cổng COM ảo. Bản tin truyền
lên theo quy ước ở phần mềm trên mạch đo có cấu trúc dạng: “AAAAA,BBBB↵”
gồm hai trường dữ liệu. Trong đó A là các kí tự kiểu char đại diện cho các số từ 0 đến 9, kênh tín hiệu TEB được biểu diễn bởi 5 ký tự kiểu char, trong khi kênh tín hiệu
ECG được biểu diễn bởi 4 ký tự kiểu char. Hai trường dữ liệu trong bản tin được phân cách nhau bởi dấu phẩy “,” bản tin được đánh dấu kết thúc bởi kí tự xuống hàng “↵”.
Dựa theo quy định phần kí tự nằm trước dấu phẩy sẽđược đánh dấu là tín hiệu TEB trong khi phần kí tự sau dấu phẩy sẽ được đánh dấu là tín hiệu ECG.
Dựa trên quy ước như trên về cấu trúc bản tin gửi lên, phần mềm tiến hành đọc dữ liệu được đẩy vào bộ đệm của cổng COM, sau đó tiến hành phân tách bản tin thành
hai trường dữ liệu riêng biệt dưới dạng hai chuỗi kí tự. Hai chuỗi kí tự này sau đó sẽ được chuyển đổi sang kiểu số nguyên để phục vụ các bước xử lý tiếp theo. Hai dạng
tín hiệu sau đó sẽ được chuẩn hóa lại về mặt biên độ theo đúng đơn vị đo (Ω cho tín hiệu TEB và mV cho tín hiệu ECG) và thời gian (đơn vịđo là miligiây).
Sau khi thực hiện thành công bước giải mã dữ liệu nhận được, phần mềm sẽ tiến hành thực hiện lọc hai loại tín hiệu trên bằng hai bộ lọc thông thấp IIR đã được khởi tạo trước đó. Nhằm đảm bảo về độ gợn dải thơng nhỏ và đáp ứng pha có độ tuyến tính tốt, tác giả sử dụng bộ lọc Butterworth để xây dựng bộ lọc số IIR cho dạng tín hiệu trên. Với tần số lấy mẫu fs = 200 mẫu/giây, bộ lọc IIR dành cho tín hiệu TEB có các tham sốđược thiết lập là fpass = 20 Hz, fstop = 40 Hz, Apass= 1 dB, Astop = 40 dB trong khi bộ lọc IIR dành cho tín hiệu ECG có các tham số là fpass = 40 Hz, fstop = 80 Hz, Apass= 1 dB, Astop = 40 dB. Giá trị thời gian, hai dạng tín hiệu sau lọc là TEB và ECG sẽ được lưu trữ thành ba cột riêng biệt trong file .csv lưu trữ. Dạng file này hồn tồn có thể mở và chỉnh sửa bằng phần mềm Microsoft Excel.
3.3.6 Mô tả và lưu trữ dữ liệu
Bộ cơ sở dữ liệu chứa toàn bộ dữ liệu của 26 tình nguyện viên đã thu thập được bao gồm hai phần: phần dữ liệu chứa tín hiệu trở kháng vùng ngực TEB và tín hiệu
điện tâm đồ ECG tham chiếu đi kèm và phần dữ liệu chứa thành phần nhiễu thở sau
khi đã trích xuất từ tín hiệu TEB. Dữ liệu được lưu dưới định dạng file Excel .xlsx
giúp trích xuất thơng tin phục vụ cho nghiên cứu và xử lý dữ liệu một cách dễ dàng.
90
TNV001.xlsx. File dữ liệu Excel sẽ bao gồm 5 sheet bao gồm: sheet chứa thông tin của phép đo và TNV bao gồm tần số lấy mẫu, độ phân giải của bộ ADC, tuổi và giới tính của TNV; sheet chứa dữ liệu TEB và ECG bao gồm 5 cột trong đó có 1 cột thời gian, 2 cột cho dữ liệu TEB và ECG thô và 2 cột cho dữ liệu TEB và ECG sau xử lý; 3 sheet chứa dữ liệu nhiễu thở trước và sau khi xử lý của ba trạng thái thở bao gồm thở bình thường, thở gắng sức và thở nhanh. Chi tiết về thuật toán tách và xử lý dữ liệu thởđược trình bày trong Mục 3.4
Tồn bộ dữ liệu sẽ được lưu trữ trên hệ thống chia sẻ dữ liệu nghiên cứu figshare.com với định danh số https://doi.org/10.6084/m9.figshare.16552737.v1. Dữ
liệu được chia sẻ cơng khai với quyền truy nhập có thể xem và tải về.
3.4 Thuật toán tách và xác định đặc trưng nhiễu thở