3.2 Xây dựng bộ công cụ hỗ trợ xử lý tín hiệu ICG
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 tố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 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 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 tố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 toán sử dụng sẽ được trình bày ở Chương 4 của luận án.