Need help to removing motion artifact from ECG signal

20 visualizaciones (últimos 30 días)
Ali Asghar
Ali Asghar el 21 de Mayo de 2023
Comentada: Star Strider el 24 de Mayo de 2023
Hello Expert,
I have 4 channel ECG signal. Ecg is recored while the person is walking. So ECG have motion artifact. I need your advice..
1-Which filter use to remove motion artifact from the signal?
2- How to campare filtered and unfiltered signal?
Please see the attached data file.
I am looking positive for your reponse.
Take care

Respuesta aceptada

Star Strider
Star Strider el 21 de Mayo de 2023
Try something like this —
LD = load('test10_00wm.mat')
LD = struct with fields:
val: [4×4000 double]
type('ECG.m') % I was hoping That The 'ECG.m' File Had A Sampling Frequency
ECG = val';
val = LD.val.'; % Transpose
Fs = 1;
L = size(val,1);
t = linspace(0, L-1, L)/Fs;
figure
tiledlayout(size(val,2),1)
for k = 1:size(val,2)
nexttile
plot(t, val(:,k))
grid
end
sgtitle('Original')
xlabel('Time (units)')
Fn = Fs/2;
NFFT = 2^nextpow2(L);
FTval = fft((val-mean(val)).*hann(L), NFFT)/L;
Fv = linspace(0, 1, NFFT/2+1)*Fn;
Iv = 1:numel(Fv);
figure
tiledlayout(size(val,2),1)
for k = 1:size(val,2)
nexttile
plot(Fv, abs(FTval(Iv,k))*2)
grid
xlim([0 Fs*0.1])
end
xlabel('Frequency (cycles/(time unit))')
val_filt = highpass(val, 0.001*Fs, Fs, 'ImpulseResponse','iir');
figure
tiledlayout(size(val,2),1)
for k = 1:size(val_filt,2)
nexttile
plot(t, val(:,k))
grid
end
sgtitle('Filtered')
xlabel('Time (units)')
figure
tiledlayout(size(val,2),1)
for k = 1:size(val_filt,2)
nexttile
plot(t, val(:,k))
grid
xlim([0 1000])
end
sgtitle('Filtered (Detail)')
xlabel('Time (units)')
The isoelectric reference in an EKG recording is defined as the value of the P-R interval. By that standard, there is not much baseline drift in columns 2-4, however a highpass filter eliminates what llitle baseline drift there may be.
The rhythm in all appears to be regular, however without an accurate time base, I cannot estimate the rate or measure the intervals. I assume normal sinus rhythim in all the columns, however I cannot see the P-deflections in any of them. Column 1 appears to be bad lead placement, although I cannot rule out significant pathology (possibly hyperkalemia, however a clinical correlation would be necessary). Columns 2 & 3 appear to be normal, although the P deflection appears to be absent in both and the T-deflection also absent in column 3. Column 4 has what appears to be significant S-T depression, likely due to ischaemia, although drug effects cannot be ruled out.
Clinical Impression: Column 1 needs to be re-recorded, column 4 could have significant pathology and needs urgent clinical follow-up.
.
  11 comentarios
Ali Asghar
Ali Asghar el 24 de Mayo de 2023
Movida: Star Strider el 24 de Mayo de 2023
thanks star
Star Strider
Star Strider el 24 de Mayo de 2023
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre ECG / EKG en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by