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
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 toán trung bình toàn bộ, sau đó thực hiện phép trừ để thu được tín hiệu nhiễu thở thô.
Ngoà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 toán sử dụng sẽ được trình bày ở Chương 4 của luận án.