You are on page 1of 33

PHÁT HIỆN QRS ECG

Valtino X. Afonso
Trong vài năm qua xử lý điện tâm đồ (ECG) sử dụng máy vi tính có xu
hướng gia tăng. Một khảo sát về tài liệu trong lĩnh vực nghiên cứu này
chỉ ra rằng các hệ thống dựa trên máy vi tính có thể thực hiện các dịch
vụ y tế cần thiết một cách cực kỳ hiệu quả. Trên thực tế, nhiều hệ thống
đã được thiết kế và triển khai để thực hiện các tác vụ xử lý tín hiệu như
phân tích ECG ngoại tuyến 12 đạo trình. Phân tích băng giấy Holter và
theo dõi bệnh nhân theo thời gian thựcTất cả các ứng dụng này yêu cầu
phát hiện chính xác phức bộ QRS của ECG. Ví dụ, máy theo dõi rối loạn
nhịp tim cho bệnh nhân lưu động phân tích ECG theo thời gian thực
(Pan và Tompkins, 1985) và khi xảy ra rối loạn nhịp tim, máy theo dõi
sẽ lưu trữ một khoảng thời gian của ECG bất thường. Do đó, việc dò
QRS là một phần quan trọng của nhiều hệ thống xử lý tín hiệu ECG.
Chương này thảo luận về một vài trong số nhiều kỹ thuật đã được phát
triển để phát hiện phức bộ QRS của ECG. Chúng ta bắt đầu với một bàn
luận về phổ công suất của ECG và tiếp tục xem xét một loạt các thuật
toán phát hiện QRS
12.1 PHỔ CÔNG SUẤT CỦA ECG
Phổ công suất của ECG có thể cung cấp thông tin hữu ích về phức bộ
ECG. Phần này nhắc lại khái niệm phổ công suất được trình bày trước
đó, cũng như đưa ra giải thích về phổ công suất của phức bộ QRS. Phổ
công suất (dựa trên FFT) của một tập hợp 512 điểm lấy mẫu chứa
khoảng hai lần nhịp tim dẫn đến một loạt các hệ số có giá trị cực đại gần
với một tần số nhịp tim tương ứng
Nhịp tim có thể được xác định bằng cách nhân tần số chuẩn hóa và tần
số lấy mẫu. Chúng ta cũng có thể nhận được thông tin hữu ích về phổ
tần số của phức bộ QRS. Để có được thông tin này, phức hợp QRS của
tín hiệu ECG phải được chọn làm mẫu và đệm số không trước khi phân
tích phổ công suất. Đỉnh của phổ tần số thu được tương ứng với năng
lượng cực đại của phức bộ QRS.
Dạng sóng ECG bao gồm ngoài phức hợp QRS còn có sóng P và T,
nhiễu đường dây truyền tải 60 Hz, EMG từ cơ bắp, giả chuyển động từ
giao diện điện cực va da,và có thể là nhiễu khác từ thiết bị đo điện trong
phòng mổ. Nhiều dụng cụ lâm sàng như máy đo nhịp tim và máy theo
dõi rối loạn nhịp tim đòi hỏi phải phát hiện QRS chính xác theo thời
gian thực. Việc trích xuất tín hiệu cần quan tâm,phức bộ QRS khỏi các
nguồn nhiễu khác như sóng P và T. Hình 12.1 tóm lược phổ công suất
tương đối của các ECG,phức bộ QRS, sóng P và T,giả chuyển động và
nhiễu cơ dựa trên nghiên cứu trước đây của chúng tôi (Thakor et al.,
1983).

Hình 12.1 Phổ công suất tương đối của phức bộ QRS, sóng P và T,
nhiễu cơ và giả chuyển động dựa trên 150 nhịp trung bình
12.2 KĨ THUẬT LỌC THÔNG DẢI
Từ phân tích phổ công suất của các thành phần tín hiệu khác nhau trong
tín hiệu ECG, bộ lọc có thể được thiết kế để chọn phức bộ QRS từ ECG
có hiệu quả. Một nghiên cứu khác mà chúng tôi đã thực hiện đã thử
nghiệm các biểu đồ phổ của ECG và phức bộ QRS từ 3875 nhịp (Thakor
et al., 1984). Hình 12.2 cho thấy biểu đồ tỷ lệ tín hiệu trên nhiễu (signal
to noise ratio SNR) là một hàm của tần số. Nghiên cứu về phổ công suất
của tín hiệu ECG, phức bộ QRS và các nhiễu khác cũng cho thấy giá trị
SNR tối đa thu được cho bộ lọc băng thông với tần số trung tâm là 17
Hz và Q là 3. Phần 12.3 và thí nghiệm trong phòng thí nghiệm xem xét
ảnh hưởng của các giá trị khác nhau của Q như một bộ lọc

Hình 12.2 Đồ thị của tỷ lệ tín hiệu / nhiễu (SNR) của phức bộ QRS
được tham chiếu đến tất cả các nhiễu tín hiệu khác dựa trên 3875 nhịp
đập của tim. Bộ lọc thông dải tối ưu cho máy đo nhịp tim tối đa hóa
SNR.
12.2.1 Bộ lọc đệ quy hai cực
Một bộ lọc đệ quy hai cực đơn giản có thể được thực hiện bằng ngôn
ngữ C để thông giải tín hiệu ECG. Phương trình sai phân cho bộ lọc là
y(nT) = 1.875y(nT – T) – 0.9219y(nT – 2T) + x (nT) – x(nT – 2T)
(12.1)
Thiết kế bộ lọc này giả định rằng tín hiệu ECG được lấy mẫu ở mức 500
mẫu / s. Các giá trị của 1.875 và 0.9219 lấy xấp xỉ các giá trị thiết kế
thực tế tương ứng là 1.87635 và 0.9216. Do các hệ số được biểu diễn
dưới dạng lũy thừa của hai, nên các phép toán nhân có thể được thực
hiện tương đối nhanh bằng cách sử dụng các phép dịch trong ngôn ngữ
C. Hình 12.3 thể hiện đoạn mã thực hiện phương trình. (12.1)

Hình 12.3 Mã ngôn ngữ C để thực hiện bộ lọc đệ quy hai cực đơn giản
Lưu ý rằng trong mã này, các hệ số 1.87635 và 0.9216 được tính gần
đúng bằng
1 1 1
1.875=1+ + +
2 4 8

1 1 1 1 1
0.9219 = + + + +
2 4 8 32 64

12.2.2 Bộ lọc số nguyên


Bộ lọc số nguyên gần đúng được tính bằng cách sử dụng dạng tổng quát
của hàm truyền được đưa ra trong Chương 7. Các bộ dò QRS cho các
ứng dụng đo nhịp tim thường thông dải tín hiệu ECG sử dụng tần số
trung tâm là 17 Hz. Mẫu số dạng tổng quát của hàm truyền cho phép các
cực ở các góc 60, 90˚ và 120˚ và các giá trị này tương ứng với các tần số
trung tâm của bộ lọc thông dải T/6, T/4 và T/3 Hz.Bằng cách chọn tần số
lấy mẫu thích hợp ta có thể thu được tần số trung tâm như mong muốn
Ahlstrom và Tompkins (1985) mô tả một bộ lọc hữu ích cho phân tích
QRS dựa trên hàm truyền sau:
(1−𝑧 −12 )2
H(z)= (12.2)
(1+𝑧 −1 +𝑧 −2 )2

Bộ lọc này có 24 số không ở 12 tần số khác nhau trên vòng tròn đơn vị
với các điểm cực ở ± 60 °. Tín hiệu ECG được lấy mẫu ở 200 sps, và sau
đó thuật toán điểm ngoặt được sử dụng để giảm tốc độ lấy mẫu xuống
100 sps. Tần số trung tâm là 16,67 Hz và dải thông danh định là ± 8,3
Hz. Thời lượng của dao động sót lại là khoảng 240 ms (phần tiếp theo
giải thích các tác động của các bộ lọc Q khác nhau). Phương trình sai
phân để thực hiện hàm truyền này là
y(nT) = 2y(nT – T) – 3y(nT – 2T) + 2y(nT – 3T) – y(nT – 4T) + x(nT) –
2x(nT – 12T) + x(nT – 24T) (12.3)
12.2.3 Phản hồi của bộ lọc ứng với các giá trị khác nhau của Q
Giá trị Q của bộ lọc thông dải tập trung tại fc = 17 Hz xác định tín hiệu
quan tâm được truyền đi như thế nào là tốt mà không bị suy giảm. Việc
tăng SNR của tín hiệu quan tâm mà ở đây là phức độ QRS cũng là điều
cần thiết. Q của bộ lọc được tính như sau:
𝑓𝑐
Q= (12.4)
𝐵𝑊

Giá trị của Q quá cao sẽ dẫn đến phản ứng rất dao động (Thakor etal.,
1984). Các gợn sóng phải triệt tiêu trong vòng 200 ms. Điều này là cần
thiết để các gợn sóng từ một phức bộ QRS không can thiệp vào các gợn
sóng từ một gợn sóng tiếp theo. Với tần số trung tâm là 17 Hz, Q được
phép tối đa là 5. Hình 12.4 cho thấy ảnh hưởng của các giá trị khác nhau
của Q. Đối với bộ lọc thông dải có fc= 17 Hz, giá trị Q là 5 để cho SNR
là lớn nhất (Thakor et al., 1984).

Hình 12.4 Ảnh hưởng của các giá trị khác nhau của Q. Một Q cao hơn
dẫn đến đáp ứng nhất thời dao động. (a) Q = 8. (b) Q = 3. (c) Q = 1.
12.3 KỸ THUẬT VI SAI
Sự chênh lệch tạo thành cơ sở của nhiều thuật toán phát hiện QRS. Vì về
cơ bản nó là bộ lọc thông cao, đạo hàm khuếch đại đặc tính tần số cao
hơn của phức bộ QRS trong khi làm giảm tần số thấp hơn của sóng P và
T
Một thuật toán dựa trên các đạo hàm thứ nhất và đạo hàm thứ hai ban
đầu được phát triển bởi Balda et al được Ahlstrom and Tompkins (1982)
chỉnh sửa để sử dụng phân tích các bản ghi hệ thống ECG tốc độ cao.
Friesen và cộng sự. (1990) sau đó đã triển khai thuật toán này như một
phần của nghiên cứu để so sánh độ nhạy nhiễu giữa các loại thuật toán
phát hiện QRS nhất định. Hình 12.5 cho thấy các bước xử lý tín hiệu của
thuật toán này.

Hình 12.5 Các bước tín hiệu khác nhau trong thuật toán phát hiện QRS
dựa trên sự kỹ thuật vi phân. (A) ECG gốc. (b) Đạo hàm đầu tiên được
làm mịn và được chỉnh lưu. c) Đạo hàm thứ hai được làm mịn và được
chỉnh lưu. (d) Tổng số tín hiệu được làm mịn của (b) và (c). (e) Ngõ ra
xung vuông ứng với mỗi phức bộ QRS. Các giá trị tuyệt đối của đạo hàm
thứ nhất và thứ hai được tính từ tín hiệu ECG
y0(nT) = | x(nT) – x(nT – 2T) | (12.5)
y1(nT) = | x(nT) – 2x(nT – 2T) + x(nT – 4T) | (12.6)
Hai bộ đệm dữ liệu, y0 (nT) và y1 (nT), được chia tỷ lệ và sau đó được
cộng lại
y2(nT) = 1.3y0(nT) + 1.1y1(nT) (12.7)
Bộ đệm dữ liệu y2 (nT) được quét cho đến khi đạt đến một ngưỡng hoặc
vượt một ngưỡng nhất định

y2(iT) 1.0 (12.8)


Khi điều kiện này được đáp ứng cho một điểm dữ liệu trong y2 (iT), tám
điểm tiếp theo được so sánh với ngưỡng. Nếu sáu hoặc nhiều hơn tám
điểm này đáp ứng hoặc vượt quá ngưỡng, thì đoạn đó có thể là một phần
của phức bộ QRS. Ngoài việc phát hiện phức bộ QRS, thuật toán này
còn có ưu điểm là nó tạo ra một xung tỷ lệ theo chiều rộng đối với phức
bộ. Tuy nhiên, một nhược điểm là nó đặc biệt nhạy cảm với nhiễu tần số
cao hơn. Tuy nhiên, một nhược điểm là nó đặc biệt nhạy cảm với nhiễu
tần số cao hơn.
12.4 KỸ THUẬT SO KHỚP MẪU
Trong phần này, chúng ta thảo luận về các kỹ thuật để phân loại các mẫu
trong tín hiệu ECG có liên quan khá nhiều đến quá trình nhận dạng của
con người.
12.4.1 Tương quan chéo mẫu
Tín hiệu được cho là tương quan nếu hình dạng của dạng sóng của hai
tín hiệu trùng khớp với nhau. Hệ số tương quan là một giá trị xác định
mức độ trùng nhau giữa các hình dạng của hai hoặc nhiều tín hiệuMột
kỹ thuật phát hiện QRS được thiết kế bởi Dobbs et al. (1984) sử dụng
tương quan chéo. Kỹ thuật tương quan giữa tín hiệu này với tín hiệu
khác đòi hỏi hai tín hiệu phải thẳng hàng với nhau. Trong kỹ thuật dò
QRS này, mẫu tín hiệu mà chúng tôi đang cố gắng so khớp để lưu trữ
một dạng số hóa hình dạng tín hiệu mà chúng tôi muốn dò. Vì mẫu phải
tương quan với tín hiệu đến nên tín hiệu phải được căn chỉnh so với
mẫu. Dobbs và cộng sự. mô tả hai cách để thực hiện điều này.
Cách đầu tiên để căn chỉnh mẫu và tín hiệu đến là sử dụng các điểm
chuẩn trên mỗi tín hiệu. Một số quy trình bên ngoài gán các điểm chuẩn
cho tín hiệu. Nếu các điểm chuẩn trên mẫu và tín hiệu được căn chỉnh,
thì mối tương quan có thể được thực hiện.
Một cách khác liên quan đến mối tương quan liên tục giữa một phân
đoạn tín hiệu đến và mẫu. Bất cứ khi nào một điểm dữ liệu tín hiệu mới
đến, điểm dữ liệu cũ nhất sẽ bị loại bỏ khỏi phân đoạn (cấu trúc dữ liệu
first-in-first-out). Một mối tương quan được thực hiện giữa phân đoạn tín
hiệu này và phân đoạn mẫu có cùng số điểm tín hiệu. Kỹ thuật này
không yêu cầu thời gian xử lý để gán các điểm chuẩn cho tín hiệu. Mẫu
có thể được coi là một cửa sổ di chuyển qua một điểm dữ liệu tín hiệu
đến tại một thời điểm. Do đó, sự cân chỉnh phân đoạn tín hiệu cần quan
tâm phải xảy ra ít nhất một lần khi cửa sổ di chuyển qua tín hiệu.
Giá trị của hệ số tương quan chéo luôn nằm trong khoảng +1 và1. Giá trị
+1 cho biết tín hiệu và mẫu trùng khớp với nhau. Như đã đề cập trước
đó, giá trị của hệ số này xác định hình dạng của hai dạng sóng được xem
xét phù hợp như thế nào. Độ lớn của các mẫu tín hiệu thực tế không
quan trọng. Hình dạng này khớp hoặc quá trình nhận dạng các phức bộ
QRS,phù hợp với cách tiếp cận tự nhiên của chúng tôi để nhận ra tín
hiệu.
12.4.2 Trừ mẫu
Hình 12.6 minh họa một kỹ thuật trừ mẫu. Đây là một kỹ thuật phát hiện
QRS tương đối đơn giản so với các kỹ thuật khác được mô tả trong
chương này.
Hình 12.6 Trong so khớp mẫu đơn giản, tín hiệu đến bị trừ, từng điểm
một, từ mẫu QRS. Nếu hai dạng sóng được căn chỉnh hoàn hảo, phép trừ
sẽ dẫn đến giá trị bằng không.
Thuật toán bắt đầu bằng cách lưu một đoạn tín hiệu ECG đến tương ứng
với dạng sóng QRS. Đoạn hoặc mẫu này sau đó được so sánh với tín
hiệu ECG đến. Mỗi điểm trong tín hiệu đến được trừ với điểm tương ứng
trong mẫu. Khi mẫu được sắp thẳng hàng với dạng sóng QRS trong tín
hiệu, phép trừ sẽ dẫn đến một giá trị rất gần với không.
12.4.3 SO KHỚP MẪU DỰA TRÊN OTOMAT
Furno và Tompkins (1982) đã phát triển một máy tách sóng QRS dựa
trên các khái niệm từ lý thuyết otomat.Thuật toán sử dụng một số kỹ
thuật cơ bản phổ biến trong nhiều hệ thống nhận dạng mẫu.Đầu tiên tín
hiệu ECG được rút gọn thành một tập các token (ký hiệu từ vựng) được
xác định trước, đại diện cho các hình dạng nhất định của dạng sóng
ECG. Hình 12.7 cho thấy tập các token đại diện cho một ECG bình
thường. Sau đó, bộ token này được đưa vào otomat trạng thái hữu hạn
được xác định trong Hình 12.8. Otomat trạng thái hữu hạn về cơ bản là
một sơ đồ chuyển trạng thái có thể được thực hiện với các câu lệnh điều
khiển IF…THEN có sẵn trong hầu hết các ngôn ngữ lập trình. Chuỗi
token được đưa vào otomat. Ví dụ: một chuỗi các token như zero,
normup, normdown và normup sẽ dẫn tới việc otomat báo hiệu một phân
loại bình thường đối với ECG.

Hình 12.7 Rút gọn tín hiệu ECG thành mã thông báo.
Chuỗi token có thể được suy ra từ dữ liệu tín hiệu ECG. Điều này được
thực hiện bằng cách hình thành một chuỗi các sai lệch của dữ liệu đầu
vào. Sau đó, các nhóm thuật toán kết hợp những sai lệch có cùng dấu và
vượt quá một ngưỡng ngưỡng xác định trước. Thuật toán sau đó tính
tổng các sai lệch trong từng nhóm và kết hợp với từng tổng trong mỗi
nhóm này và số lượng sai lệch có trong đó.
Máy dò QRS này có bước học tập ban đầu trong đó chương trình xác
định khoảng cường độ cực đại của phức bộ QRS bình thường. Sau đó,
thuật toán phát hiện phức bộ QRS bình thường mỗi lần có độ lệch trong
dạng sóng với cường độ lớn hơn một nửa so với cực đại đã xác định
trước đó. Thuật toán bây giờ dạy otomat trạng thái hữu hạn chuỗi các
token tạo nên phức hợp QRS bình thường. Các giá trị số và tổng (được
thảo luận trong đoạn trước) cho một phức bộ QRS bình thường bây giờ
được sắp xếp thành một dãy các giá trị tương ứng xác định của chúng
trong phức bộ QRS được dò.

Hình 12.8 Sơ đồ chuyển trạng thái cho máy tự động đơn giản chỉ phát
hiện các phức bộ và nhiễu QRS bình thường. Chuyển đổi trạng thái
(khác) đề cập đến bất kỳ token nào khác không được gắn nhãn trên một
chuyển đổi trạng thái để lại một trạng thái cụ thể.
Thuật toán hiện có thể gán token dạng sóng cho từng nhóm được hình
thành trước đó dựa trên các giá trị của số và tổng trong mỗi nhóm sai
lệch. Ví dụ: nếu một nhóm sai lệch cụ thể có giá trị tổng và số trong các
phạm vi (được xác định trong pha tìm hiểu) của độ lệch hướng hướng
lên và hướng xuống của QRS, thì token normup hoặc normdown được
tạo cho nhóm sai lệch đó. Nếu số và các giá trị tổng không nằm trong
phạm vi này, thì một token noiseup hoặc noisedown được tạo ra. Token
bằng không được tạo nếu tổng của một nhóm sai lệch bằng không. Do
đó, thuật toán rút gọn dữ liệu tín hiệu ECG thành một chuỗi các token,
có thể được đưa vào otomat trạng thái hữu hạn để phát hiện QRS.
12.5 THUẬT TOÁN PHÁT HIỆN QRS
Một thuật toán phát hiện QRS thời gian thực được Pan và Tompkins
(1985) phát triển đã được Hamilton và Tompkins (1986) mô tả thêm. Nó
nhận dạng các phức bộ QRS dựa trên các phân tích về độ dốc, biên độ
và độ rộng. Hình 12.9 cho thấy các bộ lọc khác nhau liên quan đến việc
phân tích tín hiệu ECG. Để giảm nhiễu, tín hiệu được truyền qua bộ lọc
thông dải bao gồm các bộ lọc số nguyên thông cao và thông thấp. Các
quá trình tiếp theo là lấy vi phân, bình phương và thời gian trung bình
của tín hiệu.

Hình 12.9 Các bước lọc của bộ phát hiện QRS. z (n) là tín hiệu trung
bình theo thời gian. y(n) là ECG thông dải và x (n) là ECG lấy vi phân
Chúng tôi đã thiết kế bộ lọc thông dải từ một lớp bộ lọc kỹ thuật số đặc
biệt chỉ yêu cầu hệ số nguyên .Điều này cho phép bộ vi xử lý thực hiện
xử lý tín hiệu chỉ sử dụng số học số nguyên, do đó cho phép tốc độ xử lý
thời gian thực khó đạt được với xử lý dấu phẩy động. Do không thể trực
tiếp thiết kế bộ lọc thông dải mong muốn theo phương pháp đặc biệt
này, nên thiết kế thực sự bao gồm bộ lọc thông thấp và thông cao nhiều
tầng. Bộ lọc này cách ly năng lượng QRS chiếm ưu thế tập trung ở 10
Hz, làm suy giảm đặc tính tần số thấp của sóng P và T và độ lệch đường
cơ sở, và cũng làm giảm tần số cao hơn liên quan đến nhiễu điện cơ và
nhiễu đường dây truyền tải.
Bước xử lý tiếp theo là vi phân, một kỹ thuật tiêu chuẩn để tìm các độ
dốc cao thường để phân biệt các phức bộ QRS với các sóng ECG khác.
Đến thời điểm này trong thuật toán, tất cả các quá trình đều được thực
hiện bằng các bộ lọc kỹ thuật số tuyến tính.
Tiếp theo là một phép biến đổi phi tuyến bao gồm bình phương từng
điểm của các mẫu tín hiệu. Chuyển đổi này thực hiện để làm cho tất cả
các dữ liệu dương trước khi đến bước tích phân và cũng làm nổi bật các
tần số cao hơn trong tín hiệu thu được từ quá trình vi phân
Dạng sóng vuông đi qua một mạch tích phân cửa sổ chuyển động. Mạch
tích phân này tính tổng miền dưới dạng sóng vuông trong khoảng 150
ms, tiến một khoảng mẫu và tích phân cửa sổ 150 ms mới. Chúng tôi đã
chọn chiều rộng của cửa sổ đủ dài để tính đến khoảng thời gian của các
phức bộ QRS bất thường kéo dài, nhưng đủ ngắn để nó không chồng lên
cả phức hợp QRS và sóng T.
Ngưỡng biên độ thích ứng được áp dụng cho dạng sóng được lọc thông
thấp và cho dạng sóng tích phân động được dựa trên các dự đoán được
cập nhật liên tục về mức tín hiệu cực đại và nhiễu cực đại. Sau khi phát
hiện sơ bộ bằng các ngưỡng thích ứng, các quá trình quyết định đưa ra
quyết định cuối cùng về việc liệu một sự kiện được tìm thấy có phải là
phức bộ QRS hay không.
Một thuật toán đo lường tính toán thời lượng QRS khi mỗi phức bộ QRS
được phát hiện. Do đó, hai đặc tính dạng sóng có sẵn cho phân tích loạn
nhịp tiếp theo Khoảng thời gian RR và thời gian QRS.
Mỗi bước trong kỹ thuật phát hiện QRS này được giải thích trong các
phần sau. Hình 12.10 là một ECG được lấy mẫu sẽ đóng vai trò là tín
hiệu đầu vào mẫu cho các bước xử lý cần quan sát.
Hình 12.10 Điện tâm đồ được lấy mẫu ở 200 mẫu mỗi giây
12.5.1 Bộ lọc số nguyên thông dải
Bộ lọc thông dải cho thuật toán phát hiện QRS giúp giảm nhiễu trong tín
hiệu ECG bằng cách ghép với phổ của phức bộ QRS trung bình. Do đó,
nó làm giảm nhiễu do nhiễu cơ, giao thoa 60 Hz, baseline wander(hiện
tượng trôi tín hiệu do môi trường tiếp xúc giữa điện cực và da người
bệnh) và giao thoa sóng T. dải thông tối đa hóa năng lượng QRS nằm
tỏng khoảng 5-15 Hz, như được thảo luận trong phần 12.1. Bộ lọc được
triển khai trong thuật toán này là bộ lọc số nguyên đệ quy trong đó các
điểm cực được xác định để xóa bỏ các điểm không trên vòng tròn đơn vị
của mặt phẳng z. Bộ lọc thông thấp và bộ lọc thông cao được xếp tầng
để tạo thành bộ lọc thông dải.
Bộ lọc thông thấp
Hàm truyền của bộ lọc thông thấp cấp hai là
(1−𝑧 −6 )2
H(z)= (12.9)
(1−𝑧 −1 )2
Phương trình sai phân của bộ lọc này là
y(nT) = 2y(nT – T) – y(nT – 2T) + x(nT) – 2x(nT – 6T) + x(nT – 12T)
(12.10)
Tần số cắt là khoảng 11 Hz, độ trễ là năm mẫu (hoặc 25 ms cho tốc độ
lấy mẫu là 200 sps) và hệ số khuếch đại là 36. Hình 12.11 thể hiện
chương trình ngôn ngữ C thực hiện bộ lọc thông thấp này. Để tránh bão
hòa, đầu ra được chia cho 32, giá trị nguyên gần nhất với hệ số khuếch
đại 36 có thể được thực hiện với phép dịch số học nhị phân.

Hình 12.11 Chương trình ngôn ngữ C để thực hiện bộ lọc thông thấp.
Hình 12.12 cho thấy các hiệu suất chi tiết của bộ lọc thông thấp. Bộ lọc
này có đáp ứng pha tuyến tính hoàn toàn. Lưu ý rằng có tần số suy giảm
hơn 35dB tương ứng với 0,3 f / fs. Vì tốc độ mẫu đối với những bộ lọc
này là 200 sps, nên tần số này đại diện cho tần số 60 Hz. Do đó, nhiễu
đường dây tải điện giảm đáng kể nhờ bộ lọc này. Ngoài ra tất cả các tần
số cao hơn đều bị suy giảm hơn 25 dB.
Hình 12.12 Bộ lọc thông thấp. a) Đồ thị cực không. b) Đáp ứng biên độ.
c) Đáp ứng pha
Hình 12.13 cho thấy ECG của Hình 12.10 sau khi xử lý với bộ lọc thông
thấp. Kết quả đáng chú ý nhất là sự suy giảm của tần số phức bộ QRS
cao hơn. Bất kỳ nhiễu 60 Hz hoặc nhiễu cơ nào cũng sẽ bị suy giảm
đáng kể.

Hình 12.13 ECG được lọc thông thấp


Lọc thông cao
Hình 12,14 cho thấy cách bộ lọc thông cao được thực hiện bằng cách trừ
bộ lọc thông thấp cấp một với bộ lọc toàn dải có độ trễ.

Hình 12,14 cho thấy cách bộ lọc thông cao được thực hiện bằng cách trừ
bộ lọc thông thấp cấp một với bộ lọc toàn dải có độ trễ
Bộ lọc thông thấp là bộ lọc hệ số nguyên với hàm truyền
𝑌(𝑧) 1−𝑧 −32
Hlp(z)= = (12.11)
𝑋(𝑧) 1−𝑧 −1

Và phương trình sai phân


y(nT) = y(nT – T) + x(nT) – x(nT – 32T) (12.12)
Bộ lọc này có hệ số khuếch đại dc là 32 và độ trễ là 15,5 mẫu.
Bộ lọc thông cao có được bằng cách chia đầu ra của bộ lọc thông thấp
cho hệ số khuếch đại dc của nó và sau đó trừ đi tín hiệu ban đầu. Hàm
truyền của bộ lọc thông cao là
𝑃(𝑧) 𝐻𝑙𝑝 (𝑧)
Hhp(z)= = 𝑧 −16 − (12.13)
𝑋(𝑧) 32

Phương trình sai phân của bộ lọc này là


1
p(nT) = x(nT – 16T) - [y(nT – T) + x(nT)-x(nT - 32T)] (12.14)
32

Tần số cắt thấp của bộ lọc này là khoảng 5 Hz, độ trễ là khoảng 16T
(hoặc 80 ms) và hệ số khuếch đại là 1. Hình 12.15 thể hiện chương trình
ngôn ngữ C thực hiện bộ lọc thông cao này.

Hình 12.15 Chương trình ngôn ngữ C để thực hiện bộ lọc thông cao
Hình 12.16 cho thấy các đặc tính hiệu suất của bộ lọc thông cao. Lưu ý
rằng bộ lọc này cũng có đáp ứng pha tuyến tính hoàn toàn.
Hình 12.16 Bộ lọc thông cao. a) Đáp ứng biên độ. b) Đáp ứng pha.
Hình 12.17 cho thấy đáp ứng biên độ của bộ lọc thông dải được cấu
thành từ tầng của các bộ lọc thông thấp và thông cao. Tần số trung tâm
của dải thông là 10 Hz. Đáp ứng biên độ của bộ lọc này được thiết kế để
ước lượng phổ của phức bộ QRS trung bình như được minh họa trong
Hình 12.1

Hình 12.17 Đáp ứng biên độ của bộ lọc thông dải bao gồm các bộ lọc
thông thấp và thông cao
Hình 12,18 là tín hiệu tổng hợp sau khi ECG của Hình 12.10 đi qua bộ
lọc thông dải. Lưu ý sự suy giảm của sóng T là do bộ lọc thông cao

Hình 12,18 ECG được lọc thông dải


12.5.2 Đạo hàm
Sau khi tín hiệu đã được lọc, nó sẽ được sai phân để cung cấp thông tin
về độ dốc của phức bộ QRS. Đạo hàm cấp năm có hàm truyền
H(z) = 0.1 (2 + z-1 - z-3- 2z-4) (12.15)
Đạo hàm này được thực hiện với phương trình sai phân
2𝑥(𝑛𝑇) + 𝑥(𝑛𝑇 – 𝑇) – 𝑥(𝑛𝑇 – 3𝑇) – 2𝑥(𝑛𝑇 – 4𝑇)
y(nT)= (12.16)
8

Phân số 1/8 lấy xấp xỉ hệ số khuếch đại thực tế là 0,1. Trong suốt các
thiết kế bộ lọc này, chúng tôi ước chừng các tham số với các lũy thừa
của 2 để thuận tiện cho việc hoạt động trong thời gian thực. Các phép
tính lũy thừa này được thực hiện bằng ngôn ngữ C bằng các thao tác
dịch chuyển sang trái hoặc dịch chuyển sang phải.
Đạo hàm này xấp xỉ với đạo hàm lý tưởng trong dải tần số dc đến 30 Hz.
Đạo hàm có độ trễ bộ lọc là 2T (hoặc 10 ms). Hình 12.19 thể hiện
chương trình ngôn ngữ C để thực hiện đạo hàm này

Hình 12.19 Chương trình ngôn ngữ C để thực hiện đạo hàm
Hình 12.20 thể hiện các đặc tính hiệu suất của việc thực hiện đạo hàm
này. Lưu ý rằng đáp ứng biên độ xấp xỉ với đạo hàm thực lên tới khoảng
20 Hz. Đây là dải tần quan trọng vì tất cả các tần số cao hơn đều bị suy
giảm đáng kể bởi bộ lọc thông dải.
Hình 12.20 Đạo hàm. a) Đáp ứng biên độ. b) Đáp ứng pha
Hình 12,21 là tín hiệu tổng hợp sau khi đi qua các tầng của các bộ lọc
bao gồm bộ vi sai. Lưu ý rằng sóng P và T bị suy giảm nữa trong khi tín
hiệu đỉnh nối đỉnh tương ứng với phức bộ QRS được nâng cao hơn nữa

Hình 12,21 ECG sau khi lọc thông dải và vi phân


12.5.3 Hàm bình phương
Các quá trình trước đó và tính phân cửa sổ trượt, được giải thích trong
phần tiếp theo, là các phần xử lý tuyến tính của bộ dò QRS. Hàm bình
phương mà tín hiệu hiện tại đi qua là một quá trình phi tuyến. Phương
trình thực hiện quá trình này là
y(nT)=[x(nT)]2 (12.17)
Quá trình này làm cho tất cả các điểm dữ liệu trong tín hiệu được xử lý
dương và nó khuếch đại đầu ra của quá trình đạo hàm một cách phi
tuyến. Nó cường điệu tần số cao hơn trong tín hiệu, chủ yếu là do phức
bộ QRS. Một thực tế cần lưu ý trong quá trình này là đầu ra của bước
này là phải được giới hạn cứng ở mức tối đa nhất định tương ứng với số
bit được sử dụng để biểu thị loại dữ liệu. Hình 12,22 cho thấy kết quả xử
lý này đối với mẫu ECG của chúng tôi.

Hình 12,22 tín hiệu ECG sau bình phương hàm truyền
12.5.4 Tích phân cửa sổ dịch chuyển
Độ dốc của sóng R không phải là một cách đảm bảo để phát hiện sự kiện
QRS. Nhiều phức hợp QRS bất thường có biên độ lớn và khoảng thời
gian dài (không phải độ dốc rất lớn) có thể không được phát hiện bằng
cách sử dụng thông tin về độ dốc của sóng R. Vì vậy, chúng ta cần trích
xuất thêm thông tin từ tín hiệu để phát hiện sự kiện QRS.
Phép lấy tích phân cửa số dịch chuyển trích xuất đặc tính cùng với độ
dốc của sóng R. Nó được thực hiện với phương trình sai phân sau
1
y(nT) = [𝑥(𝑛𝑇 – (𝑁 – 1)𝑇) + 𝑥(𝑛𝑇 – (𝑁 – 2)𝑇) + ⋯ + 𝑥(𝑛𝑇)]
𝑁
(12.18)
Trong đó N là số mẫu theo chiều rộng của cửa sổ dịch chuyển. Giá trị
của tham số này nên được chọn cẩn thận.
Hình 12,23 cho thấy đầu ra của tích phân cửa sổ di chuyển đối với mẫu
ECG của Hình 12.10. Hình 12.24 minh họa mối quan hệ giữa phức bộ
QRS và chiều rộng cửa sổ. Chiều rộng của cửa sổ phải xấp xỉ bằng phức
hợp QRS rộng nhất có thể. Nếu kích thước của cửa sổ quá lớn, dạng
sóng lấy tích phân sẽ kết hợp các phức bộ QRS và T lại với nhau. Mặt
khác, nếu kích thước của cửa sổ quá nhỏ, phức hợp QRS có thể tạo ra
một số đỉnh ở đầu ra của bước. Chiều rộng của cửa sổ nên được chọn
bằng thực nghiệm. Đối với số lần lấy mẫu là 200 sps, cửa sổ được chọn
cho thuật toán này rộng 30 mẫu (tương ứng với 150 ms).
Hình 12,23 Tín hiệu sau khi lấy tích phân cửa số dịch chuyển

Hình 12.24 Mối quan hệ của phức bộ QRS với dạng sóng tích phân dịch
chuyển. (a) Tín hiệu ECG. (b) Đầu ra của mạch tích phân cửa sổ dịch
chuyển. QS: Độ rộng QRS. W: độ rộng của cửa sổ mạch tích phân
Hình 12.25 thể hiện chương trình ngôn ngữ C thực hiện tích hợp cửa sổ
chuyển động.

Hình 12.25 Chương trình ngôn ngữ C để thực hiện tích phân cửa sổ dịch
chuyển.
Hình 12.26 cho thấy sự xuất hiện của một số đầu ra bộ lọc của thuật toán
này. Lưu ý trễ xử lý giữa các phức bộ ECG ban đầu và các sóng tương
ứng trong tín hiệu tích phân cửa sổ dịch chuyển.
Hình 12,26 Các tín hiệu máy dò QRS. (a) ECG chưa được lọc. (b) Đầu
ra của bộ lọc thông dải. (c) Đầu ra sau quá trình thông dải, vi phân và
bình phương. (d) Tích phân cửa sổ dịch chuyển cuối cùng.
12.5.5 Phân ngưỡng
Tập hợp các ngưỡng mà Pan và Tompkins (1985) đã sử dụng cho bước
này của thuật toán phát hiện QRS đã được thiết lập sao cho các đỉnh tín
hiệu (nghĩa là các phức bộ QRS hợp lệ) được phát hiện. Các đỉnh tín
hiệu được định nghĩa là các đỉnh của phức bộ QRS, trong khi các đỉnh
nhiễu là của các sóng T, nhiễu cơ, v.v ... Sau khi tín hiệu ECG đi qua các
bước lọc thông dải, tỷ lệ tín hiệu trên tạp âm của nó tăng lên. Các đỉnh
tín hiệu được định nghĩa là các đỉnh của phức bộ QRS, trong khi các
đỉnh nhiễu là của các sóng T, nhiễu cơ, v.v ... Sau khi tín hiệu ECG đi
qua các bước lọc băng thông, tỷ lệ tín hiệu trên nhiễu của nó tăng lên.
Điều này cho phép sử dụng các ngưỡng nằm ngay trên mức cực đại của
nhiễu. Do đó, độ nhạy tổng thể của máy dò được cải thiện.
Hai bộ ngưỡng được sử dụng, mỗi bộ có hai mức ngưỡng. Tập hợp các
ngưỡng được áp dụng cho dạng sóng từ bộ tích hợp cửa sổ dịch chuyển

SPKI = 0.125 PEAKI + 0.875 SPKI nếu PEAKI là đỉnh tín hiệu
NPKI = 0.125 PEAKI + 0.875 NPKI nếu PEAKI là đỉnh nhiễu
THRESHOLD I1 = NPKI + 0.25 (SPKI – NPKI )
THRESHOLD I2 = 0.5 THRESHOLD I1
Tất cả các biến trong các phương trình này đề cập đến tín hiệu của dạng
sóng lấy tích phân và được mô tả dưới đây:
PEAK là cực đại tổng
SPKI là ước tính chạy của đỉnh tín hiệu.
NPKI là ước tính chạy của đỉnh nhiễu.
THRESHOLD I1 là ngưỡng sơ cấp được áp dụng.
THRESHOLD I2 là ngưỡng thứ cấp được áp dụng
Một cực đại được xác định khi tín hiệu thay đổi hướng trong một khoảng
thời gian nhất định.
Do đó, SPKI là đỉnh mà thuật toán đã học để trở thành phức bộ
QRS,trong khi đỉnh NPKI là bất kỳ đỉnh nào không liên quan đến tín
hiệu quan tâm. Như có thể thấy từ các phương trình, các giá trị ngưỡng
mới được tính từ các giá trị trước đó và do đó thuật toán điều chỉnh các
thay đổi trong tín hiệu ECG từ một người cụ thể
Bất cứ khi nào một đỉnh mới được phát hiện, nó phải được phân loại
thành đỉnh nhiễu hoặc đỉnh tín hiệu. Nếu mức cực đại vượt quá
THRESHOLD I1 trong lần phân tích tín hiệu đầu tiên, thì đó là đỉnh
QRS. Nếu kỹ thuật tìm kiếm lại (được giải thích trong phần tiếp theo)
được sử dụng, thì đỉnh tín hiệu phải vượt quá THRESHOLD I2 để được
phân loại là đỉnh QRS. Nếu phức hợp QRS được tìm thấy bằng cách sử
dụng mức ngưỡng thứ cấp này thì điều chỉnh giá trị cực đại sẽ nhanh gấp
đôi so với thông thường:
SPKI = 0,25 PEAKI + 0,75 SPKI
Đầu ra của các bước lọc cuối cùng, sau khi tích phân cửa sổ dịch
chuyên, phải được phát hiện các đỉnh. Thuật toán dò đỉnh tìm thấy các
đỉnh và thuật toán phát hiện lưu trữ các mức tối đa ở bước này của tín
hiệu được lọc kể từ lần phát hiện đỉnh cuối cùng. đỉnh mới chỉ được xác
định khi đạt đến một mức nhỏ hơn một nửa chiều cao của mức đỉnh.
Hình 12,27 minh họa rằng điều này xảy ra ở nửa dưới rìa của đỉnh
(Hamilton và Tompkins, 1986).

Hình 12.27 Đầu ra sau khi tích phân cửa sổ di chuyển, với điểm phát
hiện cực đại.
12.5.6 Kỹ thuật tìm kiếm lại
Để thực hiện kỹ thuật tìm kiếm lại, thuật toán này duy trì hai khoảng RR
trung bình. Một trung bình, RR AVERAGE1, là tám nhịp tim gần đây
nhất. Trung bình khác, RR AVERAGE2, là trung bình của tám nhịp gần
đây nhất có các khoảng RR nằm trong một phạm vi nhất định.
RR AVERAGE1 = 0.125(RRn-7+ RRn-6+…+ RRn)
RR AVERAGE2 = 0.125(RR’n-7+ RR’n-6+…+ RR’n)
Các giá trị RR’n là khoảng RR nằm trong các giới hạn sau:
RR LOW LIMIT = 92% ´ RR AVERAGE2
RR HIGH LIMIT = 116% ´ RR AVERAGE2
Bất cứ khi nào dạng sóng QRS không được phát hiện trong một khoảng
thời gian nhất định, RR MISSED LIMITBất cứ khi nào dạng sóng QRS
không được phát hiện trong một khoảng thời gian nhất định, RR
MISSED GIỚI HẠN, thì QRS là đỉnh giữa các ngưỡng được thiết lập
được đề cập trong phần trước được áp dụng trong quá trình tìm kiếm lại.
12.5.7 Đo lường hiệu suất
Chúng tôi đã kiểm tra hiệu suất của thuật toán trên cơ sở dữ liệu MIT /
BIH được giải thích 24 giờ, bao gồm các bản ghi ECG 30 phút của 48
bệnh nhân cấp cứu (xem tài liệu tham khảo, cơ sở dữ liệu ECG của MIT
/ BIH). Cơ sở dữ liệu này, có sẵn trên CD ROM, được phát triển bởi
Viện Công nghệ Massachusetts và Bệnh viện Beth Israel. Tổng lỗi trong
việc phân tích khoảng 116.000 nhịp là 0,68%, tương ứng với tỷ lệ lỗi
trung bình là 33 nhịp mỗi giờ. Trong thực tế, phần lớn lỗi xuất phát từ
bốn dải đoạn 30 phút cụ thể (nghĩa là, hai giờ dữ liệu từ tổng cơ sở dữ
liệu).
Hình 12.28 cho thấy hiệu quả của việc loại trừ bốn dải 30 phút có vấn đề
nhất khỏi kết quả tổng thể. Lưu ý rằng các lỗi dương tính giả giảm nhiều
hơn so với các âm tính giả. Sự khác biệt này chỉ ra rằng thuật toán này
có nhiều khả năng phân loại nhầm nhiễu là phức bộ QRS hơn là bỏ qua
một sự kiện thực. Loại bỏ bốn dải đoạn 30 phút này làm giảm tỷ lệ lỗi
dưới 10 nhịp mỗi giờ. Một cơ sở dữ liệu ECG có sẵn khác được phát
triển bởi Hiệp hội Tim mạch Hoa Kỳ (xem tài liệu tham khảo, cơ sở dữ
liệu AHA ECG).

Hình 12.28 Hiệu suất của phần mềm phát hiện QRS. Tổng số lỗi của
thuật toán phát hiện QRS có thể được giảm đáng kể bằng cách loại bỏ có
chọn lọc các dải vấn đề trong cơ sở dữ liệu.
12.6 THỰC NGHIỆM:THUẬT TOÁN XỬ LÝ ECG THỜI GIAN
THỰC
Phòng thí nghiệm này cho phép bạn nhìn vào bên trong các hoạt động
bên trong của thuật toán phát hiện QRS thuật toán được phát triển bởi
Pan và Tompkins (1985) được mô tả trong phần 12.5 Load UW
DigiScope, chọn ad (V),Ops sau đó phát hiện (Q) dò RS
12.6.1 Các bước xử lý thuật toán bộ dò QRS
Quan sát đầu ra của từng bước trong máy dò QRS. Phác thảo hoặc in
một chu kỳ của tín hiệu ECG ban đầu và các đầu ra của các bước thông
thấp ,thông dải,đạo hàm, bình phương và tích phân cửa sổ chuyển.
12.6.2 Ảnh hưởng của giá trị Q của bộ lọc đối với phát hiện QRS
Thực hiện một số bộ lọc đệ quy hai cực với tần số trung tâm 17 Hz để
quan sát ảnh hưởng của các giá trị khác nhau của Q trên ECG, như trong
phần 12.2.1. Giá trị nào của r tạo ra đáp ứng mong muốn nhất để phát
hiện phức bộ QRS?
12.6.3 Xử lý bộ lọc số nguyên của ECG
Sử dụng (G) enwave để tạo tín hiệu ECG được lấy mẫu ở 100 Hz.
Xử lý tín hiệu này với bộ lọc có phương trình sai phân sau.
y(nT) = 2y(nT – T) – 3y(nT – 2T) + 2y(nT – 3T) – y(nT – 4T)
+ x(nT) – 2x(nT – 12T) + x(nT – 24T)
Quan sát đầu ra và lưu ý thời lượng của dao động sót lại

You might also like