Tạp chí Khoa học ĐHQGHN, Khoa học Tự nhiên Cơng nghệ 25 (2009) 58-64 Thiết kế FPGA để loại ồn cho tín hiệu ECG nhờ biến đổi sóng Nguyễn Quốc Tuấn*, Trần Quang ðạt Khoa ðiện tử-Viễn thông, Trường ðại học Công nghệ ðHQGHN, 144 Xuân Thủy, Hà Nội, Việt Nam Nhận ngày 29 tháng 10 năm 2008 Tóm tắt Tín hiệu điện tâm đồ (ECG) bị trộn lẫn với nhièu loại ồn ño thu thập liệu Một vài giải thuật dựa biến đổi sóng phát triển ñể loại ồn tín hiệu ECG Nhằm ñể loại bỏ tượng Pseudo-Gibbs với dạng sóng Q, S biến đổi sóng rời rạc (DWT) thiết kế mạch dãy cổng khả lập trình (FPGA) để loại ồn tín hiệu ECG, báo này, kiểu loại ồn khác ñược ñưa dựa DWT theo mơ hình hệ thống thính giác Các tham số DWT thay đổi để tối ưu hố giá trị ngưỡng kết loại ồn ñược so sánh phép biến đổi sóng Các liệu tín hiệu ECG sử dụng để kiểm tra ứng dụng DWT loại ồn ñược tải từ sở liệu MIT-BIH Giới thiệu∗ tín hiệu ECG yếu dễ bị can nhiễu ồn khác, triệt ồn cách hiệu vấn ñề quan trọng việc phân tách tín hiệu ECG Vào năm 60 kỉ trước, việc phân tách dạng sóng P, sóng QRS sóng T cổ điển trước thường sử dụng lọc tương tự băng cao, lọc băng thấp lọc Notch ðến thập kỷ 70, xử lí tín hiệu số thích nghi đề xuất Bernard Widrow Samuel D Stearns ñã ñưa lĩnh vực xử lí tín hiệu y sinh sang hướng Ban ñầu Widrow tập trung vào việc lọc nhiễu 50Hz - 60Hz tương ứng với tần số nguồn ñiện lưới thành phố đặt tiêu chí cho xử lí tín hiệu y sinh là: lọc nhiễu, sửa dạng sóng, nhận dạng tiên đốn Các tiêu chí vô quan trọng cho bác sĩ chuẩn đốn lâm sàng cho hệ thống tự động chuẩn đốn bệnh sau Những năm gần ñây, với phát triển khoa học cơng nghệ, kĩ thuật xử lí Tín hiệu điện tâm tâm đồ (ECG) tín hiệu y sinh ñã ñược nghiên cứu rộng rãi ứng dụng phịng khám Một dạng sóng ECG thơng thường thường tổ hợp sóng P, sóng QRS sóng T (Hình 1) Sự phân tách xác dạng sóng quan trọng phân tích tín hiệu ECG Tuy nhiên tín hiệu ECG yếu khơng rõ ràng, điện áp chênh lệch điện cực phía tay trái phía tay phải cỡ 1-3mV tần số tín hiệu ECG nằm khoảng 0.02Hz 150Hz Chất lượng sensor cảm nhận tín hiệu ECG tuỳ thuộc vào băng thơng Các sensor ECG thị trường giá rẻ có băng thơng tới 30Hz Còn sensor ECG chuyên dụng phòng cấp cứu có băng thơng tới 1KHz Với phổ tần số _ ∗ Tác giả liên hệ ðT: 84-4-37549375 E-mail: tuannq@vnu.edu.vn 58 N.Q Tuấn, T.Q Đạt / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Cơng nghệ 25 (2009) 58-64 tín hiệu y sinh (ñiện tâm ñồ, ñiện não ñồ ) ñã áp dụng kĩ thuật ñại như: - Loại nhiễu theo ngưỡng sau thực biến đổi sóng rời rạc (DWT) - Sử dụng giải thuật cho lọc số như: Thay đổi bậc thuật tốn LMS, RLS theo hướng thay đổi kích thước bước thích nghi, - Nhận dạng tín hiệu mù để tách tín hiệu FECG Hình Các tham số tín hiệu điện tim Kĩ thuật loại nhiễu thông qua ngưỡng sau thực DWT ngày ñã ñang phát triển mạnh kĩ thuật có ưu điểm độ phức tạp vừa phải chấp nhận ñược, khả triệt ồn cao Tuy nhiên việc lựa chọn giải thuật cho việc loại nhiễu tín hiệu ECG chọn cơng nghệ ứng dụng cho hệ thống phần cứng sử dụng sóng đa dạng Hơn phương pháp loại bỏ ồn thông qua ngưỡng sau thực biến ñổi sóng kinh ñiển gây tượng Pseudo-Gibbs dạng sóng Q S tín hiệu ECG DWT Nhằm ñể giảm tượng Pseudo-Gibbs dạng sóng Q S, việc lựa chọn giải thuật ngưỡng thích nghi theo băng đặt báo Các kết thực nghiệm ñã rằng, phương pháp với giải thuật báo tốt phương pháp kinh ñiển ñây mà giữ 59 đặc tính hình học cuả tín hiệu ECG tỷ số tín hiệu ồn (SNR) ñược áp dụng hệ thống dựa FPGA kết hợp DSP Lọc nhiếu sử dụng DWT Biến đổi sóng ứng dụng rộng rãi việc xử lí tín hiệu hình ảnh Hiện có hai phương pháp loại ồn nhờ phép biến đổi sóng cho tín hiệu ECG: a) phương pháp tối đa modul biến đổi sóng Tại phương pháp này, loại bỏ ồn lưu lại thơng tin tín hiệu gốc thời điểm, số lượng tín tốn lớn khơng ổn định [1] b) phương pháp sóng ngưỡng loại ồn sau biến đổi sóng đề xuất Donoho vào năm 1999 [2] ñược áp dụng cho loại ồn tín hiệu ECG [3,4] Tín hiệu ECG chứa ồn ngẫu nhiên không tương quan với ñộ dài hữu hạn ñược biểu diễn (1) s ( t ) = x ( t ) + n (t ) x(t) tín hiệu ECG ngun gốc khơng có nhiễu, n(t) ồn trắng Gassian có trung bình zero phương sai σ Các hệ số sóng độ phân giải khác nhận cách lấy DWT tín hiệu ECG có ồn Tín hiệu ECG biến đổi sóng rời rạc (DWT) trở thành: s(t ) = ∑aˆ n J −1 j0 , n φ j ,n (t ) + ∑∑dˆ j ,n ψ j ,n (t ) (2) n j = j0 với dˆ j ,n hệ số sóng ñộ phân giải j φ j,n ψ j,n hàm phân giải hàm sóng độ phân giải j Phương pháp ngưỡng loại ồn sau biến đổi sóng rời rạc (DWT) phân chia hệ số sóng với ngưỡng chọn ổn định Thơng thường, hệ số sóng có biên độ nhỏ ngưỡng ồn đặt lại 60 N.Q Tuấn, T.Q Đạt / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Công nghệ 25 (2009) 58-64 zero hệ số sóng khác có hệ số lớn ngưỡng ồn giữ nguyên (gọi ngưỡng cứng) co lại chút (ngưỡng mềm) Tín hiệu ECG loại bỏ ồn khơi phục từ hệ số sóng nhờ biến đổi IDWT hình cho ε j = σ log N /(log j + 1) , β ≥ Ta thấy rằng, tuỳ theo giá trị β ñược lựa chọn mà phương pháp ngưỡng mềm coi phương pháp ngưỡng cứng ðể d j ,n ≅ d j ,n độ lớn dˆ j ,n lớn đóng vai trị định phần phụ thuộc vào việc lựa chọn loại sóng sử dụng cho hàm sóng ψ j,n Hình Loại bỏ ồn dựa biến đổi sóng Tín hiệu sˆ(t ) khôi phục từ d j ,n Phương pháp loại ồn tín hiệu ECG dựa biến đổi sóng ñơn giản dễ dàng sử dụng Thế phương pháp sử dụng ngưỡng cứng dẫn đến giao động tín hiệu khơi phục, cịn ngưỡng mềm làm suy giảm tín hiệu ECG (đặc biệt suy giảm biên độ sóng R) Hơn người ta tin rằng, phương thức sóng lọai bỏ ồn kinh điển dựa DWT dẫn tới tượng Pseudo-Gibbs sóng Q R khơi phục tín hiệu ECG [5] Phương pháp ngưỡng cứng loại ồn ñược sử dụng [6] cho d j ,n Với ε = = dˆ j ,n dˆ j ,n > ε (3) dˆ j ,n < ε ECG khối biến ñổi DWT, σ phương sai ñối với ồn trắng phân bố Gauss ðể ñơn giản [7] xác ñịnh σ = (media d j ,n ) / 0.6745 ( ) Phương pháp ngưỡng mềm loại bỏ ồn ñược sử dụng [6]: sgn(dˆ ) ( dˆ − β (ε − dˆ ) ε ) dˆ > ε j ,n j ,n j j, n j (4) d = j j ,n dˆ j, n < ε j (IDWT) với hy vọng sˆ(t ) → x (t ) Do ồn ảnh hưởng khác mà hệ số sóng dˆ j ,n bị ảnh hưởng khác tuỳ theo loại sóng độ phân giải j Trong báo này, ñổi biểu thức (4) ngưỡng mềm thành biểu thức ngưỡng mềm thích nghi băng con: d j ,n = dˆ j ,n − ε j ˆ d j ,n + ε j dˆ j , n > ε j dˆ j , n < ε j dˆ < − ε j,n (5) j Việc lựa chọn ngưỡng ε j thích nghi dựa (5) phải có giá trị cao giá trị ε = σ log N σ log N , N số mẫu tín hiệu j ,n aˆ j0 ,n nhờ biến đổi ngược sóng rời rạc Trong d j ,n = lim d j,n ñược coi ˆ d j ,n → ∞ hệ số sóng biến đổi DWT tín hiệu x(t) ECG gốc khơng có nhiễu Cịn ε j ngưỡng đăt trước ñộ phân giải j sao cho sˆ(t ) phải gần với x (t ) , liên quan với ñộ sai lệch sˆ(t ) với s (t ) , cơng suất ồn tín hiệu ðộ sai lệch phải có lỗi bình phương trung bình nhỏ, ñược xác ñịnh: R(s , sˆ ) = N N ∑ E{s [ ] − sˆi } = E e i2 i (6) i =1 Do phép biến ñổi sóng trực giao ñó biểu thức (6) biểu diễn dạng hệ số sóng theo phiên sóng con: R (s , sˆ ) ∝ ∑∑ ( dˆ j j ,n − d j ,n ) (7) n Chúng ta sử dụng nguyên lý Stein [8] báo ñể tính giá trị ngưỡng ε j thoả mãn giá trị tối thiểu biểu thức (8) N.Q Tuấn, T.Q Đạt / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Cơng nghệ 25 (2009) 58-64 Trong 1 dˆ j , k ≤ ε j I dˆ j ,k ≤ ε j = ˆ 0 d j ,k > ε j ( ) ∑ I ( dˆ ) N j ,k (9) ≤ ε j số hệ số sóng k =1 bị loại bỏ Hình cho ta cấu trúc lọc ồn thích nghi theo băng dựa DWT Hình Cấu trúc loại ồn ε j = argminσ2j N −2∑I dˆj,k ≤ε j + ∑min2 dˆ j,k ,ε j (8) ( N Khi đó: dˆ j +1,n ) k=1 = N ( k=1 ∑ g (i − 2n) aˆ (i ) j i aˆ j +1,n = ∑ h(i − 2n ) aˆ j (i ) ) (10) i Kiến trúc thiết kế FPGA Các tệp chứa 1000 mẫu tín hiệu điện tâm đồ (ECG) thu nhận từ bệnh nhân ñược lấy từ tập sở liệu có địa mạng Internet http://www.physionet.org Các tín hiệu ECG yêu cầu phần cứng: + Tần số lấy mẫu tín hiệu : 200Hz + Kích thước ñêm tối thiểu : N= 1024 + ðộ lọc lặpsóng con: l = 3.1 Bộ nhớ đệm ðể thực xử lí vào thời gian thực phần cứng phải xử lí liên tục chuỗi mẫu vào Tuy nhiên, dãy mẫu liệu tín 61 hiệu ECG liên tục phải phân tách thành khối, ñược lưu giữ nhớ ñệm Chúng ta sử dụng tới nhớ ñệm, nhớ ñêm ñầu tiên lưu trữ mẫu lối vào ñể thực biến ñổi DWT khối thứ (n+1) liệu lối vào nhớ đệm thứ hai chứa liệu khối thứ n ñược xử lí Bộ nhớ ñệm thứ chứa khối liệu thứ n lối khơi phục nhờ biến đổi IDWT Kích thước nhớ đệm thứ thứ ba có kích thước N=1024 chứa số mẫu tín hiệu ECG khối lối vào Cịn nhớ đệm thứ hai có kích thước (1+8)xN = 9216 (với ñộ phân giải j=8) chứa liệu trước sau xử lí Nhờ ñệm thứ hai mà phép xử lí thực ñồng thời, chồng lấp theo thời gian thời gian trễ xứ lí giảm xuống Ví dụ thời gian biến ñổi DWT cho 1024 mẫu với tần số mẫu 200Hz khoảng ≈ 5.1 giây hệ thống xử lí trình tự có thời gian trễ khoảng (5.1+5.1)+1≈ 11.2 giây ðây thời gian trễ ñủ lớn cho việc kiểm tra tín hiệu ECG cho bệnh nhân thời gian thực Nếu hệ xử lí chồng lấp (song song) 4.1 giây thời gian biến ñổi DWT IDWT thời gian trễ giảm xuống cịn khoảng ≈ 2.6 giây Khoảng thời gian ñủ ñể dịch chuyển chu kì nhịp tín hiệu ECG vào đệm lối vào thứ hay ñệm lối thứ ba cho phép thị hình tín hiệu ECG 3.2 Cơ chế tính tốn ngưỡng thích nghi Biểu thức (8) khai triển chiếm nhiều dung lượng cổng (gate) thời gian xử lí lớn hệ thống liên tục phải tính (8) xử lí thời gian thực FPGA hệ thống có khả tính tốn số học giải tích thấp, hệ thống FPGA dựa khối xử lí tín hiệu số (DSP) cho phép giải toán xử lí phức tạp Hệ thống DSP sau khoảng thời gian 2.6 giây nhận liệu ñêm thứ FPGA ñể xử lí, sau 100 miligiây trả lại kết nâng cấp liệu ñệm thứ hai khởi ñộng việc khơi phục tín hiệu 62 N.Q Tuấn, T.Q Đạt / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Công nghệ 25 (2009) 58-64 Giá trị biến (8) thơng thường sử dụng dấu phẩy động phép biến đổi DWT xử lí tín hiệu số dựa sóng có độ xác cao để đảm bảo tính trực giao (các hệ số sóng có tới 14 số sau dấu phẩy) Tuy nhiên phép loại ồn dựa sóng lại khơng cần địi hỏi độ xác vậy, giá trị biến hệ thống FPGA sử dụng dấu phảy tĩnh ñơn giản nhiều báo Mô thiết kế FPGA Trong báo này, sử dụng công cụ thiết kết FPGA XillinxTM System Generator MatLabTM phiên R14, 2008 Cơng cụ tổng hợp FPGA sử dụng XillixTM ISE phiên 8.0 System Generator tạo khối hàm mô FPGA theo SIMULINK MatLab việc thiết kế thuận lợi tin cậy Các mã VHDL ñược tạo tự ñộng sử dụng System Generator ñể dịch tệp SIMULINK (.mdl), cịn Xillinx ISE tổ hợp để nạp vào kit Virtec-II Pro XC2VP30 Bảng cho thấy yêu cầu cổng chi tiết Tổng số cổng ñược dùng 1000K cổng Tần số nhịp FPGA tối ña 100MHz Giá thành kit FPGA thấp (giá Virtec-II Pro ≈ 300 USD ) Một mạch ñược thiết kế ñể loại ồn hình Bảng Yêu cầu cổng FPGA cho thiết kế mạch loại ồn Số Slice cho Logic Số Slice cho Flip-Flop Số LUTs ñược dùng Số BRAMs Số IOBs 422 507 225 36 Hình Mạch chi tiết để loại ồn dựa DWT Hiện có nhiều loại sóng biết đến Haar, Meyer, Daubechies Khơng có cách tốt để lựa chọn sóng cho ứng dụng Chúng thấy rằng, lựa chọn hàm sóng phù hợp với dạng tín hiệu xử lí quan trọng Chúng tơi tải 30 tệp liệu tín hiệu ECG khác từ địa mạng internet http://www.physionet.org để tính tốn thử nghiệm giải thuật Khi thực tính tốn mơ phỏng, chúng tơi sử dụng hàm sóng khác như: sóng Daubechies (bậc từ 20), sóng Meyer (bậc từ 1.3 3.9) kiểm tra hoạt động mạch Chúng tơi nhận thấy rằng: loại sóng chọn, với hàm sóng có bậc cao hiệu loại ồn tốt hơn, ñộ phức tạp tăng lên đáng kể Các sóng Daubechies có dạng gần giống với dạng sóng QRS tín hiệu ECG Phổ lượng sóng Daubechies tập trung xung quanh vùng tần số thấp từ 2Hz tới 40Hz N.Q Tuấn, T.Q Đạt / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Công nghệ 25 (2009) 58-64 63 Ồn Gaussian với ñộ lệch chuẩn khác ñã ñược cộng thêm vào tín hiệu ECG gốc ñể kiểm tra hiệu SNR loại ồn ñược xác ñịnh: Origin Ecg SNR( dB) = 20 log Origin Ecg − Noise Ecg (11) Rõ ràng rằng, từ hình 5(a) so với hình 5(b), hiệu ngưỡng mềm thích nghi theo băng mơ hình đưa báo tốt Bảng cho kết loại ồn tín hiệu ECG tệp 112.dat theo bậc khác sóng Daubechies Bảng Kết loại ồn Hình 5(a) Tín hiệu ECG có ồn hệ số hàm sóng Hình 5(a) biểu diễn tín hiệu ECG chứa ồn hệ số sóng Daubechies (d4) độ phân giải tương ứng hình 5(b) cho kết dạng tín hiệu ECG loại ồn sở hệ số sóng ñược nâng cấp Bậc SRNin (dB) 10.0 12.0 14.0 16.0 18.0 20.0 SRNout(dB) 16.2 18.5 20.6 22.1 24.0 25.4 Bậc SRNin(dB) 10.0 12.0 14.0 16.0 18.0 20.0 SRNout(dB) 16.6 18.7 20.8 22.7 24.3 25.6 Kết luận Trong báo này, giới thiệu thiết kế FPGA ñể thực loại ồn dựa DWT theo giải thuật ngưỡng ồn thích nghi băng con, giá thành hạ Tín hiệu loại nhiễu thu đảm bảo dạng tín hiệu ECG gốc, theo thời gian thực Thiết kế FPGA kết hợp giải pháp DSP cho phép xử lý toán phức tạp hơn, cho kết có độ tin cậy cao, làm việc thời gian thực Loại ồn dựa DWT với giải pháp xử lí tín hiệu miền tần số mơ hình co hệ số sóng phi tuyến động băng cho hiệu SNR cao Hình 5(b) Các hệ số hàm sóng nâng cấp tín hiệu ECG loại ồn 64 N.Q Tuấn, T.Q Đạt / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Công nghệ 25 (2009) 58-64 Tài liệu tham khảo [1] Ju-won Lee, Gun-ki Lee, Design of an Adaptive filter with a Dynamic Structure for ECG Signal processing, International journal of Control, Automation, and System, Vol 3, No1 (2005) 137 [2] D L Donoho, De-noising by soft-thresholding, IEEE Trans Inform Theory 41 (1995) 613 [3] P M Agante, J P Marques de Sa', ECG noise filtering using wavelets with soft-thresholding methods, Computers in Cardiology 26 (1999) 523 [4] Omid Sayadi, Mohammad Bagher Shamsollahi, MultiAdaptive Bionic Wavelet Transform: Application to ECG Denoising and Baseline Wandering Reduction, EURASIP Journal on Advances in Signal Processing, Volume 2007, p11, 2007 [5] R R Coifman, D L Donoho, Translationinvariant de-noising, In Wavelets and Statistics, Springer Lecture Notes in Statistics 103 New York: Springer-Verlag, 1994, pp 125-150 [6] Li Su, Guoliang Zhao, De-Noising of ECG Signal Using Translation- Invariant Wavelet DeNoising Method with Improved Thresholding, Proceedings of the 2005 IEEE Engineering in Medicine and Biology 27th Annual Conference Shanghai, China, September 1-4, 2005 [7] G Song, R Zhao, Three novel models of threshold estimator for wavelet coefficients, 2nd International Conference on Wavelet Analysis and Its Applications Berlin: Springer-Verlag, 2001, pp 145-150 [8] C M Stein, Estimation of the mean of a multivariate normal distribution, Annals of Statistics (1981) 1135 Design of FPGA hardware for ECG signal de-noising by wavelet transform Nguyen Quoc Tuan, Tran Quang Dat Faculty of Electronics and Telecommunication, College of Technology, VNU 144 Xuan Thuy, Cau Giay, Hanoi The electrocardiogram (ECG) signal may mix various kinds of noises while gathering and recording Some algorithms based on wavelet transform has been devecloped for de-noising of ECG signals In order to suppress Pseudo-Gibbs phenomena in Q and S waves and design of Field Programmable Gate Array (FPGA) hardware for de-noising ECG signal, in this paper, a new ECG denoising scheme is proposed using discrete wavelet transform (DWT) has been devecloped based on a model of the active auditory system Besides by optimizing the DWT parameters parallel to modifying the new thresold value, one can handle ECG de-noising with results comparing to those of wavelet transform Prelimitary tests of DWT application to ECG de-noising were constructed on the signals MIT-BIH database ... vào việc lựa chọn loại sóng sử dụng cho hàm sóng ψ j,n Hình Loại bỏ ồn dựa biến đổi sóng Tín hiệu sˆ(t ) khơi phục từ d j ,n Phương pháp loại ồn tín hiệu ECG dựa biến đổi sóng đơn giản dễ dàng... dụng DWT Biến đổi sóng ñược ứng dụng rộng rãi việc xử lí tín hiệu hình ảnh Hiện có hai phương pháp loại ồn nhờ phép biến đổi sóng cho tín hiệu ECG: a) phương pháp tối đa modul biến đổi sóng Tại... 5(b), hiệu ngưỡng mềm thích nghi theo băng mơ hình đưa báo tốt Bảng cho kết loại ồn tín hiệu ECG tệp 112.dat theo bậc khác sóng Daubechies Bảng Kết loại ồn Hình 5(a) Tín hiệu ECG có ồn hệ số hàm sóng