Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

Loại bỏ nhiễu trong tín hiệu điện tim ECG bằng phương pháp phân tích thành phần độc lập Removing Artefacts from the ECG using Independent Component Analysis
Vương Hoàng Nam, Trần Hoài Linh, Nguyễn Quốc Trung Trường ĐHBK Hà Nội e-Mail: namvh-fet@mail.hut.edu.vn Tóm tắt
Trong bài báo này, chúng tôi đề xuất ứng dụng phương pháp Phân tích thành phần độc lập (Independent Component Analysis - ICA) nhằm loại bỏ nhiễu trong tín hiệu điện tim ECG. Trong mô hình đề xuất, chúng tôi sử dụng thuật toán FastICA để loại bỏ nhiễu trong tín hiệu ECG của một chuyển đạo. Các kết quả thực nghiệm mô phỏng sẽ được đưa ra để minh họa cho hướng nghiên cứu đề xuất. tính hàm truyền đạt của kênh truyền. ô hình toán học của bài toán tuyến tính được xây dựng như sau: Nếu gọi s n

s1 n ,..., sN (n) là một v c-tơ

T

biến ng u nhiên, trong đó m i thành phần của v c-tơ được xem là một nguồn tín hiệu g c ban đầu, và

x n

x1 n ,..., xN (n) là v c-tơ tín hiệu thu tại các

T

bộ cảm biến được xác định bởi phương trình:

Abstract
In this paper, application of Independent Component Analysis (ICA) in removing artefacts from the electrocardiagram (ECG) has been presented. In the proposed model, we use the FastICA algorithm for removing artefacts in a one-lead ECG signal. Computer simulation experiments are presented to illustrate the proposed approach.

x n

A s n

(1)

đây, chúng ta giả thiết kích thước của x n và

Chữ viết tắt
BSS ICA ECG IC Blind Source Separation Independent Component Analysis Electrocardiagram Independent Component

1. Phần mở đầu
Tín hiệu điện tâm đồ ECG là một trong những tín hiệu y sinh đã được nghiên cứu rộng rãi và sử dụng cho việc chẩn đoán bệnh trong các phòng khám. Tuy nhiên tín hiệu ECG lại rất dễ bị ảnh hưởng bởi nhiều loại nhiễu khác nhau trong quá trình đo và thu thập dữ liệu. Nguyên nhân gây ra nhiễu cho tín hiệu gồm có: (1) nhiễu cơ do ảnh hưởng cử động của người bệnh (muscle noise); (2) nhiễu do ảnh hưởng của nguồn điện cung cấp xoay chiều (AC interference); (3) 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 (baseline wander); (4) quá trình chuyển đổi A/D. Do đó để có thể sử dụng tín hiệu ECG trong chẩn đoán y tế, đã có nhiều phương pháp lọc tín hiệu được áp dụng nhằm loại bỏ các loại nhiễu này. Trong bài báo này, chúng tôi sẽ trình bày ứng dụng một phương pháp mới là phân tách nguồn mù để loại nhiễu trong tín hiệu điện tâm đồ ECG. Phân tách nguồn tín hiệu mù là bài toán được sử dụng phổ biến cho mục đích đánh giá các nguồn tín hiệu ban đầu ch thông qua các tín hiệu thu được ở tại các bộ cảm biến đầu ra, mà không cần biết đến đ c

s n là đều bằng N (s nguồn bằng s bộ cảm biến). A là một ma trận vuông, khả đảo được gọi là ma trận trộn. Trong thực tế, các ứng dụng của xử l phân tách mù trong l nh vực y tế như xử l hình ảnh I, tín hiệu ECG, EEG, EG đều là mô hình bài toán tuyến tính 1 . Tuy nhiên trong bài toán tuyến tính, ma trận A là không biết, và do đó chúng ta sẽ phải tìm ra phương pháp để xác định các tín hiệu ban đầu. ột trong những phương pháp giải quyết bài toán hiệu quả nhất được biết đến là phương pháp phân tích các thành phần độc lập ICA. Phương pháp này dựa trên giả thiết thực tế là hầu hết các nguồn tín hiệu g c ban đầu đều là độc lập th ng kê tương h . Với giả thiết này, nhiệm vụ của chúng ta là phải xác định một ma trận vuông W , được gọi là ma trận tách, sao cho y n W x n là các tín hiệu nguồn được khôi phục. Ứng dụng phương pháp /ICA để loại bỏ nhiễu trong tín hiệu điện tâm đồ ECG đã được nghiên cứu trong một s công trình tiêu biểu 2,3 . Tuy nhiên trong các công trình nghiên cứu này, để loại bỏ được nhiễu trong ECG, các tác giả phải sử dụng tín hiệu ECG của nhiều kênh chuyển đạo: He T. và cộng sự 2 sử dụng 3 kênh chuyển đạo và G.Agrawal và cộng sự 3 sử dụng 12 kênh chuyển đạo. Trong bài báo này, chúng tôi đề xuất một phương pháp loại bỏ nhiễu ch sử dụng tín hiệu ECG của một chuyển đạo. Ưu điểm nổi trội của phương pháp sử dụng ICA so với các phương pháp lọc nhiễu trước đây là việc loại bỏ nhiễu v n đạt được kết quả t t ngay cả khi tỷ s Tín hiệu/Tạp âm rất thấp. Các kết quả thực nghiệm mô phỏng sẽ được đưa ra để minh họa cho hướng nghiên cứu đề xuất.

VCCA-2011

813

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011 2. Phương pháp ICA
ột phương pháp được ứng dụng nhiều để giải quyết bài toán là phương pháp phân tích các thành phần độc lập ICA được định ngh a như sau 1 : Định nghĩa về ICA: ICA của một vector biến ngẫu nhiên là tìm một phép biến đổi tuyến tính y W x sao cho các thành phần y i i 3. T i ưu hoá hàm xấp x negentropy. 3.1 Quá tr nh ti n l uá trình tiền xử l trong ICA gồm hai bước: quy tâm và tr ng hoá. Quy tâm: Ph p quy tâm làm cho tín hiệu dữ liệu x có giá trị trung bình bằng 0:

1, N độc lập tương hỗ nhất có thể thông

xnew

x

E x

(3)

qua việc cực đại hóa các hàm đo tính độc lập tương hỗ (hàm mục tiêu) F y1 ,..., y N . Định ngh a trên được xem là định ngh a tổng quát nhất không cần có các điều kiện ràng buộc về dữ liệu. ô hình ICA tuyến tính cơ bản đ i hỏi các giả thiết sau đây 1 :  Các nguồn tín hiệu g c ban đầu độc lập th ng kê với nhau.  a trận trộn A là ma trận vuông (s lượng tín hiệu nguồn và tín hiệu trộn bằng nhau) khả nghịch.  T i đa ch có một nguồn tín hiệu g c có phân b Gauss. Với các giả thiết trên, mục tiêu của phương pháp N ICA đ i với một vector ng u nhiên x n là tìm một ma trận tách W sao cho tín hiệu đầu ra

Tr ng hoá ( hitening): ự tr ng hoá với mục đích làm cho dữ liệu trở nên bất tương quan. Nếu ma trận vector có các vector thành phần x i đều thoả mãn điều kiện phương sai bằng 1 hay ma trận hiệp phương sai đồng nhất với ma trận đơn vị E x xT

I thì ma trận vector x được

xem là tr ng . uá trình tr ng hoá thực chất là một ph p biến đổi tuyến tính: z V x . Trong đó x là dữ liệu cần làm tr ng, V là ma trận tr ng hoá, z là dữ liệu đã tr ng hoá. uá trình được thực hiện như sau:  Giả thiết x A s có trung bình bằng 0 và

E s sT

I.

y n

y1 n ,..., y N (n)

T

được xác định bởi:

Tìm D và E là các ma trận trị riêng và vector riêng của ma trận hiệp phương sai của x thông qua sự phân ly trị riêng EVD, ta có:

y n

W x n

(2) 

R xx

E x xT

E D ET

(4)

gồm các thành phần độc lập tương h với nhau. hi đó y n được xem là các tín hiệu được khôi phục. Một số bất định trong mô hình ICA tuyến tính  hông thể xác định lại được chính xác n ng lượng ban đầu của các nguồn tín hiệu g c do cả s n và A đều không biết nên mô hình ICA có thể biểu diễn như sau: 1 1 x n A s n A ks n aA s n ... k a Do đó trong mô hình ICA người ta luôn giả thiết mọi nguồn tín hiệu nguyên thuỷ s j n đều có n ng lượng (phương sai) bằng nhau và xác định , thoả mãn :

Khi đó ma trận V tr ng hoá:

R xx1/2
D
1/2

D

1/2

ET là ma trận
(5)

z
E z z
T

V x

ET x
V
T

V E x x D I
1/2

T

E

T

E D E

T

E D

1/2

(6)

Với một tín hiệu đã tr ng hoá z , nhiệm vụ c n lại của ICA là tìm ra một vector w sao cho y i wT z đạt giá trị phi Gaussian cực đại dưới điều kiện ràng buộc E y i2

E s 2j

1.

1.

hi đó y i sẽ tương ứng với một

hông thể xác định được đúng thứ tự ban đầu của các thành phần độc lập khi phân tách do thứ tự vị trí trong s n và A đều không biết nên khi đổi vị trí các hàng trong s n và A thì mô hình ICA tuyến tính không thay đổi.

nguồn tín hiệu ban đầu. Do đó ta có:
1 E y i2 E w T z zT w w wT w

wT E z zT

(7)

Như vậy quá trình tr ng hoá đã đưa việc giải bài

3. Thuật toán FastICA
Thuật toán FastICA được phát triển bởi A.Hyvarinen [4,5]. Thuật toán này sử dụng tính phi Gaussian để đo tính độc lập h tương. Thuật toán gồm 3 bước: 1. Tiền xử l dữ liệu, 2. Xấp x hoá negentropy,

toán về điều kiện ràng buộc đơn giản hơn: w

2

1.

3.2 Xấp ỉ hóa Negentropy Negentropy được sử dụng như một hàm đo tính độc lập tương h trong thuật toán FastICA. thuyết xác suất chứng minh phân b Gauss có tính ng u nhiên nhất (tương ứng entropy lớn nhất) trong các loại phân

VCCA-2011

814

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
b xác suất. Điều đó d n đến việc sử dụng entropy như là một ph p đo tính Gauss (ho c phi Gauss) của một biến ng u nhiên bất kỳ. Định ngh a negentropy J của một biến vector x ng u nhiên N chiều như sau: 6. Nếu thuật toán chưa hội tụ:
wk 1 , wk p p 1 e , trở lại bước 3.

7. Gán p .

p 1 nếu p

m trở lại bước 2.

J (x)

H (xGauss ) H (x)

(8)

trong đó H là hàm entropy, xGauss là một vector ng u nhiên N chiều có phân b Gauss, và có chung ma trận hiệp phương sai với vector x . Đ i với một biến ng u nhiên phân b Gauss, negentropy luôn bằng 0 và với tất cả các loại biến c n lại (phi Gauss) negentropy luôn có giá trị dương. Tuy nhiên vấn đề ở ch chúng ta không thể tính negentropy một trực tiếp, mà phải đánh giá negentropy thông qua việc xấp x hoá. Hàm negentropy có thể được tính xấp x 4,5 như sau:

4. Ứng dụng ICA để loại bỏ nhiễu trong tín hiệu điện tâm đồ
hiệu x(n ) là tín hiệu ECG của một chuyển đạo và gọi t s là thời gian lấy m u của tín hiệu. Để có thể áp dụng được mô hình ICA, chúng ta phải có nhiều tín hiệu thu tại các sensor khác nhau. Từ tín hiệu ECG của một chuyển đạo, chúng ta xây dựng ma trận các tín hiệu thu trong mô hình ICA có kích thước M N như sau:

x1 X x1 x1
trong đó xi
d

x2 x2 x2
d

xN xN xN
d

J (x)

E G(x)

E G ( ν)

2

(9)

(12)
M 1d M 1d M 1d

trong đó v là biến ng u nhiên có phân b Gaussian chuẩn (có trung bình bằng 0 và phương sai đơn vị), là một hàm phi tuyến tính không toàn phương. G Hàm G có thể được chọn như sau:

x it s . hi đó mô hình ICA được xây dựng như sau:
X B S

G1 (y )
G2 (y )

1 a1

log cosh a1 y , 1
exp y2 2

a1
y /4
4

2
(10)

(13)

G3

Tính phi Gauss của một tín hiệu sẽ được đo bằng giá trị hàm negentropy xấp x . ài toán phân tách nguồn tin mù được đưa về bài toán t i ưu: Tìm vector w để hàm negentropy xấp x :

trong đó S là một ma trận kích thước M N gồm các thành phần độc lập, B là ma trận trộn kích thước M M , X là ma trận các tín hiệu thu kích thước M N . hi đó M , d là các tham s lựa chọn để đánh giá kết quả loại bỏ nhiễu. Thuật toán FastICA được sử dụng để tìm ra ma trận tách W sao cho S độc lập (IC) tương h .

W X gồm các thành phần

J ( wT z )

E G ( wT z )

E G( ν)

2

(11)
2

đạt giá trị cực đại, với điều kiện ràng buộc: w

1.

3.3 Tối ưu hàm negentropy Hyvarinen 4,5 đã đưa ra thuật toán t i ưu hàm negentropy dùng phương pháp Newton, gọi là FastICA. Thuật toán FastICA đ i với dữ liệu đã tr ng hoá được thực hiện theo các bước sau: 1. Chọn m là s nguồn tín hiệu cần đánh giá, gán p 1. 2. hởi tạo ng u nhiên giá trị vector đơn vị w p thoả
2

H. 1

(a) – Tín hiệu ECG bình thường, (b ) – Tín hiệu có nhiễu gián đoạn, (c) – Tín hiệu có nhiễu liên tục.

mãn: w p

1
E z g wT z p
p 1

3. Gán w p

E g ( wT z ) w p p

4. Thực hiện trực giao hoá theo phương pháp GramSchmidt: w p 5. Gán w p

wp
j 1

wT w j p

wj

wp / wp

Dựa vào hình dạng sóng, chúng ta có thể chia các IC thành 3 loại tín hiệu: điện tim - ECG, nhiễu gián đoạn (abrupt change) và nhiễu liên tục (continuous noise). Hình vẽ 1 minh họa 3 loại tín hiệu này. Từ các IC có được, chúng ta sẽ xác định được thành phần nào là tín hiệu ECG đã loại nhiễu và thành phần nào là nhiễu. Tùy theo loại nhiễu là liên tục ho c gián đoạn, tiêu chuẩn kurtosis ho c phương sai sẽ được sử dụng để đánh giá [2].

VCCA-2011

815

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
Để đánh giá chất lượng loại bỏ nhiễu, chúng tôi sử dụng hệ s tương quan ch o r giữa tín hiệu ECG đã được loại bỏ nhiễu z n và tín hiệu ECG g c không nhiễu s n . Hệ s này được định ngh a như sau [7]:

kurt kurt
d 1.

6,6775

tín

hiệu

nhiễu

0,01347 tương ứng với giá trị M

7 và

Tin hieu ECG da loai nhieu

r

sn

ms z n ss sz

mz

(14)

4 2 0

trong đó ms và ss là trị trung bình và độ lệch chuẩn của s n , mz và sz là trị trung bình và độ lệch chuẩn của z n . Giá trị r 1 phản ánh sự tương quan mạnh, r 1 thể hiện sự phản tương quan (anticorrelation) mạnh và r 0 thể hiện sự bất tương quan giữa z n và s n . Điều đó có ngh a khi giá trị r 1 thì chúng ta đã loại bỏ được hoàn toàn nhiễu khỏi tín hiệu ECG.

500

1000

1500

2000

2500

Tin hieu nhieu

2 0 -2

500

1000

1500

2000

2500

H. 3

Tín hiệu ECG đã loại bỏ nhiễu (trên) và tín hiệu nhiễu (dưới)

5. Kết quả thực nghiệm
Trong phần thực nghiệm, chúng tôi ứng dụng phương ICA để loại bỏ nhiễu của tín hiệu ECG. Trong thuật toán FastICA, chúng tôi sử dụng hàm G1 . Tín hiệu ECG có nhiễu được tạo bởi phần mềm ECG YN 6 . Tín hiệu nhiễu cộng được thêm vào là nhiễu Gauss có phân b chuẩn với trị trung bình bằng 0. Các tỷ s Tín hiệu / Tạp âm (SNR) được chọn thay đổi bằng 10-dB, 5-dB và 2,5-dB. Các hình vẽ minh họa trong phần thực nghiệm này tương ứng với trường hợp SNR= 5dB.
T in hieu ECG 0.5 0.4

Trên hình vẽ 3, tính hiệu ECG khôi phục gần như đã loại bỏ được hoàn toàn nhiễu. Ngoài ra chúng ta có thể nhận thấy do sự bất định về n ng lượng trong mô hình ICA nên chúng ta không xác định được lại n ng lượng của tín hiệu ECG g c. Trên hình vẽ tín hiệu ECG và nhiễu có cùng mức n ng lượng do trong thuật toán ICA chúng ta giả thiết mọi tín hiệu g c đều có n ng lượng như nhau. Tuy nhiên, trong các ứng dụng thực tế của , chúng ta cũng ch cần quan tâm đến việc xác định lại được hình dạng sóng của các tín hiệu g c và bỏ qua việc xác định lại chính xác biên độ của các tín hiệu này. Hình vẽ 4 minh họa m i liên hệ giữa kết quả thực nghiệm (thông qua r ) khi tham s M thay đổi trong cả 3 trường hợp N bằng 10- , 5- và 2,5-dB.

0.3

0.2

0.1

0

-0.1

-0.2 500 1000 1500 2000 2500

H. 2

Tín hiệu ECG có nhiễu (SNR=5dB)

1 0.995 0.99 10dB 5dB 2,5dB

Trong phần thực nghiệm, chúng tôi c định tham s trễ d 1 , và thay đổi tham s M để tìm kết quả loại nhiễu t i ưu. Hình 3 minh họa cho kết quả loại nhiễu t t nhất đạt được với r 0,9972 khi M 7 . Trong thực nghiệm, do tín hiệu nhiễu là nhiễu liên tục nên chúng tôi sử dụng tiêu chuẩn kurtosis để phân loại tín hiệu 2 . Đ i với một tín hiệu x , kurtosis được xác định như sau:

He so tuong quan cheo

0.985 0.98 0.975 0.97 0.965 0.96 0.955 0.95

Kurt x

E x4

3 E x2

2

(15)

5

6

7

8

9

10 M

11

12

13

14

15

Tín hiệu phân b Gaussian sẽ có kurtosis bằng 0, điều đó có ngh a tín hiệu nhiễu liên tục sẽ có giá trị kurtosis nhỏ hơn rất nhiều so với tín hiệu ECG. Trong các IC thu được sau quá trình ICA, tín hiệu ECG đã loại nhiễu tương ứng với IC có kurtosis lớn nhất và tín hiệu nhiễu sẽ tương ứng với IC có kurtosis nhỏ nhất. Hình vẽ 3 là tín hiệu ECG đã loại bỏ nhiễu

1 Từ kết quả thực nghiệm trong hình 4, chúng ta có thể thấy việc loại bỏ nhiễu v n đạt được kết quả t t ngay cả khi tỷ s Tín hiệu/Tạp âm rất thấp. Điều đó có thể được giải thích là do trong mô hình ICA, bản thân tín hiệu nhiễu cũng được xem là một nguồn tín hiệu g c và n ng lượng (biên độ) ban đầu của các nguồn tín hiệu g c đều được giả thiết là bằng nhau.
H. 4

Mối liên hệ giữa r và M khi d

VCCA-2011

816

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
Đây cũng là ưu điểm nổi trội của phương pháp sử dụng ICA so với các phương pháp lọc nhiễu tín hiệu ECG trước đây. Trần Hoài Linh sinh n m 1974 tại Hà Nội. Nhận bằng Tiến sỹ và Tiến sỹ khoa học chuyên ngành Kỹ thuật Điện tại Warsaw University of Technology ( a an) vào các n m 2000 và 2005. Được phong Phó Giáo sư vào n m 2007. Nơi công tác: ộ môn ỹ thuật Đo và Tin học công nghiệp, Viện Điện , Trường Đại học Bách Khoa Hà Nội. Hướng nghiên cứu chính: Nhận dạng tín hiệu ,Đánh giá các hệ th ng phi tuyến, Fuzzy Logic. Nguyễn Quốc Trung sinh n m 1949 tại Nam Định. Ông là PGS.TS chuyên ngành Điện tử - Viễn thông, nguyên Trưởng hoa Điện tử - Viễn thông, Trường Đại học ách hoa Hà Nội. Nơi công tác: ộ môn ỹ thuật thông tin, Viện Điện tử - Viễn thông, Trường Đại học ách hoa Hà Nội. Hướng nghiên cứu chính: Xử l tín hiệu và lọc s .

6. Kết luận
Trong bài báo, chúng tôi đã đưa ra phương pháp sử dụng ICA để loại bỏ nhiễu trong tín hiệu ECG. Ý tưởng cơ bản của phương pháp này là sự chuyển đổi tín hiệu ECG một chuyển đạo thành dữ liệu nhiều chiều mà nhờ đó mô hình ICA được áp dụng để loại bỏ nhiễu. Ưu điểm nổi trội của phương pháp này là việc loại bỏ nhiễu v n đạt được kết quả t t ngay cả khi tỷ s Tín hiệu/Tạp âm rất thấp. ết quả thực nghiệm mô phỏng đã được đưa ra để minh họa cho tính hiệu quả của phương pháp đề xuất. Hướng phát triển tiếp theo, chúng tôi sẽ nghiên cứu thêm về mức độ phức tạp của phương pháp, cũng như khả n ng áp dụng vào hệ th ng nhúng.

Tài liệu tham khảo
[1] Aapo Hyvarinen, Juha Karhunen, Erkkl Oja, Independent component analysis, John Wiley & Sons Inc., 2001. He Taigang et al, Application of independent component analysis in removing artefacts from the ECG, Neural Comput. & Appl., 2006, p. 105-116. G.Agrawal et al, Reduction of artifacts in 12channel ECG signals using FastICA algorithm, Journal of Scientific & Industrial Research, vol.67, 2008, p.43-48. Aapo Hyvarinen, Erkkl Oja.: Independent component analysis: Algorithms and Analysis, Neural Networks, vol. 13(4-5), 2000, p. 411-430 A.Hyvarien, Fast and robust fixed-point algorithms for independent component analysis, IEEE Trans. on Neural Networks, vol. 10(3), 1999, p. 626-634. http://physionet.org/physiotools/ecgsyn/ Gari Clifford et al, Advanced Methods and Tools for ECG data analysis, Artech House Publishers; 1 edition (September 30, 2006).

[2]

[3]

[4]

[5]

[6] [7]

Vương Hoàng Nam sinh n m 1980 tại Hà Nội. T t nghiệp ngành Điện tử - Viễn thông, Đại học ách hoa Hà Nội n m 2003. T t nghiệp Cao học ngành Điện tử - Viễn thông n m 2005 tại Trường Đại học ách hoa Hà Nội. Nơi công tác: ộ môn Hệ th ng Viễn thông, Viện Điện tử - Viễn thông, Trường Đại học ách hoa Hà Nội. Hướng nghiên cứu chính: Xử l tín hiệu y sinh học, Xử l tín hiệu mù, Multimedia, Thông tuyến vô tuyến.

VCCA-2011

817