Biomedical Engineering Reference
In-Depth Information
Acknowledgments Papers [ 26 , 27 ], [ 36 ], [ 67 ], and [ 77 ] are the contribution from Biomedical
Signal acquisition and Processing research group at Department of Applied Physics, University of
Calcutta, India.
Appendix 1
R-peak Detection by Processing of Differential ECG Array
x = ECG data array
y = x(i ? 1) - x(i) % D-ECG array
x max = sample with maximum value on x-array
mx_slp = sample with maximum value on of y-array
r_th = R-threshold point index
slp_r = y (i-3: i+3); % rising edge 7-point average slope array
slp_f = y (i+30: i+36); % falling edge 7-point average slope array
aslp = abs (slp_r); % absolute values of slp_r
i = 1
% checking for criteria
1. if [(abs(x(i)) [= 0.5* x max )] & [(mean(slp_r) [ 0) & (mean(slp_f) \ 0)] &
[mean(aslp) [= 0.30*mx_slp), then
(a) r_th(k) = i; % possible R-threshold point
(b) k = k+1; i = i+300;
(c) go to step 3
2. else i = i+1;
3. if end of data array y, skip step 4
4. go to step 1
5. for each r_th index value k1, find out local maxima or minima on k1 to k1+50-
ms window
n = number of total R-threshold points
(i) k1 = 1; i = r_th(k1); k = 1; x1 max = x(i); x1 min = x(i) % initialization
(ii) if x(i) \ x1 max skip step (iii)
(iii) x1 max = x(i); r1 = i;
(iv) if x(i) [ x1 min skip step (v)
(v) x1 min = x(i); r2 = i
(vi) i = i +1;
(vii) if i = r_th(k1) ? 50 go to step (ix)
(viii) go to step (ii)
(ix) if slp_f(i ? 15) \ 0 skip step (x) % checking for slope reversal
(x) r_pk (k) = r2, k = k ? 1; go to step (xii) % taking local minima as R peak
(xi) r_pk (k) = r2, k = k ? 1, % taking local maxima as R peak
Search WWH ::




Custom Search