Phân tích cơ sở khoa học
Dựa theo nghiên cứu của Kauppinen vào năm 1998 [79] khi sử dụng mô hình 8 điện cực điểm, độ nhạy tín hiệu được tập trung phần lớn vào các động mạch cảnh, tĩnh mạch cảnh, động mạch chủ và tĩnh mạch chủ hơn là các vùng khác. Theo nghiên cứu của các tác giả Baker và Geddes vào năm 1967, các tế bào cơ xương chiếm phần lớn nhất trong tổng trở kháng vùng ngực, trong khi đó phần thay đổi trở kháng do máu lưu thông và sự thông khí của phổi chỉ chiếm 0,5% lại chính là tín hiệu thu được từ các điện cực đo ICG [48]. Hai mô hình vùng ngực được sử dụng để xây dựng
77
b) Khối nguồn
Để tạo ra nguồn cấp cho khối mạch đo, tác giả sử dụng mô-đun chuyển đổi nguồn DC-DC JHM1524D12 (XP Power). Khối mạch nguồn ngoài đảm bảo về mặt điện áp cấp (điện áp đối xứng) còn phải đảm bảo về mặt công suất và quan trọng hơn là đảm bảo an toàn điện cho đối tượng đo. Một số thông số kĩ thuật của mô-đun nguồn được liệt kê dưới Bảng 3.1.
Bảng 3.1 Thông số kĩ thuật của mô-đun nguồn DC-DC JHM1524D12
STT Thông số kĩ thuật Giá trị
1 Công suất 15 W
2 Điện áp đầu vào 18-36 VDC
3 Điện áp đầu ra ±12 VDC
4 Dòng dò 2 µA
5 Điện áp cách ly 4.000 VAC
6 Tiêu chuẩn an toàn An toàn cho y tế, đạt chuẩn IEC60601-1, thế hệ thứ 3
Xây dựng phần mềm hiển thị và lưu trữ dữ liệu
Mô-đun phần mềm hiển thị và lưu trữ dữ liệu được viết bằng ngôn ngữ lập trình C# sử dụng trình biên dịch Microsoft Visual Studio 2017 trên nền nảng .Net. Giao diện người dùng của phần mềm xây dựng trên bộ công cụ Windows Form. Giao diện được thiết kế theo phương thức kéo thả cho khả năng tùy biến linh hoạt. Toàn bộ mã nguồn sử dụng trong phần mềm hoàn toàn được dựa trên thư viện tự viết và một số thư viện cơ bản có sẵn của trình biên dịch do đó đem lại khả năng tinh chỉnh và làm chủ tối đa đối với phần mềm. Dữ liệu được máy tính tiếp nhận qua cổng USB thông dụng hiện nay. Phần mềm cho phép lưu dữ liệu đang hiển thị ra dạng file .csv. Dạng file này có thể mở hoàn toàn bằng phần mềm Microsoft Excel thuận tiện cho việc lưu trữ, đọc và phân tích dữ liệu.
3.1.4Kết quả
Phần cứng hệ thống
Sau khi hoàn thành việc xây dựng các khối mạch thành phần, tác giả tiến hành ghép nối và tích hợp các phần với nhau trên một bo mạch hoàn chỉnh bằng phần mềm Altium. Hình ảnh thực tế mạch đo sau khi đã gia công, hàn lắp, lập trình được thể hiện tương ứng trên Hình 3.2.
78
Hình 3.2 Ảnh thực tế của khối mạch đo tín hiệu TEB và ECG sau khi hoàn thiện
Mạch đo sau khi hoàn thiện và hiệu chỉnh có các thông số kỹ thuật được liệt kê cụ thể như trong Bảng 3.2.
Bảng 3.2 Thông số kỹ thuật của mạch đo tín hiệu TEB và ECG
Khối mạch Thông số kỹ thuật Giá trị
Nguồn dòng
Tần số 85 kHz
Cường độ dòng điện (1/2 Vp-p) 1 mA
Dạng xung Hình sin đã loại bỏ DC
Mạch đo TEB Dải biên độ trở kháng đo 0-60 Ω Dải tần số trở kháng đo 0-100 Hz
Mạch đo ECG Dải biên độ ±7 mVAC
Dải tần 0,1 – 100 Hz
Mạch nguồn
Điện áp đầu vào / đầu ra 18-36 VDC / ±12 VDC
Công suất 15 W
Dòng dò 2 µA
Điện áp cách ly 4.000 VAC
Giao tiếp
Cổng giao tiếp USB A – cổng COM ảo
Loại giao tiếp Nối tiếp (UART)
Loại cách ly Cách ly số (cách ly tụ)
79
Phần mềm hiển thị và lưu trữ dữ liệu
Phần mềm sau khi thiết kế có giao diện hoàn thiện như trong Hình 3.3.
Hình 3.3 Giao diện phần mềm hiển thị và lưu trữ dữ liệu tín hiệu TEB và ECG
Một ví dụ về dữ liệu được minh họa trong Hình 3.4 cho thấy khả năng xử lý linh hoạt dữ liệu định dạng .csv với phần mềm Microsoft Excel.
Hình 3.4 Dữ liệu TEB và ECG được ghi bởi phần mềm dưới dạng file .csv
Phần mềm có một số tính năng chính được liệt kê như trong Bảng 3.3.
Bảng 3.3 Chức năng chính của phần mềm lưu và hiển thị dữ liệu TEB và ECG
STT Phím
chức năng Chức năng
1 Kết nối
Có chức năng quét danh sách các thiết bị đang kết nối với máy tính bằng cổng COM (cổng COM ảo và cổng COM vật lý), sau đó tự động kết nối với cổng COM đầu tiên trong danh sách. Tốc độ Baud là 115200 bit/s, đồng bộ với mạch đo. Sau khi kết nối thành công, phím nhấn sẽ đổi thành “Ngắt kết nối”. Ấn vào phím lần nữa để ngắt kết nối.
80
STT Phím
chức năng Chức năng
2 Lưu dữ liệu
Phím này có chức năng lưu dữ liệu đang hiển thị ra file dạng .csv. Ấn vào phím để bắt đầu lưu, sau đấy phím nhấn sẽ đổi thành “Kết thúc lưu”, ấn vào lần nữa để kết thúc quá trình lưu dữ liệu. Sau đó, sẽ có dòng thông báo dữ liệu đã được lưu thành công vào trong ổ E. Dữ liệu được ghi vào file Excel gồm 3 trường dữ liệu: thời gian (ms), dữ liệu TEB, dữ liệu ECG.
3 Chọn chế độ
Phần mềm có hai chế độ chạy là: “Chế độ đo” và “Chế độ giả lập”. Hai chế độ này sẽ được sổ xuống khi ấn phím chọn chế độ. Chế độ đo sẽ cho phép hiển thị và xử lý tín hiệu được gửi lên từ mạch đo. Chế độ giả lập sẽ cho phép phần mềm chạy tín hiệu giả lập TEB và ECG khi không kết nối với mạch đo.
4 Lọc tín hiệu
Phím nhấn này cho phép lựa chọn có sử dụng bộ lọc số thông thấp IIR đã được thiết kế hay không. Thuật toán phát hiện đỉnh R từ đó tính toán nhịp tim chỉ hoạt động khi bộ lọc số đã được kích hoạt. Phần mềm cho phép lựa chọn hiển thị dạng sóng hai tín hiệu TEB và ECG ở dạng trước lọc và sau lọc.
5 Hiển thị nhịp tim
Nhịp tim được hiển thị trong nhãn dán này được tính nhờ thuật toán phát hiện đỉnh R trong tín hiệu ECG dựa trên phương pháp Pan-Tompkins kết hợp với phương pháp ngưỡng được mà tác giả đã triển khai trong phần mềm. 6 Thông báo trạng thái kết nối, chế độ hoạt động, thời gian
Ngoài ra phần mềm còn có thanh thông báo trạng thái ở dưới cùng để thông báo trạng thái kết nối với máy tính, chế độ hoạt động của phần mềm, cũng như thời gian hiện tại.
7 Khu vực hiển thị tín hiệu
Hiển thị đồng thời dạng sóng ECG của cả hai đạo trình theo thời gian thực. Thuật toán phát hiện đỉnh R được kích hoạt, các đỉnh R phát hiện được sẽ được đánh dấu ngay trên sóng hiển thị.
81
3.2 Xây dựng bộ công cụ hỗ trợ xử lý tín hiệu ICG
3.2.1Mục đích
Với mục tiêu xây dựng một bộ cơ sở dữ liệu về thành phần nhiễu thở trong phép đo ICG, sau đó sử dụng chính bộ cơ sở dữ liệu này để làm cơ sở để tác giả đề xuất một thuật toán giảm nhiễu thở và đánh giá hiệu quả lọc nhiễu của thuật toán đề xuất, số lượng tình nguyện viên mà tác giả dự kiến thực hiện thu thập và xử lý dữ liệu khoảng 30 người. Trong đó, mỗi tình nguyện viên dự kiến sẽ được thu thập dữ liệu về tín hiệu ICG và ECG với ba trạng thái thở khác nhau, do đó số lượng mẫu xử lý có thể đạt tới 90 mẫu. Việc xử lý dữ liệu và triển khai thuật toán được thực hiện qua nhiều bước khác nhau sẽ được trình bày trong các phần tiếp theo của luận án. Thêm vào đó, với định hướng mở rộng nghiên cứu trong tương lai trên đối tượng là các bệnh nhân thực tế và với quy mô rộng hơn, số lượng mẫu dữ liệu cần phải xử lý sẽ lớn hơn rất nhiều so với hiện tại. Vì vậy, nhằm mục đích hỗ trợ tối đa trong việc xử lý dữ liệu sau khi thu nhận với hiệu suất tối đa giảm được sức người và thời gian thực hiện, tác giả tiến hành nghiên cứu, xây dựng một bộ công cụ phần mềm hỗ trợ xử lý tín hiệu ICG với các tính năng, phép xử lý cần thiết. Phần mềm được viết bằng ngôn ngữ lập trình C# bởi trình biên dịch Microsoft Visual Studio 2017 với giao diện người dùng dựa trên Windows Form.
Bộ công cụ phần mềm được tác giả xây dựng gồm hai phần mềm hỗ trợ xử lý chính là: (a) phần mềm thiết kế và thực hiện lọc số và (b) phần mềm phân tích và xử lý tín hiệu ICG. Bộ công cụ xây dựng được tham khảo từ chức năng của một số bộ xử lý tín hiệu từ Signal Processing Toolbox Software 8.2 trên phần mềm xử lý tín hiệu Matlab 2019 như: Filter Designer, Signal Analyzer, Wavelet Signal Designer, v.v. Tuy nhiên các công cụ này được thiết kế với các tác vụ xử lý tín hiệu chung và hoạt động độc lập và cần nhiều thao tác để có thể sử dụng và các kết hợp các bộ công cụ này với nhau để xử lý tín hiệu. Bên cạnh các phép xử lý thông thường như trong các bộ công cụ, tín hiệu còn cần phải được xử lý bởi các thuật toán đặc thù do tác giả đề xuất. Việc kết hợp các bộ công cụ rời rạc như trên và thuật toán mà tác giả đề xuất chỉ phù hợp với giai đoạn thử nghiệm thuật toán với số lượng nhỏ dữ liệu. Việc thực hiện thủ công các thao tác xử lý sẽ không tối ưu về mặt thời gian và sức người đối với việc xử lý của một số lượng mẫu dữ liệu lớn khi tiến hành nghiên cứu trên diện rộng.
Do đó, tác giả đã tiến hành xây dựng hai bộ công cụ phần mềm hỗ trợ xử lý tín hiệu với sự tích hợp đầy đủ của các phép xử lý cơ bản như lọc số, phân tích phổ sử
82
dụng thuật toán biến đổi Fourier nhanh FFT, biến đổi wavelet, các thuật toán đặc thù như trung bình toàn bộ, phát hiện đỉnh R trong tín hiệu ECG bằng thuật toán Pan- Tompkins. Bên cạnh đó, bộ công cụ phần mềm cũng có tích hợp đầy đủ các chức năng tải file dữ liệu lên và lưu file dữ liệu xuống dưới định dạng file .txt, hiển thị và xuất dữ liệu của các dạng sóng xử lý trung gian. Bộ phần mềm được viết với giao diện người dùng thân thiện và tiện lợi. Hiện tại, nghiên cứu đang dừng lại ở giai đoạn thử nghiệm thuật toán. Tuy nhiên, với việc phần mềm được tác giả tự nghiên cứu và xây dựng hoàn toàn bằng ngôn ngữ lập trình C#, tác giả có thể tích hợp các tác vụ xử lý trên vào các thiết bị đo sau này một cách dễ dàng và nhanh chóng.
3.2.2Xâ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 hoàn toà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.3Xâ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 toá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 toá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 quá 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 toán trung bình toàn bộ
Một thuật toán rất quan trọng xuyên suốt các mô hình xử lý tín hiệu mà tác giả đề xuất đó là thuật toán trung bình toà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 toá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